{"version":3,"file":"static/js/orbit-main.3e275e59.chunk.js","mappings":"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AAIhvT,EAAM,CACT,6BAA8B,CAC7B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,kCAAmC,CAClC,IACA,KAED,qCAAsC,CACrC,IACA,KAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,oCAAqC,CACpC,KACA,MAED,uCAAwC,CACvC,KACA,MAED,2CAA4C,CAC3C,MACA,MAED,8CAA+C,CAC9C,MACA,MAED,mBAAoB,CACnB,OAED,sBAAuB,CACtB,OAED,qCAAsC,CACrC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,+CAAgD,CAC/C,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,6CAA8C,CAC7C,MACA,MA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","sources":["app-react/basic-components/blank-separator/blank-horizontal-separator.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.default.box.ts","app-react/basic-components/loading-dots/boxes/loading-dot.box.ts","app-react/basic-components/loading-dots/boxes/loading-dots.box.ts","app-react/basic-components/loading-dots/loading-dots.component.tsx","app-react/basic-components/lobby-grid/lobby-grid.default.box.ts","app-react/basic-components/lobby-grid/lobby-grid.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.default.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.casino777.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.siCis.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.box.ts","app-react/basic-components/main-screen/main-screen.component.tsx","app-react/basic-components/space-between-items-consts.ts","app-react/basic-ui-components/button/base/boxes/button.box.ts","app-react/basic-ui-components/button/base/boxes/button-label.default.box.ts","app-react/basic-ui-components/button/base/boxes/button-label.mrgreen.box.ts","app-react/basic-ui-components/button/base/boxes/button-label.box.ts","app-react/basic-ui-components/button/base/boxes/button-icon-wrapper.box.ts","app-react/basic-ui-components/button/base/button.component.tsx","app-react/basic-ui-components/form/select.component.tsx","app-react/basic-ui-components/icon/svg-icon/svg.icon.tsx","app-react/basic-ui-components/x-close-button/x-close-button.box.ts","app-react/components/orbit-swiper/swiper-window.component.tsx","app-react/components/arena-games-lists/arena-games-lists.component.tsx","app-react/react-hooks/use-is-in-viewport.hook.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/css-constants.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-open-at.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.defatult.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cip.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino.navbar.mrgreenCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/css-constants.ts","app-react/components/arena-host/seo-bread-crumbs/seo-breadcrumbs-container.box.ts","app-react/components/arena-host/seo-bread-crumbs/seo-bread-crumbs.component.tsx","app-react/components/balance-box/balance-value.component.tsx","app-react/components/admin-banner/boxes/admin-banner-wrapper.box.ts","app-react/components/admin-banner/admin-banner.component.tsx","app-react/components/banner/banner.component.tsx","app-react/components/base-components/orbit-suspense/orbit-suspense.tsx","app-react/components/base-components/routed-component/routed.component.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-consts.ts","app-react/components/burnout/burnout-animation/burnout-animation-constants.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation-container.box.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation.box.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation-text.box.ts","app-react/components/burnout/burnout-animation/disposable-burnout-dependencies.ts","app-react/components/burnout/burnout-animation/burnout-animation.component.tsx","app-react/components/burnout/burnout-animation/boxes/burnout-fab.box.tsx","app-react/components/burnout/burnout-animation/burnout-animation-wrapper.component.tsx","app-react/components/clock-and-last-login-box/boxes/clock-last-login.default.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.casino777.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.si.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.default.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.si.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.siCis.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.box.ts","app-react/components/clock-and-last-login-box/boxes/padding-fix-ios.box.ts","app-react/components/clock-and-last-login-box/clock-and-last-login-box.component.tsx","app-react/components/clock/boxes/clock.component.default.box.tsx","app-react/components/clock/boxes/clock.component.siCis.box.ts","app-react/components/clock/boxes/clock.component.box.tsx","app-react/components/sdk/sdk.component.tsx","app-react/components/clock/clock.component.tsx","app-react/components/cms-banner/banner-container/banner-container.box.ts","app-react/components/cms-banner/banner-container/banner-container.default.box.ts","app-react/components/cms-banner/cms-banner.component.tsx","app-react/components/daily-deal/boxes/daily-deal-container.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest-glow.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest.box.ts","app-react/components/daily-deal/boxes/daily-deal-text-strip.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest-halo.box.ts","app-react/components/daily-deal/daily-deal.component.tsx","app-react/components/free-play/boxes/container/free-play-container.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper.box.ts","app-react/components/free-play/boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box.ts","app-react/components/free-play/parts/voucher-card/swiper/vouchers-swiper.component.tsx","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.default.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.mrGreenCis.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.siCis.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper-title.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper-background.box.ts","app-react/components/free-play/boxes/voucher-games-list-title/voucher-games-list-title.box.ts","app-react/components/free-play/free-play-container.component.tsx","app-react/components/free-play/boxes/voucher-card/voucher-card.box.ts","app-react/components/free-play/boxes/voucher-card/voucher-card-side.box.ts","app-react/components/free-play/boxes/voucher-card/face/voucher-card-face.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/voucher-card-face-content.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/voucher-card-side-footer.box.ts","app-react/components/free-play/boxes/voucher-card/face/footer/voucher-card-face-footer.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/voucher-card-face-details.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/icon/voucher-card-face-icon.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box.ts","app-react/components/free-play/boxes/voucher-card/face/header/voucher-card-face-header.box.ts","app-react/components/free-play/parts/voucher-card/face/voucher-card-face-header.component.tsx","app-react/components/free-play/parts/voucher-card/face/voucher-card-face.component.tsx","app-react/components/free-play/boxes/voucher-card/back/voucher-card-back.box.ts","app-react/components/free-play/boxes/voucher-card/back/header/voucher-card-back-header.box.ts","app-react/components/free-play/boxes/voucher-card/back/content/voucher-card-back-content.box.ts","app-react/components/free-play/boxes/voucher-card/back/footer/voucher-card-back-footer.box.ts","app-react/components/free-play/parts/voucher-card/back/voucher-card-back.component.tsx","app-react/components/free-play/parts/voucher-card/voucher-card.component.tsx","app-react/components/free-play/voucher-card-css-constants.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.default.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-click.box.ts","app-react/components/free-to-play-animated-icon/free-to-play-animated-icon.component.tsx","app-react/components/game-item/boxes/game-item-container.box.ts","app-react/components/game-item/boxes/game-item-img-wrapper.box.ts","app-react/components/game-item/boxes/game-item-fp-thumb.box.ts","app-react/components/game-item/boxes/game-item-delimiter.box.ts","app-react/components/game-item/boxes/game-item-details-wrapper.box.ts","app-react/components/game-item/boxes/game-item-title.box.ts","app-react/components/game-item/boxes/game-item-jackpot.box.ts","app-react/components/game-item/boxes/game-item-buttons-area.box.ts","app-react/components/game-item/game-item.component.tsx","app-react/components/game-jackpot/boxes/root/game-jackpot.default.box.ts","app-react/components/game-jackpot/boxes/root/game-jackpot.si.box.ts","app-react/components/game-jackpot/boxes/root/game-jackpot.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.default.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.si.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.mrgreen.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.siCis.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.box.ts","app-react/components/game-jackpot/game-jackpot.component.tsx","app-react/components/game-window/game-css-constants.ts","app-react/components/game-window/header-bar/common/boxes/close-game-button/game-header-bar-close-button.box.ts","app-react/components/geo/boxes/geo-modal-wrapper.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.default.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.si.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.cis.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.box.ts","app-react/components/header/buttons/boxes/header-standard-button.box.ts","app-react/components/header/header-consts.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.default.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.mrgreen.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.default.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.box.ts","app-react/components/header/gambling-warning/gambling-warning.component.tsx","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.default.box.ts","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.box.ts","app-react/components/header/responsible-icons/responsible-icons.component.tsx","app-react/components/header/top-header-left/regulatory-data/regulatory-data.component.tsx","app-react/components/header/welcome-buttons/header-welcome-buttons-helpers.tsx","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.default.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.harrahs.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.box.ts","app-react/components/header/welcome-buttons/anonymous-user/header-welcome-buttons-for-anonymous-user.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/mobile-container/mobile-container.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/icon/user-icon.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/bankroll/user-bankroll.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.default.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.si.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.box.ts","app-react/components/header/welcome-buttons/authorized-user/mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/pc-container/pc-container.box.ts","app-react/components/header/buttons/cashier-button/boxes/header-cashier-button.default.box.ts","app-react/components/header/buttons/cashier-button/boxes/header-cashier-button.mrgreen.box.ts","app-react/components/header/buttons/cashier-button/boxes/header-cashier-button.box.ts","app-react/components/header/buttons/cashier-button/header-cashier-button.component.tsx","app-react/components/header/welcome-buttons/authorized-user/pc-view/header-welcome-buttons-for-authorized-user-pc-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/header-welcome-buttons-for-authorized-user.component.tsx","app-react/components/header/welcome-buttons/boxes/header-welcome-buttons.box.ts","app-react/components/header/welcome-buttons/header-welcome-buttons.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.consts.ts","app-react/components/link-to-offer/boxes/link-to-offer-base/link-to-offer-box-base.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.default.box.ts","app-react/components/link-to-offer/link-to-offer.component.tsx","app-react/components/lobby-header/boxes/lobby-header.default.box.ts","app-react/components/lobby-header/boxes/lobby-header.casino777.box.ts","app-react/components/lobby-header/boxes/lobby-header.si.box.ts","app-react/components/lobby-header/boxes/lobby-header.mrgreen.box.ts","app-react/components/lobby-header/boxes/lobby-header.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.default.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.si.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.mrgreen.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.default.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.casino777.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.mrgreen.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-buttons-container.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.default.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.777.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.mrgreen.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.container.box.ts","app-react/components/lobby-header/lobby-header.component.tsx","app-react/components/loyalty-bar/loyalty-bar-wrapper.component.tsx","app-react/components/modal-dialog/boxes/text/dialog-text.box.ts","app-react/components/modal-dialog/boxes/actions/buttons-wrapper.box.ts","app-react/components/modal-dialog/boxes/actions/button-wrapper.box.ts","app-react/components/modal-dialog/boxes/actions/link-action.box.ts","app-react/components/modal-dialog/boxes/actions/link-wrapper.box.ts","app-react/components/modal-dialog/modal-dialog-actions.component.tsx","app-react/components/raw-components/aspect-ratio-container/aspect-ratio-container.component.tsx","app-react/components/raw-components/link/link.tsx","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.default.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/minimum-gambling-age.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.si.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/minimum-gambling-age/regulations/netherlands/boxes/netherlands-minimum-gambling-age-label.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/regulations/netherlands/netherlands.minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/minimum-gambling-age/regulations/sweden/boxes/sweden.minimum-gambling-age-icon.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/regulations/sweden/sweden.minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/boxes/denmark.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/boxes/denmark.responsible-gaming-button-base.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/safe-to-play-button/boxes/denmark.safe-to-play-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/safe-to-play-button/denmark.safe-to-play-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-exclusion/boxes/denmark.self-exclusion-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-exclusion/denmark.self-exclusion-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-test-button/boxes/denmark.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-test-button/denmark.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/denmark.responsible-gaming-buttons.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/css-classes.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup-time.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup-ok.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/panic-button-popup.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip-click-here.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip-close.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-mobile-overlay.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/responsible-gaming-buttons-germany.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/netherlands/self-test-button/boxes/netherlands.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/netherlands/self-test-button/netherlands.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/boxes/ontario.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/safe-to-play/boxes/ontario.safe-to-play-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/safe-to-play/ontario.safe-to-play-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/ontario.responsible-gaming-buttons.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/boxes/sweden.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/boxes/sweden.responsible-gaming-button-base.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-exclusion-button/boxes/sweden.self-exclusion-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-exclusion-button/sweden.self-exclusion-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/gaming-limits/boxes/sweden.gaming-limits-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/gaming-limits/sweden.gaming-limits-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-test-button/boxes/sweden.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-test-button/sweden.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/sweden.responsible-gaming-buttons.component.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.default.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.casino777.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-label.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/icons/arrow-side-menu-link.icon.ts","app-react/components/side-menu-rework/side-menu-items/boxes/side-menu-item-container.box.ts","app-react/components/side-menu-rework/side-menu-items/side-menu-item-container.component.tsx","app-react/components/single-game/common/boxes/game-image/game-image.box.ts","app-react/components/single-game/common/boxes/game-image/game-image.default.box.ts","app-react/components/single-game/common/boxes/game-image/game-image-animated.box.ts","app-react/components/single-game/common/boxes/game-image/game-image-animated.default.box.ts","app-react/components/single-game/common/parts/game-image/game-image-animated.component.tsx","app-react/components/single-game/common/parts/game-image/game-image.component.tsx","app-react/components/single-game/css-constants.ts","app-react/components/top-image/boxes/top-banner/top-banner.default.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.777.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.si.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.mrgreen.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.box.ts","app-react/components/top-image/boxes/top-banner-image/top-banner-image.box.ts","app-react/components/top-image/boxes/top-banner-image/top-banner-image.default.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.default.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.casino777.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.default.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.casino777.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.default.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.casino777.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.box.ts","app-react/components/animated-top-image/animated-top-image.component.tsx","app-react/components/top-image/top-image.component.tsx","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.default.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.cip.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.box.ts","app-react/components/useful-links/parts/useful-links-list/useful-links-list.component.tsx","app-react/react-hooks/use-services.hook.ts","app-react/services/ServiceBase.ts","app-react/services/analytics/analytics.service.interface.ts","app-react/services/arenas/arena-consts.ts","app-react/components/cms-banner/empty-banner/empty-banner-container.box.ts","app-react/components/cms-banner/empty-banner/empty-banner.component.tsx","app-react/services/cms/cms-banners/banner-definition/empty-banner-definition.tsx","app-react/services/cms/cms-banners/cm-banner-id/cms-banner-id.ts","app-react/services/cms/cms-content-decorator/cms-link.ts","app-react/services/cms/cms-content-decorator/evaluate-scripts.ts","app-react/services/cms/cms-content-decorator/cms-content-decorator.ts","app-react/services/dialog/dialog.service.interface.ts","app-react/services/external-links/handlers/pending-action/pending-action.external-link-handler.interface.ts","app-react/services/external-links/handlers/registration/registration.external-link-handler.interface.ts","app-react/services/game-runner/interfaces/game-context/game-context-view-model.interface.ts","app-react/services/game-runner/interfaces/game-step/game-run-step.interface.ts","app-react/services/games-filter/games-filter.service.interface.ts","app-react/services/gaming-history/gaming-history-type.ts","app-react/services/gnwp/gnwp-consts.ts","app-react/services/media-query/breakpoints.ts","app-react/services/media-query/media-query-builder.ts","app-react/services/media-query/media-queries.ts","app-react/services/menu-item-action-factory/custom-actions/about-dialog.action.ts","app-react/services/menu-item-action-factory/custom-actions/cashier-upload-documents.action.ts","app-react/services/menu-item-action-factory/custom-actions/chat.action.ts","app-react/services/menu-item-action-factory/custom-actions/com-points.action.ts","app-react/services/menu-item-action-factory/custom-actions/control-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/deposit.action.ts","app-react/services/menu-item-action-factory/custom-actions/game-reminders.action.ts","app-react/services/menu-item-action-factory/custom-actions/help-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/hybrid-info.action.ts","app-react/services/menu-item-action-factory/custom-actions/inactivity-timeout-settings.action.ts","app-react/services/menu-item-action-factory/custom-actions/install-pwa.action.ts","app-react/services/menu-item-action-factory/custom-actions/loyalty-indicator.action.ts","app-react/services/menu-item-action-factory/custom-actions/my-club.action.ts","app-react/services/menu-item-action-factory/custom-actions/push-notifications-permissions-request.action.ts","app-react/services/menu-item-action-factory/custom-actions/reverse-withdrawal.action.ts","app-react/services/menu-item-action-factory/custom-actions/sign-up.action.ts","app-react/services/menu-item-action-factory/custom-actions/test-regulation-specific.action.ts","app-react/services/menu-item-action-factory/custom-actions/time-spent-reminder.action.ts","app-react/services/menu-item-action-factory/custom-actions/touch-id.action.ts","app-react/services/menu-item-action-factory/custom-actions/transaction-history.action.ts","app-react/services/menu-item-action-factory/menu-item-action-base.ts","app-react/services/menu-items-common/renderer/menu-item-renderer-base.ts","app-react/services/pixi-app/animated-icon-base-service.service.ts","app-react/services/pixi-app/pixi-spine-animation.ts","app-react/components/side-menu-rework/side-menu-items/deposit-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/deposit-side-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/loyalty-indicator-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/signup/signup-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/signup-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/sign-up-side-menu-item.renderer.tsx","app-react/services/storage/session-storage-keys.ts","app-react/services/theme/standard-theme-customizer.ts","app-react/services/toaster/toaster.service.interface.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors.ts","app-react/services/user-menu/menu-items/useful-links/custom-renderers/hybrid-info-menu-item.renderer.tsx","app-react/services/user-menu/menu-items/useful-links/custom-renderers/touch-id-menu-item.renderer.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.default.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.casino777.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.cip.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.mrgreen.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item-side-text.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-useful-links-menu-item-renderer.tsx","app-react/themes/architecture/asset.ts","app-react/themes/architecture/by-theme-registry.ts","app-react/themes/architecture/css-helpers/css-rule.ts","app-react/themes/architecture/css-helpers/flex.ts","app-react/themes/architecture/gray-colors.ts","app-react/themes/architecture/sections/theme-layout.interface.ts","app-react/themes/architecture/styled-by-device.tsx","app-react/themes/architecture/styled-by-theme.tsx","app-react/themes/architecture/theme-names.ts","app-react/themes/assets.ts","app-react/themes/defaults/icons/info.icon.tsx","app-react/themes/defaults/icons/search.icon.tsx","app-react/themes/definitions/casino777/base-colors.ts","app-react/themes/definitions/casino888/cis/base-colors.ts","app-react/themes/definitions/harrahs/base-colors.ts","app-react/themes/definitions/mrgreen/base-colors.ts","app-react/themes/definitions/si/base-colors.ts","app-react/themes/definitions/si/cis/base-colors.ts","app-react/themes/hex-to-rgba.ts","common/const/ab-testing-names.ts","common/const/casinofied-analytics-consts.ts","common/const/free_play_consts.ts","common/const/game_groups_consts.ts","common/const/jackpot_map_ids.ts","common/const/migration_consts.ts","common/const/responsible-gaming.ts","common/const/service-worker-constants.ts","common/const/state-of-residence-cookie_const.ts","common/const/temp_account_status.ts","common/const/wallet_balance_type.ts","common/cy-classes.ts","common/enums/game-childish-icon-mode.enum.ts","common/interfaces/orbit-component-to-sdk-adapter/components-props/time-spent-reminder-options.ts","common/utils/image-preload.ts","app-react/app-bootstrap/application-startup-configurations-reader/application-startup-configurations-reader.ts","app-react/app-bootstrap/sdk-initializer/sdk-hooks-provider.ts","app-react/services/configurations/evaluation/properties-evaluator/properties-evaluator.ts","app-react/services/configurations/evaluation/statements/statements-evaluator/statements-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/object-evaluator/object-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/array-evaluator/array-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/simple-value-evaluator/simple-value-evaluator.ts","app-react/services/configurations/evaluation/statements/statement-evaluator/statement-evaluator.ts","app-react/services/configurations/evaluation/statements/logical-operators/base-logical-operator.ts","app-react/services/configurations/evaluation/statements/logical-operators/or-logical-operator/or-logical-operator.ts","app-react/services/configurations/evaluation/statements/logical-operators/and-logical-operator/and-logical-operator.ts","app-react/services/configurations/evaluation/statements/segmentation-rule/segmentation-rule.ts","app-react/services/configurations/evaluation/statements/comparison-operators/base-comparison-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/equal-operator/equal-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/not-equal-operator/not-equal-operator.ts","app-react/services/configurations/evaluation/property-level-context/property-level-context.ts","app-react/services/configurations/evaluation/property-evaluator/property-evaluator.ts","app-react/services/configurations/create-statements-definition.ts","app-react/services/configurations/evaluation/special-properties-evaluators/games-id-property-evaluator/games-id-property-evaluator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/is-falsy-operator/is-falsy-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/greater-than-operator/greater-than-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/less-than-operator/less-than-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/any-of-operator/any-of-operator.ts","app-react/services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-context.ts","app-react/services/game-preview-features-selector/preview-features/game-preview-feature.interface.ts","app-react/app-bootstrap/sdk-initializer/sdk-initializer.ts","app-react/services/qa-environment-pop-up-blocker/qa-environment-pop-up-blocker.service.constants.ts","app-react/services/qa-environment-pop-up-blocker/qa-environment-pop-up-blocker.service.ts","app-react/services/video-live-stream/video-playing-service-base.ts","app-react/services/video-live-stream/live-stream-playing.service.ts","app-react/services/translation/text-translation.ts","app-react/services/translation/translation.service.ts","app-react/services/currency/currency-symbol.interface.ts","app-react/services/currency/currency.service.ts","app-react/services/analytics/analytics.service.ts","app-react/services/lobby-game-info-preview/lobby-game-info-preview.service.ts","app-react/services/running-game/running-game.service.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.casino777.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.default.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.mrgreen.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.box.ts","app-react/components/modal-dialog/boxes/close-button/dialog-close-button.box.ts","app-react/components/modal-dialog/boxes/close-button/dialog-close-button.default.box.ts","app-react/components/modal-dialog/css-classes.ts","app-react/components/modal-dialog/boxes/header/dialog-header.default.box.ts","app-react/components/modal-dialog/boxes/header/dialog-header.cip.box.ts","app-react/components/modal-dialog/boxes/header/dialog-header.mrgreenCis.ts","app-react/components/modal-dialog/boxes/header/dialog-header.box.ts","app-react/components/modal-dialog/boxes/header-buttons/header-buttons-container.box.ts","app-react/components/modal-dialog/parts/header/dialog-header.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/title/title.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/boxes/stripe-image/stripe-image.default.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/boxes/stripe-image/stripe-image.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/game-stripe-image.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/boxes/trailer/trailer.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/boxes/trailer/trailer.default.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/game-trailer.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer-or-stripe-image.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-bool/cell-value-bool.default.box.ts","app-react/services/games/games-categories.enum.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-bool/cell-value-bool.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.mrgeen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.mrgeen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.si.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/game-feature-cell.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.mrgreen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/game-features-table.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/about/boxes/game-description-text/game-description-text.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/about/boxes/game-description-text/game-description-text.box.ts","app-react/basic-components/general-title/general-title.default.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.default.box.ts","app-react/basic-components/general-title/general-title.casino777.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.casino777.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/about/game-about.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/game-jackpot-preview/game-jackpot-preview.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/game-jackpot-preview/game-jackpot-preview.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.si.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/game-jackpot-preview.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/boxes/container/container.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/boxes/container/container.default.box.ts","app-react/basic-components/game-icon/game-icon.box.ts","app-react/basic-components/game-icon/game-icon.default.box.ts","app-react/basic-components/play-buttons/play-buttons.box.ts","app-react/basic-components/play-buttons/play-buttons.default.box.ts","app-react/basic-components/game-icon-wrapper/game-icon-wrapper.box.ts","app-react/basic-components/game-icon-wrapper/game-icon-wrapper.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/game-icon-and-play-buttons.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/boxes/intermediate-page/intermediate-page.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/intermediate-page/intermediate-page.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/stripe-image-and-buttons/stripe-image-and-buttons.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/stripe-image-and-buttons/stripe-image-and-buttons.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.casino777.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-image/warning-image.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-image/warning-image.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-text/warning-text.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-text/warning-text.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-message/warning-message.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-message/warning-message.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/only-real-money-warning.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component.tsx","app-react/services/restrictions/no-game-restriction.ts","app-react/services/games/game-info.tsx","app-react/services/configurations/inject-admin-arenas.ts","app-react/services/games/games.service.ts","app-react/services/configurations/configurations.service.ts","common/const/ai-trending-list-ids-map.ts","app-react/services/user/user.service.ts","app-react/services/browser-buttons-handler/browser-buttons-handler.service.ts","app-react/services/segmentation-aggregator/segmentation-aggregator.service.ts","app-react/services/client-device/features/client-device.features.ts","app-react/services/client-device/detected/client-device.detected.ts","app-react/services/client-device/client-device.service.ts","app-react/services/device/device.service.ts","app-react/consts/seo-categories.ts","app-react/services/ai-engine/ai-engine.service.ts","app-react/services/deep-link/legacy/deep-link-builders/deeplink-json-object-builder/deeplink-json-object-builder.ts","app-react/services/deep-link/legacy/deep-link-parsers/parsers/deep-link-json-object-parser/deep-link-json-object-parser.ts","app-react/services/deep-link/deeplink-consts.ts","app-react/services/deep-link/legacy/deep-link-parsers/deep-link-parser.service.ts","app-react/services/deep-link/deep-link.service.ts","app-react/services/sdk/cgp-sdk.interface.ts","app-react/services/sdk/sdk-events.ts","app-react/services/sdk/sdk-events-trigger.ts","app-react/services/sdk/sdk.service.ts","app-react/app-bootstrap/constants.ts","app-react/services/games-filter/strategies/no-filter/no-games-filter.strategy.ts","app-react/services/games-filter/games-filter.service.ts","app-react/services/menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader.ts","app-react/components/user-menu/user-menu-items/boxes/user-menu-item.box.ts","app-react/services/configurations/config-data-sections/arenas.configuration.ts","app-react/components/user-menu/user-menu-items/boxes/user-menu-items-title.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-section.box.ts","app-react/components/user-menu/user-menu-items/user-menu-item.component.tsx","app-react/services/user-menu/menu-items/user-menu-items/generic-user-user-menu-item-renderer.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-config-reader-base.ts","app-react/services/user-menu/menu-items/user-menu-item-config-reader.ts","app-react/services/user-menu/user-menu.service.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.default.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.casino777.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.si.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.box.ts","app-react/components/single-game/common/parts/game-badge/game-badge.component.tsx","app-react/components/single-game/common/parts/game-image-container.component/game-image-container.component.tsx","app-react/components/single-game/regular-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.cip.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.si.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.default.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.casino777.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.si.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.cis.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.box.ts","app-react/components/single-game/regular-template/parts/info-page-button/info-page-button.component.tsx","app-react/components/single-game/regular-template/boxes/game-buttons/game-buttons.box.ts","app-react/components/single-game/regular-template/boxes/game-buttons/game-buttons.default.box.ts","app-react/components/single-game/regular-template/parts/play-demo-button/play-demo-button.component.tsx","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.si.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/regular-template/boxes/game-info-container/game-info-container.box.ts","app-react/components/single-game/regular-template/boxes/game-info-container/game-info-container.default.box.ts","app-react/components/single-game/regular-template/boxes/amount-container/amount-container.box.ts","app-react/components/single-game/regular-template/boxes/two-rows-game-title-container/two-rows-game-title-container.box.ts","app-react/components/single-game/regular-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/regular-template/boxes/game/game.default.box.ts","app-react/components/single-game/regular-template/boxes/game/game.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game/game.cis.box.ts","app-react/components/single-game/regular-template/boxes/game/game.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.default.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.casino777.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.box.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.casino777.box.ts","app-react/components/single-game/video-template/single-game-video-template.component.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.default.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.box.ts","app-react/components/single-game/regular-template/single-game-regular-template.component.tsx","utils/css-class-name-builder.ts","app-react/components/single-game/jackpot-template/boxes/game/game.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game/game.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/jackpot-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/jackpot-template/single-game-jackpot-template.component.tsx","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.box.ts","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.default.box.ts","app-react/components/single-game/live-template/single-game-live-template.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/video-sound-button.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/video-tile-overlay.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.mrgreen.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video.box.ts","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/video.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile-skeleton.defaultbox.ts","app-react/components/single-game/single-game-skeleton.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-thumbnail-image/video-thumbnail-image.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section-default.box.ts","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box.tsx","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/video-tile-footer.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/video-tile.component.tsx","app-react/components/single-game/video-template/boxes/video-item-container.box.ts","app-react/components/single-game/video-template/boxes/video-item-container-default.box.ts","app-react/components/single-game/single-game.component.tsx","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.default.box.ts","app-react/services/jackpots/jackpots.service.interface.ts","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.default.box.ts","app-react/components/single-game-placeholder/single-game-placeholder.component.tsx","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.casino777.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.siCis.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.default.box.ts","app-react/components/orbit-swiper/orbit-swiper.component.tsx","app-react/components/recently-played/recently-played.component.tsx","app-react/services/arenas/models/lists/games-list-base.model.tsx","app-react/components/game-list-title/constants.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.default.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.wsop.cip.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.cis.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.default.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.box.ts","app-react/components/jackpot-widget/boxes/bg/jackpot-widget-bg.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.box.ts","app-react/components/jackpot-widget/boxes/amount/jackpot-widget-amount.box.ts","app-react/components/jackpot-widget/boxes/footer/jackpot-widget-footer.box.ts","app-react/components/jackpot-widget/boxes/footer/clock/label/jackpot-widget-clock-label.box.ts","app-react/components/jackpot-widget/boxes/footer/clock/box/jackpot-widget-clock.box.ts","app-react/components/jackpot-widget/jackpot-widget-clock.component.tsx","app-react/components/jackpot-widget/boxes/amount/label/jackpot-widget-amount-label.box.ts","app-react/components/jackpot-widget/boxes/footer/collecting/label/jackpot-widget-collecting-label.ts","app-react/components/jackpot-widget/boxes/footer/collecting/amount/jackpot-widget-collecting-amount.ts","app-react/components/jackpot-widget/boxes/shine/jackpot-widget-shine.box.ts","app-react/components/jackpot-widget/jackpot-widget.component.tsx","app-react/components/jackpot-widget/boxes/aspect-ratio/jackpot-widget-aspect-ratio.box.ts","app-react/components/jackpot-widget/boxes/amount/jackpot-widget-amount-container.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-element-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/jackpot-widget-amount-skeleton.box.ts","app-react/basic-ui-components/layout/spacer.box.ts","app-react/components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.box.ts","app-react/components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.default.box.ts","app-react/components/red-tiger-widget/boxes/widget/red-tiger-widget.box.ts","app-react/components/red-tiger-widget/boxes/widget/red-tiger-widget.default.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.default.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.casino777.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.box.ts","app-react/components/red-tiger-widget/boxes/frameContainer/red-tiger-widget-frame-container.default.box.ts","app-react/components/red-tiger-widget/boxes/frameContainer/red-tiger-widget-frame-container.box.ts","app-react/components/red-tiger-widget/red-tiger-widget.component.tsx","app-react/basic-components/general-title/general-title.si.box.ts","app-react/basic-components/general-title/general-title.box.tsx","app-react/components/game-list-title/boxes/list-title-text/list-title-text.default.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.casino777.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cip.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.si.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.siCis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.default.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.casino777.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cip.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.siCis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.box.ts","app-react/components/game-list-title/game-list-title.component.tsx","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.default.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.casino777.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/button/swiper-button.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons.tsx","app-react/services/arenas/models/swiper-logic-handler/swipe-logic-handler.ts","app-react/services/arenas/models/lists/swiper-list-base.model.tsx","app-react/services/arenas/models/lists/api-list-base.model.tsx","app-react/services/arenas/models/lists/recently-played/recently-played-list.model.tsx","app-react/components/ai-list/top-picks.component.tsx","app-react/services/arenas/models/lists/top-picks/top-picks-list.model.tsx","app-react/components/ai-new-games-list/ai-new-games-list.component.tsx","app-react/services/arenas/models/lists/new-games/new-games-list.model.tsx","app-react/components/players-like-you/players-like-you.component.tsx","app-react/services/arenas/models/lists/players-like-you/players-like-you-list.model.tsx","app-react/services/arenas/models/lists/static-swiper/static-swiper-list.model.tsx","app-react/components/games-grid/games-grid-batch/games-grid-batch.component.tsx","app-react/components/games-grid/boxes/games-grid/games-grid.default.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.casino777.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.siCis.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.box.ts","app-react/components/games-grid/boxes/no-games-found-message/no-games-found-message.box.ts","app-react/components/games-grid/boxes/no-games-found-message/no-games-found-message.default.box.ts","app-react/components/games-grid/boxes/games-grid-container.box.ts","app-react/components/games-grid/games-grid.component.tsx","app-react/services/arenas/models/lists/games-grid/games-grid-list.model.tsx","app-react/services/arenas/models/lists/live-casino/live-casino-list.model.tsx","app-react/components/because-you-played/because-you-played.component.tsx","app-react/services/arenas/models/lists/because-you-played/because-you-played-list.model.tsx","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.default.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.default.box.ts","app-react/services/arenas/models/swiper-logic-handler/live-stream-swipe-logic-handler.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box.ts","app-react/components/video-list-component/video-list.component.tsx","app-react/services/arenas/models/lists/video-list/default-video-list.model.tsx","app-react/services/arenas/models/lists/video-list/live-streaming-video-list.model.tsx","app-react/services/user-game-orientation/user-game-orientation.service.interface.ts","app-react/services/arenas/models/lists/video-list/static-video-list.model.tsx","app-react/services/arenas/models/lists/list-factory.ts","app-react/services/arenas/models/arenas/arena-base.model.tsx","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.si.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.box.ts","app-react/components/home-page-header-arenas/home-page-header-arena-tile.component.tsx","app-react/components/home-page-header-arenas/home-page-header-arenas.component.tsx","app-react/components/home-page/boxes/home-page-top-banner-background.box.ts","app-react/components/home-page/boxes/home-page-top-banner-divider-line.ts","app-react/components/home-page/home-page.component.tsx","app-react/services/arenas/models/arenas/home-page/home-page-arena.model.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/arena-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/title/pc-game-preview-title.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/game-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component.tsx","app-react/components/arena-host/casino-arena/casino-arena.template-types.ts","app-react/components/arena-host/casino-arena/casino-arena.component.tsx","app-react/services/arenas/models/filters-configuration-to-map.ts","app-react/services/games-filter/evaluators/game-filter-evaluator.interface.ts","app-react/services/games-filter/strategies/games-filter-strategy-base.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.default.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.mrgreen.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.si.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category-content.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-Item.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/input.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/sub-filters.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-item.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category-content.component.tsx","app-react/components/filters/advanced-filtering/filter-category/boxes/title-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/preview.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-header.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category.component.tsx","app-react/components/filters/advanced-filtering/filter-categories-list/filter-categories-list.component.tsx","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.default.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.mrgreen.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.si.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.default.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.mrgreen.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.si.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-header.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-button.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/filter-by.box.ts","app-react/components/filters/advanced-filtering/advanced-games-filter.component.tsx","app-react/services/games-filter/strategies/advanced-filter/advanced-games-filter-drawer-renderer.tsx","app-react/services/games-filter/arena-filters/filters/arena-game-filter-editor.ts","app-react/services/games-filter/arena-filters/categories/arena-game-filters-category-editor.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-filters-analytics.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor.ts","app-react/services/games-filter/evaluators/and-game-filters-evaluator.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.default.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.casino777.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.mrgreen.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box.ts","app-react/components/header/top-header-left/filters/filters-mobile-button.component.tsx","app-react/components/filters/advanced-filtering/boxes/indicator-container.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filter-indicator.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filters.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/remove-filter-button.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filter-name.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/applied-filters-pc-indicator-for-advanced-filtering.component.tsx","app-react/services/games-filter/arena-filters/categories/arena-game-filters-category-base.ts","app-react/services/games-filter/arena-filters/filters/arena-game-filter-base.ts","app-react/services/games-filter/arena-filters/filters/dynamic-arena-game-filter.ts","app-react/services/games-filter/arena-filters/categories/dynamic-arena-game-filters-category.ts","app-react/services/games-filter/evaluators/or-game-filters-evaluator.ts","app-react/services/games-filter/filters-categories-definitions/filter-category-definition-base.ts","app-react/services/storage/local-storage-keys.ts","app-react/services/games-filter/filters-definitions/game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/volatility/high-volatility.filter-definition.ts","app-react/services/games-filter/filters-definitions/volatility/low-volatility.filter-definition.ts","app-react/services/games-filter/filters-definitions/volatility/medium-volatility.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/volatility.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/game-feature-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-features/one-to-twenty-five.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/twenty-five-plus.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/new-game.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/low-stake.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/high-stake.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/bonus-game.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/free-spins.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/has-side-bets.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/is-multi-hand.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-features.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-dailight-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-twilight-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-captain8-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-red-tiger-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-no-jackpot.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/has-jackpot.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/vendor/vendor.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-vendor.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/game-group-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/craps.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/keno.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lunge.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-shows.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/roulette.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/scratchcards.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/slots.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/other-game-group.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-roulette.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-group.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/theme/game-theme.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-theme.filters-category-definition.ts","app-react/services/games-filter/filters-categories-definitions/filter-category-definition-factory.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-games-filter.strategy.tsx","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.default.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.casino777.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.si.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.mrgreen.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.box.ts","app-react/components/filters/filter-link/boxes/filter-link.default.box.ts","app-react/components/filters/filter-link/boxes/filter-link.casino777.box.ts","app-react/components/filters/filter-link/boxes/filter-link.si.box.ts","app-react/components/filters/filter-link/boxes/filter-link.mrgreen.box.ts","app-react/components/filters/filter-link/boxes/filter-link.box.ts","app-react/components/filters/filter-link/filter-link.component.tsx","app-react/components/filters/filter-link-list/filters-games-list.default.box.ts","app-react/components/filters/filter-link-list/filters-games-list.box.ts","app-react/components/filters/filter-link-list/filter-link-list.component.tsx","app-react/components/filters/filters-games-list-mobile/boxes/popup/filters-games-mobile-popup.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/popup/menu/filters-mobile-buttons.default.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/popup/menu/filters-mobile-buttons.box.ts","app-react/components/filters/filters-games-list-mobile/filters-games-list-mobile.component.tsx","app-react/services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor.ts","app-react/services/games-filter/filters-definitions/other/other.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/other.filters-category-definition.ts","app-react/services/games-filter/arena-filters/filters/static-arena-game-filter.ts","app-react/services/games-filter/arena-filters/categories/static-arena-game-filters-category.ts","app-react/components/filters/filters-games-list-pc/boxes/filters-game-list-pc.default.box.ts","app-react/components/filters/filters-games-list-pc/boxes/filters-game-list-pc.box.ts","app-react/components/filters/filters-games-list-pc/filters-games-list-pc.component.tsx","app-react/services/games-filter/arena-filters/filters/adhoc-arena-game-filter.ts","app-react/services/games-filter/filters-definitions/company/company.filter-definitions.ts","app-react/services/games-filter/arena-filters/categories/adhoc-arena-games-filters-category.ts","app-react/services/games-filter/strategies/simple-games-filter/simple-games-filter.strategy.tsx","app-react/services/arenas/models/arenas/casino-lobby/casino-lobby-arena.model.tsx","app-react/services/arenas/models/arenas/void-arena/void-arena.model.ts","app-react/services/arenas/models/lists-sort-order-storage.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar-button.component.tsx","app-react/components/arena-host/new-live-casino-arena/new-live-casino-arena.component.tsx","app-react/services/arenas/models/arenas/new-live-casino/new-live-casino-arena.model.tsx","app-react/services/arenas/models/arenas/live-casino/live-casino-arena.model.tsx","app-react/services/arenas/arenas.service.tsx","app-react/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.tsx","app-react/services/sitemap/breadcrumbs/non-navigatable-breadcrumb.tsx","app-react/services/sitemap/breadcrumbs/navigatable-breadcrumb.tsx","app-react/services/sitemap/sitemap-node.ts","app-react/services/sitemap/sitemap.service.ts","app-react/services/marketing/marketing.service.ts","app-react/services/language/language-switcher/language-switcher-item.ts","app-react/services/language/language-switcher/language-switcher-section.ts","app-react/services/language/language-switcher/selected-language-switcher-item.ts","app-react/services/language/language.service.ts","app-react/services/side-menu/menu-items/side-menu-item-config-reader.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-image.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-pre-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/generic-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/generic-side-menu-item.renderer.tsx","app-react/services/side-menu/side-menu.service.ts","app-react/services/game-search/game-search-result.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title-mr-green-mini-orbit.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.box.ts","app-react/components/game-search/search-result/search-box-title/search-box-title.component.tsx","app-react/components/game-search/search-result/found-games/boxes/search-games-list/search-games-list.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/search-link.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.default.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.casino777.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.box.ts","app-react/components/game-search/search-result/search-game-item/boxes/search-game-item/search-game-item.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/boxes/search-match.default.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/boxes/search-match.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/highlight-search-list-item.component.tsx","app-react/components/game-search/search-result/search-game-item/boxes/search-text-wrapper/search-text-wrapper.box.ts","app-react/components/game-search/search-result/search-game-item/boxes/search-game-image-box/search-game-image.box.ts","app-react/components/game-search/search-result/search-game-item/search-game-item.component.tsx","app-react/components/game-search/search-result/suggested-games/suggested-games.component.tsx","app-react/components/game-search/search-result/found-games/boxes/more-games/more-games.box.ts","app-react/components/game-search/search-result/found-games/found-games.component.tsx","app-react/components/game-search/search-result/search-result-item/boxes/search-result-item-box/search-result-item.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-result-item-box/search-result-item.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/search-result-item.component.tsx","app-react/components/game-search/search-result/suggested-links/boxes/search-links-list/search-links-list.default.box.ts","app-react/components/game-search/search-result/suggested-links/boxes/search-links-list/search-links-list.box.ts","app-react/components/game-search/search-result/suggested-links/suggested-links.component.tsx","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.default.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.casino777.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.default.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.casino777.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.box.ts","app-react/components/game-search/search-result/search-result.component.tsx","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-box-mobile-icon/search-box-mobile-icon.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-box-mobile-icon/search-box-mobile-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-box-mobile-icon/search-box-mobile-icon.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.default.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.casino777.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.harrahs.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.casino888.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.ballysdover.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.delawarepark.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.harrington.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-arena.si.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreen.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.box.ts","app-react/components/game-search/search-input/search-input-area/search-input-area.tsx","app-react/components/game-search/search-input/search-input-mobile/search-input-mobile.component.tsx","app-react/components/game-search/search-input/search-input-pc/boxes/search-input-form/search-input-form.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-input-form/search-input-form.default.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.default.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.harrahs.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.wsop.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.mrgreen.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.box.ts","app-react/components/game-search/search-input/search-input-pc/search-input-pc.component.tsx","app-react/components/game-search/boxes/game-search-box/game-search.default.box.ts","app-react/components/game-search/boxes/game-search-box/game-search.mrgreenCis.box.ts","app-react/components/game-search/boxes/game-search-box/game-search.box.ts","app-react/components/game-search/game-search.component.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-default-config-reader.ts","app-react/services/game-search/game-search.service.tsx","app-react/services/external-links/external-links.service.ts","app-react/services/cms/cms-api/cms-api.service.ts","app-react/components/cms-banner/banner-content/banner-content.component.tsx","app-react/services/cms/cms-banners/banner-definition/banner-definition.tsx","app-react/services/cms/cms-banners/cms-banners.service.ts","app-react/services/cms/cms-pages/cms-pages.service.ts","app-react/services/cms/cms-segmentation/cms-segmentation.service.ts","app-react/services/deep-link/unified/deep-link-action-factory/unified-deep-link-action.ts","app-react/services/deep-link/unified/deep-link-action-factory/deep-link-actions-factory-unified.strategy.ts","app-react/services/deep-link/legacy/deep-link-actions/casino-legacy-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/cashier/cashier-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/register/register-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/login/login-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/my-account/my-account-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-real/play-game-real-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-demo/play-game-demo-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/redirect/redirect-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/terminate/terminate-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/upload-document/my-account-upload-document-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/free-to-play/free-to-play-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/open-list/open-list-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/freeplay/freeplay-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/control-center/control-center-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/forgot-password/forgot-password.deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-action-factory/deep-link-actions-factory-legacy.strategy.ts","app-react/services/deep-link/deep-link-action-factory/deep-link-actions-factory.service.ts","app-react/services/sdk-component-factory/sdk-component-factory.service.ts","app-react/components/sticky-handler/sticky-handler.ts","app-react/services/sticky-handler-factory/sticky-handler-factory.service.ts","app-react/services/game-preview-features-selector/preview-features/boolean-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/money-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/numeric-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/all-features.ts","app-react/services/game-preview-features-selector/game-preview-features-selector.service.ts","app-react/services/game-route-handler/game-route-handler.service.ts","app-react/app-bootstrap/launcher-overrides-reader/launcher-overrides-reader.ts","app-react/services/launcher/launcher.service.ts","app-react/services/spinner/spinner.service.ts","app-react/services/cross-brands/cross-brands.service.ts","app-react/services/homepage/homepage.service.tsx","app-react/components/mini-orbit/routing/mini-orbit-routing-definition.tsx","app-react/services/routing-configuration/routing-configuration.service.tsx","app-react/services/routing/route/orbit-route.ts","app-react/services/routing/routing.service.ts","app-react/services/overlay/overlay.service.ts","app-react/services/time/time.service.ts","app-react/services/ai-new-games-engine/ai-new-games.service.ts","app-react/services/theme/theme.service.tsx","app-react/services/mini-orbit/adapters/void/void-communication-adapter.ts","app-react/services/mini-orbit/mini-orbit.service.tsx","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.default.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.casino777.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.mrgreenCis.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.default.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.mrgreen.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.box.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-constants.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-content.default.box.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-content.box.ts","app-react/components/modal-dialog/boxes/icon-wrapper/dialog-icon-wrapper.default.box.ts","app-react/components/modal-dialog/boxes/icon-wrapper/dialog-icon-wrapper.box.ts","app-react/components/modal-dialog/modal-dialog.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-content.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-buttons-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-button.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog-button.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-icon-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog.component.tsx","app-react/services/dialog/dialog.service.tsx","app-react/services/cross-brands/cross-brands-item-config-reader.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.box.ts","app-react/components/header/top-header-left/cross-brand/cross-brands-items/generic-cross-brands-menu-item.component.tsx","app-react/services/header/menu-items/generic-cross-brands-menu-item.renderer.tsx","app-react/services/header/header.service.ts","app-react/services/progressive-web-app/progressive-web-app.service.tsx","app-react/services/manifest/pwa-manifest.service.ts","app-react/services/manifest/pwa-manifest-constants.ts","app-react/services/mini-orbit/adapters/poker/poker-communication-adapter.ts","app-react/services/mini-orbit/adapters/sport/sport-communication-adapter.ts","app-react/services/mini-orbit/adapter-factory/mini-orbit-communication-adapter-factory.service.ts","app-react/services/live-table-feeds-service/live-table-feeds.service.interface.ts","utils/memoize.ts","app-react/services/live-table-feeds-service/live-table-feeds.service.ts","app-react/services/drawer/drawer-content-decorator.ts","app-react/services/drawer/drawer-handler.ts","app-react/services/drawer/drawer.service.ts","app-react/services/daily-deal/daily-deal.service.ts","app-react/services/jackpots/jackpot-handler/jackpot-handler.ts","app-react/services/jackpots/jackpots.service.ts","utils/ab-testing-feature-check.ts","app-react/services/ab-testing/ab-testing-feature-data-provider.service.ts","utils/gradual-increase-helper.ts","app-react/services/gradual-increase-helper-factory/gradual-increase-helper-factory.service.ts","app-react/services/control-center/control-center.service.ts","app-react/services/wallet-proxy/wallet-proxy.service.ts","app-react/components/game-popup/boxes/game-view/games-view.default.box.ts","app-react/components/game-popup/boxes/game-view/games-view.box.ts","app-react/components/game-popup/boxes/game-icon-container/game-icon-container.default.box.ts","app-react/components/game-popup/boxes/game-icon-container/game-icon-container.box.ts","app-react/components/game-popup/boxes/game-view-section/game-view-section.box.ts","app-react/components/game-popup/boxes/game-popup/game-popup.default.box.ts","app-react/components/game-popup/boxes/game-popup/game-popup.box.ts","app-react/components/game-popup/boxes/sub-title-container/sub-title-container.box.ts","app-react/components/game-popup/boxes/game-view-divider/games-view-divider.default.box.ts","app-react/components/game-popup/boxes/menu-container/menu-container.box.ts","app-react/components/game-popup/boxes/description-container/description-container.box.ts","app-react/components/side-menu/boxes/side-menu-component.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/side-menu-items-list.box.ts","app-react/components/side-menu-rework/side-menu-links-group/side-menu-links-group.component.tsx","app-react/components/game-popup/boxes/game-popup-checkbox-container/game-popup-checkbox-container.box.ts","app-react/components/game-popup/boxes/game-popup-checkbox/game-popup-checkbox.box.ts","app-react/components/game-popup/game-popup.component.tsx","app-react/services/game-popup/game-popup.service.tsx","app-react/services/analytics/analytics-data-layer.service.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown.popup.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-text.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-text.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer-remaining.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer-remaining.default.box.ts","app-react/components/session-cooldown-popup/session-cooldown-popup.component.tsx","app-react/services/session-cooldown/session-cooldown.service.tsx","app-react/components/time-spent-reminder/with-dropdown/time-spent-reminder-with-dropdown.component.tsx","app-react/services/media-query/media-query-listener.ts","app-react/services/media-query/media-query.service.ts","app-react/services/tools/tools.service.ts","app-react/components/vertical-games-list/boxes/vertical-games-list.box.ts","app-react/components/vertical-games-list/boxes/header.box.ts","app-react/components/vertical-games-list/boxes/games-list.box.ts","app-react/components/vertical-games-list/boxes/game.box.ts","app-react/components/vertical-games-list/boxes/game-details.box.ts","app-react/components/vertical-games-list/boxes/game-divider.box.ts","app-react/components/balance-box/balance-box-buttons/boxes/button-wrapper.box.ts","app-react/components/vertical-games-list/boxes/game-image.box.ts","app-react/components/vertical-games-list/css-classes.ts","app-react/components/vertical-games-list/boxes/game-details-name.box.ts","app-react/components/vertical-games-list/boxes/game-details-jp.box.ts","app-react/components/vertical-games-list/vertical-games-list-game.component.tsx","app-react/components/vertical-games-list/boxes/header-title.box.ts","app-react/components/vertical-games-list/boxes/header-close.box.ts","app-react/components/vertical-games-list/boxes/dj-widget.box.ts","app-react/components/vertical-games-list/vertical-games-list.component.tsx","app-react/services/vertical-games-list/vertical-games-list.service.tsx","app-react/services/user-game-orientation/user-game-orientation.service.ts","app-react/services/api/api-controller-base.ts","app-react/services/api/api.service.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-option-selector.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.default.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.casino777.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-selector-container.box.ts","app-react/services/external-links/external-links-z-indexes.ts","app-react/components/geo/geo-permission-popup/geo-permission-popup.component.tsx","app-react/components/time-spent-reminder/with-balance/boxes/tsr-with-balance.box.ts","app-react/components/time-spent-reminder/with-balance/time-spent-reminder-with-balance.component.tsx","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header-title-wrapper.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-game-details.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster-background.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-title.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-message.box.ts","app-react/components/idle-recommendation/idle-recommendation.component.tsx","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list-item.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-colored-text.box.ts","app-react/components/geo/geo-install-plugin/geo-install-plugin-popup-component.tsx","app-react/components/geo/geo-freeze/geo-freeze-popup.component.tsx","app-react/components/temp-account-popup/boxes/temp-account-popup.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-number.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-text.box.ts","app-react/components/temp-account-popup/temp-account-popup.component.tsx","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-footer-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-dialog.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-info-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/help-option.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/init-biometric-dialog.component.tsx","app-react/services/orbit-component-to-sdk-adapter/orbit-component-to-sdk-adapter.service.tsx","app-react/services/omg-proxy/omg-message-collection.ts","app-react/services/omg-proxy/omg.service.ts","app-react/services/casinofied/message-broker/message-broker.consts.ts","app-react/services/casinofied/message-broker/message-broker.service.ts","app-react/services/casinofied/casinofied-helper-functions.ts","app-react/services/casinofied/app-launcher/apps/adapters/casinofied-zoid-application-adapter.ts","app-react/services/casinofied/app-launcher/apps/adapters/casinofied-regular-application-adapter.ts","app-react/services/casinofied/app-launcher/apps/casinofied-application-base.ts","app-react/services/casinofied/app-launcher/apps/casinofied-application.interface.ts","app-react/components/on-error/boxes/on-error.box.tsx","app-react/components/on-error/boxes/on-error-default.box.tsx","app-react/components/on-error/boxes/on-error-icon.box.tsx","app-react/components/on-error/boxes/on-error-title.box.tsx","app-react/components/on-error/boxes/on-error-message.box.tsx","app-react/components/on-error/boxes/on-error-buttons.box.ts","app-react/components/on-error/on-error.component.tsx","app-react/services/casinofied/app-launcher/apps/inside-drawer.application.tsx","app-react/services/casinofied/app-launcher/apps/chat/chat.application.ts","app-react/services/casinofied/app-launcher/casinofied-app-sdk-loader.ts","app-react/services/casinofied/app-launcher/components/casinofied-component-base.ts","app-react/services/casinofied/app-launcher/components/casinofied-bubble.component.tsx","app-react/services/casinofied/app-launcher/apps/adapters/unified-cashier-zoid-adapter.ts","app-react/services/casinofied/app-launcher/apps/deposit-widget/deposit-widget.application.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-title/payment-redirect-focus-title.box.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-title/payment-redirect-focus-title.default.box.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-container/payment-redirect-focus.box.ts","app-react/components/payments-redirect-focus/payments-redirect-focus.component.tsx","app-react/services/casinofied/app-launcher/apps/payments-redirect/payments-redirect.application.tsx","app-react/services/casinofied/app-launcher/apps/full-cashier/full-cashier.application.ts","app-react/services/casinofied/app-launcher/apps/cashout-widget/cashout-widget.application.ts","app-react/services/casinofied/app-launcher/apps/transaction-history/transaction-history.application.ts","app-react/services/casinofied/app-launcher/apps/customer-relations/customer-relations.application.ts","app-react/services/casinofied/app-launcher/apps/free-to-play-bonus-games/free-to-play-bonus-games.application.ts","app-react/services/casinofied/app-launcher/apps/help-centre/help-centre.application.ts","app-react/services/casinofied/app-launcher/apps/control-center/init-params-helper.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-full.application.ts","app-react/services/control-center/control-center.service.interface.ts","app-react/services/analytics/analytics-data-layer.service.interface.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-mini.application.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-analytics-helper.ts","app-react/services/casinofied/app-launcher/casinofied-app-factory.ts","app-react/services/casinofied/app-launcher/casinofied-app-launcher.service.ts","app-react/services/casinofied/action-handler/action-handler-base.ts","app-react/services/casinofied/action-handler/handlers/open-banking.action-handler.ts","app-react/services/casinofied/action-handler/handlers/upload-documents-from-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-deposit.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-withdraw.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-chat.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link-with-form-post.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-full.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/logout.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-help-center.action-handler.ts","app-react/services/casinofied/action-handler/handlers/login.action-handler.ts","app-react/services/casinofied/action-handler/handlers/registration.action-handler.ts","app-react/services/casinofied/action-handler/handlers/transaction-history.action-handler.ts","utils/case-insensitive-property-reader.ts","app-react/services/casinofied/action-handler/handlers/open-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-challenges.action-handler.ts","app-react/services/casinofied/action-handler/handlers/navigate-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-my-account.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-rich.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-mini.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-game.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-forgot-your-password.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-free-to-play.action-handler.ts","app-react/services/casinofied/action-handler/casinofied-action-handler.service.ts","app-react/services/floating-bubbles/floating-bubbles.service.ts","app-react/components/source-of-funds/boxes/source-of-funds.box.ts","app-react/components/source-of-funds/source-of-funds-popup.component.tsx","app-react/services/restriction-ruler/restriction-ruler.service.tsx","app-react/services/restriction-ruler/restriction-ruler.service.interface.ts","app-react/services/red-tiger/red-tiger.service.ts","app-react/services/casinofied/analytics-publisher/casinofied-analytics.service.ts","app-react/services/http/http-with-request-time-measurement.service.ts","app-react/services/ab-testing-ai-sort/ab-testing-ai-sort-games-lists.service.ts","common/utils/cashier-util.ts","app-react/services/external-links/handlers/cashier/cashier.external-link-handler.ts","app-react/services/cashier/cashier.service.ts","app-react/services/external-links/handlers/external-link-handler-base.ts","app-react/components/external-links/boxes/external-link-iframe-container.box.ts","app-react/components/external-links/boxes/external-link-close-button-wrapper.default.box.ts","app-react/components/external-links/boxes/external-link-close-button-wrapper.box.ts","app-react/components/external-links/boxes/external-link-iframe.box.ts","app-react/components/external-links/external-link-iframe.component.tsx","app-react/components/external-links/external-link-iframe-in-modal-dialog.component.tsx","app-react/services/external-links/renderers/external-link-iframe.renderer.tsx","app-react/services/external-links/handlers/external-link-in-iframe-handler-base.ts","app-react/services/external-links/handlers/registration/registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account/my-account.external-link-handler.tsx","common/enums/platform-event-type.enum.ts","app-react/services/external-links/handlers/omg/omg.external-link-handler.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-credentials-external-link-handler-base.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-user-name/forgot-user-name.external-link-handler.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-password/forgot-password.external-link-handler.ts","app-react/services/external-links/handlers/pending-login/pending-login.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers/game-limits/game-limits.external-link-handler.ts","app-react/services/external-links/handlers/contact-us/contact-us.external-link-handler.ts","app-react/services/external-links/handlers/rich/rich.external-link-handler.ts","app-react/services/external-links/handlers/help/help.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/pending-action.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/deposit/deposit-pending-action.external-link-handler.ts","app-react/services/links-navigation/regulation-hooks/regulation-link-navigation-hook.interface.ts","app-react/services/external-links/handlers/pending-action/transaction-history/transaction-history-pending-action.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/real-game-play/real-game-play-pending-action.external-link-handler.ts","app-react/services/external-links/handlers-factory/external-links-handlers-factory.ts","app-react/components/header/buttons/login-button/boxes/login-button.default.box.ts","app-react/components/header/buttons/login-button/boxes/login-button.si.box.ts","app-react/components/header/buttons/login-button/boxes/login-button.box.ts","app-react/components/header/welcome-buttons/header-welcome-buttons-analytics-sender.ts","app-react/components/header/buttons/login-button/header-login-button.component.tsx","app-react/components/header/buttons/register-button/boxes/register-button.default.box.ts","app-react/components/header/buttons/register-button/boxes/register-button.si.box.ts","app-react/components/header/buttons/register-button/boxes/register-button.mrgreen.box.ts","app-react/components/header/buttons/register-button/boxes/register-button.box.ts","app-react/components/header/buttons/register-button/header-register-button.component.tsx","app-react/components/about-component/boxes/about.box.ts","app-react/components/about-component/boxes/about-info-section.box.ts","app-react/components/about-component/boxes/about-footer-section.box.ts","app-react/components/about-component/about.component.tsx","app-react/services/regulation/regulation-components-common.tsx","app-react/services/menu-items-common/regulations-specific/regulation-menu-item-factory-base.ts","app-react/services/links-navigation/regulation-hooks/regulation-navigation-hook-base.ts","app-react/services/limits-toaster/limits-toaster.service.ts","app-react/services/regulation/legacy-regulation-wrapper.ts","app-react/services/regulation/germany/components/germany.regulation-components.tsx","app-react/services/regulation/germany/germany-regulation.ts","app-react/services/external-links/handlers/registration/regulations/michigan/michigan.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/michigan/michigan.external-links-handlers-factory.ts","app-react/services/regulation/michigan/components/michigan.regulation-components.tsx","app-react/services/menu-item-regulation-specific/michigan/side-menu/components/michigan.sport-side-menu-item.component.tsx","app-react/services/menu-item-regulation-specific/michigan/side-menu/michigan.sport-side-menu-item.renderer.tsx","app-react/services/menu-item-regulation-specific/michigan/michigan.menu-item-factory.ts","app-react/services/regulation/michigan/michigan.regulation.ts","app-react/services/regulation/ontario/components/ontario.regulation-components.tsx","app-react/services/external-links/handlers/registration/regulations/ontario/ontario.registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/ontario/ontario.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/ontario/ontario.external-links-handlers-factory.ts","app-react/services/regulation/ontario/ontario.regulation.ts","app-react/services/external-links/handlers/registration/regulations/netherlands/netherlands.registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/netherlands/netherlands.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/real-game-play/netherlands/netherlands.real-game-play-pending-action.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/netherlands/netherlands.external-links-handlers-factory.ts","app-react/services/regulation/netherland/components/netherlands.regulation-components.tsx","app-react/services/regulation/netherland/netherlands-regulation.ts","app-react/services/external-links/handlers/registration/regulations/new-jersey/new-jersey.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/new-jersey/new-jersey.external-links-handlers-factory.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play-container.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play-label.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/safe-to-play/us.safe-to-play.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.responsible-gaming.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/responsible-gaming/us.responsible-gaming.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/us.responsible-gaming-buttons.component.tsx","app-react/services/regulation/new-jersey/components/new-jersey.regulation-components.tsx","app-react/services/regulation/new-jersey/new-jersey.regulation.ts","app-react/services/external-links/handlers/registration/regulations/uk/uk.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/uk/uk.external-links-handlers-factory.ts","app-react/services/regulation/uk/uk.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/italy/italy.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/italy/italy.external-links-handlers-factory.ts","app-react/services/regulation/italy/components/italy.regulation-components.ts","app-react/services/menu-item-regulation-specific/italy/side-menu/italy.test-menu-item.renderer.tsx","app-react/services/menu-item-regulation-specific/italy/italy.menu-item-factory.ts","app-react/services/regulation/italy/italy.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/romania/romania.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/romania/romania.external-links-handlers-factory.ts","app-react/services/regulation/romania/romania.regulation.ts","app-react/services/regulation/portugal/components/portugal.regulation-components.ts","app-react/services/regulation/portugal/portugal.regulation.ts","app-react/services/regulation/sweden/components/sweden.regulation-components.tsx","app-react/services/regulation/sweden/sweden.regulation.ts","app-react/services/regulation/denmark/components/denmark.regulation-components.tsx","app-react/services/regulation/denmark/denmark-regulation.ts","app-react/services/regulation/regulation.service.ts","app-react/services/burnout/player-burnout.service.ts","app-react/services/player-offerings/player-offerings/offers/offer-base.ts","app-react/services/player-offerings/player-offerings/offers/welcome-offer.tsx","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-shell.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-colors.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-wrapper.box.ts","app-react/components/wheel-of-fortune/wheel-of-fortune.component.tsx","app-react/services/player-offerings/player-offerings/offers/wheel-of-fortune-offer.tsx","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.box.ts","app-react/services/player-offerings/player-offerings/offers/registration-offer.tsx","app-react/services/player-offerings/player-offerings.service.tsx","app-react/services/pixi-app/pixi-app-creator.ts","app-react/services/pixi-app/pixi-app.service.ts","app-react/services/free-play/providers/3rdparty/third-party-vouchers.provider.ts","app-react/services/game-animated-icons-manager/game-animated-icons-manager.service.ts","app-react/services/webgl-context-manager/webgl-context-manager.service.ts","app-react/services/exit-popup/exit-popup-consts.ts","app-react/services/exit-popup/exit-popup.service.tsx","app-react/services/tooltip/tooltip-base.service.ts","app-react/services/tooltip/tooltip-base/tooltip-modifiers.ts","app-react/services/tooltip/tooltip-base/tooltip-base.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltip.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltips.service.ts","app-react/services/gaming-history/models/paginator/history-paginator-base.model.ts","app-react/services/gaming-history/models/record/history-record-base.model.ts","app-react/services/gaming-history/models/record/user-gaming-history-record.model.ts","app-react/services/gaming-history/models/record/migrated-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/migrated-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/void-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/user-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/record/session-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/session-gaming-history-paginator.model.ts","app-react/services/gaming-history/gaming-history.service.ts","app-react/services/companies/companies.service.ts","app-react/services/because-you-played/because-you-played.service.ts","app-react/services/game-runner/running-game-browser-tab-controller.ts","app-react/services/game-runner/loading-indicators/game-loading-indicator-base.model.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/root/hybrid-embedded-game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/header/hybrid-embedded-game-loading-indicator-header.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/content/hybrid-embedded-game-loading-indicator-content.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/spinner/hybrid-embedded-game-loading-indicator-spinner.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/progress/hybrid-embedded-game-loading-indicator-progress.box.ts","app-react/themes/defaults/icons/loading-circle-large.icon.tsx","app-react/components/game-window/loading-indicators/hybrid-embedded/hybrid-embedded-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/hybrid-embedded-game-loading-indicator.model.tsx","app-react/components/game-window/loading-indicators/web-app/web-app-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/web-app-game-loading-indicator.model.tsx","app-react/services/game-runner/game-runner.service.ts","app-react/services/hybrid/hybrid.service.ts","app-react/services/video-live-stream/static-video-playing.service.ts","app-react/services/storage/session-storage.service.ts","app-react/services/storage/cookies.service.ts","app-react/services/free-play/free-play-game/free-play-game.model.ts","app-react/services/free-play/vouchers/voucher-base.model.ts","app-react/services/free-play/vouchers/free-play/free-play-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-play/jackpot-free-play-voucher.model.ts","app-react/services/free-play/vouchers/free-spins/free-spins-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-spins/jackpot-free-spins-voucher.model.ts","app-react/services/free-play/providers/vouchers-provider-base.ts","app-react/services/free-play/providers/888/888-free-play-vouchers.provider.ts","common/interfaces/crm-sdk-lib.interface.ts","app-react/services/free-play/free-play.service.ts","app-react/services/restrictions/restrictions.service.ts","app-react/services/free-to-play/free-to-play.service.ts","app-react/services/gnwp/gnwp.service.ts","app-react/services/scrip-loader/script-loader.service.ts","app-react/services/admin-banner/admin-banner.service.ts","app-react/services/session-timer/session-timer.service.ts","app-react/services/geo-location/geo-location.service.ts","app-react/services/crm/crm.service.ts","app-react/services/specific-dialogs/specific-dialogs.service.interface.ts","app-react/components/lugas/boxes/line-box.ts","app-react/components/lugas/lugas-active-popup.component.tsx","app-react/components/login-popup/boxes/login-popup.box.ts","app-react/components/login-popup/boxes/login-popup-dialog-text.box.ts","app-react/components/login-popup/login-popup.component.tsx","app-react/basic-ui-components/form/toggle-switch/boxes/checkbox/toggle-switch-checkbox.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/slider/toggle-switch-slider.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/toggle-switch.box.ts","app-react/basic-ui-components/form/toggle-switch/toggle-switch.component.tsx","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-dialog.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-info-section/modify-biometric-info-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-toggle-section/modify-biometric-toggle-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/modify-biometric-dialog.component.tsx","app-react/services/specific-dialogs/specific-dialogs.service.tsx","app-react/services/tipping-history/models/tipping-history-view-model.ts","app-react/services/tipping-history/tipping-history.service.ts","app-react/services/loyalty-indicator/models/loyalty-indicator.model.ts","app-react/services/loyalty-indicator/loyalty-indicator.service.ts","app-react/components/state-popup/boxes/state-popup-wrapper.box.ts","app-react/components/state-popup/state-popup.component.tsx","app-react/components/state-popup/boxes/state-popup-error-message.box.ts","app-react/components/state-popup/boxes/state-popup-select-wrapper.box.ts","app-react/components/state-popup/state-popup-with-dropdown.component.tsx","app-react/services/state-of-residence-identifier/state-popup-strategies-consts.ts","app-react/services/state-of-residence-identifier/state-popup-strategies.ts","app-react/services/state-of-residence-identifier/state-of-residence-identifier.service.tsx","app-react/services/login-popup/login-popup.service.ts","app-react/services/onboarding-tour/steps/welcome.step.ts","app-react/services/onboarding-tour/geometry.helper.ts","app-react/services/onboarding-tour/steps/main-menu.step.ts","app-react/services/onboarding-tour/steps/user-menu.step.ts","app-react/services/features-toggle-management/FeatureId.ts","utils/rem-to-px.ts","app-react/services/onboarding-tour/onboarding-tour.service.ts","app-react/services/nyx/nyx.service.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip.model.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/text-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.777.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/seperator.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/icon-title-text.tooltip.tsx","app-react/services/tooltip/on-boarding-tooltip/free-play/free-play.on-boarding-tooltip.model.tsx","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/icon-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/ios-add-to-home-share-icon.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/message-body-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/ios-add-to-home.component.tsx","app-react/services/tooltip/on-boarding-tooltip/pwa/ios-pwa.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/control-center/control-center.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltips.service.ts","app-react/services/player-migration/player-migration.service.ts","app-react/services/toaster/toasts-queue.ts","app-react/services/toaster/toast-helpers/toast-classnames.helper.ts","app-react/components/toaster/toasts-content/boxes/default-toast-image.box.ts","app-react/components/toaster/toasts-content/standard-toast.component.tsx","app-react/services/toaster/toast-helpers/toast-analytics.helper.ts","app-react/services/toaster/toast-handler.tsx","app-react/services/toaster/firebase-toaster.service.interface.ts","app-react/services/toaster/toaster.service.tsx","app-react/services/features-toggle-management/FeaturesMaxDisplayCountMap.ts","app-react/services/features-toggle-management/features-toggle-management.service.ts","app-react/services/links-navigation/link-configuration-parser.ts","app-react/services/links-navigation/links-navigation.service.ts","app-react/services/menu-item-action-factory/link-navigation.action.ts","app-react/services/menu-item-action-factory/menu-item-action-factory.service.ts","app-react/services/bottom-navigation-bar/bottom-navigation-bar-menu-item-config-reader.ts","app-react/components/bottom-navigation-bar/boxes/menu-item/bottom-navigation-bar-menu-item.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item/bottom-navigation-bar-menu-item.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.casino777.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-icon/bottom-navigation-bar-menu-item-icon.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-icon/bottom-navigation-bar-menu-item-icon.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-item-icon.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-item.component.tsx","app-react/services/bottom-navigation-bar/menu-items/generic-bottom-navigation-bar-menu-item.renderer.tsx","app-react/services/bottom-navigation-bar/bottom-navigation-bar.service.ts","utils/json-helper.ts","app-react/services/toaster/firebase-toaster.service.tsx","app-react/components/profile-box-messages-indicator/consts/indicator-layout.ts","app-react/services/service-factory.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino888.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrington.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.ballysdover.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.wsop.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrahs.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.si.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.mrgreen.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.delaware.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.box.ts","app-react/components/user-menu/logo-box/logo-box.component.tsx","app-react/components/user-info/user-info.component.tsx","app-react/components/profile-box/profile-picture/boxes/profile-picture.box.ts","app-react/components/profile-box/profile-picture/boxes/profile-user-name.box.ts","app-react/components/profile-box/profile-picture/boxes/profile-picture-image.box.ts","app-react/components/profile-box/profile-picture/profile-picture.component.tsx","app-react/components/profile-box-messages-indicator/boxes/indicator.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-badge.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-text.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper-default.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper.777.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper.box.ts","app-react/components/profile-box-messages-indicator/profile-box-messages-indicator.component.tsx","app-react/components/profile-box-messages-indicator/indicators/omg-indicator.component.tsx","app-react/components/profile-box-messages-indicator/indicators/freeplay-indicator.component.tsx","app-react/components/profile-box/boxes/profile-messages-divider.box.ts","app-react/components/profile-box/boxes/profile-buttons.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.default.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.casino777.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.casino888.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.ballysdover.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.harrington.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.wsop.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.harrahs.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.mrgreen.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.default.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.wsop.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.harrahs.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.mrgreen.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.box.ts","app-react/components/profile-box/boxes/profile-wrapper.box.ts","app-react/components/profile-box/boxes/profile-box-messages/profile-messages.box.ts","app-react/components/profile-box/profile-box.component.tsx","app-react/components/side-menu/cross-brands/boxes/side-menu-cross-brands-list.box.ts","app-react/components/side-menu/cross-brands/boxes/side-menu-cross-brands-list-item.box.ts","app-react/components/side-menu/cross-brands/boxes/side-menu-cross-brands-list-item-icon.box.ts","app-react/components/side-menu/cross-brands/side-menu-cross-brands.component.tsx","app-react/components/side-menu/store-button/store-button.component.tsx","app-react/components/side-menu/boxes/menu-links-groups-container.box.ts","app-react/components/side-menu/boxes/side-menu-container.box.ts","app-react/components/side-menu/boxes/mobile-menu-item-container.box.ts","app-react/components/side-menu/boxes/mobile-menu-item-link.box.ts","app-react/components/side-menu/mobile-help-menu-item/mobile-help-center-menu-item.component.tsx","app-react/components/side-menu/mobile-lang-switcher-menu-item/boxes/mobile-lang-switcher-menu-item-selected-lang.box.ts","app-react/components/side-menu/mobile-lang-switcher-menu-item/boxes/mobile-lang-switcher-container.box.ts","app-react/components/side-menu/boxes/mobile-language-menu-item.box.ts","app-react/components/side-menu/mobile-lang-switcher-menu-item/mobile-lang-switcher-menu-item.component.tsx","app-react/components/side-menu/horizontal-ruler/side-menu-horizontal-line.box.ts","app-react/components/side-menu/boxes/mobile-menu-items-container.box.ts","app-react/components/header/top-header-right/state-selector-button/state-selector-button.component.tsx","app-react/components/side-menu/mobile-state-selector-menu-item/mobile-state-selector-menu-item.component.tsx","app-react/components/main-nav/boxes/related-sites/boxes/related-sites-wrapper.box.ts","app-react/components/main-nav/boxes/related-sites/boxes/related-site-link.box.ts","app-react/components/main-nav/boxes/related-sites/related-site.component.tsx","app-react/components/main-nav/boxes/related-sites/related-sites.component.tsx","app-react/components/side-menu/side-menu.component.tsx","app-react/components/language-switcher-dropdown/boxes/language-switcher-dropdown.default.box.ts","app-react/components/language-switcher-dropdown/boxes/language-switcher-dropdown.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/language-switcher-section-list.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/language-switcher-section-list.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-title/language-switcher-section-title.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-title/language-switcher-section-title.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/language-switcher-section-list-item.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/language-switcher-section-list-item.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-label/language-switcher-item-label.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-label/language-switcher-item-label.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-checkbox/language-switcher-item-checkbox.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-checkbox/language-switcher-item-checkbox.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/language-switcher-section.component.tsx","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-separator/language-switcher-section-separator.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-separator/language-switcher-section-separator.box.ts","app-react/components/language-switcher-dropdown/language-switcher-dropdown.component.tsx","app-react/components/main-nav/boxes/mobile/mobile-menu-header.default.box.ts","app-react/components/main-nav/boxes/mobile/mobile-menu-header.si.box.ts","app-react/components/main-nav/boxes/mobile/mobile-menu-header.box.ts","app-react/components/main-nav/boxes/mobile/back/mobile-back.box.ts","app-react/components/main-nav/boxes/mobile/back/mobile-back-label.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.default.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.casino777.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.si.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.mrgreen.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.box.ts","app-react/components/main-nav/boxes/main-nav.box.ts","app-react/components/main-nav/boxes/main-nav-content-wrapper.box.ts","app-react/components/main-nav/boxes/main-nav-menu.box.ts","app-react/components/main-nav/main-nav.component.tsx","app-react/components/loyalty-bar/boxes/loyalty-bar-section.box.ts","app-react/components/loyalty-bar/loyalty-bar.component.tsx","app-react/components/user-details/boxes/user-details-section.box.ts","app-react/components/user-details/boxes/user-details-wrapper.box.ts","app-react/components/user-details/boxes/user-menu-picture.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-title.box.ts","app-react/components/user-details/boxes/user-menu-title-account.box.ts","app-react/components/user-details/boxes/user-menu-title-mobile.box.ts","app-react/components/user-info/user-info-label.box.ts","app-react/components/user-details/user-details.component.tsx","app-react/components/useful-links/boxes/useful-links-section.box.ts","app-react/components/useful-links/boxes/log-out/log-out-section.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-section-icon.box.ts","app-react/components/useful-links/boxes/useful-links-section-icon.box.ts","app-react/components/useful-links/boxes/log-out/log-out-link.box.ts","app-react/components/useful-links/useful-links.component.tsx","app-react/components/balance-box/bonus-and-cash-balance/boxes/bonus-and-cash-balance.box.ts","app-react/components/balance-box/bonus-and-cash-balance/boxes/balance-inner.box.ts","app-react/components/balance-box/bonus-and-cash-balance/boxes/balance-title-inner.box.ts","app-react/components/balance-box/balance-value-boxes/balance-value-bonus-and-cash.box.ts","app-react/components/balance-box/bonus-and-cash-balance/bonus-and-cash-balance.component.tsx","app-react/components/balance-box/balance-box-buttons/boxes/balance-buttons-group.box.ts","app-react/components/balance-box/balance-box-buttons/user-balance-buttons.component.tsx","app-react/components/balance-box/boxes/user-menu-balance-title.box.ts","app-react/components/balance-box/boxes/user-balance-section.box.ts","app-react/components/balance-box/boxes/user-balance-section-icon.box.ts","app-react/components/balance-box/balance-value-boxes/balance-value-primary.box.ts","app-react/components/balance-box/user-balance.component.tsx","app-react/components/user-menu/user-menu-items/user-menu-items-container.component.tsx","app-react/components/user-menu/mini-control-center/boxes/mini-control-center.default.box.tsx","app-react/components/user-menu/mini-control-center/boxes/mini-control-center.box.ts","app-react/components/user-menu/mini-control-center/mini-control-center.component.tsx","app-react/components/user-menu/user-menu/boxes/user-menu-scroll-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-fake-ios-padding.box.ts","app-react/components/user-menu/user-menu/user-menu-mobile.component.tsx","app-react/components/welcome-user/boxes/welcome-user.box.ts","app-react/components/welcome-user/boxes/welcome-greeting.box.ts","app-react/components/welcome-user/boxes/welcome-user-info.box.ts","app-react/components/welcome-user/welcome-user.component.tsx","app-react/components/user-menu/close-button/boxes/user-menu-close-pc-button.box.ts","app-react/components/user-menu/close-button/boxes/user-menu-close-icon.box.tsx","app-react/components/user-menu/user-menu/boxes/user-menu-header.box.ts","app-react/components/user-menu/user-menu/user-menu-pc.component.tsx","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.default.box.ts","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.casino777.box.ts","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.default.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.default.box.ts","app-react/components/user-menu/user-menu.component.tsx","app-react/components/header/top-header-right/help-button/help-button.component.tsx","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-list.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-list.box.ts","app-react/components/header/top-header-left/cross-brand/app-header-cross-brands.component.tsx","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.default.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.777.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/mobile-burger-menu.component.tsx","app-react/components/header/boxes/language-switcher/header-language-switcher.box.ts","app-react/components/header/top-header-right/language-switcher/header-language-switcher.component.tsx","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.default.box.ts","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.mrgreen.box.ts","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.box.ts","app-react/components/header/top-header-right/deposit/deposit-header-button.component.tsx","app-react/components/header/boxes/navbar-separator/navbar-separator.default.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.si.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.mrgreen.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.default.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.wsop.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.harrahs.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.casino777.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.si.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.box.ts","app-react/components/header/boxes/navbar-left-container/header-navbar-left-container.box.ts","app-react/components/header/boxes/navbar-left-container/header-navbar-left-container.default.box.ts","app-react/components/header/boxes/navbar-right-container/header-navbar-right-container.box.ts","app-react/components/header/boxes/navbar-right-container/header-navbar-right-container.default.box.ts","app-react/components/header/header.component.tsx","app-react/components/drawer/boxes/body/drawer-body.box.tsx","app-react/components/drawer/boxes/body/drawer-body.default.box.tsx","app-react/components/drawer/boxes/content/drawer-content.box.ts","app-react/components/drawer/drawer.component.tsx","app-react/components/overlay/boxes/overlay.component.default.box.tsx","app-react/components/overlay/boxes/overlay.component.mrgreen.box.ts","app-react/components/overlay/boxes/overlay.component.box.tsx","app-react/components/overlay/overlay.component.tsx","app-react/components/spinner/boxes/spinner/spinner.box.ts","app-react/components/spinner/boxes/spinner/spinner.default.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.casino777.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cip.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cis.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.mrgreen.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.default.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.casino777.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cip.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.wsop.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.delawarepark.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.ballysdover.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.harrington.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cis.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.box.ts","app-react/components/spinner/spinner.component.tsx","app-react/components/breadcrumbs/breadcrumbs.component.tsx","app-react/components/app-footer/app-footer.component.tsx","app-react/components/router-outlet/boxes/router-outlet.default.box.ts","app-react/components/router-outlet/boxes/router-outlet.casino777.box.ts","app-react/components/router-outlet/boxes/router-outlet.casino888.box.ts","app-react/components/router-outlet/boxes/router-outlet.harrahs.box.ts","app-react/components/router-outlet/boxes/router-outlet.wsop.box.ts","app-react/components/router-outlet/boxes/router-outlet.si.box.ts","app-react/components/router-outlet/boxes/router-outlet.box.ts","app-react/components/router-outlet/router-outlet.component.tsx","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.box.ts","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.default.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-items-list.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar.component.tsx","app-react/components/floating-bubbles/boxes/floating-bubbles-container.box.ts","app-react/components/floating-bubbles/boxes/floating-bubble.box.ts","app-react/components/floating-bubbles/floating-bubbles.component.tsx","app-react/components/container/boxes/main-wrapper.default.box.ts","app-react/components/container/boxes/main-wrapper.cip.box.ts","app-react/components/container/boxes/main-wrapper.mrgreenCis.box.ts","app-react/components/container/boxes/main-wrapper.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-cutout.box.ts","app-react/components/onboarding-tour/fade-in-div-on-mount.component.tsx","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric.box.ts","app-react/services/onboarding-tour/onboarding-spotlight.helper.ts","app-react/components/onboarding-tour/spotlight/boxes/spotlight-svg.box.ts","app-react/components/onboarding-tour/spotlight/onboarding-spotlight.component.tsx","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-logo.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-main-text.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-secondary-text.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-content.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-close.box.ts","app-react/components/onboarding-tour/dialog/onboarding-dialog.component.tsx","app-react/components/onboarding-tour/onboarding-tour.component.tsx","app-react/components/container/container.component.tsx","app-react/components/modal-dialog/modal-dialogs-container.component.tsx","app-react/components/sdk/orbit-components-rendered-inside-sdk-container.tsx","app-react/components/burnout/player-burnout-layer.component.tsx","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.default.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.777.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.mrgreen.box.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.box.ts","app-react/components/tooltip/boxes/tooltip-close-button.box.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.default.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.mrgreen.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.box.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.default.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.777.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.mrgreen.box.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.box.ts","app-react/components/tooltip/boxes/tooltip-content.box.ts","app-react/components/tooltip/tooltip-container.component.tsx","app-react/components/game-window/loading-indicators/boxes/game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/game-loading-indicator.component.tsx","app-react/components/current-game-container/current-game-container.component.tsx","app-react/components/toaster/boxes/toaster-styles-wrapper.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.default.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.mrgreen.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.box.ts","app-react/components/toaster/toaster.component.tsx","app-react/components/app/app.component.tsx","app-react/services/storage/in-memory-local-storage.service.ts","app-react/app-bootstrap/b2c-framework-loader/b2c-framework-loader.ts","app-react/themes/select-theme.ts","app-react/orbit-api.interface.ts","app-react/b2c-adapter.ts","app-react/orbit-api.ts","main.ts","sdk/src/events/events.ts","sdk/src/exceptions/cgp_error_codes.ts","sdk/src/services/games_information/games_information_service_interface.ts","sdk/src/services/hybrid/native/native_const.js","sdk/src/services/overlay_manager/overlay_manager_levels.ts","sdk/src/services/regulation/regulation_const.ts","sdk/src/utils/date_formatter.ts","sdk/src/utils/event.ts","settings/configs/default-config.ts","settings/languages/eng.ts","utils/disposable-object.ts","app-react/services/companies/companies-models|lazy|/^/.*/.company/-model$/|chunkName: company|groupOptions: {}|namespace object","app-react/services/menu-item-action-factory/custom-actions|sync|/.+/.action/.(ts%7Ctsx)$","app-react/services/side-menu/menu-items/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/services/user-menu/menu-items/useful-links/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/themes/definitions|lazy|/^/.*/theme/.definition$/|chunkName: theme-definition|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*$/|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*/config$/|groupOptions: {}|namespace object","settings/languages|lazy|/^/.*$/|chunkName: language|groupOptions: {}|namespace object"],"sourcesContent":["import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../themes/architecture/css-helpers/flex\";\r\nimport {MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS, PC_HORIZONTAL_SPACE_BETWEEN_ITEMS} from \"../space-between-items-consts\";\r\n\r\nexport const BlankHorizontalSeparatorBox = styled.span<{multiplier?: number}>`\r\n ${flexFixedSizeItem}\r\n width: ${props => PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n @media ${props => props.theme.mediaQuery.lAndBelow} {\r\n width: ${props => MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n }\r\n`;\r\n","import {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\n\r\nexport const LayoutWrapperBox = LayoutWrapperDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../themes/architecture/styled-by-device\";\r\nimport {HOME_PAGE, LIVE_CASINO_PAGE, MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport { CssRule } from \"../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const PCBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 500px;\r\n\r\n .${HOME_PAGE} &.${MOVE_TOP}{\r\n margin-top: -13rem;\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-left: 10rem;\r\n padding-right: 10rem;\r\n padding-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &.${MOVE_TOP} {\r\n padding-left: 3rem;\r\n padding-right: 3rem;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 0;\r\n padding-right: 0;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n .${HOME_PAGE} & {\r\n &.${MOVE_TOP} {\r\n margin-top: -9rem;\r\n }\r\n\r\n ${CssRule.For.mobile.embededHybrid.build()} & {\r\n &.${MOVE_TOP} {\r\n margin-top: 1rem;\r\n margin-bottom: 0;\r\n }\r\n }\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-top: 10px;\r\n }\r\n`;\r\n\r\nexport const LayoutWrapperDefaultBox = styledByDevice(PCBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst Load = keyframes`\r\n 0%,\r\n 80%,\r\n 100% {\r\n box-shadow: 0 1.5em 0 -1.3em;\r\n }\r\n 40% {\r\n box-shadow: 0 1.5em 0 0;\r\n }\r\n`;\r\n\r\nexport const LoadingDotBox = styled.div<{animationDelay: string}>`\r\n border-radius: 50%;\r\n width: 1.6rem;\r\n height: 1.5rem;\r\n margin-left: 25px;\r\n animation: ${Load} 1.7s infinite ease-in-out;\r\n animation-delay: ${props => props.animationDelay};\r\n`","import styled from \"styled-components\";\r\n\r\n\r\nexport const LoadingDotsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n align-content: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {LoadingDotBox} from \"./boxes/loading-dot.box\";\r\nimport {LoadingDotsBox} from \"./boxes/loading-dots.box\";\r\n\r\nexport const LoadingDotsComponent = observer(class LoadingDotsComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n});","import styled from \"styled-components\";\r\n\r\nexport const LobbyGridDefaultBox = styled.div`\r\n overflow: hidden;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n max-width: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 100%;\r\n }\r\n`;","import {LobbyGridDefaultBox} from \"./lobby-grid.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyGridBox = styledByTheme(LobbyGridDefaultBox).apply();","import styled from \"styled-components\";\r\n\r\n\r\nexport const LobbyWrapperDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1.2rem;\r\n line-height: normal;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.5rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n opacity: 0;\r\n }\r\n\r\n }\r\n`;\r\n\r\nexport const LobbyWrapperWithoutBackgroundDefaultBox = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyWrapperDefaultBox} from './lobby-wrapper.default.box';\r\nimport {LOBBY_PAGE} from '../../themes/css-global-classes';\r\n\r\nexport const LobbyWrapperCasino777Box = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0;\r\n .${LOBBY_PAGE} & {\r\n &:before {\r\n display: block;\r\n opacity:1;\r\n top: 0;\r\n }\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../themes/definitions/si/cis/base-colors\";\r\nimport { LobbyWrapperWithoutBackgroundDefaultBox } from \"./lobby-wrapper.default.box\";\r\n\r\nexport const LobbyWrapperSiCisBox = styled(LobbyWrapperWithoutBackgroundDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import {LobbyWrapperDefaultBox, LobbyWrapperWithoutBackgroundDefaultBox} from \"./lobby-wrapper.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\nimport {LobbyWrapperCasino777Box} from \"./lobby-wrapper.casino777.box\";\r\nimport { LobbyWrapperSiCisBox } from \"./lobby-wrapper.siCis.box\";\r\n\r\nexport const LobbyWrapperBox = styledByTheme(LobbyWrapperDefaultBox)\r\n .forCasino777(LobbyWrapperCasino777Box)\r\n .forSI(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forMrGreen(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forSICis(LobbyWrapperSiCisBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {MAIN_SCREEN} from '../../themes/css-global-classes';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const MainScreenComponent = observer(class MainScreenComponent extends OrbitComponent {\r\n\r\n render() {\r\n //TODO - main-screen class should be removed once we convert all the components to styled-components\r\n\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n});\r\n\r\n","export function PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (15 * multiplier) + 'px';\r\n}\r\n\r\nexport function MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (5 * multiplier) + 'px';\r\n}","import styled, { css } from \"styled-components\";\r\nimport { IButtonCommonProps, IButtonColorSet, IButtonPreset } from \"../button-props.interface\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\n\r\ninterface IButtonBoxProps extends IButtonCommonProps {\r\n colorSet: IButtonColorSet;\r\n\r\n height: number;\r\n strokeWidth: number;\r\n iconSize: number;\r\n lateralPadding: number;\r\n\r\n hasLabel: boolean;\r\n hasIcon: boolean;\r\n}\r\nexport const ButtonBox = styled.button`\r\n cursor: ${props => props.disabled ? \"default\" : \"pointer\"};\r\n user-select: none;\r\n\r\n border-radius: ${props => props.rounded ? \"100px\" : props.theme.layout.border.radius};\r\n ${props => props.margin ? css`\r\n margin: ${props.margin};\r\n ` : null};\r\n\r\n /* Override user-agent styles */\r\n background: none;\r\n outline: none;\r\n\r\n ${({theme}) => theme.font.presets.ultra};\r\n /**\r\n * This is not the actual text size.\r\n * The text size is set in the span wrapping the text, here i'm just creating a context for the em units to compute relative to this\r\n */\r\n font-size: ${props => props.fixedSize ? \"10px\" : \"1rem\"};\r\n /**\r\n * If we have only an icon and no label, we want a square (or circle) button\r\n * that means the width = height =>\r\n * border x 2 + lateral-padding x 2 + icon_size = height =>\r\n * lateral_padding = (height - icon_size - 2 x border)/2 =>\r\n * lateral_padding = (height - icon_size)/2 - border\r\n *\r\n * If we have label (with or without icon), don't bother, put 1em or whatever value decided by design (hardcoded or from the theme)\r\n */\r\n padding: 0 ${props => {\r\n if (props.hasIcon && !props.hasLabel) {\r\n return \"calc(\"+((props.height - props.iconSize)/2)+\"em - \"+props.strokeWidth+\"px)\";\r\n } else {\r\n return props.lateralPadding + \"em\";\r\n }\r\n }};\r\n line-height: 0.8;\r\n letter-spacing: 0.05em;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n /** content-box because the border is in px. So when computing heights, paddings etc in em border is not taken in consideration */\r\n /* box-sizing: content-box;\r\n height: calc(${props => props.height }em - 2*${props => props.strokeWidth }px); */\r\n /** OOORRR */\r\n box-sizing: border-box;\r\n height: ${props => props.height}em;\r\n\r\n width: ${props => props.fullWidth ? \"100%\" : \"auto\"};\r\n transition: all 0.2s ease-in-out;\r\n\r\n border-width: ${props => props.strokeWidth}px;\r\n border-style: solid;\r\n\r\n color: ${props => colorSet(props).text};\r\n background-color: ${props => colorSet(props).bg};\r\n border-color: ${props => colorSet(props).border};\r\n box-shadow: ${props => (props.elevated && colorSet(props).shadow) ? colorSet(props).shadow : \"none\"};\r\n\r\n /* Putting the &:hover rules inside the hover media queries prevents the button to remain in hover state after pressing it.\r\n We wouldn't need this is the pressed/active state would be different from the hover state */\r\n @media ${({theme}) => theme.mediaQuery.hover } {\r\n &:hover {\r\n color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).text};\r\n background-color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).bg};\r\n border-color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).border};\r\n box-shadow: ${props => (props.elevated && colorSet(props, I_WANT_THE_HOVER_COLORS).shadow) ? colorSet(props, I_WANT_THE_HOVER_COLORS).shadow : \"none\"};\r\n }\r\n }\r\n\r\n ${props => (props.rotated45 && props.hasIcon && !props.hasLabel) ? css`\r\n transform: rotate(45deg);\r\n ` : null}\r\n`;\r\n\r\nconst I_WANT_THE_HOVER_COLORS = true;\r\nfunction colorSet(props: IButtonBoxProps, hoverSet?: boolean) {\r\n const setKey: keyof IButtonPreset[\"colors\"] = props.disabled ? \"disabled\" : (hoverSet || props.active ? \"hover\" : \"normal\");\r\n if (props.colorSet[setKey]) {\r\n return props.colorSet[setKey];\r\n } else {\r\n if (setKey === \"disabled\") {\r\n return {\r\n text: hexToRgba(props.colorSet[\"normal\"].text, 0.8),\r\n bg: hexToRgba(props.colorSet[\"normal\"].bg, 0.8),\r\n border: hexToRgba(props.colorSet[\"normal\"].border, 0.8),\r\n shadow: props.colorSet[\"normal\"].shadow\r\n };\r\n }\r\n if (setKey === \"hover\") {\r\n return {\r\n ...props.colorSet[\"normal\"],\r\n text: props.colorSet[\"normal\"].bg,\r\n bg: props.colorSet[\"normal\"].text,\r\n };\r\n }\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface IButtonLabelProps {\r\n fontSize: number;\r\n lateralPadding: number;\r\n allowLabelWrap?: boolean;\r\n}\r\n\r\nexport const ButtonLabelDefaultBox = styled.span`\r\n text-transform: uppercase;\r\n padding: 1px ${({lateralPadding}) => lateralPadding}em 0px;\r\n font-size: ${({fontSize}) => fontSize}em;\r\n line-height: 1.15;\r\n max-height: 2.2em;\r\n\r\n white-space: ${({allowLabelWrap}) => allowLabelWrap ? 'unset' : 'nowrap'};\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\n\r\nexport const ButtonLabelMrGreenBox = styled(ButtonLabelDefaultBox)`\r\n /**\r\n we must do the lowercase and then only first letter upper case because the translations is all upper case\r\n it's known issue that if the translation have 2 words for example: log in it will be Log in and not Log In\r\n **/\r\n text-transform: lowercase;\r\n \r\n &::first-letter {\r\n text-transform: uppercase;\r\n }\r\n`;","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonLabelMrGreenBox} from \"./button-label.mrgreen.box\";\r\nimport {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\n\r\n\r\nexport const ButtonLabelBox = styledByTheme(ButtonLabelDefaultBox)\r\n .forMrGreen(ButtonLabelMrGreenBox)\r\n .apply();","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface IButtonIconWrapperProps {\r\n rotated45?: boolean;\r\n reverseOnRTL?: boolean;\r\n}\r\n\r\nexport const ButtonIconWrapperBox = styled.span`\r\n ${props => props.rotated45 ? css`\r\n transform: rotate(-45deg);\r\n ` : null}\r\n\r\n ${props => props.reverseOnRTL ? css`\r\n ${CssRule.For.RTL.build()} &{\r\n transform: scaleX(-1);\r\n }\r\n ` : null}\r\n`;\r\n","import React from \"react\";\r\nimport { withTheme } from \"styled-components\";\r\nimport { OrbitTheme } from \"../../../themes/architecture/orbit-theme.interface\";\r\nimport { SvgSizeUnit } from \"../../icon/svg-icon/svg.icon\";\r\nimport { IButtonCommonProps, ButtonPreset, ButtonStroke, ButtonSizeVariant, IButtonIconProps } from \"./button-props.interface\";\r\nimport { ButtonBox } from \"./boxes/button.box\";\r\nimport { ButtonLabelBox } from \"./boxes/button-label.box\";\r\nimport { ButtonIconWrapperBox } from \"./boxes/button-icon-wrapper.box\";\r\n\r\ninterface IButtonProps extends IButtonCommonProps {\r\n preset: ButtonPreset;\r\n stroke?: ButtonStroke;\r\n icon?: IButtonIconProps;\r\n sizeVariant?: ButtonSizeVariant;\r\n className?: string;\r\n allowLabelWrap?: boolean;\r\n tooltip?: string;\r\n\r\n /**\r\n * theme is addded by styled-component's withTheme\r\n * children should not be here, but typescript complains otherwise, when using this component with children\r\n */\r\n theme: OrbitTheme;\r\n children?: React.ReactNode;\r\n\r\n /* button interactions */\r\n onClick?(): void;\r\n onMouseEnter?(): void;\r\n onMouseLeave?(): void;\r\n}\r\n\r\nclass $Button extends React.Component {\r\n\r\n private _renderContent(fontSize: number, lateralPadding: number, allowLabelWrap?: boolean) {\r\n if(!this.props.children) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n let {\r\n children, theme, preset, icon, stroke, sizeVariant, rotated45, rounded, elevated, allowLabelWrap, tooltip,\r\n onClick, onMouseEnter, onMouseLeave,\r\n ...otherProps\r\n } = this.props;\r\n let hasIcon = !!icon;\r\n let hasLabel = !!children;\r\n\r\n onClick = this.props.disabled ? undefined : onClick;\r\n onMouseEnter = this.props.disabled ? undefined : onMouseEnter;\r\n onMouseLeave = this.props.disabled ? undefined : onMouseLeave;\r\n\r\n let presetValues = theme.baseUIComponents.button.presets[preset];\r\n let themePresetDefaults = theme.baseUIComponents.button.defaults;\r\n\r\n stroke = stroke ?? presetValues.stroke ?? themePresetDefaults.stroke;\r\n rounded = rounded ?? presetValues.rounded ?? themePresetDefaults.rounded;\r\n elevated = elevated ?? presetValues.elevated ?? themePresetDefaults.elevated;\r\n sizeVariant = sizeVariant || \"regular\";\r\n\r\n let iconSize = icon && icon.size ? icon.size : \"regular\";\r\n let iconPlacement = icon && icon.placement ? icon.placement : \"left\";\r\n\r\n let strokeWidth = theme.baseUIComponents.button.strokeValues[stroke];\r\n let height = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].height;\r\n let iconSizeValue = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].iconSize[iconSize];\r\n let fontSize = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].fontSize || presetValues.fontSize || themePresetDefaults.fontSize;\r\n let lateralPadding = sizeVariant === \"small\" ? 0.6 : 1;\r\n\r\n /**\r\n * Rotation is supported for icon only buttons. We support this for casino 777 play game button which is a diamond shaped button\r\n */\r\n rotated45 = rotated45 && hasIcon && !hasLabel;\r\n\r\n return \r\n { (icon && iconPlacement === \"left\") ? this.renderIcon(icon.Component, iconSizeValue, {rotated45, reverseOnRTL: icon.reverseOnRTL}) : null }\r\n { this._renderContent(fontSize, lateralPadding, allowLabelWrap)}\r\n { (icon && iconPlacement === \"right\") ? this.renderIcon(icon.Component, iconSizeValue, {rotated45, reverseOnRTL: icon.reverseOnRTL}) : null }\r\n \r\n }\r\n\r\n private renderIcon(IconComponent: IButtonIconProps[\"Component\"], size: number, options?: {rotated45?: boolean, reverseOnRTL?: boolean}) {\r\n\r\n if(!IconComponent) {\r\n return null;\r\n }\r\n\r\n return \r\n \r\n \r\n\r\n\r\n }\r\n\r\n}\r\n\r\nexport const Button = withTheme($Button);\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\n\r\nconst SelectWrapperBox = styled.div<{width?: string;}>`\r\n display: inline-block;\r\n position: relative;\r\n width: ${({width}) => width};\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\n\r\nconst SelectBox = styled.select<{width?: string; hasError?: boolean;}>`\r\n height: 4.5rem;\r\n width: ${({width}) => width};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.4rem;\r\n transition: border-radius 0.2s linear, border-color 0.2s linear;\r\n background-color: ${props => props.theme.colors.backgroundMiddleDark};\r\n color: inherit;\r\n border-radius: ${({theme}) => theme.layout.border.radius};\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderLighter};\r\n &:hover {\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderContrast};;\r\n }\r\n border-width: 1px;\r\n border-style: solid;\r\n padding: 0 4rem 0 1.6rem;\r\n\r\n /* REMOVE THE DEFAULT ARROW */\r\n /* for Firefox */\r\n -moz-appearance: none;\r\n /* for Safari, Chrome, Opera */\r\n -webkit-appearance: none;\r\n /* for IE10 */\r\n &::-ms-expand {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst SelectBoxArrow = styled.div`\r\n position: absolute;\r\n right: 0.6rem;\r\n top: 0;\r\n width: 3rem;\r\n padding: 0.7rem;\r\n margin-top: 0.72rem;\r\n pointer-events: none;\r\n border-radius: 50%;\r\n\r\n transition: transform 0.2s linear;\r\n transform: rotate(90deg);\r\n`;\r\n\r\ninterface ISelectProps extends PropsWithChildren {\r\n // standard props from native html select element that will be passed directly\r\n id?: string;\r\n name?: string;\r\n value?: string | number;\r\n onChange?(event: React.ChangeEvent): void;\r\n className?: string;\r\n\r\n // custom props, not native html select element\r\n hasError?: boolean;\r\n width?: string;\r\n}\r\n\r\nexport class Select extends OrbitComponent { // React.SelectHTMLAttributes\r\n render() {\r\n let {width, ...passThroughProps} = this.props;\r\n width = width || \"auto\";\r\n const selectWidth = width !== \"auto\" ? \"100%\" : \"auto\";\r\n\r\n const ArrowIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n return \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n}","import * as React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\nimport {PropsWithChildren} from \"react\";\r\n\r\nexport enum SvgSizeUnit {\r\n Rem = \"rem\",\r\n Em = \"em\",\r\n Px = \"px\",\r\n Percent = \"%\"\r\n}\r\n\r\nexport interface ISvgIconProps extends PropsWithChildren {\r\n /**\r\n * The size of the icon.\r\n * @default 2.4\r\n */\r\n size?: number;\r\n /**\r\n * if false, the property size represents the width\r\n * if true, the property size represents the height\r\n * @default false\r\n */\r\n sizeIsHeight?: boolean;\r\n /**\r\n * Css unit: rem, em, px, %\r\n * @default rem\r\n */\r\n sizeUnit?: SvgSizeUnit;\r\n /**\r\n * Additional css,\r\n * Do not abuse this prop. You will be punished\r\n */\r\n style?: React.CSSProperties;\r\n /**\r\n * Additional class name for styling, selectors\r\n * Do not abuse this prop. You will be punished\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ISvgIconPrivateProps {\r\n /**\r\n * The aspect ratio of the icon. is expressed by the width divided by the height.\r\n * For example an icon that is 16:9 will have a ratio of 16/9 = 1.(7) ~= 1.78\r\n * Default is 1, square icon\r\n * @default 1\r\n */\r\n ratio?: number;\r\n /**\r\n * Specific svg property\r\n */\r\n viewBox?: string;\r\n /**\r\n * Some icons needs to be flipped on RTL languages, for example left arrow icon (<) must be flipped, and will look like a right arrow icon (>)\r\n */\r\n flipOnRTL?: boolean;\r\n}\r\n\r\nconst Svg = styled.svg<{flipOnRTL?: boolean}>`\r\n ${({flipOnRTL}) => flipOnRTL ? css`\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }`\r\n : null}\r\n`;\r\n\r\nexport class SvgIcon extends React.Component {\r\n render() {\r\n const sizeUnit = this.props.sizeUnit ? this.props.sizeUnit : SvgSizeUnit.Rem;\r\n const defaultSize = sizeUnit === SvgSizeUnit.Px ? 24 : (sizeUnit === SvgSizeUnit.Percent ? 100 : 2.4);\r\n const size = this.props.size ? this.props.size : defaultSize;\r\n const ratio = this.props.ratio ? this.props.ratio : 1;\r\n\r\n const width = this.props.sizeIsHeight ? (size * ratio) : size;\r\n const height = this.props.sizeIsHeight ? size : (size / ratio);\r\n\r\n const viewBox = this.props.viewBox ?? \"0 0 24 24\";\r\n const style = {\r\n display: \"block\",\r\n ...this.props.style\r\n };\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const XCloseButtonBox = styled.button`\r\n cursor: pointer;\r\n background-image: url(\"${props => props.theme.images.closeModalDialog.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`;","import {IArenaViewModel} from \"../../services/arenas/models/arenas/arena-view-model.interface\";\r\nimport React from 'react';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface SwiperWindowComponentProps {\r\n windowPosition: number;\r\n arena: IArenaViewModel;\r\n}\r\n\r\nexport const SwiperWindowComponent: React.FC = observer((props) => {\r\n return props.arena.renderList(props.windowPosition);\r\n});\r\n\r\n\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwiperWindowComponent} from \"../orbit-swiper/swiper-window.component\";\r\nimport {useServices} from \"../../react-hooks/use-services.hook\";\r\nimport {reaction} from \"mobx\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport useIsInViewPort from \"../../react-hooks/use-is-in-viewport.hook\";\r\n\r\ninterface ArenaGamesListsComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const ArenaGamesListsComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n const [listsCount, setListsCount] = useState(0);\r\n const [hasMoreLists, setHasMoreLists] = useState(true);\r\n const intersectionSpyRef = useRef(null);\r\n let isIntersectionSpyInViewport = useIsInViewPort(intersectionSpyRef);\r\n\r\n const arena = services.arenas.getArena(props.arenaName);\r\n\r\n const loadNextBatch = () => {\r\n const nextBatch = arena.getNextBatchSize(listsCount);\r\n if(nextBatch === 0) {\r\n if(hasMoreLists !== false) {\r\n setHasMoreLists(false);\r\n }\r\n } else {\r\n setListsCount(listsCount + nextBatch);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const reactionDispose = reaction(() => services.user.isAuthorized,\r\n () => {\r\n setListsCount(0);\r\n setHasMoreLists(true);\r\n });\r\n\r\n return () => {\r\n reactionDispose();\r\n }\r\n }, [services.user.isAuthorized]);\r\n\r\n useEffect(() => {\r\n\r\n const spyRectangle = intersectionSpyRef.current.getBoundingClientRect();\r\n //spyRectangle.top <= window.innerHeight is here because IntersectionObserver used by useIsInViewPort hook has a delay in detecting that the element is not in the viewport anymore.\r\n if(spyRectangle.top <= window.innerHeight && hasMoreLists && isIntersectionSpyInViewport) {\r\n loadNextBatch();\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n const range = Array.from({length: listsCount}, (x, i) => i + 1);\r\n\r\n return (\r\n\r\n \r\n {range.map(listWindowPosition => ())}\r\n\r\n
\r\n \r\n );\r\n\r\n});\r\n\r\n","import {MutableRefObject, useEffect, useState} from \"react\";\r\n\r\nexport default function useIsInViewPort(ref: MutableRefObject) {\r\n\r\n const [isIntersecting, setIntersecting] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n ([entry]) => setIntersecting(entry.intersectionRatio > 0 || entry.isIntersecting)\r\n );\r\n if(ref.current) {\r\n observer.observe(ref.current);\r\n }\r\n return () => {\r\n try {\r\n observer.disconnect()\r\n } catch (err) {\r\n console.error('Failed to disconnect observer');\r\n }\r\n }\r\n }, [ref]);\r\n\r\n return isIntersecting;\r\n}\r\n","import {LiveCasinoGridItemDefaultBox} from \"./live-casino-grid-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemBox = LiveCasinoGridItemDefaultBox;","import styled, {css} from \"styled-components\";\r\n\r\ninterface ILiveCasinoGridItemDefaultBoxProps {\r\n fluidWidth?: boolean; // when true, don't set the width, let it flow within its parent\r\n}\r\n\r\nexport const LiveCasinoGridItemDefaultBox = styled.div`\r\n box-sizing: border-box;\r\n\r\n /* Prevents CSS Transform flicker */\r\n backface-visibility: hidden;\r\n\r\n ${({fluidWidth}) => !fluidWidth && css`\r\n\r\n width: calc(100% / 5);\r\n padding: 1em 0.5em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: calc(100% / 3);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: calc(100% / 4);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 0.5em 0.25em;\r\n }\r\n `}\r\n`;","import styled from \"styled-components\";\r\n\r\nexport interface LiveCasinoGridItemInfoItemDefaultBoxProps {\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport const LiveCasinoGridItemInfoItemDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n margin: ${props => props.isLiveStreamOverlay ? '0 0.75em 0 0.75em' : '0 1em 0 0'};\r\n color: ${props => props.theme.colors.textLight};\r\n letter-spacing: 0.1rem;\r\n font-size: 1em;\r\n height: 24px;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemSIBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemMrGreenBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\nimport {LiveCasinoGridItemInfoItemSIBox} from \"./live-casino-grid-item-info-item.si.box\";\r\nimport {LiveCasinoGridItemInfoItemMrGreenBox} from \"./live-casino-grid-item-info-item.mrgreen.box\"\r\n\r\nexport const LiveCasinoGridItemInfoItemBox = styledByTheme(LiveCasinoGridItemInfoItemDefaultBox)\r\n .forSI(LiveCasinoGridItemInfoItemSIBox)\r\n .forSICis(LiveCasinoGridItemInfoItemSIBox)\r\n .forMrGreen(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .apply();","import {LiveCasinoGridItemInfobarIconDefaultBox} from \"./live-casino-grid-item-infobar-icon.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconBox = LiveCasinoGridItemInfobarIconDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconDefaultBox = styled(Image)`\r\n margin-right: 0.25em;\r\n`;","import {LiveCasinoGridItemThumbnailImageDefaultBox} from \"./live-casino-grid-item-thumbnail-image.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageBox = LiveCasinoGridItemThumbnailImageDefaultBox;","import styled from \"styled-components\";\r\nimport {ITEM_WRAPPER_BOX} from \"../../css-constants\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageDefaultBox = styled(Image)<{filterBlur?: boolean}>`\r\n width: 100%;\r\n transition: transform 0.25s ease;\r\n ${({filterBlur}) => filterBlur ? 'filter: blur(2px)' : null};\r\n .${ITEM_WRAPPER_BOX}:hover &{\r\n transform: scale(1.2);\r\n }\r\n`;","export const ITEM_WRAPPER_BOX = 'item-wrapper-box';\r\nexport const RED = 'red';\r\nexport const GREEN = 'green';","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemInfobarDefaultBox = styled.div`\r\n display: flex;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n padding: 0.5em 1em;\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.75)};\r\n position: absolute;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: -1px;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarCasino777Box = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.92)};\r\n &::before {\r\n background: transparent linear-gradient(90deg, transparent 0%, ${props => props.theme.colors.background} 33%, ${props => props.theme.colors.background} 69%, transparent 100%) 0% 0% no-repeat padding-box;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarMrGreenBox = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.colors.horizontalLineBackgroundColor, 0.6)};\r\n &::before {\r\n background: none;\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemInfobarCasino777Box } from \"./live-casino-grid-item-infobar.casino777.box\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\nimport {LiveCasinoGridItemInfobarMrGreenBox} from \"./live-casino-grid-item-infobar.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarBox = styledByTheme(LiveCasinoGridItemInfobarDefaultBox)\r\n .forCasino777(LiveCasinoGridItemInfobarCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemInfobarMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalDefaultBox = styled.div`\r\n position: absolute;\r\n top: 1em;\r\n left: 1em;\r\n padding: 0.5em 1em;\r\n line-height: 1;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundDark, 0.75)};\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.1)};\r\n border-radius: 50px;\r\n z-index: 3;\r\n\r\n > span {\r\n font-size: 1.2em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n top: 0.5em;\r\n left: 0.5em;\r\n padding: 0.5em 1em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalCasino777Box = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.colors.background, 0.95)}; /** Color.brandYellow */\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)}; /** Color.sepia */\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalMrGreenBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.brandPrimaryDark};\r\n background: ${hexToRgba(baseColors.base03, 0.80)};\r\n border: 1px solid ${hexToRgba(baseColors.gray033, 0.1)};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalSIBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundLight, 0.98)};\r\n //border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)};\r\n box-shadow: 0px 3px 9px #00000080;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemBetIntervalCasino777Box } from \"./live-casino-grid-item-bet-interval.casino777.box\";\r\nimport { LiveCasinoGridItemBetIntervalMrGreenBox } from \"./live-casino-grid-item-bet-interval.mrgreen.box\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\";\r\nimport {LiveCasinoGridItemBetIntervalSIBox} from \"./live-casino-grid-item-bet-interval.si.box\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalBox = styledByTheme(LiveCasinoGridItemBetIntervalDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetIntervalCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forSI(LiveCasinoGridItemBetIntervalSIBox)\r\n .forSICis(LiveCasinoGridItemBetIntervalSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageDefaultBox = styled.div`\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n display: flex;\r\n position: relative;\r\n flex-direction: column;\r\n flex: 1;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center;\r\n line-height: 1.25;\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.closedMessageBackground, 0.9)};\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n\r\n & > span {\r\n display: block;\r\n width: 100%;\r\n font-size: 1.6em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageCasino777Box = styled(LiveCasinoGridItemClosedMessageDefaultBox)`\r\n &::after {\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.brandSecondaryDark} 33%, ${props => props.theme.colors.brandSecondaryDark} 67%, transparent);\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\nimport {LiveCasinoGridItemClosedMessageCasino777Box} from \"./live-casino-grid-item-closed-message.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageBox = styledByTheme(LiveCasinoGridItemClosedMessageDefaultBox)\r\n .forCasino777(LiveCasinoGridItemClosedMessageCasino777Box)\r\n .apply();\r\n","import {LiveCasinoGridItemThumbnailOverlayDefaultBox} from \"./live-casino-grid-item-thumbnail-overlay.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayBox = LiveCasinoGridItemThumbnailOverlayDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayDefaultBox = styled.div`\r\n display: flex;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n`;","import {LiveCasinoGridItemThumbnailDefaultBox} from \"./live-casino-grid-item-thumbnail.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailBox = LiveCasinoGridItemThumbnailDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 56.25%; // keeps a 16:9 ratio\r\n overflow: hidden;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemWrapperDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n box-shadow: 0 0 5px ${props => props.theme.colors.boxBorderDark};\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperCasino777Box = styled(LiveCasinoGridItemWrapperDefaultBox)`\r\n box-shadow: 0 0 5px ${props => props.theme.colors.background};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\nimport { LiveCasinoGridItemWrapperCasino777Box } from \"./live-casino-grid-item-wrapper.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperBox = styledByTheme(LiveCasinoGridItemWrapperDefaultBox)\r\n .forCasino777(LiveCasinoGridItemWrapperCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemTitleDefaultBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: ${props => props.theme.colors.textLight};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n letter-spacing: 1px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleMrGreenBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n ${props => props.theme.font.presets.light}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleSIBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n font-size: 1.3em;\r\n letter-spacing: 0.48px;\r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemTitleMrGreenBox} from \"./live-casino-grid-item-title.mrgreen.box\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\nimport {LiveCasinoGridItemTitleSIBox} from \"./live-casino-grid-item-title.si.box\";\r\n\r\nexport const LiveCasinoGridItemTitleBox = styledByTheme(LiveCasinoGridItemTitleDefaultBox)\r\n .forMrGreen(LiveCasinoGridItemTitleMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemTitleMrGreenBox)\r\n .forSI(LiveCasinoGridItemTitleSIBox)\r\n .forSICis(LiveCasinoGridItemTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n height: 2em;\r\n padding: 0 1.25em;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: 400;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid;\r\n text-transform: uppercase;\r\n border-radius: 50px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.2em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundDark};\r\n background: ${props => props.theme.colors.brandSecondary};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n background: transparent;\r\n border: none;\r\n font-weight: 300;\r\n line-height: 1;\r\n font-size: 1.1em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemBetBehindButtonDefaultBox } from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonCasino777Box = styled(LiveCasinoGridItemBetBehindButtonDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n background: ${props => props.theme.colors.background};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props => props.theme.colors.backgroundActive};\r\n }\r\n\r\n ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundActive};\r\n }\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemBetBehindButtonDefaultBox} from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\nimport {LiveCasinoGridItemBetBehindButtonCasino777Box} from \"./live-casino-grid-item-bet-behind-button.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindBox = styledByTheme(LiveCasinoGridItemBetBehindButtonDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetBehindButtonCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemJackpotDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n padding: 0 1rem;\r\n align-items: center;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 50px;\r\n font-size: 1.2em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n line-height: 1;\r\n font-size: 1.1em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemJackpotDefaultBox } from \"./live-casino-grid-item-jackpot.default.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotCasino777Box = styled(LiveCasinoGridItemJackpotDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemJackpotDefaultBox} from \"./live-casino-grid-item-jackpot.default.box\";\r\nimport {LiveCasinoGridItemJackpotCasino777Box} from \"./live-casino-grid-item-jackpot.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotBox = styledByTheme(LiveCasinoGridItemJackpotDefaultBox)\r\n .forCasino777(LiveCasinoGridItemJackpotCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemOpenAtBox = styled.div`\r\n width: 100%;\r\n font-size: 2.25em;\r\n font-weight: 700;\r\n`;","import React from \"react\";\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {GameInfo, OpenGameParameters} from '../../../../../app-react/services/games/game-info';\r\nimport {OrbitComponent} from '../../../../../app-react/components/base-components/orbit-component/orbit-component';\r\nimport {ILiveTableInfo} from '../../../../services/live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveCasinoGridItemInfobarBox} from \"./boxes/infobar/live-casino-grid-item-infobar.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"./boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\nimport {LiveCasinoGridItemBetIntervalBox} from \"./boxes/bet-interval/live-casino-grid-item-bet-interval.box\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"./boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemClosedMessageBox} from \"./boxes/closed-message/live-casino-grid-item-closed-message.box\";\r\nimport {LiveCasinoGridItemThumbnailOverlayBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box\";\r\nimport {LiveCasinoGridItemThumbnailBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail.box\";\r\nimport {LiveCasinoGridItemWrapperBox} from \"./boxes/wrapper/live-casino-grid-item-wrapper.box\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {ITEM_WRAPPER_BOX} from \"./css-constants\";\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {LiveCasinoGridItemTitleBox} from \"./boxes/title/live-casino-grid-item-title.box\";\r\nimport {LiveCasinoGridItemBetBehindBox} from \"./boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box\";\r\nimport {LiveCasinoGridItemJackpotBox} from \"./boxes/infobar/jackpot/live-casino-grid-item-jackpot.box\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\nimport {LiveCasinoGridItemOpenAtBox} from \"./boxes/closed-message/live-casino-grid-item-open-at.box\";\r\nimport {TableSeatsComponent} from \"./shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"./shared-components/roulette-draws.component\";\r\nimport { FlexGrowItemBox } from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport interface ILiveCasinoArenaGridItemProps {\r\n tableId: number;\r\n gameInfo: GameInfo;\r\n listTitle: string;\r\n gameIndex: number;\r\n seoCategory: string;\r\n liveTable: ILiveTableInfo;\r\n fluidWidth?: boolean;\r\n captureGameElementRef: (element: any) => void;\r\n}\r\n\r\nexport const LiveCasinoArenaGridItem = observer(\r\n class LiveCasinoArenaGridItem extends OrbitComponent {\r\n\r\n private _openGame = (gameInfo: GameInfo) => {\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: true,\r\n pageName: this.props.seoCategory,\r\n gameIndex: this.props.gameIndex,\r\n listTitle: this.props.listTitle\r\n };\r\n\r\n gameInfo.open(openGameParams);\r\n };\r\n\r\n private _renderMinMaxBet() {\r\n const tableInfo = this.props.liveTable;\r\n let minBet: number;\r\n let maxBet: number;\r\n if(Check.isEmpty(tableInfo) || (tableInfo.MinBet === undefined || tableInfo.MaxBet === undefined)) {\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = tableInfo.MinBet;\r\n maxBet = tableInfo.MaxBet;\r\n }\r\n\r\n if(!minBet || !maxBet){\r\n this.services.logger.info(`format$$$ invalid input for gameType => ${this.props.gameInfo.gameType} ${minBet}-${maxBet}`);\r\n return;\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n this.services.device.isMobile ?\r\n this.services.currency.formatMoney(minBet, true) :\r\n this.services.currency.formatMinMaxBet(minBet, maxBet)\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderDealerName() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n const isMobilePhone = this.services.device.isMobile && !this.services.device.isTablet;\r\n\r\n if (Check.isEmpty(tableInfo) || Check.isNullOrUndefined(tableInfo.Dealer) || tableInfo.Dealer.length === 0 || isMobilePhone) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {tableInfo.Dealer}\r\n \r\n )\r\n }\r\n\r\n private _renderSeatsCount() {\r\n return ;\r\n }\r\n\r\n private _renderRouletteDraws() {\r\n return ;\r\n }\r\n\r\n private _renderJackpot() {\r\n let jpValue = this.services.jackpots.getGameJackpot(this.props.gameInfo.gameType);\r\n if (!Check.isNullOrUndefined(jpValue)) {\r\n return \r\n { this.services.currency.formatMoney(jpValue) }\r\n ;\r\n }\r\n return null;\r\n }\r\n\r\n private _renderBetBehindButton() {\r\n const tableInfo = this.props.liveTable;\r\n let tableIsFull = false;\r\n if (tableInfo.Seats && tableInfo.SeatsTaken) {\r\n tableIsFull = tableInfo.SeatsTaken.length === tableInfo.Seats;\r\n }\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.BetBehind || !tableIsFull) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n Bet behind\r\n \r\n );\r\n }\r\n\r\n private _renderGameInfobar() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderDealerName()}\r\n {this._renderSeatsCount()}\r\n \r\n {this._renderRouletteDraws()}\r\n {this._renderJackpot()}\r\n {this._renderBetBehindButton()}\r\n \r\n );\r\n }\r\n\r\n private _renderGameIsClosed() {\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate(\"LIVE_ARENA_TABLE_IS_CLOSED_MESSAGE\")}\r\n {this.props.liveTable?.OperationHoursStartTime}\r\n \r\n );\r\n }\r\n\r\n private _renderGameThumbnailImage() {\r\n const tableInfo: ILiveTableInfo = this.props.liveTable;\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n let gameTitle: string;\r\n let gameImage: string;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n gameTitle = gameInfo?.title;\r\n gameImage = gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n gameTitle = tableInfo.Name;\r\n\r\n gameImage = addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameThumbnail() {\r\n return (\r\n \r\n {this._renderGameThumbnailImage()}\r\n \r\n {this._renderMinMaxBet()}\r\n {this._renderGameInfobar()}\r\n {this._renderGameIsClosed()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle() {\r\n // Render an empty character so the div doesn't just collapse\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (tableInfo && tableInfo.Name !== undefined && tableInfo.Name.length > 0) {\r\n title = tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderGameItem() {\r\n return (\r\n \r\n this._openGame(this.props.gameInfo)} className={classNames('cy-live-casino-grid-item-inner-wrapper', ITEM_WRAPPER_BOX)}>\r\n {this._renderGameThumbnail()}\r\n {this._renderGameTitle()}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n try {\r\n return this._renderGameItem();\r\n } catch(err) {\r\n this.services.logger.error(`Failed to render LiveCasinoArenaGridItem for game ${this.props.gameInfo && this.props.gameInfo.gameType}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridDefaultBox = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n padding: 2em;\r\n font-size: 1rem;\r\n position: relative;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0.25em;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasino777Box = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: block;\r\n opacity:1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\nimport { LiveCasinoGridDefaultBox } from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasinoSICisBox = styled(LiveCasinoGridDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridMrGreenBox = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\nimport {LiveCasinoGridCasino777Box} from \"./live-casino-grid.casino777.box\";\r\nimport { LiveCasinoGridCasinoSICisBox } from \"./live-casino-grid.siCis.box\";\r\nimport {LiveCasinoGridMrGreenBox} from \"./live-casino-grid.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridBox = styledByTheme(LiveCasinoGridDefaultBox)\r\n .forCasino777(LiveCasinoGridCasino777Box)\r\n .forSICis(LiveCasinoGridCasinoSICisBox)\r\n .forMrGreen(LiveCasinoGridMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonBox = styled.div`\r\n padding-top: 56.25%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonTitleBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: rgba(0, 0, 0, 0);;\r\n overflow: hidden;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n 50% {\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n 100% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n`;","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {LiveCasinoGridBox} from \"./boxes/grid/live-casino-grid.box\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {LiveCasinoArenaGridItem} from './live-casino-arena-grid-item.component';\r\nimport {LiveCasinoGridItemSkeletonBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton.box\";\r\nimport {LiveCasinoGridItemSkeletonTitleBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box\";\r\nimport {LiveCasinoGridItemSkeletonWrapperBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box\";\r\nimport {LiveCasinoPromotionalBannerConfiguration} from '../../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {BannerComponent} from \"../../../banner/banner.component\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\nexport interface ILiveCasinoArenaGridProps {\r\n seoCategory: string;\r\n useAISortedList: boolean;\r\n promotionalBannerConfig?: LiveCasinoPromotionalBannerConfiguration;\r\n}\r\n\r\n@observer\r\nexport class LiveCasinoArenaGrid extends OrbitComponent {\r\n private _gameElementRef: HTMLDivElement | null = null;\r\n private _gridElementRef: HTMLDivElement | null = null;\r\n\r\n constructor(props: ILiveCasinoArenaGridProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get liveTabConfigs(): LiveTableTabConfiguration | null {\r\n return this.services.liveTableFeeds.currentArenaTabConfiguration;\r\n }\r\n\r\n @observable.ref\r\n private _cmsBannerPosition: number = 0;\r\n\r\n @observable.ref\r\n private _numberOfGamesPerRow: number = 0;\r\n\r\n private _numberOfGames: number = 0;\r\n\r\n private _captureGameElementRef = (gameElement: HTMLDivElement | null) => {\r\n this._gameElementRef = gameElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n private _captureGridElementRef = (gridElement: HTMLDivElement | null) => {\r\n this._gridElementRef = gridElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n @action.bound\r\n private _setCMSBannerPosition() {\r\n let cmsBannerPositionFromConfig = this._numberOfGamesPerRow * this.props?.promotionalBannerConfig?.displayRowPlace;\r\n this._cmsBannerPosition = this._numberOfGames > cmsBannerPositionFromConfig ? cmsBannerPositionFromConfig : this._numberOfGames;\r\n }\r\n\r\n private _computeNumberOfGamesInARow() {\r\n\r\n if (!this._gridElementRef || !this._gameElementRef) return;\r\n\r\n try {\r\n this._numberOfGamesPerRow = Math.round(Number(this._gridElementRef[\"offsetWidth\"]) / Number(this._gameElementRef[\"offsetWidth\"]));\r\n this._setCMSBannerPosition();\r\n } catch (error) {\r\n this.services.logger.error(\"Failed to compute number of live games in a row\", error);\r\n }\r\n }\r\n\r\n\r\n private _renderPromotionalBanner() {\r\n\r\n if (Check.isNullOrUndefined(this.props.promotionalBannerConfig)) return null;\r\n\r\n let promotionalBanner = this.liveTabConfigs?.headerConfiguration?.banners?.promotionalBanner;\r\n if (!promotionalBanner) {\r\n promotionalBanner = this.props.promotionalBannerConfig;\r\n }\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderGridSkeleton() {\r\n\r\n let skeletons = [];\r\n\r\n for (var i = 0; i < 12; i++) {\r\n skeletons.push(\r\n \r\n \r\n \r\n Loading\r\n \r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGridItem(tableId: number, gameIndex: number, key: number) {\r\n\r\n let listTitle = this.services.liveTableFeeds.currentArenaTabConfiguration?.gridConfiguration.title;\r\n\r\n //this if is a duplicate with the one in live-casino-arena-navbar-button.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n if (this.services.user.isAuthorized && listTitle === \"TOP_EVO_GAMES\") {\r\n listTitle = \"FOR_YOU_GAMES\";\r\n }\r\n const shouldRenderPromoBanner = gameIndex === (this._cmsBannerPosition - 1);\r\n\r\n return (\r\n \r\n \r\n {\r\n shouldRenderPromoBanner && this._renderPromotionalBanner()\r\n }\r\n \r\n );\r\n }\r\n\r\n private _renderGames() {\r\n\r\n let gameIds: number[] = [];\r\n\r\n\r\n if (this.liveTabConfigs) {\r\n gameIds = this.services.liveTableFeeds.getLiveGames();\r\n }\r\n\r\n if (gameIds.length === 0) {\r\n return this._renderGridSkeleton();\r\n } else {\r\n this._numberOfGames = gameIds.length;\r\n return gameIds.map((tableId, gameIndex) => this._renderGridItem(tableId, gameIndex, tableId));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [\r\n this.services.device.os.isPC,\r\n this.services.device.isTablet,\r\n this.services.device.isMobile\r\n ], () => this._setCMSBannerPosition(), {fireImmediately: true});\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderGames()}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {DrawsDefaultBox} from \"./live-casino-grid-item-draws.defatult.box\";\r\n\r\nexport const LiveCasinoGridItemDrawsBox = DrawsDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const DrawsDefaultBox = styled.div`\r\n display: flex;\r\n`;","import styled from \"styled-components\";\r\nimport {RED} from '../../../css-constants';\r\n\r\ninterface LiveCasinoGridItemDrawDefaultBoxProps {\r\n drawColor: string;\r\n}\r\n\r\nexport const LiveCasinoGridItemDrawDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 1.8em;\r\n height: 1.8em;\r\n font-size: 1.2em;\r\n font-weight: 900;\r\n border-radius: 2px;\r\n\r\n color: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n\r\n &:first-child {\r\n\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textLight : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {GREEN, RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawCasino777Box = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props =>props.theme.colors.backgroundContrast};\r\n }\r\n\r\n &.${RED} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground};\r\n }\r\n }\r\n\r\n &.${GREEN} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawMrGreenBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n return theme.colors.textContrast;\r\n }};\r\n\r\n &:first-child {\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textContrast : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textContrast;\r\n }};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSIBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemDrawDefaultBox } from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSICisBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.moneyColor};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {LiveCasinoGridItemDrawCasino777Box} from \"./live-casino-grid-item-draw.casino777.box\";\r\nimport {LiveCasinoGridItemDrawMrGreenBox} from \"./live-casino-grid-item-draw.mrgreen.box\";\r\nimport {LiveCasinoGridItemDrawSIBox} from \"./live-casino-grid-item-draw.si.box\";\r\nimport { LiveCasinoGridItemDrawSICisBox } from \"./live-casino-grid-item-draw.siCis.box\";\r\n\r\nexport const LiveCasinoGridItemDrawBox = styledByTheme(LiveCasinoGridItemDrawDefaultBox)\r\n .forCasino777(LiveCasinoGridItemDrawCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemDrawMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemDrawMrGreenBox)\r\n .forSI(LiveCasinoGridItemDrawSIBox)\r\n .forSICis(LiveCasinoGridItemDrawSICisBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {GREEN, RED} from \"../css-constants\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemDrawsBox} from \"../boxes/infobar/draws/live-casino-grid-item-draws.box\";\r\nimport {LiveCasinoGridItemDrawBox} from \"../boxes/infobar/draws/live-casino-grid-item-draw.box\";\r\n\r\ninterface IRouletteDrawsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n}\r\n\r\nconst ROULETTE_NUMBERS_MAP = {\r\n red: [\r\n \"1\", \"3\", \"5\", \"7\", \"9\", \"12\",\r\n \"14\", \"16\", \"18\", \"19\", \"21\", \"23\",\r\n \"25\", \"27\", \"30\", \"32\", \"34\", \"36\"\r\n ],\r\n green: [\"0\", \"00\"]\r\n // Black numbers are implied by default, no need to map them\r\n};\r\n\r\nexport class RouletteDrawsComponent extends OrbitComponent {\r\n\r\n private _getDrawColor(drawValue: string): string {\r\n\r\n if (ROULETTE_NUMBERS_MAP.red.includes(drawValue)) {\r\n return RED;\r\n } else if (ROULETTE_NUMBERS_MAP.green.includes(drawValue)) {\r\n return GREEN;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.BetBehind || !this.props.tableInfo.RouletteLast5Numbers || this.props.tableInfo.RouletteLast5Numbers.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.tableInfo.RouletteLast5Numbers.map((drawValue, i) =>\r\n \r\n {drawValue}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"../boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"../boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\n\r\nexport interface ITableSeatsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport class TableSeatsComponent extends OrbitComponent {\r\n\r\n private _isTableFull() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return this.props.tableInfo.SeatsTaken.length === this.props.tableInfo.Seats;\r\n } else {\r\n return this.props.tableInfo.Players === this.props.tableInfo.Seats;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _getTableIsFullText() {\r\n return this._isTableFull() ? this.services.translation.translate(this._getTableIsFullTranslationKey()) : this._getPlayersCountFormated();\r\n }\r\n\r\n private _getTableIsFullTranslationKey() {\r\n return this.services.device.isMobile ? \"LIVE_CASINO_TABLE_FULL_MOBILE\" : \"LIVE_CASINO_TABLE_FULL_PC\";\r\n }\r\n\r\n private _getSeatsIconSource() {\r\n return this._isTableFull()\r\n ? this.services.theme.currentTheme.images.liveArena.fullSeatIcon.toString()\r\n : this.services.theme.currentTheme.images.liveArena.seatIcon.toString();\r\n }\r\n\r\n private _getPlayersCountFormated() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return `${this.props.tableInfo.SeatsTaken.length}/${this.props.tableInfo.Seats}`;\r\n } else {\r\n return `${this.props.tableInfo.Players}/${this.props.tableInfo.Seats}`;\r\n }\r\n }\r\n\r\n return this.props.tableInfo.Players;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.Players === undefined) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._getTableIsFullText()}\r\n \r\n );\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoFilterButtonsDefaultBox = styled.div`\r\n display: inline-flex;\r\n align-items: flex-start;\r\n justify-content: center;\r\n z-index: 5;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width:100%;\r\n margin: 0;\r\n padding: 1px;\r\n font-size: 0.725rem;\r\n border-left: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n\r\n .sticky-navbar & {\r\n background: ${props => props.theme.colors.backgroundDark};\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {LiveCasinoFilterButtonsDefaultBox} from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasino777Box = styled(LiveCasinoFilterButtonsDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border: none;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasinoSICisBox = styled(LiveCasinoFilterButtonsDefaultBox)` \r\n border-left: none;\r\n border-right: none; \r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\nimport { LiveCasinoFilterButtonsCasino777Box } from \"./live-casino-filter-buttons.casino777.box\";\r\nimport { LiveCasinoFilterButtonsCasinoSICisBox } from \"./live-casino-filter-buttons.siCis.box\";\r\n\r\nexport const LiveCasinoFilterButtonsBox = styledByTheme(LiveCasinoFilterButtonsDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonsCasino777Box)\r\n .forSICis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .forMrGreenCis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .apply();","import styled from 'styled-components';\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport { CssRule } from \"../../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: inline-block;\r\n margin: 0 auto;\r\n`;\r\n\r\nconst PCBox = DefaultBox;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n ${CssRule.For.mobile.landscape.build()} &, ${CssRule.For.ipad.build()} & {\r\n width:100%;\r\n }\r\n`;\r\n\r\nexport const LiveCasinoNavbarScrollDefaultBox = styledByDevice(PCBox, MobileBox);","import {LiveCasinoNavbarScrollDefaultBox} from \"./live-casino-navbar-scroll.default.box\";\r\n\r\nexport const LiveCasinoNavbarScrollBox = LiveCasinoNavbarScrollDefaultBox;","import {LiveCasinoNavbarOverflowDefaultBox} from \"./live-casino-navbar-overflow.default.box\";\r\n\r\nexport const LiveCasinoNavbarOverflowBox =LiveCasinoNavbarOverflowDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoNavbarOverflowDefaultBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n overflow-y: hidden;\r\n overflow-x: scroll;\r\n\r\n // Hides the scrollbar\r\n scrollbar-width: none; //Firefox\r\n &::-webkit-scrollbar {\r\n display: none;\r\n width: 0;\r\n height: 0;\r\n } // Chrome & Safari\r\n`;","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoNavbarDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n background: ${props => props.theme.colors.background};\r\n font-size: 1rem;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1) + \"px\"};\r\n z-index: 100;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 0.85rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCipBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCasino777Box = styled(LiveCasinoNavbarDefaultBox)`\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/casino888/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarCisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.gray043};\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarDefaultBox } from \"./live-casino-navbar.default.box\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarSICisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.base07};\r\n border-bottom: none;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoNavbarMrGreenBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background-color: ${baseColors.gray033};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarCipBox } from \"./live-casino-navbar.cip.box\";\r\n\r\nexport const LiveCasinoNavbarMrGreenCisBox = styled(LiveCasinoNavbarCipBox)`\r\n border-bottom: none;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoNavbarCipBox} from \"./live-casino-navbar.cip.box\";\r\nimport {LiveCasinoNavbarCasino777Box} from \"./live-casino-navbar.casino777.box\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {LiveCasinoNavbarCisBox} from \"./live-casino-navbar.cis.box\";\r\nimport { LiveCasinoNavbarSICisBox } from \"./live-casino-navbar.siCis.box\";\r\nimport {LiveCasinoNavbarMrGreenBox} from \"./live-casino-navbar.mrgreen.box\";\r\nimport { LiveCasinoNavbarMrGreenCisBox } from \"./live-casino.navbar.mrgreenCis.box\";\r\n\r\nexport const LiveCasinoNavbarBox = styledByTheme(LiveCasinoNavbarDefaultBox)\r\n .forCip(LiveCasinoNavbarCipBox)\r\n .forCis(LiveCasinoNavbarCisBox)\r\n .forSICis(LiveCasinoNavbarSICisBox)\r\n .forWsopCip(LiveCasinoNavbarCipBox)\r\n .forCasino777(LiveCasinoNavbarCasino777Box)\r\n .forMrGreen(LiveCasinoNavbarMrGreenBox)\r\n .forMrGreenCis(LiveCasinoNavbarMrGreenCisBox)\r\n .apply();\r\n","import styled from 'styled-components';\r\n\r\ninterface ButtonsActiveIndicatorBoxProps {\r\n activeIndicatorWidth: number;\r\n activeIndicatorPosition: number;\r\n}\r\n\r\nexport const ButtonsActiveIndicatorDefaultBox = styled.div`\r\n margin: -2.5em 0 0 0;\r\n height: 4em;\r\n background: url(\"${props => props.theme.images.liveArena.activeIndicatorBg.toString()}\") center center / 100% 100% no-repeat;\r\n transition: width 0.25s ease, transform 0.25s ease;\r\n width: ${props => props.activeIndicatorWidth}px;\r\n transform: translateX(${props => props.activeIndicatorPosition}px);\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonsActiveIndicatorDefaultBox} from \"./buttons-active-indicator.default.box\";\r\n\r\nexport const ButtonsActiveIndicatorSIBox = styled(ButtonsActiveIndicatorDefaultBox)`\r\n background: none;\r\n width: 0;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonsActiveIndicatorDefaultBox} from \"./buttons-active-indicator.default.box\";\r\nimport {ButtonsActiveIndicatorSIBox} from \"./buttons-active-indicator.si.box\";\r\n\r\nexport const ButtonsActiveIndicatorBox = styledByTheme(ButtonsActiveIndicatorDefaultBox)\r\n .forSI(ButtonsActiveIndicatorSIBox)\r\n .forSICis(ButtonsActiveIndicatorSIBox)\r\n .forMrGreen(ButtonsActiveIndicatorSIBox)\r\n .apply();","import React, {RefObject} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport classNames from \"classnames\";\r\nimport {DomEventSubscription} from \"../../../../../utils/event-listener-registration\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {IStickyHandler} from \"../../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoFilterButtonsBox} from \"./boxes/live-casino-filter-buttons/live-casino-filter-buttons.box\";\r\nimport {LiveCasinoNavbarScrollBox} from \"./boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.box\";\r\nimport {LiveCasinoNavbarOverflowBox} from \"./boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.box\";\r\nimport {STICKY_NAVBAR} from \"./css-constants\";\r\nimport {LiveCasinoNavbarBox} from \"./boxes/live-casino-navbar/live-casino-navbar.box\";\r\nimport {ButtonsActiveIndicatorBox} from \"./boxes/buttons-active-indicator/buttons-active-indicator.box\";\r\nimport {LiveCasinoArenaNavbarButtonProps} from \"./live-casino-arena-navbar-button.component\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\ninterface ICasinoLiveArenaNavbarProps {\r\n configs: LiveTableTabConfiguration[];\r\n stickyHandler: IStickyHandler;\r\n FilterButtonComponent: React.ComponentType;\r\n}\r\n\r\ninterface ICasinoLiveArenaNavbarState {\r\n activeButton: HTMLElement | null;\r\n activeIndicator: {\r\n width: number;\r\n position: number;\r\n };\r\n}\r\n\r\nexport const LiveCasinoArenaNavbar = observer(class LiveCasinoArenaNavbar extends OrbitComponentWithState<\r\n ICasinoLiveArenaNavbarProps,\r\n ICasinoLiveArenaNavbarState\r\n > {\r\n private navbarRef = React.createRef();\r\n private buttonsRefs: Record> = {};\r\n private scrollContainerRef = React.createRef();\r\n\r\n private _scrollEventHandler: DomEventSubscription | null = null;\r\n private _resizeEventHandler: DomEventSubscription | null = null;\r\n\r\n constructor(props: ICasinoLiveArenaNavbarProps) {\r\n super(props);\r\n\r\n this.state = {\r\n activeButton: null,\r\n activeIndicator: {\r\n width: 0,\r\n position: 0,\r\n }\r\n };\r\n\r\n // Create a ref for each category button\r\n this.buttonsRefs = this.props.configs.toDictionary(config => config.headerConfiguration.filter, () => React.createRef())\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n\r\n if (!this.services.device.isMobile) {\r\n this._updateActiveIndicatorPosition();\r\n\r\n this._resizeEventHandler = this.services.window.subscribeTo.resize(\r\n this._updateActiveIndicatorPosition\r\n );\r\n\r\n this.reaction(() => this.services.liveTableFeeds.currentArenaTabConfiguration, () => {\r\n this._updateActiveIndicatorPosition();\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._resizeEventHandler && this._resizeEventHandler.dispose();\r\n this._scrollEventHandler && this._scrollEventHandler.dispose();\r\n this.props.stickyHandler && this.props.stickyHandler.dispose();\r\n }\r\n\r\n private _renderActiveIndicator() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onFilterClicked = async (tabId: string) => {\r\n await this.services.liveTableFeeds.setCurrentArenaTab(tabId);\r\n };\r\n\r\n\r\n\r\n private _updateActiveIndicatorPosition = () => {\r\n const activeButton = this.buttonsRefs[this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter]?.current;\r\n const scrollContainer = this.scrollContainerRef.current;\r\n\r\n // Use this width offset to make the active indicator larger than the actual button\r\n const widthOffset = 100;\r\n\r\n if (scrollContainer && activeButton) {\r\n this.setState({\r\n activeIndicator: {\r\n width: activeButton.offsetWidth + widthOffset,\r\n position:\r\n activeButton.getBoundingClientRect().left -\r\n widthOffset / 2 -\r\n scrollContainer.getBoundingClientRect().left,\r\n },\r\n });\r\n }\r\n };\r\n\r\n\r\n\r\n render() {\r\n const FilterButtonComponent = this.props.FilterButtonComponent || React.Fragment;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.props.configs.map((tabConfig) => {\r\n return (\r\n tabConfig.gridConfiguration.gamesId.length === 0 ? null :\r\n await this._onFilterClicked(tabConfig.headerConfiguration.filter)}\r\n buttonLabelRef={this.buttonsRefs[tabConfig.headerConfiguration.filter]}\r\n seoPage={tabConfig.headerConfiguration.seoPage}\r\n isActiveTab={tabConfig.headerConfiguration?.filter?.toLowerCase() === this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter?.toLowerCase()}\r\n />\r\n );\r\n\r\n })}\r\n \r\n {this._renderActiveIndicator()}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});\r\n","export const STICKY_NAVBAR = 'sticky-navbar';\r\n","import styled from \"styled-components\";\r\nimport {LOBBY_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport const SeoBreadcrumbsContainerBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin-top: 55px;\r\n }\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SeoSectionConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {CmsBannerComponent} from '../../cms-banner/cms-banner.component';\r\nimport {SeoBreadcrumbsContainerBox} from \"./seo-breadcrumbs-container.box\";\r\n\r\nexport interface SeoBreadCrumbsComponentProps {\r\n arenaName: string;\r\n config: SeoSectionConfiguration;\r\n}\r\n\r\nexport class SeoBreadCrumbsComponent extends OrbitComponent {\r\n render() {\r\n if(!this.props.config.display || this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport styled, { AnyStyledComponent } from 'styled-components';\r\nimport { BalanceType } from '../../../common/const/wallet_balance_type';\r\nimport { OrbitComponent } from \"../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IBalanceValueProps {\r\n balanceType?: BalanceType;\r\n className?: string;\r\n WrapperComponent?: AnyStyledComponent;\r\n}\r\n\r\nexport const BalanceValue = observer(class BalanceValue extends OrbitComponent {\r\n static defaultProps: Partial = {\r\n balanceType: BalanceType.BOTH,\r\n WrapperComponent: styled.span`\r\n color: ${props => props.theme.colors.moneyColor};\r\n `\r\n };\r\n render() {\r\n let bankroll = this.services.walletProxy.bankroll[this.props.balanceType!];\r\n const balanceMaxChars = 15;\r\n // Bankroll length limited by 15 chars\r\n const numberIndex = bankroll.search(/[0-9]/g);\r\n const symbolIndex = bankroll.search(/[^0-9.,]/g);\r\n let balance: string;\r\n\r\n if (numberIndex > symbolIndex) {\r\n balance = bankroll.slice(numberIndex, numberIndex + balanceMaxChars);\r\n bankroll = bankroll.slice(symbolIndex, numberIndex) + balance;\r\n } else {\r\n balance = bankroll.slice(numberIndex, Math.min(balanceMaxChars, symbolIndex - numberIndex));\r\n bankroll = balance + bankroll.slice(symbolIndex);\r\n }\r\n\r\n let WrapperComponent = this.props.WrapperComponent!;\r\n return \r\n { bankroll }\r\n ;\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst AdminBannerBoxPC = styled.div`\r\n margin-bottom: 3rem;\r\n`;\r\n\r\nconst AdminBannerBoxMobile = styled.div`\r\n margin-bottom: 3rem;\r\n`;\r\n\r\nexport const AdminBannerBox = styledByDevice(AdminBannerBoxPC, AdminBannerBoxMobile);","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {AdminBannerBox} from \"./boxes/admin-banner-wrapper.box\";\r\n\r\n\r\ndeclare global {\r\n namespace JSX {\r\n interface IntrinsicElements {\r\n \"banner-slider\": any;\r\n }\r\n }\r\n}\r\n\r\nexport interface AdminBannerComponentProps {\r\n bannerAdminPlaceholderId: string;\r\n}\r\n\r\n\r\nexport class AdminBannerComponent extends OrbitComponent {\r\n render() {\r\n const bannerSegmentation = JSON.stringify(this.services.adminBanner.getSegmentationsForAdminBanner());\r\n const bannerConfig = JSON.stringify(this.services.adminBanner.getConfigForAdminBanner(this.props.bannerAdminPlaceholderId));\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {CmsBannerComponent, CmsBannerComponentProps} from \"../cms-banner/cms-banner.component\";\r\nimport {AdminBannerComponent, AdminBannerComponentProps} from \"../admin-banner/admin-banner.component\";\r\nimport * as React from \"react\";\r\n\r\nexport interface BannerComponentProps extends CmsBannerComponentProps, AdminBannerComponentProps {\r\n}\r\n\r\nexport class BannerComponent extends OrbitComponent {\r\n\r\n _shouldUseAdminBanner(): boolean {\r\n return this.services.adminBanner.adminBannerEnabled;\r\n }\r\n\r\n render() {\r\n return this._shouldUseAdminBanner() ? : ;\r\n }\r\n}","import React, {PropsWithChildren, Suspense} from \"react\";\r\n\r\nexport class OrbitSuspense extends React.Component {\r\n render() {\r\n return
}>\r\n {this.props.children}\r\n \r\n }\r\n}\r\n","import {OrbitComponent} from '../orbit-component/orbit-component';\r\n\r\nexport class RoutedComponent extends OrbitComponent {\r\n}\r\n","export const HYBRID_EMBEDDED_NAV_MENU = 'hybrid-embedded-nav-menu';//don't delete it - we need it to get the height for the hybrid embedded","export enum AnimationDismissType {\r\n FloatingButton = 1,\r\n FadeOut = 2\r\n}\r\nexport const FADE_OUT_DURATION_IN_SECONDS = 1;\r\nexport const FLOATING_BUTTON_DURATION_IN_SECONDS = 0.8;\r\nexport const TEXT_TRANSITION_DURATION_IN_SECONDS = 0.3;\r\nexport const FAB_DISAPPEAR_DURATION_IN_SECONDS = 2;\r\n\r\n/* The native frame width as it was made by the designer. Intrinsic size of the png image. We agreed for a frame of 600px wide and 1000px tall */\r\nexport const NATIVE_ANIMATION_FRAME_WIDTH = 600;\r\n","import styled, { css } from \"styled-components\"\r\nimport { AnimationDismissType, FADE_OUT_DURATION_IN_SECONDS, FLOATING_BUTTON_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface IBurnoutAnimationContainerProps {\r\n animationEnded: boolean;\r\n dismissType: AnimationDismissType;\r\n viewportHeight: number;\r\n zIndex: number;\r\n}\r\n\r\nexport const BurnoutAnimationContainer = styled.div`\r\n /* Position the container in the viewport, covering all visible area from top to bottom */\r\n position: fixed;\r\n top: 0;\r\n height: ${({viewportHeight}) => viewportHeight}px;\r\n /* it should be as wide as it can but no wider than 800px or the height of the viewport whichever is smaller\r\n Why no wider than 100vh? Because on very wide landscape screens (landscape mobile phones for example)\r\n we want to contain the animation in a square of the size equal to the height of the screen, any bigger, it will cut top and bottom part */\r\n width: 100%;\r\n max-width: min(${({viewportHeight}) => viewportHeight}px, 100vh, 800px);\r\n /* Horizontal alignment in viewport with right and transform */\r\n right: 50%;\r\n transform: translateX(50%);\r\n /* A big z-index, to make sure it's above everything */\r\n z-index: ${({zIndex}) => zIndex};\r\n /* Allow clicks to go through the animation elements so that the user can control the gameplay for example */\r\n pointer-events: none;\r\n /* overflow: hidden; */\r\n opacity: 1;\r\n ${({animationEnded, dismissType}) => animationEnded ? (\r\n dismissType === AnimationDismissType.FadeOut ? css`\r\n transition: opacity ${FADE_OUT_DURATION_IN_SECONDS}s;\r\n opacity: 0;\r\n ` : css`\r\n transition: height ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, width ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, max-width ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, top ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, right ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, border-radius ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, opacity ${FLOATING_BUTTON_DURATION_IN_SECONDS}s;\r\n height: 60px;\r\n width: 60px;\r\n max-width: 60px;\r\n overflow: hidden;\r\n top: 75px;\r\n right: 60px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n right: 40px;\r\n }\r\n border-radius: 50%;\r\n pointer-events: auto;\r\n opacity: 0.91;\r\n `\r\n ) : ''};\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\"\r\nimport { AnimationDismissType, FLOATING_BUTTON_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface IBurnoutAnimationBoxProps {\r\n animationEnded: boolean;\r\n dismissType: AnimationDismissType;\r\n}\r\n\r\nexport const BurnoutAnimationBox = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n transform: translateY(-70%);\r\n ${({animationEnded, theme}) => animationEnded ? css`\r\n background-image: url(${theme.images.burnoutAnimation.lastFrame.toString()});\r\n background-position: 0 0;\r\n background-size: 100% 100%;\r\n ` : \"\"}\r\n\r\n /* Aspect ratio. 1000 / 600 = 1.(6) => In percentage 166.(6)% */\r\n height: 0;\r\n padding-top: calc(166.66667%);\r\n ${({animationEnded, dismissType}) => (animationEnded && dismissType === AnimationDismissType.FloatingButton) ? css`\r\n transition: transform ${FLOATING_BUTTON_DURATION_IN_SECONDS}s;\r\n transform: translateY(-90%) scale(2);\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n transform: translate(-3%, -100%) scale(2.5);\r\n }\r\n ` : \"\"}\r\n`;\r\n","import styled from \"styled-components\"\r\nimport { NATIVE_ANIMATION_FRAME_WIDTH, TEXT_TRANSITION_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface ICongratulationsTextBoxProps {\r\n animationWidth: number;\r\n show: boolean;\r\n}\r\nexport const CongratulationsTextBox = styled.div`\r\n position: absolute;\r\n z-index: 2;\r\n width: 100%;\r\n top: 66%;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n -webkit-text-stroke: 2px ${({theme}) => theme.colors.backgroundLight};\r\n ${({theme}) => theme.font.presets.ultra};\r\n\r\n font-size: ${({animationWidth}) => animationWidth * 33 / NATIVE_ANIMATION_FRAME_WIDTH}px;\r\n line-height: 1.1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: ${({animationWidth}) => animationWidth * 39 / NATIVE_ANIMATION_FRAME_WIDTH}px;\r\n letter-spacing: -0.5px;\r\n }\r\n\r\n transition: opacity ${TEXT_TRANSITION_DURATION_IN_SECONDS}s, transform ${TEXT_TRANSITION_DURATION_IN_SECONDS}s;\r\n opacity: ${({show}) => show ? 1 : 0};\r\n transform: scale(${({show}) => show ? 1 : 0.25});\r\n`;\r\n","import {DisposableObject} from \"../../../../utils/disposable-object\";\r\n\r\nexport class DisposableBurnoutAnimationDependencies extends DisposableObject {\r\n public addTimeout(handler: () => void, timeout?: number) {\r\n return super.addTimeout(handler, timeout)\r\n }\r\n}","import React from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport { AnimationDismissType, FADE_OUT_DURATION_IN_SECONDS, FLOATING_BUTTON_DURATION_IN_SECONDS, NATIVE_ANIMATION_FRAME_WIDTH } from \"./burnout-animation-constants\";\r\nimport { BurnoutAnimationContainer } from \"./boxes/burnout-animation-container.box\";\r\nimport { BurnoutAnimationBox } from \"./boxes/burnout-animation.box\";\r\nimport { CongratulationsTextBox } from \"./boxes/burnout-animation-text.box\";\r\nimport { TrackEntry } from \"../../../services/pixi-app/pixi-app.service.interface\";\r\nimport { imagePreload } from \"../../../../common/utils/image-preload\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"../../../services/pixi-app/pixi-spine-animation\";\r\nimport {DisposableBurnoutAnimationDependencies} from \"./disposable-burnout-dependencies\";\r\n\r\nconst ExitAnimationDurationByDismissType = {\r\n [AnimationDismissType.FadeOut]: FADE_OUT_DURATION_IN_SECONDS,\r\n [AnimationDismissType.FloatingButton]: FLOATING_BUTTON_DURATION_IN_SECONDS\r\n};\r\n\r\ninterface IBurnoutAnimationProps {\r\n zIndex: number;\r\n getExitAnimation(): AnimationDismissType;\r\n onExitAnimationEnd(exitAnimationType: AnimationDismissType): void;\r\n paused?: boolean;\r\n}\r\n\r\n@observer\r\nexport class BurnoutAnimation extends OrbitComponent {\r\n /* Sometimes the last frame iamge is loaded again at the end of the animation.\r\n My supposition is that when the preloaded image is not used immediately the browser assumes it will not be used so it unloads it.\r\n So I keep the reference to the image tag so the garbage collecter will not dispose the image.\r\n Apparently it works */\r\n private lastFrameCache: HTMLImageElement | null = null;\r\n\r\n private pixiBurnoutAnimation: PixiSpineAnimation;\r\n private disposableDependencies: DisposableBurnoutAnimationDependencies = new DisposableBurnoutAnimationDependencies();\r\n\r\n constructor(props: IBurnoutAnimationProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n\r\n this._viewportHeight = window.innerHeight;\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n this.pixiBurnoutAnimation = this.createAnimation();\r\n if (!this.props.paused) {\r\n this.startAnimation();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: IBurnoutAnimationProps) {\r\n\r\n if (this.props.paused !== prevProps.paused) {\r\n if (!this.props.paused) {\r\n this.startAnimation();\r\n } else {\r\n if (this._onPauseHandler) {\r\n this._onPauseHandler(!!this.props.paused);\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.lastFrameCache = null;\r\n this._onPauseHandler = null;\r\n this.disposableDependencies.dispose();\r\n this.pixiBurnoutAnimation.dispose();\r\n }\r\n\r\n @observable.ref\r\n private _dismissType = AnimationDismissType.FadeOut;\r\n @observable.ref\r\n private _hasAnimationEnded = false;\r\n @observable.ref\r\n private _showCongratsText = false;\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _animationWidth = NATIVE_ANIMATION_FRAME_WIDTH;\r\n /* In mobile, i cannot use 100vh in css because it does not consider the browser chrome (tool bar and address bars and such).\r\n So I have to do this horrible hack, I take the height from JS */\r\n private _viewportHeight = NATIVE_ANIMATION_FRAME_WIDTH;\r\n\r\n private _onPauseHandler: ((pause: boolean) => void) | null = null;\r\n\r\n private async startAnimation() {\r\n if (this.pixiBurnoutAnimation.status === AnimationStatus.Loading || this.pixiBurnoutAnimation.status === AnimationStatus.Running) {\r\n return;\r\n }\r\n this.pixiBurnoutAnimation.start();\r\n this.pixiBurnoutAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private createAnimation() {\r\n return new PixiSpineAnimation(this.services, {\r\n width: 600, height: 1000, force2DCanvasContext: true\r\n }, [{\r\n name: 'burnoutAnimationResource',\r\n jsonUrl: this.services.theme.currentTheme.images.burnoutAnimation.pixiJson.toString()\r\n }], {\r\n render: ({spineAnimations}) => {\r\n\r\n /* Animation assets are all loaded and we can play, but before that we should also preload the last frame image to avoid flicker at the end of animation */\r\n imagePreload(this.services.theme.currentTheme.images.burnoutAnimation.lastFrame.toString()).then((response) => {\r\n this.lastFrameCache = response.imageObj;\r\n });\r\n\r\n let currentAnimationTrackEntry: TrackEntry | null;\r\n\r\n this._onPauseHandler = (pause: boolean) => {\r\n // spineAnimation.autoUpdate = !pause;\r\n if (currentAnimationTrackEntry) {\r\n currentAnimationTrackEntry.timeScale = pause ? 0 : 1;\r\n }\r\n }\r\n\r\n let spineAnimation = spineAnimations['burnoutAnimationResource'];\r\n // play animation\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"1-zoom\", false);\r\n spineAnimation.state.addAnimation(0, \"2-static_close\", false, 0.3);\r\n const spineAnimationTrackEntry3 = spineAnimation.state.addAnimation(0, \"3-opening\", false, 0);\r\n spineAnimationTrackEntry3.listener = {\r\n event: (entry, event) => {\r\n if (event.stringValue === \"open_text\") {\r\n this.setShowCongratsText(true);\r\n }\r\n }\r\n };\r\n spineAnimation.state.addAnimation(0, \"4-static _open\", false, 0);\r\n spineAnimation.state.addAnimation(0, \"5-static _open_tranzition\", false, 1.5);\r\n const spineAnimationTrackEntry6 = spineAnimation.state.addAnimation(0, \"6-static _open_empty\", false, 0);\r\n spineAnimationTrackEntry6.listener = {\r\n start: (entry) => {\r\n this.setShowCongratsText(false);\r\n }\r\n };\r\n spineAnimation.state.addAnimation(0, \"7-closing\", false, 0);\r\n const finalTrackEntry = spineAnimation.state.addAnimation(0, \"8-closed\", false, 0);\r\n finalTrackEntry.listener = {\r\n complete: (entry) => {\r\n this.setDismissType(this.props.getExitAnimation());\r\n this.markAnimationEnding();\r\n\r\n this.disposableDependencies.addTimeout(() => {\r\n this._onPauseHandler = null;\r\n this.pixiBurnoutAnimation.dispose();\r\n });\r\n\r\n this.disposableDependencies.addTimeout(() => {\r\n this.lastFrameCache = null;\r\n this.props.onExitAnimationEnd(this._dismissType);\r\n }, ExitAnimationDurationByDismissType[this._dismissType] * 1000 + 100);\r\n }\r\n };\r\n }\r\n\r\n spineAnimation.state.addListener({\r\n start: (entry) => {\r\n currentAnimationTrackEntry = entry;\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n this._viewportHeight = this.services.window.innerHeight;\r\n }\r\n }, {\r\n position: \"absolute\",\r\n top: \"0\",\r\n width: \"100%\"\r\n });\r\n }\r\n\r\n @action.bound\r\n private markAnimationEnding() {\r\n this._hasAnimationEnded = true;\r\n };\r\n\r\n @action.bound\r\n private setDismissType(v: AnimationDismissType) {\r\n this._dismissType = v;\r\n }\r\n\r\n @action.bound\r\n private setShowCongratsText(v: boolean) {\r\n this._showCongratsText = v;\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n if (el) {\r\n this._animationWidth = el.getBoundingClientRect().width;\r\n }\r\n }\r\n\r\n render() {\r\n /* Delay the rendering of the animation for the time the image is preloaded.\r\n As soon we can start the animation then we can display, measure the size of the animation based on viewport and play */\r\n return \r\n \r\n \r\n {this.services.translation.translate(\"BURNOUT_MESSAGE_LINE_1\")}\r\n
\r\n {this.services.translation.translate(\"BURNOUT_MESSAGE_LINE_2\")}\r\n \r\n \r\n
;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styled, { css, keyframes } from \"styled-components\";\r\nimport { FAB_DISAPPEAR_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface IBurnoutFabProps {\r\n zIndex: number;\r\n onClick(): void;\r\n onMount(): void;\r\n removeButton?: boolean;\r\n}\r\n\r\nexport const BurnoutFab: React.FC = ({zIndex, onClick, onMount, removeButton}) => {\r\n\r\n React.useEffect(() => {\r\n onMount();\r\n }, [onMount]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst disappearAnimation = keyframes`\r\n 0% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n 50% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n 99% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 0;\r\n }\r\n 100% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 0;\r\n display: none;\r\n }\r\n`;\r\n\r\nconst pulseAnimation = keyframes`\r\n 0% {\r\n transform: translateX(50%) scale(1);\r\n }\r\n 50% {\r\n transform: translateX(50%) scale(1);\r\n }\r\n 100% {\r\n transform: translateX(50%) scale(1.1);\r\n }\r\n`;\r\n\r\nconst shadowAppear = keyframes`\r\n 0% {\r\n opacity: 0;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst BurnoutFabContainer = styled.div<{zIndex: number; removeButton?: boolean;}>`\r\n position: fixed;\r\n height: 60px;\r\n width: 60px;\r\n max-width: 60px;\r\n overflow: visible;\r\n top: 75px;\r\n right: 60px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n right: 40px;\r\n }\r\n border-radius: 50%;\r\n cursor: pointer;\r\n /* A big z-index, to make sure it's above everything */\r\n z-index: ${({zIndex}) => zIndex};\r\n transform: translateX(50%);\r\n opacity: 0.9;\r\n /* box-shadow: 0px 0px 40px ${({theme}) => theme.colors.brandSecondary}, inset 0 0 40px ${({theme}) => theme.colors.brandSecondary}; */\r\n transition: transform 0.3s, opacity 0.3s;\r\n &:hover {\r\n transform: translateX(50%) scale(1.1);\r\n opacity: 1;\r\n }\r\n &:active {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n ${({removeButton}) => removeButton ? css`\r\n animation: ${FAB_DISAPPEAR_DURATION_IN_SECONDS}s linear 0s 1 forwards running ${disappearAnimation};\r\n ` : css`\r\n animation: 1s linear 0s infinite alternate running ${pulseAnimation};\r\n &:hover {\r\n animation: 1s linear 0s infinite alternate paused ${pulseAnimation};\r\n }\r\n `}\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n z-index: -1;\r\n width: 40%;\r\n height: 40%;\r\n top: 30%;\r\n left: 30%;\r\n background: transparent;\r\n border-radius: 50%;\r\n box-shadow: 0px 0px 40px 15px ${({theme}) => theme.colors.brandPrimary};\r\n transition: opacity 0.3s;\r\n opacity: 0;\r\n animation: 2s linear 0s 1 forwards running ${shadowAppear};\r\n }\r\n`;\r\n\r\nconst BurnoutFabInner = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n background-image: url(${({theme}) => theme.images.burnoutAnimation.lastFrame.toString()});\r\n background-position: 0 0;\r\n background-size: 100% 100%;\r\n /* Aspect ratio. 1000 / 600 = 1.(6) => In percentage 166.(6)% */\r\n height: 0;\r\n padding-top: calc(166.66667%);\r\n transform: translateY(-90%) scale(2);\r\n transition: transform 0.3s;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n transform: translate(-3%, -100%) scale(2.5);\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { action, observable, runInAction, makeObservable } from \"mobx\";\r\nimport { BurnoutAnimation } from \"./burnout-animation.component\";\r\nimport { AnimationDismissType, FAB_DISAPPEAR_DURATION_IN_SECONDS } from \"./burnout-animation-constants\";\r\nimport { BurnoutFab } from \"./boxes/burnout-fab.box\";\r\nimport {ISendElasticEventOptions} from \"../../../services/analytics/analytics.service.interface\";\r\nimport {DisposableBurnoutAnimationDependencies} from \"./disposable-burnout-dependencies\";\r\n\r\ninterface IBurnoutAnimationWrapper {\r\n checkOmg(): boolean;\r\n showOmg?(): void;\r\n paused?: boolean;\r\n onSafeUnmountNotice?(): void;\r\n}\r\n\r\n@observer\r\nexport class BurnoutAnimationWrapper extends OrbitComponent {\r\n\r\n constructor(props: IBurnoutAnimationWrapper) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n private _showButton = false;\r\n @observable.ref\r\n private _animationEnded = false;\r\n @observable.ref\r\n private _removeButtonAnimation = false;\r\n private disposableDependencies: DisposableBurnoutAnimationDependencies = new DisposableBurnoutAnimationDependencies();\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.disposableDependencies.dispose();\r\n }\r\n\r\n\r\n private getExitAnimation = () => {\r\n if (this.props.checkOmg()) {\r\n return AnimationDismissType.FloatingButton;\r\n } else {\r\n return AnimationDismissType.FadeOut;\r\n }\r\n }\r\n\r\n @action.bound\r\n private onExitAnimationEnd = () => {\r\n if (this.props.checkOmg()) {\r\n this._showButton = true;\r\n } else {\r\n this.disposableDependencies.addTimeout(() => {\r\n this.recheckOmg(true);\r\n }, 2000);\r\n }\r\n this._animationEnded = true;\r\n };\r\n\r\n @action.bound\r\n private recheckOmg = (retryOnFail: boolean) => {\r\n if (this.props.checkOmg()) {\r\n this._showButton = true;\r\n } else {\r\n if (retryOnFail) {\r\n this.disposableDependencies.addTimeout(() => {\r\n this.recheckOmg(false);\r\n }, 2000);\r\n } else {\r\n // we can safely unmount this component\r\n this.props.onSafeUnmountNotice && this.props.onSafeUnmountNotice();\r\n }\r\n }\r\n };\r\n\r\n @action.bound\r\n private onClickFAB = () => {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_Marketing\",\r\n category: 'Burnout',\r\n action: 'Click_floating_icon'\r\n }\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (this.props.showOmg) {\r\n this.props.showOmg();\r\n }\r\n this._removeButtonAnimation = true;\r\n this.disposableDependencies.addTimeout(() => {\r\n runInAction(() => {\r\n this._showButton = false;\r\n // we can safely unmount this component\r\n this.props.onSafeUnmountNotice && this.props.onSafeUnmountNotice();\r\n });\r\n }, FAB_DISAPPEAR_DURATION_IN_SECONDS * 1000 + 500);\r\n };\r\n\r\n private _onMountFAB = () => {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_Marketing\",\r\n category: 'Burnout',\r\n action: 'View_floating_icon'\r\n }\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n };\r\n\r\n private _renderFAB = (zIndex: number) => {\r\n if (this._showButton) {\r\n return (\r\n \r\n )\r\n }\r\n return null;\r\n };\r\n\r\n\r\n render() {\r\n const zIndex = this.services.burnoutService.getBurnoutAnimationZIndex();\r\n /* Show the animation. If the prize is in bonus money and the omg was already received, the animation transform itself into a button.\r\n Else, the animation dissapear and I use another element as a button because\r\n it is a lot of logic inside the animation component that we don't need anymore and it might break stuff */\r\n return this._animationEnded ? this._renderFAB(zIndex) : ;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n ${({theme}) => theme.font.presets.body};\r\n \r\n &::before {\r\n content: \"\";\r\n min-width: 16px;\r\n height: 16px;\r\n margin: 0 0.5rem 0 0;\r\n background-image: url(${props => props.theme.images.spriteSheet.toString()});\r\n background-repeat: no-repeat;\r\n background-position: -89px -548px;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n margin: auto 1rem 2rem 1rem;\r\n padding: 1rem 0.5rem;\r\n font-size: 1.4rem;\r\n border-radius: 0.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow}, ${({theme}) => theme.mediaQuery.lowHeight} {\r\n margin-bottom: 0.5rem;\r\n padding: 0.5rem;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n align-self: flex-start;\r\n margin: auto 0;\r\n padding: 0;\r\n\r\n ::before {\r\n margin: 0;\r\n background-size: 1118px;\r\n background-position: -64px -416px;\r\n }\r\n`;\r\n\r\nexport const ClockLastLoginDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst PcBox = styled(ClockLastLoginDefaultBox)`\r\n ::before {\r\n background-position: -493px -506px;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(ClockLastLoginDefaultBox)`\r\n ::before {\r\n width: 1rem;\r\n height: 1rem;\r\n margin: 0;\r\n background-size: 850px;\r\n background-position: -281px -293px;\r\n }\r\n`;\r\n\r\nexport const ClockLastLoginCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginSiBox = styled(ClockLastLoginDefaultBox)`\r\n ::before {\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-position: -65px -416px;\r\n }\r\n }\r\n \r\n`","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockLastLoginDefaultBox } from \"./clock-last-login.default.box\";\r\nimport { ClockLastLoginCasino777Box } from \"./clock-last-login.casino777.box\";\r\nimport { ClockLastLoginSiBox } from \"./clock-last-login.si.box\";\r\n\r\nexport const ClockLastLoginBox = styledByTheme(ClockLastLoginDefaultBox)\r\n .forCasino777(ClockLastLoginCasino777Box)\r\n .forSI(ClockLastLoginSiBox)\r\n .forSICis(ClockLastLoginSiBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin: 0 0 0 0.5em;\r\n padding: 0 0 0 0.5em;\r\n border-left: 1px solid ${props => props.theme.colors.textMiddleDark};\r\n\r\n .last-login-container {\r\n display: flex;\r\n font-size: 1rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n line-height: 1;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n .last-login-container {\r\n flex-direction: column;\r\n }\r\n\r\n .last-login-title-text {\r\n font-size: 1.1rem;\r\n padding-bottom: 0.5rem;\r\n }\r\n\r\n .last-login-result-text {\r\n font-size: 1rem;\r\n white-space: nowrap;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n .last-login-container {\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n\r\n .last-login-title-text {\r\n display: inline-block;\r\n padding-right: 0.5rem;\r\n }\r\n\r\n .last-login-result-text {\r\n display: inline-block;\r\n }\r\n`;\r\n\r\nexport const LastLoginDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport {LastLoginDefaultBox} from \"./last-login.default.box\";\r\n\r\nexport const LastLoginSiBox = styled(LastLoginDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border-left: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { LastLoginDefaultBox } from \"./last-login.default.box\";\r\n\r\nexport const LastLoginSICisBox = styled(LastLoginDefaultBox)`\r\n letter-spacing: 0.4px;\r\n background-position: -65px -419px;\r\n`;","import { LastLoginDefaultBox } from \"./last-login.default.box\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { LastLoginSiBox } from \"./last-login.si.box\";\r\nimport { LastLoginSICisBox } from \"./clock-last-login.siCis.box\";\r\n\r\nexport const LastLoginBox = styledByTheme(LastLoginDefaultBox)\r\n .forSI(LastLoginSiBox)\r\n .forSICis(LastLoginSICisBox)\r\n .apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IPaddingFixIosBoxProps {\r\n isIos: boolean;\r\n}\r\nconst PaddingFixIosDefaultBox = styled.div``;\r\n\r\nconst PaddingFixIosSIBox = styled(PaddingFixIosDefaultBox)`\r\n ${props => props.isIos ? css`\r\n padding-top: 2px;\r\n ` : null}\r\n`;\r\n\r\nexport const PaddingFixIosBox = styledByTheme(PaddingFixIosDefaultBox)\r\n .forSI(PaddingFixIosSIBox)\r\n .apply();","import React from 'react';\r\nimport {ClockComponent} from '../clock/clock.component';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {ClockLastLoginBox} from \"./boxes/clock-last-login.box\";\r\nimport {LastLoginBox} from \"./boxes/last-login.box\";\r\nimport {PaddingFixIosBox} from './boxes/padding-fix-ios.box';\r\n\r\n\r\nexport const ClockAndLastLoginBoxComponent = observer(class ClockAndLastLoginBoxComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n if (!this.services.configuration.data.ClockAndLastLoginBox.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this._renderLastLoginComponent()}\r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private _renderLastLoginComponent(): any {\r\n let data = this.services.configuration.data;\r\n if (!data.ClockAndLastLoginBox.lastLoginDisplay) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n});\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const ClockComponentDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1em;\r\n line-height: 1;\r\n`;","import styled from \"styled-components\";\r\nimport { ClockComponentDefaultBox } from \"./clock.component.default.box\";\r\n\r\nexport const ClockComponentSICisBox = styled(ClockComponentDefaultBox)`\r\n letter-spacing: 0.4px;\r\n`;","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockComponentDefaultBox } from \"./clock.component.default.box\";\r\nimport { ClockComponentSICisBox } from \"./clock.component.siCis.box\";\r\n\r\nexport const ClockComponentBox = styledByTheme(ClockComponentDefaultBox)\r\n .forSICis(ClockComponentSICisBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {ISdkComponentRenderer} from '../../services/sdk-component-factory/sdk-component-factory.service.interface';\r\nimport {observer} from 'mobx-react';\r\nimport styled, {AnyStyledComponent} from 'styled-components';\r\nimport classNames from 'classnames';\r\n\r\n\r\nexport interface SdkComponentProps {\r\n componentId: string;\r\n className?: string;\r\n sdkProps?: any;\r\n box?: AnyStyledComponent | React.ComponentType;\r\n onClick?: React.MouseEventHandler;\r\n}\r\n\r\n\r\nconst DefaultBox = styled.div``;\r\n\r\nexport const SdkComponent = observer(class SdkComponent extends OrbitComponent {\r\n\r\n private _elementRef: HTMLElement | null = null;\r\n private _captureElementRef = (element: HTMLElement | null) => {\r\n this._elementRef = element;\r\n this._renderSdkComponent();\r\n };\r\n\r\n\r\n private _sdkComponentRenderer: ISdkComponentRenderer | null = null;\r\n private get sdkComponentRenderer(): ISdkComponentRenderer {\r\n if(!this._sdkComponentRenderer) {\r\n this._sdkComponentRenderer = this.services.sdkComponentFactory.createComponentRenderer(this.props.componentId);\r\n }\r\n return this._sdkComponentRenderer;\r\n }\r\n\r\n private _disposeSdkComponent() {\r\n this.sdkComponentRenderer.dispose();\r\n }\r\n\r\n private _renderSdkComponent() {\r\n\r\n //first we destroy the old component if there is one.\r\n this._disposeSdkComponent();\r\n\r\n if(!this._elementRef) {\r\n return;\r\n }\r\n\r\n this.sdkComponentRenderer.render(this._elementRef, this.props.sdkProps);\r\n }\r\n\r\n componentDidUpdate(prevProps: SdkComponentProps, prevState: any, snapshot: any) {\r\n if(JSON.stringify(prevProps?.sdkProps) !== JSON.stringify(this.props.sdkProps)) {\r\n this._renderSdkComponent();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._disposeSdkComponent();\r\n }\r\n\r\n render() {\r\n let Box: AnyStyledComponent | React.ComponentType = DefaultBox;\r\n if(this.props.box) {\r\n Box = this.props.box;\r\n }\r\n return (\r\n this._passOnClick(e)}>\r\n \r\n );\r\n }\r\n\r\n private _passOnClick(e: React.MouseEvent) {\r\n if(this.props.onClick)\r\n this.props.onClick(e);\r\n }\r\n});\r\n\r\n","import React from 'react';\r\nimport {SdkComponent} from \"../sdk/sdk.component\";\r\nimport {ClockComponentBox} from \"./boxes/clock.component.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {AnyStyledComponent} from \"styled-components\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface ClockComponentProps {\r\n format?: string\r\n box?: AnyStyledComponent | React.ComponentType;\r\n className?: string;\r\n}\r\n\r\nexport class ClockComponent extends OrbitComponent{\r\n render() {\r\n const sdkProps = {\r\n datetime: this.props.format\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {BannerContainerDefaultBox} from \"./banner-container.default.box\";\r\n\r\nexport const BannerContainerBox = BannerContainerDefaultBox;","import styled, {css} from \"styled-components\";\r\nimport {LOBBY_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport interface IBannerContainerBoxProps {\r\n minHeight?: string;\r\n}\r\n\r\nexport const BannerContainerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow-x: hidden;\r\n\r\n .${LOBBY_PAGE} & {\r\n z-index: 2;\r\n background-color: ${props => props.theme.colors.background}\r\n }\r\n\r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n`};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {CmsBannerId} from '../../services/cms/cms-banners/cm-banner-id/cms-banner-id';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerDefinition} from '../../services/cms/cms-banners/banner-definition/empty-banner-definition';\r\nimport {IBannerDefinition} from '../../services/cms/cms-banners/banner-definition/banner-definition.interface';\r\nimport {BannerContainerBox} from \"./banner-container/banner-container.box\";\r\n\r\nexport interface CmsBannerComponentProps {\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n showPlaceholder: boolean;\r\n className?: string;\r\n minHeight?: string;\r\n}\r\n\r\nexport const CmsBannerComponent = observer(class CmsBannerComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n componentDidUpdate() {\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n private get _bannerId(): CmsBannerId {\r\n return new CmsBannerId(this.props.componentID, this.props.templateID, this.props.fallbackComponent);\r\n }\r\n\r\n private get _bannerDefinition(): IBannerDefinition {\r\n let contentDefinition = this.services.cmsBanners.bannersMap[this._bannerId.key];\r\n if (contentDefinition) {\r\n return contentDefinition;\r\n }\r\n\r\n return new EmptyBannerDefinition();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this._bannerDefinition.render({\r\n showPlaceholder: this.props.showPlaceholder,\r\n minHeight: this.props.minHeight\r\n })\r\n }\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst MobileBox = styled.div<{isHybridEmbedded: boolean}>`\r\n position: fixed;\r\n z-index:15;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 84px)' : '34px'};\r\n\r\n right: 3px;\r\n \r\n cursor: pointer;\r\n \r\n display: grid;\r\n grid-template-rows: 45px 30px;\r\n justify-items: center; \r\n`;\r\n\r\nconst PcBox = styled(MobileBox)`\r\n transform: scale(1.2);\r\n right: 20px;\r\n`;\r\n\r\nexport const DailyDealContainerBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\n\r\nconst glowRotateAnimation = keyframes`\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 20%, 25% {\r\n transform: rotate(90deg);\r\n } \r\n 45%, 50% {\r\n transform: rotate(180deg);\r\n } \r\n 70%, 75% {\r\n transform: rotate(270deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n `;\r\n\r\nexport const DailyDealChestGlowBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.glow.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 25px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 106px;\r\n width: 106px; \r\n z-index: -1;\r\n \r\n transform: rotate(30deg);\r\n animation: ${glowRotateAnimation} 4s infinite;\r\n`;\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst chestScaleAnimation = keyframes`\r\n 0% { \r\n transform: scale(1);\r\n }\r\n 40%, 50% { \r\n transform: scale(1.2);\r\n }\r\n 100% { \r\n transform: scale(1);\r\n }\r\n `;\r\n\r\n\r\nexport const DailyDealChestBox = styled.img` \r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n position: relative;\r\n height: 50px;\r\n \r\n animation: ${chestScaleAnimation} 2s infinite;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealTextStripBox = styled.span`\r\n background: url(${({theme}) => theme.images.dailyDeal.textStrip.toString()}) center no-repeat;\r\n background-size: cover;\r\n \r\n display: block;\r\n \r\n width: 120px;\r\n height: 30px;\r\n \r\n color: ${({theme}) => theme.colors.textLight};\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n \r\n padding: 2.5px 10px 0;\r\n text-align: center;\r\n font-size: 13px;\r\n line-height: 19px; \r\n}\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealChestHaloBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.halo.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 15px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 90px;\r\n width: 83px; \r\n z-index: -1;\r\n`;\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {DailyDealContainerBox} from \"./boxes/daily-deal-container.box\";\r\nimport {DailyDealChestGlowBox} from \"./boxes/daily-deal-chest-glow.box\";\r\nimport {DailyDealChestBox} from \"./boxes/daily-deal-chest.box\";\r\nimport {DailyDealTextStripBox} from \"./boxes/daily-deal-text-strip.box\";\r\nimport {DailyDealChestHaloBox} from \"./boxes/daily-deal-chest-halo.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const DailyDealComponent = observer(class DailyDealComponent extends OrbitComponent {\r\n\r\n render() {\r\n if (!this.services.dailyDeal.dailyDealCampaignId) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate(\"DAILY_DEAL_WIDGET_STRIP\") } \r\n \r\n \r\n );\r\n }\r\n\r\n private _onDailyDealClick = () => {\r\n this.services.analytics.sendAnalytics('Daily_Deal', 'Click', this.services.arenas.getCurrentArena().arenaName);\r\n this.services.dailyDeal.visitDailyDeal();\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FreePlayContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n \r\n`;\r\n\r\nconst FreePlayContainerMrGreenCisBox = styled(FreePlayContainerDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.brandPrimaryDark};\r\n`;\r\n\r\nexport const FreePlayContainerBox = styledByTheme(FreePlayContainerDefaultBox).forMrGreenCis(FreePlayContainerMrGreenCisBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBox = styled.div`\r\n width: 100%;\r\n flex-shrink: 0;\r\n position: relative;\r\n padding-top: 3.3rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.2rem;\r\n }\r\n\r\n .swiper-pagination {\r\n .swiper-pagination-bullet {\r\n background-color: white;\r\n opacity: 0.25;\r\n &.swiper-pagination-bullet-active {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n`","import styled, { css } from \"styled-components\";\r\n\r\nexport const VoucherSwiperArrowContainerBox = styled.div<{isPrev?: boolean;}>`\r\n position: absolute;\r\n width: 3rem;\r\n height: 4rem;\r\n background-size: contain;\r\n /* background-color: red; */\r\n z-index: 2;\r\n /* display: flex;\r\n flex-direction: column;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center; */\r\n font-size: 2rem;\r\n padding: 4px;\r\n cursor: pointer;\r\n top: 50%;\r\n transform: translate(0, -50%);\r\n ${({isPrev}) => isPrev ? css`\r\n left: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowPrev.toString()});\r\n ` : css`\r\n right: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowNext.toString()});\r\n `}\r\n &.swiper-button-disabled {\r\n opacity: 0.6;\r\n }\r\n`\r\n","import {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\nimport {Pagination, Navigation} from \"swiper\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {VouchersSwiperBox} from \"../../../boxes/vouchers-swiper/vouchers-swiper.box\";\r\nimport {VoucherSwiperArrowContainerBox} from \"../../../boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardComponent} from \"../voucher-card.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VouchersSwiperComponentProps {\r\n onCurrentVoucherIndexChanged: (voucherIndex: number) => void;\r\n}\r\n\r\nexport const VouchersSwiperComponent = observer(\r\n class VouchersSwiperComponent extends OrbitComponent {\r\n prevElement = React.createRef();\r\n nextElement = React.createRef();\r\n\r\n private get _vouchers(): IFreePlayVoucherViewModel[] {\r\n return this.services.freePlay.userVouchers;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {\r\n if (typeof swiper.params.navigation !== \"boolean\") {\r\n swiper.params.navigation.prevEl = this.prevElement.current;\r\n swiper.params.navigation.nextEl = this.nextElement.current;\r\n }\r\n }}\r\n onActiveIndexChange={(swiper) => {\r\n this.props.onCurrentVoucherIndexChanged(swiper.activeIndex);\r\n }}\r\n >\r\n {this._vouchers.map((v) => {\r\n return \r\n {({ isActive }) => {\r\n return \r\n }}\r\n \r\n })}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const VoucherGamesListDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n height: 100%;\r\n width: 100%;\r\n align-items: center;\r\n margin: 0.5rem 0rem 2rem;\r\n`;","import styled from \"styled-components\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListMrGreenCisBox = styled(VoucherGamesListDefaultBox)`\r\n margin: 0;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListSiBox = styled(VoucherGamesListDefaultBox)`\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\nimport { VoucherGamesListMrGreenCisBox } from \"./voucher-games-list.mrGreenCis.box\";\r\nimport { VoucherGamesListSiBox } from \"./voucher-games-list.siCis.box\";\r\n\r\nexport const VoucherGamesListBox = styledByTheme(VoucherGamesListDefaultBox)\r\n .forSICis(VoucherGamesListSiBox)\r\n .forMrGreenCis(VoucherGamesListMrGreenCisBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst VouchersSwiperTitleDefaultBox = styled.div`\r\n text-align: center;\r\n font-size: 1.3rem;\r\n padding: 5px 4px 10px 4px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst VouchersSwiperTitleSIBox = styled(VouchersSwiperTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nexport const VouchersSwiperTitleBox = styledByTheme(VouchersSwiperTitleDefaultBox)\r\n .forSI(VouchersSwiperTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBackgroundBox = styled.div`\r\n width: 100%;\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()});\r\n background-repeat: no-repeat;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()}) 0 -44px;\r\n background-size: cover;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\n\r\nconst VouchersGamesListTitleDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n padding: 10px 4px 10px 4px;\r\n width: 100%;\r\n\r\n border-bottom-width: 4px;\r\n border-bottom-style: solid;\r\n border-bottom-color: #0e0e0e;\r\n \r\n text-align: center;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasino777Box = styled(VouchersGamesListTitleDefaultBox)`\r\n border-top: 1px solid transparent;\r\n padding-top: 1.2rem;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSICisBox = styled(VouchersGamesListTitleDefaultBox)`\r\n font-size: 1.15rem;\r\n ${({theme}) => theme.font.presets.thin}\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSIBox = styled(VouchersGamesListTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenBox = styled(VouchersGamesListTitleDefaultBox)`\r\n border-bottom: 1px solid ${({theme}) => hexToRgba(theme.colors.boxBorderLighter, 0.2)};\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenCisBox = styled(VouchersGamesListTitleMrGreenBox)`\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;\r\n\r\n\r\n\r\nexport const VouchersGamesListTitleBox = styledByTheme(VouchersGamesListTitleDefaultBox)\r\n .forCasino777(VouchersGamesListTitleCasino777Box)\r\n .forSICis(VouchersGamesListTitleCasinoSICisBox)\r\n .forSI(VouchersGamesListTitleCasinoSIBox)\r\n .forMrGreen(VouchersGamesListTitleMrGreenBox)\r\n .forMrGreenCis(VouchersGamesListTitleMrGreenCisBox)\r\n .apply();","import React, {PropsWithChildren} from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {FreePlayContainerBox} from \"./boxes/container/free-play-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VouchersSwiperComponent} from \"./parts/voucher-card/swiper/vouchers-swiper.component\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {VoucherGamesListBox} from \"./boxes/voucher-games-list/voucher-games-list.box\";\r\nimport {VouchersSwiperTitleBox} from \"./boxes/vouchers-swiper/vouchers-swiper-title.box\";\r\nimport {VouchersSwiperBackgroundBox} from \"./boxes/vouchers-swiper/vouchers-swiper-background.box\";\r\nimport {VouchersGamesListTitleBox} from \"./boxes/voucher-games-list-title/voucher-games-list-title.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {GameItemComponent} from \"../game-item/game-item.component\";\r\n\r\n@observer\r\nexport class FreePlayContainerComponent extends OrbitComponent {\r\n\r\n constructor(props: PropsWithChildren) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n currentVoucherIndex = 0;\r\n\r\n @action.bound\r\n private _onCurrentVoucherChangedHandler = (voucherIndex: number) => {\r\n this.currentVoucherIndex = voucherIndex;\r\n };\r\n\r\n private _renderVoucherGames = () => {\r\n const currentVoucher = this.services.freePlay.userVouchers[this.currentVoucherIndex];\r\n if(!currentVoucher) {\r\n return null;\r\n }\r\n\r\n return (\r\n {currentVoucher.freePlayGames.map(voucherGame => {\r\n await voucherGame.play()\r\n }}\r\n style={{marginBottom: \"1.5rem\"}}\r\n />)}\r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_LIST_TITLE')}\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_GAMES_LIST_TITLE')}\r\n \r\n {this._renderVoucherGames()}\r\n \r\n )\r\n }\r\n}","import styled, {css} from \"styled-components\";\r\nimport {VOUCHER_CARD_WIDTH} from \"../../voucher-card-css-constants\";\r\n\r\nexport const VoucherCardBox = styled.div<{showCursor: boolean; }>`\r\n position: relative;\r\n\r\n width: ${VOUCHER_CARD_WIDTH};\r\n height: 170px;\r\n margin: 0 auto 26px;\r\n ${props => props.showCursor ? css`cursor: pointer` : ''};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 240px;\r\n height: 145px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideBox = styled.div<{backgroundImageUrl: string; backSideShown: boolean;}>`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n background-image: url(\"${props => props.backgroundImageUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: cover;\r\n width: 100%;\r\n box-sizing: border-box;\r\n height: 100%;\r\n transition: transform 0.6s;\r\n backface-visibility: hidden;\r\n padding: 10px 20px 20px 20px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardFaceBox = styled(VoucherCardSideBox)`\r\n align-items: center;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"180deg\" : \"0\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n line-height: 1.2;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n justify-content: center;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardFaceFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n padding-right: 15px;\r\n height: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceDetailsBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceOriginalAmountBox = styled.div`\r\n font-size: 3rem;\r\n white-space: nowrap;\r\n ${({theme}) => theme.font.presets.ultra};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceVoucherNameBox = styled.div`\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n letter-spacing: 1px;\r\n text-transform: uppercase;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.5rem;\r\n margin-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconBox = styled.div<{iconUrl: string}>`\r\n background-image: url(\"${props => props.iconUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: contain;\r\n width: 7.5em;\r\n height: 7.5em;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 6em;\r\n width: 6em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountBox = styled.span`\r\n ${({theme}) => theme.font.presets.bold};\r\n padding-left: 4px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideToggleButtonBox = styled.div`\r\n border: 1px solid;\r\n border-radius: 50%;\r\n padding: 1px;\r\n box-sizing: content-box;\r\n width: 1.4rem;\r\n height: 1.4rem;\r\n cursor: pointer;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n flex-grow: 1;\r\n height: 100%;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const VoucherCardFaceHeaderBox = styled.div<{isCloseToExpiration: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n width: 100%;\r\n font-size: 1.1rem;\r\n line-height: 1;\r\n ${\r\n props => props.isCloseToExpiration \r\n ? css`\r\n color: ${props.theme.colors.danger};\r\n ${props.theme.font.presets.bold};\r\n `\r\n : ''\r\n }\r\n`;\r\n","import {\r\n OrbitComponentWithState\r\n} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceHeaderBox} from \"../../../boxes/voucher-card/face/header/voucher-card-face-header.box\";\r\nimport React from \"react\";\r\n\r\ninterface VoucherCardFaceHeaderComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: () => void;\r\n}\r\n\r\ninterface VoucherCardFaceHeaderComponentState {\r\n expirationMessage: string;\r\n}\r\n\r\nexport class VoucherCardFaceHeaderComponent extends OrbitComponentWithState {\r\n\r\n constructor(props: VoucherCardFaceHeaderComponentProps) {\r\n super(props);\r\n this.state = {\r\n expirationMessage: props.voucher.expirationMessage\r\n };\r\n }\r\n\r\n private _expirationTimer: any = null;\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(this.props.voucher.isCloseToExpiration) {\r\n this._expirationTimer = setInterval(() => {\r\n this.setState({\r\n expirationMessage: this.props.voucher.expirationMessage\r\n })\r\n }, 1000);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._expirationTimer) {\r\n clearInterval(this._expirationTimer);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.voucher.expirationMessage}\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceBox} from \"../../../boxes/voucher-card/face/voucher-card-face.box\";\r\nimport {VoucherCardFaceContentBox} from \"../../../boxes/voucher-card/face/content/voucher-card-face-content.box\";\r\nimport {VoucherCardFaceFooterBox} from \"../../../boxes/voucher-card/face/footer/voucher-card-face-footer.box\";\r\nimport {VoucherCardFaceIconContainerBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box\";\r\nimport {\r\n VoucherCardFaceDetailsBox\r\n} from \"../../../boxes/voucher-card/face/content/details/voucher-card-face-details.box\";\r\nimport {\r\n VoucherCardFaceOriginalAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box\";\r\nimport {\r\n VoucherCardFaceVoucherNameBox\r\n} from \"../../../boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountContainerBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VoucherCardFaceIconBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VoucherCardFaceHeaderComponent} from \"./voucher-card-face-header.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardFaceComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide?: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\n\r\nexport const VoucherCardFaceComponent = observer(\r\n class VoucherCardFaceComponent extends OrbitComponent {\r\n\r\n private _renderOriginalAmount() {\r\n return (\r\n \r\n {this.props.voucher.formattedOriginalAmount || this.props.voucher.formattedCurrentBalance}\r\n \r\n )\r\n }\r\n\r\n private _renderCurrentAmount() {\r\n if(!this.props.voucher.formattedOriginalAmount) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_VOUCHER_BALANCE_PREFIX')}\r\n \r\n \r\n {this.props.voucher.formattedCurrentBalance}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let InfoIcon = this.services.theme.currentTheme.icons.infoIcon;\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {this._renderOriginalAmount()}\r\n \r\n {this.props.voucher.voucherName}\r\n \r\n {this._renderCurrentAmount()}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardBackBox = styled(VoucherCardSideBox)`\r\n align-items: flex-start;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"0\" : \"180deg\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackHeaderBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n flex-grow: 1;\r\n font-size: 1.2rem;\r\n line-height: 1.3;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardBackFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBackBox} from \"../../../boxes/voucher-card/back/voucher-card-back.box\";\r\nimport {VoucherCardBackHeaderBox} from \"../../../boxes/voucher-card/back/header/voucher-card-back-header.box\";\r\nimport {VoucherCardBackContentBox} from \"../../../boxes/voucher-card/back/content/voucher-card-back-content.box\";\r\nimport {VoucherCardBackFooterBox} from \"../../../boxes/voucher-card/back/footer/voucher-card-back-footer.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardBackComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\nexport const VoucherCardBackComponent = observer(\r\n class VoucherCardBackComponent extends OrbitComponent {\r\n render() {\r\n let CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n return (\r\n \r\n \r\n {this.props.voucher.voucherName}\r\n \r\n \r\n {this.props.voucher.voucherDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from \"react\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBox} from \"../../boxes/voucher-card/voucher-card.box\";\r\nimport {VoucherCardFaceComponent} from \"./face/voucher-card-face.component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {VoucherCardBackComponent} from \"./back/voucher-card-back.component\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\n\r\ninterface VoucherCardComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: (voucher: IFreePlayVoucherViewModel) => void;\r\n}\r\n\r\ninterface VoucherCardComponentState {\r\n showBackSide: boolean;\r\n}\r\n\r\nexport const VoucherCardComponent = observer(\r\n class VoucherCardComponent extends OrbitComponentWithState {\r\n constructor(props: VoucherCardComponentProps) {\r\n super(props);\r\n this.state = {\r\n showBackSide: false\r\n }\r\n }\r\n private _onToggleSide = () => {\r\n this.setState({\r\n showBackSide: !this.state.showBackSide\r\n });\r\n }\r\n\r\n private _onCardSideClickHandler = () => {\r\n if (this.props.onClick) {\r\n this.props.onClick(this.props.voucher);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n);","export const VOUCHER_CARD_WIDTH = '282px';","import {FreeToPlayAnimatedIconDefaultBox} from \"./free-to-play-animated-icon.default.box\";\r\n\r\nexport const FreeToPlayAnimatedIconBox = FreeToPlayAnimatedIconDefaultBox;","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayAnimatedIconDefaultBox = styled.div`\r\n position: fixed;\r\n z-index: 4;\r\n bottom: 0;\r\n right: 0; \r\n width: 150px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayClickBox = styled.div`\r\n position: fixed;\r\n cursor: pointer;\r\n z-index: 5;\r\n bottom: 0;\r\n right: 0;\r\n width: 150px;\r\n height: 123px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n height: 106px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {FreeToPlayAnimatedIconBox} from \"./boxes/free-to-play-animated-icon.box\";\r\nimport {AnimatedIconObservableTarget, AnimatedIconUnloadReason, IAnimatedIconRequestOptions} from \"../../services/pixi-app/animated-icon-base-service.service\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\nimport {FreeToPlayClickBox} from \"./boxes/free-to-play-click.box\";\r\n\r\nexport const FreeToPlayAnimatedIconComponent = observer(class FreeToPlayAnimatedIconComponent extends OrbitComponent {\r\n private iconRequestOptions = {\r\n jsonUrl: this.services.theme.currentTheme.images.f2p.freeToPlay.toString(),\r\n size: {\r\n width: 445,\r\n height: 364\r\n },\r\n timings: {\r\n delay: 2000,\r\n interval: 3000\r\n }\r\n };\r\n\r\n private iconObservableTarget: AnimatedIconObservableTarget | undefined;\r\n\r\n private _captureElementRefForIcon(element: HTMLElement | null) {\r\n // if element is null (the component was unmounted) or the element changed, then check if we have a currently running/loading animation and remove it\r\n if (!element || (this.iconObservableTarget && this.iconObservableTarget.wrapper !== element)) {\r\n // if the current animation is loading, cancel it\r\n // if the current animation is already running, stop and dispose it\r\n // animation disposer do both things, abort if loading, dispose if running\r\n if (this.iconObservableTarget && this.iconObservableTarget.animationDisposer) {\r\n this.iconObservableTarget.animationDisposer(AnimatedIconUnloadReason.REQUESTED);\r\n }\r\n }\r\n // if the element exists and is different from the previous one, then the animation must be started\r\n if (element && (!this.iconObservableTarget || this.iconObservableTarget.wrapper !== element)) {\r\n let requestOptions: Omit = this.iconRequestOptions;\r\n // update the reference\r\n this.iconObservableTarget = {\r\n ...requestOptions,\r\n wrapper: element\r\n };\r\n this.services.freeToPlay.loadFreeToPlayAnimation(this.iconObservableTarget);\r\n }\r\n // if element is null just update the reference so we know next time the capture is ran\r\n if (!element) {\r\n this.iconObservableTarget = undefined;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.services.freeToPlay.isPromotionEligible) {\r\n this._sendAnalytics(\"SHOW\");\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.services.freeToPlay.isPromotionEligible) {\r\n return null;\r\n }\r\n\r\n if (this.services.freeToPlay.isPromotionOpened) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n this._openBonusWheel()} />\r\n \r\n );\r\n }\r\n\r\n private _openBonusWheel = async () => {\r\n this._sendAnalytics(\"CLICK\");\r\n await this.services.freeToPlay.showPromotion({\r\n channel: {\r\n area: AreaType.button,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.floatingIcon\r\n }\r\n }\r\n );\r\n }\r\n\r\n private _sendAnalytics(action: string) {\r\n try {\r\n let options: ISendElasticEventOptions = {\r\n action: action,\r\n category: \"Floating_icon\",\r\n eventType: \"bonus_widget\",\r\n appID: \"F2P\",\r\n customData: {\r\n location: this.services.location.isHomePage ? 'homepage' : this.services.location.currentUri.pathName.toString(),\r\n segmentation: this.services.user.playerRMSStatus\r\n }\r\n };\r\n this.services.analytics.sendElasticInfoEvent(options, true);\r\n }\r\n catch (err) {\r\n console.log(\"Floating_icon \" + action + \" analytics report failed with error: \" + err);\r\n }\r\n }\r\n});","import styled, { css } from 'styled-components';\r\nimport {FP_VOUCHER_TYPES} from \"../../../../common/const/free_play_consts\";\r\n\r\n\r\n\r\nexport const GameItemContainerBox = styled.div<{freePlayType?: FP_VOUCHER_TYPES; hide?: boolean;}>`\r\n // cgp-game-item-container\r\n display: ${({hide}) => hide ? \"none\" : \"flex\"};\r\n ${({freePlayType, theme}) => freePlayType ? css`\r\n width: 35.5rem;\r\n ` : \"\"}\r\n\r\n /* When inside .cgp-free-play-games-list-component.cgp-fp-games-disabled apply {cursor: auto; z-index: -1;} // see games.scss in free_play */\r\n .cgp-free-play-games-list-component.cgp-fp-games-disabled & {\r\n cursor: auto;\r\n z-index: -1;\r\n }\r\n\r\n /* When also have cgp-game-item-fp class but is inside .idleRecommendation-layout apply width: 100% */\r\n .idleRecommendation-layout &.cgp-game-item-fp {\r\n width: 100%;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const GameItemImgWrapperBox = styled.div`\r\n // cgp-game-item-img-wrapper\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n position: relative;\r\n width: 12rem;\r\n flex-shrink: 0;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 11.4rem;\r\n ${CssRule.For.iPhoneVer5.build()} {\r\n width: 6.5rem;\r\n background-position: center center;\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nimport { OrbitTheme } from '../../../themes/architecture/orbit-theme.interface';\r\nimport {FP_VOUCHER_TYPES} from \"../../../../common/const/free_play_consts\";\r\n\r\nlet freePlayBgImage = (theme: OrbitTheme, freePlayType: FP_VOUCHER_TYPES) => {\r\n switch (freePlayType) {\r\n case FP_VOUCHER_TYPES.FreeSpin:\r\n return theme.images.freePlay.typeFS.toString();\r\n case FP_VOUCHER_TYPES.FreePlay:\r\n return theme.images.freePlay.typeFP.toString();\r\n case FP_VOUCHER_TYPES.FreeJackpotSpin:\r\n return theme.images.freePlay.typeJFS.toString();\r\n case FP_VOUCHER_TYPES.FreeJackpotPlay:\r\n return theme.images.freePlay.typeJFP.toString();\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const GameItemFpThumbBox = styled.div<{freePlayType?: FP_VOUCHER_TYPES, useSquareIcons?: boolean}>`\r\n position: absolute;\r\n bottom: ${({useSquareIcons}) => useSquareIcons ? \"-1.5rem\": \"0.5rem\"};\r\n right: ${({useSquareIcons}) => useSquareIcons ? \"-1.5rem\": \"-0.5rem\"};\r\n display: ${({freePlayType}) => freePlayType ? \"block\": \"none\"};\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: ${({theme, freePlayType}) => 'url(\"' + freePlayBgImage(theme, freePlayType) + '\")' };\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameItemDelimiterBox = styled.div`\r\n width: 2.5rem;\r\n margin-left: 2rem;\r\n background-size: cover;\r\n flex-shrink: 0;\r\n background-image: url(${props => '\"' + props.theme.images.verticalLineGlow.toString() + '\"'});\r\n /* Inside .idleRecommendation-layout apply: width: 1.5rem; */\r\n .idleRecommendation-layout & {\r\n width: 1.5rem;\r\n }\r\n`;","import styled from 'styled-components';\r\n\r\nexport const GameItemDetailsWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n flex-grow: 1;\r\n text-align: center;\r\n min-height: 16rem;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { styledByTheme } from '../../../themes/architecture/styled-by-theme';\r\n\r\nconst GameItemTitleDefaultBox = styled.div`\r\n margin-bottom: 0.5rem;\r\n width: 15rem;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\nconst GameItemTitleCasino777Box = styled(GameItemTitleDefaultBox)`\r\n font-size: 1.5rem;\r\n`;\r\nexport const GameItemTitleBox = styledByTheme(GameItemTitleDefaultBox).forCasino777(GameItemTitleCasino777Box).apply();\r\n","import styled from 'styled-components';\r\nimport { styledByTheme } from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const GameItemJackpotDefaultBox = styled.div`\r\n width: 15rem;\r\n margin: 5px 0;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n\r\nexport const GameItemJackpotSICisBox = styled(GameItemJackpotDefaultBox)`\r\n width: 75%;\r\n`;\r\n\r\n\r\n\r\nexport const GameItemJackpotBox = styledByTheme(GameItemJackpotDefaultBox).forSICis(GameItemJackpotSICisBox).apply();\r\n","import styled from 'styled-components';\r\n\r\nexport const GameItemButtonsAreaBox = styled.div`\r\n margin-top: 0.5rem;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../basic-ui-components/button/base/button.component';\r\nimport {GameInfo} from '../../services/games/game-info';\r\nimport {GameItemComponentProps} from '../../../common/interfaces/orbit-component-to-sdk-adapter/components-props/game-item.component-props';\r\nimport {GameItemContainerBox} from './boxes/game-item-container.box';\r\nimport {GameItemImgWrapperBox} from './boxes/game-item-img-wrapper.box';\r\nimport {GameItemFpThumbBox} from './boxes/game-item-fp-thumb.box';\r\n// import { GameItemThumbnailBox } from './boxes/game-item-thumbnail.box';\r\nimport {GameItemDelimiterBox} from './boxes/game-item-delimiter.box';\r\nimport {GameItemDetailsWrapperBox} from './boxes/game-item-details-wrapper.box';\r\nimport {GameItemTitleBox} from './boxes/game-item-title.box';\r\nimport {GameItemJackpotBox} from './boxes/game-item-jackpot.box';\r\nimport {GameItemButtonsAreaBox} from './boxes/game-item-buttons-area.box';\r\nimport {GameImageComponent} from '../single-game/common/parts/game-image/game-image.component';\r\nimport {GameJackpotComponent} from \"../game-jackpot/game-jackpot.component\";\r\n\r\n/**\r\n * This component (used for idle-recommendation toaster)\r\n * may have roughly the same functionality and/or visual\r\n * as game-popup.component.tsx\r\n * TODO: Maybe make a common component\r\n */\r\nexport class GameItemComponent extends OrbitComponent {\r\n render() {\r\n let playBtnText = this.props.playBtnText || this.services.translation.translate('PLAY');\r\n let gameInfo: GameInfo = this.services.games.gamesMap[this.props.gameType];\r\n\r\n return (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {gameInfo.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const GameJackpotDefaultBox = styled.div`\r\n width: 100%;\r\n color: ${props => props.theme.colors.moneyColor};\r\n font-weight: 600;\r\n`","import styled from \"styled-components\";\r\nimport {GameJackpotDefaultBox} from \"./game-jackpot.default.box\";\r\n\r\nexport const GameJackpotSIBox = styled(GameJackpotDefaultBox)`\r\n border-left: solid 5px ${props => props.theme.colors.brandSecondary};\r\n border-top-left-radius: 2px;\r\n border-bottom-left-radius: 2px;\r\n padding-left: 3px;\r\n`","import { GameJackpotDefaultBox } from \"./game-jackpot.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameJackpotSIBox } from \"./game-jackpot.si.box\";\r\n\r\nexport const GameJackpotBox = styledByTheme(GameJackpotDefaultBox)\r\n .forSI(GameJackpotSIBox)\r\n .forSICis(GameJackpotSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const GameJackpotValueDefaultBox = styled.div`\r\n word-break: break-all;\r\n`","import styled from \"styled-components\";\r\nimport {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\n\r\nexport const GameJackpotValueSIBox = styled(GameJackpotValueDefaultBox)`\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.moneyColor};\r\n padding: 2px 0;\r\n border-top-right-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n`;","import styled from \"styled-components\";\r\nimport {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\n\r\nexport const GameJackpotValueMrGreenBox = styled(GameJackpotValueDefaultBox)`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: bold;\r\n font-size: 16px;\r\n background: ${props => props.theme.colors.brandPrimaryDark};\r\n box-shadow: 0px 0px 0px rgba(1, 85, 54, 0.6), inset 0px 0px 20px rgba(255, 255, 255, 0.1), inset 0px 0px 10px ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.moneyColor};\r\n height: 30px;\r\n width: 140px;\r\n border-radius: 3px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n margin-bottom: 5px;\r\n margin-top: 5px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 12px;\r\n width: 108px;\r\n height: 20px;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.xs} {\r\n font-size: 10px;\r\n width: 88px;\r\n height: 20px;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { GameJackpotValueSIBox } from \"./game-jackpot-value.si.box\";\r\n\r\nexport const GameJackpotValueSICisBox = styled(GameJackpotValueSIBox)`\r\n letter-spacing: 0.44px;\r\n`;","import {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {GameJackpotValueSIBox} from \"./game-jackpot-value.si.box\";\r\nimport {GameJackpotValueMrGreenBox} from \"./game-jackpot-value.mrgreen.box\";\r\nimport { GameJackpotValueSICisBox } from \"./game-jackpot-value.siCis.box\";\r\n\r\nexport const GameJackpotValueBox = styledByTheme(GameJackpotValueDefaultBox)\r\n .forSI(GameJackpotValueSIBox)\r\n .forSICis(GameJackpotValueSICisBox)\r\n .forMrGreen(GameJackpotValueMrGreenBox)\r\n .forMrGreenCis(GameJackpotValueMrGreenBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {GameJackpotBox} from \"./boxes/root/game-jackpot.box\";\r\nimport {GameJackpotValueBox} from \"./boxes/value/game-jackpot-value.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\n\r\nexport interface GameJackpotComponentProps {\r\n gameType: number;\r\n className?: string;\r\n}\r\n\r\nexport const GameJackpotComponent = observer(\r\n class GameJackpotComponent extends OrbitComponent {\r\n render() {\r\n\r\n const jackpotValue = this.services.jackpots.getGameJackpot(this.props.gameType);\r\n if(!jackpotValue) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n {this.services.currency.formatMoney(jackpotValue)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","\r\nexport const GAME_PC_BUTTON_WIDTH = '20px';\r\nexport const GAME_PC_BUTTON_HEIGHT = '20px';\r\n\r\n\r\nexport const GAME_MOBILE_BUTTON_WIDTH = '14px';\r\nexport const GAME_MOBILE_BUTTON_HEIGHT = '14px';","import styled from \"styled-components\";\r\nimport {XCloseButtonBox} from \"../../../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\nimport {\r\n GAME_MOBILE_BUTTON_HEIGHT,\r\n GAME_MOBILE_BUTTON_WIDTH, GAME_PC_BUTTON_HEIGHT, GAME_PC_BUTTON_WIDTH\r\n} from \"../../../../game-css-constants\";\r\n\r\nexport const GameHeaderBarCloseButtonBox = styled(XCloseButtonBox)`\r\n width: ${GAME_PC_BUTTON_WIDTH};\r\n height: ${GAME_PC_BUTTON_HEIGHT};\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: ${GAME_MOBILE_BUTTON_WIDTH};\r\n height: ${GAME_MOBILE_BUTTON_HEIGHT};\r\n }\r\n`\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GeoModalWrapperBox = styled.div`\r\n max-width: 560px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-content: center;\r\n align-items: center;\r\n\r\n width: 25vw;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 82vw;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow + \" and \" + theme.mediaQuery.landscape} {\r\n width: 56vw;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HEADER_Z_INDEX} from \"../../header-consts\";\r\n\r\nexport const HeaderNavbarMobileBaseDefaultBox = styled.div`\r\n z-index: ${HEADER_Z_INDEX};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseSiBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseMrGreenBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/casino888/cis/base-colors\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseCisBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n background-color: ${baseColors.black};\r\n color: #cccccc;\r\n`;","import { HeaderNavbarMobileBaseDefaultBox } from \"./header-navbar-mobile-base.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HeaderNavbarMobileBaseSiBox } from \"./header-navbar-mobile-base.si.box\";\r\nimport {HeaderNavbarMobileBaseMrGreenBox} from \"./header-navbar-mobile-base.mrgreen.box\";\r\nimport { HeaderNavbarMobileBaseCisBox } from \"./header-navbar-mobile-base.cis.box\";\r\n\r\nexport const HeaderNavbarMobileBaseBox = styledByTheme(HeaderNavbarMobileBaseDefaultBox)\r\n .forSI(HeaderNavbarMobileBaseSiBox)\r\n .forSICis(HeaderNavbarMobileBaseCisBox)\r\n .forCis(HeaderNavbarMobileBaseCisBox)\r\n .forCip(HeaderNavbarMobileBaseCisBox)\r\n .forMrGreen(HeaderNavbarMobileBaseMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\n\r\nexport const HeaderStandardButtonBox = styled(Button)`\r\n min-width: 150px;\r\n height: 35px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-width: 80px;\r\n height: 30px;\r\n }\r\n`","export const HEADER_Z_INDEX = 105;","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseBox} from \"../../../boxes/header-navbar-mobile-base/header-navbar-mobile-base.box\";\r\nimport {HEADER_Z_INDEX} from \"../../../header-consts\";\r\n\r\nexport const RegulatoryDataDefaultBox = styled(HeaderNavbarMobileBaseBox)`\r\n display: flex;\r\n align-items: center;\r\n position: sticky;\r\n top: 0;\r\n z-index: ${HEADER_Z_INDEX + 1};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: column;\r\n width: 100%;\r\n padding: calc(env(safe-area-inset-top) + 0.5rem) 1.5rem 0.5rem 1.5rem;\r\n }\r\n\r\n .cgp-dk & {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\n\r\nexport const RegulatoryDataMrGreenBox = styled(RegulatoryDataDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\nimport {RegulatoryDataMrGreenBox} from \"./regulatory-data.mrgreen.box\";\r\n\r\nexport const RegulatoryDataBox = styledByTheme(RegulatoryDataDefaultBox)\r\n .forMrGreen(RegulatoryDataMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin: auto 0;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n font-size: 0.9rem;\r\n line-height: 1.2;\r\n\r\n a {\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n max-width: 40%;\r\n text-align: left;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n max-width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n max-width: 100%;\r\n padding: 0.25rem 0;\r\n font-size: 1rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const GamblingWarningDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GamblingWarningDefaultBox} from \"./gambling-warning.default.box\";\r\n\r\nexport const GamblingWarningBox = GamblingWarningDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from '../../raw-components/link/link';\r\nimport {GamblingWarningBox} from \"./boxes/gambling-warning.box\";\r\n\r\nexport const GamblingWarningComponent = observer(class GamblingWarningComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n let gamblingMessageConfig = this.services.configuration.data.header.gambling_message;\r\n if(!gamblingMessageConfig || !gamblingMessageConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part1')}\r\n \r\n {'Probabilità di vincita'}\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part2')}\r\n \r\n {'maggiori informazioni.'}\r\n \r\n \r\n );\r\n\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n align-items: center;\r\n`;\r\n\r\nconst Mobilebox = styled(DefaultBox)`\r\n width: 100%;\r\n padding: 0.5rem 0 0 0;\r\n justify-content: center;\r\n\r\n .cgp-dk & {\r\n justify-content: flex-start;\r\n }\r\n`;\r\n\r\nexport const ResponsibleGamingIconsDefaultBox = styledByDevice(PcBox, Mobilebox);\r\n","import {ResponsibleGamingIconsDefaultBox} from \"./responsible-gaming-icons.default.box\";\r\n\r\nexport const ResponsibleGamingIconsBox = ResponsibleGamingIconsDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {ResponsibleIconsAgeButtonConfiguration} from '../../../services/configurations/config-data-sections/header.configuration';\r\nimport {ResponsibleGamingIconsBox} from \"./boxes/responsible-gaming-icons.box\";\r\n\r\nexport const ResponsibleIconsComponent = observer(class ResponsibleIconsComponent extends OrbitComponent {\r\n\r\n private _renderAgeButton(ageButtonConfig: ResponsibleIconsAgeButtonConfiguration) {\r\n if(ageButtonConfig && ageButtonConfig.display) {\r\n return this.services.regulation.current.components.renderHeaderMinimumGamblingAge();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderResponsibleIcons() {\r\n return this.services.regulation.current.components.renderHeaderRegulationIcons();\r\n }\r\n\r\n render() {\r\n let responsibleIconsConfig = this.services.configuration.data.header.responsibleIcons;\r\n if(!responsibleIconsConfig || !responsibleIconsConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderAgeButton(responsibleIconsConfig.ageButton)}\r\n {this._renderResponsibleIcons()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {RegulatoryDataBox} from \"../../top-header-left/regulatory-data/boxes/regulatory-data.box\";\r\nimport {HeaderConfiguration} from '../../../../services/configurations/config-data-sections/header.configuration';\r\nimport {GamblingWarningComponent} from '../../gambling-warning/gambling-warning.component';\r\nimport {ResponsibleIconsComponent} from '../../responsible-icons/responsible-icons.component';\r\nimport {ClockAndLastLoginBoxComponent} from '../../../clock-and-last-login-box/clock-and-last-login-box.component';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface RegulatoryDataComponentProps {\r\n attachToHeaderService: boolean;\r\n}\r\n\r\n@observer\r\nexport class RegulatoryDataComponent extends OrbitComponent {\r\n\r\n private get _headerConfig(): HeaderConfiguration {\r\n return this.services.configuration.data.header;\r\n }\r\n\r\n private _captureHeaderUpperRef = (element: HTMLElement | null) => {\r\n if(this.props.attachToHeaderService) {\r\n this.services.header.setHeaderRegulationDataElement(element);\r\n }\r\n };\r\n\r\n private _renderMobileLastLogin() {\r\n if (this.services.device.isMobile) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getRegulatoryContent() {\r\n if (this.services.miniOrbit.isCis) {\r\n return null;\r\n }\r\n\r\n\r\n let gamblingMessageConfig = this._headerConfig.gambling_message;\r\n let responsibleIconsConfig = this._headerConfig.responsibleIcons;\r\n\r\n if (responsibleIconsConfig && responsibleIconsConfig.display) {\r\n return ;\r\n } else if (gamblingMessageConfig && gamblingMessageConfig.display) {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderMobileLastLogin()}\r\n {this._getRegulatoryContent()}\r\n \r\n );\r\n }\r\n}\r\n","import {ButtonSizeVariant} from \"../../../basic-ui-components/button/base/button-props.interface\";\r\nimport {IServiceFactory} from \"../../../services/service-factory.interface\";\r\nimport React from \"react\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\nexport function getButtonSizeVariant(services: IServiceFactory): ButtonSizeVariant {\r\n if(services.mediaQuery.lAndBelow) {\r\n return \"small\";\r\n } else {\r\n return \"regular\";\r\n }\r\n}\r\n\r\nexport function getButtonsSeparator(services: IServiceFactory): React.ReactElement {\r\n return ()\r\n}","import styled from \"styled-components\";\r\n\r\nexport const AnonymousButtonsContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {AnonymousButtonsContainerDefaultBox} from \"./anonymous-buttons-container.default.box\";\r\n\r\nexport const AnonymousButtonsContainerHarrahsBox = styled(AnonymousButtonsContainerDefaultBox)`\r\n flex-direction: row-reverse;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {AnonymousButtonsContainerDefaultBox} from \"./anonymous-buttons-container.default.box\";\r\nimport {AnonymousButtonsContainerHarrahsBox} from \"./anonymous-buttons-container.harrahs.box\";\r\n\r\nexport const AnonymousButtonsContainerBox = styledByTheme(AnonymousButtonsContainerDefaultBox)\r\n .forHarrahs(AnonymousButtonsContainerHarrahsBox)\r\n .apply();\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {AnonymousButtonsContainerBox} from \"./boxes/buttons-container/anonymous-buttons-container.box\";\r\nimport React from \"react\";\r\nimport {getButtonsSeparator} from \"../header-welcome-buttons-helpers\";\r\nimport {\r\n IGameContextViewModel\r\n} from \"../../../../services/game-runner/interfaces/game-context/game-context-view-model.interface\";\r\n\r\ninterface HeaderWelcomeButtonsForAnonymousUserComponentProps {\r\n gameContext?: IGameContextViewModel;\r\n}\r\n\r\nexport const HeaderWelcomeButtonsForAnonymousUserComponent = observer(\r\n class HeaderWelcomeButtonsForAnonymousUserComponent extends OrbitComponent {\r\n\r\n render() {\r\n const separator = getButtonsSeparator(this.services);\r\n return (\r\n \r\n {separator}\r\n {this.services.regulation.current.components.renderHeaderRegisterButton({gameContext: this.props.gameContext})}\r\n {separator}\r\n {this.services.regulation.current.components.renderHeaderLoginButton({gameContext: this.props.gameContext})}\r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const MobileContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n min-width: 80px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const UserIconBox = styled.div`\r\n width: 15px;\r\n height: 17px;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-image: url(\"${props => props.theme.images.user.welcomePostLoginMobile.toString()}\");\r\n color: ${props => props.theme.colors.brandSecondary};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const UserBankrollBox = styled.div`\r\n font-size: 1.3rem;\r\n color: ${props => props.theme.colors.moneyColor};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const FreePlayDotIndicatorDefaultBox = styled.div`\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n right: 20px;\r\n top: 10px;\r\n background-color: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n`","import styled from \"styled-components\";\r\nimport {FreePlayDotIndicatorDefaultBox} from \"./free-play-dot-indicator.default\";\r\n\r\nexport const FreePlayDotIndicatorSIBox = styled(FreePlayDotIndicatorDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.buttonDark};\r\n }\r\n`","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {FreePlayDotIndicatorDefaultBox} from \"./free-play-dot-indicator.default\";\r\nimport {FreePlayDotIndicatorSIBox} from \"./free-play-dot-indicator.si.box\";\r\n\r\nexport const FreePlayDotIndicatorBox = styledByTheme(FreePlayDotIndicatorDefaultBox)\r\n .forSI(FreePlayDotIndicatorSIBox)\r\n .apply();","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MobileContainerBox} from \"../boxes/mobile-container/mobile-container.box\";\r\nimport {UserIconBox} from \"../boxes/icon/user-icon.box\";\r\nimport {UserBankrollBox} from \"../boxes/bankroll/user-bankroll.box\";\r\nimport React from \"react\";\r\nimport {FreePlayDotIndicatorBox} from \"../boxes/free-play-dot-indicator/free-play-dot-indicator.box\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {\r\n TOOLTIP_TARGET_HEADER_BANKROLL_BUTTON_MOBILE\r\n} from \"../../../../../services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent extends OrbitComponent {\r\n private _onClick = () => {\r\n this.services.userMenu.openMenu();\r\n };\r\n\r\n private _renderFreePlayIndicator = () => {\r\n if(!this.services.freePlay.hasVouchers) {\r\n return null;\r\n }\r\n return (\r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderFreePlayIndicator()}\r\n \r\n {this.services.currency.formatMoney(this.services.walletProxy.totalBankroll)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const PCContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled from \"styled-components\";\r\nimport {HeaderStandardButtonBox} from \"../../boxes/header-standard-button.box\";\r\n\r\nexport const HeaderCashierButtonDefaultBox = styled(HeaderStandardButtonBox)`\r\n min-width: 120px;\r\n`","import styled from \"styled-components\";\r\nimport {HeaderCashierButtonDefaultBox} from \"./header-cashier-button.default.box\";\r\nimport {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const HeaderCashierButtonMrGreenBox = styled(HeaderCashierButtonDefaultBox)`\r\n border: none;\r\n background: ${baseColors.base04};\r\n color: ${({theme}) => theme.colors.textDark};\r\n transition: all 0.2s ease-in-out, border 0s linear;\r\n > span {\r\n text-transform: none;\r\n }\r\n\r\n &:hover {\r\n background: none;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n color: ${baseColors.gold};\r\n border: 2px solid ${baseColors.gold};\r\n > span {\r\n background: ${baseColors.gold};\r\n background: ${baseColors.base04};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n }\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HeaderCashierButtonDefaultBox} from \"./header-cashier-button.default.box\";\r\nimport {HeaderCashierButtonMrGreenBox} from \"./header-cashier-button.mrgreen.box\";\r\n\r\nexport const HeaderCashierButtonBox = styledByTheme(HeaderCashierButtonDefaultBox)\r\n .forMrGreen(HeaderCashierButtonMrGreenBox)\r\n .apply();\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {HeaderCashierButtonBox} from \"./boxes/header-cashier-button.box\";\r\nimport {getButtonSizeVariant} from \"../../welcome-buttons/header-welcome-buttons-helpers\";\r\nimport React from \"react\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType, CashierSessionType} from \"@sparkware/uc-sdk-core\";\r\n\r\n\r\nexport const HeaderCashierButtonComponent = observer(class HeaderCashierButtonComponent extends OrbitComponent {\r\n private _onCashierClick = async () => {\r\n await this.services.cashier.openCashier({\r\n sessionType: CashierSessionType.FullCashier,\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.Header,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n }\r\n render() {\r\n return (\r\n \r\n {this.services.translation.translate('CASHIER')}\r\n \r\n )\r\n }\r\n});","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {PCContainerBox} from \"../boxes/pc-container/pc-container.box\";\r\nimport {getButtonsSeparator} from \"../../header-welcome-buttons-helpers\";\r\nimport {HeaderCashierButtonComponent} from \"../../../buttons/cashier-button/header-cashier-button.component\";\r\nimport React from \"react\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserPcViewComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserPcViewComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n {getButtonsSeparator(this.services)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent} from \"./mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserPcViewComponent} from \"./pc-view/header-welcome-buttons-for-authorized-user-pc-view.component\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserComponent extends OrbitComponent {\r\n render() {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const HeaderWelcomeButtonsBox = styled.div`\r\n \r\n`","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {HeaderWelcomeButtonsForAnonymousUserComponent} from \"./anonymous-user/header-welcome-buttons-for-anonymous-user.component\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserComponent} from \"./authorized-user/header-welcome-buttons-for-authorized-user.component\";\r\nimport {\r\n IGameContextViewModel\r\n} from \"../../../services/game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {HeaderWelcomeButtonsBox} from \"./boxes/header-welcome-buttons.box\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\ninterface HeaderWelcomeButtonsComponentProps {\r\n gameContext?: IGameContextViewModel;\r\n}\r\nexport const HeaderWelcomeButtonsComponent = observer(\r\n class HeaderWelcomeButtonsComponent extends OrbitComponent {\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this.services.user.isAuthorized\r\n ? ()\r\n : ()\r\n }\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport React from \"react\";\r\nimport {INSIDE_ORBIT_MENU_CONTAINER} from \"./inside-orbit-menu-container.consts\";\r\nimport {isInsideAutomation} from '../../../utils/automation-helpers';\r\n\r\n\r\nexport class InsideOrbitMenuContainerComponent extends OrbitComponent<{}> {\r\n render() {\r\n if(isInsideAutomation()) {\r\n return null;\r\n }\r\n return
\r\n }\r\n}","export const INSIDE_ORBIT_MENU_CONTAINER = 'inside-orbit-menu-container';","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const LinkToOfferBoxBase = styled.div<{shouldAnimate: boolean, hasCircle: boolean, isHybridEmbedded: boolean}>`\r\n background-size: contain;\r\n height: 50px;\r\n width: 50px;\r\n position: fixed;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 100px)' : '50px'};\r\n right: 55px;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n z-index: 3;\r\n ${CssRule.For.mobile.build()} & {\r\n right: 40px;\r\n }\r\n ${props => props.hasCircle? css`\r\n background-repeat: no-repeat;\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n border-radius: 50%;\r\n ` : '' }\r\n`;","import styled, {css, keyframes, DefaultTheme} from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\n\r\nconst linkToOfferIconKeyframes = (props: {theme: DefaultTheme}) => keyframes`\r\n 0% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0.5)};\r\n }\r\n 60% {\r\n transform: scale(1);\r\n }\r\n 80% {\r\n transform: scale(1);\r\n box-shadow: 0 0 0 35px ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n 100% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n`;\r\n\r\nexport const LinkToOfferIconDefaultBox = styled(LinkToOfferBoxBase)`\r\n ${props => props.shouldAnimate ? css`animation: ${linkToOfferIconKeyframes} 1.2s infinite` : ''};\r\n /* temporary solution for disabling button on mobile landscape - remove once banners will support landscape mode for phones */\r\n ${CssRule.For.mobile.landscape.not.tablet.build()} & {\r\n visibility: hidden;\r\n }\r\n`;\r\n","import {LinkToOfferIconDefaultBox} from \"./link-to-offer-icon.default.box\";\r\n\r\nexport const LinkToOfferIconBox = LinkToOfferIconDefaultBox;\r\n","import {LinkToOfferDialogCloseDefaultBox} from \"./link-to-offer-dialog-close.default.box\";\r\n\r\nexport const LinkToOfferDialogCloseBox = LinkToOfferDialogCloseDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\n\r\nexport const LinkToOfferDialogCloseDefaultBox = styled(LinkToOfferBoxBase)<{zIndex?: number}>`\r\n z-index: ${props => props.zIndex ?? 201};\r\n`;\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LinkToOfferIconBox} from \"./boxes/link-to-offer-icon/link-to-offer-icon.box\";\r\nimport {LinkToOfferDialogCloseBox} from \"./boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box\";\r\nimport {LinkToOfferConfiguration} from \"../../services/configurations/config-data-sections/link-to-offer.configuration\";\r\nimport { IOffer } from '../../services/player-offerings/player-offerings.service';\r\nimport { IShowOfferOptions } from '../../services/player-offerings/player-offerings.service.interface';\r\n\r\nexport interface LinkToOfferComponentProps {\r\n linkToOfferConfig: LinkToOfferConfiguration;\r\n}\r\n\r\n\r\nexport const LinkToOfferComponent = observer(\r\n class LinkToOfferComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.playerOfferings.setWelcomeOfferConfig(this.props.linkToOfferConfig?.welcomeBonus ?? null);\r\n }\r\n\r\n render() {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n let CloseIconComponent = this.services.theme.currentTheme.icons.linkToOfferCloseIcon;\r\n\r\n return (\r\n {this._onCloseDialog()}}\r\n shouldAnimate={false}\r\n hasCircle={true}\r\n zIndex={this.services.playerOfferings.isHighPriorityOffer ? this.services.dialog.getMaxCGPOverlayZIndex() + 2: null}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n const currentOffer = this.services.playerOfferings.currentLinkToOffer;\r\n if(!currentOffer) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this._onLinkToOfferClicked(currentOffer)}}\r\n shouldAnimate={currentOffer.shouldUseLinkToOfferAnimation()}\r\n hasCircle={currentOffer.shouldUseLinkToOfferAnimation()}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n { currentOffer.render() }\r\n \r\n );\r\n }\r\n\r\n\r\n private _onLinkToOfferClicked(offer: IOffer): void {\r\n\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Open_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n\r\n const options: IShowOfferOptions = {\r\n onPopupClosed: () => {\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Close_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n }\r\n };\r\n this.services.playerOfferings.showOfferPopup(offer, options);\r\n }\r\n\r\n private _onCloseDialog = () => {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n this.services.playerOfferings.closeCurrentPopup();\r\n }\r\n };\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../themes/css-global-classes\";\r\nimport {HEADER_Z_INDEX} from \"../../header/header-consts\";\r\n\r\nexport const LobbyHeaderDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background-color: ${props => props.theme.colors.background};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1)+ \"px\"};\r\n z-index: ${HEADER_Z_INDEX - 1};\r\n\r\n padding-top: 15px;\r\n padding-bottom: 12px;\r\n margin-bottom: 10px;\r\n\r\n &.${STICKY} {\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n }\r\n }\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 10px;\r\n padding-bottom: 0;\r\n margin-bottom: 0;\r\n &.${STICKY}{\r\n width:100%;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\n\r\nexport const LobbyHeaderCasino777Box = styled(LobbyHeaderDefaultBox)`\r\n padding-bottom: 0;\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderSiBox = styled(LobbyHeaderDefaultBox)`\r\n &.${STICKY} {\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-image:none;\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {baseColors} from \"../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LobbyHeaderMrGreenBox = styled(LobbyHeaderDefaultBox)`\r\n padding-top: 2.2rem;\r\n background-color: ${baseColors.gray033};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 10px;\r\n }\r\n`;\r\n","import {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderCasino777Box} from \"./lobby-header.casino777.box\";\r\nimport {LobbyHeaderSiBox} from \"./lobby-header.si.box\";\r\nimport {LobbyHeaderMrGreenBox} from \"./lobby-header.mrgreen.box\";\r\n\r\nexport const LobbyHeaderBox = styledByTheme(LobbyHeaderDefaultBox)\r\n .forCasino777(LobbyHeaderCasino777Box)\r\n .forSI(LobbyHeaderSiBox)\r\n .forMrGreen(LobbyHeaderMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleDefaultBox = styled.h1`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n width: 100%;\r\n ${({theme}) => theme.font.presets.secondary};\r\n color: ${props => props.theme.colors.textLight};\r\n font-size: 3rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleSIBox = styled(LobbyHeaderTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.body};\r\n letter-spacing: 0.44rem;\r\n text-transform: uppercase;\r\n font-size: 2.2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.5rem;\r\n &:first-of-type {\r\n margin-top: 0.8rem;\r\n }\r\n margin-bottom: 1.4rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleMrGreenBox = styled(LobbyHeaderTitleDefaultBox)`\r\n margin-bottom: 1rem;\r\n font-size: 16px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n &:first-of-type {\r\n margin-top: 0.9rem;\r\n }\r\n margin-bottom: 1.9rem;\r\n }\r\n`;\r\n","import {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\nimport {LobbyHeaderTitleSIBox} from \"./lobby-header-title.si.box\";\r\nimport {LobbyHeaderTitleMrGreenBox} from \"./lobby-header-title.mrgreen.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyHeaderTitleBox = styledByTheme(LobbyHeaderTitleDefaultBox)\r\n .forSI(LobbyHeaderTitleSIBox)\r\n .forMrGreen(LobbyHeaderTitleMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {GAMING_HISTORY_PAGE, LOBBY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../../themes/css-global-classes\";\r\n\r\nconst LobbyHeaderLinePCBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n display:none;\r\n }\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, ${props => props.theme.colors.brandPrimary}, ${props => props.theme.colors.brandSecondary});\r\n }\r\n`;\r\n\r\nconst LobbyHeaderLineMobileBox = styled.div`\r\n width: 97%;\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLighter};\r\n\r\n .${STICKY} &{\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n\r\nexport const LobbyHeaderLineDefaultBox = styledByDevice(LobbyHeaderLinePCBox, LobbyHeaderLineMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nconst CommonStyles = styled.div`\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, transparent, ${props => props.theme.colors.textLight} 40%, transparent);\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n background: linear-gradient(to right, transparent, ${props => props.theme.colors.brandPrimary} 40%, transparent);\r\n }\r\n`;\r\nconst PCBox = styled(CommonStyles)`\r\n margin-top: 12px;\r\n`;\r\n\r\nconst MobileBox = CommonStyles;\r\n\r\nexport const LobbyHeaderLineCasino777Box = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\n\r\n// i don't want any divider for MrGreen so i just put an empty div\r\nexport const LobbyHeaderLineMrGreenBox = styled.div`\r\n`;\r\n","import {LobbyHeaderLineDefaultBox} from \"./lobby-header-line.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderLineCasino777Box} from \"./lobby-header-line.casino777.box\";\r\nimport {LobbyHeaderLineMrGreenBox} from \"./lobby-header-line.mrgreen.box\";\r\n\r\nexport const LobbyHeaderLineBox = styledByTheme(LobbyHeaderLineDefaultBox)\r\n .forCasino777(LobbyHeaderLineCasino777Box)\r\n .forMrGreen(LobbyHeaderLineMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n self-justify: flex-end;\r\n`;\r\n\r\nexport const LobbyHeaderButtonsContainerBox = DefaultBox;","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n padding: 4px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 3.4rem;\r\n height: 3.4rem;\r\n border: 1px solid ${props => props.theme.colors.backgroundContrast};\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n\r\n svg{\r\n height: 23px;\r\n width: 23px;\r\n }\r\n`;\r\n\r\nexport const LobbyHeaderDefaultButtonsBox = DefaultBox;","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeader777ButtonsBox = styled(LobbyHeaderDefaultButtonsBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.brandSecondaryContrast};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderMrGreenButtonsBox = styled(LobbyHeaderDefaultButtonsBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;\r\n","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\nimport {LobbyHeader777ButtonsBox} from \"./lobby-header-button.777.box\";\r\nimport {LobbyHeaderMrGreenButtonsBox} from \"./lobby-header-button.mrgreen.box\";\r\n\r\nexport const LobbyHeaderButtonsBox = styledByTheme(LobbyHeaderDefaultButtonsBox)\r\n .forCasino777(LobbyHeader777ButtonsBox)\r\n .forMrGreen(LobbyHeaderMrGreenButtonsBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleContainerBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 1rem;\r\n padding-right: 1rem;\r\n }\r\n`;\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../sticky-handler/sticky-handler.interface';\r\nimport {LobbyHeaderBox} from \"./boxes/lobby-header.box\";\r\nimport {LobbyHeaderTitleBox} from \"./boxes/title/lobby-header-title.box\";\r\nimport {LobbyHeaderLineBox} from \"./boxes/line/lobby-header-line.box\";\r\nimport classNames from 'classnames';\r\nimport {STICKY} from \"../../themes/css-global-classes\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {LobbyHeaderButtonsContainerBox} from \"./boxes/buttons/lobby-header-buttons-container.box\";\r\nimport {LobbyHeaderButtonsBox} from \"./boxes/buttons/lobby-header-button.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport { LobbyHeaderTitleContainerBox } from './boxes/title/lobby-header-title.container.box';\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {\r\n IPcFilterIndicatorRenderingOptions,\r\n PcFilterIndicatorRenderingLocation\r\n} from \"../../services/games-filter/games-filter.service.interface\";\r\n\r\nexport interface LobbyHeaderComponentProps extends PropsWithChildren{\r\n stickyHandler: IStickyHandler;\r\n title: string;\r\n showSearchIcon: boolean;\r\n arenaFiltersRenderingOptions?: Nullable;\r\n}\r\n\r\nexport const LobbyHeaderComponent = observer(\r\n class LobbyHeaderComponent extends OrbitComponent {\r\n\r\n private handleSearchClick = () => {\r\n this.services.gameSearch.openSearchResult();\r\n }\r\n\r\n private _renderFiltersIndicatorUnderTheTitle() {\r\n const renderingOptions = this.services.gamesFilter.renderPCFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== PcFilterIndicatorRenderingLocation.BelowArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n private _renderFiltersIndicatorNextToTheTitle() {\r\n const renderingOptions = this.services.gamesFilter.renderPCFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== PcFilterIndicatorRenderingLocation.NextToArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n render() {\r\n\r\n const isMobile = this.services.device.isMobile;\r\n const lobbyHeaderClasses = classNames('cy-lobby-header', {\r\n [STICKY]: this.props.stickyHandler.isSticky\r\n });\r\n\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n //console.log('HeaderHeight: ' + this.services.header.headerHeight);\r\n return (\r\n \r\n \r\n {this.props.title &&\r\n \r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n {this._renderFiltersIndicatorNextToTheTitle()}\r\n \r\n { isMobile &&\r\n \r\n {\r\n this.props.showSearchIcon &&\r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n {this.services.gamesFilter.renderMobileFiltersIndicator()}\r\n
\r\n }\r\n
\r\n }\r\n {this._renderFiltersIndicatorUnderTheTitle()}\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const LoyaltyBarWrapperComponent = observer(class LoyaltyBarWrapperComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.loyaltyIndicator.init();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n});","import styled, { css } from 'styled-components';\r\n\r\nexport const dialogTextMixin = css`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const dialogHighlightedTextMixin = css`\r\n color: ${props => props.theme.colors.brandPrimary};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const DialogTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogBoldTextBox = styled(DialogTextBox)`\r\n font-weight: bold;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogHighlightedTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogHighlightedTextMixin}\r\n`;\r\n\r\nexport const ListDialogTextBox = styled.div`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n margin-top: 4rem;\r\n font-size: 1.5rem;\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogDimmedTextBox = styled.div` \r\n margin-top: 2rem;\r\n font-size: 1.4rem;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n `;","import styled from 'styled-components';\r\nimport {flexColumnContainerMixin, flexRowReverseContainerMixin} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonsWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean;}>`\r\n max-width: 289px;\r\n width: 100%;\r\n margin: 5rem auto 0;\r\n ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? flexColumnContainerMixin : flexRowReverseContainerMixin }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {flexGrowItem, flexFixedSizeItem} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean; flexBasis?: string;}>`\r\n ${flexGrowItem}\r\n width: ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? \"100%\" : \"40%\" };\r\n`;\r\n\r\nexport const ButtonSpacerDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n width: 1rem;\r\n height: 1.5rem;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkActionBox = styled.button`\r\n margin: 0 auto;\r\n\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background: transparent;\r\n padding: 5px 0px 0px;\r\n border: 0;\r\n border-radius: 0;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n text-decoration: underline;\r\n cursor: pointer;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkWrapperDefaultBox = styled.div`\r\n width: 100%;\r\n margin-top: 3rem;\r\n text-align: center;\r\n`;\r\n","import React from 'react';\r\nimport { Button } from '../../basic-ui-components/button/base/button.component';\r\nimport {ButtonsWrapperDefaultBox} from './boxes/actions/buttons-wrapper.box';\r\nimport {ButtonWrapperDefaultBox, ButtonSpacerDefaultBox} from './boxes/actions/button-wrapper.box';\r\nimport {LinkActionBox} from './boxes/actions/link-action.box';\r\nimport {LinkWrapperDefaultBox} from './boxes/actions/link-wrapper.box';\r\nimport classNames from \"classnames\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\n\r\nexport interface IModalDialogActionProps {\r\n text: string;\r\n onClick(): void;\r\n className?: string;\r\n disabled?:boolean;\r\n}\r\nexport interface IModalDialogButtonsComponentProps {\r\n buttonsOnSeparateLines?: boolean;\r\n primaryAction: IModalDialogActionProps;\r\n secondaryAction?: IModalDialogActionProps & {useWarningPreset?: boolean};\r\n linkAction?: IModalDialogActionProps;\r\n className?: string;\r\n}\r\n\r\nexport class ModalDialogActionsComponent extends React.Component {\r\n render() {\r\n return <>\r\n \r\n \r\n \r\n {this.props.primaryAction.text}\r\n \r\n \r\n {this.props.secondaryAction ? <>\r\n \r\n {this.props.secondaryAction.text}\r\n \r\n : null}\r\n \r\n {this.props.linkAction ? \r\n {this.props.linkAction.text}\r\n : null}\r\n ;\r\n }\r\n}\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IAspectRatioBoxProps {\r\n expectedWidth: number;\r\n expectedHeight: number;\r\n}\r\n\r\nconst AspectRatioBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-top: calc(${({expectedWidth, expectedHeight}) => `${expectedHeight} / ${expectedWidth} * 100%`});\r\n`;\r\n\r\ninterface IAspectRatioContentBoxProps {\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nconst AspectRatioContentBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 0;\r\n\r\n ${(props) => props.useBGColorDuringLoadAnimation && props.isLoading && `background-color: ${props.theme.colors.backgroundDark}`};\r\n\r\n animation: ${({isLoading}) => isLoading ? \"LoadingAnimation 1.5s linear 3 forwards\" : \"RevealAnimation 0.5s ease-out forwards\"};\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 1\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n @keyframes RevealAnimation {\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\ninterface IAspectRatioContainerComponentProp extends PropsWithChildren {\r\n width: number;\r\n height: number;\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nexport class AspectRatioContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {TapHandler} from '../../tap-handler/tap-handler.component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport styled from 'styled-components';\r\n\r\ninterface LinkProps extends PropsWithChildren {\r\n box?: AnyStyledComponent;\r\n id?: string;\r\n onClick?: (event?: any) => void;\r\n className?: string;\r\n href?: string;\r\n enableTap?: boolean;\r\n preventDefaultOnClick?: boolean\r\n target?: string;\r\n itemProp?: string;\r\n customProps?: {[key: string]: any};\r\n}\r\n\r\nconst DefaultBox = styled.a`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nexport class Link extends OrbitComponent {\r\n\r\n private _onClick = (event) => {\r\n\r\n if (this.services.miniOrbit.isEnabled && this.props.target === \"_blank\") {\r\n event.preventDefault();\r\n this.services.miniOrbit.openUrl(this.props.href);\r\n\r\n } else if (Check.isNullOrUndefined(this.props.preventDefaultOnClick) || this.props.preventDefaultOnClick) {\r\n event.preventDefault();\r\n }\r\n\r\n if (this.props.onClick) {\r\n this.props.onClick(event);\r\n }\r\n };\r\n\r\n private _getAnchorProps(): any {\r\n let result: any = {};\r\n\r\n if(this.props.id) {\r\n result.id = this.props.id;\r\n }\r\n if(this.props.className) {\r\n result.className = this.props.className;\r\n }\r\n\r\n if(this.props.href) {\r\n result.href = this.services.location.buildFullUri(this.props.href || '/').toString();\r\n }\r\n\r\n if(this.props.target) {\r\n result.target = this.props.target;\r\n }\r\n\r\n if(this.props.itemProp) {\r\n result.itemProp = this.props.itemProp;\r\n }\r\n\r\n if (this.props.customProps) {\r\n result.customProps = this.props.customProps;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _renderAnchor(anchorRef: any) {\r\n const Box = this.props.box || DefaultBox;\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.props.enableTap) {\r\n return this._renderAnchor(null);\r\n }\r\n\r\n let anchorRef: any = React.createRef();\r\n return (\r\n \r\n {this._renderAnchor(anchorRef)}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconDefaultBox = styled.img<{isShownInHeader: boolean}>`\r\n height: 27px;\r\n width: ${props=> props.isShownInHeader === true ? \"35px\" : \"27px\"};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeBox = styled.div<{isShownInHeader: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n cursor: pointer;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`","import {MinimumGamblingAgeIconDefaultBox} from \"./minimum-gambling-age-icon.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconSiBox = styled(MinimumGamblingAgeIconDefaultBox)`\r\n height: 40px;\r\n width: 40px;\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {MinimumGamblingAgeIconDefaultBox} from \"./minimum-gambling-age-icon.default.box\";\r\nimport {MinimumGamblingAgeIconSiBox} from \"./minimum-gambling-age-icon.si.box\";\r\n\r\nexport const MinimumGamblingAgeIconBox = styledByTheme(MinimumGamblingAgeIconDefaultBox).forSI(MinimumGamblingAgeIconSiBox).apply();","import React, {PropsWithChildren} from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeBox} from \"./boxes/minimum-gambling-age.box\";\r\nimport {MinimumGamblingAgeIconBox} from \"./boxes/icon/minimum-gambling-age-icon.box\";\r\nimport classNames from 'classnames';\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\ninterface MinimumGamblingAgeComponentProps extends PropsWithChildren {\r\n className?: string;\r\n iconBox?: React.ComponentType;\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const MinimumGamblingAgeComponent = observer(\r\n class MinimumGamblingAgeComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_responsible_gaming_click');\r\n await this.services.linksNavigation.openResponsibleGaming();\r\n }\r\n\r\n private _getIcon(): string {\r\n const age = this.services.regulation.current.responsibleGamingAge;\r\n switch (this.services.configuration.data.header.responsibleIcons?.ageButton?.iconType) {\r\n case 'flat':\r\n if(age === 21) {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age21PlusFlat.toString();\r\n } else {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusFlat.toString();\r\n }\r\n case 'capsule':\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusCapsule.toString();\r\n default:\r\n if(age === 21) {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age21PlusRound.toString();\r\n } else {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusRound.toString();\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n render() {\r\n const url = this._getIcon();\r\n const IconBox = this.props.iconBox ?? MinimumGamblingAgeIconBox;\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\n\r\nexport const NetherlandsMinimumGamblingAgeLabelBox = styled.div`\r\n color: ${props => props.theme.colors.textLight};\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeComponent} from \"../../minimum-gambling-age.component\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {NetherlandsMinimumGamblingAgeLabelBox} from \"./boxes/netherlands-minimum-gambling-age-label.box\";\r\n\r\ninterface NetherlandsMinimumGamblingAgeComponentProps {\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const NetherlandsMinimumGamblingAgeComponent = observer(class NetherlandsMinimumGamblingAgeComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n \r\n Speel bewust\r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {MinimumGamblingAgeIconDefaultBox} from \"../../../boxes/icon/minimum-gambling-age-icon.default.box\";\r\n\r\nexport const SwedenMinimumGamblingAgeIconBox = styled(MinimumGamblingAgeIconDefaultBox)<{isShownInHeader: boolean}>`\r\n height: ${props => props.isShownInHeader === true ? \"2.5rem\" : \"23px\"};\r\n width: ${props => props.isShownInHeader === true ? \"auto\" : \"35px\"};\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeComponent} from \"../../minimum-gambling-age.component\";\r\nimport {SwedenMinimumGamblingAgeIconBox} from \"./boxes/sweden.minimum-gambling-age-icon.box\";\r\n\r\ninterface SwedenMinimumGamblingAgeComponentProps {\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const SwedenMinimumGamblingAgeComponent = observer(class SwedenMinimumGamblingAgeComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\n\r\nexport const DenmarkResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n margin-left: 20px;\r\n }\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DenmarkResponsibleGamingButtonBaseBox = styled.button<{imageUrl: string}>`\r\n background-image: url(\"${props => props.imageUrl}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n cursor: pointer;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSafeToPlayButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 40px;\r\n height: 40px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 25px;\r\n height: 25px;\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSafeToPlayButtonBox} from \"./boxes/denmark.safe-to-play-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSafeToPlayButtonComponent = observer(class DenmarkSafeToPlayButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_doga_icon_click');\r\n await this.services.linksNavigation.openSafeToPlay();\r\n }\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSelfExclusionButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 50px;\r\n height: 25px;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSelfExclusionButtonBox} from \"./boxes/denmark.self-exclusion-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfExclusionButtonComponent = observer(class DenmarkSelfExclusionButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_stop_spillet_icon_click');\r\n await this.services.linksNavigation.openSelfExclusion();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSelfTestButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 50px;\r\n height: 25px;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {DenmarkSelfTestButtonBox} from \"./boxes/denmark.self-test-button.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfTestButtonComponent = observer(class DenmarkSelfTestButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_rofus_icon_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkResponsibleGamingButtonsBox} from \"./boxes/denmark.responsible-gaming-buttons.box\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {DenmarkSafeToPlayButtonComponent} from \"./safe-to-play-button/denmark.safe-to-play-button.component\";\r\nimport {DenmarkSelfExclusionButtonComponent} from \"./self-exclusion/denmark.self-exclusion-button.component\";\r\nimport {DenmarkSelfTestButtonComponent} from \"./self-test-button/denmark.self-test-button.component\";\r\n\r\nexport const DenmarkResponsibleGamingButtonsComponent = observer(class DenmarkResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n const multiplier = this.services.mediaQuery.sAndBelow ? 1 : 1;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const PanicButtonSVGIconClassName = \"panic-button-svg-icon\";\r\n\r\nexport const PanicButtonBox = styled.div`\r\n width: 15.7rem;\r\n height: 2.7rem;\r\n\r\n &.${ACTIVE} {\r\n &::after{\r\n display: block;\r\n }\r\n }\r\n\r\n .${PanicButtonSVGIconClassName} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n \r\n &::before {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n top: 3.9rem;\r\n width: 15rem;\r\n height: 0.8rem;\r\n background: transparent;\r\n }\r\n\r\n &::after{\r\n display: none;\r\n content: \" \";\r\n position: relative;\r\n left: 3rem;\r\n top: -0.3rem;\r\n width: 1px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: transparent transparent ${({theme}) => theme.colors.backgroundContrast} transparent;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow}{\r\n @media ${({theme}) => theme.mediaQuery.portrait}{\r\n left: 7.5rem;\r\n }\r\n }\r\n }\r\n`;\r\n","export const IN_DETAILED_HISTORY= 'in-detailed-history';\r\nexport const IN_GAME = \"in-game\";","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {IN_DETAILED_HISTORY} from \"../css-classes\";\r\n\r\nexport const PanicButtonTooltipBox = styled.div`\r\n display: none;\r\n background-color: white;\r\n text-align: center;\r\n border-radius: 0.3rem;\r\n padding: 0.5rem;\r\n margin-top: 0.7rem;\r\n cursor: default;\r\n\r\n position: absolute !important;\r\n z-index: 107;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.textDark};\r\n\r\n &.${ACTIVE} {\r\n display: block;\r\n }\r\n\r\n &.${IN_DETAILED_HISTORY} {\r\n @media ${({theme}) => theme.mediaQuery.sAndAbove}{\r\n @media ${({theme}) => theme.mediaQuery.landscape}{\r\n left: initial;\r\n transform: translateX(-58%);\r\n }\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow}{\r\n @media ${({theme}) => theme.mediaQuery.portrait}{\r\n left: 1rem;\r\n width: calc(100% - 2rem);\r\n box-sizing: border-box;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n padding: 0.5rem 1rem 0.5rem 1rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupBox = styled.div`\r\n display:flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 5rem 5rem 0;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.5rem;\r\n color: ${({theme}) => theme.colors.textLight};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n padding: 5rem 2rem 0 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupTimeBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary}; \r\n padding-left: 0.5rem;\r\n padding-right: 0.5rem;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupOkBox = styled.div`\r\n width: 100%;\r\n margin-top: 5rem;\r\n`;","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {PanicButtonPopupBox} from \"./boxes/panic-button-popup.box\";\r\nimport React from 'react';\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {IModalDialogHandler} from \"../../../../../services/dialog/dialog.service.interface\";\r\nimport {PanicButtonPopupTimeBox} from \"./boxes/panic-button-popup-time.box\";\r\nimport {PanicButtonPopupOkBox} from \"./boxes/panic-button-popup-ok.box\";\r\nimport { DialogTextBox } from \"../../../../modal-dialog/boxes/text/dialog-text.box\";\r\nimport { ModalDialogActionsComponent } from \"../../../../modal-dialog/modal-dialog-actions.component\";\r\n\r\ninterface PanicButtonPopupComponentProps{\r\n textMessage1:string,\r\n textMessage2:string,\r\n textMessage3:string,\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport class PanicButtonPopupComponent extends OrbitComponent{\r\n\r\n private _getTime():string{\r\n const now = new Date();\r\n return new TimeSpan(0,now.getHours(),now.getMinutes()).toString();\r\n }\r\n\r\n private _closeDialog = () => {\r\n this.props.dialogHandler.close();\r\n }\r\n\r\n render(){\r\n return (\r\n \r\n {this.props.textMessage1}\r\n \r\n {this.props.textMessage2}\r\n {this._getTime()}\r\n {this.props.textMessage3}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const TooltipClickHereBox = styled.span`\r\n text-decoration: underline;\r\n font-weight: bold;\r\n padding-left: 0.5rem;\r\n padding-right: 0.5rem;\r\n cursor: pointer;\r\n margin-bottom: 0;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonTooltipCloseBox = styled.div`\r\n position: absolute;\r\n right: 0.2rem;\r\n top: 0.1rem;\r\n width: 1rem;\r\n height: 1rem;\r\n cursor: pointer;\r\n \r\n &::before, &::after {\r\n position: absolute;\r\n content: ' ';\r\n height: 1rem;\r\n width: 0.1rem;\r\n background-color: black;\r\n }\r\n &::before {\r\n transform: rotate(45deg);\r\n }\r\n &::after {\r\n transform: rotate(-45deg);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const PanicButtonMobileOverlayBox = styled.div`\r\n display: none;\r\n position:absolute;\r\n width: 100vw;\r\n height: 100vh;\r\n background-color:rgba(0, 0, 0, 0);\r\n top:0;\r\n left:0;\r\n z-index: 106;\r\n \r\n &.${ACTIVE}{\r\n display: block;\r\n }\r\n`;","import React from 'react';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {PanicButtonBox, PanicButtonSVGIconClassName} from \"./boxes/panic-button.box\";\r\nimport {PanicButtonTooltipBox} from \"./boxes/panic-button-tooltip.box\";\r\nimport classNames from 'classnames';\r\nimport {observer} from \"mobx-react\";\r\nimport {PanicButtonPopupComponent} from \"./panic-button-popup.component\";\r\nimport {TooltipClickHereBox} from \"./boxes/panic-button-tooltip-click-here\";\r\nimport {OrbitComponentWithState} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\nimport {IN_DETAILED_HISTORY} from \"./css-classes\";\r\nimport {GermanyResponsibleGamingButtonPlacement} from \"../../../../../../common/const/responsible-gaming\";\r\nimport {PanicButtonTooltipCloseBox} from \"./boxes/panic-button-tooltip-close.box\";\r\nimport {PanicButtonMobileOverlayBox} from \"./boxes/panic-button-mobile-overlay.box\";\r\n\r\ninterface TooltipState {\r\n isTooltipVisible: boolean\r\n}\r\n\r\nexport interface ResponsibleGamingButtonsGermanyComponentProps {\r\n placement: GermanyResponsibleGamingButtonPlacement\r\n}\r\n\r\nexport const ResponsibleGamingButtonsGermanyComponent = observer(\r\n class ResponsibleGamingButtonsGermanyComponent extends OrbitComponentWithState {\r\n state: TooltipState = {\r\n isTooltipVisible: false\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({\r\n isTooltipVisible: false\r\n })\r\n }\r\n\r\n private _restrictUser(): void {\r\n this.setState({isTooltipVisible: false});\r\n this.services.user.panicRestrictUser().then((data) => {\r\n console.log(data);\r\n this._openPopup();\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n this._sendAnalytics(\"activate\");\r\n }\r\n\r\n private _openPopup() {\r\n this.services.dialog.showModal((dialogHandler) =>\r\n ,\r\n {\r\n title: this.services.translation.translate(\"panic_restriction_popup_title\"),\r\n shouldBeClosedOnlyByUser: true,\r\n hideCloseButton: true,\r\n isHighPriority: true\r\n })\r\n }\r\n\r\n private _onMouseEnterPanicBtn() {\r\n if(!this.services.device.os.isMobileOS){\r\n this.setState({isTooltipVisible: true});\r\n this._sendAnalytics(\"click\");\r\n }\r\n }\r\n\r\n private _onMouseLeavePanicBtn() {\r\n if(!this.services.device.os.isMobileOS) {\r\n this.setState({isTooltipVisible: false});\r\n }\r\n }\r\n\r\n private _closeToolTip(event) {\r\n event.stopPropagation();\r\n this.setState({isTooltipVisible: false});\r\n }\r\n\r\n private onClickPanicBtn() {\r\n if (!this.state.isTooltipVisible) {\r\n this.setState({isTooltipVisible: true});\r\n this._sendAnalytics(\"click\");\r\n }\r\n }\r\n\r\n private _sendAnalytics(label: string) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Header\", \"Icon_panic_\" + label);\r\n }\r\n\r\n private _renderCloseBtn() {\r\n if (!this.services.mediaQuery.hover) {\r\n return this._closeToolTip(event)} />\r\n }\r\n return null;\r\n }\r\n\r\n private _renderTooltipClickHere() {\r\n if (this.services.mediaQuery.sAndBelow && this.services.mediaQuery.portrait) {\r\n return (
{this._getTooltipBox()}
);\r\n } else {\r\n return this._getTooltipBox();\r\n }\r\n }\r\n\r\n private _getTooltipBox() {\r\n return this._restrictUser()}>klicken Sie hier.\r\n }\r\n\r\n private _renderMobileOverlay() {\r\n if (this.services.device.os.isMobileOS) {\r\n return this._closeToolTip(event)} />\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n const PanicButtonIcon = this.services.theme.currentTheme.icons.panicButtonRegulationIcon;\r\n return (\r\n \r\n this._onMouseEnterPanicBtn()}\r\n onMouseLeave={() => this._onMouseLeavePanicBtn()}\r\n onClick={() => this.onClickPanicBtn()}>\r\n \r\n \r\n
\r\n Um eine 24-stündige Spielpause einzulegen,\r\n {this._renderTooltipClickHere()}\r\n {this._renderCloseBtn()}\r\n
\r\n \r\n
\r\n {this._renderMobileOverlay()}\r\n
\r\n )\r\n }\r\n });","import styled from \"styled-components\";\r\n\r\nexport const NetherlandsSelfTestButtonBox = styled.button`\r\n width: 105px;\r\n height: 32px;\r\n cursor: pointer;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {NetherlandsSelfTestButtonBox} from \"./boxes/netherlands.self-test-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const NetherlandsSelfTestButtonComponent = observer(class NetherlandsSelfTestButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_ksa_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const OntarioResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\ninterface OntarioSafeToPlayButtonBoxProps {\r\n isShownInHeader: boolean\r\n}\r\n\r\nexport const OntarioSafeToPlayButtonBox = styled.button`\r\n width: 175px;\r\n height: 35px;\r\n background-image: url(\"${props => props.theme.images.regulationSpecific.ontario.safeToPlayButton.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n cursor: pointer;\r\n ${props => !props.isShownInHeader && css`background-position: center center`}\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25px;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n background-position: center center\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OntarioSafeToPlayButtonBox} from \"./boxes/ontario.safe-to-play-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\ninterface OntarioSafeToPlayButtonComponentProps{\r\n isShownInHeader: boolean\r\n}\r\n\r\nexport const OntarioSafeToPlayButtonComponent = observer(class OntarioSafeToPlayButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_ontario_safe_to_play_icon_click');\r\n await this.services.linksNavigation.openSafeToPlay();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OntarioResponsibleGamingButtonsBox} from \"./boxes/ontario.responsible-gaming-buttons.box\";\r\nimport {OntarioSafeToPlayButtonComponent} from \"./safe-to-play/ontario.safe-to-play-button.component\";\r\n\r\ninterface OntarioResponsibleGamingButtonsComponentProps{\r\n isShownInHeader?: boolean\r\n}\r\n\r\nexport const OntarioResponsibleGamingButtonsComponent = observer(class OntarioResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const SwedenResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const SwedenResponsibleGamingButtonSBGIconClassName = \"sweden-responsible-gaming-button-svg-icon\";\r\n\r\nexport const SwedenResponsibleGamingButtonBaseBox = styled.button<{useIconsOnly: boolean}>`\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n cursor: pointer;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n \r\n .${SwedenResponsibleGamingButtonSBGIconClassName} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n \r\n ${props => props.useIconsOnly\r\n ? css`\r\n width: 25px;\r\n height: 24px;\r\n `\r\n : css`\r\n width: 100px;\r\n height: 30px;\r\n `\r\n }\r\n`","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenSelfExclusionButtonBoxProps{\r\n isShownInHeader:boolean;\r\n useIconsOnly: boolean;\r\n}\r\n\r\nexport const SwedenSelfExclusionButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)`\r\n ${props => props.isShownInHeader ? css`\r\n width: 8.5rem;\r\n height: 2.5rem;\r\n `: null}\r\n \r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenSelfExclusionButtonBox} from \"./boxes/sweden.self-exclusion-button.box\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenPanicButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\n\r\nexport const SwedenSelfExclusionButtonComponent = observer(\r\n class SwedenSelfExclusionButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_panic_click');\r\n\r\n await this.services.linksNavigation.openSelfExclusion();\r\n };\r\n\r\n render() {\r\n const SelfExclusionIcon = this.services.theme.currentTheme.icons.selfExclusionRegulationIcon;\r\n const SelfExclusionSymbolIcon = this.services.theme.currentTheme.icons.selfExclusionRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n }}\r\n);","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\nexport const SwedenGamingLimitsButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)<{useIconsOnly: boolean, isShownInHeader: boolean}>`\r\n ${props => props.useIconsOnly\r\n ? css`\r\n width: 26px;\r\n height: 22px;\r\n `\r\n : css`\r\n width: 120px;\r\n `\r\n }\r\n \r\n ${props => props.isShownInHeader ? css`\r\n width: 10rem;\r\n height: 2.5rem;\r\n `: null}\r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenGamingLimitsButtonBox} from \"./boxes/sweden.gaming-limits-button.box\";\r\nimport {CHANNEL_ELEMENTS} from \"../../../../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenGamingLimitsButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\n\r\nexport const SwedenGamingLimitsButtonComponent = observer(\r\n class SwedenGamingLimitsButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_deposit_limits_click');\r\n\r\n await this.services.externalLinks.openGameLimits({\r\n channelArea:AreaType.button,\r\n channelElement:CHANNEL_ELEMENTS.gamesLimitsGameButton,\r\n source: ControlCenterOpenSource.RgPolicy\r\n });\r\n }\r\n\r\n render() {\r\n const GamingLimitIcon = this.services.theme.currentTheme.icons.gamingLimitRegulationIcon;\r\n const GamingLimitSymbolIcon = this.services.theme.currentTheme.icons.gamingLimitRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n\r\n }\r\n }\r\n);","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\nexport const SwedenSelfTestButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)<{useIconsOnly: boolean, isShownInHeader: boolean}>`\r\n ${props => props.isShownInHeader ? css`\r\n width: 8.5rem;\r\n height: 2.5rem;\r\n `: null}\r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenSelfTestButtonBox} from \"./boxes/sweden.self-test-button.box\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenSelfTestButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\nexport const SwedenSelfTestButtonComponent = observer(\r\n class SwedenSelfTestButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_self_test_click');\r\n this.services.analytics.sendElasticInfoEvent({\r\n eventType: 'sweden_self_test',\r\n category: 'Navigation',\r\n action: 'Header',\r\n label: 'Icon_self_test_click'\r\n },true);\r\n\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n\r\n render() {\r\n const SelfTestIcon = this.services.theme.currentTheme.icons.selfTestRegulationIcon;\r\n const SelfTestSymbolIcon = this.services.theme.currentTheme.icons.selfTestRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwedenResponsibleGamingButtonsBox} from \"./boxes/sweden.responsible-gaming-buttons.box\";\r\nimport {SwedenSelfExclusionButtonComponent} from \"./self-exclusion-button/sweden.self-exclusion-button.component\";\r\nimport {SwedenGamingLimitsButtonComponent} from \"./gaming-limits/sweden.gaming-limits-button.component\";\r\nimport {SwedenSelfTestButtonComponent} from \"./self-test-button/sweden.self-test-button.component\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\ninterface SwedenResponsibleGamingButtonsComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader?: boolean;\r\n}\r\nexport const SwedenResponsibleGamingButtonsComponent = observer(\r\n class SwedenResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n let spaceMultiplier;\r\n if(this.props.useIconsOnly) {\r\n spaceMultiplier = 2;\r\n } else if(this.props.isShownInHeader){\r\n spaceMultiplier = 0.5;\r\n } else {\r\n spaceMultiplier = 1;\r\n }\r\n\r\n\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {GenericSideMenuItemBox} from \"../generic/generic-side-menu-item.box\";\r\n\r\nexport const DepositSideMenuItemDefaultBox = styled(GenericSideMenuItemBox)`\r\n padding: 1.6rem 1rem;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {DepositSideMenuItemDefaultBox} from \"./deposit-side-menu-item.default.box\";\r\n\r\n\r\nexport const DepositSideMenuItemCasino777Box = styled(DepositSideMenuItemDefaultBox)`\r\n color: ${props => props.theme.colors.moneyColor};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {DepositSideMenuItemCasino777Box} from \"./deposit-side-menu-item.casino777.box\";\r\nimport {DepositSideMenuItemDefaultBox} from \"./deposit-side-menu-item.default.box\";\r\n\r\n\r\n\r\nexport const DepositSideMenuItemBox = styledByTheme(DepositSideMenuItemDefaultBox)\r\n .forCasino777(DepositSideMenuItemCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuItemLabelBox = styled.span`\r\n flex: 1 0 auto;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const GenericSideMenuItemDefaultBox = styled.div<{active?: boolean}>`\r\n display: flex;\r\n align-items: center;\r\n padding: 0.8rem 0;\r\n font-size: 1.3rem;\r\n line-height: 1;\r\n background-color: ${({theme, active}) => active ? theme.colors.backgroundActive : theme.colors.background};\r\n color: ${({theme, active}) => active ? theme.colors.textActive: theme.colors.text};\r\n transition: color 0.2s ease;\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 0.25rem 0;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.regular};\r\n padding: 1rem 0;\r\n color: ${({theme, active}) => active ? theme.colors.textActive: theme.colors.textLight};\r\n font-size: 1.6rem;\r\n font-weight: 300;\r\n }\r\n &:hover {\r\n color: ${({theme}) => theme.colors.textHover};\r\n background-color: ${({theme}) => theme.colors.backgroundHover};\r\n }\r\n`;\r\n\r\nconst GenericSideMenuItemCasino777Box = styled(GenericSideMenuItemDefaultBox)`\r\n padding: 0.8rem 0.2rem;\r\n font-size: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 1rem;\r\n font-weight: 400;\r\n ${({theme}) => theme.font.presets.body};\r\n }\r\n\r\n`;\r\n\r\nconst GenericSideMenuItemHarrahsWsopBox = styled(GenericSideMenuItemDefaultBox)`\r\n ${({theme}) => theme.font.presets.regular};\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 0.5rem 0;\r\n }\r\n`;\r\n\r\nconst GenericSideMenuItemSIBox = styled(GenericSideMenuItemDefaultBox)`\r\n &:hover {\r\n background-color: ${({theme}) => theme.colors.background};\r\n };\r\n background-color: ${({theme}) => theme.colors.background};\r\n`;\r\n\r\nconst GenericSideMenuItemMrGreenBox = styled(GenericSideMenuItemDefaultBox)`\r\n &:hover {\r\n background-color: transparent;\r\n };\r\n background-color: transparent;\r\n`;\r\n\r\nexport const GenericSideMenuItemBox = styledByTheme(GenericSideMenuItemDefaultBox)\r\n .forCasino777(GenericSideMenuItemCasino777Box)\r\n .forHarrahs(GenericSideMenuItemHarrahsWsopBox)\r\n .forWsop(GenericSideMenuItemHarrahsWsopBox)\r\n .forSI(GenericSideMenuItemSIBox)\r\n .forMrGreen(GenericSideMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst ArrowSideMenuLinkDefaultIcon = styled.div<{active?: boolean}>`\r\n display: block;\r\n width: 2rem;\r\n height: 2rem;\r\n background-image: url(${({theme}) => theme.images.spriteSheet.toString()});\r\n background-repeat: no-repeat;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n\r\n background-position: -762px -651px;\r\n`;\r\n\r\nconst ArrowSideMenuLinkCasino777Icon = styled(ArrowSideMenuLinkDefaultIcon)`\r\n background-position: -611px -491px;\r\n`;\r\n\r\nexport const ArrowSideMenuLinkIcon = styledByTheme(ArrowSideMenuLinkDefaultIcon)\r\n .forCasino777(ArrowSideMenuLinkCasino777Icon)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst SideMenuItemContainerDefaultBox = styled.li`\r\n position: relative;\r\n display: block;\r\n margin: 0 1rem;\r\n border-top: none;\r\n border-bottom: 1px solid ${({theme}) => theme.colors.boxBorderDark};;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerCasino777Box = styled(SideMenuItemContainerDefaultBox)`\r\n margin: 0.4rem 1rem;\r\n border: none;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 1rem 1rem;\r\n }\r\n &:first-child {\r\n border-top: none;\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerMrGreenBox = styled(SideMenuItemContainerDefaultBox)`\r\n border-bottom: none;\r\n`;\r\n\r\nexport const SideMenuItemContainerBox = styledByTheme(SideMenuItemContainerDefaultBox)\r\n .forCasino777(SideMenuItemContainerCasino777Box)\r\n .forMrGreen(SideMenuItemContainerMrGreenBox)\r\n .apply();\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { SideMenuItemContainerBox } from \"./boxes/side-menu-item-container.box\";\r\nimport { CyClass } from \"../../../../common/cy-classes\";\r\nimport classNames from 'classnames';\r\n\r\n\r\ninterface SideMenuItemContainerComponentProps extends PropsWithChildren {\r\n className?: string;\r\n onClick?: () => void;\r\n}\r\n\r\n\r\n@observer\r\nexport class SideMenuItemContainerComponent extends OrbitComponent {\r\n render() {\r\n\r\n return \r\n { this.props.children }\r\n ;\r\n }\r\n}\r\n","import {GameImageDefaultBox} from './game-image.default.box';\r\n\r\nexport const GameImageBox = GameImageDefaultBox;","import styled, { css } from 'styled-components';\r\nimport { GAME_BOX_JACKPOT_TEMPLATE } from '../../../css-constants';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const commonGameImageCssMixin = css`\r\n position: absolute;\r\n width: 100%;\r\n\r\n .${GAME_BOX_JACKPOT_TEMPLATE} & {\r\n max-width: 20rem;\r\n }\r\n`;\r\n\r\nexport const GameImageDefaultBox = styled(Image)<{hide?: boolean; squareIcon?: boolean;}>`\r\n opacity: ${({hide}) => hide ? 0: 1};\r\n ${commonGameImageCssMixin}\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Normally, the radius is taken care in game-image-container.default.box, but for Safari, where we encountered the bug solved above\r\n * the image is rendered in a separate layer and ignores the border radius of the parent\r\n */\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n @media ${props.theme.mediaQuery.lAndBelow} {\r\n border-radius: 8px;\r\n }\r\n `};\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n`;\r\n","import {GameImageAnimatedDefaultBox} from './game-image-animated.default.box';\r\n\r\nexport const GameImageAnimatedBox = GameImageAnimatedDefaultBox;","import styled from 'styled-components';\r\nimport { commonGameImageCssMixin } from '../game-image/game-image.default.box';\r\n\r\nconst DefaultBox = styled.div`\r\n ${commonGameImageCssMixin};\r\n height: 100%;\r\n`;\r\n\r\nexport const GameImageAnimatedDefaultBox = DefaultBox;","import React from 'react';\r\nimport { OrbitComponent } from '../../../../base-components/orbit-component/orbit-component';\r\nimport { GameImageAnimatedBox } from '../../boxes/game-image/game-image-animated.box';\r\nimport { IGameAnimatedIconRegistrationResult } from '../../../../../services/game-animated-icons-manager/game-animated-icons-manager.service.interface';\r\n\r\ninterface IGameImageComponentProps {\r\n animationJsonUrl: string;\r\n animationTiming: {\r\n delay: number;\r\n interval: number;\r\n }\r\n width: number;\r\n height: number;\r\n useSquareIcons?: boolean;\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(): void;\r\n}\r\n\r\nexport class GameImageAnimatedComponent extends OrbitComponent {\r\n private animatedImageWrapper: HTMLElement | null = null;\r\n private pixiAnimationRegistration: IGameAnimatedIconRegistrationResult | null = null;\r\n\r\n private _captureAnimatedImageElementRef = (element: HTMLElement) => {\r\n this.animatedImageWrapper = element;\r\n // cancelAnimationRequest\r\n if (this.pixiAnimationRegistration) {\r\n this.pixiAnimationRegistration.unregister();\r\n this.pixiAnimationRegistration = null;\r\n }\r\n if (element) {\r\n // requestAnimation\r\n this.loadPixiAnimatedIcon();\r\n }\r\n this.animatedImageWrapper = element;\r\n };\r\n\r\n private async loadPixiAnimatedIcon() {\r\n this.pixiAnimationRegistration = this.services.gameAnimatedIconsManager.register({\r\n jsonUrl: this.props.animationJsonUrl,\r\n size: {\r\n width: this.props.width, height: this.props.height\r\n },\r\n wrapper: this.animatedImageWrapper,\r\n timings: this.props.animationTiming,\r\n onAnimationLoad: this.props.onAnimationLoad,\r\n onAnimationWillUnload: this.props.onAnimationWillUnload\r\n });\r\n }\r\n\r\n render() {\r\n return \r\n }\r\n}\r\n","import React from 'react';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {GameImageBox} from '../../boxes/game-image/game-image.box';\r\nimport {GameImageAnimatedComponent} from './game-image-animated.component';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\n\r\nexport type GameIconAnimationState = \"ab-disabled\" | \"unavailable\" | \"static\" | \"animated\";\r\n\r\nexport interface GameIconComponentProps {\r\n gameInfo: GameInfo;\r\n useSquareIcons?: boolean;\r\n useLazyLoading?: boolean;\r\n onLoad?(): void;\r\n onLoadStart?(): void;\r\n onSettled?(): void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n}\r\n\r\nexport interface GameIconComponentState {\r\n loadingAnimation?: boolean;\r\n animationJsonUrl?: string;\r\n hideStaticImage?: boolean;\r\n}\r\n\r\nexport const GameImageComponent = observer(\r\n class GameImageComponent extends OrbitComponentWithState {\r\n constructor(props: GameIconComponentProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(!this.state.animationJsonUrl ? \"unavailable\" : \"static\");\r\n }\r\n }\r\n\r\n private _loadAnimatedIconTimeout = null;\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._loadAnimatedIconTimeout) {\r\n clearTimeout(this._loadAnimatedIconTimeout);\r\n this._loadAnimatedIconTimeout = null;\r\n }\r\n }\r\n private onSettled = () => {\r\n this.setState({loadingAnimation: false});\r\n if (this.props.onSettled) {\r\n this.props.onSettled();\r\n }\r\n this.attemptLoadAnimatedIcon();\r\n };\r\n\r\n private attemptLoadAnimatedIcon = () => {\r\n this._loadAnimatedIconTimeout = setTimeout(() => {\r\n let data = this.props.gameInfo.getGameImage({squareIcon: this._shouldUseSquareIcons(), animatedIcon: true});\r\n if (data) {\r\n this.setState({animationJsonUrl: data});\r\n }\r\n this._loadAnimatedIconTimeout = null;\r\n }, this.props.gameInfo.getAnimatedImageTimings().delay || 0);\r\n };\r\n\r\n private onAnimationLoad = () => {\r\n this.setState({hideStaticImage: true});\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(\"animated\");\r\n }\r\n };\r\n\r\n private onAnimationWillUnload = () => {\r\n this.setState({hideStaticImage: false});\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(\"static\");\r\n }\r\n };\r\n\r\n private _shouldUseSquareIcons = () => {\r\n if (Check.isNullOrUndefined(this.props.useSquareIcons)) {\r\n return this.services.theme.shouldUseSquareIcons;\r\n }\r\n return this.props.useSquareIcons;\r\n }\r\n\r\n render() {\r\n const seoAlt = this.props.gameInfo.getImageSeoAlt();\r\n const imgUrl = this.props.gameInfo.getGameImage({squareIcon: this._shouldUseSquareIcons()});\r\n const useLazyLoad = Check.isNullOrUndefined(this.props.useLazyLoading) ? true : this.props.useLazyLoading;\r\n\r\n return \r\n { this.state.animationJsonUrl ? : null }\r\n {\r\n this.setState({loadingAnimation: true});\r\n }}\r\n onLoad={this.props.onLoad}\r\n onSettled={this.onSettled}\r\n />\r\n ;\r\n }\r\n }\r\n);\r\n","export const GAME_BOX = 'game-box';\r\nexport const GAME_BOX_JACKPOT_TEMPLATE = 'game-box-jackpot-template';\r\nexport const TWO_LINES_TITLE = 'two-lines-title';\r\nexport const GAME_GROUP_LIVE_CASINO = 'game-group-live-casino';\r\nexport const ENABLE_HOVER_ANIMATION = 'enable-hover-animation';\r\nexport const SWIPER_MODE = 'swiper-mode'; //.orbit-slider-slide\r\nexport const GAME_IMAGE_CONTAINER = 'game-image-container';\r\nexport const GRID_GAMES_LIST = 'grid-games-list'; //TODO - I should do something with this when I will refactor games grid list\r\nexport const SINGLE_GAME_IMAGE = 'single-game-image';\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, NEW_LIVE_CASINO_PAGE, TIPPING_HISTORY_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n transition: all 0.03s ease-in-out;\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(204 / 1712 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} &, .${GAMING_HISTORY_PAGE} &, .${TIPPING_HISTORY_PAGE} &{\r\n padding-bottom: calc(122 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${GAMING_HISTORY_PAGE} &, .${TIPPING_HISTORY_PAGE} &{\r\n padding-bottom: calc(77 / 600 * 100%);\r\n }\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(77 / 414 * 100%);\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBanner777Box = styled.div`\r\n position: relative;\r\n width: 100%;\r\n padding-bottom: calc(250 / 1750 * 100%);\r\n \r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1690 * 100%);\r\n }\r\n \r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-bottom: calc(215 / 1024 * 100%);\r\n \r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(155 / 414 * 100%);\r\n \r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(77 / 375 * 100%);\r\n }\r\n }\r\n \r\n`;","import styled from \"styled-components\";\r\nimport { TopBannerDefaultBox } from './top-banner.default.box'\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerSIBox = styled(TopBannerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(100 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(100 / 414 * 100%);\r\n }\r\n }\r\n\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerMrGreenBox = styled(TopBannerDefaultBox)`\r\n\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n .${NEW_LIVE_CASINO_PAGE} &{\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n }\r\n }\r\n`;","import {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBanner777Box} from \"./top-banner.777.box\";\r\nimport {TopBannerSIBox} from \"./top-banner.si.box\";\r\nimport {TopBannerMrGreenBox} from \"./top-banner.mrgreen.box\";\r\n\r\nexport const TopBannerBox = styledByTheme(TopBannerDefaultBox)\r\n .forCasino777(TopBanner777Box)\r\n .forSI(TopBannerSIBox)\r\n .forMrGreen(TopBannerMrGreenBox)\r\n .apply();","import {TopBannerImageDefaultBox} from \"./top-banner-image.default.box\";\r\n\r\nexport const TopBannerImageBox = TopBannerImageDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../raw-components/image/image\";\r\n\r\nexport const TopBannerImageDefaultBox = styled(Image)`\r\n position: absolute;\r\n width: 100%;\r\n height: auto;\r\n bottom: 0;\r\n`;","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport { Image } from \"../../../raw-components/image/image\";\r\n\r\nconst PCBox = styled(Image)``;\r\n\r\nconst MobileBox = styled(Image)`\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n max-height: 40px;\r\n }\r\n`;\r\n\r\nexport const TopBannerLogoImageDefaultBox = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerLogoImageDefaultBox} from \"./top-banner-logo-image.default.box\";\r\n\r\nexport const TopBannerLogoImageCasino777Box = styled(TopBannerLogoImageDefaultBox)`\r\n .${LIVE_CASINO_PAGE} &{\r\n display:none;\r\n }\r\n`;","import {TopBannerLogoImageDefaultBox} from \"./top-banner-logo-image.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerLogoImageCasino777Box} from \"./top-banner-logo-image.casino777.box\";\r\n\r\nexport const TopBannerLogoImageBox = styledByTheme(TopBannerLogoImageDefaultBox).forCasino777(TopBannerLogoImageCasino777Box).apply() ;\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.h1`\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n`;\r\n\r\nconst PCBox = styled(DefaultBox)`\r\n font-size: 2rem;\r\n text-transform: capitalize;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n font-size: 1.8rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n\r\nexport const TopBannerTitleDefaultBox = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerTitleDefaultBox} from \"./top-banner-title.default.box\";\r\n\r\nexport const TopBannerTitleCasino777Box = styled(TopBannerTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.bold};\r\n .${LIVE_CASINO_PAGE} &{\r\n display:none;\r\n }\r\n`;\r\n","import {TopBannerTitleDefaultBox} from \"./top-banner-title.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerTitleCasino777Box} from \"./top-banner-title.casino777.box\";\r\n\r\nexport const TopBannerTitleBox = styledByTheme(TopBannerTitleDefaultBox).forCasino777(TopBannerTitleCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const TopBannerLiveLogoDefaultBox = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n justify-content: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {TopBannerLiveLogoDefaultBox} from \"./top-banner-live-logo.default.box\";\r\n\r\nexport const TopBannerLiveLogoCasino777Box = styled(TopBannerLiveLogoDefaultBox)`\r\n`;","import {TopBannerLiveLogoDefaultBox} from \"./top-banner-live-logo.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerLiveLogoCasino777Box} from \"./top-banner-live-logo.casino777.box\";\r\n\r\nexport const TopBannerLiveLogoBox = styledByTheme(TopBannerLiveLogoDefaultBox).forCasino777(TopBannerLiveLogoCasino777Box).apply();","import {reaction} from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {PixiSpineAnimation} from \"../../services/pixi-app/pixi-spine-animation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\n@observer\r\nexport class AnimatedTopImageComponent extends OrbitComponent {\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _reactionDisposer = null;\r\n private _bannerPixiAnimation: PixiSpineAnimation = null;\r\n\r\n componentDidMount(): void {\r\n this._startAnimation();\r\n this._reactionDisposer = reaction(() =>\r\n [\r\n this.services.mediaQuery.lAndBelow,\r\n this.services.mediaQuery.sAndBelow\r\n ],\r\n (data) => {\r\n this._stopAnimation();\r\n this._startAnimation();\r\n })\r\n }\r\n\r\n\r\n componentWillUnmount(): void {\r\n this._stopAnimation();\r\n this._reactionDisposer();\r\n }\r\n\r\n private _createAnimation() {\r\n let defautSkinConfiguration = {\r\n width: 1750,\r\n height: 200,\r\n name: \"desktop\",\r\n scale: 1\r\n }\r\n\r\n if (this.services.mediaQuery.lAndBelow) {\r\n defautSkinConfiguration.width = 1024;\r\n defautSkinConfiguration.height = 165;\r\n defautSkinConfiguration.name = \"tablet\";\r\n defautSkinConfiguration.scale = 1;\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n defautSkinConfiguration.width = 414;\r\n defautSkinConfiguration.height = 105;\r\n defautSkinConfiguration.name = \"mobile\";\r\n defautSkinConfiguration.scale = 0.6;\r\n }\r\n return new PixiSpineAnimation(\r\n this.services,\r\n {\r\n width: defautSkinConfiguration.width, height: defautSkinConfiguration.height, force2DCanvasContext: true\r\n },\r\n [{name: 'slotsAnimatedBannerResource', jsonUrl: this.props.image}],\r\n {\r\n render: ({pixiApp, spineAnimations}) => {\r\n let spineAnimation = spineAnimations.slotsAnimatedBannerResource;\r\n spineAnimation.skeleton.setSkinByName(defautSkinConfiguration.name);\r\n spineAnimation.skeleton.setSlotsToSetupPose();\r\n\r\n // set the position and scale\r\n spineAnimation.x = pixiApp.screen.width / 2;\r\n spineAnimation.y = pixiApp.screen.height / 2;\r\n spineAnimation.scale.set(defautSkinConfiguration.scale);\r\n\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"intro\", false);\r\n spineAnimation.state.addAnimation(0, \"loop\", true, 0);\r\n }\r\n\r\n runAnimation();\r\n }\r\n },\r\n {\r\n width: \"100%\"\r\n }\r\n );\r\n }\r\n\r\n private async _startAnimation() {\r\n this._bannerPixiAnimation = this._createAnimation();\r\n this._bannerPixiAnimation.start();\r\n this._bannerPixiAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private _stopAnimation() {\r\n this._bannerPixiAnimation.dispose();\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n }\r\n\r\n render() {\r\n return (<>\r\n
\r\n
\r\n {/* when rendering the animated banner, on mobile, because of the canvas we cannot scroll the page when holding from the canvas element.\r\n So we put this div in front of it so when we touch the screen, the target element is the div not the canvas */}\r\n
\r\n );\r\n }\r\n}","import React, {RefObject} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {TopBannerBox} from \"./boxes/top-banner/top-banner.box\";\r\nimport {TopBannerImageBox} from \"./boxes/top-banner-image/top-banner-image.box\";\r\nimport {TopBannerLogoImageBox} from \"./boxes/top-banner-logo-image/top-banner-logo-image.box\";\r\nimport {TopBannerTitleBox} from \"./boxes/top-banner-title/top-banner-title.box\";\r\nimport {TopBannerLiveLogoBox} from \"./boxes/top-banner-live-logo/top-banner-live-logo.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {AnimatedTopImageComponent} from '../animated-top-image/animated-top-image.component';\r\n\r\nexport interface TopImageComponentProps {\r\n image: string;\r\n animatedBanner?: string;\r\n title?: string;\r\n altText?: string;\r\n className?: string;\r\n topImageRef?: RefObject;\r\n}\r\n\r\nexport const TopImageComponent = observer(class TopImageComponent extends OrbitComponent {\r\n\r\n private _renderLogoAndTitle() {\r\n if(this.props.title) {\r\n const srcLogo = this.services.device.isMobile\r\n ? this.services.theme.currentTheme.images.liveArena.casinoLiveLogoMobile.toString()\r\n : this.services.theme.currentTheme.images.liveArena.casinoLiveLogoPC.toString();\r\n return (\r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n )\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n\r\n if (!this.props.image) {\r\n return null;\r\n }\r\n\r\n // TODO: maybe get also an image placeholder to enable lazy loading\r\n return (\r\n \r\n \r\n {this.props.animatedBanner ?\r\n \r\n :\r\n }\r\n {this._renderLogoAndTitle()}\r\n \r\n \r\n )\r\n\r\n }\r\n});\r\n","import styled from 'styled-components';\r\n\r\nexport const UsefulLinksListDefaultBox = styled.ul`\r\n background-color: ${props => props.theme.colors.background};\r\n list-style-type: none;\r\n text-align: left;\r\n margin: -2px 0;\r\n padding: 0 1rem 0 1.85rem;\r\n width: 100%;\r\n`;\r\n","import styled from 'styled-components';\r\nimport {UsefulLinksListDefaultBox} from './useful-links-list.default.box';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const UsefulLinksListCipBox = styled(UsefulLinksListDefaultBox)`\r\n border-radius: 10px;\r\n text-align: center;\r\n padding: 10px;\r\n \r\n ${CssRule.For.mobile.tablet.build()} & {\r\n padding: 0;\r\n border-radius: 0;\r\n min-width: 50rem;\r\n }\r\n`;","import {UsefulLinksListDefaultBox} from './useful-links-list.default.box';\r\nimport {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {UsefulLinksListCipBox} from './useful-links-list.cip.box';\r\n\r\nexport const UsefulLinksListBox = styledByTheme(UsefulLinksListDefaultBox)\r\n .forCip(UsefulLinksListCipBox)\r\n .forWsopCip(UsefulLinksListCipBox)\r\n .forCis(UsefulLinksListCipBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {UsefulLinksListBox} from '../../boxes/useful-links-list/useful-links-list.box';\r\nimport {observer} from 'mobx-react';\r\n\r\nexport interface UsefulLinksListComponentProps {\r\n onItemClick?: () => void;\r\n}\r\n\r\nexport const UsefulLinksListComponent = observer(\r\n class UsefulLinksListComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n {this.services.userMenu.usefulLinksMenuItems.map(menuItem => menuItem.renderMenuItem({onBeforeClick: this.props.onItemClick}))}\r\n \r\n )\r\n }\r\n }\r\n);","import {IServiceFactory} from \"../services/service-factory.interface\";\r\nimport {useContext} from \"react\";\r\nimport {OrbitContext} from \"../orbit-context\";\r\n\r\nexport function useServices(): IServiceFactory {\r\n return useContext(OrbitContext).services;\r\n}","import {IServiceFactoryExtended} from './service-factory-extended.interface';\r\nimport {IReactionOptions} from \"mobx\";\r\nimport {reaction as mobxReaction, IReactionDisposer, IReactionPublic} from 'mobx'\r\n\r\nexport class ServiceBase {\r\n constructor(private _serviceFactory: IServiceFactoryExtended) {\r\n }\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this._serviceFactory;\r\n }\r\n\r\n private _reactions: IReactionDisposer[] = [];\r\n\r\n private _getClassName(): string {\r\n const thisProto = Object.getPrototypeOf(this);\r\n if(thisProto.constructor.name) {\r\n return thisProto.constructor.name;\r\n } else {\r\n return thisProto.constructor.CLASS;\r\n }\r\n }\r\n\r\n reaction(expression: (r: IReactionPublic) => T, effect: (arg: T, prev: FireImmediately extends true ? T | undefined : T, r: IReactionPublic) => void, opts?: IReactionOptions): void {\r\n this._reactions.push(mobxReaction(expression, effect, opts));\r\n }\r\n\r\n protected getABFeatureData(): any{\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n return this.services.sdk.getAbTestingDataForFeature(this._getClassName());\r\n }\r\n\r\n\r\n dispose() {\r\n this._reactions.forEach(disposer => disposer());\r\n }\r\n}\r\n","import {IElasticEventData, IStructuredLogger} from '../../../common/interfaces/structured-logging-service-interface';\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\n\r\nexport enum OrbitUserFlowAnalyticsCategory {\r\n Navigation = 'Navigation',\r\n PWA = 'PWA',\r\n Search = 'Search',\r\n}\r\n\r\nexport enum OrbitUserFlowAnalyticsLabel {\r\n AppHeader = \"AppHeader\",\r\n NavigationMenu = 'NavMenu',\r\n UserArea = 'UserArea',\r\n BottomNavigationBar = 'BottomNavBar',\r\n ShowMore = 'Show_More'\r\n}\r\n\r\nexport type OrbitUserFlowAnalyticsAction = MenuItemKey\r\n | string\r\n | 'myAccountButton' | 'withdrawButton' | 'depositButton'\r\n | 'Entry';\r\n\r\nexport enum OrbitMarketingEventAnalyticsCategory {\r\n Conversion = 'Conversion',\r\n Communications = 'Communications',\r\n}\r\n\r\nexport enum OrbitMarketingEventAnalyticsLabel {\r\n PreGamePopUp = 'PreGamePopUp',\r\n DemoRegPopup = 'DemoRegPopup',\r\n VideoPlayback = 'VIDEO_PLAYBACK',\r\n Error = 'ERROR',\r\n Click = 'CLICK',\r\n}\r\n\r\nexport type OrbitMarketingEventAnalyticsAction = MenuItemKey\r\n | string\r\n | 'Play' | 'Show'\r\n | 'IN_VIEW' | 'LIMIT_REACH' | 'AUTOPLAY' | 'PLAY' | 'PLAY_GAME' | 'SOUND_CLICK'\r\n | 'Open_Floating_Button' | 'Close_Floating_Button' | 'View_Floating_Button';\r\n\r\nexport enum OrbitAIFeatureAnalyticsCategory {\r\n AIArenaIconsDisplayed = 'AI_ArenaIconsDisplayed',\r\n CorrelatedGamePopUp = 'CorrelatedGamePopUp'\r\n}\r\n\r\nexport type OrbitAIFeatureAnalyticsAction = MenuItemKey\r\n | string\r\n | 'Game_Unavailable'\r\n\r\n\r\nexport interface ISendElasticEventOptions {\r\n eventType: string;\r\n category: string;\r\n action: string;\r\n label?: string;\r\n value?: string;\r\n customData?: object;\r\n appID?: string;\r\n}\r\n\r\nexport interface IAnalyticsService {\r\n sendAnalytics(category: string, action?: string, label?: string, value?: any, omitStructuredLogger?: boolean): void;\r\n sendTechnicalEvent(action: string, label?: string, value?: any): void;\r\n sendElasticInfoEvent(options: ISendElasticEventOptions, sendToDWH?: boolean): void;\r\n sendOrbitUserFlowEvent(category: string | OrbitUserFlowAnalyticsCategory, action: OrbitUserFlowAnalyticsAction, label?: string | OrbitUserFlowAnalyticsLabel, value?: any): void;\r\n sendOrbitMarketingEvent(category: string | OrbitMarketingEventAnalyticsCategory, action: OrbitMarketingEventAnalyticsAction, label?: string | OrbitMarketingEventAnalyticsLabel, value?: any): void;\r\n sendOrbitAIFeatureEvent(category: string | OrbitAIFeatureAnalyticsCategory, action: OrbitAIFeatureAnalyticsAction, label?: string, value?: any): void;\r\n getLogger(eventData?: IElasticEventData): IStructuredLogger;\r\n getGoogleClientID(): string;\r\n}\r\n\r\n\r\n\r\n","export const LIVE_CASINO_ARENA_NAME = 'liveCasino';\r\nexport const NEW_LIVE_CASINO_ARENA_NAME = 'newLiveCasino';\r\nexport const CIP_ALL_GAMES_ARENA_NAME = 'cipAllGames';\r\nexport const SLOTS_ARENA_NAME = 'slots';\r\nexport const CASINO_GAMES_ARENA_NAME = 'casinoGames';\r\nexport const JACKPOTS_ARENA_NAME = 'jackpots';\r\nexport const EXCLUSIVE_ARENA_NAME = 'exclusive888Games';\r\nexport const SCRATCH_CARDS_ARENA_NAME = 'scratchCards';\r\nexport const VIDEO_POKER_ARENA_NAME = 'videoPoker';\r\nexport const INSTANT_WIN_GAMES_ARENA_NAME = 'instantWinGames';\r\nexport const BLACKJACK_ARENA_NAME = 'blackjack';\r\nexport const VIRTUAL_SPORT_ARENA_NAME = 'virtualSport';\r\nexport const ROULETTE_ARENA_NAME = 'roulette';\r\nexport const PROGRESSIVE_SLOTS_ARENA_NAME = 'progressiveSlots';\r\nexport const NEW_GAMES_ARENA_NAME = 'newGames';\r\nexport const HOME_PAGE_ARENA = 'homePage';\r\n\r\nexport const ALL_ARENAS = Array.of(\r\n LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_ARENA_NAME,\r\n CIP_ALL_GAMES_ARENA_NAME,\r\n SLOTS_ARENA_NAME,\r\n CASINO_GAMES_ARENA_NAME,\r\n JACKPOTS_ARENA_NAME,\r\n EXCLUSIVE_ARENA_NAME,\r\n SCRATCH_CARDS_ARENA_NAME,\r\n VIDEO_POKER_ARENA_NAME,\r\n INSTANT_WIN_GAMES_ARENA_NAME,\r\n BLACKJACK_ARENA_NAME,\r\n VIRTUAL_SPORT_ARENA_NAME,\r\n ROULETTE_ARENA_NAME,\r\n PROGRESSIVE_SLOTS_ARENA_NAME,\r\n NEW_GAMES_ARENA_NAME,\r\n HOME_PAGE_ARENA,\r\n);\r\n","import styled, {css} from \"styled-components\";\r\nimport {IBannerContainerBoxProps} from \"../banner-container/banner-container.default.box\";\r\n\r\nexport const EmptyBannerContainerBox = styled.div`\r\n width: 100%;\r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n `};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerContainerBox} from \"./empty-banner-container.box\";\r\n\r\nexport class EmptyBannerComponentProps {\r\n showPlaceholder: boolean;\r\n minHeight: string;\r\n}\r\n\r\n\r\nexport const EmptyBannerComponent = observer(\r\n class EmptyBannerComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(this.props.showPlaceholder && !this.services.device.hybrid.isEmbedded) {\r\n return ()\r\n }\r\n return null;\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {BannerRenderProps, IBannerDefinition} from './banner-definition.interface';\r\nimport {EmptyBannerComponent} from '../../../../components/cms-banner/empty-banner/empty-banner.component';\r\n\r\nexport class EmptyBannerDefinition implements IBannerDefinition {\r\n\r\n render(props: BannerRenderProps): React.ReactNode {\r\n return ()\r\n }\r\n}\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\nexport class CmsBannerId {\r\n constructor(private _componentID: string, private _templateID: string, private _fallbackFileName: string | null) {\r\n }\r\n\r\n isMatch(componentId: number, templateId: number): boolean {\r\n return this._areEqual(componentId, this.componentID)\r\n && this._areEqual(templateId, this.templateID);\r\n }\r\n\r\n private _areEqual(val1: any, val2: any): boolean {\r\n val1 = Check.isNullOrUndefined(val1) ? '' : val1.toString();\r\n val2 = Check.isNullOrUndefined(val2) ? '' : val2.toString();\r\n\r\n return val1 === val2;\r\n }\r\n\r\n get key(): string {\r\n return `${this.componentID}_${this.templateID}_${this._fallbackFileName ?? 'null'}`;\r\n }\r\n\r\n get componentID(): any {\r\n return this._componentID;\r\n }\r\n\r\n get templateID(): any {\r\n return this._templateID;\r\n }\r\n\r\n get fallbackFileName(): string {\r\n return this._fallbackFileName;\r\n }\r\n\r\n toString() {\r\n return `templateID: ${this.templateID}; componentID: ${this.componentID}`;\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\n\r\nexport class CmsLink {\r\n constructor(private _anchorElement: HTMLAnchorElement, private _cmsContentRootElement: HTMLElement, private _services: IServiceFactory) {\r\n this._clickHandler = this._clickHandler.bind(this);\r\n this._anchorElement.addEventListener('click', this._clickHandler);\r\n }\r\n\r\n private _clickHandler(event) {\r\n event.preventDefault();\r\n let anchorUri = this._services.location.tryParseUrl(this._anchorElement.href);\r\n let currentUri = this._services.location.currentUri;\r\n\r\n if(currentUri.origin === anchorUri.origin\r\n && currentUri.pathName.equals(anchorUri.pathName)\r\n && !anchorUri.hash.isEmpty) { // if the anchor href refers to the current route and there is a hash in the anchor href then we need to scroll into view an element with id = #hash\r\n let element = this._cmsContentRootElement.querySelector(anchorUri.hash.toString());\r\n if(element) {\r\n element.scrollIntoView();\r\n }\r\n } else {\r\n this._services.location.push(this._anchorElement.href);\r\n }\r\n };\r\n\r\n\r\n dispose() {\r\n this._anchorElement.removeEventListener('click', this._clickHandler);\r\n }\r\n\r\n}\r\n","/**\r\n * @desc We need this to evaluate all the scripts that b2c add to the components banners and pages\r\n * @param html\r\n * @return {any}\r\n * @private\r\n */\r\nimport {isOrbitInQAMode} from '../../../../utils/qa-mode-utils';\r\nimport {isInsideAutomation} from '../../../../utils/automation-helpers';\r\n\r\nexport function evaluateScripts(html: string): void {\r\n\r\n if(!html) {\r\n return;\r\n }\r\n\r\n /**\r\n Webpack dev server returns the public/index.html instead of 404 for calls like api/pagecontent.\r\n When this happens this function basically will execute the script in the public/index.html.\r\n And that script is launcher.min.js. So basically we will try to load again orbit and sdk and this will fail.\r\n */\r\n if (0 <= html.indexOf('')) {\r\n return;\r\n }\r\n\r\n let scriptRegex = /]*>([\\s\\S]*?)<\\/script>/gm;\r\n\r\n // Remove comment from the html(so we don't run scripts in comment),\r\n html = html.replace(//g, \"\");\r\n let match = scriptRegex.exec(html);\r\n\r\n while (match) {\r\n try {\r\n evaluateScriptsWithExternalFile(match[0]);\r\n match = scriptRegex.exec(html);\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.error('Failed to load script!', match, err);\r\n }\r\n\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Evaluate scripts with external file. ex: \r\n */\r\nfunction evaluateScriptsWithExternalFile(html: string) {\r\n try {\r\n const fakeDiv = document.createElement('div');\r\n fakeDiv.innerHTML = html.trim();\r\n\r\n const scriptElements = fakeDiv.getElementsByTagName('script');\r\n const elementsLength = scriptElements ? scriptElements.length : 0;\r\n\r\n for (let index = 0; index < elementsLength; index++) {\r\n const script = document.createElement(\"script\");\r\n\r\n if (scriptElements[index]['src']) {\r\n script.src = scriptElements[index]['src'];\r\n } else {\r\n //Add try catch to B2C scripts\r\n const tryStart = \"try{\";\r\n const consoleLogFunc = (isOrbitInQAMode() ? 'warn' : 'error');\r\n const tryEnd = `}catch(e){console.${consoleLogFunc}('B2C ERROR In EXTERNAL SCRIPT, ERROR MESSAGE: ', e)}`;\r\n\r\n script.innerHTML = tryStart + scriptElements[index]['innerHTML'] + tryEnd;\r\n\r\n }\r\n\r\n document.head.appendChild(script).parentNode?.removeChild(script);\r\n }\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.log('Error in evaluateScriptsWithExternalFile function, err message:', err);\r\n }\r\n\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {CmsLink} from './cms-link';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {evaluateScripts} from \"./evaluate-scripts\";\r\n\r\nexport class CmsContentDecorator {\r\n constructor(private _element: HTMLElement, private services: IServiceFactory ) {\r\n this._evaluateScripts();\r\n this._loadCmsLinks();\r\n }\r\n\r\n private _cmsLinks: CmsLink[] = [];\r\n\r\n\r\n dispose() {\r\n this._cmsLinks.forEach(a => a.dispose());\r\n }\r\n\r\n\r\n private _evaluateScripts() {\r\n evaluateScripts(this._element.innerHTML);\r\n }\r\n\r\n\r\n private _loadCmsLinks() {\r\n let linkTags = this._element.getElementsByTagName('a');\r\n for(let i = 0; i < linkTags.length; i++) {\r\n let currentLink = linkTags[i] as HTMLAnchorElement;\r\n if (Check.isEmpty(currentLink.href) || currentLink.target === '_blank') {\r\n continue;\r\n }\r\n\r\n let anchorUri = this.services.location.tryParseUrl(currentLink.href);\r\n if(!anchorUri) {\r\n continue;\r\n }\r\n\r\n if(anchorUri.origin === this.services.location.currentUri.origin) {\r\n this._cmsLinks.push(new CmsLink(currentLink, this._element, this.services));\r\n }\r\n\r\n }\r\n }\r\n\r\n scrollIntoView(childElementSelector: string): void {\r\n try {\r\n let el = this._element.querySelector(childElementSelector);\r\n if(el) {\r\n el.scrollIntoView();\r\n }\r\n } catch (err) {\r\n this.services.logger.error(`Failed to scroll into view element with id ${childElementSelector}`, err);\r\n }\r\n\r\n }\r\n}\r\n","import React from 'react';\r\nimport {ButtonPreset} from \"../../basic-ui-components/button/base/button-props.interface\";\r\nimport { ISvgIconProps } from '../../basic-ui-components/icon/svg-icon/svg.icon';\r\nimport {OverflowProperty} from \"../../../common/types/css\";\r\n\r\nexport interface IModalDialogHandler {\r\n close(shouldApplyClosingAnimation?: boolean, isClosedDirectlyByUser?: boolean): void;\r\n zIndex: number;\r\n shouldBeClosedOnlyByUser: boolean;\r\n shouldApplyClosingAnimation: boolean;\r\n readonly isHidden: boolean;\r\n display(): void;\r\n hide(): void;\r\n}\r\n\r\nexport interface ShowModalOptions {\r\n useAutoHeight?: boolean;\r\n title?: string;\r\n icon?: React.ComponentType;\r\n onClosed?: () => void;\r\n onClosedByXButton?: ()=> void;\r\n debugInfo?: string;\r\n hideBorders?: boolean;\r\n hideCloseButton?: boolean;\r\n showOpenAndCloseAnimation?: boolean;\r\n forceTransparentBackground?: boolean;\r\n transparentBackgroundOpacity?: number;\r\n forceTransparentContentBackground?: boolean;\r\n hideDialogHeader?: boolean;\r\n forceCentralization?: boolean;\r\n disableFullscreenMobile?: boolean;\r\n applyMaxHeight?: boolean;\r\n mobileCenterHeader?: boolean;\r\n isHighPriority?: boolean;\r\n forceZOrder?:number;\r\n shouldBeClosedOnlyByUser?: boolean;\r\n forceFullscreenTablet?: boolean;\r\n headerClass?: string;\r\n showPopupAboveSecondWebViewHybrid?:boolean;\r\n noDefaultContentPadding?: boolean;\r\n renderExtraHeaderButtons?: () => React.ReactElement;\r\n overflow?: OverflowProperty;\r\n createAsHidden?: boolean;\r\n}\r\n\r\nexport enum DialogButtonClickHandleResultEnum {\r\n CloseDialogAndContinue,\r\n KeepDialogOpen\r\n}\r\n\r\nexport interface ISimpleTextModalButtonOptions {\r\n text: string;\r\n buttonPreset: ButtonPreset;\r\n onClick: () => Promise;\r\n}\r\n\r\nexport interface ISimpleTextModalOptions {\r\n text: string;\r\n title?: string;\r\n /** @deprecated Do not send an icon as a string url or as react element. Use an svg icon in the iconSvg prop */\r\n icon?: string | React.ReactElement;\r\n iconSvg?: React.ComponentType;\r\n showEmptyTitle?: boolean;\r\n hideCloseButton?: boolean;\r\n buttons?: ISimpleTextModalButtonOptions[];\r\n disableFullscreenMobile?: boolean;\r\n showPopupAboveSecondWebViewHybrid?: boolean;\r\n onClosedByXButton?: ()=> void;\r\n}\r\n\r\nexport interface IDialogService {\r\n showModal(renderContent: (dialogHandler: IModalDialogHandler) => React.ReactNode, options?: ShowModalOptions): IModalDialogHandler;\r\n showSimpleTextModal(options: ISimpleTextModalOptions): IModalDialogHandler;\r\n readonly currentDialogs: React.ReactNode[];\r\n readonly hasOpenDialogs: boolean;\r\n getMaxCGPOverlayZIndex(): number;\r\n closeAllDialogs(): void;\r\n countDialogs(opts: {includeHidden: boolean;}): number;\r\n}","import {UserController_GetPendingActionsResponse} from \"../../../api/api.service\";\r\n\r\n\r\nexport interface IPendingActionExternalLinkHandler {\r\n openPendingAction(options?: TOptions): Promise;\r\n}\r\n\r\nexport type PendingActionData = UserController_GetPendingActionsResponse[\"PendingActions\"][number];\r\n\r\nexport enum PendingActionResultEnum {\r\n ContinueCurrentFlow,\r\n BlockCurrentFlow\r\n}\r\n\r\nexport enum PendingActionTypeEnum {\r\n ResponsibleGaming = 19,\r\n ResponsibleGamingPhase2 = 22,\r\n\r\n /*\r\n Register player to regulator = 1,\r\n Demo to Real conversion = 2,\r\n Privacy policy = 3,\r\n Terms and Conditions approval = 4,\r\n Spain Full Migration = 5,\r\n Spain Only Migration = 6,\r\n Spain Only Registartion = 7,\r\n Complete Registration = 8,\r\n OPT-IN (whether the user wants Promotion Emails ) = 9,\r\n Geo Locate Mobile = 10,\r\n Players acknowledges before continuing = 11,\r\n Email Verification = 13,\r\n NEM-ID authentication required = 14,\r\n Sweden migration = 15,\r\n UK DOB Verification = 16,\r\n UK Address Verification = 17,\r\n UK View Verification Page = 18,\r\n Responsible Gaming = 19,\r\n Bonus Policy change = 20,\r\n Hesse Terms and Conditions Approval = 21,\r\n Responsible Gaming Phase 2 = 22,\r\n Retry Page = 23,\r\n Adding playing time limits = 24,\r\n ResubscribePending = 28,\r\n */\r\n}\r\n\r\nexport enum PendingActionReasonEnum {\r\n GamingCautionInteraction = 20,\r\n /*\r\n Complete real registration process = 1,\r\n Time out in registration to regulator = 2,\r\n Regulation Migration Process = 3,\r\n Short Registration Process = 4,\r\n Geo Location Detection = 5,\r\n Deposited more than the limit = 6,\r\n ThePlayerShouldVerifyHisEmailBeforeContinuing = 7,\r\n Terms and Conditions update = 8,\r\n Other = 9,\r\n DE Migration Process = 10,\r\n Danish Player should be authenticated with its NEM-ID = 11,\r\n UK account verification = 12,\r\n Gaming Caution escalation = 14,\r\n Adding playing time limits = 16,\r\n Adding playing time limits = 17,\r\n */\r\n}\r\n\r\nexport enum PendingActionIdEnum {\r\n SwedenGamingCaution = 40\r\n}","import {MarketingParams} from \"../../../../../common/interfaces/marketing-params.interface\";\r\n\r\nexport const REGISTRATION_DATA_KEY = 'storeRegistrationData';\r\n\r\nexport interface IOpenRegistrationOptions {\r\n marketingParams?: MarketingParams;\r\n}\r\n\r\nexport interface IRegistrationExternalLinkHandler {\r\n openRegistration(options?: IOpenRegistrationOptions): Promise;\r\n}","import {IGamePartsViewModel} from \"../game-parts/game-parts-view-model.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameSize} from \"../open-game-api-callers/open-game-api-response.interface\";\r\nimport {\r\n Nullable,\r\n NullableUndefinedString,\r\n UndefinedNumber\r\n} from \"../../../../../common/types/nullable-types\";\r\nimport {IRunningGameControllerViewModel} from \"../game-controller/running-game-controller.interface\";\r\nimport {IOpenHistoryGameParams} from \"../../game-runner.service.interface\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../free-play/vouchers/free-play-voucher-view-model.interface\";\r\n\r\nexport enum GameModeEnum {\r\n Demo = 0,\r\n Real = 1,\r\n History = 2\r\n}\r\n\r\nexport interface IGameSessionDataViewModel {\r\n readonly totalBets: number;\r\n readonly totalWins: number;\r\n readonly vendorGameSessionId: NullableUndefinedString;\r\n readonly regulationGameSessionId: NullableUndefinedString;\r\n readonly regulationParticipationTicketId: NullableUndefinedString;\r\n readonly netPosition: number;\r\n}\r\n\r\nexport interface IGameFreePlayContextViewModel {\r\n readonly isFreePlay: boolean;\r\n readonly isCurrentFreePlayMandatory: boolean;\r\n readonly shouldShowFreePlayHeader: boolean;\r\n readonly currentFreePlayVoucher: IFreePlayVoucherViewModel | null;\r\n readonly otherAvailableVouchersForCurrentGame: IFreePlayVoucherViewModel[];\r\n}\r\n\r\nexport interface IGameContextViewModel {\r\n readonly gameMode: GameModeEnum;\r\n readonly gameInfo: GameInfo;\r\n readonly controller: IRunningGameControllerViewModel;\r\n readonly gameParts: IGamePartsViewModel;\r\n readonly launchGameUrl: string | null;\r\n readonly gameSize: Nullable;\r\n readonly isGameResizable: boolean;\r\n readonly freePlayContext: IGameFreePlayContextViewModel;\r\n readonly historyGameParams: IOpenHistoryGameParams | undefined;\r\n readonly gameSessionData: IGameSessionDataViewModel;\r\n readonly referrerId: UndefinedNumber;\r\n readonly allowSwitchBetweenDemoAndReal: boolean;\r\n}","import {GameContextModel} from \"../../../companies/game-context/game-context.model\";\r\n\r\nexport enum GameStepsExecutionResultEnum {\r\n Continue,\r\n Cancel\r\n}\r\n\r\n\r\nexport interface IGameRunStep {\r\n readonly isEnabled: boolean;\r\n disableGameStep(): this;\r\n enableGameStep(): this;\r\n executeStep(gameContext: GameContextModel): Promise;\r\n dispose(): void;\r\n}","import {GameInfo} from '../games/game-info';\r\nimport React from \"react\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\n\r\nexport interface IFiltersGroup {\r\n text: string;\r\n filters: ActiveFilter[];\r\n isMultiSelect: boolean;\r\n}\r\n\r\nexport interface ActiveFilter {\r\n readonly id: string;\r\n readonly text: string;\r\n readonly on: boolean;\r\n readonly isDynamic: boolean;\r\n}\r\n\r\n\r\n\r\nexport enum PcFilterIndicatorRenderingLocation {\r\n BelowArenaTitle,\r\n NextToArenaTitle\r\n}\r\nexport interface IPcFilterIndicatorRenderingOptions {\r\n reactElement: React.ReactElement;\r\n location: PcFilterIndicatorRenderingLocation;\r\n}\r\n\r\nexport interface IGamesFilterService {\r\n\r\n readonly filteredGamesMap: Record;\r\n readonly isFilterOn: boolean;\r\n readonly currentAppliedFiltersIds: string[];\r\n readonly isFilteringAvailable: boolean;\r\n isFilterApplied(filterId: string): boolean;\r\n applyFilters(filterIds: string[]): Promise;\r\n clearFilters(): Promise;\r\n renderMobileFiltersIndicator(): React.ReactElement;\r\n renderPCFiltersIndicator(): Nullable;\r\n showFiltersEditor(): void;\r\n}\r\n","export enum GamingHistoryType {\r\n UserHistory = 1,\r\n SessionHistory = 2\r\n}\r\n","enum GNWP_SOURCES {\r\n CASHIER = 'cashier',\r\n CONTACT_US = 'contact_us',\r\n MEMBERSHIP = 'membership',\r\n FORGOT_PASSWORD = 'forgot_password',\r\n FORGOT_USERNAME = 'forgot_username',\r\n MY_ACCOUNT = 'my_account',\r\n OMG = 'omg',\r\n SPORT = 'sport',\r\n RICH = 'rich',\r\n PENDING_LOGIN = 'pending_login',\r\n PENDING_PLAY = 'pending_play',\r\n DOCUMENT_UPLOAD = 'upload_document',\r\n HELP = 'help',\r\n PENDING_APP = 'pending_app',\r\n POKER = 'poker',\r\n LIVE_CHAT = 'live_chat'\r\n}\r\n\r\nexport {GNWP_SOURCES};\r\n","/** Upper limits (non-inclusive) for media breakpoints */\r\nexport const breakpoints = {\r\n xsMax: 401,\r\n sMax: 768,\r\n mMax: 1024,\r\n lMax: 1280,\r\n xlMax: 1480\r\n};\r\n","export enum MediaType {\r\n All = \"all\",\r\n Screen = \"screen\",\r\n Print = \"print\",\r\n Speech = \"speech\",\r\n OnlyScreen = \"only screen\"\r\n}\r\nexport enum MediaOrientation {\r\n Portrait = \"portrait\",\r\n Landscape = \"landscape\"\r\n}\r\nexport enum MediaPointer {\r\n Fine = \"fine\",\r\n Coarse = \"coarse\",\r\n None = \"none\"\r\n}\r\n\r\nexport class MediaQueryBuilder {\r\n static get For(): MediaQueryBuilder {\r\n return new MediaQueryBuilder();\r\n }\r\n private _rules: string[] = [];\r\n private _mediaType: MediaType | undefined;\r\n\r\n mediaType(m: MediaType): MediaQueryBuilder {\r\n this._mediaType = m;\r\n return this;\r\n }\r\n minWidth(w: number): MediaQueryBuilder {\r\n this._rules.push(`(min-width: ${w}px)`);\r\n return this;\r\n }\r\n maxWidth(w: number): MediaQueryBuilder {\r\n this._rules.push(`(max-width: ${w}px)`);\r\n return this;\r\n }\r\n minHeight(h: number): MediaQueryBuilder {\r\n this._rules.push(`(min-height: ${h}px)`);\r\n return this;\r\n }\r\n maxHeight(h: number): MediaQueryBuilder {\r\n this._rules.push(`(max-height: ${h}px)`);\r\n return this;\r\n }\r\n orientation(o: MediaOrientation): MediaQueryBuilder {\r\n this._rules.push(`(orientation: ${o})`);\r\n return this;\r\n }\r\n hover(t: boolean) {\r\n this._rules.push(`(hover: ${t ? 'hover' : 'none'})`);\r\n return this;\r\n }\r\n anyHover(t: boolean) {\r\n this._rules.push(`(any-hover: ${t ? 'hover' : 'none'})`);\r\n return this;\r\n }\r\n pointer(precision?: MediaPointer) {\r\n if (precision) {\r\n this._rules.push(`(pointer: ${precision})`);\r\n } else {\r\n this._rules.push(`(pointer)`);\r\n }\r\n return this;\r\n }\r\n anyPointer(precision?: MediaPointer) {\r\n if (precision) {\r\n this._rules.push(`(any-pointer: ${precision})`);\r\n } else {\r\n this._rules.push(`(any-pointer)`);\r\n }\r\n return this;\r\n }\r\n build(): string {\r\n let rules = [...this._rules];\r\n if (this._mediaType) {\r\n rules.unshift(this._mediaType);\r\n }\r\n return rules.join(' and ');\r\n }\r\n}","import { breakpoints } from \"./breakpoints\";\r\nimport { IMediaQueries } from \"./media-queries.interface\";\r\nimport { MediaOrientation, MediaPointer, MediaQueryBuilder } from \"./media-query-builder\";\r\n\r\nlet { xsMax, sMax, mMax, lMax, xlMax } = breakpoints;\r\n\r\nexport const mediaQueries: IMediaQueries = {\r\n xs: MediaQueryBuilder.For.maxWidth(xsMax - 1).build(),\r\n\r\n sAndBelow: MediaQueryBuilder.For.maxWidth(sMax - 1).build(),\r\n sExact: MediaQueryBuilder.For.minWidth(xsMax).maxWidth(sMax - 1).build(),\r\n sAndAbove: MediaQueryBuilder.For.minWidth(xsMax).build(),\r\n\r\n mAndBelow: MediaQueryBuilder.For.maxWidth(mMax - 1).build(),\r\n mExact: MediaQueryBuilder.For.minWidth(sMax).maxWidth(mMax - 1).build(),\r\n mAndAbove: MediaQueryBuilder.For.minWidth(sMax).build(),\r\n\r\n lAndBelow: MediaQueryBuilder.For.maxWidth(lMax - 1).build(),\r\n lExact: MediaQueryBuilder.For.minWidth(mMax).maxWidth(lMax - 1).build(),\r\n lAndAbove: MediaQueryBuilder.For.minWidth(mMax).build(),\r\n\r\n xlAndBelow: MediaQueryBuilder.For.maxWidth(xlMax - 1).build(),\r\n xlExact: MediaQueryBuilder.For.minWidth(lMax).maxWidth(xlMax - 1).build(),\r\n xlAndAbove: MediaQueryBuilder.For.minWidth(lMax).build(),\r\n\r\n xxl: MediaQueryBuilder.For.minWidth(xlMax).build(),\r\n\r\n portrait: MediaQueryBuilder.For.orientation(MediaOrientation.Portrait).build(),\r\n landscape: MediaQueryBuilder.For.orientation(MediaOrientation.Landscape).build(),\r\n\r\n lowHeight: MediaQueryBuilder.For.maxHeight(900).build(),\r\n\r\n hover: MediaQueryBuilder.For.hover(true).build(),\r\n hoverNone: MediaQueryBuilder.For.hover(false).build(),\r\n\r\n anyHover: MediaQueryBuilder.For.anyHover(true).build(),\r\n anyHoverNone: MediaQueryBuilder.For.anyHover(false).build(),\r\n\r\n pointer: MediaQueryBuilder.For.pointer().build(),\r\n pointerFine: MediaQueryBuilder.For.pointer(MediaPointer.Fine).build(),\r\n pointerCoarse: MediaQueryBuilder.For.pointer(MediaPointer.Coarse).build(),\r\n pointerNone: MediaQueryBuilder.For.pointer(MediaPointer.None).build(),\r\n\r\n anyPointer: MediaQueryBuilder.For.anyPointer().build(),\r\n anyPointerFine: MediaQueryBuilder.For.anyPointer(MediaPointer.Fine).build(),\r\n anyPointerCoarse: MediaQueryBuilder.For.anyPointer(MediaPointer.Coarse).build(),\r\n anyPointerNone: MediaQueryBuilder.For.anyPointer(MediaPointer.None).build()\r\n}\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class AboutDialogAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"aboutDialogMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.orbitComponentInsideSdkProvider.showAboutDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport default class CashierUploadDocumentsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"cashierUploadDocumentsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openUploadDocumentsFromCashier();\r\n }\r\n}","import {AppIdentifiers, AreaType, ChatOpenMode} from \"@sparkware/uc-sdk-core\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemActionBase} from \"../menu-item-action-base\";\r\n\r\n\r\nexport default class ChatAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"chatMenuItem\",configReader, services);\r\n }\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openChat( {\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n appSpecificParameters: {\r\n openMode: ChatOpenMode.Chat,\r\n },\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n element: this.key,\r\n source: AppIdentifiers.CasinoClient\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MyAccountTab} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class ComPointsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"compPointsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMyAccount({\r\n tabId: MyAccountTab.ComPoints\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class ControlCenterAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"controlCenterMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class DepositAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"depositMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openDeposit({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.NavigationMenu,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class GameRemindersAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"gameRemindersMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n\r\n this.services.sdk.openOptions('ReminderSettings');\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AppIdentifiers, AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class HelpCenterAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"helpCenterMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openContactUs({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n element: AppIdentifiers.CRHelpCenter,\r\n source: AppIdentifiers.CasinoClient\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../dialog/dialog.service.interface\";\r\n\r\nexport default class HybridInfoAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"hybridInfoMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n const hybridInfo = await this.services.hybrid.getInfoForDisplay();\r\n this.services.dialog.showSimpleTextModal({\r\n title: 'Info',\r\n text: hybridInfo,\r\n buttons: [\r\n {\r\n text: 'Close',\r\n buttonPreset: 'primary',\r\n onClick: async () => {\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: 'Mail to',\r\n buttonPreset: 'secondary',\r\n onClick: async () => {\r\n this.services.hybrid.openMail(hybridInfo);\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n ]\r\n })\r\n await this.services.orbitComponentInsideSdkProvider.showAboutDialog();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class InactivityTimeoutSettingsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"inactivityTimeoutSettingsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n this.services.sdk.openOptions('InactivityTimeoutSettings');\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class InstallPwaAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"installPWAMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.progressiveWebApp.prompt();\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class LoyaltyIndicatorAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"loyaltyIndicatorMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //nothing to do here\r\n }\r\n\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {MyAccountTab} from \"@sparkware/uc-sdk-core\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class MyClubAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"myClubMenuItem\", configReader, services)\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMyAccount({\r\n tabId: MyAccountTab.LCChallenges\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nexport default class PushNotificationsPermissionsRequestAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"pushNotificationsPermissionsRequest\", configReader, services)\r\n }\r\n\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sdk.promptPushNotificationPermissionRequest();\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CashierSessionType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class ReverseWithdrawalAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"reverseWithdrawalMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openOldCashier({sessionType: CashierSessionType.ReverseWithdrawal});\r\n }\r\n}\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class SignUpAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"signUpMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMembership({\r\n marketingParams: {\r\n dl: this.config.dl\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\n/**\r\n * This class is for demonstrating how to override menu items per regulation. It should be removed when we will have a real case\r\n */\r\nexport default class TestRegulationSpecificAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"testRegulationSpecificMenuItem\", configReader, services);\r\n }\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.dialog.showSimpleTextModal({\r\n text: 'Test regulation specific menu item',\r\n title: 'test',\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterDeeplink, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class TimeSpentReminderAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"timeSpentReminderMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n deeplink: ControlCenterDeeplink.TimeSpentReminderPage,\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class TouchIdAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //this.services.sdk.openOptions('TouchId', '2');\r\n this.services.specificDialogs.showModifyBiometricDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class TransactionHistoryAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"transactionHistoryMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openTransactionHistory(\r\n {\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.transactionHistoryButton\r\n }\r\n }\r\n );\r\n }\r\n}","import {IMenuItemAction, IMenuItemExecuteOptions} from \"./menu-item-action.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader, MenuItemConfigurationExtended\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../common/types/nullable-types\";\r\n\r\nexport abstract class MenuItemActionBase implements IMenuItemAction {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n\r\n protected abstract _onClick(options?: IMenuItemExecuteOptions): Promise;\r\n\r\n async execute(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n this.services.hybrid.closeSecondWebView();\r\n this.services.drawer.right.closeDrawer();\r\n const analytics = this.config.analytics;\r\n if(analytics) {\r\n this.services.analytics.sendOrbitUserFlowEvent(analytics.category, analytics.action, analytics.label);\r\n }\r\n await this._onClick();\r\n }\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n\r\n protected get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return false;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n if(!this.config.linkId) {\r\n return null;\r\n }\r\n return this.services.linksNavigation.getLinkUrl(this.config.linkId);\r\n }\r\n\r\n}","import {IMenuItemRenderer, IRenderMenuItemOptions} from \"./menu-item.renderer.interface\";\r\nimport React from \"react\";\r\nimport {\r\n IMenuItemAction,\r\n IMenuItemExecuteOptions\r\n} from \"../../menu-item-action-factory/menu-item-action.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../../common/types/nullable-types\";\r\nimport {IconSourceConfiguration} from \"../../configurations/config-data-sections/icon-source.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader,\r\n MenuItemConfigurationExtended\r\n} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport abstract class MenuItemRendererBase implements IMenuItemRenderer {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n this.menuItemAction = this.services.menuItemActionFactory.getMenuItemAction(this.key, this.configReader);\r\n }\r\n\r\n protected abstract _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement;\r\n\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n protected _lastRenderOptions: IRenderMenuItemOptions | undefined = undefined;\r\n\r\n private get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n private readonly menuItemAction: IMenuItemAction;\r\n\r\n renderMenuItem(options?: IRenderMenuItemOptions): React.ReactElement {\r\n this._lastRenderOptions = options;\r\n return this._createReactElement(options);\r\n }\r\n\r\n execute(options?: IMenuItemExecuteOptions): Promise {\r\n if(this._lastRenderOptions?.onBeforeClick) {\r\n this._lastRenderOptions.onBeforeClick();\r\n }\r\n return this.menuItemAction.execute(options);\r\n }\r\n\r\n\r\n get text(): string {\r\n return this.services.translation.translate(this.config.text);\r\n }\r\n\r\n get sideText(): NullableUndefinedString {\r\n return null;\r\n }\r\n\r\n get imageOnlyRendering(): boolean {\r\n return this.config.imageOnlyRendering ?? false;\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this.config.display ?? true;\r\n }\r\n\r\n get display(): boolean {\r\n return this._shouldDisplay();\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return this.menuItemAction.isMatchToCurrentUrl;\r\n }\r\n\r\n get iconSource(): IconSourceConfiguration {\r\n return this.config.menuItemIconSource ?? \"themeIcons\";\r\n }\r\n\r\n get icon(): NullableUndefinedString {\r\n return this.config.menuItemIcon;\r\n }\r\n\r\n get iconAltText(): NullableUndefinedString {\r\n return this.config.menuItemIconAltText;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n return this.menuItemAction.getLinkUrl();\r\n }\r\n\r\n\r\n}","import {ServiceBase} from \"../ServiceBase\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"./pixi-spine-animation\";\r\n\r\nexport enum AnimatedIconUnloadReason {\r\n CONTEXT_LOST,\r\n VIEWPORT_EXIT,\r\n REQUESTED,\r\n GAME_OPEN\r\n}\r\n\r\nexport interface IAnimatedIconRequestOptions {\r\n jsonUrl: string;\r\n wrapper: HTMLElement;\r\n size: {width: number; height: number};\r\n timings: {delay: number; interval: number;};\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(reason: AnimatedIconUnloadReason): void;\r\n}\r\n\r\nexport type AnimatedIconObservableTarget = IAnimatedIconRequestOptions & {\r\n animation?: PixiSpineAnimation;\r\n animationDisposer?(reason: AnimatedIconUnloadReason): void;\r\n inViewport?: boolean;\r\n};\r\n\r\n\r\nexport class AnimatedIconBaseService extends ServiceBase{\r\n\r\n\r\n protected loadAnimatedIcon(options: AnimatedIconObservableTarget, resourceName: string) {\r\n if (options.animation && (options.animation.status === AnimationStatus.Loading || options.animation.status === AnimationStatus.Running)) {\r\n throw new Error(\"Animated Icon Loading in progress already for this icon. Please be patient\");\r\n }\r\n\r\n let iconPixiAnimation = new PixiSpineAnimation(this.services, {\r\n width: options.size.width, height: options.size.height,\r\n onContextLost: () => {\r\n if (options.animationDisposer) {\r\n options.animationDisposer(AnimatedIconUnloadReason.CONTEXT_LOST);\r\n }\r\n }\r\n }, [{name: resourceName, jsonUrl: options.jsonUrl}], {\r\n render: ({spineAnimations, loaderResources}) => {\r\n let spineAnimation = spineAnimations[resourceName];\r\n // get the animations\r\n const availableAnimations = loaderResources[resourceName].spineData.animations.map(a => a.name);\r\n\r\n // play animation\r\n const runAnimation = () => {\r\n // animated icons will have only one animation that we play in loop. There won't be complex timeline animations\r\n spineAnimation.state.setAnimation(0, availableAnimations[0], false);\r\n }\r\n let animationSchedule: any;\r\n\r\n spineAnimation.state.addListener({\r\n complete: (entry) => {\r\n // when animation completes, schedule the next iteration\r\n animationSchedule = setTimeout(runAnimation, options.timings.interval);\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n options.animationDisposer = (reason: AnimatedIconUnloadReason) => {\r\n if (options.onAnimationWillUnload) {\r\n options.onAnimationWillUnload(reason);\r\n }\r\n iconPixiAnimation.dispose();\r\n };\r\n\r\n return () => {\r\n clearTimeout(animationSchedule);\r\n };\r\n }\r\n }, {\r\n display: \"block\",\r\n width: \"100%\"\r\n });\r\n\r\n options.animation = iconPixiAnimation;\r\n options.animationDisposer = iconPixiAnimation.dispose;\r\n\r\n iconPixiAnimation.start().then(({status}) => {\r\n if (status === AnimationStatus.Running) {\r\n if (options.onAnimationLoad) {\r\n options.onAnimationLoad();\r\n }\r\n iconPixiAnimation.attachToDOM(options.wrapper);\r\n }\r\n }).catch((e) => {\r\n // An error occured while loading the animated icon. log the error\r\n this.services.logger.error(e);\r\n });\r\n }\r\n}","import {CSSProperties} from \"react\";\r\nimport {IServiceFactory} from \"../service-factory.interface\";\r\nimport {Spine, IPixiAppCreateOptions, Application, LoaderResource} from \"./pixi-app.service.interface\";\r\n\r\nexport interface IPixiSpineResourceDef {\r\n name: string;\r\n jsonUrl: string;\r\n}\r\n\r\ntype AnimationDef = (stuff: {pixiApp: Application, spineAnimations: Record; loaderResources: Record;}) => (void | (() => void));\r\n\r\nexport interface IAnimationRenderer {\r\n render: AnimationDef;\r\n dispose?(): void\r\n}\r\n\r\nexport enum AnimationStatus {\r\n Idle,\r\n Loading,\r\n Failed,\r\n Aborted,\r\n Running,\r\n Disposed\r\n}\r\n\r\ninterface IPixiAnimationPromiseResultSuccess {\r\n status: AnimationStatus.Running;\r\n canvas: HTMLCanvasElement;\r\n}\r\ninterface IPixiAnimationPromiseResultOther {\r\n status: AnimationStatus.Failed | AnimationStatus.Aborted | AnimationStatus.Disposed;\r\n canvas?: undefined;\r\n}\r\n\r\ntype IPixiAnimationPromiseResult = IPixiAnimationPromiseResultSuccess | IPixiAnimationPromiseResultOther;\r\n\r\nexport class PixiSpineAnimation {\r\n private pixiApp: Application;\r\n private pixiAppDisposer: () => void;\r\n private _spineAnimations: Record = {};\r\n private _loaderResources: Record = {};\r\n private disposeActions: Array<() => void> = [];\r\n private _signalAborted = false;\r\n private _status: AnimationStatus = AnimationStatus.Idle;\r\n\r\n constructor(\r\n private services: IServiceFactory,\r\n private pixiAppCreateOptions: IPixiAppCreateOptions,\r\n private resourcesUrls: IPixiSpineResourceDef[],\r\n private renderer: IAnimationRenderer,\r\n private canvasCss?: CSSProperties\r\n ) {\r\n }\r\n\r\n private initPromise: Promise = null;\r\n public start(): Promise {\r\n if (!this.initPromise) {\r\n this.initPromise = this._initialize();\r\n }\r\n return this.initPromise;\r\n }\r\n\r\n private async _initialize(): Promise {\r\n // The init started, set the status as Loading\r\n this._status = AnimationStatus.Loading;\r\n // between constructor and start, the animation could have been aborted or disposed, check it\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // create pixi app. this loads the pixi and pixi-spine libraries first time they are called\r\n let {app: pixiApp, dispose: disposePixiApp, PixiSpine, canvas} = await this.services.pixiApp.createPixiApp(this.pixiAppCreateOptions);\r\n this.pixiApp = pixiApp;\r\n this.pixiAppDisposer = disposePixiApp;\r\n\r\n const {resources} = await this.services.pixiApp.loadResources(pixiApp, this.resourcesUrls).catch((e: unknown) => {\r\n this._status = AnimationStatus.Failed;\r\n disposePixiApp();\r\n throw e;\r\n });\r\n\r\n // loading of pixi libraries and animation resources are async, I must check if someone aborted the animation meanwhile\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // Apply custom CSS to the canvas element created by pixi\r\n if (this.canvasCss) {\r\n Object.getOwnPropertyNames(this.canvasCss).forEach((styleKey) => {\r\n canvas.style[styleKey] = this.canvasCss[styleKey];\r\n });\r\n }\r\n\r\n // for all loaded resources instantiate Spine objects.\r\n // keep both raw loaded resources and Spine objects in Map or Record objects. key is the name.\r\n this.resourcesUrls.forEach((resUrl) => {\r\n this._loaderResources[resUrl.name] = resources[resUrl.name];\r\n let spineAnimation = new PixiSpine.Spine(resources[resUrl.name].spineData);\r\n this._spineAnimations[resUrl.name] = spineAnimation;\r\n pixiApp.stage.addChild(spineAnimation);\r\n });\r\n\r\n // run the specific animation instructions that are given in constructor\r\n // for now, only sync code is supported. to support async make it await\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n const renderDisposer = this.renderer.render({pixiApp, spineAnimations: this._spineAnimations, loaderResources: this._loaderResources});\r\n if (renderDisposer) {\r\n this.disposeActions.push(renderDisposer);\r\n }\r\n\r\n // in case the renderer is async then we should check again if the loading was aborted.\r\n // for now, this code is useless because for the renderer to support async code it should be something like this:\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // all done, set the status to Running and return the status (resolve)\r\n this._status = AnimationStatus.Running;\r\n\r\n return {status: AnimationStatus.Running, canvas: this.pixiApp.view};\r\n }\r\n\r\n public attachToDOM(wrapper: HTMLElement): Promise {\r\n if (!this.initPromise) {\r\n throw new Error(\"Method attachToDOM MUST be called after the method start\");\r\n }\r\n return this.initPromise.then((result) => {\r\n // At this point the status can be only Aborted or Running\r\n // Or, after disposal, the status could be Disposed\r\n if (result.status === AnimationStatus.Running) {\r\n wrapper.appendChild(result.canvas);\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n public get spineAnimations() {\r\n return this._spineAnimations;\r\n }\r\n\r\n public get loaderResources() {\r\n return this._loaderResources;\r\n }\r\n\r\n public get status() {\r\n return this._status;\r\n }\r\n\r\n /**\r\n * Dispose is the one method to be called both for disposal of the running animation and for aborting a loading one\r\n * If the animation object is newly created or loading, then the controller abort will be called.\r\n * that will cause a call to _disposeInternal from the _initialize method, as soon as the method checks the aborted flag\r\n * If the animation is running, we set the disposed status and call _disposeInternal owrselves\r\n */\r\n public dispose = () => {\r\n if (this._status === AnimationStatus.Idle || this._status === AnimationStatus.Loading) {\r\n this._signalAborted = true;\r\n } else if (this._status === AnimationStatus.Running) {\r\n this._status = AnimationStatus.Disposed;\r\n this._disposeInternal();\r\n }\r\n }\r\n\r\n private _disposeInternal = () => {\r\n while (this.disposeActions.length) {\r\n const disposeAction = this.disposeActions.pop();\r\n disposeAction();\r\n };\r\n if (this.renderer.dispose) {\r\n this.renderer.dispose();\r\n }\r\n while (this.resourcesUrls.length) {\r\n const resource = this.resourcesUrls.pop();\r\n if (this._spineAnimations[resource.name]) {\r\n this._spineAnimations[resource.name].autoUpdate = false;\r\n this._spineAnimations[resource.name].destroy();\r\n delete this._spineAnimations[resource.name];\r\n }\r\n }\r\n this.pixiAppDisposer();\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { DepositSideMenuItemBox } from \"./boxes/link/deposit/deposit-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class DepositSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.menuItem.text }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n onClick = async () => {\r\n await this.props.menuItem.execute();\r\n };\r\n}\r\n","import React from 'react';\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {\r\n DepositSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/deposit-side-menu-item.component\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\n\r\nexport default class DepositSideMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('depositMenuItem', configReader, services);\r\n }\r\n \r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {LoyaltyBarWrapperComponent} from \"../../loyalty-bar/loyalty-bar-wrapper.component\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class LoyaltyIndicatorSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {\r\n LoyaltyIndicatorSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component\";\r\n\r\nexport default class LoyaltyIndicatorMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('loyaltyIndicatorMenuItem', configReader, services);\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { DepositSideMenuItemBox } from \"../deposit/deposit-side-menu-item.box\";\r\n\r\nconst SignupSideMenuItemCasino888Box = styled(DepositSideMenuItemBox)`\r\n font-size: 1.6rem;\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n`;\r\n\r\nexport const SignupSideMenuItemBox = styledByTheme(DepositSideMenuItemBox)\r\n .forCasino888(SignupSideMenuItemCasino888Box)\r\n .forDelawarePark(SignupSideMenuItemCasino888Box)\r\n .forBallysDover(SignupSideMenuItemCasino888Box)\r\n .forHarrington(SignupSideMenuItemCasino888Box)\r\n .apply();\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { SignupSideMenuItemBox } from \"./boxes/link/signup/signup-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class SignupSideMenuItemComponent extends OrbitComponent {\r\n\r\n onClickHandler = async () => {\r\n await this.props.menuItem.execute()\r\n };\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.menuItem.text}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n}\r\n","import React from \"react\";\r\nimport {\r\n SignupSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/signup-side-menu-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\n\r\nexport default class SignUpSideMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('signUpMenuItem', configReader, services);\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export enum SessionStorageKeys {\r\n currentGameParams = 'OrbitCurrentGameParams'\r\n}","import {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IThemeCustomizer} from \"./theme.service.interface\";\r\n\r\nexport class StandardThemeCustomizer implements IThemeCustomizer {\r\n constructor(protected readonly services: IServiceFactoryExtended) {}\r\n getHomePageTopBannerHeight(): string {\r\n if (this.services.homepage.headerArenasStyleIsSmallTiles) {\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"18.5rem\";\r\n }\r\n\r\n return \"29rem\";\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"25rem\";\r\n } else if (this.services.mediaQuery.lAndBelow) {\r\n return \"30rem\";\r\n }\r\n\r\n return \"47rem\";\r\n }\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {Id} from \"react-toastify\";\r\nimport {IdleRecommendationsComponentProps} from \"../../../common/interfaces/orbit-component-to-sdk-adapter/components-props/idle-recommendations.component-props\";\r\nimport {IStandardToastContentProps} from \"../../components/toaster/toasts-content/standard-toast.component\";\r\n\r\nexport interface IToastHandler {\r\n readonly toastId: Id;\r\n close(closeReason?: ToastCloseReason | string): void;\r\n}\r\n\r\ninterface IToastOptions {\r\n timeout?: TimeSpan;\r\n hideProgressBar?: boolean;\r\n className?: string;\r\n closeButton?: boolean;\r\n}\r\n\r\nexport const DEFAULT_TOAST_IMAGE = \"DEFAULT_TOAST_IMAGE\";\r\n\r\nexport enum ToastCloseReason {\r\n CloseButton = \"CloseButton\",\r\n}\r\n\r\nexport interface IToastDefinition {\r\n id?: number | string;\r\n toastOptions?: IToastOptions;\r\n renderContent: (handler: IToastHandler) => React.ReactElement;\r\n onToastShown?: () => void;\r\n displayCondition?: () => boolean;\r\n /**\r\n * @param closeReason ToastCloseReason | string | undefined\r\n * closeReason will be ToastCloseReason.CloseButton if the toast is closed from X button or undefined if it's autoClosed by the timeout or whatever you pass to the handler close method\r\n * Keep in mind that if you don't pass an argument to the close method the reason will be undefined just as in the case of timeout\r\n */\r\n onToastClosed?: (closeReason?: ToastCloseReason | string) => void;\r\n}\r\n\r\nexport interface IStandardToastDefinition extends Omit {\r\n contentProps: IStandardToastContentProps;\r\n}\r\n\r\ninterface IAnalyticsData {\r\n category: string;\r\n action: string;\r\n label?: string;\r\n}\r\n\r\nexport interface IAnalyticsOptions {\r\n analyticsData?: IAnalyticsData;\r\n}\r\n\r\n/**\r\n * TODO: When idle_recommendations_service.ts will be moved in orbit services move this method to the new service. It belongs there\r\n */\r\nexport interface IIdleRecomToastDef extends Omit {\r\n contentProps: IdleRecommendationsComponentProps;\r\n}\r\n\r\nexport interface IToasterService {\r\n readonly hasOpenToasters: boolean;\r\n showCustomToast(toastDef: IToastDefinition): IToastHandler;// Promise;\r\n showStandardToast(toastDef: IStandardToastDefinition): IToastHandler;\r\n showAckStandardToast(toastDef: IStandardToastDefinition): IToastHandler;\r\n /**\r\n * TODO: When idle_recommendations_service.ts will be moved in orbit services move this method to the new service. It belongs there\r\n */\r\n showIdleRecommendationToast(toastConfig: IIdleRecomToastDef): IToastHandler;\r\n}\r\n","import {CyClass} from \"../../../../common/cy-classes\";\r\n\r\nexport const TOOLTIP_TARGET_HEADER_BANKROLL_BUTTON_MOBILE = CyClass('cy-header-bankroll-button-mobile');\r\nexport const TOOLTIP_TARGET_FREE_PLAY_INDICATOR = CyClass('cy-free-play-indicator-button');\r\nexport const TOOLTIP_TARGET_CONTROL_CENTER_PC_BUTTON = CyClass('cy-header-control-center-button');","import {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\n\r\nexport default class HybridInfoMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('hybridInfoMenuItem', configReader, services);\r\n }\r\n protected _shouldDisplay(): boolean {\r\n return super._shouldDisplay() && this.services.hybrid.isDebugMode();\r\n }\r\n}","import {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {makeObservable, observable, runInAction} from \"mobx\";\r\nimport {NullableUndefinedString} from \"../../../../../../common/types/nullable-types\";\r\n\r\nexport default class TouchIdMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.sdk.events.onTouchIDActiveStateChanged(() => this._updateTouchIdStatus());\r\n\r\n if(this.services.device.hybrid.inCasino) {\r\n this._updateTouchIdStatus();\r\n }\r\n }\r\n\r\n private async _updateTouchIdStatus(): Promise {\r\n\r\n\r\n try {\r\n const isEnabled = await this.services.hybrid.isDeviceTouchEnable();\r\n\r\n runInAction(() => {\r\n this._enabled = Boolean(isEnabled);\r\n });\r\n\r\n if(isEnabled) {\r\n const isFeatureOn = await this.services.hybrid.getTouchIDFeaturer().getTokenAndCheckEnable();\r\n runInAction(() => {\r\n if(Boolean(isFeatureOn)) {\r\n this._extraText = 'On';\r\n } else {\r\n this._extraText = 'Off';\r\n }\r\n });\r\n }\r\n } catch (err) {\r\n this.services.logger.error('Failed to check touch ID feature', err);\r\n }\r\n\r\n\r\n }\r\n\r\n @observable.ref\r\n private _enabled: boolean = false;\r\n\r\n @observable.ref\r\n private _extraText: NullableUndefinedString = null;\r\n\r\n get sideText(): NullableUndefinedString {\r\n return this._extraText;\r\n\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this._enabled && super._shouldDisplay() && this.services.device.hybrid.inCasino;\r\n }\r\n}","import styled, {css} from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\nimport {CssRule} from '../../../../themes/architecture/css-helpers/css-rule';\r\n\r\ninterface IUsefulLinksItemBoxProps {\r\n hideArrow?: boolean;\r\n icon?: string,\r\n}\r\n\r\nconst DefaultBox = styled.li`\r\n position: relative;\r\n width: 100%;\r\n /*\r\n The border-bottom is intentionally set to theme.colors.itemTopBorder and also border-top set to theme.colors.itemBottomBorder\r\n The reason is that the bottom border of the useful link item is actually the top border of the divider\r\n and top border of the useful link item is actually the bottom border of the divider\r\n\r\n */\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorder};\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n padding-left: 1rem;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n color: ${props => props.theme.colors.text};\r\n background-color: ${props => props.theme.colors.background};\r\n \r\n &:hover {\r\n color: ${props => props.theme.colors.textHover};\r\n background-color: ${props => props.theme.colors.backgroundHover};\r\n }\r\n\r\n &:last-child {\r\n border-bottom: 0;\r\n }\r\n\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n right: 5px;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n }\r\n\r\n &:before {\r\n display: inline-block;\r\n margin-right: 5px;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n }\r\n`;\r\n\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n height: 3.75rem;\r\n font-weight: 500;\r\n font-size: 1.3rem;\r\n line-height: 3.5rem;\r\n\r\n &:first-child {\r\n margin-top: 3px;\r\n }\r\n\r\n\r\n\r\n ${({hideArrow}) => !hideArrow && css`\r\n &:after {\r\n top: 1.5rem;\r\n width: 5px;\r\n height: 9px;\r\n background-position: -785px -657px;\r\n }\r\n `}\r\n\r\n ${({icon}) => icon && css`\r\n &:before {\r\n content: \"\";\r\n position:relative;\r\n top: 3px;\r\n width: 21px;\r\n height: 21px;\r\n background-image: url(\"${icon.toString()}\");\r\n }\r\n `}\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n display: flex;\r\n align-items: center;\r\n height: 5rem;\r\n font-weight: 300;\r\n font-size: 1.7rem;\r\n line-height: 5rem;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.regular};\r\n\r\n &:first-child {\r\n margin-top: 5px;\r\n }\r\n\r\n ${({hideArrow}) => !hideArrow && css`\r\n &:after {\r\n top: 2rem;\r\n width: 15px;\r\n height: 15px;\r\n background-position: -751px -655px;\r\n }\r\n `}\r\n\r\n ${({icon}) => icon && css`\r\n &:before {\r\n content: \"\";\r\n width: 21px;\r\n height: 21px;\r\n background-image: url(\"${icon.toString()}\");\r\n }\r\n `}\r\n`;\r\n\r\n\r\nexport const UsefulLinksItemDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './useful-links-item.default.box'\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n margin: 1rem 0;\r\n border: none;\r\n &:after {\r\n right: 15px;\r\n background-size: 1036px;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n font-size: 1.4rem;\r\n &:first-child {\r\n margin-top: 1rem;\r\n }\r\n &:after {\r\n background-position: -446px -370px;\r\n top: 1.15rem;\r\n width: 10px;\r\n height: 15px;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n ${({theme}) => theme.font.presets.body};\r\n &:after {\r\n background-position: -629px -525px;\r\n background-size: auto;\r\n height: 2rem;\r\n }\r\n`;\r\n\r\nexport const UsefulLinksItemCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\n\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './useful-links-item.default.box'\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = BasePcBox;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-left: 0;\r\n\r\n text-transform: uppercase;\r\n ${({theme}) => theme.font.presets.medium};\r\n &:after {\r\n content: none;\r\n }\r\n\r\n &:first-child {\r\n margin-top: 0;\r\n border-top: 0;\r\n }\r\n`;\r\n\r\nexport const UsefulLinksItemCipBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {hexToRgba} from '../../../../themes/hex-to-rgba';\r\nimport {UsefulLinksItemDefaultBox} from \"./useful-links-item.default.box\";\r\n\r\n\r\nexport const UsefulLinksItemMrGreenBox = styled(UsefulLinksItemDefaultBox)`\r\n border-bottom: none;\r\n border-top: 1px solid ${({theme}) => hexToRgba(theme.colors.boxBorderLighter, 0.2)};\r\n\r\n &:hover {\r\n background-color: ${props => props.theme.colors.background};\r\n }\r\n`;\r\n","import {UsefulLinksItemDefaultBox} from './useful-links-item.default.box';\r\nimport {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {UsefulLinksItemCasino777Box} from './useful-links-item.casino777.box';\r\nimport {UsefulLinksItemCipBox} from './useful-links-item.cip.box';\r\nimport {UsefulLinksItemMrGreenBox} from \"./useful-links-item.mrgreen.box\";\r\n\r\nexport const UsefulLinksItemBox = styledByTheme(UsefulLinksItemDefaultBox)\r\n .forCasino777(UsefulLinksItemCasino777Box)\r\n .forCip(UsefulLinksItemCipBox)\r\n .forWsopCip(UsefulLinksItemCipBox)\r\n .forCis(UsefulLinksItemCipBox) // TODO: see here!!!!!!\r\n .forMrGreen(UsefulLinksItemMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const UsefulLinksItemSideTextBox = styled.div`\r\n display: inline-block;\r\n margin-left: auto;\r\n margin-right: 25px;\r\n`;","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {UsefulLinksItemBox} from \"./useful-links-item.box\";\r\nimport {get} from 'lodash';\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {Image} from \"../../../raw-components/image/image\";\r\nimport {UsefulLinksItemSideTextBox} from \"./useful-links-item-side-text.box\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {IAsset} from \"../../../../themes/architecture/asset\";\r\n\r\n\r\nexport const UsefulLinkItemComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n\r\n const onClickHandler = async () => {\r\n await props.menuItem.execute();\r\n }\r\n\r\n const getImageUrl = () => {\r\n if(!props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n switch (props.menuItem.iconSource) {\r\n case \"themeImages\":\r\n const imageAsset: IAsset = get(services.theme.currentTheme.images, props.menuItem.icon, null);\r\n return imageAsset?.toString() ?? \"\";\r\n case \"url\":\r\n return props.menuItem.icon;\r\n default:\r\n return null;\r\n\r\n }\r\n }\r\n\r\n const imageURI = getImageUrl();\r\n\r\n\r\n const renderContent = () => {\r\n if(props.menuItem.imageOnlyRendering) {\r\n return ({props.menuItem.iconAltText)\r\n } else {\r\n return (\r\n <>\r\n {props.menuItem.text}\r\n {props.menuItem.sideText && ({props.menuItem.sideText})}\r\n \r\n )\r\n }\r\n }\r\n\r\n return (\r\n \r\n {renderContent()}\r\n \r\n )\r\n\r\n});","import React from 'react';\r\nimport {\r\n UsefulLinkItemComponent\r\n} from \"../../../../components/useful-links/boxes/useful-links-item/useful-link-item.component\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\n\r\nexport class GenericUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export interface IAsset {\r\n toString(): string;\r\n}\r\n\r\nexport interface AssetLocationInfo {\r\n readonly skinFullName: string;\r\n readonly serverPath: string;\r\n readonly configurationPath: string;\r\n}\r\nexport class Asset implements IAsset {\r\n constructor(private _relativePath: string, private _brandsOverrides: { [key: string]: boolean }) {\r\n }\r\n\r\n\r\n private _locationInfo: AssetLocationInfo;\r\n\r\n resolveLocation(locationInfo: AssetLocationInfo): string {\r\n this._locationInfo = locationInfo;\r\n return this.toString();\r\n }\r\n\r\n toString(): string {\r\n if(!this._locationInfo) { // this is for the asset to work on unit testing time\r\n return this._relativePath;\r\n }\r\n\r\n if (this._brandsOverrides[this._locationInfo.skinFullName]) {\r\n return this._locationInfo.configurationPath + 'assets/' + this._relativePath;\r\n }\r\n\r\n return this._locationInfo.serverPath + 'assets/' + this._relativePath;\r\n }\r\n}\r\n","import { ThemeName } from \"./theme-names\";\r\n\r\nexport class ByThemeRegistry {\r\n constructor(private _default: T) {}\r\n\r\n private _registry: Partial> = {};\r\n\r\n forCasino777(override: T): this {\r\n this._registry[ThemeName.Casino777.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCasino888(override: T): this {\r\n this._registry[ThemeName.Casino888.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCip(override: T): this {\r\n this._registry[ThemeName.Casino888Cip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsopCip(override: T): this {\r\n this._registry[ThemeName.WsopCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCis(override: T): this {\r\n this._registry[ThemeName.Casino888Cis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrahs(override: T): this {\r\n this._registry[ThemeName.Harrahs.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsop(override: T): this {\r\n this._registry[ThemeName.Wsop.forClient] = override;\r\n return this;\r\n }\r\n\r\n forBallysDover(override: T): this {\r\n this._registry[ThemeName.BallysDover.forClient] = override;\r\n return this;\r\n }\r\n\r\n forDelawarePark(override: T): this {\r\n this._registry[ThemeName.Delawarepark.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrington(override: T): this {\r\n this._registry[ThemeName.Harrington.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSI(override: T): this {\r\n this._registry[ThemeName.SI.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSICis(override: T): this {\r\n this._registry[ThemeName.SICis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreen(override: T): this {\r\n this._registry[ThemeName.MrGreen.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCis(override: T): this {\r\n this._registry[ThemeName.MrGreenCis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCip(override: T): this {\r\n this._registry[ThemeName.MrGreenCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n getRegistryItem = (themeName: ThemeName) => {\r\n return this._registry[themeName.forClient] ? this._registry[themeName.forClient] : this._default;\r\n }\r\n}\r\n","import {EMBEDDED_HYBRID, MINI_ORBIT} from '../../css-global-classes';\r\n\r\nexport class CssRule {\r\n static get For(): CssRule {\r\n return new CssRule()\r\n }\r\n private _rules: string[] = [];\r\n private negateNextRule: boolean = false;\r\n private formatRule(rule: string) {\r\n if (this.negateNextRule) {\r\n this.negateNextRule = false;\r\n return `:not(${rule})`;\r\n }\r\n return rule;\r\n }\r\n get not(): CssRule {\r\n this.negateNextRule = true\r\n return this;\r\n }\r\n get desktop(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-pc'));\r\n return this;\r\n }\r\n\r\n get ipad(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-ipad-device'));\r\n return this;\r\n }\r\n\r\n get mobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-mobile'));\r\n return this;\r\n }\r\n\r\n get notMobileOs(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-not-mobile-os'));\r\n return this;\r\n }\r\n\r\n get lowRes(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-low-resolution'));\r\n return this;\r\n }\r\n\r\n get portrait(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-portrait'));\r\n return this;\r\n }\r\n\r\n get landscape(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-landscape'));\r\n return this;\r\n }\r\n\r\n get tablet(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-tablet'));\r\n return this;\r\n }\r\n\r\n get RTL(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-rtl'));\r\n return this;\r\n }\r\n\r\n get embededHybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.${EMBEDDED_HYBRID}`));\r\n return this;\r\n }\r\n\r\n get hybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.cgp-hybrid`));\r\n return this;\r\n }\r\n\r\n get iPhoneVer5(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-5'));\r\n return this;\r\n }\r\n\r\n get iPhoneVer10(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-10'));\r\n return this;\r\n }\r\n\r\n get realMobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-real-mobile'));\r\n return this;\r\n }\r\n\r\n get miniOrbit(): CssRule {\r\n this._rules.push(this.formatRule(`.${MINI_ORBIT}`));\r\n return this;\r\n }\r\n\r\n build(): string {\r\n if(this._rules.length === 0) {\r\n return '';\r\n }\r\n\r\n return `html${this._rules.join('')}`;\r\n }\r\n}\r\n","import styled, { css } from \"styled-components\";\r\n\r\ntype FlexAlignItemsProp = \"flex-start\" | \"flex-end\" | \"stretch\" | \"center\" | \"baseline\";\r\ntype FlexJustifyContentProp = \"flex-start\" | \"flex-end\" | \"center\" | \"space-between\" | \"space-around\" | \"space-evenly\";\r\n\r\n/* styled components css interpolations */\r\n\r\nexport const flexRowContainerMixin = css`\r\n display: flex;\r\n flex-direction: row;\r\n`;\r\nexport const flexRowReverseContainerMixin = css`\r\n display: flex;\r\n flex-direction: row-reverse;\r\n`;\r\nexport const flexColumnContainerMixin = css`\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const flexAlignItemsMixin = (props: {alignItems?: FlexAlignItemsProp;}) => css`\r\n align-items: ${props.alignItems || \"unset\"};\r\n`;\r\nexport const flexJustifyContentMixin = (props: {justifyContent?: FlexJustifyContentProp;}) => css`\r\n justify-content: ${props.justifyContent || \"unset\"};\r\n`;\r\nexport const flexCenterAlignItemsMixin = css`\r\n ${flexAlignItemsMixin({alignItems: \"center\"})}\r\n`;\r\n\r\nexport const flexGrowItem = (props: {flexBasis?: string;}) => css`\r\n flex: 1 0 ${props.flexBasis || \"auto\"};\r\n`;\r\nexport const flexFixedSizeItem = css`\r\n flex: 0 0 auto;\r\n`;\r\nexport const flexAdaptiveSizeItem = css`\r\n flex: 1 1 auto;\r\n`;\r\n\r\n/* styled based components, to be used as is or as Base to be extended */\r\n\r\nexport const FlexFixedSizeItemBox = styled.div`\r\n ${flexFixedSizeItem}\r\n`;\r\n\r\nexport const FlexGrowItemBox = styled.div`\r\n ${flexGrowItem}\r\n`;\r\n\r\nexport const FlexContainerBox = styled.div<{\r\n alignItems?: FlexAlignItemsProp;\r\n justifyContent?: FlexJustifyContentProp;\r\n}>`\r\n ${flexRowContainerMixin}\r\n ${flexAlignItemsMixin}\r\n ${flexJustifyContentMixin}\r\n`;\r\n","export const grayColors = {\r\n black: \"#000000\",\r\n gray013: \"#0d0d0d\",\r\n gray023: \"#171717\",\r\n gray033: \"#212121\",\r\n gray043: \"#2b2b2b\",\r\n gray053: \"#353535\",\r\n gray063: \"#3f3f3f\",\r\n gray073: \"#494949\",\r\n gray083: \"#535353\",\r\n gray093: \"#5d5d5d\",\r\n gray103: \"#676767\",\r\n gray113: \"#717171\",\r\n gray123: \"#7b7b7b\",\r\n gray133: \"#858585\",\r\n gray143: \"#8f8f8f\",\r\n gray153: \"#999999\",\r\n gray163: \"#a3a3a3\",\r\n gray173: \"#adadad\",\r\n gray183: \"#b7b7b7\",\r\n gray193: \"#c1c1c1\",\r\n gray203: \"#cbcbcb\",\r\n gray213: \"#d5d5d5\",\r\n gray223: \"#dfdfdf\",\r\n gray233: \"#e9e9e9\",\r\n gray243: \"#f3f3f3\",\r\n gray253: \"#fdfdfd\",\r\n white: \"#ffffff\",\r\n transparent: \"transparent\"\r\n}","\r\nexport enum HeaderArenasStyle {\r\n BigTiles,\r\n SmallTiles,\r\n Menu\r\n }\r\n\r\nexport interface IThemeLayout {\r\n headerArenasStyle?: HeaderArenasStyle;\r\n border: {\r\n radius: string;\r\n };\r\n}","import React from 'react';\r\nimport {StyledComponent} from 'styled-components';\r\nimport {OrbitTheme} from './orbit-theme.interface';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport function styledByDevice, O extends object = {}>(\r\n pc: StyledComponent, mobile: StyledComponent\r\n): StyledComponent {\r\n\r\n let ComponentDefinition = observer(class extends OrbitComponent{\r\n render() {\r\n let Component = null;\r\n\r\n if(this.services.device.isMobile) {\r\n Component = mobile;\r\n } else {\r\n Component = pc;\r\n }\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n });\r\n\r\n\r\n let finalComponent = React.forwardRef((props, ref) => );\r\n\r\n return (finalComponent as any) as StyledComponent;\r\n}","import React from 'react';\r\nimport { StyledComponent } from 'styled-components';\r\nimport { OrbitTheme } from './orbit-theme.interface';\r\nimport { OrbitComponent } from '../../components/base-components/orbit-component/orbit-component';\r\nimport { ByThemeRegistry } from './by-theme-registry';\r\n\r\nclass StyledByTheme, O extends object = {}>\r\n extends ByThemeRegistry> {\r\n\r\n apply(): StyledComponent {\r\n const getRegistryItem = this.getRegistryItem;\r\n let ComponentDefinition = class extends OrbitComponent{\r\n render() {\r\n let Component: any = getRegistryItem(this.services.theme.themeName);\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n };\r\n\r\n let finalComponent = React.forwardRef((props, ref) => );\r\n\r\n return (finalComponent as any) as StyledComponent;\r\n }\r\n}\r\n\r\n\r\nexport function styledByTheme<\r\n C extends keyof JSX.IntrinsicElements | React.ComponentType,\r\n O extends object = {}\r\n>(defaultComponent: StyledComponent): StyledByTheme {\r\n return new StyledByTheme(defaultComponent);\r\n}\r\n","import {ClientThemeName} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport class ThemeName {\r\n constructor(public readonly forClient: string,\r\n public readonly forWidgets: ClientThemeName) {\r\n }\r\n\r\n public static Casino888 = new ThemeName('casino888', ClientThemeName.Casino888);\r\n public static Casino888Cip = new ThemeName(\"casino888/cip\", ClientThemeName.Casino888);\r\n public static Casino888Cis = new ThemeName(\"casino888/cis\", ClientThemeName.Casino888);\r\n public static Casino777 = new ThemeName(\"casino777\", ClientThemeName.Casino777);\r\n\r\n public static Harrahs = new ThemeName(\"harrahs\", ClientThemeName.Harrahs)\r\n public static Wsop = new ThemeName('wsop', ClientThemeName.WSOP);\r\n public static WsopCip = new ThemeName(\"wsop/cip\", ClientThemeName.WSOP);\r\n public static BallysDover = new ThemeName(\"ballysdover\", ClientThemeName.Ballysdover);\r\n public static Delawarepark = new ThemeName(\"delawarepark\", ClientThemeName.Delawarepark);\r\n public static Harrington = new ThemeName(\"harrington\", ClientThemeName.Harrington);\r\n public static SI = new ThemeName('si', ClientThemeName.SI); //sports illustrator\r\n public static SICis = new ThemeName('si/cis', ClientThemeName.SI);\r\n public static MrGreen = new ThemeName(\"mrgreen\", ClientThemeName.MrGreen);\r\n public static MrGreenCis = new ThemeName(\"mrgreen/cis\", ClientThemeName.MrGreen);\r\n public static MrGreenCip = new ThemeName(\"mrgreen/cip\", ClientThemeName.MrGreen);\r\n}","/** This is an automatically generated file.*/\nimport {Asset} from './architecture/asset';\nexport const Assets = {\n\tfonts: {\n\t\t_888_Black_eot: new Asset(\"fonts/888-Black.eot\", {}),\n\t\t_888_Black_otf: new Asset(\"fonts/888-Black.otf\", {}),\n\t\t_888_Black_svg: new Asset(\"fonts/888-Black.svg\", {}),\n\t\t_888_Black_ttf: new Asset(\"fonts/888-Black.ttf\", {}),\n\t\t_888_Black_woff: new Asset(\"fonts/888-Black.woff\", {}),\n\t\t_888_Black_woff2: new Asset(\"fonts/888-Black.woff2\", {}),\n\t\t_888_Bold_eot: new Asset(\"fonts/888-Bold.eot\", {'777_com': true}),\n\t\t_888_Bold_otf: new Asset(\"fonts/888-Bold.otf\", {'777_com': true}),\n\t\t_888_Bold_svg: new Asset(\"fonts/888-Bold.svg\", {'777_com': true}),\n\t\t_888_Bold_ttf: new Asset(\"fonts/888-Bold.ttf\", {'777_com': true}),\n\t\t_888_Bold_woff: new Asset(\"fonts/888-Bold.woff\", {'777_com': true}),\n\t\t_888_DemiBold_eot: new Asset(\"fonts/888-DemiBold.eot\", {}),\n\t\t_888_DemiBold_otf: new Asset(\"fonts/888-DemiBold.otf\", {}),\n\t\t_888_DemiBold_svg: new Asset(\"fonts/888-DemiBold.svg\", {}),\n\t\t_888_DemiBold_ttf: new Asset(\"fonts/888-DemiBold.ttf\", {}),\n\t\t_888_DemiBold_woff: new Asset(\"fonts/888-DemiBold.woff\", {}),\n\t\t_888_DemiBold_woff2: new Asset(\"fonts/888-DemiBold.woff2\", {}),\n\t\t_888_Light_eot: new Asset(\"fonts/888-Light.eot\", {}),\n\t\t_888_Light_otf: new Asset(\"fonts/888-Light.otf\", {}),\n\t\t_888_Light_svg: new Asset(\"fonts/888-Light.svg\", {}),\n\t\t_888_Light_ttf: new Asset(\"fonts/888-Light.ttf\", {}),\n\t\t_888_Light_woff: new Asset(\"fonts/888-Light.woff\", {}),\n\t\t_888_Light_woff2: new Asset(\"fonts/888-Light.woff2\", {}),\n\t\t_888_Medium_eot: new Asset(\"fonts/888-Medium.eot\", {}),\n\t\t_888_Medium_otf: new Asset(\"fonts/888-Medium.otf\", {}),\n\t\t_888_Medium_svg: new Asset(\"fonts/888-Medium.svg\", {}),\n\t\t_888_Medium_ttf: new Asset(\"fonts/888-Medium.ttf\", {}),\n\t\t_888_Medium_woff: new Asset(\"fonts/888-Medium.woff\", {}),\n\t\t_888_Medium_woff2: new Asset(\"fonts/888-Medium.woff2\", {}),\n\t\t_888_Regular_eot: new Asset(\"fonts/888-Regular.eot\", {}),\n\t\t_888_Regular_otf: new Asset(\"fonts/888-Regular.otf\", {}),\n\t\t_888_Regular_svg: new Asset(\"fonts/888-Regular.svg\", {}),\n\t\t_888_Regular_ttf: new Asset(\"fonts/888-Regular.ttf\", {}),\n\t\t_888_Regular_woff: new Asset(\"fonts/888-Regular.woff\", {}),\n\t\t_888_Regular_woff2: new Asset(\"fonts/888-Regular.woff2\", {}),\n\t\t_888_SemiCondensedBold_eot: new Asset(\"fonts/888-SemiCondensedBold.eot\", {}),\n\t\t_888_SemiCondensedBold_otf: new Asset(\"fonts/888-SemiCondensedBold.otf\", {}),\n\t\t_888_SemiCondensedBold_svg: new Asset(\"fonts/888-SemiCondensedBold.svg\", {}),\n\t\t_888_SemiCondensedBold_ttf: new Asset(\"fonts/888-SemiCondensedBold.ttf\", {}),\n\t\t_888_SemiCondensedBold_woff: new Asset(\"fonts/888-SemiCondensedBold.woff\", {}),\n\t\t_888_SemiCondensedBold_woff2: new Asset(\"fonts/888-SemiCondensedBold.woff2\", {}),\n\t\t_888_SemiCondensedDemiBold_eot: new Asset(\"fonts/888-SemiCondensedDemiBold.eot\", {}),\n\t\t_888_SemiCondensedDemiBold_otf: new Asset(\"fonts/888-SemiCondensedDemiBold.otf\", {}),\n\t\t_888_SemiCondensedDemiBold_svg: new Asset(\"fonts/888-SemiCondensedDemiBold.svg\", {}),\n\t\t_888_SemiCondensedDemiBold_ttf: new Asset(\"fonts/888-SemiCondensedDemiBold.ttf\", {}),\n\t\t_888_SemiCondensedDemiBold_woff: new Asset(\"fonts/888-SemiCondensedDemiBold.woff\", {}),\n\t\t_888_SemiCondensedDemiBold_woff2: new Asset(\"fonts/888-SemiCondensedDemiBold.woff2\", {}),\n\t\t_888_Thin_eot: new Asset(\"fonts/888-Thin.eot\", {}),\n\t\t_888_Thin_otf: new Asset(\"fonts/888-Thin.otf\", {}),\n\t\t_888_Thin_svg: new Asset(\"fonts/888-Thin.svg\", {}),\n\t\t_888_Thin_ttf: new Asset(\"fonts/888-Thin.ttf\", {}),\n\t\t_888_Thin_woff: new Asset(\"fonts/888-Thin.woff\", {}),\n\t\t_888_Thin_woff2: new Asset(\"fonts/888-Thin.woff2\", {}),\n\t\t_888_Ultra_eot: new Asset(\"fonts/888-Ultra.eot\", {}),\n\t\t_888_Ultra_otf: new Asset(\"fonts/888-Ultra.otf\", {}),\n\t\t_888_Ultra_svg: new Asset(\"fonts/888-Ultra.svg\", {}),\n\t\t_888_Ultra_ttf: new Asset(\"fonts/888-Ultra.ttf\", {}),\n\t\t_888_Ultra_woff: new Asset(\"fonts/888-Ultra.woff\", {}),\n\t\t_888_Ultra_woff2: new Asset(\"fonts/888-Ultra.woff2\", {}),\n\t\tdigital_7_mono_ttf: new Asset(\"fonts/digital_7_mono.ttf\", {}),\n\t\tLobster_Regular_eot: new Asset(\"fonts/Lobster_Regular.eot\", {'777_com': true}),\n\t\tLobster_Regular_otf: new Asset(\"fonts/Lobster_Regular.otf\", {'777_com': true}),\n\t\tLobster_Regular_svg: new Asset(\"fonts/Lobster_Regular.svg\", {'777_com': true}),\n\t\tLobster_Regular_ttf: new Asset(\"fonts/Lobster_Regular.ttf\", {'777_com': true}),\n\t\tLobster_Regular_woff: new Asset(\"fonts/Lobster_Regular.woff\", {'777_com': true}),\n\t\tLobster_Regular_woff2: new Asset(\"fonts/Lobster_Regular.woff2\", {'777_com': true}),\n\t\tOleoScript_Bold_ttf: new Asset(\"fonts/OleoScript-Bold.ttf\", {}),\n\t\toleo_script_reg_eot: new Asset(\"fonts/oleo_script_reg.eot\", {}),\n\t\toleo_script_reg_svg: new Asset(\"fonts/oleo_script_reg.svg\", {}),\n\t\toleo_script_reg_ttf: new Asset(\"fonts/oleo_script_reg.ttf\", {}),\n\t\toleo_script_reg_woff: new Asset(\"fonts/oleo_script_reg.woff\", {}),\n\t\toleo_script_reg_woff2: new Asset(\"fonts/oleo_script_reg.woff2\", {}),\n\t\toleo_script_reg_ext_woff2: new Asset(\"fonts/oleo_script_reg_ext.woff2\", {}),\n\t\tRobotoCondensed_Bold_ttf: new Asset(\"fonts/RobotoCondensed-Bold.ttf\", {}),\n\t\tTradeGothicLTStd_Bd2_otf: new Asset(\"fonts/TradeGothicLTStd-Bd2.otf\", {}),\n\t\tBello_Script_eot: new Asset(\"fonts/Bello_Script.eot\", {'777_com': true}),\n\t\tBello_Script_svg: new Asset(\"fonts/Bello_Script.svg\", {'777_com': true}),\n\t\tBello_Script_ttf: new Asset(\"fonts/Bello_Script.ttf\", {'777_com': true}),\n\t\tBello_Script_woff: new Asset(\"fonts/Bello_Script.woff\", {'777_com': true}),\n\t\tBello_Script_woff2: new Asset(\"fonts/Bello_Script.woff2\", {'777_com': true}),\n\t\tFutura_PT_Bold_eot: new Asset(\"fonts/Futura_PT_Bold.eot\", {'777_com': true}),\n\t\tFutura_PT_Bold_otf: new Asset(\"fonts/Futura_PT_Bold.otf\", {'777_com': true}),\n\t\tFutura_PT_Bold_svg: new Asset(\"fonts/Futura_PT_Bold.svg\", {'777_com': true}),\n\t\tFutura_PT_Bold_ttf: new Asset(\"fonts/Futura_PT_Bold.ttf\", {'777_com': true}),\n\t\tFutura_PT_Bold_woff: new Asset(\"fonts/Futura_PT_Bold.woff\", {'777_com': true}),\n\t\tFutura_PT_Bold_woff2: new Asset(\"fonts/Futura_PT_Bold.woff2\", {'777_com': true}),\n\t\tFutura_PT_Book_eot: new Asset(\"fonts/Futura_PT_Book.eot\", {'777_com': true}),\n\t\tFutura_PT_Book_otf: new Asset(\"fonts/Futura_PT_Book.otf\", {'777_com': true}),\n\t\tFutura_PT_Book_svg: new Asset(\"fonts/Futura_PT_Book.svg\", {'777_com': true}),\n\t\tFutura_PT_Book_ttf: new Asset(\"fonts/Futura_PT_Book.ttf\", {'777_com': true}),\n\t\tFutura_PT_Book_woff: new Asset(\"fonts/Futura_PT_Book.woff\", {'777_com': true}),\n\t\tFutura_PT_Book_woff2: new Asset(\"fonts/Futura_PT_Book.woff2\", {'777_com': true}),\n\t\tFutura_PT_Demi_eot: new Asset(\"fonts/Futura_PT_Demi.eot\", {'777_com': true}),\n\t\tFutura_PT_Demi_otf: new Asset(\"fonts/Futura_PT_Demi.otf\", {'777_com': true}),\n\t\tFutura_PT_Demi_svg: new Asset(\"fonts/Futura_PT_Demi.svg\", {'777_com': true}),\n\t\tFutura_PT_Demi_ttf: new Asset(\"fonts/Futura_PT_Demi.ttf\", {'777_com': true}),\n\t\tFutura_PT_Demi_woff: new Asset(\"fonts/Futura_PT_Demi.woff\", {'777_com': true}),\n\t\tFutura_PT_Demi_woff2: new Asset(\"fonts/Futura_PT_Demi.woff2\", {'777_com': true}),\n\t\tFutura_PT_Heavy_eot: new Asset(\"fonts/Futura_PT_Heavy.eot\", {'777_com': true}),\n\t\tFutura_PT_Heavy_otf: new Asset(\"fonts/Futura_PT_Heavy.otf\", {'777_com': true}),\n\t\tFutura_PT_Heavy_svg: new Asset(\"fonts/Futura_PT_Heavy.svg\", {'777_com': true}),\n\t\tFutura_PT_Heavy_ttf: new Asset(\"fonts/Futura_PT_Heavy.ttf\", {'777_com': true}),\n\t\tFutura_PT_Heavy_woff: new Asset(\"fonts/Futura_PT_Heavy.woff\", {'777_com': true}),\n\t\tFutura_PT_Heavy_woff2: new Asset(\"fonts/Futura_PT_Heavy.woff2\", {'777_com': true}),\n\t\tFutura_PT_Medium_eot: new Asset(\"fonts/Futura_PT_Medium.eot\", {'777_com': true}),\n\t\tFutura_PT_Medium_otf: new Asset(\"fonts/Futura_PT_Medium.otf\", {'777_com': true}),\n\t\tFutura_PT_Medium_svg: new Asset(\"fonts/Futura_PT_Medium.svg\", {'777_com': true}),\n\t\tFutura_PT_Medium_ttf: new Asset(\"fonts/Futura_PT_Medium.ttf\", {'777_com': true}),\n\t\tFutura_PT_Medium_woff: new Asset(\"fonts/Futura_PT_Medium.woff\", {'777_com': true}),\n\t\tFutura_PT_Medium_woff2: new Asset(\"fonts/Futura_PT_Medium.woff2\", {'777_com': true}),\n\t\tFuturaPTBold_otf: new Asset(\"fonts/FuturaPTBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBoldOblique_otf: new Asset(\"fonts/FuturaPTBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBook_otf: new Asset(\"fonts/FuturaPTBook.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBookOblique_otf: new Asset(\"fonts/FuturaPTBookOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBold_otf: new Asset(\"fonts/FuturaPTCondBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBoldOblique_otf: new Asset(\"fonts/FuturaPTCondBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBook_otf: new Asset(\"fonts/FuturaPTCondBook.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBookOblique_otf: new Asset(\"fonts/FuturaPTCondBookOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondExtraBold_otf: new Asset(\"fonts/FuturaPTCondExtraBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondExtraBoldOblique_otf: new Asset(\"fonts/FuturaPTCondExtraBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondMedium_otf: new Asset(\"fonts/FuturaPTCondMedium.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondMediumOblique_otf: new Asset(\"fonts/FuturaPTCondMediumOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTDemi_otf: new Asset(\"fonts/FuturaPTDemi.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTDemiOblique_otf: new Asset(\"fonts/FuturaPTDemiOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTExtraBold_otf: new Asset(\"fonts/FuturaPTExtraBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTExtraBoldOblique_otf: new Asset(\"fonts/FuturaPTExtraBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTHeavy_otf: new Asset(\"fonts/FuturaPTHeavy.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTHeavyOblique_otf: new Asset(\"fonts/FuturaPTHeavyOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTLight_otf: new Asset(\"fonts/FuturaPTLight.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTLightOblique_otf: new Asset(\"fonts/FuturaPTLightOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTMedium_otf: new Asset(\"fonts/FuturaPTMedium.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTMediumOblique_otf: new Asset(\"fonts/FuturaPTMediumOblique.otf\", {'ballysdover_de': true}),\n\t\ta_and_s_signwriter_ttf: new Asset(\"fonts/a_and_s_signwriter.ttf\", {'harrington_de': true}),\n\t\tGotham_Black_otf: new Asset(\"fonts/Gotham-Black.otf\", {'harrington_de': true}),\n\t\tGotham_BlackItalic_otf: new Asset(\"fonts/Gotham-BlackItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Bold_otf: new Asset(\"fonts/Gotham-Bold.otf\", {'harrington_de': true}),\n\t\tGotham_BoldItalic_otf: new Asset(\"fonts/Gotham-BoldItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Book_otf: new Asset(\"fonts/Gotham-Book.otf\", {'harrington_de': true}),\n\t\tGotham_BookItalic_otf: new Asset(\"fonts/Gotham-BookItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Light_otf: new Asset(\"fonts/Gotham-Light.otf\", {'harrington_de': true}),\n\t\tGotham_LightItalic_otf: new Asset(\"fonts/Gotham-LightItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Medium_otf: new Asset(\"fonts/Gotham-Medium.otf\", {'harrington_de': true}),\n\t\tGotham_MediumItalic_otf: new Asset(\"fonts/Gotham-MediumItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Thin_otf: new Asset(\"fonts/Gotham-Thin.otf\", {'harrington_de': true}),\n\t\tGotham_ThinItalic_otf: new Asset(\"fonts/Gotham-ThinItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Ultra_otf: new Asset(\"fonts/Gotham-Ultra.otf\", {'harrington_de': true}),\n\t\tGotham_UltraItalic_otf: new Asset(\"fonts/Gotham-UltraItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Black_otf: new Asset(\"fonts/GothamXNarrow-Black.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BlackItalic_otf: new Asset(\"fonts/GothamXNarrow-BlackItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Bold_otf: new Asset(\"fonts/GothamXNarrow-Bold.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BoldItalic_otf: new Asset(\"fonts/GothamXNarrow-BoldItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Book_otf: new Asset(\"fonts/GothamXNarrow-Book.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BookItalic_otf: new Asset(\"fonts/GothamXNarrow-BookItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Light_otf: new Asset(\"fonts/GothamXNarrow-Light.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_LightItalic_otf: new Asset(\"fonts/GothamXNarrow-LightItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Medium_otf: new Asset(\"fonts/GothamXNarrow-Medium.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_MediumItalic_otf: new Asset(\"fonts/GothamXNarrow-MediumItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Thin_otf: new Asset(\"fonts/GothamXNarrow-Thin.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_ThinItalic_otf: new Asset(\"fonts/GothamXNarrow-ThinItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Ultra_otf: new Asset(\"fonts/GothamXNarrow-Ultra.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_UltraItalic_otf: new Asset(\"fonts/GothamXNarrow-UltraItalic.otf\", {'harrington_de': true}),\n\t\tMontserrat_VariableFont_ttf: new Asset(\"fonts/Montserrat-VariableFont.ttf\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tIndustry_Black_eot: new Asset(\"fonts/Industry-Black.eot\", {'si_mi': true}),\n\t\tIndustry_Black_ttf: new Asset(\"fonts/Industry-Black.ttf\", {'si_mi': true}),\n\t\tIndustry_Black_woff: new Asset(\"fonts/Industry-Black.woff\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_eot: new Asset(\"fonts/Industry-BlackItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_ttf: new Asset(\"fonts/Industry-BlackItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_woff: new Asset(\"fonts/Industry-BlackItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Bold_eot: new Asset(\"fonts/Industry-Bold.eot\", {'si_mi': true}),\n\t\tIndustry_Bold_ttf: new Asset(\"fonts/Industry-Bold.ttf\", {'si_mi': true}),\n\t\tIndustry_Bold_woff: new Asset(\"fonts/Industry-Bold.woff\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_eot: new Asset(\"fonts/Industry-BoldItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_ttf: new Asset(\"fonts/Industry-BoldItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_woff: new Asset(\"fonts/Industry-BoldItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Book_eot: new Asset(\"fonts/Industry-Book.eot\", {'si_mi': true}),\n\t\tIndustry_Book_ttf: new Asset(\"fonts/Industry-Book.ttf\", {'si_mi': true}),\n\t\tIndustry_Book_woff: new Asset(\"fonts/Industry-Book.woff\", {'si_mi': true}),\n\t\tIndustry_BookItalic_eot: new Asset(\"fonts/Industry-BookItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BookItalic_ttf: new Asset(\"fonts/Industry-BookItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BookItalic_woff: new Asset(\"fonts/Industry-BookItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Demi_eot: new Asset(\"fonts/Industry-Demi.eot\", {'si_mi': true}),\n\t\tIndustry_Demi_ttf: new Asset(\"fonts/Industry-Demi.ttf\", {'si_mi': true}),\n\t\tIndustry_Demi_woff: new Asset(\"fonts/Industry-Demi.woff\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_eot: new Asset(\"fonts/Industry-DemiItalic.eot\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_ttf: new Asset(\"fonts/Industry-DemiItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_woff: new Asset(\"fonts/Industry-DemiItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Light_eot: new Asset(\"fonts/Industry-Light.eot\", {'si_mi': true}),\n\t\tIndustry_Light_ttf: new Asset(\"fonts/Industry-Light.ttf\", {'si_mi': true}),\n\t\tIndustry_Light_woff: new Asset(\"fonts/Industry-Light.woff\", {'si_mi': true}),\n\t\tIndustry_LightItalic_eot: new Asset(\"fonts/Industry-LightItalic.eot\", {'si_mi': true}),\n\t\tIndustry_LightItalic_ttf: new Asset(\"fonts/Industry-LightItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_LightItalic_woff: new Asset(\"fonts/Industry-LightItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Medium_eot: new Asset(\"fonts/Industry-Medium.eot\", {'si_mi': true}),\n\t\tIndustry_Medium_ttf: new Asset(\"fonts/Industry-Medium.ttf\", {'si_mi': true}),\n\t\tIndustry_Medium_woff: new Asset(\"fonts/Industry-Medium.woff\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_eot: new Asset(\"fonts/Industry-MediumItalic.eot\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_ttf: new Asset(\"fonts/Industry-MediumItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_woff: new Asset(\"fonts/Industry-MediumItalic.woff\", {'si_mi': true}),\n\t\tPoppins_Regular_ttf: new Asset(\"fonts/Poppins-Regular.ttf\", {'si_mi': true}),\n\t\tPoppins_SemiBold_ttf: new Asset(\"fonts/Poppins-SemiBold.ttf\", {'si_mi': true}),\n\t\tSolanoGothicMVB_Bd_ttf: new Asset(\"fonts/SolanoGothicMVB-Bd.ttf\", {'si_mi': true})\n\t},\n\timages: {\n\t\tarena_shaddow_png: new Asset(\"images/arena-shaddow.png\", {'777_com': true}),\n\t\tbroken_link_icon_png: new Asset(\"images/broken_link_icon.png\", {}),\n\t\tcasino_live_logo_mobile_png: new Asset(\"images/casino-live-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tcasino_live_logo_png: new Asset(\"images/casino-live-logo.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tcheck_png: new Asset(\"images/check.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tcheckbox_checked_png: new Asset(\"images/checkbox_checked.png\", {}),\n\t\tcheckbox_empty_png: new Asset(\"images/checkbox_empty.png\", {}),\n\t\tclose_modal_dialog_png: new Asset(\"images/close_modal_dialog.png\", {'777_com': true}),\n\t\tdeposit_header_icon_svg: new Asset(\"images/deposit_header_icon.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tempty_image_sq_gif: new Asset(\"images/empty-image-sq.gif\", {}),\n\t\tempty_image_gif: new Asset(\"images/empty-image.gif\", {}),\n\t\texclusives_list_icon_png: new Asset(\"images/exclusives_list_icon.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\tfull_screen_off_png: new Asset(\"images/full-screen-off.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tfull_screen_on_png: new Asset(\"images/full-screen-on.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tgame_default_background_png: new Asset(\"images/game_default_background.png\", {}),\n\t\thorizontal_line_glow_mobile_png: new Asset(\"images/horizontal-line-glow-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\thorizontal_line_glow_png: new Asset(\"images/horizontal-line-glow.png\", {'777_com': true}),\n\t\tidle_recomm_toaster_bg_png: new Asset(\"images/idle-recomm-toaster-bg.png\", {}),\n\t\tinfoBTN_png: new Asset(\"images/infoBTN.png\", {}),\n\t\tios_share_svg: new Asset(\"images/ios-share.svg\", {}),\n\t\tjackpot_widget_title_crown_png: new Asset(\"images/jackpot_widget_title_crown.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\tlamp_png: new Asset(\"images/lamp.png\", {}),\n\t\tlive_tables_top_border_png: new Asset(\"images/live-tables-top-border.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tparty_jackpot_logo_png: new Asset(\"images/party_jackpot_logo.png\", {}),\n\t\tplaceholder_game_icon_png: new Asset(\"images/placeholder_game_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tplaceholder_game_icon_sq_png: new Asset(\"images/placeholder_game_icon_sq.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tright_arrow_png: new Asset(\"images/right-arrow.png\", {'777_com': true}),\n\t\tshaddow_bg_png: new Asset(\"images/shaddow-bg.png\", {'777_com': true}),\n\t\tside_menu_header_decoration_png: new Asset(\"images/side-menu-header-decoration.png\", {'777_com': true}),\n\t\tsplash_page_logo_0_0_png: new Asset(\"images/splash_page_logo-0-0.png\", {}),\n\t\tsplash_page_logo_0_111_png: new Asset(\"images/splash_page_logo-0-111.png\", {'777_com': true}),\n\t\tsplash_page_logo_1_53_png: new Asset(\"images/splash_page_logo-1-53.png\", {}),\n\t\tsplash_page_logo_31_46_png: new Asset(\"images/splash_page_logo-31-46.png\", {}),\n\t\tsplash_page_logo_58_82_png: new Asset(\"images/splash_page_logo-58-82.png\", {}),\n\t\tsplash_page_logo_68_98_png: new Asset(\"images/splash_page_logo-68-98.png\", {}),\n\t\tsplash_page_logo_69_100_png: new Asset(\"images/splash_page_logo-69-100.png\", {}),\n\t\tsplash_page_logo_70_102_png: new Asset(\"images/splash_page_logo-70-102.png\", {}),\n\t\tsplash_page_logo_71_104_png: new Asset(\"images/splash_page_logo-71-104.png\", {}),\n\t\tsplash_page_logo_72_105_png: new Asset(\"images/splash_page_logo-72-105.png\", {}),\n\t\tsplash_page_logo_73_107_png: new Asset(\"images/splash_page_logo-73-107.png\", {}),\n\t\tsplash_page_logo_75_113_png: new Asset(\"images/splash_page_logo-75-113.png\", {}),\n\t\tsplash_page_logo_76_119_png: new Asset(\"images/splash_page_logo-76-119.png\", {}),\n\t\tsplash_page_logo_79_125_png: new Asset(\"images/splash_page_logo-79-125.png\", {}),\n\t\tsplash_page_logo_8_78_png: new Asset(\"images/splash_page_logo-8-78.png\", {}),\n\t\tsplash_page_logo_81_129_png: new Asset(\"images/splash_page_logo-81-129.png\", {}),\n\t\tsplash_page_logo_84_137_png: new Asset(\"images/splash_page_logo-84-137.png\", {}),\n\t\tsplash_page_logo_87_141_png: new Asset(\"images/splash_page_logo-87-141.png\", {}),\n\t\tsplash_page_logo_88_144_png: new Asset(\"images/splash_page_logo-88-144.png\", {}),\n\t\tsplash_page_logo_91_151_png: new Asset(\"images/splash_page_logo-91-151.png\", {'si_mi': true}),\n\t\tsplash_page_logo_92_152_png: new Asset(\"images/splash_page_logo-92-152.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsplash_page_logo_93_154_png: new Asset(\"images/splash_page_logo-93-154.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsplash_page_logo_cip8_0_0_png: new Asset(\"images/splash_page_logo-cip8-0-0.png\", {}),\n\t\tsplash_page_logo_cip8_1_53_png: new Asset(\"images/splash_page_logo-cip8-1-53.png\", {}),\n\t\tsplash_page_logo_cip8_31_46_png: new Asset(\"images/splash_page_logo-cip8-31-46.png\", {}),\n\t\tsplash_page_logo_cip8_58_82_png: new Asset(\"images/splash_page_logo-cip8-58-82.png\", {}),\n\t\tsplash_page_logo_cip8_71_104_png: new Asset(\"images/splash_page_logo-cip8-71-104.png\", {}),\n\t\tsplash_page_logo_cip8_73_107_png: new Asset(\"images/splash_page_logo-cip8-73-107.png\", {}),\n\t\tsplash_page_logo_cip8_75_113_png: new Asset(\"images/splash_page_logo-cip8-75-113.png\", {}),\n\t\tsplash_page_logo_cip8_76_119_png: new Asset(\"images/splash_page_logo-cip8-76-119.png\", {}),\n\t\tsplash_page_logo_cip8_79_125_png: new Asset(\"images/splash_page_logo-cip8-79-125.png\", {}),\n\t\tsplash_page_logo_cip8_8_78_png: new Asset(\"images/splash_page_logo-cip8-8-78.png\", {}),\n\t\tsplash_page_logo_cip8_81_129_png: new Asset(\"images/splash_page_logo-cip8-81-129.png\", {}),\n\t\tsplash_page_logo_cip8_84_137_png: new Asset(\"images/splash_page_logo-cip8-84-137.png\", {}),\n\t\tsplash_page_logo_cip8_87_142_png: new Asset(\"images/splash_page_logo-cip8-87-142.png\", {}),\n\t\tsplash_page_logo_cip8_88_145_png: new Asset(\"images/splash_page_logo-cip8-88-145.png\", {}),\n\t\tsplash_page_logo_cip8_png: new Asset(\"images/splash_page_logo-cip8.png\", {}),\n\t\tsplash_page_logo_cis_0_0_png: new Asset(\"images/splash_page_logo-cis-0-0.png\", {}),\n\t\tsplash_page_logo_cis_1_53_png: new Asset(\"images/splash_page_logo-cis-1-53.png\", {}),\n\t\tsplash_page_logo_cis_31_46_png: new Asset(\"images/splash_page_logo-cis-31-46.png\", {}),\n\t\tsplash_page_logo_cis_58_82_png: new Asset(\"images/splash_page_logo-cis-58-82.png\", {}),\n\t\tsplash_page_logo_cis_71_104_png: new Asset(\"images/splash_page_logo-cis-71-104.png\", {}),\n\t\tsplash_page_logo_cis_73_107_png: new Asset(\"images/splash_page_logo-cis-73-107.png\", {}),\n\t\tsplash_page_logo_cis_75_113_png: new Asset(\"images/splash_page_logo-cis-75-113.png\", {}),\n\t\tsplash_page_logo_cis_76_119_png: new Asset(\"images/splash_page_logo-cis-76-119.png\", {}),\n\t\tsplash_page_logo_cis_79_125_png: new Asset(\"images/splash_page_logo-cis-79-125.png\", {}),\n\t\tsplash_page_logo_cis_8_78_png: new Asset(\"images/splash_page_logo-cis-8-78.png\", {}),\n\t\tsplash_page_logo_cis_81_129_png: new Asset(\"images/splash_page_logo-cis-81-129.png\", {}),\n\t\tsplash_page_logo_cis_84_137_png: new Asset(\"images/splash_page_logo-cis-84-137.png\", {}),\n\t\tsplash_page_logo_cis_87_142_png: new Asset(\"images/splash_page_logo-cis-87-142.png\", {}),\n\t\tsplash_page_logo_cis_88_145_png: new Asset(\"images/splash_page_logo-cis-88-145.png\", {}),\n\t\tsplash_page_logo_cis_91_151_png: new Asset(\"images/splash_page_logo-cis-91-151.png\", {}),\n\t\tsplash_page_logo_cis_png: new Asset(\"images/splash_page_logo-cis.png\", {}),\n\t\tSpriteSheetPC1920_png: new Asset(\"images/SpriteSheetPC1920.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\ttexture_png: new Asset(\"images/texture.png\", {'777_com': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\ttop_banner_placeholder_gif: new Asset(\"images/top_banner_placeholder.gif\", {}),\n\t\tvertical_line_glow_png: new Asset(\"images/vertical-line-glow.png\", {'777_com': true}),\n\t\twww_splash_page_logo_1_111_png: new Asset(\"images/www_splash_page_logo-1-111.png\", {}),\n\t\t_3px_tile_png: new Asset(\"images/3px-tile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t_777logo_png: new Asset(\"images/777logo.png\", {'777_com': true}),\n\t\t_777logo_svg: new Asset(\"images/777logo.svg\", {'777_com': true}),\n\t\tbrilliant_png: new Asset(\"images/brilliant.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tclose_modal_dialog_hover_png: new Asset(\"images/close_modal_dialog_hover.png\", {'777_com': true}),\n\t\thistory_bg_title_png: new Asset(\"images/history_bg_title.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_content_banner_png: new Asset(\"images/home-content-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_page_top_banner_png: new Asset(\"images/home-page-top-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tinfo_img_png: new Asset(\"images/info-img.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tjackpots_bg_png: new Asset(\"images/jackpots-bg.png\", {'777_com': true}),\n\t\tlang_reg_icon_png: new Asset(\"images/lang_reg_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlang_selected_icon_png: new Asset(\"images/lang_selected_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_info_png: new Asset(\"images/letter-info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_play_png: new Asset(\"images/letter-play.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_design_png: new Asset(\"images/letter_design.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_arena_banner_png: new Asset(\"images/live-arena-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tlive_chat_png: new Asset(\"images/live-chat.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_content_banner_png: new Asset(\"images/live-content-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tnotification_off_png: new Asset(\"images/notification off.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tonly_real_money_game_warning_png: new Asset(\"images/only-real-money-game-warning.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tpay_icon_png: new Asset(\"images/pay-icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tswiper_layout_bottom_shaddow_png: new Asset(\"images/swiper-layout-bottom-shaddow.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_menu_box_icon_png: new Asset(\"images/user-menu-box-icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_png: new Asset(\"images/user.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t_888casinologo_dark_png: new Asset(\"images/888casinologo-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_mobile_svg: new Asset(\"images/888casinologo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_pc_svg: new Asset(\"images/888casinologo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_png: new Asset(\"images/888casinologo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tblackSquare_png: new Asset(\"images/blackSquare.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tdiv_lang_png: new Asset(\"images/div-lang.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tgermany_panic_icon_png: new Asset(\"images/germany_panic_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tballysdoverlogo_svg: new Asset(\"images/ballysdoverlogo.svg\", {'ballysdover_de': true}),\n\t\tballysdover_logo_svg: new Asset(\"images/ballysdover_logo.svg\", {'ballysdover_de': true}),\n\t\tdelaware_park_logo_svg: new Asset(\"images/delaware-park-logo.svg\", {'delawarepark_de': true}),\n\t\tdelawareparklogo_svg: new Asset(\"images/delawareparklogo.svg\", {'delawarepark_de': true}),\n\t\tharrahslogo_svg: new Asset(\"images/harrahslogo.svg\", {'harrahs_nj': true}),\n\t\thccasinologo_svg: new Asset(\"images/hccasinologo.svg\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\tharrington_logo_svg: new Asset(\"images/harrington-logo.svg\", {'harrington_de': true}),\n\t\tharringtonlogo_svg: new Asset(\"images/harringtonlogo.svg\", {'harrington_de': true}),\n\t\tmrgreenlogo_png: new Asset(\"images/mrgreenlogo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tmrgreenlogo_svg: new Asset(\"images/mrgreenlogo.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsi_island_resort_png: new Asset(\"images/si-island-resort.png\", {'si_mi': true}),\n\t\tsi_island_resort_svg: new Asset(\"images/si-island-resort.svg\", {'si_mi': true}),\n\t\tsi_sports_book_png: new Asset(\"images/si-sports-book.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_png: new Asset(\"images/si_logo_mobile.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_svg: new Asset(\"images/si_logo_mobile.svg\", {'si_mi': true}),\n\t\tsi_logo_pc_png: new Asset(\"images/si_logo_pc.png\", {'si_mi': true}),\n\t\tsi_logo_pc_svg: new Asset(\"images/si_logo_pc.svg\", {'si_mi': true}),\n\t\thccasinologo_png: new Asset(\"images/hccasinologo.png\", {'wsop_nj': true}),\n\t\twsoplogo_svg: new Asset(\"images/wsoplogo.svg\", {'wsop_nj': true}),\n\t\tanimated_icons_poc: {\n\t\t\tmillionaire_genie_megaways: {\n\t\t\t\tgenie_megaways_v1_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.atlas\", {}),\n\t\t\t\tgenie_megaways_v1_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.json\", {}),\n\t\t\t\tgenie_megaways_v1_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.png\", {}),\n\t\t\t\tgenie_megaways_v2_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.atlas\", {}),\n\t\t\t\tgenie_megaways_v2_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.json\", {}),\n\t\t\t\tgenie_megaways_v2_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.png\", {}),\n\t\t\t\tgenie_megaways_v3_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.atlas\", {}),\n\t\t\t\tgenie_megaways_v3_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.json\", {}),\n\t\t\t\tgenie_megaways_v3_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.png\", {}),\n\t\t\t\tgenie_megaways_v4_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.atlas\", {}),\n\t\t\t\tgenie_megaways_v4_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.json\", {}),\n\t\t\t\tgenie_megaways_v4_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.png\", {})\n\t\t\t}\n\t\t},\n\t\tarena_link_to_offer: {\n\t\t\tClose_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Close_BTN_green.svg\", {}),\n\t\t\tGift_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Gift_BTN_green.svg\", {})\n\t\t},\n\t\tbrowser_icons: {\n\t\t\tchrome_icon_PNG: new Asset(\"images/browser-icons/chrome-icon.PNG\", {}),\n\t\t\tmicrosoft_edge_png: new Asset(\"images/browser-icons/microsoft-edge.png\", {}),\n\t\t\tmozilla_firefox_png: new Asset(\"images/browser-icons/mozilla-firefox.png\", {})\n\t\t},\n\t\tburnout: {\n\t\t\tburnout_animation_atlas: new Asset(\"images/burnout/burnout_animation.atlas\", {}),\n\t\t\tburnout_animation_json: new Asset(\"images/burnout/burnout_animation.json\", {}),\n\t\t\tburnout_animation_png: new Asset(\"images/burnout/burnout_animation.png\", {}),\n\t\t\tburnout_animation_last_frame_png: new Asset(\"images/burnout/burnout_animation_last_frame.png\", {})\n\t\t},\n\t\tdaily_deal: {\n\t\t\tdaily_deal_chest_glow_png: new Asset(\"images/daily-deal/daily-deal-chest-glow.png\", {}),\n\t\t\tdaily_deal_chest_halo_png: new Asset(\"images/daily-deal/daily-deal-chest-halo.png\", {}),\n\t\t\tdaily_deal_chest_text_strip_svg: new Asset(\"images/daily-deal/daily-deal-chest-text-strip.svg\", {}),\n\t\t\tdaily_deal_chest_png: new Asset(\"images/daily-deal/daily-deal-chest.png\", {})\n\t\t},\n\t\tf2p: {\n\t\t\tfreeToPlay_atlas: new Asset(\"images/f2p/freeToPlay.atlas\", {'si_mi': true}),\n\t\t\tfreeToPlay_json: new Asset(\"images/f2p/freeToPlay.json\", {'si_mi': true}),\n\t\t\tfreeToPlay_png: new Asset(\"images/f2p/freeToPlay.png\", {'si_mi': true})\n\t\t},\n\t\tfree_play: {\n\t\t\tfp_left_arrow_png: new Asset(\"images/free-play/fp-left-arrow.png\", {}),\n\t\t\tfp_right_arrow_png: new Asset(\"images/free-play/fp-right-arrow.png\", {}),\n\t\t\tfp_step_msg_bg_png: new Asset(\"images/free-play/fp-step-msg-bg.png\", {}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/free-play/fp-vouchers-bg.png\", {}),\n\t\t\tfreeplay_bg_type_fp_png: new Asset(\"images/free-play/freeplay-bg-type-fp.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_fs_png: new Asset(\"images/free-play/freeplay-bg-type-fs.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_jfp_png: new Asset(\"images/free-play/freeplay-bg-type-jfp.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_jfs_png: new Asset(\"images/free-play/freeplay-bg-type-jfs.png\", {'777_com': true}),\n\t\t\tfreeplay_type_fp_png: new Asset(\"images/free-play/freeplay-type-fp.png\", {'777_com': true}),\n\t\t\tfreeplay_type_fs_png: new Asset(\"images/free-play/freeplay-type-fs.png\", {'777_com': true}),\n\t\t\tfreeplay_type_jfp_png: new Asset(\"images/free-play/freeplay-type-jfp.png\", {'777_com': true}),\n\t\t\tfreeplay_type_jfs_png: new Asset(\"images/free-play/freeplay-type-jfs.png\", {'777_com': true})\n\t\t},\n\t\tgames_icons_background: {\n\t\t\tBGcardandtable_png: new Asset(\"images/games-icons-background/BGcardandtable.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGGameBlack_png: new Asset(\"images/games-icons-background/BGGameBlack.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGGameBlackSquare_png: new Asset(\"images/games-icons-background/BGGameBlackSquare.png\", {'777_com': true}),\n\t\t\tBGicon_png: new Asset(\"images/games-icons-background/BGicon.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGredTiger_png: new Asset(\"images/games-icons-background/BGredTiger.png\", {'777_com': true})\n\t\t},\n\t\tgame_frame: {\n\t\t\tdemo_left_corner_png: new Asset(\"images/game_frame/demo_left_corner.png\", {'777_com': true}),\n\t\t\tdemo_right_corner_png: new Asset(\"images/game_frame/demo_right_corner.png\", {'777_com': true}),\n\t\t\tfreeplay_indicator_png: new Asset(\"images/game_frame/freeplay_indicator.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_indicator_selected_png: new Asset(\"images/game_frame/freeplay_indicator_selected.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_left_corner_png: new Asset(\"images/game_frame/freeplay_left_corner.png\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_right_corner_png: new Asset(\"images/game_frame/freeplay_right_corner.png\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_left_corner_png: new Asset(\"images/game_frame/real_left_corner.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_right_corner_png: new Asset(\"images/game_frame/real_right_corner.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tregulation_strip_clock_png: new Asset(\"images/game_frame/regulation_strip_clock.png\", {})\n\t\t},\n\t\thistory: {\n\t\t\thistory_details_left_corner_png: new Asset(\"images/history/history-details-left-corner.png\", {'777_com': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\thistory_calendar_png: new Asset(\"images/history/history_calendar.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tjackpot_widget: {\n\t\t\tcrown_png: new Asset(\"images/jackpot_widget/crown.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tage_of_gods: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/age_of_gods/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/age_of_gods/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tdaily: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/daily/background.png\", {'777_com': true,'si_mi': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/daily/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true})\n\t\t\t},\n\t\t\thigh_noon: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/high_noon/background.png\", {'777_com': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/high_noon/logo.png\", {})\n\t\t\t},\n\t\t\thourly_captain8: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/hourly_captain8/background.png\", {}),\n\t\t\t\tbackground_landscape_png: new Asset(\"images/jackpot_widget/hourly_captain8/background_landscape.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/hourly_captain8/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tinfo_dialog: {\n\t\t\t\tmobile_png: new Asset(\"images/jackpot_widget/info_dialog/mobile.png\", {'777_com': true}),\n\t\t\t\tmobile_landscape_png: new Asset(\"images/jackpot_widget/info_dialog/mobile_landscape.png\", {'777_com': true}),\n\t\t\t\tpc_png: new Asset(\"images/jackpot_widget/info_dialog/pc.png\", {'777_com': true})\n\t\t\t},\n\t\t\tlive_party: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/live_party/background.png\", {'777_com': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/live_party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/live_party/logo.png\", {})\n\t\t\t},\n\t\t\tmillionaire_genie: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/millionaire_genie/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/millionaire_genie/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tparty: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/party/background.png\", {'777_com': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/party/logo.png\", {}),\n\t\t\t\ttoaster_icon_png: new Asset(\"images/jackpot_widget/party/toaster_icon.png\", {'777_com': true}),\n\t\t\t\twinning_png: new Asset(\"images/jackpot_widget/party/winning.png\", {})\n\t\t\t},\n\t\t\ttwilight: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/twilight/background.png\", {'777_com': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/twilight/logo.png\", {})\n\t\t\t}\n\t\t},\n\t\tlive_arena: {\n\t\t\tactive_indicator_bg_png: new Asset(\"images/live_arena/active_indicator_bg.png\", {}),\n\t\t\tdealer_icon_png: new Asset(\"images/live_arena/dealer_icon.png\", {'777_com': true}),\n\t\t\tseat_icon_png: new Asset(\"images/live_arena/seat_icon.png\", {'777_com': true}),\n\t\t\tseat_icon_dark_png: new Asset(\"images/live_arena/seat_icon_dark.png\", {'777_com': true}),\n\t\t\tlive_arena_widget: {\n\t\t\t\tbackground_png: new Asset(\"images/live_arena/live_arena_widget/background.png\", {}),\n\t\t\t\tcapsule_end_png: new Asset(\"images/live_arena/live_arena_widget/capsule_end.png\", {'777_com': true}),\n\t\t\t\tcapsule_mid_png: new Asset(\"images/live_arena/live_arena_widget/capsule_mid.png\", {'777_com': true}),\n\t\t\t\tcapsule_start_png: new Asset(\"images/live_arena/live_arena_widget/capsule_start.png\", {'777_com': true}),\n\t\t\t\tcrown_png: new Asset(\"images/live_arena/live_arena_widget/crown.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/live_arena/live_arena_widget/logo.png\", {}),\n\t\t\t\tseparator_png: new Asset(\"images/live_arena/live_arena_widget/separator.png\", {'777_com': true})\n\t\t\t}\n\t\t},\n\t\tonboarding: {\n\t\t\tonboarding_logo_png: new Asset(\"images/onboarding/onboarding_logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tonboarding_logo_closing_png: new Asset(\"images/onboarding/onboarding_logo_closing.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t},\n\t\tregulation_specific: {\n\t\t\tdenmark: {\n\t\t\t\tsafe_to_play_png: new Asset(\"images/regulation_specific/denmark/safe-to-play.png\", {}),\n\t\t\t\tself_exclusion_png: new Asset(\"images/regulation_specific/denmark/self-exclusion.png\", {}),\n\t\t\t\tself_test_png: new Asset(\"images/regulation_specific/denmark/self-test.png\", {})\n\t\t\t},\n\t\t\tontario: {\n\t\t\t\tsafe_to_play_icon_svg: new Asset(\"images/regulation_specific/ontario/safe-to-play-icon.svg\", {})\n\t\t\t},\n\t\t\tsweeden: {\n\t\t\t\tsw_resp_game_limit_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit-symbol.png\", {}),\n\t\t\t\tsw_resp_game_limit_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit.png\", {}),\n\t\t\t\tsw_resp_game_panic_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic-symbol.png\", {}),\n\t\t\t\tsw_resp_game_panic_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic.png\", {}),\n\t\t\t\tsw_resp_game_self_test_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test-symbol.png\", {}),\n\t\t\t\tsw_resp_game_self_test_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test.png\", {})\n\t\t\t},\n\t\t\tus: {\n\t\t\t\tnj_rg_icon_svg: new Asset(\"images/regulation_specific/us/nj-rg-icon.svg\", {}),\n\t\t\t\tnj_us_flag_svg: new Asset(\"images/regulation_specific/us/nj-us-flag.svg\", {})\n\t\t\t}\n\t\t},\n\t\tresponsible_gambling: {\n\t\t\tage_18plus_capsule_svg: new Asset(\"images/responsible-gambling/age-18plus-capsule.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tage_18plus_flat_svg: new Asset(\"images/responsible-gambling/age-18plus-flat.svg\", {'777_com': true}),\n\t\t\tage_18plus_round_svg: new Asset(\"images/responsible-gambling/age-18plus-round.svg\", {'777_com': true}),\n\t\t\tage_21plus_flat_svg: new Asset(\"images/responsible-gambling/age-21plus-flat.svg\", {'777_com': true}),\n\t\t\tage_21plus_round_svg: new Asset(\"images/responsible-gambling/age-21plus-round.svg\", {'777_com': true,'si_mi': true}),\n\t\t\tbegambleaeare_logo_png: new Asset(\"images/responsible-gambling/begambleaeare-logo.png\", {'777_com': true}),\n\t\t\tgamecare_logo_png: new Asset(\"images/responsible-gambling/gamecare-logo.png\", {'777_com': true}),\n\t\t\tsafeZoneIcon_svg: new Asset(\"images/responsible-gambling/safeZoneIcon.svg\", {'777_com': true})\n\t\t},\n\t\tuser: {\n\t\t\tpost_login_mobile_svg: new Asset(\"images/user/post-login-mobile.svg\", {'777_com': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\twheel_of_fortune: {\n\t\t\tcolors_svg: new Asset(\"images/wheel-of-fortune/colors.svg\", {}),\n\t\t\tshell_svg: new Asset(\"images/wheel-of-fortune/shell.svg\", {'777_com': true})\n\t\t},\n\t\tarenas: {\n\t\t\tCasinoGames: {\n\t\t\t\tonline_blackjack_png: new Asset(\"images/arenas/CasinoGames/online_blackjack.png\", {'777_com': true}),\n\t\t\t\tonline_casino_games_png: new Asset(\"images/arenas/CasinoGames/online_casino_games.png\", {'777_com': true}),\n\t\t\t\tonline_jackpot_png: new Asset(\"images/arenas/CasinoGames/online_jackpot.png\", {'777_com': true}),\n\t\t\t\tonline_roulette_png: new Asset(\"images/arenas/CasinoGames/online_roulette.png\", {'777_com': true}),\n\t\t\t\tonline_slots_png: new Asset(\"images/arenas/CasinoGames/online_slots.png\", {'777_com': true})\n\t\t\t},\n\t\t\tHomePage: {\n\t\t\t\tblackjack_arena_info_png: new Asset(\"images/arenas/HomePage/blackjack_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcards_arena_info_png: new Asset(\"images/arenas/HomePage/cards_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcasino_games_arena_png: new Asset(\"images/arenas/HomePage/casino_games_arena.png\", {'777_com': true}),\n\t\t\t\tdaily_jackpots_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_arena_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tdefault_arena_png: new Asset(\"images/arenas/HomePage/default_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_png: new Asset(\"images/arenas/HomePage/live_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tnew_games_arena_png: new Asset(\"images/arenas/HomePage/new_games_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tnew_games_arena_info_png: new Asset(\"images/arenas/HomePage/new_games_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\troulette_arena_info_png: new Asset(\"images/arenas/HomePage/roulette_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tscratch_cards_arena_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena.png\", {'777_com': true}),\n\t\t\t\tscratch_cards_arena_info_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_arena_info_png: new Asset(\"images/arenas/HomePage/slots_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_jackpots_arena_png: new Asset(\"images/arenas/HomePage/slots_jackpots_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvideo_poker_arena_info_png: new Asset(\"images/arenas/HomePage/video_poker_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\t_888exclusive_arena_png: new Asset(\"images/arenas/HomePage/888exclusive_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\t_888exclusive_arena_info_png: new Asset(\"images/arenas/HomePage/888exclusive_arena_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tblackjack_arena_png: new Asset(\"images/arenas/HomePage/blackjack_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tcards_arena_png: new Asset(\"images/arenas/HomePage/cards_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tInstantWin_game_info_png: new Asset(\"images/arenas/HomePage/InstantWin_game_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/HomePage/live_arena_elite_lounge.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tlive_game_shows_arena_png: new Asset(\"images/arenas/HomePage/live_game_shows_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\troulette_arena_png: new Asset(\"images/arenas/HomePage/roulette_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tscratch_cards_arena_icon_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvideo_poker_arena_png: new Asset(\"images/arenas/HomePage/video_poker_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvisual_sport_arena_info_png: new Asset(\"images/arenas/HomePage/visual_sport_arena_info.png\", {'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tprogressive_slots_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_icon.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tprogressive_slots_arena_info_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_info.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tsi_exclusive_arena_png: new Asset(\"images/arenas/HomePage/si_exclusive_arena.png\", {'si_mi': true})\n\t\t\t},\n\t\t\tLiveArenas: {\n\t\t\t\tdefault_live_arena_png: new Asset(\"images/arenas/LiveArenas/default_live_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_baccarat_png: new Asset(\"images/arenas/LiveArenas/live_arena_baccarat.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_bj_png: new Asset(\"images/arenas/LiveArenas/live_arena_bj.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_dream_catcher_png: new Asset(\"images/arenas/LiveArenas/live_arena_dream_catcher.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/LiveArenas/live_arena_elite_lounge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_poker_png: new Asset(\"images/arenas/LiveArenas/live_arena_poker.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_roulette_png: new Asset(\"images/arenas/LiveArenas/live_arena_roulette.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true})\n\t\t\t}\n\t\t},\n\t\tavatars: {\n\t\t\tdiamond_vip: {\n\t\t\t\tmy_account_diamond_vip_png: new Asset(\"images/avatars/diamond-vip/my-account-diamond-vip.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_regular_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-selected-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_pressed_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_regular_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tmy_account_gold_vip_png: new Asset(\"images/avatars/gold-vip/my-account-gold-vip.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-selected-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_pressed_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tPREV_post_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/PREV_post-login-gold-vip-avatar-regular.png\", {'777_com': true}),\n\t\t\t\tWpost_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/Wpost-login-gold-vip-avatar-regular.png\", {'777_com': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tmy_account_vip_platinum_png: new Asset(\"images/avatars/platinum-vip/my-account-vip-platinum.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_regular_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_selected_pressed_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-selected-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_pressed_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_regular_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t\t},\n\t\t\treg: {\n\t\t\t\tpost_login_hover_png: new Asset(\"images/avatars/reg/post-login-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_pressed_png: new Asset(\"images/avatars/reg/post-login-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_png: new Asset(\"images/avatars/reg/post-login-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_hover_png: new Asset(\"images/avatars/reg/pre-login-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_pressed_png: new Asset(\"images/avatars/reg/pre-login-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_png: new Asset(\"images/avatars/reg/pre-login-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tmy_account_vip_reg_png: new Asset(\"images/avatars/reg-vip/my-account-vip-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_icon_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-icon-selected-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_regular_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tMy_account_VIP_REG_icon_png: new Asset(\"images/avatars/reg-vip/My-account-VIP-REG-icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-selected-pressed.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t\t}\n\t\t},\n\t\tbadges: {\n\t\t\texclusive_png: new Asset(\"images/badges/exclusive.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thot_png: new Asset(\"images/badges/hot.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_badge_png: new Asset(\"images/badges/new-badge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/badges/vip-badge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tbanners: {\n\t\t\t_777InstantWin_arena_banner_mobile_png: new Asset(\"images/banners/777InstantWin_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\t_777InstantWin_arena_banner_pc_png: new Asset(\"images/banners/777InstantWin_arena_banner_pc.png\", {'777_com': true}),\n\t\t\t_777InstantWin_arena_banner_tablet_png: new Asset(\"images/banners/777InstantWin_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_mobile_png: new Asset(\"images/banners/all_casino_games_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_pc_png: new Asset(\"images/banners/all_casino_games_arena_banner_pc.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_tablet_png: new Asset(\"images/banners/all_casino_games_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tblackjack_arena_banner_mobile_png: new Asset(\"images/banners/blackjack_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_png: new Asset(\"images/banners/blackjack_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_png: new Asset(\"images/banners/blackjack_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcasino_games_arena_banner_mobile_png: new Asset(\"images/banners/casino_games_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\tcasino_games_arena_banner_pc_png: new Asset(\"images/banners/casino_games_arena_banner_pc.png\", {'777_com': true}),\n\t\t\tcasino_games_arena_banner_tablet_png: new Asset(\"images/banners/casino_games_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tevo_lobby_banner_mobile_png: new Asset(\"images/banners/evo_lobby_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_pc_png: new Asset(\"images/banners/evo_lobby_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_tablet_png: new Asset(\"images/banners/evo_lobby_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_mobile_png: new Asset(\"images/banners/jackpot_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_pc_png: new Asset(\"images/banners/jackpot_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_tablet_png: new Asset(\"images/banners/jackpot_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tlive_arena_banner_mobile_png: new Asset(\"images/banners/live_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tlive_arena_banner_pc_png: new Asset(\"images/banners/live_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tlive_arena_banner_tablet_png: new Asset(\"images/banners/live_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_mobile_png: new Asset(\"images/banners/new_games_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_pc_png: new Asset(\"images/banners/new_games_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_tablet_png: new Asset(\"images/banners/new_games_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\troulette_arena_banner_mobile_png: new Asset(\"images/banners/roulette_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_png: new Asset(\"images/banners/roulette_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_png: new Asset(\"images/banners/roulette_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tscrach_card_arena_banner_mobile_png: new Asset(\"images/banners/scrach_card_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscrach_card_arena_banner_pc_png: new Asset(\"images/banners/scrach_card_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscrach_card_arena_banner_tablet_png: new Asset(\"images/banners/scrach_card_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tslots_arena_banner_mobile_png: new Asset(\"images/banners/slots_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_pc_png: new Asset(\"images/banners/slots_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_tablet_png: new Asset(\"images/banners/slots_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_mobile_png: new Asset(\"images/banners/video_poker_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_pc_png: new Asset(\"images/banners/video_poker_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_tablet_png: new Asset(\"images/banners/video_poker_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t_888exclusive_arena_banner_mobile_png: new Asset(\"images/banners/888exclusive_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_banner_pc_png: new Asset(\"images/banners/888exclusive_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_banner_tablet_png: new Asset(\"images/banners/888exclusive_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_preview_image_png: new Asset(\"images/banners/888exclusive_arena_preview_image.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tcards_arena_banner_mobile_png: new Asset(\"images/banners/cards_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_pc_png: new Asset(\"images/banners/cards_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_tablet_png: new Asset(\"images/banners/cards_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tInstantWin_arena_banner_mobile_png: new Asset(\"images/banners/InstantWin_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_pc_png: new Asset(\"images/banners/InstantWin_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_tablet_png: new Asset(\"images/banners/InstantWin_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_mobile_png: new Asset(\"images/banners/virtual_sports_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_pc_png: new Asset(\"images/banners/virtual_sports_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_tablet_png: new Asset(\"images/banners/virtual_sports_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tprogressive_slots_arena_banner_mobile_png: new Asset(\"images/banners/progressive_slots_arena_banner_mobile.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_pc_png: new Asset(\"images/banners/progressive_slots_arena_banner_pc.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_tablet_png: new Asset(\"images/banners/progressive_slots_arena_banner_tablet.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_mobile_png: new Asset(\"images/banners/exclusive_arena_banner_mobile.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_pc_png: new Asset(\"images/banners/exclusive_arena_banner_pc.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_tablet_png: new Asset(\"images/banners/exclusive_arena_banner_tablet.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tsi_exclusive_arena_banner_mobile_png: new Asset(\"images/banners/si_exclusive_arena_banner_mobile.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_pc_png: new Asset(\"images/banners/si_exclusive_arena_banner_pc.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_tablet_png: new Asset(\"images/banners/si_exclusive_arena_banner_tablet.png\", {'si_mi': true}),\n\t\t\tblackjack_arena_banner_mobile_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_mobile_rtl.png\", {'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_pc_rtl.png\", {'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_tablet_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_mobile_rtl_png: new Asset(\"images/banners/roulette_arena_banner_mobile_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_rtl_png: new Asset(\"images/banners/roulette_arena_banner_pc_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_rtl_png: new Asset(\"images/banners/roulette_arena_banner_tablet_rtl.png\", {'wsop_nj': true})\n\t\t},\n\t\tlogos: {\n\t\t\tsi_logo_pc_svg: new Asset(\"images/logos/si_logo_pc.svg\", {'si_mi': true}),\n\t\t\tdiamond_vip: {\n\t\t\t\tvip_diamond_logo_mobile_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_diamond_logo_mobile_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_dark_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_diamond_logo_pc_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tvip_gold_logo_mobile_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_gold_logo_mobile_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_dark_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_gold_logo_pc_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_png: new Asset(\"images/logos/gold-vip/vip-gold-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tvip_platinum_logo_mobile_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_platinum_logo_mobile_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_dark_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_platinum_logo_pc_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tvip_regular_logo_mobile_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_regular_logo_mobile_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_dark_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_regular_logo_pc_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_png: new Asset(\"images/logos/reg-vip/vip-regular-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\n\t\t},\n\t\tsdk_icons: {\n\t\t\t_18_plus_png: new Asset(\"images/sdk_icons/18_plus.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t_21_plus_png: new Asset(\"images/sdk_icons/21_plus.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_png: new Asset(\"images/sdk_icons/Close.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_hover_png: new Asset(\"images/sdk_icons/Close_hover.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfprightarrow_png: new Asset(\"images/sdk_icons/fprightarrow.png\", {'777_com': true}),\n\t\t\tfpvoucherback_png: new Asset(\"images/sdk_icons/fpvoucherback.png\", {'777_com': true}),\n\t\t\tfpVoucherBG_png: new Asset(\"images/sdk_icons/fpVoucherBG.png\", {'777_com': true}),\n\t\t\tfpvoucherfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherfreeplay.png\", {'777_com': true}),\n\t\t\tfpvoucherfreespin_png: new Asset(\"images/sdk_icons/fpvoucherfreespin.png\", {'777_com': true}),\n\t\t\tfpvoucherinfoclose_png: new Asset(\"images/sdk_icons/fpvoucherinfoclose.png\", {'777_com': true}),\n\t\t\tfpvoucherinfoopen_png: new Asset(\"images/sdk_icons/fpvoucherinfoopen.png\", {'777_com': true}),\n\t\t\tfpvoucherjackpotfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreeplay.png\", {'777_com': true}),\n\t\t\tfpvoucherjackpotfreespin_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreespin.png\", {'777_com': true}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/sdk_icons/fp_vouchers_bg.png\", {'777_com': true}),\n\t\t\tfreeplayVoucherBG_png: new Asset(\"images/sdk_icons/freeplayVoucherBG.png\", {'777_com': true}),\n\t\t\tfreeSpinsVoucherBG_png: new Asset(\"images/sdk_icons/freeSpinsVoucherBG.png\", {'777_com': true}),\n\t\t\tfull_screen_png: new Asset(\"images/sdk_icons/full_screen.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfull_screen_off_png: new Asset(\"images/sdk_icons/full_screen_off.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_fp_indicator_png: new Asset(\"images/sdk_icons/game-frame-fp-indicator.png\", {'777_com': true}),\n\t\t\tgame_frame_freeplay_mode_left_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_freeplay_mode_right_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_left_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_right_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_left_png: new Asset(\"images/sdk_icons/game_frame_real_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_right_png: new Asset(\"images/sdk_icons/game_frame_real_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgeneral_notification_png: new Asset(\"images/sdk_icons/general_notification.png\", {'777_com': true}),\n\t\t\that_png: new Asset(\"images/sdk_icons/hat.png\", {'777_com': true}),\n\t\t\thot_png: new Asset(\"images/sdk_icons/hot.png\", {'777_com': true}),\n\t\t\ticons_down_arrow_png: new Asset(\"images/sdk_icons/icons_down_arrow.png\", {'777_com': true}),\n\t\t\tjackpotplayFreePlayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreePlayVoucherBG.png\", {'777_com': true}),\n\t\t\tjackpotplayFreeSpinVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreeSpinVoucherBG.png\", {'777_com': true}),\n\t\t\tjackpotplayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayVoucherBG.png\", {'777_com': true}),\n\t\t\tleftarrow_png: new Asset(\"images/sdk_icons/leftarrow.png\", {'777_com': true}),\n\t\t\tnew_badge_png: new Asset(\"images/sdk_icons/new-badge.png\", {'777_com': true}),\n\t\t\tpassword_png: new Asset(\"images/sdk_icons/password.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\trightarrow_png: new Asset(\"images/sdk_icons/rightarrow.png\", {'777_com': true}),\n\t\t\ttoaster_information_message_png: new Asset(\"images/sdk_icons/toaster-information-message.png\", {'777_com': true}),\n\t\t\ttouchFinger_png: new Asset(\"images/sdk_icons/touchFinger.png\", {'777_com': true}),\n\t\t\tuser_png: new Asset(\"images/sdk_icons/user.png\", {'777_com': true}),\n\t\t\tusername_png: new Asset(\"images/sdk_icons/username.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/sdk_icons/vip-badge.png\", {'777_com': true}),\n\t\t\tgame_frame_bg_fp_left_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-left.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true}),\n\t\t\tgame_frame_bg_fp_right_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-right.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true}),\n\t\t\tpost_login_mobile_svg: new Asset(\"images/sdk_icons/post-login-mobile.svg\", {'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thistory_details_left_corner_png: new Asset(\"images/sdk_icons/history-details-left-corner.png\", {'si_mi': true})\n\t\t},\n\t\tstore: {\n\t\t\tstore_button_android_eng_png: new Asset(\"images/store/store-button-android-eng.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fin_png: new Asset(\"images/store/store-button-android-fin.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fre_png: new Asset(\"images/store/store-button-android-fre.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_ger_png: new Asset(\"images/store/store-button-android-ger.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_nor_png: new Asset(\"images/store/store-button-android-nor.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_por_png: new Asset(\"images/store/store-button-android-por.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_rus_png: new Asset(\"images/store/store-button-android-rus.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_spa_png: new Asset(\"images/store/store-button-android-spa.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_swe_png: new Asset(\"images/store/store-button-android-swe.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_eng_svg: new Asset(\"images/store/store-button-ios-eng.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fin_svg: new Asset(\"images/store/store-button-ios-fin.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fre_svg: new Asset(\"images/store/store-button-ios-fre.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_ger_svg: new Asset(\"images/store/store-button-ios-ger.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_nor_svg: new Asset(\"images/store/store-button-ios-nor.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_por_svg: new Asset(\"images/store/store-button-ios-por.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_rus_svg: new Asset(\"images/store/store-button-ios-rus.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_spa_svg: new Asset(\"images/store/store-button-ios-spa.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_swe_svg: new Asset(\"images/store/store-button-ios-swe.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\ttooltip: {\n\t\t\tgift_svg: new Asset(\"images/tooltip/gift.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tmini_orbit: {\n\t\t\tcip: {\n\t\t\t\texclusives_list_icon_cip_png: new Asset(\"images/mini_orbit/cip/exclusives_list_icon_cip.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\ttexture_png: new Asset(\"images/mini_orbit/cip/texture.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cip/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tjackpot_widget_title_crown_png: new Asset(\"images/mini_orbit/cip/jackpot_widget_title_crown.png\", {'wsop_nj': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'wsop_nj': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cip/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cip/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cip/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true})\n\t\t\t\t}\n\t\t\t},\n\t\t\tcis: {\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cis/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cis/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cis/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cis/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tanimated_banners: {\n\t\t\tatmospheric_blackjack_banner_atlas: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_blackjack_banner_json: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_blackjack_banner_png: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_atlas: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_json: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_png: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_atlas: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_json: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_png: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_atlas: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_json: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_png: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_atlas: new Asset(\"images/animated-banners/atmospheric-live-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_json: new Asset(\"images/animated-banners/atmospheric-live-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_png: new Asset(\"images/animated-banners/atmospheric-live-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_atlas: new Asset(\"images/animated-banners/atmospheric-newgames-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_json: new Asset(\"images/animated-banners/atmospheric-newgames-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_png: new Asset(\"images/animated-banners/atmospheric-newgames-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_atlas: new Asset(\"images/animated-banners/atmospheric-roulette-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_json: new Asset(\"images/animated-banners/atmospheric-roulette-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_png: new Asset(\"images/animated-banners/atmospheric-roulette-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_atlas: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_json: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_png: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_atlas: new Asset(\"images/animated-banners/atmospheric-slots-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_json: new Asset(\"images/animated-banners/atmospheric-slots-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_png: new Asset(\"images/animated-banners/atmospheric-slots-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_atlas: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_json: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_png: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t}\n\t},\n\tlottie_json: {\n\t\tgeo_location_checking_json: new Asset(\"lottie-json/geo-location-checking.json\", {}),\n\t\tgeo_location_ok_json: new Asset(\"lottie-json/geo-location-ok.json\", {})\n\t},\n\tvideos: {\n\t\tharmonium_mp4: new Asset(\"videos/harmonium.mp4\", {})\n\t},\n\tgames: {\n\t\tgame_icon_placeholder_png: new Asset(\"games/game_icon_placeholder.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tabout: {\n\t\t\teng_about_json: new Asset(\"games/about/eng_about.json\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tpreview_default_images: {\n\t\t\tdefault_game_strip_card_and_table_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_card_and_table_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_png: new Asset(\"games/preview_default_images/default_game_strip_live.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_live_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_png: new Asset(\"games/preview_default_images/default_game_strip_slots.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_slots_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t}\n\t},\n\tfallbackCMSComponent: {\n\t\tdefault_cgp_shell_css: new Asset(\"fallbackCMSComponent/default-cgp-shell.css\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tdefaultFooter_html: new Asset(\"fallbackCMSComponent/defaultFooter.html\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tharrahsFooter_html: new Asset(\"fallbackCMSComponent/harrahsFooter.html\", {'harrahs_nj': true}),\n\t\twsopFooter_html: new Asset(\"fallbackCMSComponent/wsopFooter.html\", {'wsop_nj': true})\n\t}\n};","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface IInfoIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class InfoIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface ISearchIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class SearchIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#0ea79b\", //brandTeal\r\n base01Contrast: \"#19322f\", //blackTeal\r\n base01Dark: \"#8cd1ba\", //softTeal\r\n base01Light: \"#c3e3c7\", //lightGreen\r\n\r\n base02: \"#fcf6d5\", //brandYellow\r\n base02Contrast: \"#4c1723\", //blackRed\r\n base02Dark: \"#a4867c\", //tan\r\n base02Light: \"#eadfc3\", //sepia\r\n\r\n base03: \"#bc3554\", //pink\r\n base03Contrast: \"#fcf6d5\", //brandYellow,\r\n base03Dark: \"#b01619\", //brick\r\n base03Light: \"#ff014f\", //red\r\n\r\n base04: \"#ffd683\", //peach\r\n base04Contrast: \"#4c1723\", //blackRed\r\n base04Dark: \"#ffbe0b\", //papaya\r\n base04Light: \"#ffff00\", //yellow\r\n\r\n\r\n base05: \"#7aec37\", //inchWorm\r\n base05Contrast: \"#000000\",\r\n base05Dark: \"#135823\",\r\n base05Light: \"#d5ec37\", //pear //#87ee4b\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#FC6200\",\r\n base01Contrast: \"#000000\",\r\n base01Dark: \"#de5600\",\r\n base01Light: \"#fc721a\",\r\n\r\n base02: \"#ffcc02\",\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#e0b400\",\r\n base02Light: \"#ffd11a\",\r\n\r\n base03: \"#e91515\",\r\n base03Contrast: \"\",\r\n base03Dark: \"#cd1212\",\r\n base03Light: \"#eb2c2c\",\r\n\r\n base04: \"#0294f6\",\r\n base04Contrast: \"#ffffff\",\r\n base04Dark: \"#0282d8\",\r\n base04Light: \"#1b9ff7\",\r\n\r\n base05: \"#0c0c0c\",\r\n base05Contrast: \"#ffffff\",\r\n base05Dark: \"#0b0b0b\",\r\n base05Light: \"#242424\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#d62a8c\",\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#bc257b\",\r\n base01Light: \"#da3f98\",\r\n\r\n base02: \"#310a53\",\r\n base02Contrast: \"#ffffff\",\r\n base02Dark: \"#462365\",\r\n base02Light: \"#6d5c80\",\r\n\r\n base03: \"#ff014f\",\r\n base03Contrast: \"#ffffff\",\r\n base03Dark: \"#e00146\",\r\n base03Light: \"#ff1a61\",\r\n\r\n\r\n base04: \"#d5ec37\",\r\n base04Contrast: \"#180529\",\r\n base04Dark: \"#7aec37\",\r\n base04Light: \"#ffff00\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#015536\",\r\n base01Contrast: \"#262627\",\r\n base01Dark: \"#05372C\",\r\n base01Light: \"#41B169\",\r\n\r\n base02: \"#047C4C\",\r\n base02Contrast: \"\",\r\n base02Dark: \"\",\r\n base02Light: \"\",\r\n\r\n base03: \"#FFFFFF\",\r\n base03Contrast: \"\",\r\n base03Dark: \"\",\r\n base03Light: \"\",\r\n\r\n base04: \"linear-gradient(90deg, #F1C141 0%, #F9F19A 48.96%, #F1C141 100%)\",\r\n base05: \"#F12727\",\r\n gold: \"#F1C141\",\r\n yellow: \"#F9F19A\",\r\n warmWhite: \"#FFFFFFCC\",\r\n ...grayColors\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#ee3831\", //red\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#ca2e1e\",\r\n base01Light: \"#e94838\",\r\n\r\n base02: \"#7ff800\", //brandGreen\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#7aec37\", //inchWorm\r\n base02Light: \"#d2f800\", //limeGreen\r\n\r\n base03: \"#fce403\", //turbo\r\n base03Contrast: \"#000000\",\r\n base03Dark: \"#ffff00\", //yellow\r\n base03Light: \"#d5ec37\", //pear\r\n\r\n base04: \"#c81503\",\r\n\r\n ...grayColors\r\n};","import { grayColors } from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#c81503\", //red si cis\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#ca2e1e\",\r\n base01Light: \"#e94838\",\r\n base01LightMedium: \"#e63422\",\r\n\r\n base02: \"#7ff800\", //brandGreen\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#7aec37\", //inchWorm\r\n base02Light: \"#d2f800\", //limeGreen\r\n\r\n base03: \"#fce403\", //turbo\r\n base03Contrast: \"#000000\",\r\n base03Dark: \"#ffff00\", //yellow\r\n base03Light: \"#d5ec37\", //pear\r\n\r\n base04: \"#c81503\",\r\n\r\n base05: \"#c1c1c18f\",\r\n\r\n base06: \"#828282\",\r\n\r\n base07: \"#e3e3e3\",\r\n\r\n base08: \"#707372\",\r\n\r\n base08Shadow: \"#000000bf\",\r\n\r\n base09: \"#b2b2b2\",\r\n\r\n base10: \"#272727\",\r\n\r\n ...grayColors\r\n};","export function hexToRgba(hex: string, opacity: number = 1): string {\r\n var c;\r\n if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){\r\n c = hex.substring(1).split('');\r\n if(c.length === 3){\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\r\n }\r\n c = '0x'+c.join('');\r\n return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',' + opacity +')';\r\n }\r\n throw new Error('Bad color Hex code');\r\n}","export const FEATURE_GAME_RECOMMENDATIONS = 'GameRecommendations';\r\nexport const FEATURE_ROUTE_OVERWRITE = \"AbRouteOverwrite\";\r\nexport const FEATURE_DEPOSIT_WIDGET = \"DepositWidget\"; //used only on backend side\r\nexport const FEATURE_CASHOUT_WIDGET = \"CashoutWidget\"; //used only on backend side\r\nexport const FEATURE_TRANSACTION_HISTORY_WIDGET = \"TransactionHistoryWidget\";\r\nexport const FEATURE_NAME_CONTROL_CENTER_TOGGLE = \"AbTestingSafeZoneToggle\";\r\nexport const FEATURE_NAME_LIST_ON_TOP = \"ListOnTop\";\r\nexport const FEATURE_NAME_PARTY_JACKPOTS = \"PartyJackpots\";\r\nexport const FEATURE_NAME_SEARCH_GAME_SUGGESTED_BY_AI = \"SearchGameSuggestionByAI\";\r\nexport const FEATURE_NAME_PLAYERS_LIKE_YOU_GAMES_LIST_TYPE_ID = \"PlayersLikeYouGamesListTypeId\";\r\nexport const FEATURE_NAME_VIDEO_LIVE_STREAM = \"LiveStreamEnabled\";\r\nexport const FEATURE_NAME_STATIC_VIDEO_LIST = \"StaticVideoListEnabled\";\r\nexport const FEATURE_NAME_AI_SORT_GAME_LIST = \"AbTestingAiSortGamesLists\";\r\nexport const FEATURE_NAME_BECAUSE_YOU_PLAYED_LIST = \"BecauseYouPlayedListEnabled\";\r\nexport const FEATURE_NAME_MOBILE_HEADER_SEARCH_BUTTON = \"MobileHeaderSearchButton\";\r\nexport const FEATURE_NAME_ONBOARDING_TOUR = \"OnboardingTourActivated\";\r\nexport const FEATURE_NAME_MOBILE_HEADER_DEPOSIT_BUTTON_SHOW = \"HeaderDepositButtonShow\";\r\n","export const CHANNEL_SOURCE = {\r\n casinoClient: 'CASINO_CLIENT',\r\n partyJackpotToaster: 'PARTY_JACKPOT_TOASTER',\r\n omg: 'OMG',\r\n myAccount: 'MY_ACCOUNT',\r\n uploadDocuments: 'UPLOAD_DOCUMENTS',\r\n registration: 'REGISTRATION',\r\n pendingPlay: 'PENDING_PLAY',\r\n pendingAction: 'PENDING_ACTION',\r\n geoLocationRetry: 'GEO_LOCATION_RETRY',\r\n geoLocation: 'GEO_LOCATION',\r\n rich: 'RICH',\r\n about_popup: 'ABOUT_POPUP',\r\n cashier:\"CASHIER\"\r\n}\r\n\r\nexport const CHANNEL_ELEMENTS = {\r\n depositButton: 'deposit_button',\r\n withdrawButton: 'withdraw_button',\r\n uploadDocumentsButton: 'upload_documents_button',\r\n transactionHistoryButton: 'transaction_history_button',\r\n retryButton: 'retry_button',\r\n plusButton: 'plus_button',\r\n urlParam: 'url_param',\r\n deepLink: 'deep_link',\r\n floatingIcon: 'floating_icon',\r\n controlCenterHeaderButton: 'safezone_header_button',\r\n controlCenterTooltip: 'control_center_tooltip',\r\n controlCenterUsefulLink: 'safezone_useful_link',\r\n gamesLimitsLobbyButton: 'games_limits_lobby_button',\r\n gamesLimitsGameButton: 'games_limits_game_button',\r\n omgAction:\"omg_action\",\r\n cashierAction:\"cashier_action\",\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_IDS = {\r\n sofRequired: 100,\r\n retryCloseDrawerMessage: 101,\r\n psRedirectFocusDialog: 102,\r\n timeSpentReminder: 104,\r\n nightLimitWarning: 105,\r\n nightLimitKick: 106,\r\n lugasCooldown:108,\r\n lugasActiveOnAnotherOperator:109,\r\n lugasLogout:110,\r\n loginMessage:112,\r\n realityCheckGermany: 113\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_NAMES = {\r\n DISRUPTIVE_WARNING_MESSAGE_NAME: \"DisruptiveWarningMessage\",\r\n DISRUPTIVE_KICKOFF_MESSAGE_NAME: \"DisruptiveKickOffMessage\",\r\n LUGAS_COOLDOWN_MESSAGE_NAME:\"LugasCoolingPeriod\",\r\n LUGAS_ACTIVE_MESSAGE_NAME:\"LugasParallelPlaying\",\r\n LUGAS_LOGOUT_MESSAGE_NAME:\"LugasLogout\",\r\n REALITY_CHECK_GERMANY_MESSAGE_NAME: \"RealityCheck\",\r\n LOGIN_MESSAGE: \"LoginMessage\"\r\n}\r\n\r\nexport const ACTION_TAKEN_NAMES = {\r\n CONFIRM_ACTION: \"confirm\",\r\n CANCEL_ACTION: \"cancel\",\r\n}","export enum FP_VOUCHER_TYPES {\r\n FreeSpin = '1',\r\n FreePlay = '2',\r\n FreeJackpotSpin = '3',\r\n FreeJackpotPlay = '4'\r\n}\r\n\r\nexport const FP_MESSAGE_MODE = {\r\n POPUP: 'popup',\r\n EMBEDDED_INTERNAL: 'embedded-internal'\r\n};\r\n","export enum GAME_GROUP {\r\n ARCADE = 209,\r\n BACCARAT = 11,\r\n BACKGAMMONN = 40,\r\n BLACKJACK = 12,\r\n CARRIBEAN_POKER = 18,\r\n CRAPS = 10,\r\n CRAZY_BLACKJACK = 20,\r\n HEAD_TO_HEAD = 207,\r\n HI_LO = 202,\r\n KENO = 16,\r\n LIVE_CASINO = 201,\r\n PAI_GOW_POKER = 17,\r\n POKER = 100,\r\n POKER_TEMPLATE_GAMES = 206,\r\n POOLS = 212,\r\n POWER_VIDEO_POKER = 19,\r\n ROULETTE = 13,\r\n ROULETTE_LIKE = 203,\r\n SCRATCH_CARD = 204,\r\n SLOT = 14,\r\n VIDEO_SLOT = 30,\r\n VIDEO_POKER = 15,\r\n VIDEO_SLOT_BONUS_GAME = 31\r\n}\r\n","export enum JackpotInternalId {\r\n Daily = 8000,\r\n Twilight = 8001,\r\n HourlyCaptain8 = 8002,\r\n MillionaireGenie = 6,\r\n AgeOfTheGodsFranchises = 200019,\r\n\r\n}\r\n\r\nexport enum JackpotType {\r\n Daily = \"Daily\",\r\n HighNoon = \"HighNoon\",\r\n Twilight = \"Twilight\",\r\n Party = \"Party\",\r\n HourlyCaptain8 = \"HourlyCaptain8\",\r\n MillionaireGenie = \"MillionaireGenie\",\r\n AgeOfGods = \"AgeOfTheGodsFranchises\",\r\n}\r\n\r\nexport enum JACKPOT_STATE {\r\n Cold = 1,\r\n Regular = 2,\r\n Hot = 3,\r\n OffHours = 4 // used only for Hourly Party Jackpots for now\r\n}\r\n","const MIGRATION = {\r\n PLAYER_MIGRATED_COOKIE : \"player_migrated\",\r\n LOADED_WITH_MIGRATION_TOKEN_SESSION_STORAGE_KEY: \"loadedWithMigrationToken\",\r\n MIGRATION_SOURCE_QUERY_PARAM: \"utm_source\",\r\n MIGRATION_SOURCE_QUERY_PARAM_VALUE: 'player_migration',\r\n MIGRATION_TOKEN_QUERY_PARAM: \"utm_content\",\r\n BUSINESS_CORRELATION_ID_QUERY_PARAM: \"utm_id\"\r\n};\r\n\r\nexport default MIGRATION;","\r\nexport enum GermanyResponsibleGamingButtonPlacement {\r\n inGame = 0,\r\n inDetailedHistory = 1,\r\n inHeader = 2\r\n}","export const QA_ENV_URBAN_DEFAULT_SETTINGS = {\r\n defaultIcon: 'https://mirage-orbit-latest-eu.888casino.com/configurations/888casino_com/assets/images/888casinologo-mobile.svg',\r\n defaultTitle: '888Casino',\r\n defaultActionURL: 'https://mirage-orbit-latest-eu.888casino.com',\r\n appKey: '64FbuTbIS9aQUIwB0cWoMA',\r\n token: 'MTo2NEZidVRiSVM5YVFVSXdCMGNXb01BOkFVRXNxa2hEUE5rZUtTOW1DLVdvR3hwMHNjdHEtNF9xLXJ1M3ZGazVJWEU',\r\n vapidPublicKey: 'BJOvGd2nCaeEGqqKnsJJhWmJzMvJqO4t3wSCqzVJ6uhHWw3891tqJhs8muo958dtbggZe4vM122EtKE9HkvUf9U='\r\n};\r\n\r\nexport const PWA_PROMPT_EVENT = \"pwaPromptEvent\";\r\nexport const PWA_PROMPT_CALLBACK = \"pwaPromptCallback\";\r\nexport const PWA_INSTALLED_CALLBACK = \"pwaInstalledCallback\";\r\nexport const PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY = \"orbit-pwa-should-auto-popup\";\r\n\r\n","//This is the cookie name used in unified.\r\nexport const STATE_OF_RESIDENCE_COOKIE_KEY: string = 'userSelectedState';\r\n","const TEMP_ACCOUNT_STATUS = {\r\n APPROVED: 'APPROVED',\r\n DOCUMENTS_NOT_RECEIVED: 'DOCUMENTS_NOT_RECEIVED',\r\n PENDING_VERIFICATION: 'PENDING_VERIFICATION'\r\n};\r\nexport {TEMP_ACCOUNT_STATUS};","export enum BalanceType {\r\n CASH = \"cash\",\r\n BONUS = \"bonus\",\r\n BOTH = \"both\"\r\n}\r\n","export type CyCssClass =\r\n 'cy-main-screen' |\r\n 'cy-brand-switch-list' |\r\n 'cy-brand-switch-list-item' |\r\n 'cy-menu-link' |\r\n 'cy-spinner' |\r\n 'cy-game-iframe' |\r\n 'cy-single-game-regular-template' |\r\n 'cy-game-image-container' |\r\n 'cy-play-real-game-button' |\r\n 'cy-play-demo-game-button' |\r\n 'cy-modal' |\r\n 'cy-modal-content' |\r\n 'cy-reality-check-options' |\r\n 'cy-modal-dialog-buttons-area' |\r\n 'cy-welcome-component' |\r\n 'cy-balance-box' |\r\n 'cy-balance-box-amount' |\r\n 'cy-profile-box' |\r\n 'cy-cashier-button' |\r\n 'cy-clock' |\r\n 'cy-game-window' |\r\n 'cy-logout-link' |\r\n 'cy-burger-button' |\r\n 'cy-profile-box-login-button' |\r\n 'cy-menu-links-group' |\r\n 'cy-profile-picture' |\r\n 'cy-menu-item' |\r\n 'cy-game-navbar-close-button' |\r\n 'cy-game-navbar-clock' |\r\n 'cy-game-stripe-clock' |\r\n 'cy-game-navbar' |\r\n 'cy-open-responsible-gaming-button' |\r\n 'cy-game-navbar-game-name' |\r\n 'cy-game-navbar-session-id' |\r\n 'cy-game-navbar-switch-to-real-label' |\r\n 'cy-game-navbar-switch-to-demo-label' |\r\n 'cy-game-navbar-game-mode-toggle' |\r\n \"cy-game-info-page-button\" |\r\n 'cy-welcome-cashier-button' |\r\n 'cy-game-navbar-fullscreen-button' |\r\n 'cy-game-regulation-stripe' |\r\n 'cy-spain-game-limit-duration-select' |\r\n 'cy-spain-game-limit-confirmation-dialog-title' |\r\n 'cy-spain-game-limit-loss-limit-select' |\r\n 'cy-spain-game-limit-interval-reminder-select' |\r\n 'cy-spain-game-limit-restriction-period-select' |\r\n 'cy-header-regulation-data'|\r\n 'cy-self-exclusion-link' |\r\n 'cy-safe-to-play' |\r\n 'cy-responsible-gaming-button' |\r\n 'cy-balance-amount-pc' |\r\n 'cy-header-bankroll-button-mobile' |\r\n 'cy-bonus-and-cash-balance' |\r\n 'cy-cache-balance' |\r\n 'cy-bonus-balance' |\r\n 'cy-login-button-text' |\r\n 'cy-register-button' |\r\n 'cy-last-login-label' |\r\n 'cy-main-nav' |\r\n 'cy-navbar-mobile-wrapper' |\r\n 'cy-session-timer' |\r\n 'cy-last-login-value' |\r\n 'cy-open-game-intermediate-page' |\r\n 'cy-regulation-game-session-id' |\r\n 'cy-regulation-participation-ticket-id' |\r\n 'cy-italy-game-limit-default-amount-option' |\r\n 'cy-italy-game-limit-other-amount-option' |\r\n 'cy-italy-game-limit-other-amount-input' |\r\n 'cy-italy-game-limit-regulatory-value' |\r\n 'cy-sweden-panic-button' |\r\n 'cy-sweden-panic-icon' |\r\n 'cy-sweden-game-limit-button' |\r\n 'cy-sweden-game-limit-icon' |\r\n 'cy-sweden-self-test-button' |\r\n 'cy-sweden-self-test-icon' |\r\n 'cy-modal-dialog-x-close-button' |\r\n 'cy-external-link-container' |\r\n 'cy-cashier-external-link-container' |\r\n 'cy-new-live-casino' |\r\n 'cy-live-casino' |\r\n 'cy-live-casino-widget-container' |\r\n 'cy-modal-main-title' |\r\n 'cy-italy-game-limit-message' |\r\n 'cy-italy-game-limit-message-section' |\r\n 'cy-italy-game-limit-error-section' |\r\n 'cy-dk-doga-icon' |\r\n 'cy-dk-stop-spillen-icon' |\r\n 'cy-dk-rofus-icon' |\r\n 'cy-clear-search-box-icon' |\r\n 'cy-found-games-list-box' |\r\n 'cy-no-found-games-box' |\r\n 'cy-found-games-more-box' |\r\n 'cy-found-games-more' |\r\n 'cy-search-game-item' |\r\n 'cy-user-cid' |\r\n 'cy-close-mobile-menu-icon' |\r\n 'cy-close-mobile-search-icon' |\r\n 'cy-game-search-input' |\r\n 'cy-search-title-box' |\r\n 'cy-game-search-box' |\r\n 'cy-suggested-links-suggested-games' |\r\n 'cy-lobby-header' |\r\n 'cy-lobby-header-title'|\r\n 'cy-navbar-right-container' |\r\n 'cy-homepage-header-arenas-container' |\r\n 'cy-homepage-top-banner-background' |\r\n 'cy-homepage-top-banner-divider' |\r\n 'cy-arena-box' |\r\n 'cy-header-arena-title' |\r\n 'cy-new-games-arena-badge' |\r\n 'cy-party-jackpot-in-game-container' |\r\n 'cy-party-jackpot-in-game-widget-amount' |\r\n 'cy-party-jackpot-welcome-popup' |\r\n 'cy-party-jackpot-welcome-popup-accept-button' |\r\n 'cy-party-jackpot-welcome-popup-decline-button' |\r\n 'cy-party-jackpot-welcome-popup-terms-and-conditions' |\r\n 'cy-reality-check-close-button' |\r\n 'cy-session-cooldown-popup' |\r\n 'cy-game-popup' |\r\n 'cy-game-popup-not-now-button' |\r\n 'cy-game-popup-open-real-button' |\r\n 'cy-game-popup-game-title' |\r\n 'cy-homepage-arenas-header' |\r\n 'cy-layout-wrapper-homepage'|\r\n 'cy-layout-wrapper-miniorbit-homepage' |\r\n 'cy-lobby-wrapper-miniorbit-arena' |\r\n 'cy-panic-button-germany' |\r\n 'cy-tooltip-click-here' |\r\n 'cy-modal-dialog-content' |\r\n 'cy-tooltip-box' |\r\n 'cy-history-more-details' |\r\n 'cy-details-history-header' |\r\n 'cy-useful-links-list' |\r\n 'cy-mini-orbit-useful-links-list' |\r\n 'cy-tooltip-close' |\r\n 'cy-remainder-select' |\r\n 'cy-more-info' |\r\n 'cy-free-play-indicator-button' |\r\n 'cy-deposit-button' |\r\n 'cy-user-menu-close-btn' |\r\n 'cy-free-play-voucher-container' |\r\n 'cy-free-play-games-container' |\r\n 'cy-free-play-game-item' |\r\n 'cy-drop-down-box' |\r\n 'cy-gaming-history-record' |\r\n 'cy-gaming-history-game-name' |\r\n 'cy-gaming-history-game-image' |\r\n 'cy-gaming-history-play-date' |\r\n 'cy-gaming-history-bet-value' |\r\n 'cy-gaming-history-winning-value' |\r\n 'cy-gaming-history-bankroll-value' |\r\n 'cy-gaming-history-free-play-winning' |\r\n 'cy-gaming-history-free-play-current-amount' |\r\n 'cy-gaming-history-amount-description' |\r\n 'cy-gaming-history-amount-value' |\r\n 'cy-gaming-history-round-id' |\r\n 'cy-migrated-gaming-history-round-id' |\r\n 'cy-gaming-history-session-id' |\r\n 'cy-gaming-history-participation-id' |\r\n 'cy-gaming-history-days-selector' |\r\n 'cy-gaming-history-big-win-message' |\r\n 'cy-gaming-history-loading-trigger' |\r\n 'cy-tipping-history-record' |\r\n 'cy-tipping-history-game-name' |\r\n 'cy-tipping-history-game-image' |\r\n 'cy-tipping-history-tip-id' |\r\n 'cy-tipping-history-play-date' |\r\n 'cy-tipping-history-tip-value' |\r\n 'cy-tipping-history-bankroll-value' |\r\n 'cy-tipping-history-days-selector' |\r\n 'cy-tipping-history-loading-trigger' |\r\n 'cy-tipping-history-amount-description' |\r\n 'cy-tipping-history-amount-value' |\r\n 'cy-skip-intermediate-page' |\r\n 'cy-orbit-swiper' |\r\n 'cy-swiper-button-prev' |\r\n 'cy-swiper-button-next' |\r\n 'cy-uk-malta-reality-check-title' |\r\n 'cy-live-casino-grid' |\r\n 'cy-live-casino-grid-item' |\r\n 'cy-live-casino-grid-item-infobar-game-seats-count-text' |\r\n 'cy-live-casino-grid-item-title' |\r\n 'cy-live-casino-grid-item-bet-interval' |\r\n 'cy-live-casino-grid-item-infobar-draws' |\r\n 'cy-live-casino-grid-item-infobar-dealer-name' |\r\n 'cy-live-casino-grid-item-infobar-bet-behind' |\r\n 'cy-live-casino-widget-amount' |\r\n 'cy-live-casino-widget-description' |\r\n 'cy-history-free-play-message' |\r\n 'cy-user-menu' |\r\n 'cy-games-list-title' |\r\n 'cy-games-title-text' |\r\n 'cy-orbit-swiper-wrapper' |\r\n 'cy-orbit-swiper-games-list' |\r\n 'cy-see-all-link' |\r\n 'cy-recently-played' |\r\n 'cy-help-mobile-link' |\r\n 'cy-filter-link' |\r\n 'cy-open-filters-button' |\r\n 'cy-apply-filters-button' |\r\n 'cy-clear-filters-button' |\r\n 'cy-side-menu' |\r\n 'cy-mini-orbit-side-menu-open-button' |\r\n 'cy-right-drawer' |\r\n 'cy-overlay' |\r\n 'cy-registration-popup-content' |\r\n 'cy-vertical-games-list' |\r\n 'cy-vertical-games-list-close-btn' |\r\n 'cy-lang-switcher-back' |\r\n 'cy-language-switcher-dropdown' |\r\n 'cy-lang-switch-label' |\r\n 'cy-lang-switch-current-lang' |\r\n 'cy-toast-container' |\r\n 'cy-toast' |\r\n 'cy-modal-dialog' |\r\n 'cy-modal-dialog-header' |\r\n 'cy-modal-dialog-consumer-content' |\r\n 'cy-source-of-funds-open-chat-btn' |\r\n 'cy-language-switcher-button' |\r\n 'cy-cms-banner-container' |\r\n 'cy-temp-account-days-number' |\r\n 'cy-temp-account-message-body' |\r\n 'cy-omg-indicator' |\r\n 'cy-jackpot-widget' |\r\n 'cy-cgp-red-tiger-widget-click-detector' |\r\n 'cy-game-jackpot-amount' |\r\n 'cy-useful-links-section' |\r\n 'cy-useful-links-item' |\r\n 'cy-useful-links-item-side-text' |\r\n 'cy-cgp-about-area' |\r\n 'cy-lobby-grid-arena' |\r\n 'cy-link-to-offer-banner-box' |\r\n 'cy-link-to-offer-wheel-of-fortune' |\r\n 'cy-link-to-offer-dialog-close-box' |\r\n 'cy-open-membership-deeplink' |\r\n 'cy-open-cashier-deeplink' |\r\n 'cy-link-to-offer-icon-box'|\r\n 'cy-games-grid-container' |\r\n 'cy-orbit-swiper-streaming-tile' |\r\n 'cy-orbit-swiper-streaming-tile-footer' |\r\n 'cy-cross-brand-link' |\r\n 'cy-arenas-header-button' |\r\n 'cy-live-video-item' |\r\n 'cy-players-like-you' |\r\n 'cy-because-you-played' |\r\n 'cy-game-title' |\r\n 'cy-lists-intersection-observer-target' |\r\n 'cy-inactivity-timeout-select' |\r\n 'cy-about-session-balance-amount' |\r\n 'cy-about-help-link' |\r\n 'cy-filters-games-list' |\r\n 'cy-game-net-position-value' |\r\n 'cy-game-duration-value' |\r\n 'cy-deposit-widget' |\r\n 'cy-deposit-widget-init-params' |\r\n 'cy-payments-redirect-focus' |\r\n 'cy-uk-tsr-main-text-box' |\r\n 'cy-withdraw-button' |\r\n 'cy-cashout-widget' |\r\n 'cy-cashout-widget-init-params' |\r\n 'cy-top-picks-list' |\r\n 'cy-arenas-header' |\r\n 'cy-logo' |\r\n 'cy-main-wrapper' |\r\n 'cy-clock-component' |\r\n 'cy-game-navbar-free-play-indicator' |\r\n 'cy-free-play-vouchers-container' |\r\n 'cy-header-menu-gift-button' |\r\n 'cy-overlay-content' |\r\n 'cy-user-menu-user-details' |\r\n 'cy-user-menu-my-account-button' |\r\n 'cy-state-select-approve-button' |\r\n 'cy-wrong-app-message' |\r\n 'cy-swiper-buttons' |\r\n 'cy-burnout-animation-container' |\r\n 'cy-burnout-gift-button' |\r\n 'cy-tooltip-container' |\r\n 'cy-logo-container' |\r\n 'cy-navbar-container' |\r\n 'cy-user-profile-messages-indicator' |\r\n 'cy-free-play-indicator-dot' |\r\n 'cy-help-widget-app' |\r\n 'cy-header-help-button' |\r\n 'cy-form-post-form' |\r\n 'cy-free-to-play-click-box' |\r\n 'cy-modal-dialog-link' |\r\n 'cy-italy-other-limit-radio' |\r\n 'cy-standard-limit-radio' |\r\n 'cy-jackpot-widget-collecting-amount' |\r\n 'cy-jackpot-widget-amount'|\r\n 'cy-transaction-history-init-params' |\r\n 'cy-transaction-history-widget' |\r\n 'cy-netherlands-ksa-button' |\r\n 'cy-vouchers-previous-button' |\r\n 'cy-vouchers-next-button' |\r\n 'cy-voucher-card-face' |\r\n 'cy-voucher-card-back' |\r\n 'cy-game-restriction-geo-location-primary-button' |\r\n 'cy-game-restriction-geo-location-secondary-button' |\r\n 'cy-header-control-center-button' |\r\n 'cy-control-center-mini-app' |\r\n 'cy-control-center-mini-widget-init-params' |\r\n 'cy-control-center-full-app' |\r\n 'cy-control-center-full-widget-init-params' |\r\n 'cy-header-state-selector-button' |\r\n 'cy-state-select-dropdown' |\r\n 'cy-state-select-other-button' |\r\n 'cy-login-popup-approve-button' |\r\n 'cy-login-modal-content' |\r\n 'cy-login-popup-total-stakes' |\r\n 'cy-login-popup-net-position' |\r\n 'cy-advanced-filters' |\r\n 'cy-applied-advanced-filters-indicator' |\r\n 'cy-applied-advanced-filter-name' |\r\n 'cy-remove-advanced-filter-x-button' |\r\n 'cy-close-advanced-filters-x-button' |\r\n 'cy-mobile-header-search-button' |\r\n 'cy-daily-deal-box' |\r\n 'cy-hybrid-embedded-nav-menu' |\r\n 'cy-hybrid-embedded-nav-menu-list' |\r\n 'cy-hybrid-menu-item' |\r\n 'cy-free-play-on-boarding-tooltip' |\r\n 'cy-control-center-on-boarding-tooltip' |\r\n 'cy-my-account-external-link-container' |\r\n 'cy-registration-external-link-container' |\r\n 'cy-omg-external-link-container' |\r\n 'cy-forgot-password-external-link-container' |\r\n 'cy-forgot-username-external-link-container' |\r\n 'cy-deposit-pending-action-external-link-container' |\r\n 'cy-transaction-history-pending-action-external-link-container' |\r\n 'cy-pending-play-external-link-container' |\r\n 'cy-pending-login-external-link-container' |\r\n 'cy-rich-external-link-container' |\r\n 'cy-upload-documents-external-link-container' |\r\n 'cy-cross-brand-list' |\r\n 'cy-onboarding-tour' |\r\n 'cy-biometric-login-toggle';\r\n\r\n\r\n\r\nexport function CyClass(className: CyCssClass): string {\r\n return className.toString();\r\n}\r\n\r\nexport function CySelector(className: CyCssClass): string {\r\n return '.' + className.toString();\r\n}\r\n\r\nexport function CySelectors(...classNames: CyCssClass[]): string {\r\n return classNames.map(clsName => '.' + clsName).join(' ');\r\n}\r\n","export enum GameChildishIconMode { \r\n UseDefaultIcon,\r\n UseNonChildishIcon,\r\n PreferNonChildishIcon\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\n\r\nexport enum TSR_TYPE {\r\n SESSION_TIMER,\r\n GAME_TIMER\r\n}\r\n\r\nexport type ITimeSpentReminderOptions = ISessionTimeSpentReminderComponentProps | IGameTimeSpentReminderComponentProps;\r\n\r\nexport interface ITimeSpentReminderComponentBaseProps {\r\n playingTime: TimeSpan;\r\n}\r\n\r\ninterface ISessionTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.SESSION_TIMER;\r\n}\r\n\r\ninterface IGameTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.GAME_TIMER;\r\n onStopReminders: () => void;\r\n}\r\n\r\nexport interface ITimeSpentReminderWithBalanceComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n totalNetLoss: number;\r\n isInGame: boolean;\r\n}","import { TimeSpan } from \"@sparkware/app-utils\";\r\n\r\nexport interface ImagePreloadPromiseResponse {\r\n error: string | null;\r\n backgroundUrl: string;\r\n imageObj: HTMLImageElement;\r\n}\r\n\r\nexport function imagePreload(src: string, timeout?: TimeSpan) {\r\n timeout = timeout || TimeSpan.fromMinutes(2);\r\n return new Promise((res, rej) => {\r\n let image = new Image();\r\n image.onload = () => {\r\n clearTimeout(timeoutRejection);\r\n res({error: null, backgroundUrl: src, imageObj: image});\r\n };\r\n image.onerror = ()=> {\r\n rej({\r\n error: 'Could not load image on path => ' + src,\r\n backgroundUrl: src\r\n });\r\n };\r\n const timeoutRejection = setTimeout(() => {\r\n rej({\r\n error: 'Timeout. Could not load image on path => ' + src,\r\n backgroundUrl: src\r\n });\r\n }, timeout.totalMilliseconds);\r\n image.src = src;\r\n });\r\n}\r\n\r\nexport function imagePreloadWithDefault(src: string | null | undefined, defaultPath: string) {\r\n if (src) {\r\n return imagePreload(src).catch(() => {\r\n return imagePreload(defaultPath);\r\n });\r\n } else {\r\n return imagePreload(defaultPath);\r\n }\r\n}\r\n","import {\r\n CasinoStartupConfigurations,\r\n OrbitStartupConfigurations\r\n} from '../config-interfaces/casino-startup.configurations';\r\nimport {ApplicationStartupConfigurations} from '../config-interfaces/application-startup.configurations';\r\nimport {B2CStartupConfigurations} from '../config-interfaces/b2c-startup.configurations';\r\nimport {LauncherOverridesReader} from '../launcher-overrides-reader/launcher-overrides-reader';\r\nimport {LauncherOverrides} from '../config-interfaces/launcher-overrides';\r\nimport {IWindowService} from '../../services/window/window.service.interface';\r\nimport {IHttpService} from '../../services/http/http.service.interface';\r\nimport {ILoggerService} from '../../services/logger/logger.service.interface';\r\nimport {mockApplicationStartupConfigs} from '../../../utils/automation-helpers';\r\nimport {ALL_CONFIGS_KEY} from \"../../../app-consts\";\r\nimport {IConfigurationData} from \"../../services/configurations/configuration-data.interface\";\r\n\r\nconst overrideJson = require('json-override');\r\n\r\nexport class ApplicationStartupConfigurationsReader {\r\n constructor(private _defaultOrbitConfigurations: any,\r\n private _window: IWindowService,\r\n private _launcherOverridesReader: LauncherOverridesReader,\r\n private _http: IHttpService,\r\n private _logger: ILoggerService) {\r\n\r\n\r\n }\r\n\r\n private _launcherOverrides: LauncherOverrides | null;\r\n private _b2cConfigurations: B2CStartupConfigurations;\r\n private _skinFullName: string;\r\n\r\n async readApplicationConfigurations(): Promise {\r\n this._launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n this._b2cConfigurations = this._getB2CConfigurations();\r\n\r\n let casinoConfigurations = await this._getCasinoConfigurations();\r\n this._skinFullName = (`${casinoConfigurations.skin}_${casinoConfigurations.skinOverride}`).toLowerCase();\r\n const configs: ApplicationStartupConfigurations = {\r\n configurationPath: this._getConfigPath(casinoConfigurations),\r\n orbitServer: casinoConfigurations.sdk.config.ExtraProperties.paths.server,\r\n skin: casinoConfigurations.skin,\r\n skinOverride: casinoConfigurations.skinOverride,\r\n skinFullName: this._skinFullName,\r\n country: casinoConfigurations.country,\r\n orbit: casinoConfigurations.orbit,\r\n sdk: casinoConfigurations.sdk,\r\n admin: casinoConfigurations.adminConfig,\r\n b2c: this._b2cConfigurations,\r\n userSelectedState: casinoConfigurations.userSelectedState\r\n };\r\n\r\n return mockApplicationStartupConfigs(configs);\r\n }\r\n\r\n private _getConfigPath(casinoConfigurations: CasinoStartupConfigurations): string {\r\n\r\n let server = casinoConfigurations.sdk.config.ExtraProperties.paths.server;\r\n if(!server.endsWith('/')) {\r\n server += '/';\r\n }\r\n\r\n return server + `configurations/${this._skinFullName}`;\r\n }\r\n\r\n\r\n private async _getCasinoConfigurations(): Promise {\r\n let casinoConfigurations: CasinoStartupConfigurations = this._window.getGlobalProperty(ALL_CONFIGS_KEY);\r\n const skin = casinoConfigurations.skin.toLowerCase();\r\n const skinOverride = casinoConfigurations.skinOverride.toLowerCase();\r\n const lang = this._b2cConfigurations.language.iso3.toLowerCase();\r\n\r\n casinoConfigurations.orbit.config = await this._loadOrbitConfigFile(skin, skinOverride);\r\n casinoConfigurations.orbit.lang = await this._tryLoadOrbitLanguageOverrideFile(skin, skinOverride, lang);\r\n casinoConfigurations = await this._applyOrbitConfigsOverrides(casinoConfigurations);\r\n casinoConfigurations = this._applySdkConfigOverrides(casinoConfigurations);\r\n return casinoConfigurations;\r\n\r\n }\r\n\r\n private async _loadOrbitConfigFile(skin: string, skinOverride: string): Promise {\r\n try {\r\n const configModule = await import(`../../../settings/configs/${skin}/overrides/${skinOverride}/config`);\r\n\r\n return configModule.default;\r\n } catch (err) {\r\n this._logger.error(`Failed to load orbit configuration file for skin ${skin}/${skinOverride}`, err);\r\n throw err;\r\n }\r\n\r\n }\r\n\r\n private async _tryLoadOrbitLanguageOverrideFile(skin: string, skinOverride: string, languageIso3: string): Promise {\r\n try {\r\n const langOverrideModule = await import(`../../../settings/configs/${skin}/overrides/${skinOverride}/languages/${languageIso3}`);\r\n return langOverrideModule.default;\r\n } catch (err) {\r\n this._logger.debug(`There is no override file for language ${languageIso3} in skin ${skin}/${skinOverride}`, err);\r\n }\r\n\r\n }\r\n\r\n\r\n async _applyOrbitConfigsOverrides(casinoConfigurations: CasinoStartupConfigurations): Promise {\r\n casinoConfigurations.orbit.config = overrideJson(this._defaultOrbitConfigurations, casinoConfigurations.orbit.config);\r\n if(this._launcherOverrides && this._launcherOverrides.orbit && this._launcherOverrides.orbit.configs) {\r\n overrideJson(casinoConfigurations.orbit.config, this._launcherOverrides.orbit.configs);\r\n }\r\n return casinoConfigurations;\r\n }\r\n\r\n\r\n\r\n private _applySdkConfigOverrides(casinoConfigurations: CasinoStartupConfigurations): CasinoStartupConfigurations {\r\n\r\n if(!(casinoConfigurations.sdk && casinoConfigurations.sdk.config)) { // if SDK configs are not here it probably means the app is loaded from a fallback file\r\n return casinoConfigurations;\r\n }\r\n\r\n overrideJson(casinoConfigurations, {\r\n sdk: {\r\n config: (this._launcherOverrides && this._launcherOverrides.sdk) || {}\r\n }\r\n });\r\n\r\n overrideJson(casinoConfigurations, {\r\n sdk: {\r\n config: {\r\n Language: {\r\n iso3: this._b2cConfigurations.language.iso3,\r\n iso2: this._b2cConfigurations.language.iso2\r\n }\r\n }\r\n }\r\n });\r\n\r\n let orbitLang = casinoConfigurations.orbit.lang;\r\n if(orbitLang && orbitLang.text && orbitLang.text.SDKTexts) {\r\n overrideJson(casinoConfigurations.sdk.config.Language.text, orbitLang.text.SDKTexts);\r\n }\r\n\r\n return casinoConfigurations;\r\n }\r\n\r\n\r\n\r\n\r\n private _applyB2COverrides(b2cConfigs: B2CStartupConfigurations): B2CStartupConfigurations {\r\n\r\n if(this._launcherOverrides?.orbit) {\r\n let languageIso3Override = this._launcherOverrides.orbit.language;\r\n let languageIso2Override = this._launcherOverrides.orbit.iso2;\r\n\r\n if(languageIso3Override) {\r\n b2cConfigs.language = {...b2cConfigs.language, iso3: languageIso3Override};\r\n }\r\n\r\n if(languageIso2Override) {\r\n b2cConfigs.language = {...b2cConfigs.language, iso2: languageIso2Override};\r\n }\r\n\r\n let publicationIdOverride = this._launcherOverrides.orbit.publicationID;\r\n if(publicationIdOverride) {\r\n b2cConfigs.publicationId = publicationIdOverride;\r\n }\r\n }\r\n\r\n\r\n let segmentsOverrides = this._launcherOverrides?.webData?.segments;\r\n\r\n if(segmentsOverrides) {\r\n b2cConfigs.segments = {...b2cConfigs.segments, ...segmentsOverrides};\r\n }\r\n\r\n return b2cConfigs;\r\n }\r\n\r\n private _getB2CConfigurations() : B2CStartupConfigurations {\r\n let b2cConfigs = this._window.getGlobalProperty('webData') || {} as B2CStartupConfigurations;\r\n\r\n b2cConfigs.language = b2cConfigs.language || {};\r\n b2cConfigs.language.iso3 = b2cConfigs.language.iso3 || 'eng';\r\n b2cConfigs.language.iso2 = b2cConfigs.language.iso2 || 'en';\r\n\r\n\r\n if(this._launcherOverrides) {\r\n return this._applyB2COverrides(b2cConfigs);\r\n }\r\n\r\n return b2cConfigs;\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import ISdkHooksProvider from './sdk-hooks-provider.interface';\r\nimport {MINI_CIP_BASE_ROUTE, MINI_CIS_BASE_ROUTE} from '../../services/mini-orbit/mini-orbit-consts';\r\nimport {Uri} from '../../services/location/uri/uri';\r\nimport {IServiceFactoryExtended} from '../../services/service-factory-extended.interface';\r\nimport {IOrbitComponentToSdkAdapterService} from '../../../common/interfaces/orbit-component-to-sdk-adapter/orbit-component-to-sdk-adapter.service.interface';\r\nimport {ICashierService} from \"../../../common/interfaces/cashier.service.interface\";\r\nimport {IGameRunnerProxy} from \"../../../common/interfaces/game-runner-proxy.interface\";\r\nimport {ICasinofiedAnalyticsService} from \"../../../common/interfaces/casinofied-analytics-proxy.interface\";\r\nimport {IExternalLinksProxy} from \"../../../common/interfaces/external-links-proxy.interface\";\r\nimport {\r\n ICasinofiedAppLauncherService\r\n} from \"../../services/casinofied/app-launcher/casinofied-app-launcher.service.interface\";\r\nimport IPlayerMigration from \"../../../common/interfaces/player-migration.interface\";\r\nimport {IToasterProxy} from '../../../common/interfaces/toaster_proxy_service_interface';\r\nimport {ILinksNavigationService} from \"../../services/links-navigation/links-navigation.service.interface\";\r\n\r\nexport class SdkHooksProvider implements ISdkHooksProvider {\r\n services: IServiceFactoryExtended;\r\n\r\n redirectProxy(url: string): void {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n if (this.services) {\r\n //SDK is using this function to do redirects,\r\n //but we must do redirect only if the URL is an absolut URL.\r\n //If is a relative one like /gaming_history/ then we just need to do local routing\r\n if (this.services.window.isAbsolutUrl(url)) {\r\n this.services.location.redirect(url);\r\n } else {\r\n this.services.location.push(url);\r\n }\r\n } else {\r\n window.location.href = url;\r\n }\r\n };\r\n\r\n openInNewWindowHook(): (url: string) => void | null {\r\n if (this.services?.miniOrbit.isEnabled) {\r\n return this.services.miniOrbit.openUrl;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n isMiniCip(): boolean {\r\n return this._isMiniOrbit(MINI_CIP_BASE_ROUTE);\r\n }\r\n\r\n isMiniCis(): boolean {\r\n return this._isMiniOrbit(MINI_CIS_BASE_ROUTE);\r\n }\r\n\r\n private _isMiniOrbit(basePath: string): boolean {\r\n if (!this.services) {\r\n return false;\r\n }\r\n\r\n const uri = new Uri(new URL(window.location.href));\r\n return uri.pathName.getBase().toString().toLowerCase() === basePath;\r\n }\r\n\r\n getGameTypesMappingForSdk(): Record {\r\n if (!this.services) {\r\n return null;\r\n }\r\n\r\n const mapperData: Record = {};\r\n this.services?.configuration?.usedGameTypesBySite?.forEach(gameType => {\r\n mapperData[gameType] = {};\r\n });\r\n\r\n return mapperData;\r\n };\r\n\r\n getHeaderRegulationDataElement(): HTMLElement {\r\n return this.services?.header?.getHeaderRegulationDataElement();\r\n }\r\n\r\n resolveGameImagePath(imageFilePath: string): string {\r\n return this.services?.configuration?.resolveGameImagePath(imageFilePath);\r\n }\r\n\r\n getOrbitComponentToSdkAdapter(): IOrbitComponentToSdkAdapterService {\r\n return (this.services.orbitComponentInsideSdkProvider as any) as IOrbitComponentToSdkAdapterService;\r\n }\r\n\r\n getCashierService(): ICashierService {\r\n return this.services.cashier;\r\n }\r\n\r\n getGameRunnerService(): IGameRunnerProxy {\r\n return (this.services.gameRunner as any) as IGameRunnerProxy;\r\n }\r\n\r\n getCasinofiedAnalyticsService(): ICasinofiedAnalyticsService {\r\n return this.services.casinofiedAnalytics;\r\n }\r\n\r\n getPlayerMigrationService(): IPlayerMigration {\r\n return this.services.playerMigration;\r\n }\r\n\r\n getExternalLinksProxyService(): IExternalLinksProxy {\r\n return this.services.externalLinks;\r\n }\r\n\r\n getToasterProxyService(): IToasterProxy {\r\n return this.services.toaster;\r\n }\r\n\r\n getCasinofiedAppLauncher(): ICasinofiedAppLauncherService {\r\n return this.services.appLauncher;\r\n }\r\n\r\n getLinksNavigationService(): ILinksNavigationService {\r\n return this.services.linksNavigation;\r\n }\r\n}","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class PropertiesEvaluator {\r\n constructor(private _propertiesEvaluators: IPropertyEvaluator[]) {\r\n }\r\n\r\n private _config: unknown = null;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isNullOrUndefined(this._config)) {\r\n let config = {};\r\n\r\n this._propertiesEvaluators.forEach(propEvaluator => {\r\n Object.defineProperty(config, propEvaluator.propertyName, {\r\n get: () => propEvaluator.evaluate(context),\r\n set: () => {\r\n /*TODO - this setter is here because since we upgrade to mobx 6 it throws an error in underscore.ts in mergeDeep function which is called in config_service getConfig. We won't need this when all SDK code will be moved to orbit*/\r\n },\r\n configurable: false,\r\n enumerable: true\r\n });\r\n });\r\n\r\n this._config = config;\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n static fromRoot(rootObject: object, context: IConfigurationEvaluationContext): PropertiesEvaluator {\r\n let rootProps = Object.keys(rootObject).map(propName => context.createPropertyEvaluator(propName, rootObject));\r\n return new PropertiesEvaluator(rootProps);\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IValueEvaluator} from '../../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IStatementEvaluator} from '../statement-evaluator/statement-evaluator.interface';\r\n\r\nexport class StatementsEvaluator implements IValueEvaluator {\r\n constructor(private _statementsEvaluators: IStatementEvaluator[], private _defaultValue: any) {\r\n }\r\n\r\n get defaultValue() {\r\n return this._defaultValue;\r\n }\r\n\r\n get evaluators(): IStatementEvaluator[] {\r\n return this._statementsEvaluators\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n for(let i = 0, len = this.evaluators.length; i < len; i++) {\r\n let statementEvaluator = this.evaluators[i];\r\n let evaluatedValue = statementEvaluator.evaluate(context);\r\n if(!Check.isNullOrUndefined(evaluatedValue)) {\r\n return this._applyValueTransformation(context, evaluatedValue);\r\n }\r\n }\r\n\r\n return this._applyValueTransformation(context, this.defaultValue);\r\n }\r\n\r\n private _applyValueTransformation(context: IConfigurationEvaluationContext, value) {\r\n return context.parsePropertyValue(value).evaluate(context)\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {PropertiesEvaluator} from '../../properties-evaluator/properties-evaluator';\r\nimport {IPropertyEvaluator} from '../../property-evaluator/property-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class ObjectEvaluator implements IValueEvaluator {\r\n constructor(private _object: object) {\r\n }\r\n\r\n get obj() {\r\n return this._object;\r\n }\r\n\r\n private _evaluatedValue: unknown = undefined;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isUndefined(this._evaluatedValue)) {\r\n let properties: IPropertyEvaluator[] = [];\r\n\r\n Object.keys(this.obj).forEach(propertyName => {\r\n properties.push(context.createPropertyEvaluator(propertyName, this.obj));\r\n });\r\n\r\n let configEvaluator = new PropertiesEvaluator(properties);\r\n this._evaluatedValue = configEvaluator.evaluate(context);\r\n }\r\n\r\n return this._evaluatedValue;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\n\r\nexport class ArrayEvaluator implements IValueEvaluator {\r\n constructor(private _itemsEvaluators: IValueEvaluator[]) {\r\n }\r\n\r\n get evaluators(): IValueEvaluator[] {\r\n return this._itemsEvaluators;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n return this.evaluators.map((item, index) => item.evaluate(context.createPropertyContext(index.toString())));\r\n }\r\n\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class SimpleValueEvaluator implements IValueEvaluator {\r\n constructor(private _value: any) {\r\n }\r\n\r\n get value(): any {\r\n return this._value;\r\n }\r\n\r\n private _evaluatedValue = undefined;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isUndefined(this._evaluatedValue)) {\r\n this._evaluatedValue = context.applyValueTransformation(context.getCurrentPropertyPath(), this.value);\r\n }\r\n return this._evaluatedValue;\r\n }\r\n}\r\n\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IStatementEvaluator} from './statement-evaluator.interface';\r\n\r\n\r\n\r\nexport class StatementEvaluator implements IStatementEvaluator {\r\n constructor(private _statementDefinition: any) {\r\n }\r\n\r\n get definition(): any {\r\n return this._statementDefinition;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n let rules = (this.definition.rules || []).map(rule => context.createSegmentationRule(rule));\r\n let logicalOperator = context.createLogicalOperator(this.definition.condition || 'AND', rules);\r\n if(logicalOperator.evaluate(context)) {\r\n return this.definition.value;\r\n }\r\n return null;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {ILogicalOperator} from './logical-operator.interface/logical-operator.interface';\r\nimport {ISegmentationRule} from '../segmentation-rule/segmentation-rule.interface';\r\n\r\nexport abstract class BaseLogicalOperator implements ILogicalOperator {\r\n\r\n constructor(private _rules: ISegmentationRule[]) {\r\n\r\n }\r\n\r\n get rules(): ISegmentationRule[] {\r\n return this._rules;\r\n }\r\n\r\n abstract evaluate(context: IConfigurationEvaluationContext): boolean;\r\n}\r\n","import {BaseLogicalOperator} from '../base-logical-operator';\r\nimport {IConfigurationEvaluationContext} from '../../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\n\r\nexport class OrLogicalOperator extends BaseLogicalOperator {\r\n\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n for(let i = 0, len = this.rules.length; i < len; i++) {\r\n let rule = this.rules[i];\r\n if(rule.evaluate(context)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {BaseLogicalOperator} from '../base-logical-operator';\r\nimport {IConfigurationEvaluationContext} from '../../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\n\r\nexport class AndLogicalOperator extends BaseLogicalOperator {\r\n\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n if(this.rules.length === 0) {\r\n return false;\r\n }\r\n\r\n for(let i = 0, len = this.rules.length; i < len; i++) {\r\n let rule = this.rules[i];\r\n if(!rule.evaluate(context)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {ISegmentationRule} from './segmentation-rule.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class SegmentationRule implements ISegmentationRule {\r\n constructor(private _ruleDefinition: any) {\r\n }\r\n\r\n get definition(): any {\r\n return this._ruleDefinition;\r\n }\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n if(Check.isArray(this.definition.rules)) {\r\n let innerRules = this.definition.rules.map(rule => context.createSegmentationRule(rule));\r\n let logicalOperator = context.createLogicalOperator(this.definition.condition || 'AND', innerRules);\r\n return logicalOperator.evaluate(context);\r\n } else {\r\n let operator = context.createComparisonOperator(this.definition.operator);\r\n let segmentValue = context.getSegmentValue(this.definition.id);\r\n return operator.compare(segmentValue, this.definition.value)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import {IComparisonOperator} from './comparison-operator.interface/comparison-operator.interface';\r\n\r\nexport abstract class BaseComparisonOperator implements IComparisonOperator {\r\n\r\n abstract compare(value1: unknown, value2: unknown): boolean;\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\n\r\nexport class EqualOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if(this._isBooleanAsString(value1) || this._isBooleanAsString(value2)) {\r\n return value1?.toString() === value2?.toString();\r\n }\r\n // eslint-disable-next-line\r\n return value1 == value2;\r\n }\r\n\r\n private _isBooleanAsString(value: any) {\r\n if (value === 'true' || value === 'false') {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {EqualOperator} from '../equal-operator/equal-operator';\r\n\r\nexport class NotEqualOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown) {\r\n return !(new EqualOperator().compare(value1, value2));\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IComparisonOperator} from '../statements/comparison-operators/comparison-operator.interface/comparison-operator.interface';\r\nimport {ISegmentationRule} from '../statements/segmentation-rule/segmentation-rule.interface';\r\nimport {ILogicalOperator} from '../statements/logical-operators/logical-operator.interface/logical-operator.interface';\r\nimport {IStatementEvaluator} from '../statements/statement-evaluator/statement-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\n\r\n\r\nexport class PropertyLevelContext implements IConfigurationEvaluationContext {\r\n constructor(private _originalContext: IConfigurationEvaluationContext, private _currentPropertyName) {\r\n\r\n }\r\n\r\n createComparisonOperator(operatorName: string): IComparisonOperator {\r\n return this._originalContext.createComparisonOperator(operatorName);\r\n }\r\n\r\n createLogicalOperator(logicalOperatorName: string, rules: ISegmentationRule[]): ILogicalOperator {\r\n return this._originalContext.createLogicalOperator(logicalOperatorName, rules);\r\n }\r\n\r\n createSegmentationRule(ruleDefinition: any): ISegmentationRule {\r\n return this._originalContext.createSegmentationRule(ruleDefinition);\r\n }\r\n\r\n createStatementEvaluator(statementDefinition: any): IStatementEvaluator {\r\n return this._originalContext.createStatementEvaluator(statementDefinition);\r\n }\r\n\r\n getSegmentValue(name: string): any {\r\n return this._originalContext.getSegmentValue(name);\r\n }\r\n\r\n parsePropertyValue(value: any): IValueEvaluator {\r\n return this._originalContext.parsePropertyValue(value);\r\n }\r\n\r\n\r\n getCurrentPropertyPath(): string {\r\n return this._originalContext.getCurrentPropertyPath() + '/' + this._currentPropertyName;\r\n }\r\n\r\n createPropertyContext(propertyName: string): IConfigurationEvaluationContext {\r\n return new PropertyLevelContext(this, propertyName);\r\n }\r\n\r\n applyValueTransformation(propertyPath: string, value: any): any {\r\n return this._originalContext.applyValueTransformation(propertyPath, value);\r\n }\r\n\r\n createPropertyEvaluator(propertyName: string, propertyOwner: object): IPropertyEvaluator {\r\n return this._originalContext.createPropertyEvaluator(propertyName, propertyOwner);\r\n }\r\n\r\n getLauncherGames(): number[] {\r\n return this._originalContext.getLauncherGames();\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IPropertyEvaluator} from './property-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\n\r\n\r\n\r\nexport class PropertyEvaluator implements IPropertyEvaluator {\r\n constructor(private _propertyName: string, private _valueEvaluator: IValueEvaluator) {\r\n\r\n }\r\n\r\n get propertyName(): string {\r\n return this._propertyName;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n\r\n let propertyContext = context.createPropertyContext(this.propertyName);\r\n\r\n try {\r\n return this._valueEvaluator.evaluate(propertyContext);\r\n } catch (err) {\r\n throw new Error(`Failed to evaluate property ${propertyContext.getCurrentPropertyPath()}; ${err}`);\r\n }\r\n\r\n }\r\n}\r\n","// BEWARE: In this file there are similar namings. Don't confuse them\r\n// TODO: Find better namings for interfaces and variables and eliminate implicit any's\r\ninterface IStatementsDefinition {\r\n defaultValue: unknown[];\r\n statements: unknown[];\r\n}\r\ninterface IStatementDefinition {\r\n condition: string;\r\n value: any,\r\n rules: unknown[]\r\n}\r\n\r\nexport function createStatementsDefinition(subLists: any): any {\r\n let statementsDefinition: IStatementsDefinition = {\r\n defaultValue: [],\r\n statements: []\r\n };\r\n\r\n if(!subLists) {\r\n return statementsDefinition;\r\n }\r\n\r\n subLists.forEach(sublist => {\r\n if (!sublist.Segment) {\r\n // the sublist with Segment null or undefined is considered to be the default value\r\n statementsDefinition.defaultValue = sublist.Games;\r\n } else {\r\n let statementDefinition: IStatementDefinition = {\r\n condition: \"AND\",\r\n value: sublist.Games,\r\n rules: []\r\n };\r\n\r\n sublist.Segment.forEach(segment => {\r\n statementDefinition.rules.push(_createStatementsRule(segment));\r\n });\r\n\r\n statementsDefinition.statements.push(statementDefinition);\r\n }\r\n });\r\n\r\n return statementsDefinition;\r\n}\r\n\r\nfunction _createStatementsRule(segment: any): any {\r\n return {\r\n id: segment.name,\r\n operator: \"=\",\r\n value:\r\n segment.value === 1 || segment.value === true || segment.value === \"true\"\r\n ? true\r\n : false // Admin sends 1 for true and 2 for false.\r\n };\r\n}\r\n","import { IPropertyEvaluator } from '../../property-evaluator/property-evaluator.interface';\r\nimport { IConfigurationEvaluationContext } from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport { createStatementsDefinition } from '../../../../../../app-react/services/configurations/create-statements-definition'\r\n\r\nexport class GamesIdPropertyEvaluator implements IPropertyEvaluator {\r\n constructor(private _owner: any, private _adminConfig: any) {\r\n\r\n }\r\n\r\n get owner(): any {\r\n return this._owner;\r\n }\r\n\r\n get adminConfig(): any {\r\n return this._adminConfig;\r\n }\r\n\r\n get propertyName(): string {\r\n return 'gamesId'\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n let propertyContext = context.createPropertyContext(this.propertyName);\r\n\r\n let gamesAdminRefKey = this.owner.gamesAdminRefKey;\r\n\r\n //F TO DO - log if gamesAdminRefKey is missing\r\n\r\n let subLists = this.adminConfig && this.adminConfig.listsv2 && this.adminConfig.listsv2[gamesAdminRefKey];\r\n\r\n let gameTypes: number[] = [];\r\n if (!subLists) {\r\n //F TO DO - log if sub-lists is missing\r\n gameTypes = context.parsePropertyValue(this.owner[this.propertyName]).evaluate(propertyContext);\r\n } else {\r\n gameTypes = context.parsePropertyValue(createStatementsDefinition(subLists)).evaluate(propertyContext);\r\n }\r\n\r\n let launcherGames = context.getLauncherGames() || [];\r\n\r\n if (launcherGames.length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n return [...launcherGames, ...gameTypes];\r\n }\r\n}\r\n","import {BaseComparisonOperator} from \"../base-comparison-operator\";\r\n\r\nexport class IsFalsyOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown): boolean {\r\n return !((value1 || '').toString() === (value2 || '').toString());\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ILoggerService} from '../../../../../logger/logger.service.interface';\r\n\r\nexport class GreaterThanOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService){\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if (!Check.isNumber(value1) || !Check.isNumber(value2)) {\r\n this._logger.error(`Greater Than Operator: Values should be numbers! value1=${value1}; value2=${value2}`);\r\n }\r\n\r\n return value1 > value2;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ILoggerService} from '../../../../../logger/logger.service.interface';\r\n\r\nexport class LessThanOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService) {\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if (!Check.isNumber(value1) || !Check.isNumber(value2)) {\r\n this._logger.error(`Less Than Operator: Values should be numbers! value1=${value1}; value2=${value2}`);\r\n }\r\n return value1 < value2;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from \"../base-comparison-operator\";\r\nimport {ILoggerService} from \"../../../../../logger/logger.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {EqualOperator} from \"../equal-operator/equal-operator\";\r\n\r\nexport class AnyOfOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService){\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if(!Check.isArray(value2)) {\r\n this._logger.error(`Any Of Operator: The second parameter should be an array! value2=${value2}`);\r\n return new EqualOperator().compare(value1, value2);\r\n }\r\n\r\n return value2.includes(value1);\r\n }\r\n}","import {StatementsEvaluator} from '../statements/statements-evaluator/statements-evaluator';\r\nimport {ObjectEvaluator} from '../value-evaluators/object-evaluator/object-evaluator';\r\nimport {ArrayEvaluator} from '../value-evaluators/array-evaluator/array-evaluator';\r\nimport {SimpleValueEvaluator} from '../value-evaluators/simple-value-evaluator/simple-value-evaluator';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IConfigurationEvaluationContext} from './configuration-evaluation-context.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IStatementEvaluator} from '../statements/statement-evaluator/statement-evaluator.interface';\r\nimport {StatementEvaluator} from '../statements/statement-evaluator/statement-evaluator';\r\nimport {ILogicalOperator} from '../statements/logical-operators/logical-operator.interface/logical-operator.interface';\r\nimport {ISegmentationRule} from '../statements/segmentation-rule/segmentation-rule.interface';\r\nimport {OrLogicalOperator} from '../statements/logical-operators/or-logical-operator/or-logical-operator';\r\nimport {AndLogicalOperator} from '../statements/logical-operators/and-logical-operator/and-logical-operator';\r\nimport {SegmentationRule} from '../statements/segmentation-rule/segmentation-rule';\r\nimport {IComparisonOperator} from '../statements/comparison-operators/comparison-operator.interface/comparison-operator.interface';\r\nimport {NotEqualOperator} from '../statements/comparison-operators/not-equal-operator/not-equal-operator';\r\nimport {EqualOperator} from '../statements/comparison-operators/equal-operator/equal-operator';\r\nimport {PropertyLevelContext} from '../property-level-context/property-level-context';\r\nimport {PropertyEvaluator} from '../property-evaluator/property-evaluator';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\nimport {GamesIdPropertyEvaluator} from '../special-properties-evaluators/games-id-property-evaluator/games-id-property-evaluator';\r\nimport {IsFalsyOperator} from \"../statements/comparison-operators/is-falsy-operator/is-falsy-operator\";\r\nimport {IConfigurationEvaluationDataProvider} from './configuration-evaluation-data-provider.interface';\r\nimport {GreaterThanOperator} from \"../statements/comparison-operators/greater-than-operator/greater-than-operator\";\r\nimport {LessThanOperator} from \"../statements/comparison-operators/less-than-operator/less-than-operator\";\r\nimport {AnyOfOperator} from \"../statements/comparison-operators/any-of-operator/any-of-operator\";\r\nimport {isInsideAutomation} from '../../../../../utils/automation-helpers';\r\n\r\n\r\nexport function updateAssetPath(assetPath: string, configurationPath: string): string {\r\n return assetPath.replace(/{assetsPath}/gi, configurationPath + '/assets');\r\n}\r\n\r\nexport class ConfigurationEvaluationContext implements IConfigurationEvaluationContext {\r\n constructor(private dataProvider: IConfigurationEvaluationDataProvider) {\r\n\r\n }\r\n\r\n\r\n\r\n getSegmentValue(name: string): any {\r\n return this.dataProvider.getSegmentValue(name);\r\n }\r\n\r\n parsePropertyValue(value: any): IValueEvaluator {\r\n if(Check.isObject(value)) {\r\n if(this._hasStatementsOrDefaultValue(value)) {\r\n return new StatementsEvaluator(this._createStatementsEvaluators(value.statements), value.defaultValue);\r\n } else {\r\n return new ObjectEvaluator(value);\r\n }\r\n } else if(Check.isArray(value)) {\r\n return new ArrayEvaluator(value.map(item => this.parsePropertyValue(item)));\r\n } else {\r\n return new SimpleValueEvaluator(value);\r\n }\r\n }\r\n\r\n private _createStatementsEvaluators(statementsDefinitions): IStatementEvaluator[] {\r\n return (statementsDefinitions || []).map(statementDefinition => this.createStatementEvaluator(statementDefinition))\r\n }\r\n\r\n createStatementEvaluator(statementDefinition: any): IStatementEvaluator {\r\n return new StatementEvaluator(statementDefinition);\r\n }\r\n\r\n createLogicalOperator(logicalOperatorName: string, rules: ISegmentationRule[]): ILogicalOperator {\r\n switch (logicalOperatorName.toUpperCase()) {\r\n case 'OR':\r\n return new OrLogicalOperator(rules);\r\n case 'AND':\r\n return new AndLogicalOperator(rules);\r\n default: {\r\n throw new Error(`Unrecognized logical operator ${logicalOperatorName} for statement`);\r\n }\r\n }\r\n }\r\n\r\n createSegmentationRule(ruleDefinition: any): ISegmentationRule {\r\n return new SegmentationRule(ruleDefinition);\r\n }\r\n\r\n createComparisonOperator(operatorName: string): IComparisonOperator {\r\n switch (operatorName.toLowerCase()) {\r\n case 'equal':\r\n case '=':\r\n return new EqualOperator();\r\n case 'not_equal':\r\n case 'not equal':\r\n case '!=':\r\n return new NotEqualOperator();\r\n case 'is_falsy':\r\n case 'is falsy':\r\n return new IsFalsyOperator();\r\n case 'greater_than':\r\n return new GreaterThanOperator(this.dataProvider.logger);\r\n case 'less_than':\r\n return new LessThanOperator(this.dataProvider.logger);\r\n case \"any_of\":\r\n return new AnyOfOperator(this.dataProvider.logger);\r\n default:\r\n throw new Error(`Can't handle comparison operator ${operatorName}`);\r\n }\r\n }\r\n\r\n private _hasStatementsOrDefaultValue(obj: unknown): obj is {statements?: unknown, defaultValue?: unknown} {\r\n if(!Check.isNullOrUndefined(obj['statements'])\r\n || !Check.isNullOrUndefined(obj['defaultValue'])) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getCurrentPropertyPath(): string {\r\n return '';\r\n }\r\n\r\n createPropertyContext(propertyName: string): IConfigurationEvaluationContext {\r\n return new PropertyLevelContext(this, propertyName);\r\n }\r\n\r\n applyValueTransformation(propertyPath: string, value: any): any {\r\n if(!Check.isString(value)) {\r\n return value;\r\n }\r\n return updateAssetPath(value, this.dataProvider.configurationPath);\r\n }\r\n\r\n createPropertyEvaluator(propertyName: string, propertyOwner: any): IPropertyEvaluator {\r\n switch (propertyName) {\r\n case 'gamesId':\r\n return new GamesIdPropertyEvaluator(propertyOwner, this.dataProvider.admin);\r\n case 'gamesSettings':\r\n let propertyValue = propertyOwner.gamesSettings;\r\n if (propertyOwner.gamesSettings && propertyOwner.gamesSettings.gamesTags) {\r\n propertyValue = {...propertyValue, gamesTags: this._mergeGamesFromLauncher(propertyOwner.gamesSettings.gamesTags)}\r\n } else {\r\n propertyValue = {...propertyValue, gamesTags: this._mergeGamesFromLauncher(this.dataProvider.admin && this.dataProvider.admin.gamesTags)}\r\n }\r\n return new PropertyEvaluator(propertyName, this.parsePropertyValue(propertyValue));\r\n default:\r\n return new PropertyEvaluator(propertyName, this.parsePropertyValue(propertyOwner[propertyName]));\r\n }\r\n }\r\n\r\n\r\n private _mergeGamesFromLauncher(existingGamesTags: any): any {\r\n\r\n const demoSettings = {\r\n demoCTAAnonymous: {pc: true, mobile: true},\r\n demoCTAAuthorized: {pc: true, mobile: true},\r\n intermediatePageAnonymous: {pc: true, mobile: true},\r\n intermediatePageAuthorized: {pc: true, mobile: true}\r\n };\r\n\r\n existingGamesTags = existingGamesTags || {};\r\n\r\n if(isInsideAutomation()) {\r\n Object.keys(existingGamesTags).forEach(gameType => {\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n });\r\n }\r\n\r\n let launcherGameTypes = this.getLauncherGames();\r\n\r\n launcherGameTypes.forEach(gameType => {\r\n if(existingGamesTags[gameType]) {\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n } else {\r\n existingGamesTags[gameType] = {};\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n }\r\n });\r\n\r\n return existingGamesTags;\r\n }\r\n\r\n getLauncherGames(): number[] {\r\n return this.dataProvider.getLauncherGames() || [];\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {GameInfo} from '../../games/game-info';\r\n\r\nexport enum PreviewFeatureType {\r\n description = 1,\r\n check = 2\r\n}\r\n\r\nexport interface PreviewFeatureEvaluationResult {\r\n title: string;\r\n value: any;\r\n type: PreviewFeatureType;\r\n}\r\nexport interface IGamePreviewFeature {\r\n readonly name: string;\r\n evaluate(services: IServiceFactory, gameInfo: GameInfo): PreviewFeatureEvaluationResult;\r\n}\r\n","import {ApplicationStartupConfigurations} from '../config-interfaces/application-startup.configurations';\r\nimport {LauncherOverridesReader} from '../launcher-overrides-reader/launcher-overrides-reader';\r\nimport {IWindowService} from '../../services/window/window.service.interface';\r\nimport {IConfigurationEvaluationDataProvider} from '../../services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-data-provider.interface';\r\nimport {PropertiesEvaluator} from '../../services/configurations/evaluation/properties-evaluator/properties-evaluator';\r\nimport {\r\n ConfigurationEvaluationContext\r\n} from '../../services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-context';\r\nimport {ILoggerService} from '../../services/logger/logger.service.interface';\r\nimport {CGP_OBJECT_NAME} from '../constants';\r\nimport ISdkHooksProvider from './sdk-hooks-provider.interface';\r\nimport {IThemeDefinition} from \"../../services/theme/theme-definition.interface\";\r\n\r\nconst overrideJson = require('json-override');\r\n\r\nexport class SdkInitializer {\r\n constructor(private _applicationConfiguration: ApplicationStartupConfigurations,\r\n private _sdkHooksProvider: ISdkHooksProvider,\r\n private _launcherOverridesReader: LauncherOverridesReader,\r\n private _windowService: IWindowService,\r\n private _theme: IThemeDefinition,\r\n private _logger: ILoggerService) {\r\n\r\n }\r\n\r\n init(): Promise {\r\n\r\n return import(/* webpackChunkName: \"cgp-sdk\" */ '../../../sdk/src/core/api').then(module => module.API).then(API => {\r\n window['LOG_LEVEL'] = this._applicationConfiguration.sdk.config.Logger.logLevel || 'INFO';\r\n const sdkApi = new API(this._applicationConfiguration.sdk.config);\r\n let sdkConfigOverrides: any = this.getSdkConfigOverrides();\r\n\r\n return new Promise(resolve => {\r\n let onInitCompleteCallback = () => {\r\n window[CGP_OBJECT_NAME] = sdkApi;\r\n resolve();\r\n };\r\n\r\n sdkApi.initialize(sdkConfigOverrides, onInitCompleteCallback);\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n private getSdkConfigOverrides() {\r\n let sdkConfigOverrides = {\r\n Country: this.getCountryServiceOverrides(),\r\n Skin: this.getSkinServiceOverrides(),\r\n Game: this.getGameServiceOverrides(),\r\n Integration: this.getIntegrationServiceOverrides(),\r\n Themes: this.getThemesServiceOverrides(),\r\n Http2: this.getHttp2ServiceOverrides(),\r\n JackpotToasters: this.getJackpotToastersServiceOverrides(),\r\n OrbitComponentRender: this.getOrbitComponentRenderOverrides(),\r\n CashierProxy: this.getCashierProxyOverrides(),\r\n GameRunnerProxy: this.getGameRunnerProxyOverrides(),\r\n CasinofiedAnalyticsProxy: this.getCasinofiedAnalyticsProxyOverrides(),\r\n ExternalLinksProxy: this.getExternalLinksProxyOverrides(),\r\n ToasterProxy: this.getToasterProxyOverrides(),\r\n CasinofiedAppLauncherProxy: this.getCasinofiedAppLauncherProxyOverrides(),\r\n PlayerMigrationProxy: this.getPlayerMigrationProxyOverrides(),\r\n LinksNavigationProxy: this.getLinksNavigationProxyOverrides()\r\n };\r\n\r\n overrideJson(sdkConfigOverrides, this._evaluateSdkConfigsInsideOrbit());\r\n return sdkConfigOverrides;\r\n }\r\n\r\n private getJackpotToastersServiceOverrides(): any {\r\n return {\r\n toasterImage: this._theme.shellTheme.images.jackpotWidget.generic.crown.toString()\r\n };\r\n }\r\n\r\n private getCountryServiceOverrides(): any {\r\n return {\r\n country: this._applicationConfiguration.country,\r\n };\r\n }\r\n\r\n private getSkinServiceOverrides(): any {\r\n return this._applicationConfiguration.orbit?.config?.SDK?.Skin || {};\r\n }\r\n\r\n private _evaluateSdkConfigsInsideOrbit(): any {\r\n let sdkConfigsInsideOrbit = this._applicationConfiguration.orbit && this._applicationConfiguration.orbit.config && this._applicationConfiguration.orbit.config.SDK;\r\n if(!sdkConfigsInsideOrbit) {\r\n return {};\r\n }\r\n\r\n let segments: Record = {\r\n env: this._applicationConfiguration.sdk.config.ExtraProperties.env\r\n };\r\n\r\n let configEvaluationDataProvider: IConfigurationEvaluationDataProvider = {\r\n configurationPath: this._applicationConfiguration.configurationPath,\r\n getSegmentValue: (segmentName => segments[segmentName]),\r\n getLauncherGames: () => [],\r\n admin: this._applicationConfiguration.admin,\r\n logger: this._logger\r\n };\r\n\r\n let context = new ConfigurationEvaluationContext(configEvaluationDataProvider);\r\n let evaluator = PropertiesEvaluator.fromRoot(sdkConfigsInsideOrbit, context);\r\n return evaluator.evaluate(context);\r\n }\r\n\r\n private getGameServiceOverrides(): any {\r\n\r\n let result: any = {\r\n resolveGameImagePath: (imageFilePath: string) => this._sdkHooksProvider.resolveGameImagePath(imageFilePath)\r\n };\r\n\r\n result.gameDefaultIcon = this._theme.mainContentTheme.images.gameDefaultIcon.toString();\r\n result.backgroundDefault = this._theme.mainContentTheme.images.gameDefaultBackground.toString();\r\n\r\n return result;\r\n }\r\n\r\n private _waitForMapperCGP = (resolve: (value?: unknown) => void) => {\r\n let mapperData = this._sdkHooksProvider.getGameTypesMappingForSdk();\r\n if(mapperData) {\r\n resolve(mapperData);\r\n } else {\r\n setTimeout(() => this._waitForMapperCGP(resolve), 5);\r\n }\r\n };\r\n\r\n private _gameTypeMapper() {\r\n return new Promise(resolve => {\r\n this._waitForMapperCGP(resolve);\r\n });\r\n };\r\n\r\n private _getHeaderRegulationDataElement() {\r\n return new Promise(resolve => {\r\n this._waitForHeaderRegulationDataElement(resolve);\r\n });\r\n };\r\n\r\n private _waitForHeaderRegulationDataElement = (resolve: (value?: unknown) => void) => {\r\n let headerRegulationDataElement = this._sdkHooksProvider.getHeaderRegulationDataElement();\r\n this.waitForElement(headerRegulationDataElement, resolve);\r\n };\r\n\r\n waitForElement(element: HTMLElement, resolve: (value?: unknown) => void) {\r\n if(element) {\r\n resolve(element);\r\n } else {\r\n setTimeout(() => this._waitForHeaderRegulationDataElement(resolve), 5);\r\n }\r\n }\r\n\r\n private getIntegrationServiceOverrides(): any {\r\n let launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n\r\n return {\r\n gameTypeMapper: this._gameTypeMapper.bind(this),\r\n proxyLink: (url: string) => this._sdkHooksProvider.redirectProxy(url),\r\n openInNewWindowHook: () => this._sdkHooksProvider.openInNewWindowHook(),\r\n isMiniCipFunc: () => this._sdkHooksProvider.isMiniCip(),\r\n isMiniCisFunc: () => this._sdkHooksProvider.isMiniCis(),\r\n headerRegulationDataElement: this._getHeaderRegulationDataElement.bind(this),\r\n CMSSource: launcherOverrides?.orbit?.cmsSource\r\n };\r\n }\r\n\r\n private getThemesServiceOverrides(): any {\r\n let sdkTheme = this._theme.shellTheme?.sdk;\r\n if (sdkTheme) {\r\n return sdkTheme;\r\n }\r\n return {}\r\n }\r\n\r\n private getHttp2ServiceOverrides(): any {\r\n let result: any = {};\r\n let launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n if(launcherOverrides?.sdk?.api) {\r\n result.origin = launcherOverrides.sdk.api;\r\n }\r\n\r\n result.skin = this._applicationConfiguration.skin;\r\n result.skinOverride = this._applicationConfiguration.skinOverride;\r\n return result;\r\n }\r\n\r\n private getOrbitComponentRenderOverrides(): any {\r\n return {\r\n getOrbitComponentToSdkAdapter: () => this._sdkHooksProvider.getOrbitComponentToSdkAdapter()\r\n }\r\n }\r\n\r\n private getCashierProxyOverrides(): any {\r\n return {\r\n getCashierService: () => this._sdkHooksProvider.getCashierService()\r\n };\r\n }\r\n\r\n private getGameRunnerProxyOverrides(): any {\r\n return {\r\n getGameRunnerService: () => this._sdkHooksProvider.getGameRunnerService()\r\n };\r\n }\r\n\r\n private getCasinofiedAnalyticsProxyOverrides(): any {\r\n return {\r\n getCasinofiedAnalyticsService: () => this._sdkHooksProvider.getCasinofiedAnalyticsService()\r\n };\r\n }\r\n\r\n private getPlayerMigrationProxyOverrides(): any {\r\n return {\r\n getPlayerMigrationService: () => this._sdkHooksProvider.getPlayerMigrationService()\r\n };\r\n }\r\n\r\n private getExternalLinksProxyOverrides() {\r\n return {\r\n externalLinksService: () => this._sdkHooksProvider.getExternalLinksProxyService()\r\n }\r\n }\r\n\r\n private getCasinofiedAppLauncherProxyOverrides() {\r\n return {\r\n casinofiedAppLauncher: () => this._sdkHooksProvider.getCasinofiedAppLauncher()\r\n }\r\n }\r\n\r\n private getToasterProxyOverrides() {\r\n return {\r\n toasterService: () => this._sdkHooksProvider.getToasterProxyService()\r\n }\r\n }\r\n\r\n private getLinksNavigationProxyOverrides() {\r\n return {\r\n linksNavigation: () => this._sdkHooksProvider.getLinksNavigationService()\r\n };\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","export const QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE:string = 'dontShowEnvironmentPopUpBlockerAgain';","import { QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE } from './qa-environment-pop-up-blocker.service.constants';\r\nimport { ServiceBase } from './../ServiceBase';\r\nimport { IQAEnvironmentPopUpBlockerService } from './qa-environment-pop-up-blocker.service.interface';\r\nconst md5 = require('md5');\r\n\r\nexport class QAEnvironmentPopUpBlockerService extends ServiceBase implements IQAEnvironmentPopUpBlockerService {\r\n\r\n validatePassword(password) {\r\n if (md5(password) === this.services.configuration.servicesConfigs.QAEnvironmentPopUp.validationKey) {\r\n this._setCookie();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private _setCookie() {\r\n let expirationDate:Date = new Date();\r\n expirationDate.setMonth(expirationDate.getMonth() + 3);\r\n this.services.cookies.createCookie(QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE, 'true', expirationDate);\r\n }\r\n\r\n}","import { Check } from '@sparkware/app-utils';\r\nimport { observable, action, computed, makeObservable } from 'mobx';\r\nimport { ServiceBase } from '../ServiceBase';\r\nimport { IVideoPlayer } from './video-players/video-player.interface';\r\nimport { IServiceFactoryExtended } from '../service-factory-extended.interface';\r\nimport { IVideoPlayingService } from './video-playing.service.interface';\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport {ISwipeLogicHandler} from \"../arenas/models/swiper-logic-handler/swiper-logic-handler.interface\";\r\n\r\nexport abstract class VideoPlayingServiceBase extends ServiceBase implements IVideoPlayingService {\r\n\r\n public abstract gaCategory: string;\r\n\r\n @observable.ref\r\n isSupported: boolean = null;\r\n\r\n @action.bound\r\n private _setIsSupported(isSupported: boolean): void {\r\n this.isSupported = isSupported;\r\n }\r\n\r\n @observable.ref\r\n isVideoMuted: boolean = true;\r\n\r\n @action.bound\r\n private _setIsVideoMuted(isVideoMuted: boolean): void {\r\n this.isVideoMuted = isVideoMuted;\r\n }\r\n\r\n @observable.ref\r\n isAppVisible: boolean = true;\r\n\r\n @action.bound\r\n private _setIsAppVisible(isAppVisible: boolean): void {\r\n this.isAppVisible = isAppVisible;\r\n }\r\n\r\n @computed\r\n get isDisabledPrelogin(): boolean {\r\n if (this.services.user.isAuthorized) {\r\n return false;\r\n }\r\n\r\n const currentRegulationCode = this.services.regulation.getRegulationCode();\r\n const disableForRegulationPreLogin = this.services.configuration.servicesConfigs.LiveVideoStream.disableForRegulationPreLogin[currentRegulationCode];\r\n return !Check.isNullOrUndefined(disableForRegulationPreLogin) && disableForRegulationPreLogin;\r\n }\r\n\r\n //Swiper Handler for the orbit swiper handling the current playing video.\r\n //This implementation breaks if in the future there will be > 1 swipers playing the same type of video in the same page.\r\n //But for now, we need this to swipe to & start the next video after the current one finishes playing.\r\n private _swiperHandler: ISwipeLogicHandler | null = null;\r\n\r\n public setSwiperHandler(value: ISwipeLogicHandler): void {\r\n this._swiperHandler = value;\r\n }\r\n\r\n public getSwiperHandler(): ISwipeLogicHandler | null {\r\n return this._swiperHandler;\r\n }\r\n\r\n constructor (services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._init();\r\n this.services.sdk.events.onAppPaused(() => {\r\n this._setIsAppVisible(false);\r\n });\r\n this.services.sdk.events.onAppResumed(() => {\r\n this._setIsAppVisible(true);\r\n });\r\n services.sdk.events.onGameOpen(() => {\r\n this._setIsVideoMuted(true);\r\n });\r\n }\r\n\r\n private async _init() {\r\n const isSupported = await this._checkIfSupported();\r\n\r\n if (!isSupported) {\r\n this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(this.gaCategory)\r\n .addAction('VideoStreamNotSupported')\r\n .info();\r\n }\r\n\r\n this._setIsSupported(isSupported);\r\n }\r\n\r\n protected abstract _checkIfSupported(): Promise;\r\n\r\n public abstract getVideoPlayer(gameInfo: GameInfo, videoReference: HTMLVideoElement): Promise;\r\n\r\n toggleVideoSound() {\r\n this._setIsVideoMuted(!this.isVideoMuted);\r\n this.services.analytics.sendOrbitMarketingEvent(this.gaCategory, 'SOUND_CLICK', `${this.isVideoMuted ? \"OFF\" : \"ON\"}`);\r\n }\r\n}","import {VideoPlayingServiceBase} from \"./video-playing-service-base\";\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport {IVideoPlayer} from \"./video-players/video-player.interface\";\r\n\r\nexport const LIVE_STREAM_WATCH_TIME_LIMIT: number = 120000;\r\n\r\nexport class LiveStreamPlayingService extends VideoPlayingServiceBase {\r\n\r\n public gaCategory = \"ORBIT_LIVE_STREAM\";\r\n\r\n protected async _checkIfSupported() {\r\n const LiveStreamNativePlayer = await import(/* webpackChunkName: \"live-stream-player-native\"*/ './video-players/live-stream-players/native/video-live-stream-player-native').then(module => module.LiveStreamNativePlayer);\r\n if (LiveStreamNativePlayer.isSupported()) {\r\n return true;\r\n }\r\n\r\n const LiveStreamHlsPlayer = await import(/* webpackChunkName: \"live-stream-player-hls\"*/ './video-players/live-stream-players/hls/video-live-stream-player-hls').then(module => module.LiveStreamHlsPlayer);\r\n return LiveStreamHlsPlayer.isSupported();\r\n }\r\n\r\n async getVideoPlayer(gameInfo: GameInfo, videoReference: HTMLVideoElement, dontAutoSwipe?: boolean): Promise {\r\n\r\n const gameType = gameInfo.gameType;\r\n const streamSource = gameInfo.videoURL;\r\n\r\n //In the future, this should be coming from admin as well.\r\n const watchTimeLimit = LIVE_STREAM_WATCH_TIME_LIMIT;\r\n\r\n const LiveStreamNativePlayer = await import(/* webpackChunkName: \"live-stream-player-native\"*/ './video-players/live-stream-players/native/video-live-stream-player-native').then(module => module.LiveStreamNativePlayer);\r\n\r\n // We need to check also if not android because Evo live stream games not working on android real device because they use WAF and they don't get referer in android native.\r\n if (LiveStreamNativePlayer.isSupported() && !this.services.device.os.isAndroid) {\r\n return new LiveStreamNativePlayer(this.services, gameType, videoReference, streamSource, watchTimeLimit);\r\n }\r\n\r\n const LiveStreamHlsPlayer = await import(/* webpackChunkName: \"live-stream-player-hls\"*/'./video-players/live-stream-players/hls/video-live-stream-player-hls').then(module => module.LiveStreamHlsPlayer);\r\n if (LiveStreamHlsPlayer.isSupported()) {\r\n return new LiveStreamHlsPlayer(this.services, gameType, videoReference, streamSource, watchTimeLimit);\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {ITranslationService} from \"./translation.service.interface\";\r\n\r\nexport class TextTranslation {\r\n constructor(private readonly translationService: ITranslationService,\r\n public readonly translationKey: string,\r\n private readonly _parameters?: any) {\r\n }\r\n\r\n get translation(): string {\r\n return this.translationService.translate(this.translationKey, this._parameters);\r\n }\r\n\r\n}","import {ITranslationService} from './translation.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {TextTranslation} from \"./text-translation\";\r\n\r\nexport class TranslationService extends ServiceBase implements ITranslationService {\r\n\r\n get langData(): any {\r\n return this.services.language.translatedTexts;\r\n }\r\n\r\n translate(key: string, parameters?: any): string {\r\n try {\r\n let translatedPhrase = '';\r\n\r\n if (this.langData && key !== '') {\r\n if (this.langData[key]) {\r\n translatedPhrase = this.langData[key];\r\n } else {\r\n\r\n this.services.logger.debug(`Missing translation for ${key} in language ${this.services.language.currentLanguage}`);\r\n\r\n return key;\r\n }\r\n }\r\n return this._resolveBraces(translatedPhrase, parameters);\r\n } catch (err) {\r\n console.log('error in transform function, error message: ', err);\r\n return '';\r\n }\r\n }\r\n\r\n getTranslation(key: string, parameters?: any): TextTranslation {\r\n return new TextTranslation(this, key, parameters);\r\n }\r\n\r\n private _resolveBraces(str: string, value = null) {\r\n\r\n if('' === str)\r\n return str;\r\n\r\n if (Check.isObject(value)) {\r\n Object.keys(value).forEach(key => str = str.replace(`{${key}}`, value[key]));\r\n }\r\n else {\r\n\r\n let objectKeys = str.match(/[^{]+(?=\\})/g) || []; //array of object keys that have to be replaced (looking for {foo})\r\n\r\n for (let objectKey of objectKeys) {\r\n if (value) {\r\n str = str.replace(`{${objectKey}}`, value);\r\n } else {\r\n //if we didn't get value we will look the key in the config\r\n str = str.replace(`{${objectKey}}`, this.services.configuration.resolveConfigurationValue(objectKey));\r\n }\r\n }\r\n\r\n }\r\n return str;\r\n\r\n }\r\n}\r\n","export const CURRENCY_SYMBOLS: Record = {\r\n CAD: 'C$',\r\n NOK: 'Kr.',\r\n USD: '$',\r\n EUR: '€',\r\n GBP: '£',\r\n DKK: 'Kr.',\r\n SEK: 'kr',\r\n RON: 'RON'\r\n};","import {ICurrencyService} from './currency.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {CURRENCY_SYMBOLS} from \"./currency-symbol.interface\";\r\n\r\nexport class CurrencyService extends ServiceBase implements ICurrencyService {\r\n\r\n formatMoney(value: number, withDecimal?: boolean): string {\r\n return this.services.sdk.formatMoney(value, withDecimal);\r\n }\r\n\r\n // TODO: Check if formatMinMaxBet can be called with undefined/null\r\n // after switching to strictNullCheck and repair the signature and code\r\n formatMinMaxBet(minBet: number, maxBet: number): string | null {\r\n if(minBet && maxBet) {\r\n return this.formatMoney(minBet, true) + ' - ' + this.formatMoney(maxBet, true);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get currencyIso3(): string {\r\n return this.services.sdk.getCurrencyIso3();\r\n }\r\n\r\n get getCurrencySymbol(): string {\r\n return CURRENCY_SYMBOLS[this.currencyIso3] || this.currencyIso3;\r\n }\r\n}\r\n","import {\r\n ISendElasticEventOptions,\r\n IAnalyticsService,\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsAction,\r\n OrbitUserFlowAnalyticsLabel,\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel,\r\n OrbitMarketingEventAnalyticsAction,\r\n OrbitAIFeatureAnalyticsCategory,\r\n OrbitAIFeatureAnalyticsAction\r\n} from './analytics.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IElasticEventData, IStructuredLogger} from '../../../common/interfaces/structured-logging-service-interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class AnalyticsService extends ServiceBase implements IAnalyticsService {\r\n\r\n sendAnalytics(\r\n category: string,\r\n action: string | undefined = undefined,\r\n label: string | undefined = undefined,\r\n value: string | undefined = undefined,\r\n omitStructuredLogger?: boolean\r\n ) {\r\n this.services.sdk.sendAnalytics(category, action, label, value, omitStructuredLogger);\r\n }\r\n\r\n\r\n sendTechnicalEvent(action: string, label?: string, value?: any): void {\r\n this.sendAnalytics('[Technical-event]', action, label, value);\r\n }\r\n\r\n sendOrbitUserFlowEvent(category: string | OrbitUserFlowAnalyticsCategory, action: OrbitUserFlowAnalyticsAction, label?: string | OrbitUserFlowAnalyticsLabel, value?: any): void {\r\n try {\r\n let data:ISendElasticEventOptions ={\r\n eventType:\"Orbit_User_Flow\",\r\n category:category,\r\n action:action,\r\n label:label,\r\n value: value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n }\r\n catch (err){\r\n console.log(\"Error on Orbit sendOrbitUserFlowEvent : \" + err);\r\n }\r\n }\r\n\r\n sendOrbitMarketingEvent(category: string | OrbitMarketingEventAnalyticsCategory, action: OrbitMarketingEventAnalyticsAction, label?: string | OrbitMarketingEventAnalyticsLabel, value?: any): void {\r\n try {\r\n let data:ISendElasticEventOptions ={\r\n eventType:\"Orbit_Marketing\",\r\n category:category,\r\n action:action,\r\n label:label,\r\n value:value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n }\r\n catch (err){\r\n console.log(\"Error on Orbit sendOrbitMarketingEvent : \" + err);\r\n }\r\n }\r\n\r\n sendOrbitAIFeatureEvent(category: string | OrbitAIFeatureAnalyticsCategory, action: OrbitAIFeatureAnalyticsAction, label?: string, value?: any): void {\r\n try {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: category,\r\n action: action,\r\n label: label,\r\n value: value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n } catch (err) {\r\n console.log(\"Error on Orbit sendOrbitAIFeatureEvent : \" + err);\r\n }\r\n }\r\n\r\n sendElasticInfoEvent(options: ISendElasticEventOptions, sendToDWH?: boolean) {\r\n const logger: IStructuredLogger = this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(options.category)\r\n .addAction(options.action)\r\n .addLabel(options.label)\r\n .addValue(options.value)\r\n .addCustomData(options.customData);\r\n\r\n if (!Check.isNullOrUndefined(options.appID)) {\r\n logger.setAppID(options.appID);\r\n }\r\n\r\n if (sendToDWH) {\r\n logger.setEventType(options.eventType,'Log', 'Analytics');\r\n }\r\n else {\r\n logger.setEventType(options.eventType, 'Log');\r\n }\r\n\r\n logger.info();\r\n }\r\n\r\n getLogger(eventData?: IElasticEventData): IStructuredLogger {\r\n return this.services.sdk.structuredLoggingService.getLogger(eventData);\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.services.sdk.getGoogleClientID();\r\n }\r\n}\r\n","import {ILobbyGameInfoPreviewService} from './lobby-game-info-preview.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo} from '../games/game-info';\r\n\r\nconst TIME_TO_HANDLE_SET_GAME_PREVIEW = 800;\r\nconst TIME_TO_HANDLE_CLEAR_GAME_PREVIEW = 5000;\r\n\r\n\r\nexport class LobbyGameInfoPreviewService extends ServiceBase implements ILobbyGameInfoPreviewService {\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(() => this.services.device.isMobile,\r\n () => this._resetGamePreview());\r\n\r\n this.reaction(() => this.services.routing.currentRoute,\r\n () => this._resetGamePreview());\r\n }\r\n\r\n @observable.ref\r\n currentPreviewedGame: GameInfo = null;\r\n\r\n @action.bound\r\n private _setCurrentPreviewedGame(gameType: number | null): void {\r\n if (gameType) {\r\n this.currentPreviewedGame = this.services.games.gamesMap[gameType];\r\n } else {\r\n this.currentPreviewedGame = null;\r\n }\r\n\r\n }\r\n\r\n\r\n private _setGamePreviewTimeout;\r\n private _clearGamePreviewTimeout;\r\n\r\n\r\n enableGamePreview(): void {\r\n this._allowPreview = true;\r\n }\r\n\r\n disableGamePreview(): void {\r\n this._allowPreview = false;\r\n }\r\n\r\n private _allowPreview = false;\r\n get allowGamePreview(): boolean {\r\n return this._allowPreview && !this.services.device.isMobile;\r\n }\r\n\r\n private _currentGamePreviewPinned = false;\r\n\r\n pinCurrentGamePreview() {\r\n this._currentGamePreviewPinned = true;\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n }\r\n\r\n unPinCurrentGamePreview() {\r\n this._currentGamePreviewPinned = false;\r\n // basically when unPinCurrentGamePreview is called it means user mouse leave from the game preview\r\n this.clearGamePreview();\r\n }\r\n\r\n\r\n public setGamePreview(gameType: number): void {\r\n if(!this.allowGamePreview) {\r\n return;\r\n }\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n clearTimeout(this._setGamePreviewTimeout);\r\n this._setGamePreviewTimeout = setTimeout(() => {\r\n this._setCurrentPreviewedGame(gameType);\r\n }, TIME_TO_HANDLE_SET_GAME_PREVIEW);\r\n }\r\n\r\n public clearGamePreview(): void {\r\n if(!this.allowGamePreview) {\r\n return;\r\n }\r\n\r\n clearTimeout(this._setGamePreviewTimeout);\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n this._clearGamePreviewTimeout = setTimeout(() => {\r\n !this._currentGamePreviewPinned && this._setCurrentPreviewedGame(null);\r\n }, TIME_TO_HANDLE_CLEAR_GAME_PREVIEW);\r\n }\r\n\r\n private _resetGamePreview() {\r\n clearTimeout(this._setGamePreviewTimeout);\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n this._setCurrentPreviewedGame(null);\r\n }\r\n\r\n\r\n}\r\n","import { action, observable, makeObservable } from 'mobx';\r\nimport { GameInfo } from '../games/game-info';\r\nimport { OnGameCloseParams, OnGameOpenParams } from '../sdk/sdk-events';\r\nimport { ServiceBase } from '../ServiceBase';\r\nimport { IRunningGameService } from './running-game.service.interface';\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\n\r\nexport class RunningGameService extends ServiceBase implements IRunningGameService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get isGameRunning(): boolean {\r\n return this.services.sdk.isGameRunning();\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.services.sdk.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.services.sdk.stopCurrentGameAutoplay();\r\n }\r\n\r\n closeRunningGame(): void {\r\n this.services.gameRunner.currentRunningGame?.closeGame({\r\n shouldSuggestNextGame: false\r\n });\r\n }\r\n\r\n @observable.ref\r\n lastPlayedRealGame: GameInfo = null;\r\n\r\n @observable.ref\r\n correlatedGamesForLastPlayedRealGame: GameInfo[] = [];\r\n\r\n private _listenForLastRealGame = false;\r\n\r\n\r\n @action.bound\r\n _setLastPlayedRealGame(lastGameInfo: GameInfo) {\r\n this.lastPlayedRealGame = lastGameInfo;\r\n }\r\n\r\n @action.bound\r\n _setCorrelatedGamesForLastPlayedRealGame(gameInfos: GameInfo[]) {\r\n this.correlatedGamesForLastPlayedRealGame = gameInfos;\r\n }\r\n\r\n listenForLastPlayedRealGame() {\r\n if (this._listenForLastRealGame) {\r\n return;\r\n }\r\n\r\n this.services.sdk.events.onGameClose((closeOptions: OnGameCloseParams) => {\r\n // showNextGameSuggestion should be filled as true when player itself closes the game (press on X button)\r\n if (closeOptions.isReal && closeOptions.isGamePlayed && closeOptions.showNextGameSuggestion) {\r\n this.setLastPlayedRealGame(closeOptions.gameType);\r\n }\r\n });\r\n\r\n this._listenForLastRealGame = true;\r\n }\r\n\r\n async setLastPlayedRealGame(gameType: number): Promise {\r\n const lastGameInfo = await this.services.games.getGameInfo(gameType);\r\n const correlatedGames = await this.services.games.getCorrelatedGames(gameType, 50);\r\n let gameInfosArray = (await this.services.games.getGamesInfoArray(correlatedGames)) || [];\r\n\r\n this._setLastPlayedRealGame(lastGameInfo);\r\n this._setCorrelatedGamesForLastPlayedRealGame(gameInfosArray);\r\n }\r\n\r\n private _listenForLastOpenDemoGame = false;\r\n\r\n @observable.ref\r\n lastOpenDemoGame: GameInfo = null;\r\n\r\n listenForLastOpenDemoGame() {\r\n if (this._listenForLastOpenDemoGame) {\r\n return;\r\n }\r\n\r\n this.services.sdk.events.onGameOpen((options: OnGameOpenParams) => {\r\n if (!options.isReal) {\r\n this.setLastOpenDemoGame(options.gameType);\r\n }\r\n });\r\n\r\n this._listenForLastOpenDemoGame = true;\r\n }\r\n\r\n async setLastOpenDemoGame(gameType: number): Promise {\r\n const gameInfo = await this.services.games.getGameInfo(gameType);\r\n this._setLastOpenDemoGame(gameInfo);\r\n }\r\n\r\n @action.bound\r\n _setLastOpenDemoGame(lastGameInfo: GameInfo) {\r\n this.lastOpenDemoGame = lastGameInfo;\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n//info-mobile\r\nexport const GameInfoButtonDefaultBox = styled.div`\r\n padding-right: 20px;\r\n margin-right: 15px;\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n cursor: pointer;\r\n`;","import styled from 'styled-components';\r\nimport {GameInfoButtonDefaultBox} from './game-info-button.default.box';\r\n\r\n\r\nexport const GameInfoButtonCasino777Box = styled(GameInfoButtonDefaultBox)`\r\n border-right: 1px solid $transparent;\r\n`;","import {GameInfoButtonDefaultBox} from './game-info-button.default.box';\r\nimport {GameInfoButtonCasino777Box} from './game-info-button.casino777.box';\r\nimport {styledByTheme} from '../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const GameInfoButtonBox = styledByTheme(GameInfoButtonDefaultBox).forCasino777(GameInfoButtonCasino777Box).apply();","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n flex-grow: 1;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.body};\r\n line-height: normal;\r\n text-transform: capitalize;\r\n font-size: 1.4em;\r\n letter-spacing: 0.98px;\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n text-align: center;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogTitleDefaultBox = styledByDevice(PcBox, MobileBox);","import {DialogTitleDefaultBox} from \"./dialog-title.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const DialogTitleMrGreenBox = styled(DialogTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n`;","import {DialogTitleDefaultBox} from './dialog-title.default.box';\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {DialogTitleMrGreenBox} from \"./dialog-title.mrgreen.box\";\r\n\r\nexport const DialogTitleBox = styledByTheme(DialogTitleDefaultBox)\r\n .forMrGreen(DialogTitleMrGreenBox)\r\n .forMrGreenCis(DialogTitleMrGreenBox)\r\n .apply();","import {DialogCloseButtonDefaultBox} from './dialog-close-button.default.box';\r\n\r\nexport const DialogCloseButtonBox = DialogCloseButtonDefaultBox;","import styled from 'styled-components';\r\nimport {XCloseButtonBox} from \"../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\nexport const DialogCloseButtonDefaultBox = styled(XCloseButtonBox)`\r\n width: ${props => props.theme.components.modalDialog.closeButtonSize};\r\n height: ${props => props.theme.components.modalDialog.closeButtonSize};\r\n`;","export const APPLY_BORDERS = 'apply-borders';\r\nexport const APPLY_ANIMATION = 'apply-animation';\r\nexport const MOBILE_CENTERED_HEADER = 'mobile-centered-header';\r\nexport const FORCE_TRANSPARENT_BACKGROUND = 'force-transparent-background';\r\nexport const FORCE_TRANSPARENT_CONTENT_BACKGROUND = 'force-transparent-content-background';\r\nexport const DISABLE_FULLSCREEN_MOBILE = 'disable-fullscreen-mobile';\r\nexport const FORCE_CENTRALIZATION = 'force-centralization';\r\nexport const APPLY_MAX_HEIGHT = 'apply-max-height';\r\nexport const FORCE_FULLSCREEN_TABLET = 'force-fullscreen-tablet';\r\nexport const APPLY_MODAL_CLOSING_ANIMATION = 'apply-modal-closing-animation';","import styled from 'styled-components';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {MOBILE_CENTERED_HEADER} from \"../../css-classes\";\r\n\r\nexport interface DialogHeaderDefaultBoxProps {\r\n className?: string;\r\n height?: number;\r\n}\r\n\r\nexport const DialogHeaderDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n padding: 10px 15px;\r\n min-height: 30px;\r\n height: ${props => Check.isNullOrUndefined(props.height) ? 'auto' : props.height + 'px'};\r\n width: 100%;\r\n\r\n &.${MOBILE_CENTERED_HEADER} .dialog-header-title {\r\n text-align: center;\r\n margin: 0;\r\n }\r\n\r\n border-top-left-radius: 7px;\r\n border-top-right-radius: 7px;\r\n`;","import styled from 'styled-components';\r\nimport {DialogHeaderDefaultBox} from './dialog-header.default.box';\r\n\r\nexport const DialogHeaderCipBox = styled(DialogHeaderDefaultBox)`\r\n position: relative;\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, white, transparent);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { DialogHeaderDefaultBox } from \"./dialog-header.default.box\";\r\n\r\nexport const DialogHeaderMrGreenCisBox = styled(DialogHeaderDefaultBox)`\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n`;","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {DialogHeaderDefaultBox} from './dialog-header.default.box';\r\nimport {DialogHeaderCipBox} from './dialog-header.cip.box';\r\nimport { DialogHeaderMrGreenCisBox } from './dialog-header.mrgreenCis';\r\n\r\nexport const DialogHeaderBox = styledByTheme(DialogHeaderDefaultBox)\r\n .forCip(DialogHeaderCipBox)\r\n .forWsopCip(DialogHeaderCipBox)\r\n .forMrGreenCis(DialogHeaderMrGreenCisBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const HeaderButtonsContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-end;\r\n position: absolute;\r\n right: 10px;\r\n \r\n`","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {DialogHeaderBox} from '../../boxes/header/dialog-header.box';\r\nimport {DialogTitleBox} from '../../boxes/title/dialog-title.box';\r\nimport {DialogCloseButtonBox} from '../../boxes/close-button/dialog-close-button.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {HeaderButtonsContainerBox} from \"../../boxes/header-buttons/header-buttons-container.box\";\r\n\r\nexport interface ModalDialogHeaderComponentProps extends PropsWithChildren {\r\n title?: string;\r\n hideCloseButton?: boolean;\r\n onCloseButtonClick?: () => void;\r\n className?: string;\r\n renderExtraButtons?: () => React.ReactElement;\r\n}\r\nexport class DialogHeaderComponent extends OrbitComponent {\r\n\r\n private _renderTitle() {\r\n if(!this.props.title) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this.props.title}\r\n );\r\n }\r\n\r\n private _renderCloseButton() {\r\n if(this.props.hideCloseButton) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderExtraButtons() {\r\n if(this.props.renderExtraButtons) {\r\n return this.props.renderExtraButtons();\r\n }\r\n return null;\r\n }\r\n\r\n private _renderButtons() {\r\n if(this.props.hideCloseButton && !this.props.renderExtraButtons) {\r\n return null;\r\n }\r\n return (\r\n \r\n {this._renderExtraButtons()}\r\n {this._renderCloseButton()}\r\n \r\n )\r\n\r\n }\r\n\r\n private _renderContent() {\r\n if (this.props.children) {\r\n return this.props.children\r\n }\r\n\r\n return (\r\n <>\r\n {this._renderTitle()}\r\n {this._renderButtons()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if(!this.props.title && this.props.hideCloseButton && !this.props.children) {\r\n return null;\r\n }\r\n\r\n let height: number | null = null;\r\n\r\n return (\r\n \r\n {this._renderContent()}\r\n \r\n )\r\n }\r\n\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../../services/dialog/dialog.service.interface';\r\nimport {GameInfoButtonBox} from './boxes/game-info-button/game-info-button.box';\r\nimport {DialogTitleBox} from '../../../modal-dialog/boxes/title/dialog-title.box';\r\nimport {DialogCloseButtonBox} from '../../../modal-dialog/boxes/close-button/dialog-close-button.box';\r\nimport {Image} from '../../../raw-components/image/image';\r\nimport {DialogHeaderComponent} from '../../../modal-dialog/parts/header/dialog-header.component';\r\n\r\nexport interface MobileGamePreviewTitleComponentProps {\r\n gameInfo: GameInfo;\r\n arenaName?: string;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport const TitleComponent = observer(\r\n class TitleComponent extends OrbitComponent {\r\n\r\n _openGameInfo = () => {\r\n const gameInfo = this.props.gameInfo;\r\n this._closeInfoMobile();\r\n\r\n if (this.props.arenaName) {\r\n //TODO: Do we need it?\r\n this.services.analytics.sendAnalytics(this.props.arenaName, \"Open_Game_Info\", `SEO_${gameInfo.gameType}`);\r\n }\r\n\r\n this.services.location.push(gameInfo.infoPageURL);\r\n };\r\n\r\n _closeInfoMobile = () => {\r\n this.props.dialogHandler?.close();\r\n };\r\n\r\n private _renderOpenInfoButton(gameInfo: GameInfo) {\r\n\r\n if (Check.isEmpty(gameInfo.infoPageURL) || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n {gameInfo.title}\r\n {this._renderOpenInfoButton(gameInfo)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../../../../themes/architecture/styled-by-device';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n\r\n//.info-image-wrapper + info-image\r\n\r\nconst DefaultBox = styled(Image)`\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin-bottom: 1.1rem;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n width: 375px;\r\n height: 121px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n height: 92px;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n opacity: 0.7;\r\n`;\r\n\r\nexport const StripeImageDefaultBox = styledByDevice(PcBox, MobileBox);","import {StripeImageDefaultBox} from './stripe-image.default.box';\r\n\r\nexport const StripeImageBox = StripeImageDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {StripeImageBox} from './boxes/stripe-image/stripe-image.box';\r\n\r\nexport interface GameImagePreviewComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameStripeImageComponent = observer(\r\n class GameStripeImageComponent extends OrbitComponent {\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n let imageSrc = gameInfo.stripImage ? gameInfo.stripImage : gameInfo.stripeImageFallback;\r\n // I noticed that sometimes react doesn't re render this component even if a different gameInfo is provided.\r\n // Setting key={gameInfo.gameType} seems to overcome this issue\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import {TrailerDefaultBox} from './trailer.default.box';\r\n\r\nexport const TrailerBox = TrailerDefaultBox;","import styled from 'styled-components';\r\n\r\n//.info-video-wrapper + info-movie\r\nexport const TrailerDefaultBox = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n margin-bottom: 1.1rem;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {GameStripeImageComponent} from '../stripe-image/game-stripe-image.component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {TrailerBox} from './boxes/trailer/trailer.box';\r\n\r\nexport interface GameTrailerPreviewComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\nexport const GameTrailerComponent = observer(\r\n class GameTrailerComponent extends OrbitComponent {\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n //we used here key={gameInfo.gameType} to make react re render the component when a different gameInfo is provided\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import * as React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameStripeImageComponent} from './stripe-image/game-stripe-image.component';\r\nimport {GameTrailerComponent} from './trailer/game-trailer.component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\n\r\nexport interface GameImageContainerComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const TrailerOrStripeImageComponent = observer(\r\n class TrailerOrStripeImageComponent extends OrbitComponent {\r\n render() {\r\n if (this.props.gameInfo.hasVideoTrailer) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\n//check-div\r\nexport const CellValueBoolDefaultBox = styled.div`\r\n width: 13px;\r\n height: 13px;\r\n float: right;\r\n background-image: url(\"${props => props.theme.images.checkMark.toString()}\");\r\n background-repeat: no-repeat;\r\n`;","export enum GAMES_CATEGORIES {\r\n SLOTS = 'slots',\r\n CARD_AND_TABLE = 'card-and-table',\r\n LIVE = 'live'\r\n};\r\n","import {CellValueBoolDefaultBox} from './cell-value-bool.default.box';\r\n\r\nexport const CellValueBoolBox = CellValueBoolDefaultBox;","import styled from 'styled-components';\r\n\r\n//game-info-text\r\nexport const CellValueTextDefaultBox = styled.span`\r\n float: right;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;","import styled from 'styled-components';\r\nimport {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\n\r\nexport const CellValueTextCasino777Box = styled(CellValueTextDefaultBox)`\r\n color: ${props => props.theme.colors.dangerDark};\r\n`;","import styled from 'styled-components';\r\nimport {baseColors} from '../../../../../../../../themes/definitions/mrgreen/base-colors';\r\nimport {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\n\r\nexport const CellValueTextMrGreenBox = styled(CellValueTextDefaultBox)`\r\n color: ${baseColors.white};\r\n`;","import {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\nimport {CellValueTextCasino777Box} from './cell-value-text.casino777.box';\r\nimport {CellValueTextMrGreenBox} from './cell-value-text.mrgeen.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const CellValueTextBox = styledByTheme(CellValueTextDefaultBox)\r\n.forCasino777(CellValueTextCasino777Box)\r\n.forMrGreen(CellValueTextMrGreenBox)\r\n.apply();","import styled from 'styled-components';\r\n\r\nexport const CellTitleDefaultBox = styled.span`\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.body};\r\n`;","import styled from 'styled-components';\r\nimport {CellTitleDefaultBox} from './cell-title.default.box';\r\n\r\nexport const CellTitleMrGreenBox = styled(CellTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n`;","import styled from 'styled-components';\r\nimport {CellTitleDefaultBox} from './cell-title.default.box';\r\n\r\nexport const CellTitleSiBox = styled(CellTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import {CellTitleDefaultBox} from './cell-title.default.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\nimport {CellTitleMrGreenBox} from './cell-title.mrgeen.box'\r\nimport {CellTitleSiBox} from \"./cell-title.si.box\";\r\n\r\nexport const CellTitleBox = styledByTheme(CellTitleDefaultBox)\r\n .forMrGreen(CellTitleMrGreenBox)\r\n .forSI(CellTitleSiBox)\r\n .forSICis(CellTitleSiBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {PreviewFeatureType} from '../../../../../../services/game-preview-features-selector/preview-features/game-preview-feature.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {CellValueBoolBox} from './boxes/cell-value-bool/cell-value-bool.box';\r\nimport {CellValueTextBox} from './boxes/cell-value-text/cell-value-text.box';\r\nimport {CellTitleBox} from './boxes/cell-title/cell-title.box';\r\n\r\nexport interface GameFeaturePreviewCellComponentProps{\r\n title: string;\r\n type: PreviewFeatureType,\r\n value: any\r\n}\r\n\r\nexport class GameFeatureCellComponent extends OrbitComponent {\r\n\r\n private _renderNoInfo() {\r\n return (-);\r\n }\r\n private _renderCheckbox() {\r\n if(this.props.value) {\r\n return ();\r\n }\r\n\r\n return this._renderNoInfo();\r\n }\r\n\r\n private _renderDescription() {\r\n if(Check.isEmpty(this.props.value)) {\r\n return this._renderNoInfo();\r\n }\r\n\r\n return ({this.props.value});\r\n }\r\n\r\n\r\n private _renderValue() {\r\n if(this.props.type === PreviewFeatureType.check) {\r\n return this._renderCheckbox();\r\n }\r\n\r\n return this._renderDescription();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.title}\r\n {this._renderValue()}\r\n \r\n );\r\n\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n//game-info game-preview\r\n\r\nexport const TableContainerDefaultBox = styled.table`\r\n padding: 0 8px;\r\n border-radius: 5px;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.textLight};\r\n & tbody {\r\n border: none;\r\n background: transparent;\r\n }\r\n\r\n & td {\r\n width: 50%;\r\n padding-right: 15px;\r\n height: 3.5rem;\r\n\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorder};\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n }\r\n\r\n & tr {\r\n background-color: transparent;\r\n height: 30px;\r\n &:first-child {\r\n td {\r\n border-top: none;\r\n }\r\n }\r\n &:last-child {\r\n td {\r\n border-bottom: none;\r\n }\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {TableContainerDefaultBox} from './table-container.default.box';\r\nimport {hexToRgba} from '../../../../../../../../themes/hex-to-rgba';\r\n\r\nexport const TableContainerBoxCasino777Box = styled(TableContainerDefaultBox)`\r\n font-size: 1.6rem;\r\n font-weight: 400;\r\n \r\n & td { \r\n border-bottom: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.5)};\r\n height:4rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {baseColors} from '../../../../../../../../themes/definitions/mrgreen/base-colors';\r\nimport {TableContainerDefaultBox} from './table-container.default.box';\r\n\r\nexport const TableContainerBoxMrGreenBox = styled(TableContainerDefaultBox)`\r\n & tr { \r\n &:nth-of-type(odd){\r\n background: transparent;\r\n }\r\n }\r\n\r\n & td {\r\n border-bottom: 1px solid ${baseColors.white};\r\n border-top: none\r\n }\r\n`;","import {TableContainerDefaultBox} from './table-container.default.box';\r\nimport {TableContainerBoxCasino777Box} from './table-container.casino777.box';\r\nimport {TableContainerBoxMrGreenBox} from './table-container.mrgreen.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const TableContainerBox = styledByTheme(TableContainerDefaultBox)\r\n.forCasino777(TableContainerBoxCasino777Box)\r\n.forMrGreen(TableContainerBoxMrGreenBox)\r\n.apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {PreviewFeatureEvaluationResult} from '../../../../../../services/game-preview-features-selector/preview-features/game-preview-feature.interface';\r\nimport {splitArrayToChunks} from '../../../../../../../utils/array-helper';\r\nimport {GameFeatureCellComponent} from '../cell/game-feature-cell.component';\r\nimport {TableContainerBox} from './boxes/table-container/table-container.box';\r\n\r\n\r\nexport interface GameFeaturesPreviewTableComponentProps {\r\n features: PreviewFeatureEvaluationResult[]\r\n}\r\n\r\nexport class GameFeaturesTableComponent extends OrbitComponent {\r\n\r\n private _renderGameInfoTableRow(cells: PreviewFeatureEvaluationResult[]) {\r\n let key = cells.reduce((acc, curr) => curr.title + '_' + acc, '');\r\n return (\r\n \r\n {cells.map(cell => ())}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if(this.props.features.length === 0) {\r\n return null;\r\n }\r\n\r\n let chunks = splitArrayToChunks(this.props.features, 2);\r\n\r\n return (\r\n \r\n \r\n {chunks.map(chunk => this._renderGameInfoTableRow(chunk))}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const GameDescriptionDefaultTextBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.text};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding: 0 1rem 2rem;\r\n`;","import {GameDescriptionDefaultTextBox} from './game-description-text.default.box';\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const GameDescriptionSIBox = styled(GameDescriptionDefaultTextBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n`;\r\n\r\nexport const GameDescriptionTextBox = styledByTheme(GameDescriptionDefaultTextBox).forSI(GameDescriptionSIBox).apply();","import styled from 'styled-components';\r\nimport { flexAdaptiveSizeItem } from '../../themes/architecture/css-helpers/flex';\r\nimport { styledByDevice } from '../../themes/architecture/styled-by-device';\r\n\r\n\r\n\r\nconst DefaultBox = styled.h2`\r\n position: relative;\r\n min-width: 28rem;\r\n max-width: 82.5%;\r\n text-transform: uppercase;\r\n padding: 1rem 2rem;\r\n font-size: 1.5rem;\r\n line-height: normal;\r\n margin: 0;\r\n background: ${props => props.theme.components.generalTitle.colors.background};\r\n border-left: 3px solid ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.brandPrimary};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: .9rem 2rem;\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n min-width: 65%;\r\n max-width: 100%;\r\n padding: .8rem 2rem;\r\n font-size: 1.2rem;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${flexAdaptiveSizeItem}\r\n min-width: 0;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GeneralTitleDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {GeneralTitleDefaultBox} from '../../../../../basic-components/general-title/general-title.default.box';\r\n\r\n//.general-title\r\nexport const DefaultBox = styled(GeneralTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n border-left: 2px solid ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.bold};\r\n\r\n margin: 0;\r\n margin-bottom: 10px;\r\n`;\r\n\r\n\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n font-size: 1.2rem;\r\n padding-left: 0.8rem;\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n font-size: 1.4rem;\r\n padding-left: 2rem;\r\n`;\r\n\r\nexport const SectionTitleDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport { PcBox as BasePcBox, MobileBox as BaseMobileBox } from './general-title.default.box';\r\nimport { CssRule } from '../../themes/architecture/css-helpers/css-rule';\r\nimport { styledByDevice } from '../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.secondary};\r\n padding-left:4.5rem;\r\n text-transform: capitalize;\r\n padding-top:.6rem;\r\n padding-bottom:.6rem;\r\n font-size:2rem;\r\n font-weight: 300;\r\n border-left: none;\r\n z-index:0;\r\n clip-path: polygon(0 0, 10px 50%, 0 100%, 100% 100%, 100% 0);\r\n ${CssRule.For.RTL.build()} & {\r\n clip-path: polygon(0 0, 0 100%, 100% 100%, calc(100% - 10px) 50%, 100% 0);\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${({theme}) => theme.images.spriteSheet.toString()}\");\r\n height: 20px;\r\n width: 20px;\r\n top: 10px;\r\n left: 16px;\r\n background-position: -176px -766px;\r\n background-repeat: no-repeat;\r\n z-index:-1;\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n }\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 1rem 5.5rem;\r\n font-size:2rem;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n padding: .5rem 4rem;\r\n font-size: 1.6rem;\r\n &:before{\r\n background-position: -176px -819px;\r\n }\r\n`;\r\n\r\nexport const GeneralTitleCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleCasino777Box} from '../../../../../basic-components/general-title/general-title.casino777.box';\r\n\r\n\r\nexport const SectionTitleCasino777Box = styled(GeneralTitleCasino777Box)`\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: uppercase;\r\n font-size: 1.6rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -155px -861px;\r\n height: 40px;\r\n &:before{\r\n content: none;\r\n }\r\n`;","import {SectionTitleDefaultBox} from './section-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SectionTitleCasino777Box} from './section-title.casino777.box';\r\n\r\nexport const SectionTitleBox = styledByTheme(SectionTitleDefaultBox).forCasino777(SectionTitleCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {GameDescriptionTextBox} from './boxes/game-description-text/game-description-text.box';\r\nimport {SectionTitleBox} from '../../boxes/section-title/section-title.box';\r\n\r\nexport interface GameAboutTextComponentProps {\r\n aboutText: string\r\n}\r\n\r\nexport class GameAboutComponent extends OrbitComponent {\r\n render() {\r\n if(Check.isEmpty(this.props.aboutText)) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {this.services.translation.translate('ABOUT')}\r\n \r\n \r\n {this.props.aboutText}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameJackpotPreviewDefaultBox} from './game-jackpot-preview.default.box';\r\n\r\nexport const GameJackpotPreviewBox = GameJackpotPreviewDefaultBox;","import styled from 'styled-components';\r\n\r\n//game-info-jackpot game-preview\r\nexport const GameJackpotPreviewDefaultBox = styled.div`\r\n width: 100%;\r\n`;","import styled from 'styled-components';\r\nimport {GameJackpotComponent} from \"../../../../../../game-jackpot/game-jackpot.component\";\r\n\r\n//game-info-amount game-info-text\r\nexport const JackpotAmountPreviewDefaultBox = styled(GameJackpotComponent)`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 2.4rem;\r\n font-weight: 800;\r\n text-align: inherit;\r\n margin-top: -4px;\r\n margin-bottom: 5px;\r\n padding: 0 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n font-size: 2.2rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\nimport {baseColors} from '../../../../../../../themes/definitions/casino777/base-colors';\r\n\r\nexport const JackpotAmountPreviewCasino777Box = styled(JackpotAmountPreviewDefaultBox)`\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n color: ${baseColors.base04Dark};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\n\r\nexport const JackpotAmountPreviewCasinoSIBox = styled(JackpotAmountPreviewDefaultBox)`\r\n padding: 0 0.5rem;\r\n`;\r\n","import {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\nimport {JackpotAmountPreviewCasino777Box} from './jackpot-amount-preview.casino777.box';\r\nimport {styledByTheme} from '../../../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountPreviewCasinoSIBox} from \"./jackpot-amount-preview.si.box\";\r\n\r\nexport const JackpotAmountPreviewBox = styledByTheme(JackpotAmountPreviewDefaultBox)\r\n .forCasino777(JackpotAmountPreviewCasino777Box)\r\n .forSI(JackpotAmountPreviewCasinoSIBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../boxes/section-title/section-title.box';\r\nimport {GameJackpotPreviewBox} from './boxes/game-jackpot-preview/game-jackpot-preview.box';\r\nimport {JackpotAmountPreviewBox} from './boxes/jackpot-amount-preview/jackpot-amount-preview.box';\r\n\r\nexport interface GameJackpotPreviewComponentProps {\r\n gameType: number;\r\n}\r\n\r\nexport class GameJackpotPreviewComponent extends OrbitComponent {\r\n\r\n render() {\r\n //className={'game-info-jackpot game-preview'}\r\n return (\r\n \r\n \r\n {this.services.translation.translate('GAME_JACKPOT')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n width: 100%;\r\n`;\r\n\r\nconst PcBox = DefaultBox;\r\nconst MobileBox = styled(DefaultBox)`\r\n padding: 0 10px 20px;\r\n`;\r\n\r\nexport const GamePreviewInfoContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import {GamePreviewInfoContainerDefaultBox} from './game-preview-info-container.default.box';\r\n\r\nexport const GamePreviewInfoContainerBox = GamePreviewInfoContainerDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameFeaturesTableComponent} from './features/table/game-features-table.component';\r\nimport {GameAboutComponent} from './about/game-about.component';\r\nimport {GameJackpotPreviewComponent} from './jackpot/game-jackpot-preview.component';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\nimport {GamePreviewInfoContainerBox} from './game-preview-info-container.box';\r\n//import {RelatedGamesComponent} from './related-games/related-games.component';\r\n\r\nexport interface GameInfoWrapperComponentProps {\r\n gameInfo: GameInfo;\r\n gameTitleComponent: React.ReactNode | null;\r\n}\r\nexport class GamePreviewInfoContainerComponent extends OrbitComponent {\r\n\r\n private _renderJackpotPreview(gameInfo: GameInfo) {\r\n\r\n if(!gameInfo.hasJackpot){\r\n return null;\r\n }\r\n\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n\r\n let shouldRenderJackpotPreview = generalSettings?.gamesPreviewConfig?.shouldDisplayJackpot;\r\n\r\n if (Check.isNullOrUndefined(shouldRenderJackpotPreview) || shouldRenderJackpotPreview)\r\n {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n {this.props.gameTitleComponent}\r\n \r\n \r\n {this._renderJackpotPreview(gameInfo)}\r\n {/**/}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {ContainerDefaultBox} from './container.default.box';\r\n\r\nexport const ContainerBox = ContainerDefaultBox;\r\n\r\n","import styled from 'styled-components';\r\n\r\n\r\n/**\r\n ContainerDefaultBox is placed over TrailerOrStripeImageComponent using position absolute.\r\n We do this because TrailerOrStripeImageComponent has opacity 0.5\r\n and we can't put ContainerDefaultBox inside TrailerOrStripeImageComponent because will inherit that opacity\r\n */\r\n\r\n\r\nexport const ContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n","import {GameIconDefaultBox} from './game-icon.default.box';\r\n\r\nexport const GameIconBox = GameIconDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../components/raw-components/image/image';\r\n\r\n//game-info-icon\r\nexport const GameIconDefaultBox = styled(Image)`\r\n display: block;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n`;\r\n\r\n","import {PlayButtonsDefaultBox} from './play-buttons.default.box';\r\n\r\nexport const PlayButtonsBox = PlayButtonsDefaultBox;","import styled from 'styled-components';\r\n\r\n\r\nexport const PlayButtonsDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-end;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n margin-right: 10px;\r\n margin-left: 10px;\r\n`;\r\n","import {GameIconWrapperDefaultBox} from './game-icon-wrapper.default.box';\r\n\r\nexport const GameIconWrapperBox = GameIconWrapperDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameIconWrapperDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xs} {\r\n padding-left: 15px;\r\n width: 80%;\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo, OpenGameParameters} from '../../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../../services/dialog/dialog.service.interface';\r\nimport {ContainerBox} from './boxes/container/container.box';\r\nimport {GameIconBox} from '../../../../basic-components/game-icon/game-icon.box';\r\nimport {PlayButtonsBox} from '../../../../basic-components/play-buttons/play-buttons.box';\r\nimport {GameIconWrapperBox} from '../../../../basic-components/game-icon-wrapper/game-icon-wrapper.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {Button} from '../../../../basic-ui-components/button/base/button.component';\r\n\r\nexport interface MobileDemoAndPlayComponentProps {\r\n gameInfo: GameInfo;\r\n openGameParams: OpenGameParameters;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport const GameIconAndPlayButtonsComponent = observer(\r\n class GameIconAndPlayButtonsComponent extends OrbitComponent {\r\n\r\n private _openRealGame = () => {\r\n this.props.dialogHandler.close();\r\n this.props.gameInfo.open({...this.props.openGameParams, isRealMode: true});\r\n };\r\n\r\n private _openDemoGame = () => {\r\n this.props.dialogHandler.close();\r\n this.props.gameInfo.open({...this.props.openGameParams, isRealMode: false});\r\n };\r\n\r\n private _renderDemoButton(gameInfo: GameInfo) {\r\n if (!gameInfo.allowDemoButtonInIntermediatePage) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n { this.services.translation.translate('DEMO') }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n const gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('PLAY')}\r\n \r\n
\r\n {this._renderDemoButton(gameInfo)}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const IntermediatePageDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n background-image: url(${props => props.theme.images.texture.toString()}); \r\n ${CssRule.For.mobile.tablet.build()} & {\r\n max-width: 54rem;\r\n height: auto;\r\n }\r\n \r\n`;\r\n\r\n","import {IntermediatePageDefaultBox} from './intermediate-page.default.box';\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport styled from \"styled-components\";\r\n\r\nconst IntermediatePageSIBox = styled(IntermediatePageDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n`;\r\n\r\nexport const IntermediatePageBox = styledByTheme(IntermediatePageDefaultBox).forSI(IntermediatePageSIBox).apply();","import {StripeImageAndButtonsDefaultBox} from './stripe-image-and-buttons.default.box';\r\n\r\nexport const StripeImageAndButtonsBox = StripeImageAndButtonsDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const StripeImageAndButtonsDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 220px;\r\n margin-bottom: 0.5rem;\r\n`;","import styled from 'styled-components';\r\n/**\r\n GradientBox is placed over TrailerOrStripeImageComponent using position absolute.\r\n We do this because TrailerOrStripeImageComponent has opacity 0.5\r\n and we can't put GradientBox inside TrailerOrStripeImageComponent because will inherit that opacity\r\n */\r\nexport const GradientDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: linear-gradient(to bottom, transparent 46%, ${props => props.theme.colors.background} 100%); \r\n`;","import styled from \"styled-components\";\r\nimport {GradientDefaultBox} from \"./gradient.default.box\";\r\nimport {hexToRgba} from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const GradientCasino777Box = styled(GradientDefaultBox)`\r\n background: linear-gradient(to bottom, ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.3)}, ${props => hexToRgba(props.theme.colors.background, 0.6)});\r\n`","import {GradientDefaultBox} from './gradient.default.box';\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GradientCasino777Box} from \"./gradient.casino777.box\";\r\n\r\nexport const GradientBox = styledByTheme(GradientDefaultBox).forCasino777(GradientCasino777Box).apply();","import {WarningImageDefaultBox} from \"./warning-image.default.box\";\r\n\r\nexport const WarningImageBox = WarningImageDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const WarningImageDefaultBox = styled(Image)`\r\n margin: 10px 5px 5px 15px;\r\n`;","import {WarningTextDefaultBox} from \"./warning-text.default.box\";\r\n\r\nexport const WarningTextBox = WarningTextDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const WarningTextDefaultBox = styled.span`\r\n font-size: 1.2rem;\r\n width: calc(100% - 50px);\r\n display: inline-block;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n`;\r\n","import {WarningMessageDefaultBox} from \"./warning-message.default.box\";\r\n\r\nexport const WarningMessageBox = WarningMessageDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const WarningMessageDefaultBox = styled.div`\r\n position: relative;\r\n height: 40px;\r\n background-color: black;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {WarningImageBox} from \"./boxes/warning-image/warning-image.box\";\r\nimport {WarningTextBox} from \"./boxes/warning-text/warning-text.box\";\r\nimport {WarningMessageBox} from \"./boxes/warning-message/warning-message.box\";\r\n\r\nexport class RealMoneyOnlyWarningComponent extends OrbitComponent<{}>{\r\n render() {\r\n return(\r\n \r\n \r\n {this.services.translation.translate('REAL_MONEY_GAME')}\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo, OpenGameParameters} from '../../../services/games/game-info';\r\nimport {TitleComponent} from './title/title.component';\r\nimport {TrailerOrStripeImageComponent} from '../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../services/dialog/dialog.service.interface';\r\nimport {GameIconAndPlayButtonsComponent} from './game-icon-and-play-buttons/game-icon-and-play-buttons.component';\r\nimport {IntermediatePageBox} from './boxes/intermediate-page/intermediate-page.box';\r\nimport {StripeImageAndButtonsBox} from './boxes/stripe-image-and-buttons/stripe-image-and-buttons.box';\r\nimport {GradientBox} from './boxes/gradient/gradient.box';\r\nimport {RealMoneyOnlyWarningComponent} from \"./only-real-money-warning/only-real-money-warning.component\";\r\n\r\nexport interface OpenGameIntermediatePageComponentProps {\r\n gameInfo: GameInfo;\r\n openGameParams: OpenGameParameters;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\n\r\nexport const OpenGameIntermediatePageComponent = observer(\r\n class OpenGameIntermediatePageComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.device.isMobile,\r\n (isMobile) => {\r\n if(!isMobile) { // this is for when you switch from mobile to PC in the emulator or when you resize de browser window\r\n this.props.dialogHandler.close();\r\n }\r\n });\r\n }\r\n\r\n _renderOnlyRealMoneyWarning() {\r\n return this.props.gameInfo.allowWithdrawOnlyFromReal ? () : null;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderOnlyRealMoneyWarning()}\r\n \r\n \r\n {/*GameIconAndPlayButtonsComponent and GradientBox uses position absolute to place itself over the TrailerOrStripeImageComponent because TrailerOrStripeImageComponent box has opacity 0.5 */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n }\r\n }\r\n);","import {IGameRestriction} from \"./game-restriction.interface\";\r\n\r\nexport class NoGameRestriction implements IGameRestriction {\r\n isGameAllowedToPlayReal(): boolean {\r\n return true;\r\n }\r\n\r\n showUserMessage(): void {\r\n\r\n }\r\n\r\n}","import { computed, makeObservable } from 'mobx';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {IRunningGameHandler} from './running-game-handler.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {\r\n OpenGameIntermediatePageComponent\r\n} from \"../../components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component\";\r\nimport React from \"react\";\r\nimport {GameIconAnimationState} from '../../components/single-game/common/parts/game-image/game-image.component';\r\nimport {\r\n IRunningGameControllerViewModel\r\n} from \"../game-runner/interfaces/game-controller/running-game-controller.interface\";\r\nimport {GameModeEnum} from \"../game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {IOpenFreePlayGameParams} from \"../game-runner/game-runner.service.interface\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\r\nimport {NoGameRestriction} from \"../restrictions/no-game-restriction\";\r\nimport {GAME_GROUP} from \"../../../common/const/game_groups_consts\";\r\nimport {NullableNumber, NullableString} from \"../../../common/types/nullable-types\";\r\nimport {GAMES_CATEGORIES} from \"./games-categories.enum\";\r\nimport {IGameInfo} from '../../../common/const/game-info.interface';\r\nimport {GAME_VOLATILITY} from '../../../sdk/src/services/games_information/games_information_service_interface';\r\nimport {\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../analytics/analytics.service.interface\";\r\nimport { GameChildishIconMode } from '../../../common/enums/game-childish-icon-mode.enum';\r\n\r\n\r\nexport interface OpenGameParameters {\r\n isRealMode: boolean;\r\n pageName?: string;\r\n listTitle?: string;\r\n listPosition?: number;\r\n AdminListID?: number;\r\n marketingParams?: MarketingParams;\r\n gameIndex?: number;\r\n aiEngine?: string;\r\n aiSortingType?: string;\r\n AIListTypeID?: number;\r\n openFromDrawer?:boolean;\r\n showIntermediatePage?: boolean;\r\n isCalledFromIntermediatePage?: boolean;\r\n animatedIconState?: GameIconAnimationState;\r\n freePlayParams?: IOpenFreePlayGameParams;\r\n skipFreePlaySuggestion?: boolean;\r\n referrerId?: NullableNumber;\r\n}\r\n\r\n\r\n\r\nexport function gameInfoComparerByTitle(game1: GameInfo, game2: GameInfo): number {\r\n if(game1.title < game2.title) {\r\n return -1\r\n } else if(game1.title > game2.title) {\r\n return 1\r\n }\r\n\r\n return 0;\r\n}\r\n\r\n\r\nexport class GameInfo {\r\n constructor(private _rawGameData: IGameInfo,\r\n private services: IServiceFactoryExtended,\r\n private _aboutText: string) {\r\n makeObservable(this);\r\n\r\n Object.defineProperty(this._rawGameData, 'allowSwitchGameMode', {\r\n get: () => this.allowSwitchGameMode,\r\n configurable: true\r\n });\r\n }\r\n\r\n private get _isMobile(): boolean {\r\n return this.services.device.isMobile;\r\n }\r\n\r\n private get _isAuthorized(): boolean {\r\n return this.services.user.isAuthorized;\r\n }\r\n\r\n get gameType(): number {\r\n return this._rawGameData.gameType;\r\n }\r\n\r\n get title(): string {\r\n return this._rawGameData.title;\r\n }\r\n\r\n get numberOfLines(): number {\r\n return this._rawGameData.numberOfLines;\r\n }\r\n\r\n\r\n get hasJackpot(): boolean {\r\n return this._rawGameData.hasJackpot || false;\r\n }\r\n\r\n get isNewGame(): boolean {\r\n return this._hasCustomFilter('new');\r\n }\r\n\r\n get isExclusiveGame(): boolean {\r\n return this._hasCustomFilter('exclusive');\r\n }\r\n\r\n private _hasCustomFilter(filterName: string): boolean {\r\n if (!filterName) {\r\n return false;\r\n }\r\n\r\n if (!Check.isArray(this._rawGameData.filtersList)) {\r\n return false;\r\n }\r\n\r\n filterName = filterName.toLowerCase();\r\n\r\n return 0 <= this._rawGameData.filtersList.findIndex(filter => filter.toLowerCase() === filterName);\r\n\r\n }\r\n\r\n get hasBonusGames(): boolean {\r\n return this._rawGameData.hasBonusGames || false;\r\n }\r\n\r\n get numberOfDecks(): number {\r\n return this._rawGameData.numberOfDecks;\r\n }\r\n\r\n get isMultiHand(): boolean {\r\n return this._rawGameData.isMultiHand || false;\r\n }\r\n\r\n get hasFreeSpins(): boolean {\r\n return this._rawGameData.hasFreeSpins || false;\r\n }\r\n\r\n get subGroupName(): string {\r\n return this._rawGameData.subGroupName;\r\n }\r\n\r\n get isEliteLounge(): boolean {\r\n return this._rawGameData.isEliteLounge || false;\r\n }\r\n\r\n get isChildish(): boolean {\r\n return this._rawGameData.isChildish || false;\r\n }\r\n\r\n get hasSideBets(): boolean {\r\n return this._rawGameData.hasSideBets || false;\r\n }\r\n\r\n get maxBetPerSpot(): number {\r\n return this._rawGameData.maxBetPerSpot;\r\n }\r\n\r\n get allowWithdrawOnlyFromReal(): boolean {\r\n return this._rawGameData.allowWithdrawOnlyFromReal;\r\n }\r\n\r\n get hasLowStakes(): boolean {\r\n return this._hasCustomFilter('lowStakes');\r\n }\r\n\r\n get hasHighStakes(): boolean {\r\n return this._hasCustomFilter('highStakes');\r\n }\r\n\r\n get ClassicSlots(): boolean {\r\n return this._rawGameData.ClassicSlots;\r\n }\r\n\r\n get allowMinMaxBet(): boolean {\r\n let isAllowedCategory = this.isCardOrTableGame || this.isLiveCasino;\r\n\r\n return !this.hasJackpot && isAllowedCategory;\r\n }\r\n\r\n\r\n @computed\r\n get allowHoverDetails(): boolean {\r\n\r\n if (this.gameGroup === 'Live Casino') {\r\n return false;\r\n }\r\n\r\n return !this._isAuthorized || this._rawGameData.forceDemoButton;\r\n }\r\n\r\n get allowTap(): boolean {\r\n return this._isMobile;\r\n }\r\n\r\n\r\n get hasInfoPage(): boolean {\r\n if (this.infoPageURL) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowDemoButtonInSingleGame(): boolean {\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n\r\n if (this._isMobile) {\r\n return false;\r\n }\r\n\r\n\r\n return (this._rawGameData.demoSettings\r\n && this._rawGameData.demoSettings.demoCTAAnonymous\r\n && this._rawGameData.demoSettings.demoCTAAnonymous.pc);\r\n }\r\n\r\n\r\n @computed\r\n get allowDemoButtonInIntermediatePage(): boolean {\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n if (this.services.user.isAuthorized) {\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAuthorized && this._rawGameData.demoSettings.demoCTAAuthorized.mobile;\r\n }\r\n\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAnonymous && this._rawGameData.demoSettings.demoCTAAnonymous.mobile;\r\n }\r\n\r\n get infoPageURL(): string {\r\n\r\n if (!this._rawGameData.infoPageURL) {\r\n return '';\r\n }\r\n\r\n if (!this.services.siteMap.isUrlInSiteMap(this._rawGameData.infoPageURL)) {\r\n this.services.logger.debug(`Page info '${this._rawGameData.infoPageURL}' for game ${this.gameType} - ${this.title} is not in the site map`);\r\n return '';\r\n }\r\n\r\n return this._rawGameData.infoPageURL\r\n }\r\n\r\n //Can be either a live stream URL or a static video URL.\r\n get videoURL(): string {\r\n if (!this._rawGameData.videoURL) {\r\n return '';\r\n }\r\n\r\n return this._rawGameData.videoURL;\r\n }\r\n\r\n get hasVideoURL(): boolean {\r\n return Boolean(this.videoURL);\r\n }\r\n\r\n get gameGroup(): string {\r\n return this._rawGameData.gameGroup;\r\n }\r\n\r\n get gameGroupId(): GAME_GROUP {\r\n return this._rawGameData.gameGroupId;\r\n }\r\n\r\n get gameCategory(): string {\r\n if(this.isVideoSlot || this.isScratchCards) {\r\n return GAMES_CATEGORIES.SLOTS;\r\n }\r\n\r\n if(this.isLiveCasino) {\r\n return GAMES_CATEGORIES.LIVE;\r\n }\r\n\r\n if(this.isCardOrTableGame) {\r\n return GAMES_CATEGORIES.CARD_AND_TABLE;\r\n }\r\n\r\n return '';\r\n\r\n }\r\n\r\n get gameCategoryClassName(): string {\r\n return 'game-category-' + this.gameCategory;\r\n }\r\n\r\n get companyName(): string {\r\n return this._rawGameData.companyName;\r\n }\r\n\r\n get vendorId(): number {\r\n return this._rawGameData.vendorId;\r\n }\r\n\r\n get vendorName(): string {\r\n return this._rawGameData.vendorName;\r\n }\r\n\r\n private _getDefaultGameImage(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (opts.animatedIcon) {\r\n return (images.animated_square) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_square)) : '';\r\n }\r\n return this._getResolvedGameImagePath(images.hybrid_icon);\r\n }\r\n\r\n if (opts.animatedIcon) {\r\n return (images.animated_round) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_round)) : '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n private _getImageForChildishGame(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n const gameChildishMode = this.services.regulation.current.getChildishIconMode();\r\n if (gameChildishMode === GameChildishIconMode.UseDefaultIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (images.hybrid_non_childish_icon) {\r\n return this._getResolvedGameImagePath(images.hybrid_non_childish_icon);\r\n }\r\n else if (gameChildishMode === GameChildishIconMode.PreferNonChildishIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n /* Handling scenario of mode: UseNonChildishIcon, having only non_childish_icon (game is not restricted) but missing hybrid_non_childish_icon */\r\n return this.getGameImagePlaceHolderUrl(opts.squareIcon);\r\n }\r\n }\r\n else {\r\n if (images.non_childish_icon) {\r\n return this._getResolvedGameImagePath(images.non_childish_icon);\r\n }\r\n else {\r\n /* game is Childish & does not have non_childish_icon & is not restricted, it means we just PreferNonChildishIcon and we are happy with default icon*/\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n }\r\n }\r\n\r\n getGameImage(options?: {squareIcon?: boolean; animatedIcon?: boolean;}): string {\r\n let opts = {\r\n squareIcon: options?.squareIcon || false,\r\n animatedIcon: options?.animatedIcon || false,\r\n }\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if(this.isChildish){\r\n return this._getImageForChildishGame(opts);\r\n }\r\n else {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n\r\n getBackgroundImage(): string {\r\n let background = this._rawGameData?.images?.background;\r\n if (!background) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(background);\r\n }\r\n\r\n private getAnimatedJsonUrl(pngImagePath: string) {\r\n if (!pngImagePath.endsWith('.png')) {\r\n this.services.logger.error(\"Animated icon path does not end in '.png': \" + pngImagePath);\r\n return '';\r\n }\r\n // we don't expect for substring '.png' to exist in other place than the end of the string, so we do a simple replace\r\n return pngImagePath.replace('.png', '.json');\r\n }\r\n\r\n getAnimatedImageTimings() {\r\n const animatedImageTimings = this._rawGameData && this._rawGameData.animatedImageTimings\r\n return {\r\n delay: animatedImageTimings?.delay || 2000,\r\n interval: animatedImageTimings?.interval || 3000,\r\n }\r\n }\r\n\r\n get gameImageInsideIntermediatePage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n get gameImageInHistoryPage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n let image: string = images.icon;\r\n if (this.services.theme.shouldUseSquareIcons && images.hybrid_icon) {\r\n image = images.hybrid_icon;\r\n }\r\n\r\n return this._getResolvedGameImagePath(image);\r\n }\r\n\r\n get badge(): string | null {\r\n return this._rawGameData.badge;\r\n }\r\n\r\n get videoThumbnailUrl(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.video_thumbnail);\r\n }\r\n\r\n @computed\r\n get badgeUrl(): string | null {\r\n if (this.badge) {\r\n return this.services.configuration.data.generalSettings.gamesSettings.gameBadgePath + this.badge + '.png';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get minBet(): number {\r\n return this._rawGameData.minBet;\r\n }\r\n\r\n get maxBet(): number {\r\n return this._rawGameData.maxBet;\r\n }\r\n\r\n get maxBetPerBrand(): number {\r\n return this._rawGameData.maxBetPerBrand;\r\n }\r\n\r\n getGameImagePlaceHolderUrl(useSquareIcon?: boolean): string {\r\n if (useSquareIcon) {\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolderSq.toString();\r\n }\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n getImageSeoAlt() {\r\n\r\n let seoValue = this.services.configuration.data?.seo?.games?.images?.alt;\r\n\r\n return this.services.translation.translate(seoValue, {\r\n gameName: this.title,\r\n categoryName: this.gameCategory\r\n });\r\n };\r\n\r\n private _getResolvedGameImagePath(imagePath: string): string {\r\n return this.services.configuration.resolveGameImagePath(imagePath);\r\n }\r\n\r\n @computed\r\n get stripImage(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._isMobile ? this._getResolvedGameImagePath(images.strip_mobile) :\r\n this._getResolvedGameImagePath(images.strip_pc);\r\n }\r\n\r\n @computed\r\n get stripeImageFallback(): string {\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let previewDefaultImage = generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesPreviewDefaultImages;\r\n\r\n if (previewDefaultImage && this.gameCategory) {\r\n //Replace the game category dash to under score (like the image name for example card-and-table category name should be default_game_strip_card_and_table)\r\n let gameCategoryWithUnderScores = this.gameCategory.replace(/-/g, '_');\r\n previewDefaultImage = previewDefaultImage.replace(/{arena-category}/g, gameCategoryWithUnderScores);\r\n //Add _mobile if we are in mobile\r\n\r\n if (this.services.device.isMobile) {\r\n return previewDefaultImage.replace('.png', '_mobile.png');\r\n }\r\n\r\n return previewDefaultImage;\r\n }\r\n\r\n return ''\r\n }\r\n\r\n get hasVideoTrailer(): boolean {\r\n return this.gameType === 130136;\r\n }\r\n\r\n get aboutText(): string {\r\n return this._aboutText;\r\n }\r\n\r\n get multiplayer(): number {\r\n return this._rawGameData.multiplayer;\r\n }\r\n\r\n get isClassicSlot(): boolean {\r\n return this._hasCustomFilter('ClassicSlots');\r\n }\r\n\r\n get hasHighVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.High;\r\n }\r\n\r\n get hasLowVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Low;\r\n }\r\n\r\n get hasMediumVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Medium;\r\n }\r\n\r\n get hasDailyJackpot(): boolean {\r\n return this._hasCustomFilter('DailyJackpot');\r\n }\r\n\r\n get hasTwilightJackpot(): boolean {\r\n return this._hasCustomFilter('TwilightJackpot');\r\n }\r\n\r\n get hasCaptain8tJackpot(): boolean {\r\n return this._hasCustomFilter('Captain8Jackpot');\r\n }\r\n\r\n get hasRedTigerJackpot(): boolean {\r\n return this._hasCustomFilter('RedTigerJackpot');\r\n }\r\n\r\n @computed\r\n get shouldShowIntermediatePage(): boolean {\r\n if (!this._isMobile) {\r\n return false;\r\n }\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this.isLiveCasino) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (this._isAuthorized) {\r\n if ((this._rawGameData?.forceIntermediatePageForAutorizedUsers) || (demoSettings && demoSettings.intermediatePageAuthorized && demoSettings.intermediatePageAuthorized.mobile)) {\r\n return true;\r\n }\r\n } else {\r\n if (demoSettings?.intermediatePageAnonymous?.mobile) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isDemoModeSupported(): boolean {\r\n return Boolean(this._rawGameData.isAnonymousSupported);\r\n }\r\n\r\n @computed\r\n get allowSwitchGameMode(): boolean {\r\n\r\n if(!this.isDemoModeSupported) {\r\n return false;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (!demoSettings) {\r\n return false;\r\n }\r\n\r\n if (this._isAuthorized) {\r\n return Boolean(demoSettings?.demoCTAAuthorized?.pc);\r\n } else {\r\n return Boolean(demoSettings?.demoCTAAnonymous?.pc);\r\n }\r\n }\r\n\r\n async open(params: OpenGameParameters): Promise {\r\n\r\n if(this._showIntermediatePage(params)) {\r\n return;\r\n }\r\n\r\n if (this._shouldRedirectToMembership(params)) {\r\n this._openMembership();\r\n return {\r\n closeGame: () => {\r\n }\r\n };\r\n }\r\n\r\n this._sendOpenGameAnalytics(params);\r\n\r\n let gameController: IRunningGameControllerViewModel | null = null;\r\n if (params.isRealMode) {\r\n if(params.marketingParams) {\r\n this.services.sdk.eventsTrigger.updateMarketingParams(params.marketingParams);\r\n }\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Real,\r\n gameInfo: this,\r\n freePlayParams: params.freePlayParams,\r\n skipFreePlaySuggestion: params.skipFreePlaySuggestion,\r\n referrerId: params.referrerId\r\n });\r\n } else {\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Demo,\r\n gameInfo: this\r\n });\r\n }\r\n\r\n return {\r\n closeGame: async () => {\r\n await gameController?.closeGame({\r\n shouldSuggestNextGame: false\r\n })\r\n }\r\n }\r\n\r\n }\r\n\r\n private _shouldRedirectToMembership(params: OpenGameParameters): boolean {\r\n return params.isRealMode && params.isCalledFromIntermediatePage\r\n && !this.services.user.isAuthorized\r\n && (this.services.cmsSegmentation.isCstatus === false);\r\n }\r\n\r\n\r\n //TODO - this should return a Promise\r\n private _showIntermediatePage(params: OpenGameParameters): boolean {\r\n if (this.shouldShowIntermediatePage && params.showIntermediatePage) {\r\n const dialogContentRenderer = ((dialogHandler) => );\r\n this.services.dialog.showModal(dialogContentRenderer, {hideCloseButton: true});\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private _openMembership() {\r\n this.services.analytics.sendOrbitMarketingEvent(OrbitMarketingEventAnalyticsCategory.Conversion, 'Play', OrbitMarketingEventAnalyticsLabel.PreGamePopUp);\r\n this.services.externalLinks.openMembership({\r\n marketingParams: {\r\n dl: \"20614\"\r\n }\r\n });\r\n }\r\n\r\n private _sendOpenGameAnalytics(params: OpenGameParameters): void {\r\n if (!params.pageName || !params.listTitle) {\r\n return;\r\n }\r\n const listTitle = this._replaceUnderscore(params.listTitle);\r\n\r\n const analyticsLabel = (params.isRealMode ? 'Real' : 'Anonymous') + '_' + this.gameType.toString() + '_' + this.title + '_' + params.gameIndex + '_' + (this._isAuthorized ? 'isAuth' : 'isNotAuth');\r\n const analyticsAction = listTitle +\r\n (params.openFromDrawer ? '_Drawer' : '') +\r\n (Check.isNumber(params.listPosition) ? '_' + params.listPosition : '') +\r\n '_' + (params.aiEngine ? params.aiEngine : 'NoAI') +\r\n (params.AIListTypeID ? '_' + params.AIListTypeID : '') +\r\n (params.AdminListID ? '_' + params.AdminListID : '');\r\n\r\n this.services.analytics.sendAnalytics(params.pageName, analyticsAction, analyticsLabel, this.gameType, true);\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: params.pageName, action: 'game_click', label: listTitle, value: this.gameType.toString(), customData: params}, true);\r\n }\r\n\r\n\r\n isAllWordsMatch(words: RegExp[]) {\r\n let text = this.title + ' ' + this.vendorName;\r\n for (let index = 0; index < words.length; index++) {\r\n if (!text.match(words[index])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n get gameArenaIcon(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.arena_icon);\r\n }\r\n\r\n /**\r\n * @description BI/BA request not to send the underscore as part of the list title since they split by underscore to get all the data on the label\r\n * @param listTitle\r\n * @private\r\n */\r\n private _replaceUnderscore(listTitle): string {\r\n return listTitle.replace(/_/g, '-');\r\n }\r\n\r\n get restriction(): IGameRestriction {\r\n\r\n if(this._rawGameData.restriction) {\r\n return this._rawGameData.restriction as IGameRestriction;\r\n }\r\n return new NoGameRestriction();\r\n }\r\n\r\n get isVideoSlot(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_SLOT\r\n || this.gameGroupId === GAME_GROUP.SLOT\r\n }\r\n\r\n //same as isCardOrTableGame() besides ARCADE, PAI_GOW_POKER, ROULETTE_LIKE\r\n get isCasinoGame() {\r\n const casinoGamesGroups = [\r\n GAME_GROUP.BACCARAT,\r\n GAME_GROUP.BLACKJACK,\r\n GAME_GROUP.CARRIBEAN_POKER,\r\n GAME_GROUP.CRAPS,\r\n GAME_GROUP.KENO,\r\n GAME_GROUP.POKER,\r\n GAME_GROUP.POKER_TEMPLATE_GAMES,\r\n GAME_GROUP.ROULETTE,\r\n GAME_GROUP.SCRATCH_CARD,\r\n GAME_GROUP.VIDEO_POKER\r\n ];\r\n\r\n return casinoGamesGroups.includes(this.gameGroupId);\r\n }\r\n\r\n get isVideoPoker(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_POKER;\r\n }\r\n\r\n get isScratchCards(): boolean {\r\n return this.gameGroupId === GAME_GROUP.SCRATCH_CARD;\r\n }\r\n\r\n get isBlackJack(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BLACKJACK;\r\n }\r\n\r\n get isRoulette(): boolean {\r\n return this.gameGroupId === GAME_GROUP.ROULETTE;\r\n }\r\n\r\n get isLiveCasino(): boolean {\r\n return this.gameGroupId === GAME_GROUP.LIVE_CASINO;\r\n }\r\n\r\n get isBaccarat(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BACCARAT;\r\n }\r\n\r\n\r\n get isCardOrTableGame(): boolean {\r\n\r\n return this.isBlackJack\r\n || this.isRoulette\r\n || this.isBaccarat\r\n || this.isVideoPoker\r\n || this.gameGroupId === GAME_GROUP.CRAPS\r\n || this.gameGroupId === GAME_GROUP.KENO\r\n || this.gameGroupId === GAME_GROUP.CARRIBEAN_POKER\r\n || this.gameGroupId === GAME_GROUP.POKER_TEMPLATE_GAMES\r\n || this.gameGroupId === GAME_GROUP.ROULETTE_LIKE\r\n || this.gameGroupId === GAME_GROUP.ARCADE\r\n || this.gameGroupId === GAME_GROUP.POWER_VIDEO_POKER\r\n || this.gameGroupId === GAME_GROUP.PAI_GOW_POKER\r\n || this.gameGroupId === GAME_GROUP.CRAZY_BLACKJACK\r\n }\r\n\r\n get externalGameCode(): NullableString {\r\n return this._rawGameData.externalGameCode;\r\n }\r\n\r\n get themeIds(): number[] {\r\n return this._rawGameData.gameThemes ?? [];\r\n }\r\n\r\n get volatility(): GAME_VOLATILITY {\r\n return this._rawGameData.volatility;\r\n }\r\n}\r\n","import {AdminArenaConfiguration} from \"../../app-bootstrap/config-interfaces/casino-startup.configurations\";\r\nimport {createStatementsDefinition} from './create-statements-definition';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nenum List_Type {\r\n Swipers = \"swipers\",\r\n Grids = \"grids\",\r\n PopularTables = \"popularTables\"\r\n}\r\n\r\nexport function injectAdminArenas(\r\n originalConfigData: any,\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration}\r\n): void {\r\n\r\n if (originalConfigData.homePage) {\r\n originalConfigData.homePage.gamesLists = getAdminArenaLists(\r\n adminArenaConfigData,\r\n HOME_PAGE_ARENA,\r\n List_Type.Swipers\r\n );\r\n }\r\n\r\n if (originalConfigData.arenas) {\r\n Object.keys(originalConfigData.arenas).forEach(arenaKey => {\r\n\r\n if (arenaKey === LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].popularTables = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.PopularTables\r\n );\r\n } else if (arenaKey === NEW_LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n else {\r\n originalConfigData.arenas[arenaKey].swiperGamesList = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Swipers\r\n );\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n\r\n });\r\n }\r\n}\r\n\r\n\r\nfunction getAdminArenaLists(\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration},\r\n arenaKey: string,\r\n listType: string\r\n) {\r\n let adminLists: unknown[] = [];\r\n if (adminArenaConfigData[arenaKey] && adminArenaConfigData[arenaKey].lists[listType]) {\r\n adminArenaConfigData[arenaKey].lists[listType].forEach(list => {\r\n let currentList = list.Metadata ?? {};\r\n\r\n currentList.display = Check.isNullOrUndefined(currentList.display) ? true : currentList.display;\r\n\r\n let segmentation = createStatementsDefinition(list.SubLists);\r\n currentList.gamesId = {};\r\n currentList.gamesId.defaultValue = segmentation.defaultValue;\r\n currentList.gamesId.statements = segmentation.statements;\r\n\r\n adminLists.push(currentList);\r\n });\r\n }\r\n\r\n return adminLists;\r\n}\r\n","import {GamesMap, IGameImageSize, IGamesService, RecentlyPlayedGames} from './games.service.interface';\r\nimport {GameInfo} from './game-info';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\n\r\nexport class GamesService extends ServiceBase implements IGamesService {\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n () => {\r\n this._updateGamesMapPromise = this._updateGamesMap()\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n\r\n this.services.sdk.events.onRecentlyPlayedGamesUpdated(this._updateRecentlyPlayedGames);\r\n }\r\n\r\n\r\n @observable.ref\r\n gamesMap: GamesMap = {};\r\n @action.bound\r\n private _setGamesMap(gamesMap: GamesMap): void {\r\n this.gamesMap = gamesMap;\r\n }\r\n\r\n @observable.ref\r\n recentlyPlayedGames: RecentlyPlayedGames = {\r\n isInitialized: false,\r\n gameTypes: []\r\n };\r\n\r\n @action.bound\r\n private _updateRecentlyPlayedGames(gameTypes: number[]): void {\r\n if(!this.recentlyPlayedGames.isInitialized\r\n || !this.services.sdk.getUtils().arraysAreEqual(this.recentlyPlayedGames.gameTypes, gameTypes)) {\r\n this.recentlyPlayedGames = {\r\n isInitialized: true,\r\n gameTypes: gameTypes\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n private async _buildGamesMap(sdkGamesInfo: any): Promise {\r\n\r\n let aboutTexts = await this._getGamesAboutTexts();\r\n\r\n let gamesMap: GamesMap = {};\r\n\r\n const usedGameTypesBySiteMap = this.services.configuration.usedGameTypesBySite.reduce((accumulator, gt) => {\r\n accumulator[gt] = true;\r\n return accumulator;\r\n }, {});\r\n\r\n Object.keys(sdkGamesInfo).forEach(gameType => {\r\n try {\r\n // filter only in-layout games\r\n if (usedGameTypesBySiteMap[gameType]) {\r\n let sdkInfo = sdkGamesInfo[gameType];\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let gameTagInfo = (generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesTags && generalSettings.gamesSettings.gamesTags[gameType]) || {};\r\n\r\n // for now, rawGameData will contain also gameTagInfo properties - which are read by adminClient settings\r\n // moreover, we'll add a new property on it regarding allowSwitchToDemo\r\n let rawGameData = Object.assign(sdkInfo, gameTagInfo);\r\n let gameInfo = new GameInfo(rawGameData, this.services, aboutTexts[gameType]);\r\n\r\n gamesMap[gameInfo.gameType] = gameInfo;\r\n \r\n }\r\n } catch(err) {\r\n this.services.logger.error(`Failed to generate GameInfo for game type ${gameType}`, err);\r\n }\r\n\r\n });\r\n\r\n return gamesMap;\r\n }\r\n\r\n private _gamesAboutTexts: {[key: string]: string} | null = null;\r\n\r\n private async _getGamesAboutTexts(): Promise<{[key: string]: string}> {\r\n if(this._gamesAboutTexts) {\r\n return this._gamesAboutTexts;\r\n }\r\n let gamesAboutTextConfigPath = this.services.configuration.data.generalSettings.gamesSettings.gamesAboutTextPath;\r\n\r\n //if there is no about path (not supported in this regulation) - we prevent the http call\r\n if(!gamesAboutTextConfigPath){\r\n this._gamesAboutTexts = {};\r\n return this._gamesAboutTexts;\r\n }\r\n\r\n let gamesAboutTextUrl = '';\r\n\r\n try {\r\n gamesAboutTextUrl = gamesAboutTextConfigPath.replace('{currentLanguage}', this.services.language.currentLanguage);\r\n let aboutTextsJson = await this.services.http.get(gamesAboutTextUrl);\r\n\r\n if(Check.isNullOrUndefined(aboutTextsJson) || Object.keys(aboutTextsJson).length === 0) {\r\n this.services.logger.warning(`No games about texts returned from ${gamesAboutTextUrl}`);\r\n }\r\n this._gamesAboutTexts = aboutTextsJson || {};\r\n\r\n return this._gamesAboutTexts!;\r\n } catch (err) {\r\n if(err && ('statusCode' in err) && err.statusCode === 404) {\r\n // NB: Ignore 404s, usually for things like spa_about.json that actually shouldn't exist.\r\n return {};\r\n }\r\n this.services.logger.error(`Failed to read games about texts from ${gamesAboutTextUrl}`, err);\r\n return {};\r\n }\r\n\r\n\r\n }\r\n\r\n private _updateGamesMapPromise: Promise = Promise.resolve();\r\n\r\n getGamesMapUpdatePromise(): Promise {\r\n return this._updateGamesMapPromise;\r\n }\r\n\r\n private async _updateGamesMap(): Promise {\r\n let usedGameTypesBySite = this.services.configuration.usedGameTypesBySite || [];\r\n if(usedGameTypesBySite.length === 0) {\r\n this.services.logger.error(`configuration.usedGameTypesBySite returned empty array`);\r\n return;\r\n }\r\n\r\n const gamesMap = await this._getGamesInfoMap(usedGameTypesBySite);\r\n\r\n this._setGamesMap(gamesMap);\r\n }\r\n\r\n async _getGamesInfoMap(gameTypes: number[]): Promise {\r\n try {\r\n let sdkGamesInfo = await this.services.sdk.getGamesInfo(gameTypes);\r\n \r\n return await this._buildGamesMap(sdkGamesInfo);\r\n } catch (err) {\r\n this.services.logger.error(`sdk.getGamesInfo failed in GamesService.getGamesInfo`, err);\r\n return {};\r\n }\r\n }\r\n\r\n async getGamesInfoMap(gameTypes: number[]): Promise {\r\n if (!gameTypes || gameTypes.length === 0) {\r\n return {};\r\n }\r\n\r\n // fill data from cache (if cache found)\r\n if (Object.keys(this.gamesMap).length > 0) {\r\n const inCacheGames = gameTypes.filter((gt) => this.gamesMap[gt]);\r\n const result = inCacheGames.reduce((acc, gt) => {acc[gt] = this.gamesMap[gt]; return acc;}, {});\r\n return result;\r\n } else {\r\n // otherwise fill it from SDK\r\n return this._getGamesInfoMap(gameTypes);\r\n }\r\n }\r\n\r\n async getGamesInfoForHistory(gameTypes: number[]): Promise {\r\n let sdkGamesInfo = await this.services.sdk.getGamesInfoForHistory(gameTypes);\r\n\r\n let gamesMap: GamesMap = {};\r\n Object.keys(sdkGamesInfo).forEach(gameType => {\r\n let rawGameData = Object.assign(sdkGamesInfo[gameType], this.gamesMap[gameType]);\r\n gamesMap[gameType] = new GameInfo(rawGameData, this.services, '')\r\n });\r\n return gamesMap;\r\n }\r\n\r\n async getGamesInfoArray(gameTypes: number[]): Promise {\r\n let gamesMap = await this.getGamesInfoMap(gameTypes);\r\n\r\n const result: GameInfo[] = [];\r\n for(let i = 0; i < gameTypes.length; i++) {\r\n const gameType = gameTypes[i];\r\n if (gamesMap[gameType]) {\r\n result.push(gamesMap[gameType]);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n async getGameInfo(gameType: number) {\r\n const gamesMap = await this.getGamesInfoMap([gameType]);\r\n if(gamesMap) {\r\n return gamesMap[gameType];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n async getCorrelatedGames(gameType: number, numberOfGames: number): Promise {\r\n try {\r\n return await this.services.sdk.getCorrelatedGames(gameType, numberOfGames);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get from SDK the correlated games for game type ${gameType}`, err);\r\n return [];\r\n }\r\n }\r\n\r\n getGameImageExpectedSizes(useSquareIcons?: boolean, animated?: boolean): IGameImageSize {\r\n if (useSquareIcons) {\r\n if (animated) {\r\n return {\r\n width: 210,\r\n height: 292\r\n };\r\n }\r\n return {\r\n width: 400,\r\n height: 555\r\n };\r\n }\r\n\r\n return {\r\n width: 210,\r\n height: 210\r\n };\r\n }\r\n}\r\n","import {ConfigurationEvaluationContext} from './evaluation/configuration-evaluation-context/configuration-evaluation-context';\r\nimport {PropertiesEvaluator} from './evaluation/properties-evaluator/properties-evaluator';\r\nimport {IConfigurationData} from './configuration-data.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IConfigurationService} from './configuration.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {LIVE_CASINO_ARENA_NAME, NEW_GAMES_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport { observable, runInAction, makeObservable } from 'mobx';\r\nimport {ApplicationStartupConfigurations} from '../../app-bootstrap/config-interfaces/application-startup.configurations';\r\nimport {IConfigurationEvaluationDataProvider} from './evaluation/configuration-evaluation-context/configuration-evaluation-data-provider.interface';\r\nimport {injectAdminArenas} from './inject-admin-arenas';\r\nimport {HomePageHeaderArena} from \"./config-data-sections/home-page.configuration\";\r\nimport {IServicesConfigurations} from './config-data-sections/services-configurations';\r\nimport {ListConfiguration, SwiperGamesListConfiguration} from \"./config-data-sections/arenas.configuration\";\r\n\r\n\r\ntype GameTypesMap = {[key: number]: number};\r\n\r\nexport class ConfigurationsService extends ServiceBase implements IConfigurationService {\r\n\r\n startupConfiguration: ApplicationStartupConfigurations;\r\n\r\n constructor(services: IServiceFactoryExtended, startupConfigs: ApplicationStartupConfigurations) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.startupConfiguration = startupConfigs;\r\n\r\n this._createConfigData();\r\n }\r\n\r\n private _getConfigEvaluationContextServices(): IConfigurationEvaluationDataProvider {\r\n return {\r\n admin: this.startupConfiguration.admin,\r\n configurationPath: this.startupConfiguration.configurationPath,\r\n getLauncherGames: () => this.services.launcher.getTestedGames(),\r\n getSegmentValue: (segmentName) => this.services.segmentation.getSegmentValue(segmentName),\r\n logger: this.services.logger\r\n };\r\n }\r\n\r\n private _createConfigData(): void {\r\n let originalConfigData = this.startupConfiguration.orbit.config;\r\n if (this.startupConfiguration.admin && this.startupConfiguration.admin.arenas) {\r\n injectAdminArenas(originalConfigData, this.startupConfiguration.admin.arenas);\r\n }\r\n\r\n let context = new ConfigurationEvaluationContext(this._getConfigEvaluationContextServices());\r\n let configEvaluator = PropertiesEvaluator.fromRoot(originalConfigData, context);\r\n let data = configEvaluator.evaluate(context);\r\n this._defineCustomConfigProperty(data,\r\n 'allGamesTypes',\r\n () => {\r\n let gameTypes: number[] = [];\r\n let gamesTags = (data.generalSettings && data.generalSettings.gamesSettings && data.generalSettings.gamesSettings.gamesTags) || {};\r\n Object.getOwnPropertyNames(gamesTags).forEach(gt => {\r\n let gameType = parseInt(gt);\r\n if (!isNaN(gameType)) {\r\n gameTypes.push(gameType);\r\n }\r\n });\r\n return gameTypes;\r\n });\r\n\r\n\r\n runInAction(() => {\r\n this.data = data as IConfigurationData;\r\n });\r\n }\r\n\r\n\r\n private _defineCustomConfigProperty(configData: unknown, propertyName: string, evaluator: () => unknown) {\r\n Object.defineProperty(configData, propertyName, {\r\n get: evaluator,\r\n configurable: false\r\n });\r\n\r\n }\r\n\r\n @observable.ref\r\n data: IConfigurationData;\r\n\r\n get userSelectedState(): string {\r\n return this.startupConfiguration.userSelectedState;\r\n }\r\n\r\n get cmsPublicationId(): number {\r\n return this.startupConfiguration.b2c.publicationId;\r\n }\r\n\r\n get usedGameTypesBySite(): number[] {\r\n\r\n let gameTypesMap = {...this._getUsedGamesByHomePage(), ...this._getUsedGamesByArenas(), ...this._getUsedGameTypesByLiveGamesArena(), ...this._getUsedGameTypesByNewLiveGamesArena()};\r\n\r\n return Object.values(gameTypesMap);\r\n }\r\n\r\n private _getUsedGamesByHomePage(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n (this.data.homePage.gamesLists || []).forEach(gamesList => {\r\n if (gamesList.display) {\r\n let gamesIds = gamesList.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n })\r\n }\r\n\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGamesByArenas(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n Object.keys(this.data.arenas).forEach(arenaName => {\r\n let arenaConfig = this.data.arenas[arenaName];\r\n // game types from swipers\r\n (arenaConfig.swiperGamesList || []).forEach(swiperConfig => {\r\n if (swiperConfig.display) {\r\n let gamesIds = swiperConfig.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n });\r\n }\r\n\r\n }\r\n });\r\n\r\n // game types from all games grid\r\n (arenaConfig.allGamesGrid || []).forEach(gamesGridConfig => {\r\n if (gamesGridConfig.display) {\r\n let gamesIds = gamesGridConfig.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n });\r\n }\r\n }\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGameTypesByLiveGamesArena(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n\r\n let liveCasinoArenaConfig = this.data.arenas[LIVE_CASINO_ARENA_NAME];\r\n if (!liveCasinoArenaConfig) {\r\n return result;\r\n }\r\n\r\n let gamesIds = liveCasinoArenaConfig.arenas && liveCasinoArenaConfig.arenas.gamesId;\r\n\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameTypeConfig => {\r\n if (gameTypeConfig.display) {\r\n result[gameTypeConfig.gameId] = gameTypeConfig.gameId;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n let popularTablesConfig = liveCasinoArenaConfig.popularTables;\r\n if (Check.isArray(popularTablesConfig)) {\r\n popularTablesConfig.forEach(tableConfig => {\r\n let tableGamesIds = tableConfig.gamesId || [];\r\n if (Check.isArray(tableGamesIds)) {\r\n tableGamesIds.forEach(gameType => result[gameType] = gameType);\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGameTypesByNewLiveGamesArena(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n\r\n let liveCasinoArenaConfig = this.data.arenas[NEW_LIVE_CASINO_ARENA_NAME];\r\n if (!liveCasinoArenaConfig) {\r\n return result;\r\n }\r\n\r\n let gamesIds = liveCasinoArenaConfig.arenas && liveCasinoArenaConfig.arenas.gamesId;\r\n\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameTypeConfig => {\r\n if (gameTypeConfig.display) {\r\n result[gameTypeConfig.gameId] = gameTypeConfig.gameId;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n let popularTablesConfig = liveCasinoArenaConfig.popularTables;\r\n if (Check.isArray(popularTablesConfig)) {\r\n popularTablesConfig.forEach(tableConfig => {\r\n let tableGamesIds = tableConfig.gamesId || [];\r\n if (Check.isArray(tableGamesIds)) {\r\n tableGamesIds.forEach(gameType => result[gameType] = gameType);\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n resolveConfigurationValue(fullPath: string): string {\r\n let objectValue: any = this.data;\r\n let fullPathArray = fullPath.split('.');\r\n\r\n for (let objectKey of fullPathArray) {\r\n objectValue = objectValue[objectKey];\r\n }\r\n\r\n return (objectValue as string) || '';\r\n }\r\n\r\n\r\n buildConfigUrl(fileName: string): string {\r\n let configurationPath = this.startupConfiguration.configurationPath;\r\n if (!configurationPath.endsWith('/')) {\r\n configurationPath += '/';\r\n }\r\n return configurationPath + fileName;\r\n }\r\n\r\n resolveGameImagePath(imageFileName: string): string {\r\n if (Check.isEmpty(imageFileName)) {\r\n return '';\r\n }\r\n\r\n let imagesBasePath = this.startupConfiguration.sdk.config.ExtraProperties.paths.gamesImages; //paths.gamesImages is used by cypress environment\r\n if (imagesBasePath) {\r\n if (!imagesBasePath.endsWith('/')) {\r\n imagesBasePath += '/';\r\n }\r\n return imagesBasePath + imageFileName;\r\n } else {\r\n let serverPath = this.startupConfiguration.sdk.config.ExtraProperties.paths.server;\r\n if (!serverPath.endsWith('/')) {\r\n serverPath += '/';\r\n }\r\n return serverPath + 'gamesImages/' + imageFileName;\r\n }\r\n }\r\n\r\n resolveJsFilePath(fileName: string): string {\r\n if (Check.isEmpty(fileName)) {\r\n return '';\r\n }\r\n let serverPath = this.startupConfiguration.sdk.config.ExtraProperties.paths.server;\r\n let path = serverPath ? serverPath : this.services.window.origin;\r\n if (!path.endsWith('/')) {\r\n path += '/';\r\n }\r\n return (path + `js/${fileName}`);\r\n }\r\n\r\n getFontsPath(): string {\r\n return new URL(this.startupConfiguration.sdk.config.ExtraProperties.paths.server + \"/assets/fonts/\").href;\r\n }\r\n\r\n getGamesListByJackpotId(id: string): SwiperGamesListConfiguration {\r\n\r\n const homePageGamesLists = this.data.homePage.gamesLists || [];\r\n for (let i = 0; i < homePageGamesLists.length; i++) {\r\n let gamesList = homePageGamesLists[i];\r\n if (gamesList.jackpotWidget?.jackpotId) {\r\n let gamesIds = gamesList.gamesId || [];\r\n if (Check.isArray(gamesIds) && gamesList.jackpotWidget.jackpotId.toString() === id) {\r\n return gamesList;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n getSelfUpdatedByNewestGamesList(): ListConfiguration {\r\n const newGameArenaConfig = this.data.arenas[NEW_GAMES_ARENA_NAME];\r\n if (!newGameArenaConfig) {\r\n return null;\r\n }\r\n\r\n const gamesLists: ListConfiguration[] = (newGameArenaConfig.swiperGamesList || []).concat(newGameArenaConfig.allGamesGrid || []);\r\n const firstSelfUpdatedByNewest = gamesLists.find(listConfig => listConfig.display && listConfig.isSelfUpdatedByNewest);\r\n return firstSelfUpdatedByNewest;\r\n }\r\n\r\n private _getCurrentArenaLists() {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n const lists = Check.isNullOrUndefined(arenaType) || arenaType === \"homePage\" ?\r\n this.data.homePage.gamesLists :\r\n this.services.configuration.data.arenas[arenaType].swiperGamesList;\r\n return lists;\r\n }\r\n\r\n getGamesListByTitle(title: string): SwiperGamesListConfiguration {\r\n const lists = this._getCurrentArenaLists();\r\n return lists?.find(list => list.title.toUpperCase() === title.toUpperCase());\r\n }\r\n\r\n getGamesListById(id: number): SwiperGamesListConfiguration {\r\n const lists = this._getCurrentArenaLists();\r\n return lists?.find(list => list.listId === id);\r\n }\r\n\r\n getHomePageHeaderArenas(): HomePageHeaderArena[] {\r\n let homePageHeaderArenas: HomePageHeaderArena[] = [];\r\n this.data.homePage.headerArenasOrder.forEach(name => {\r\n const arenaHeader = this.data.arenas[name].homepageHeader;\r\n if (arenaHeader) {\r\n homePageHeaderArenas.push(arenaHeader);\r\n }\r\n });\r\n return homePageHeaderArenas;\r\n }\r\n\r\n getHomePageHeaderArenasByUserOrientation(arenaNames: string[]): HomePageHeaderArena[] {\r\n let orderedArenas: HomePageHeaderArena[] = [];\r\n arenaNames.forEach(arenaName => {\r\n const arenaConfig: HomePageHeaderArena = this.data.arenas[arenaName] && this.data.arenas[arenaName].homepageHeader;\r\n if (arenaConfig) {\r\n orderedArenas.push(arenaConfig);\r\n }\r\n });\r\n return orderedArenas;\r\n }\r\n\r\n get servicesConfigs(): IServicesConfigurations {\r\n return this.services.sdk.getConfigs();\r\n }\r\n}\r\n","export enum LIST_TYPE_ID {\r\n STICKINESS = 0,\r\n BETS = 2,\r\n ACTIVE_USERS = 1\r\n}","import {IUserService} from './user.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UserData} from '../sdk/sdk.service.interface';\r\nimport {Check, TimeSpan} from '@sparkware/app-utils';\r\nimport {OnOauthStateChangedParams} from '../sdk/sdk-events';\r\nimport {GetPlatformTokenResponse} from \"../sdk/cgp-sdk.interface\";\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport MIGRATION from \"../../../common/const/migration_consts\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\nconst AUTOLOGIN_QUERY_PARAM = 'UserInfo';\r\n\r\nexport class UserService extends ServiceBase implements IUserService {\r\n\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.waitForAutoLogin();\r\n this._updateUserData({});\r\n this.services.sdk.events.onOAuthStateChanged(this._updateUserData);\r\n }\r\n\r\n @observable.ref\r\n isAuthorized: boolean = false;\r\n @observable.ref\r\n logoutReason: number = null;\r\n\r\n\r\n @observable.ref\r\n private _userData: UserData = {};\r\n\r\n @action.bound\r\n private _updateUserData(params: OnOauthStateChangedParams) {\r\n\r\n params = params || {};\r\n\r\n this.isAuthorized = this.services.sdk.isAuthorized;\r\n\r\n if (Check.isNullOrUndefined(params.logoutReason)) {\r\n this.logoutReason = null;\r\n } else {\r\n this.logoutReason = params.logoutReason;\r\n }\r\n\r\n const userData = (this.services.sdk.userData || {}) as UserData;\r\n\r\n if (!this.isAuthorized) {\r\n const playerStatus = this.services.localStorage.getItem('playerStatus');\r\n this.services.window.scrollTo(0,0);\r\n this._userData = {...userData, statusGroupId: (playerStatus ? parseInt(playerStatus): undefined)};\r\n } else {\r\n this._userData = userData;\r\n this.services.localStorage.setItem('playerStatus', userData.statusGroupId);\r\n\r\n this._checkForFaultyCStatus();\r\n }\r\n\r\n this._updateSegments();\r\n }\r\n\r\n // REQUIREMENT 1627624 - check if cStatus if false but user is logged in or FTD\r\n private _checkForFaultyCStatus() {\r\n const cStatus = this.services.cmsSegmentation.isCstatus;\r\n\r\n //cStatus is CMS segmentation indicates if the user is registered or FDL\r\n if (this.isAuthorized && cStatus === false) {\r\n //this.services.analytics.sendAnalytics(\"ERROR\", \"LOGGED_IN_CSTATUS_FALSE\", this.userData.cid);\r\n console.log('_checkForFaultyCStatus: ' + cStatus);\r\n }\r\n }\r\n\r\n @action.bound\r\n private _updateSegments() {\r\n this.segments = {\r\n IsAuthorized: this.isAuthorized,\r\n statusGroupId: this._userData.statusGroupId || 0,\r\n IsVIP: this._userData.IsVIP || false,\r\n GenderId: this._userData.GenderId || null,\r\n DaysSinceRegistration: this.daysSinceRegistration,\r\n RegistrationCountry: this.registrationCountry?.toLowerCase()\r\n }\r\n }\r\n\r\n @observable.ref\r\n segments = {};\r\n\r\n\r\n get hasActiveChallenges(): boolean {\r\n return this.services.sdk.activeChallengeCount > 0;\r\n }\r\n\r\n\r\n get name(): string {\r\n return this._userData.userName || '';\r\n }\r\n\r\n\r\n get cid(): string {\r\n return this._userData.cid || '';\r\n }\r\n\r\n get registrationCountry(): string {\r\n return this._userData.registrationCountry;\r\n }\r\n\r\n get joinDate(): string {\r\n return this._userData.joinDate;\r\n }\r\n\r\n get userData() {\r\n return this._userData;\r\n }\r\n\r\n get isVip(): boolean {\r\n return (this._userData.statusGroupId > 0 && this._userData.statusGroupId !== 4);\r\n }\r\n\r\n get timeSinceRegistration(): TimeSpan {\r\n if (!this._userData)\r\n return null;\r\n if (!this._userData.timeSinceRegistration)\r\n return null;\r\n return TimeSpan.parse(this._userData.timeSinceRegistration);\r\n }\r\n\r\n get daysSinceRegistration(): number {\r\n if (this.timeSinceRegistration)\r\n return this.timeSinceRegistration.totalDays;\r\n\r\n return Infinity;\r\n }\r\n\r\n get playerRMSStatus(): number {\r\n return this._userData.playerRMStatus;\r\n }\r\n\r\n get countryName(): string {\r\n return this.services.sdk.getCountryName();\r\n }\r\n\r\n getAutoLoginToken(): Promise {\r\n return this.services.sdk.getAutoLoginToken().then(data => data.token);\r\n }\r\n\r\n getPlatformToken(): Promise {\r\n return this.services.sdk.getPlatformToken();\r\n }\r\n\r\n getFirebaseToken(): string {\r\n return this.services.sdk.getFirebaseToken();\r\n }\r\n\r\n async openLogin(marketingParams?: MarketingParams): Promise {\r\n await this.services.sdk.openLoginForm(marketingParams);\r\n }\r\n\r\n isDocUploadRequired(): boolean {\r\n return this.services.sdk.getAccountData()?.IsDocUploadRequired;\r\n }\r\n\r\n logout(): Promise {\r\n return this.services.sdk.logout();\r\n }\r\n\r\n get genderTitle(): string {\r\n switch (this._userData.GenderId) {\r\n case 1:\r\n return 'MR_TITLE';\r\n case 2:\r\n return 'MRS_TITLE';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n\r\n private _isInAutoLogin(): boolean {\r\n return this.services.sdk.isInAutologin();\r\n }\r\n\r\n waitForAutoLogin(): Promise {\r\n\r\n if (!this._isInAutoLogin()) {\r\n return Promise.resolve();\r\n }\r\n\r\n\r\n return this.services.sdk.waitForAutologin()\r\n .then(() => {\r\n return this._removeAutoLoginTokenFromUrl()\r\n .catch((err) => {\r\n this.services.logger.error('Remove auto login token from URL failed!', err);\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n async ensureUserIsLoggedIn(initiator:string): Promise {\r\n await this.waitForAutoLogin();\r\n\r\n if (!this.isAuthorized) {\r\n try {\r\n await this.openLogin();\r\n } catch (err) {\r\n this.services.logger.debug(initiator + \" - login cancelled or failed.\", err);\r\n }\r\n }\r\n return this.isAuthorized;\r\n }\r\n\r\n\r\n private _removeAutoLoginTokenFromUrl(): Promise {\r\n let paramToBeRemoved: string = AUTOLOGIN_QUERY_PARAM;\r\n const currentUri = this.services.location.currentUri;\r\n if (currentUri.queryParams.hasParam(MIGRATION.MIGRATION_TOKEN_QUERY_PARAM)\r\n && currentUri.queryParams.getParamValue(MIGRATION.MIGRATION_SOURCE_QUERY_PARAM)?.toLowerCase() === MIGRATION.MIGRATION_SOURCE_QUERY_PARAM_VALUE) {\r\n paramToBeRemoved = MIGRATION.MIGRATION_TOKEN_QUERY_PARAM;\r\n }\r\n const urlWithoutToken = currentUri.removeSearchParam(paramToBeRemoved).toString();\r\n return this.services.location.replace(urlWithoutToken);\r\n }\r\n\r\n\r\n runAutoLogin(autoLoginParams: IAutoLoginParams): Promise {\r\n return this.services.sdk.runAutoLogin(autoLoginParams);\r\n }\r\n\r\n panicRestrictUser(): Promise {\r\n const offset = this.services.time.getTimezoneOffset();\r\n\r\n return this.services.api.userController.selfExclusionPanic({\r\n timezoneOffset: offset,\r\n productPackage: this.services.sdk.getProductPackageId()\r\n }).then(() => {\r\n this.logout();\r\n }).catch((err) => {\r\n this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(\"PANIC SELF EXCLUSION\")\r\n .addAction(\"SelfExclusion fails\")\r\n .addValue(JSON.stringify(err))\r\n .error();\r\n this.logout();\r\n this.services.logger.error('Self Exclusion Panic Failed.', err);\r\n });\r\n }\r\n\r\n get loginIP(): string | null {\r\n return this.services.sdk.tokenInfo?.loginIP;\r\n }\r\n\r\n async getOpenSessionsRealMoneyBalance(): Promise {\r\n if(!this.isAuthorized) {\r\n return 0;\r\n }\r\n\r\n\r\n const openSessions = await this.services.api.openSessionsController.getOpenSessions({\r\n includeFreePlaySessions: false\r\n });\r\n\r\n return openSessions.sessionDetails.sum(s => s.Credit);\r\n\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.services.gnwp.getTempAccountGnwpSource();\r\n }\r\n\r\n}\r\n","import {ServiceBase} from \"../ServiceBase\";\r\nimport {IBrowserButtonsHandlerService} from \"./broswer-buttons-handler.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\nexport class BrowserButtonsHandlerService extends ServiceBase implements IBrowserButtonsHandlerService {\r\n\r\n private pushedFakeHistoryState: boolean = false;\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n this._subscribe();\r\n }\r\n\r\n private _subscribe() {\r\n // this._handleSideMenusCloseOnBackButtonClick();\r\n }\r\n\r\n private _handleSideMenusCloseOnBackButtonClick() {\r\n\r\n this.reaction(() => ({\r\n isMobileSideMenuOpen: this.services.sideMenu.isMobileMenuOpen,\r\n isUserAreaMenuOpen: this.services.userMenu.isOpen,\r\n }),\r\n ({isMobileSideMenuOpen, isUserAreaMenuOpen}) => {\r\n if(!this.pushedFakeHistoryState && (isMobileSideMenuOpen || isUserAreaMenuOpen)){\r\n this.services.location.pushWithoutValidation(this.services.window.pathname);\r\n this.pushedFakeHistoryState = true;\r\n }else if(this.pushedFakeHistoryState && !isMobileSideMenuOpen && !isUserAreaMenuOpen){\r\n this.services.location.goBack();\r\n }\r\n });\r\n\r\n this._onBackButtonClicked(() => {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n });\r\n }\r\n\r\n private _onBackButtonClicked(callback){\r\n const _callback = (e) => {\r\n this.pushedFakeHistoryState = false;\r\n callback(e);\r\n }\r\n\r\n if(Device.hybrid.inCasino){\r\n return this.services.window.subscribeTo.hardwareBackButton(_callback);\r\n }\r\n\r\n return this.services.window.subscribeTo.popstate(_callback);\r\n }\r\n}","import {ISegmentationAggregatorService} from './segmentation-aggregator.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\n\r\nexport class SegmentationAggregatorService extends ServiceBase implements ISegmentationAggregatorService {\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => {\r\n return {\r\n userSegments: this.services.user.segments,\r\n cmsSegments: this.services.cmsSegmentation.segments,\r\n deviceSegments: this.services.device.segments,\r\n isMobile: this.services.device.isMobile,\r\n isMiniOrbit: this.services.miniOrbit.isEnabled,\r\n isPWAInstallable: this.services.progressiveWebApp.isPWAInstallable\r\n }\r\n },\r\n () => {\r\n this._updateSegments();\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _updateSegments() {\r\n this._setAllSegments({\r\n ...this.services.cmsSegmentation.segments,\r\n ...this.services.user.segments,\r\n ...this.services.device.segments,\r\n ...this._extraSegments});\r\n }\r\n\r\n @observable.ref\r\n private _allSegments: Record = {};\r\n\r\n @observable.ref\r\n segmentsLastUpdate: number = null;\r\n\r\n\r\n @action.bound\r\n private _setAllSegments(allSegments) {\r\n this._allSegments = allSegments;\r\n this.segmentsLastUpdate = Date.now();\r\n }\r\n\r\n getSegmentValue(name: string): any {\r\n let segmentValue = this._allSegments[name];\r\n\r\n if(Check.isUndefined(segmentValue)) {\r\n this.services.logger.debug(`Segment ${name} doesn't exists in the segments list!`);\r\n }\r\n\r\n return segmentValue;\r\n }\r\n\r\n private get _extraSegments() {\r\n return {\r\n env: this.services.configuration.startupConfiguration.sdk.config.ExtraProperties.env,\r\n countryCode: this.services.configuration.startupConfiguration.country,\r\n brandID: this.services.sdk.getBrandID(),\r\n subBrandID: this.services.sdk.getSubBrandID(),\r\n regulationID: this.services.regulation.getRegulationCode(),\r\n iso3: this.services.language.currentLanguage,\r\n langCode: this.services.language.currentLanguage,\r\n isMiniOrbit: this.services.miniOrbit.isEnabled,\r\n isPWAInstallable: this.services.progressiveWebApp.isPWAInstallable\r\n };\r\n }\r\n\r\n get isCIS(): boolean {\r\n return Boolean(this.getSegmentValue('_IsCIS'));\r\n }\r\n\r\n get isCIP(): boolean {\r\n return Boolean(this.getSegmentValue('_IsCIP'));\r\n }\r\n\r\n}\r\n","import { IClientDeviceFeatures } from \"./client-device.features.interface\";\r\n\r\nexport class ClientDeviceFeatures implements IClientDeviceFeatures {\r\n}\r\n","import { action, observable, makeObservable } from \"mobx\";\r\nimport { IClientDeviceDetected } from \"./client-device.detected.interface\";\r\n\r\nexport class ClientDeviceDetected implements IClientDeviceDetected {\r\n @observable\r\n public clientHintsAvailable = false;\r\n @observable\r\n public model = \"\";\r\n @observable\r\n public architecture = \"\";\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public platform = \"\";\r\n @observable\r\n public platformVersion = \"\";\r\n @observable\r\n public bitness = \"\";\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public mobile = undefined;\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public brands = [];\r\n @observable\r\n public uaFullVersion = \"\";\r\n\r\n constructor() {\r\n makeObservable(this);\r\n\r\n this.buildInfo();\r\n }\r\n\r\n private get navigator() {\r\n return (window.navigator as any);\r\n }\r\n\r\n @action.bound\r\n private buildInfo() {\r\n if (this.navigator.userAgentData) {\r\n this.clientHintsAvailable = true;\r\n this.platform = this.navigator.userAgentData.platform;\r\n this.mobile = this.navigator.userAgentData.mobile;\r\n this.brands = this.navigator.userAgentData.brands;\r\n /* https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUAData/getHighEntropyValues */\r\n this.navigator.userAgentData.getHighEntropyValues([\r\n \"model\", \"architecture\", \"platform\", \"platformVersion\", \"bitness\", \"uaFullVersion\"\r\n ]).then(this.setAsyncdData);\r\n }\r\n }\r\n\r\n @action.bound\r\n private setAsyncdData = (data) => {\r\n this.platform = data.platform;\r\n this.platformVersion = data.platformVersion;\r\n this.mobile = data.mobile;\r\n\r\n this.model = data.model;\r\n this.uaFullVersion = data.uaFullVersion;\r\n this.architecture = data.architecture;\r\n this.bitness = data.bitness;\r\n };\r\n\r\n}\r\n","import { ServiceBase } from '../ServiceBase';\r\nimport { IClientDeviceService } from './client-device.service.interface';\r\nimport { IServiceFactoryExtended } from '../service-factory-extended.interface';\r\nimport { IClientDeviceDetected } from './detected/client-device.detected.interface';\r\nimport { IClientDeviceFeatures } from './features/client-device.features.interface';\r\nimport { ClientDeviceFeatures } from './features/client-device.features';\r\nimport { ClientDeviceDetected } from './detected/client-device.detected';\r\n\r\nexport class ClientDeviceService extends ServiceBase implements IClientDeviceService {\r\n public features: IClientDeviceFeatures;\r\n public detected: IClientDeviceDetected;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n this.features = new ClientDeviceFeatures();\r\n this.detected = new ClientDeviceDetected();\r\n }\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IDeviceService} from './device.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {DeviceInfo} from '../sdk/cgp-sdk.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\nexport class DeviceService extends ServiceBase implements IDeviceService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._updateDeviceType();\r\n this.services.dom.subscribeTo.devicechanged(this._updateDeviceType);\r\n }\r\n\r\n private get _sdkDevice(): DeviceInfo {\r\n return this.services.sdk.device;\r\n }\r\n\r\n @action.bound\r\n private _updateDeviceType() {\r\n this.isMobile = this._sdkDevice.isMobile();\r\n this.isTablet = this._sdkDevice.isTablet();\r\n\r\n this.os = this._sdkDevice.os;\r\n this.browser = this._sdkDevice.browser;\r\n this.hybrid = this._sdkDevice.hybrid;\r\n this.feature = this._sdkDevice.feature;\r\n this.model = this._sdkDevice.model;\r\n this.isProgressiveWebApp = this._sdkDevice.isProgressiveWebApp;\r\n\r\n this.isStandalone = this._sdkDevice.isStandalone;\r\n\r\n this.segments = {\r\n isMobile: this.isMobile,\r\n deviceType: this.isMobile ? 'mobile' : 'pc',\r\n isHybrid: this.hybrid.isHybrid,\r\n isEmbeddedHybrid: this.hybrid.isEmbedded,\r\n operationSystem: this.os.name,\r\n tool: Device.isProbablyIPad ? \"tablet\" : '',\r\n isProgressiveWebApp: this._sdkDevice.isProgressiveWebApp\r\n };\r\n }\r\n\r\n /** @deprecated */\r\n @observable.ref\r\n isMobile: boolean;\r\n /** @deprecated */\r\n isTablet: boolean;\r\n\r\n os: DeviceInfo[\"os\"];\r\n browser: DeviceInfo[\"browser\"];\r\n model: DeviceInfo[\"model\"];\r\n hybrid: DeviceInfo[\"hybrid\"];\r\n feature: DeviceInfo[\"feature\"];\r\n isProgressiveWebApp: DeviceInfo[\"isProgressiveWebApp\"];\r\n\r\n isStandalone: boolean;\r\n\r\n segments: {\r\n [key: string]: any;\r\n }\r\n\r\n get productPackageId(): number {\r\n return this.services.sdk.getProductPackageId();\r\n }\r\n\r\n get isMobileWebApp(): boolean {\r\n return Device.isMobileWebApp;\r\n }\r\n\r\n get isProbablyIOSDevice(): boolean {\r\n return Device.isProbablyIOSDevice;\r\n }\r\n}\r\n","import {HOME_PAGE_ARENA} from \"../services/arenas/arena-consts\";\r\n\r\nexport const SEO_CATEGORIES = {\r\n HOME: HOME_PAGE_ARENA,\r\n AI_GAMES_RECOMMENDATIONS: 'AI_GamesDisplayed',\r\n AI_NEW_GAMES_RECOMMENDATIONS: 'AI_NewGamesDisplayed'\r\n};\r\n\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {AiRecommendedGames, IAiEngineService, IAiSortOptions} from './ai-engine.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {SEO_CATEGORIES} from '../../consts/seo-categories';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {LIST_TYPE_ID} from \"../../../common/const/ai-trending-list-ids-map\";\r\n\r\nexport const NO_AI_GAMES_RECOMMENDATIONS: AiRecommendedGames = {\r\n isInitialized: false,\r\n gameTypes: [],\r\n gameTypesMap: {},\r\n engine: undefined\r\n};\r\n\r\ninterface ITrendingGamesRecommendations {\r\n gamesByBets: number[];\r\n gamesByActiveUsers: number[];\r\n}\r\n\r\nexport class AiEngineService extends ServiceBase implements IAiEngineService {\r\n constructor(services: IServiceFactoryExtended){\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(() => this.services.user.isAuthorized,\r\n () => this._onOauthChange(),\r\n {\r\n fireImmediately: true\r\n });\r\n\r\n this.services.sdk.events.onGamesQuestionnaireCompleted(async () => {\r\n await this._updateAiRecommendedGames();\r\n });\r\n }\r\n\r\n @observable.ref\r\n aiRecommendedGames: AiRecommendedGames = NO_AI_GAMES_RECOMMENDATIONS;\r\n\r\n @observable.ref\r\n _trendingGamesRecommendations: ITrendingGamesRecommendations | null = null;\r\n get trendingRecommendedGamesForPlayerByBets(): number[] | null {\r\n this._loadTrendingRecommendedGamesForPlayer();\r\n return this._trendingGamesRecommendations?.gamesByBets || null;\r\n }\r\n get trendingRecommendedGamesForPlayerByActiveUsers(): number[] | null {\r\n this._loadTrendingRecommendedGamesForPlayer();\r\n return this._trendingGamesRecommendations?.gamesByActiveUsers || null;\r\n }\r\n\r\n /**\r\n * @description: A map where the key is the game type and the value is then game position in the AI recommendation\r\n */\r\n @observable.ref\r\n private _allAiRecommendedGameTypes: Record;\r\n\r\n\r\n @action.bound\r\n private _setAiRecommendedGames(value: AiRecommendedGames) {\r\n\r\n let tempGameTypesMap = {};\r\n\r\n if (value.gameTypes) {\r\n value.gameTypes.forEach((gameType, i) => tempGameTypesMap[gameType] = i);\r\n }\r\n\r\n this.aiRecommendedGames = {\r\n ...value,\r\n gameTypes: (value.gameTypes || []),\r\n gameTypesMap: tempGameTypesMap\r\n };\r\n }\r\n\r\n @action.bound\r\n private _setTrendingRecommendedGamesForPlayer(trendingRecommendedGamesForPlayer: {[key: number]: number[]}) {\r\n this._trendingGamesRecommendations = {\r\n gamesByBets: (trendingRecommendedGamesForPlayer && trendingRecommendedGamesForPlayer[LIST_TYPE_ID.BETS]) || [],\r\n gamesByActiveUsers: (trendingRecommendedGamesForPlayer && trendingRecommendedGamesForPlayer[LIST_TYPE_ID.ACTIVE_USERS]) || []\r\n }\r\n }\r\n\r\n @action.bound\r\n private _setAllAiRecommendedGameTypes(gameTypes: number[]) {\r\n gameTypes = gameTypes || [];\r\n // creates a map where the key is the game type and the value is the index of that game type in the array\r\n this._allAiRecommendedGameTypes = gameTypes.reduce((acc, curr, index) => {\r\n acc[curr] = index;\r\n return acc;\r\n }, {});\r\n }\r\n\r\n private _onOauthChange() {\r\n this._initalizeTrendingRecommendations();\r\n this._updateAiRecommendedGames();\r\n }\r\n\r\n _initalizeTrendingRecommendations() {\r\n if(this.services.user.isAuthorized) {\r\n this._trendingGamesRecommendations = null;\r\n }\r\n }\r\n\r\n private async _updateAiRecommendedGames(): Promise {\r\n let aiRecommendationsData = await this.services.sdk.getAIRecommendations({filterOutRecentlyPlayedGames: true});\r\n\r\n this._setAiRecommendedGames({\r\n gameTypes: aiRecommendationsData.gameTypes,\r\n engine: aiRecommendationsData.engine,\r\n gameTypesMap: {},\r\n isInitialized: true\r\n });\r\n\r\n aiRecommendationsData = await this.services.sdk.getAIRecommendations({maxGames: 500, filterOutRecentlyPlayedGames: false});\r\n this._setAllAiRecommendedGameTypes(aiRecommendationsData.gameTypes || []);\r\n\r\n this._sendAIRecommendationAnalytics();\r\n }\r\n\r\n private _sendAIRecommendationAnalytics(): void {\r\n\r\n let analyticsObject = this.aiRecommendedGames.gameTypes.reduce((result, gameType, index) => {\r\n result[gameType] = index;\r\n return result;\r\n }, {});\r\n\r\n this.services.analytics.sendElasticInfoEvent({\r\n category: SEO_CATEGORIES.AI_GAMES_RECOMMENDATIONS,\r\n action: JSON.stringify(analyticsObject),\r\n label: this.aiRecommendedGames.engine,\r\n eventType:\"Orbit_AI_Feature\"\r\n }, true);\r\n }\r\n\r\n async getCasinoRecommendedDynamicListsForPlayer(listIDs: string[]): Promise> {\r\n return await this.services.api.insightController.getCasinoRecommendedDynamicListsForPlayer({\r\n listsIDs: listIDs\r\n });\r\n }\r\n\r\n sortGames(gameTypes: number[], options?: IAiSortOptions): number[] {\r\n const allAiRecommendedGameTypes = Check.isEmpty(options?.gamesMapOverride) ? this._allAiRecommendedGameTypes : options?.gamesMapOverride;\r\n if(!allAiRecommendedGameTypes || Object.keys(allAiRecommendedGameTypes).length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n const ignoreNumberOfGames = Check.isNumber(options?.ignoreNumberOfGames) ? options.ignoreNumberOfGames : 0;\r\n let fixedGameTypes = ignoreNumberOfGames > 0 ? gameTypes.slice(0, ignoreNumberOfGames) : [];\r\n const aiGameTypes = ignoreNumberOfGames > 0 ? gameTypes.slice(ignoreNumberOfGames) : gameTypes;\r\n\r\n const originalIndexes = {};\r\n aiGameTypes.forEach((gt, index) => {\r\n originalIndexes[gt] = index;\r\n });\r\n\r\n aiGameTypes.sort((gt1, gt2) => {\r\n let index1 = allAiRecommendedGameTypes[gt1];\r\n let index2 = allAiRecommendedGameTypes[gt2];\r\n\r\n if(Check.isUndefined(index1) && Check.isUndefined(index2)) {\r\n return (originalIndexes[gt1] < originalIndexes[gt2]) ? -1 : 1;\r\n }\r\n\r\n if(Check.isUndefined(index1)) { //if gt1 is not in the AI recommendations\r\n return 1;\r\n } else if(Check.isUndefined(index2)) {\r\n return -1;\r\n }\r\n\r\n return (index1 < index2) ? -1 : 1; //gt1 goes before gt2 if index1 < index2\r\n });\r\n\r\n // concatenate fixed game types (not sorted) with ai sorted ones\r\n return fixedGameTypes.concat(aiGameTypes);\r\n }\r\n\r\n getAiEngine(): string | undefined {\r\n return this.aiRecommendedGames.engine;\r\n }\r\n\r\n getAiEngineForGame(gameType: number): string | undefined {\r\n return this.aiRecommendedGames.gameTypesMap[gameType] === undefined ? undefined : this.aiRecommendedGames.engine;\r\n }\r\n\r\n private _isLoadTrendingRecommendedGamesForPlayerInProgress = false;\r\n private async _loadTrendingRecommendedGamesForPlayer(): Promise {\r\n if(this._isLoadTrendingRecommendedGamesForPlayerInProgress) {\r\n return;\r\n }\r\n\r\n if(!Check.isNullOrUndefined(this._trendingGamesRecommendations)) {\r\n return;\r\n }\r\n\r\n this._isLoadTrendingRecommendedGamesForPlayerInProgress = true;\r\n try {\r\n const trendingRecommendedGames: { [key: number]: number[] } = await this.services.sdk.getTrendingRecommendedGamesForPlayer(LIST_TYPE_ID.BETS, LIST_TYPE_ID.ACTIVE_USERS);\r\n this._setTrendingRecommendedGamesForPlayer(trendingRecommendedGames);\r\n } finally {\r\n this._isLoadTrendingRecommendedGamesForPlayerInProgress = false;\r\n }\r\n\r\n }\r\n\r\n // List Type can be either 1 or 2, when 1 is sorted by bets and 2 is sorted by active_users\r\n private _getGamesTypesByListTypeID(listTypeId?: LIST_TYPE_ID): number[] {\r\n\r\n if(!Check.isNullOrUndefined(listTypeId)) {\r\n if (listTypeId === LIST_TYPE_ID.BETS) {\r\n return this.trendingRecommendedGamesForPlayerByBets;\r\n } else if(listTypeId === LIST_TYPE_ID.ACTIVE_USERS) {\r\n return this.trendingRecommendedGamesForPlayerByActiveUsers;\r\n } else {\r\n this.services.logger.error(`Fail to get ai games order from api. wrong listTypeId: ${listTypeId}`);\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n sortGamesByAI(gamesTypesArray: number[], listTypeId: LIST_TYPE_ID) {\r\n const aiGamesByScore = this._getGamesTypesByListTypeID(listTypeId);\r\n if(!aiGamesByScore) {\r\n return gamesTypesArray;\r\n }\r\n \r\n return gamesTypesArray.sort((first,second) => {\r\n const firstGamePlace = aiGamesByScore.indexOf(first);\r\n const secondGamePlace = aiGamesByScore.indexOf(second);\r\n if(firstGamePlace === -1 || secondGamePlace === -1) {\r\n if(firstGamePlace === -1) {\r\n return secondGamePlace === -1 ? 0 : 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n return firstGamePlace - secondGamePlace;\r\n });\r\n\r\n }\r\n}\r\n\r\n\r\n","import {IDeepLinkBuilder} from '../deep-link-builder.interface';\r\nimport {ICasinoLegacyDeepLinkActionChain} from '../../deep-link-actions/casino-legacy-deep-link-action-chain';\r\n\r\nexport class DeepLinkJsonObjectBuilder implements IDeepLinkBuilder {\r\n buildDeepLinkUrl(actionsChain: ICasinoLegacyDeepLinkActionChain): string {\r\n\r\n let deepLinkObject: any = {};\r\n let resultedMarketingParams: any = {};\r\n\r\n let currentActionIndex = -1;\r\n\r\n let currentActionsChainPointer: ICasinoLegacyDeepLinkActionChain | null = actionsChain;\r\n while(currentActionsChainPointer) {\r\n let actionPropName = '';\r\n let idPropName = '';\r\n\r\n if(currentActionIndex === -1) {\r\n actionPropName = 'action';\r\n idPropName = 'id'\r\n } else if(currentActionIndex === 0) {\r\n actionPropName = 'action_next';\r\n idPropName = 'id_next'\r\n } else {\r\n actionPropName = 'action_next' + currentActionIndex;\r\n idPropName = 'id_next' + currentActionIndex;\r\n }\r\n\r\n deepLinkObject[actionPropName] = currentActionsChainPointer.descriptor.action;\r\n if(currentActionsChainPointer.descriptor.actionParams && currentActionsChainPointer.descriptor.actionParams.id) {\r\n deepLinkObject[idPropName] = currentActionsChainPointer.descriptor.actionParams.id;\r\n }\r\n\r\n let marketingParams = currentActionsChainPointer.descriptor.marketingParams;\r\n if(marketingParams) {\r\n if(marketingParams.dl) {\r\n resultedMarketingParams.dl = marketingParams.dl;\r\n }\r\n\r\n if(marketingParams.wtc) {\r\n resultedMarketingParams.wtc = marketingParams.wtc;\r\n }\r\n }\r\n\r\n currentActionsChainPointer = currentActionsChainPointer.nextAction;\r\n currentActionIndex++;\r\n }\r\n\r\n if(Object.keys(deepLinkObject).length === 0) {\r\n return ''\r\n }\r\n\r\n deepLinkObject = {...deepLinkObject, ...resultedMarketingParams};\r\n\r\n // replace \" with ' - for some reason cause to JSON parsing to fail.\r\n const deepLinkObjectAfterConvert = JSON.stringify(deepLinkObject).split('\"').join('\\'')\r\n\r\n return \"#deeplink=\" + deepLinkObjectAfterConvert;\r\n }\r\n}\r\n","import {DeepLinkActionDescriptor, IDeepLinkParser} from '../deep-link-parser.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IDeepLinkBuilder} from '../../../deep-link-builders/deep-link-builder.interface';\r\nimport {DeepLinkJsonObjectBuilder} from '../../../deep-link-builders/deeplink-json-object-builder/deeplink-json-object-builder';\r\n\r\n\r\n\r\nexport class DeepLinkJsonObjectParser implements IDeepLinkParser {\r\n\r\n constructor(public deepLinkObject: any) {\r\n\r\n }\r\n\r\n\r\n getActionsDescriptors(): DeepLinkActionDescriptor[] {\r\n\r\n let marketingParams = {\r\n dl: this.deepLinkObject.dl,\r\n wtc: this.deepLinkObject.wtc\r\n };\r\n\r\n\r\n let result: DeepLinkActionDescriptor[] = [];\r\n\r\n result.push({\r\n action: this.deepLinkObject.action,\r\n marketingParams: marketingParams,\r\n actionParams: {\r\n id: this.deepLinkObject.id\r\n }\r\n });\r\n\r\n for(let i = 0; i <= 2; i++) {\r\n let actionNextPropName = i === 0 ? 'action_next' : 'action_next' + i;\r\n let idNextPropName = i === 0 ? 'id_next' : 'id_next' + i;\r\n\r\n if(!Check.isNullOrUndefined(this.deepLinkObject[actionNextPropName])) {\r\n let params = {\r\n id: this.deepLinkObject[idNextPropName],\r\n };\r\n\r\n result.push({\r\n action: this.deepLinkObject[actionNextPropName],\r\n marketingParams: marketingParams,\r\n actionParams: params\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n getDeepLinkBuilder(): IDeepLinkBuilder {\r\n return new DeepLinkJsonObjectBuilder();\r\n }\r\n\r\n}\r\n","export const DEEP_LINK_HASH_PARAM = 'deeplink=';","import {ServiceBase} from '../../../ServiceBase';\r\nimport {IDeepLinkParserService} from './deep-link-parser.service.interface';\r\nimport {IDeepLinkParser} from './parsers/deep-link-parser.interface';\r\nimport {DeepLinkJsonObjectParser} from './parsers/deep-link-json-object-parser/deep-link-json-object-parser';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {decodeUriComponentRecursive} from '../../../../../utils/url-utils';\r\nimport {DEEP_LINK_HASH_PARAM} from \"../../deeplink-consts\";\r\n\r\n\r\n\r\nexport const DEEP_LINK_QUERY_PARAM = 'deeplink';\r\nconst SPECIFIC_NAVIGATION = 'specificNavigation';\r\nconst SPECIFIC_NAVIGATION_PARAM = SPECIFIC_NAVIGATION + '=';\r\n\r\n\r\nexport class DeepLinkParserService extends ServiceBase implements IDeepLinkParserService {\r\n getParserFromCurrentRoute(): IDeepLinkParser | null {\r\n\r\n if(!this.services.location.currentUri) {\r\n return null;\r\n }\r\n\r\n let deepLinkJson = this._extractDeepLinkJsonFromFragment();\r\n\r\n\r\n if(!deepLinkJson) {\r\n deepLinkJson = this._extractDeepLinkJsonFromDeepLinkQueryParam();\r\n }\r\n\r\n let isDeepLinkFromSpecificNavigation = false;\r\n if(!deepLinkJson) {\r\n deepLinkJson = this._extractDeepLinkJsonFromSpecificNavigationQueryParam();\r\n if(deepLinkJson) {\r\n isDeepLinkFromSpecificNavigation = true;\r\n }\r\n }\r\n\r\n\r\n if(Check.isEmpty(deepLinkJson)) {\r\n return null;\r\n }\r\n\r\n try {\r\n let deepLinkObject: string | null = null;\r\n if(Check.isString(deepLinkJson)) {\r\n deepLinkObject = JSON.parse(deepLinkJson);\r\n } else if(Check.isObject(deepLinkJson)) {\r\n deepLinkObject = deepLinkJson;\r\n } else {\r\n return null;\r\n }\r\n\r\n if(this._isDeepLinkObject(deepLinkObject)) {\r\n return new DeepLinkJsonObjectParser(deepLinkObject);\r\n }\r\n\r\n return null;\r\n\r\n } catch (err) {\r\n if(isDeepLinkFromSpecificNavigation) {\r\n this.services.logger.info(`Current route specific navigation doesn't contain a deep link: ${this.services.location.currentUri.toString()}`);\r\n } else {\r\n this.services.logger.error(`Failed to parse deep link object from current route ${this.services.location.currentUri.toString()}`);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n\r\n getParserFromDeepLinkObject(deepLinkObject: any): IDeepLinkParser | null {\r\n if(this._isDeepLinkObject(deepLinkObject)) {\r\n return new DeepLinkJsonObjectParser(deepLinkObject);\r\n }\r\n return null;\r\n }\r\n\r\n private _isDeepLinkObject(obj: any): boolean {\r\n if(!Check.isObject(obj)) {\r\n return false;\r\n }\r\n\r\n if(!obj['action']){\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private _extractDeepLinkJsonFromFragment(): string | null {\r\n let fragment = this.services.location.currentUri.hash.value;\r\n if(!fragment) {\r\n return null;\r\n }\r\n\r\n fragment = decodeUriComponentRecursive(fragment);\r\n\r\n if(fragment.indexOf(DEEP_LINK_HASH_PARAM) !== 0 && fragment.indexOf(SPECIFIC_NAVIGATION_PARAM) !== 0) {\r\n return null;\r\n }\r\n\r\n return fragment.replace(DEEP_LINK_HASH_PARAM, '').replace(SPECIFIC_NAVIGATION_PARAM, '');\r\n }\r\n\r\n\r\n\r\n private _extractDeepLinkJsonFromDeepLinkQueryParam(): string | null {\r\n if (this.services.location.currentUri.queryParams.isEmpty) {\r\n return null;\r\n }\r\n\r\n return decodeUriComponentRecursive(this.services.location.currentUri.queryParams.getParamValue(DEEP_LINK_QUERY_PARAM) || '');\r\n }\r\n\r\n private _extractDeepLinkJsonFromSpecificNavigationQueryParam(): string | null {\r\n\r\n if (this.services.location.currentUri.queryParams.isEmpty) {\r\n return null;\r\n }\r\n\r\n return decodeUriComponentRecursive(this.services.location.currentUri.queryParams.getParamValue(SPECIFIC_NAVIGATION) || '');\r\n }\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IDeepLinkService} from './deep-link.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport { observable, reaction, runInAction, makeObservable } from 'mobx';\r\nimport {IReactionPublic} from 'mobx';\r\nimport {DEEP_LINK_QUERY_PARAM} from './legacy/deep-link-parsers/deep-link-parser.service';\r\nimport {ICasinoDeepLinkAction} from \"./casino-deep-link-action.interface\";\r\n\r\n\r\n\r\n/**\r\n Deep link can come from\r\n 1. route\r\n 2. SDK event\r\n 3. direct call window.orbit.deepLink\r\n 4. post message\r\n */\r\n\r\nexport class DeepLinkService extends ServiceBase implements IDeepLinkService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._subscribeToCurrentUriReaction(true);\r\n\r\n this.services.sdk.events.onDeepLinkReceived(this._executeDeepLinkFromSdkEvent);\r\n this.services.window.subscribeTo.postMessage(this._executeDeepLinkFromPostMessage);\r\n }\r\n\r\n\r\n private _subscribeToCurrentUriReaction(fireImmediately: boolean): void{\r\n reaction(() => this.services.location.currentUri,\r\n (arg, prev, reaction) => this._executeDeepLinkFromCurrentRoute(reaction),\r\n {\r\n fireImmediately: fireImmediately\r\n });\r\n }\r\n\r\n @observable.ref\r\n lastTimeDeepLinkWasExecuted: number;\r\n\r\n private _isExecuting: boolean = false;\r\n get isExecuting(): boolean {\r\n return this._isExecuting;\r\n }\r\n\r\n\r\n private async _waitForAutologin(): Promise {\r\n try {\r\n await this.services.user.waitForAutoLogin();\r\n } catch (err) {\r\n // we will continue the deep link flow if waiting for auto login to complete fails.\r\n // if there are any issues with the auto login probably the login screen will pop up\r\n // depending on the deep link action\r\n this.services.logger.error('Waiting for auto login to complete failed', err);\r\n }\r\n }\r\n\r\n private async _executeAction(action: ICasinoDeepLinkAction): Promise {\r\n if(this._isExecuting) {\r\n this.services.logger.error(`You tried to execute a deep link while another one is in progress. The following deep link will be ignored: ${JSON.stringify(action)}`);\r\n return;\r\n }\r\n this._isExecuting = true;\r\n\r\n try {\r\n await action.execute();\r\n } finally {\r\n this._isExecuting = false;\r\n runInAction(() => this.lastTimeDeepLinkWasExecuted = Date.now())\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n private async _executeDeepLinkFromCurrentRoute(reactionDisposer: IReactionPublic): Promise {\r\n\r\n\r\n try {\r\n reactionDisposer.dispose(); // we unsubscribe from this.services.location.currentUri reaction so if the currentUri changes inside the waitForAutoLogin or for any other reasons it will not trigger another deep link execution\r\n\r\n await this._waitForAutologin();\r\n\r\n // In case there is an auto login we want to create the deep link action after the auto login finishes\r\n // so any code that looks for isAuthorized during the action creation to find it on true\r\n let action = this.services.deepLinkActionsFactory.createActionFromCurrentRoute();\r\n if(!action) {\r\n return;\r\n }\r\n\r\n this.services.logger.debug('Execute deep link from current route: ' + this.services.location.currentUri.toString());\r\n\r\n const urlWithoutHash = this.services.location.currentUri.removeSearchParam(DEEP_LINK_QUERY_PARAM).getUrlWithoutHash();\r\n await this.services.location.replace(urlWithoutHash);\r\n\r\n await this._executeAction(action);\r\n\r\n } finally {\r\n this._subscribeToCurrentUriReaction(false);\r\n }\r\n\r\n\r\n }\r\n\r\n private _executeDeepLinkFromSdkEvent = async (deepLinkObject: any): Promise => {\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkObject);\r\n if(action) {\r\n this.services.logger.debug('Execute deep link object in _executeDeepLinkFromSdkEvent: ' + JSON.stringify(deepLinkObject));\r\n return this._executeAction(action);\r\n } else if (Check.isNullOrUndefined(deepLinkObject)){\r\n this.services.logger.warning(`${deepLinkObject} deep link object received from SDK DEEPLINK_RECEIVED event`);\r\n } else {\r\n this.services.logger.error(`Received deep link object from the SDK DEEPLINK_RECEIVED is not a valid deep link object. Received data: ${JSON.stringify(deepLinkObject)}`);\r\n }\r\n };\r\n\r\n async executeDeepLink(deepLinkObject: any, navigate?: any): Promise {\r\n if(!Check.isObject(deepLinkObject)) {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with a deepLinkObject argument that is not an object`);\r\n return;\r\n }\r\n if(Check.isEmpty(deepLinkObject)) {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with an empty deep deepLinkObject argument`);\r\n return;\r\n }\r\n\r\n this.services.logger.debug('Execute deep link object in executeDeepLink: ' + JSON.stringify(deepLinkObject));\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkObject);\r\n if(action) {\r\n if(Check.isString(navigate)) {\r\n this.services.location.push(navigate as string);\r\n } else if(Check.isArrayOfStrings(navigate)) {\r\n if(navigate.length > 0) {\r\n await this.services.location.push('/' + (navigate as Array).join('/'));\r\n }\r\n } else if(!Check.isNullOrUndefined(navigate)) {\r\n this.services.logger.error(`expecting _executeDeepLinkFromDirectCall to be called with a navigate parameter that is string or an array of strings but it was ${JSON.stringify(navigate)}`);\r\n }\r\n\r\n await this._executeAction(action);\r\n } else {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with an invalid deep link object ${JSON.stringify(deepLinkObject)}`);\r\n }\r\n };\r\n\r\n private _executeDeepLinkFromPostMessage = async (postEvent: any): Promise => {\r\n let messageData = postEvent && postEvent.data;\r\n if(!messageData) {\r\n return;\r\n }\r\n\r\n if(messageData.ActionName !== 'deeplink') {\r\n return;\r\n }\r\n\r\n\r\n if(!messageData.data) {\r\n this.services.logger.error(`Received deep link post message action with ${messageData.data} data`);\r\n return;\r\n }\r\n\r\n let deepLinkJsonObject = null;\r\n\r\n try {\r\n deepLinkJsonObject = JSON.parse(messageData.data);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to parse deep link object from post message: ${messageData.data}`, err);\r\n return;\r\n }\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkJsonObject);\r\n\r\n if(action) {\r\n this.services.logger.debug('Execute deep link object in _executeDeepLinkFromPostMessage: ' + messageData.data);\r\n return this._executeAction(action);\r\n } else {\r\n this.services.logger.error(`Received post message with invalid deep link object ${messageData.data}`);\r\n }\r\n\r\n }\r\n}\r\n\r\n","import {CmsUserSignature, DateAndTimeFormat, GameRawData, ITokenInfo} from './sdk.service.interface';\r\nimport {IRunningGameHandler} from '../games/running-game-handler.interface';\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {BalanceType} from \"../../../common/const/wallet_balance_type\";\r\nimport IStructuredLoggingService from \"../../../common/interfaces/structured-logging-service-interface\";\r\nimport {SdkOverlayZIndex} from \"../../../common/interfaces/sdk-overlay-z-index\";\r\nimport {IGeoLocationInfo} from \"../../../common/interfaces/geo-location-info.interface\";\r\nimport {GamingHistoryRecordRawData} from \"../gaming-history/gaming-history.service.interfce\";\r\nimport { IAbTestingFeatureProperties } from '../../../common/interfaces/ab-testing-interface';\r\nimport {IHybridService} from \"../hybrid/hybrid.service.interface\";\r\nimport {ILegacyRegulation} from \"../regulation/legacy-regulation.interface\";\r\nimport {NullableString} from \"../../../common/types/nullable-types\";\r\nimport ISdkGnwpService from \"../../../sdk/src/services/gnwp/gnwp_service_interface\";\r\nimport {IScriptLoaderService} from \"../scrip-loader/script-loader.service.interface\";\r\nimport {ISdkMessageButtonOptions} from '../../../common/interfaces/sdk-message-button-options';\r\nimport IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\ninterface OnEventParams {\r\n eventName: string;\r\n callback: Function;\r\n context: any;\r\n}\r\n\r\ninterface SendAnalyticsParams {\r\n category: string;\r\n action: string;\r\n label: string;\r\n value: string;\r\n omitStructuredLogger?: boolean\r\n}\r\n\r\ninterface GetAIListResponse {\r\n aiGameTypesArray: number[];\r\n aiEngine: string;\r\n}\r\n\r\n\r\n\r\n\r\nexport const CGP_EVENTS_NAMES = {\r\n ON_BEFORE_OAUTH_STATE_CHANGE: 'ON_BEFORE_OAUTH_STATE_CHANGE',\r\n OAUTH_STATE_CHANGE: 'OAUTH_STATE_CHANGE',\r\n RECENTLY_PLAYED_GAMES_UPDATED: 'RECENTLY_PLAYED_GAMES_UPDATED',\r\n AUTOLOGIN_SUCCESS: 'AUTOLOGIN_SUCCESS',\r\n AUTOLOGIN_FAILED: 'AUTOLOGIN_FAILED',\r\n DEEPLINK_RECEIVED: 'DEEPLINK_RECEIVED',\r\n GAME_OPEN: 'GAME_OPEN',\r\n CLOSE_GAME: 'CLOSE_GAME',\r\n LOGIN_FORM_OPEN: 'LOGIN_FORM_OPEN',\r\n LOGIN_FORM_CLOSE: 'LOGIN_FORM_CLOSE',\r\n TOKEN_LIFETIME_EXPIRED: 'TOKEN_LIFETIME_EXPIRED',\r\n LIVE_TABLES_UPDATE: 'LIVE_TABLES_UPDATE',\r\n GAMES_QUESTIONNAIRE_COMPLETED: 'GAMES_QUESTIONNAIRE_COMPLETED',\r\n GAME_POPUP_SHOW: 'GAME_POPUP_SHOW',\r\n BALANCE_UPDATED: 'BALANCE_UPDATED',\r\n REALITY_CHECK_OPENED: 'REALITY_CHECK_OPENED',\r\n REALITY_CHECK_CLOSED: 'REALITY_CHECK_CLOSED',\r\n REGISTRATION_COMPLETED: 'REGISTRATION_COMPLETED',\r\n APP_RESUMED: 'APP_RESUMED',\r\n APP_PAUSED: 'APP_PAUSED',\r\n EXTERNAL_LINK_CLOSED: 'EXTERNAL_LINK_CLOSED',\r\n TOUCH_ID_STATE_CHANGED: 'TOUCH_ID_STATE_CHANGED',\r\n OMG_DISPLAYED: 'OMG_DISPLAYED',\r\n SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED: 'SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED',\r\n LIVE_GAME_SWITCHED: 'LIVE_GAME_SWITCHED',\r\n PROMOTIONS_CHANGED: 'PROMOTIONS_CHANGED',\r\n DEPOSIT_WIDGET_CLOSED : 'DEPOSIT_WIDGET_CLOSED',\r\n};\r\n\r\n\r\nexport interface DeviceInfo {\r\n os: {\r\n name: string;\r\n version: number;\r\n isMobileOS: boolean;\r\n isIOS: boolean;\r\n isAndroid: boolean;\r\n isPC: boolean;\r\n isMacOS: boolean;\r\n };\r\n browser: {\r\n name: string;\r\n version: number;\r\n isSafari: boolean;\r\n isChrome: boolean;\r\n isFirefox: boolean;\r\n };\r\n model: {\r\n isIphone: boolean;\r\n isIpad: boolean;\r\n };\r\n hybrid: {\r\n isHybrid: boolean;\r\n isEmbedded: boolean;\r\n inCasino: boolean\r\n };\r\n feature: {\r\n isTouch: boolean;\r\n };\r\n isProgressiveWebApp: boolean;\r\n isStandalone: boolean;\r\n\r\n /** @deprecated */\r\n isMobile(): boolean;\r\n /** @deprecated */\r\n isTablet(): boolean;\r\n}\r\n\r\nexport interface CGPEventSubscription {\r\n off();\r\n}\r\n\r\n\r\nexport interface GetAutoLoginTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface GetPlatformTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface IDailyDealCampaign {\r\n MarketingCampaignId: string;\r\n}\r\n\r\n\r\nexport interface CgpSkinInfo {\r\n getBrandName(): string;\r\n getPlatformSystemID(): number;\r\n getClientPlatform(): string;\r\n getVersion(): string;\r\n getCulture(): string;\r\n shouldEnforceHybridAppForMobileWebOnLoginAttempt(): boolean;\r\n shouldPreventOpenGameForMobileWebApp(): boolean;\r\n getMinimumAge(): number;\r\n}\r\n\r\nexport interface ISdkUtils {\r\n getGuid():string\r\n arraysAreEqual(arr1: any[], arr2: any[]): boolean;\r\n}\r\n\r\nexport interface ISdkRegulationService {\r\n isUSRegulation(): boolean;\r\n getRegulationCode(): number;\r\n getSessionCooldownConfig(): {featureEnabled: boolean; cooldownTime: string};\r\n shouldShowPlayerLimitsToaster(): boolean;\r\n getErrorMessage(errorCode: number): NullableString;\r\n forceDemoButton(): boolean;\r\n isLoginPopupEnabled(): boolean;\r\n}\r\n\r\nexport interface IOpenHistoryGameRequest {\r\n historyRecordData: GamingHistoryRecordRawData;\r\n gameType: number,\r\n gameName: string,\r\n gameRoundId: string,\r\n gameRoundDate: string;\r\n}\r\n\r\nexport interface ICgpSdk {\r\n countPlayerChallenges(): number;\r\n getRegulationDateAndTimeFormat(): DateAndTimeFormat;\r\n createComponentRenderer(componentId: string): any;\r\n device(): DeviceInfo;\r\n displayHybrid?: () => void;\r\n isHybridEmbeddedGame(gameType: number): boolean;\r\n openHybridLink(url: string): void;\r\n format$$$(value: number, withDecimal: boolean);\r\n getBalance();\r\n getAIList(maxGames: number, filterOutRecentlyPlayedGames: boolean, numberOfRecentlyPlayedGameToFilterOut: number): Promise;\r\n getAINewGamesList(maxGames: number, filterOutRecentlyPlayedGames: boolean, numberOfRecentlyPlayedGameToFilterOut: number): Promise;\r\n getAutoLoginToken(): Promise;\r\n getPlatformToken(): Promise;\r\n getFirebaseToken(): string;\r\n getBrandID(): number;\r\n getCorrelatedGames(gameType: number, numberOfGames: number): Promise;\r\n getExternalBrandCallbackURL(): string;\r\n getExternalBrandCallbackURLMethod(): string;\r\n getGamesInfo(gameTypes: number[]): Promise;\r\n getGamesThemes(): Record;\r\n getGamesVendors(): Record;\r\n getGamesCompanies(): Record;\r\n getGamesInfoForHistory(gameTypes: number[]): Promise;\r\n getGRSEnvironments(): Promise;\r\n getSourceSubBrandName(): string;\r\n getSubBrandID(): number;\r\n dateAndTimeFormat(): DateAndTimeFormat;\r\n getUserData(): any;\r\n getUsername(): string;\r\n getSessionId(): string;\r\n getUserSegments(): CmsUserSignature;\r\n isAuthorized(): boolean;\r\n isLoginFromRegistration():boolean;\r\n getCGPMaxOverlayZIndex(): number;\r\n structuredLoggingService():IStructuredLoggingService;\r\n isVIP(): boolean;\r\n logout(): Promise;\r\n menuActionExecute(key: string): void;\r\n onEvent(params: OnEventParams): CGPEventSubscription;\r\n routeChanged(): void;\r\n isGameRunning(): boolean;\r\n openGame(options: any): Promise;\r\n openInNewWindow(url: string, features?: string): void;\r\n openLoginForm(marketingParams?: MarketingParams): Promise;\r\n sendAnalytics(params: SendAnalyticsParams);\r\n setAutoLoginToken(autologinToken: any): void;\r\n startLiveTableFeeds(): void;\r\n stopLiveTableFeeds(): void;\r\n getAbTestingDataForFeature(featureName: string): IAbTestingFeatureProperties;\r\n getAbTestingData(): { [key: string]: IAbTestingFeatureProperties };\r\n waitForAnonymousAbTestingData(): Promise;\r\n getAnonymousPlayerAbTestingDataForFeature(featureName: string, shouldDefaultToLocalStorageData: boolean): IAbTestingFeatureProperties;\r\n getCurrentServerDate(): Date;\r\n getDailyDealCampaigns(): Promise;\r\n getBankroll(balanceType: BalanceType, plainNumber?: boolean): string | number;\r\n\r\n getJackpotsById(): unknown;\r\n getJackpotsByGameType(): unknown;\r\n\r\n getProductPackage(): number;\r\n\r\n getSkin(): CgpSkinInfo;\r\n runAutoLogin(autoLoginParams: IAutoLoginParams): Promise;\r\n\r\n getUtils(): ISdkUtils;\r\n onOrbitInitComplete(): void;\r\n\r\n getEnvironment(): string;\r\n pushDataToDataLayer(data:{}): void;\r\n getCountryName(): string;\r\n getCountryIso3(): string;\r\n getSupportedStates(): IStateOfResidence[];\r\n getWrongLocationDetectionPath(): string;\r\n getTrendingRecommendedGamesForPlayer(listTypeId: number[]):Promise<{[key:number] : number[]}>;\r\n\r\n getRegulationService(): ISdkRegulationService;\r\n\r\n waitForAutologin(): Promise;\r\n httpPost(url: string, requestData: unknown): Promise;\r\n httpGet(url: string, requestData: unknown): Promise;\r\n getConfigs(): any;\r\n loadScript(url: string, tagId?: string): Promise;\r\n getRefreshToken(): string;\r\n getCurrencyIso3(): string;\r\n readonly overlayZIndex: SdkOverlayZIndex;\r\n getGoogleClientID(): string;\r\n isInAutologin(): boolean;\r\n fireDepositWidgetClosed(): void;\r\n getToken(): ITokenInfo | null;\r\n\r\n continuePlayingCurrentGame(): void;\r\n stopCurrentGameAutoplay(): void;\r\n isDepositWidgetSupportedByHybrid(): boolean;\r\n getGeoLocationInfo(): Promise;\r\n getDownloadAppLink(): string;\r\n promptPushNotificationPermissionRequest(): void;\r\n openPopUpOnSecondWebView(content : string, timeout : number) : void;\r\n closePopUpOnSecondWebView() : void;\r\n getBurnoutAnimationZIndex(): number;\r\n readonly hybrid: IHybridService;\r\n readonly currentRegulation: ILegacyRegulation;\r\n getCurrentBrowserTabId(): string;\r\n readonly hasOpenOverlays: boolean;\r\n readonly gnwp: ISdkGnwpService;\r\n readonly scriptLoader: IScriptLoaderService;\r\n startGeoLocationOnOpenRealGame(): Promise;\r\n getButtonsForNonRetryGeoFlow(): Partial[];\r\n stopGameTimeReminders(): void;\r\n isEligibleForGameGeoRetry(): boolean;\r\n getRetryMessageButtons(analyticsLabel: string, resolve?, reject?): Partial[];\r\n startAutoRetryGeoProcess(): Promise;\r\n extractTokenProperty(tokenProperty: string);\r\n isLoginPopupEnabled(): boolean;\r\n getAccountData(): any;\r\n getTempAccountGnwpSource(): GNWP_SOURCES;\r\n openOptions(screenType: string, innerScreen?: string): void;\r\n}\r\n","import {CGP_EVENTS_NAMES, CGPEventSubscription, ICgpSdk} from './cgp-sdk.interface';\r\nimport { LiveTables } from '../live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {TimeSpan} from '@sparkware/app-utils';\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {\r\n IFreePlayVoucherData,\r\n IFreePlayVoucherDelta\r\n} from \"../../../common/interfaces/free-play/free-play-voucher-data.interface\";\r\nimport {\r\n INetPositionGameTypeData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/netposition_handler.interfaces\";\r\nimport {IOMGParsedData} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/messages_handler\";\r\nimport {IJackpotDataById} from '../../../sdk/src/services/live_feeds/jackpots/jackpot_feeds_service_interface';\r\n\r\nexport interface OnShowGamePopupCallbackParams {\r\n gameType?: number,\r\n gamePopupApprovedCallback: () => void\r\n}\r\n\r\nexport interface OnGameOpenParams {\r\n gameType: number;\r\n isReal: boolean;\r\n}\r\n\r\nexport interface OnGameCloseParams {\r\n gameType: number;\r\n isReal: boolean;\r\n isGamePlayed: boolean;\r\n showNextGameSuggestion: boolean;\r\n}\r\n\r\nexport interface OnPlayerActionParams {\r\n actionName: string;\r\n options?: any;\r\n}\r\n\r\nexport interface OnOauthStateChangedParams {\r\n loginType?: number;\r\n logoutReason?: number;\r\n kickReason?: number;\r\n fromRegistration?: boolean;\r\n}\r\n\r\nexport class SdkEvents {\r\n constructor(private CGP: ICgpSdk) {\r\n\r\n }\r\n\r\n onOAuthStateChanged(callback: (params: OnOauthStateChangedParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBeforeOAuthStateChanged(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.ON_BEFORE_OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDeepLinkReceived(callback: (deepLinkObject: any) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.DEEPLINK_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onShowGamePopup(callback: (args: OnShowGamePopupCallbackParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_POPUP_SHOW,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameOpen(callback: (params: OnGameOpenParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameClose(callback: (params?: OnGameCloseParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.CLOSE_GAME,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onPlayerAction(callback: (eventData: OnPlayerActionParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.PLAYER_ACTION,\r\n callback: (data) => callback(data || {} as OnPlayerActionParams),\r\n context: this\r\n });\r\n }\r\n\r\n onRecentlyPlayedGamesUpdated(callback: (gameTypes: number[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.RECENTLY_PLAYED_GAMES_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormOpen(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTokenLifetimeExpired(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOKEN_LIFETIME_EXPIRED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveTableFeedsUpdate(callback: (tablesData: LiveTables) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_TABLES_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamesQuestionnaireCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAMES_QUESTIONNAIRE_COMPLETED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onJackpotsByIdUpdate(callback: (jackpots: unknown) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByGameUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOT_AMOUNTS_BY_GAME_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByIdUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBalanceUpdated(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.BALANCE_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSessionTimerUpdate(callback: (data: {sessionTime: TimeSpan}) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_TIMER_UPDATE,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckOpened(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_OPENED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckClosed(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_CLOSED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onRegistrationCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REGISTRATION_COMPLETED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppPaused(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_PAUSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onExternalLinkClosed(callback: (linkSource: string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.EXTERNAL_LINK_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTouchIDActiveStateChanged(callback: (state: boolean) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOUCH_ID_STATE_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onOmgDisplayed(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OMG_DISPLAYED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBurnoutMessageReceived(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveGameSwitched(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_GAME_SWITCHED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPromotionsChanged(callback: (data: {Cid: number, IsPromotionDisplayedInClient: boolean, IndicationInClientPromotionsIds: number[]}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.PROMOTIONS_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDepositWidgetClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.DEPOSIT_WIDGET_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.HYBRID_POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchAdded(callback: (data: IFreePlayVoucherData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_ADDED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchUpdated(callback: (data: IFreePlayVoucherDelta[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchRemoved(callback: (voucherIds: string[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_REMOVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV1(callback: (percentage: number | string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV2(callback: (eventData: {statusBar: number | string; numberOfPackages: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE_V2,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseGotNewToken(callback: (eventData: {token: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.FIREBASE_GOT_NEW_TOKEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onNetPositionUpdated(callback: (gamesTypesData: INetPositionGameTypeData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_NET_POSITION_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginSessionResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOGIN_SESSION_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onUserApprovedPostLoginPopup(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.USER_APPROVE_GAME_POPUP,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseOmgReceived(callback: (omgData: IOMGParsedData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_OMG_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onReceivedToaster(callback: (params: any[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_RECEIVED_TOASTER,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSecondWebViewClose(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n}\r\n","import Event from \"../../../sdk/src/utils/event\";\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {IOmgHandlerHook} from \"../external-links/handlers/omg/omg-handler.hook.interface\";\r\n\r\nexport class SdkEventsTrigger {\r\n gameOpen(eventData: {gameType: number; isReal: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_OPEN, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal\r\n });\r\n }\r\n\r\n gameClosed(eventData: {gameType: number; isReal: boolean; isGamePlayed: boolean; showNextGameSuggestion: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.CLOSE_GAME, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal,\r\n isGamePlayed: eventData.isGamePlayed,\r\n showNextGameSuggestion: eventData.showNextGameSuggestion\r\n });\r\n }\r\n\r\n keepAlive(): void {\r\n Event.fire(SYSTEM_EVENTS.EXTEND_USER_TIME_TO_LIVE);\r\n }\r\n\r\n liveGameSwitched(): void {\r\n Event.fire(SYSTEM_EVENTS.LIVE_GAME_SWITCHED);\r\n }\r\n\r\n hybridGameLoadingIndicatorClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_CLOSED_BY_X);\r\n }\r\n\r\n updateMarketingParams(marketingParams: any): void {\r\n Event.fire(SYSTEM_EVENTS.INCOMING_MARKETING_DATA, marketingParams);\r\n }\r\n\r\n\r\n navigateToGameInWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.WEB_VIEW_NAVIGATE_GAME, url);\r\n }\r\n\r\n gameSequenceFinishedSuccess(): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_SEQUENCE_FINISH, true);\r\n }\r\n\r\n showHybridAlert(message: string): void {\r\n Event.fire(SYSTEM_EVENTS.HYBRID_ALERT, message);\r\n }\r\n\r\n locationPopupClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOCATION_POPUP_CLOSED);\r\n }\r\n\r\n registrationCompleted(params: {UserInfo: string, SourceProductPackage: string}) {\r\n Event.fire(SYSTEM_EVENTS.REGISTRATION_COMPLETED, params);\r\n }\r\n\r\n externalLinkClosed(params: {gnwpSource: GNWP_SOURCES}): void {\r\n Event.fire(SYSTEM_EVENTS.EXTERNAL_LINK_CLOSED, params.gnwpSource)\r\n }\r\n\r\n omgDisplayed(omgHook: IOmgHandlerHook): void {\r\n Event.fire(SYSTEM_EVENTS.OMG_DISPLAYED, omgHook)\r\n }\r\n\r\n closeAllSecondWebViews(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_ALL);\r\n }\r\n\r\n closeNyxSecondWebView(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_NYX);\r\n }\r\n\r\n openUrlInSecondWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_NAVIGATE_SPORT, url);\r\n }\r\n\r\n closeModifyBimetricDialog(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_STATE_CHANGED);\r\n }\r\n\r\n onInitScreenShow(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_INIT_SCREEN_SHOW);\r\n }\r\n}","import {\r\n AIRecommendations,\r\n CmsUserSignature,\r\n ISdkService,\r\n OpenGameOptions,\r\n UserData, GameRawData, DateAndTimeFormat, ITokenInfo\r\n} from './sdk.service.interface';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n DeviceInfo,\r\n GetAutoLoginTokenResponse,\r\n ICgpSdk,\r\n CgpSkinInfo,\r\n GetPlatformTokenResponse,\r\n ISdkUtils,\r\n ISdkRegulationService\r\n} from './cgp-sdk.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IRunningGameHandler} from '../games/running-game-handler.interface';\r\nimport {SdkEvents} from './sdk-events';\r\nimport {ISdkComponentRenderer} from '../sdk-component-factory/sdk-component-factory.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {CGP_OBJECT_NAME} from '../../app-bootstrap/constants';\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {BalanceType} from '../../../common/const/wallet_balance_type';\r\nimport IStructuredLoggingService from \"../../../common/interfaces/structured-logging-service-interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {IGeoLocationInfo} from \"../../../common/interfaces/geo-location-info.interface\";\r\nimport {IAbTestingFeatureProperties} from '../../../common/interfaces/ab-testing-interface';\r\nimport {IHybridService} from \"../hybrid/hybrid.service.interface\";\r\nimport {ILegacyRegulation} from \"../regulation/legacy-regulation.interface\";\r\nimport {SdkEventsTrigger} from \"./sdk-events-trigger\";\r\nimport ISdkGnwpService from \"../../../sdk/src/services/gnwp/gnwp_service_interface\";\r\nimport {IScriptLoaderService} from \"../scrip-loader/script-loader.service.interface\";\r\nimport {ISdkMessageButtonOptions} from \"../../../common/interfaces/sdk-message-button-options\";\r\nimport {IModalDialogButtonsComponentProps, IModalDialogActionProps} from \"../../components/modal-dialog/modal-dialog-actions.component\";\r\nimport IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\nexport interface IGetAiRecommendationsOptions {\r\n maxGames?: number;\r\n filterOutRecentlyPlayedGames?: boolean;\r\n numberOfRecentlyPlayedGameToFilterOut?: number;\r\n}\r\n\r\nexport class SdkService extends ServiceBase implements ISdkService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._updateLocalStorageAccordingToCookie();\r\n\r\n this._displayHybrid();\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n () => {\r\n if (this.services.location.hasNavigationHistory) {\r\n this.CGP.routeChanged();\r\n }\r\n });\r\n }\r\n\r\n private _displayHybrid() {\r\n //F TO DO why is this here and not in the SDK ?\r\n if (Check.isFunction(this.CGP.displayHybrid)) {\r\n this.CGP.displayHybrid();\r\n }\r\n }\r\n\r\n private _events: SdkEvents = null;\r\n\r\n get events(): SdkEvents {\r\n if (!this._events) {\r\n this._events = new SdkEvents(this.CGP);\r\n }\r\n\r\n return this._events;\r\n }\r\n\r\n\r\n private get CGP(): ICgpSdk {\r\n return this.services.window.getGlobalProperty(CGP_OBJECT_NAME) as ICgpSdk;\r\n }\r\n\r\n\r\n get isAuthorized(): boolean {\r\n return this.CGP.isAuthorized();\r\n }\r\n\r\n get isLoginFromRegistration(): boolean {\r\n return this.CGP.isLoginFromRegistration();\r\n }\r\n\r\n get getCGPMaxOverlayZIndex(): number {\r\n return this.CGP.getCGPMaxOverlayZIndex();\r\n }\r\n\r\n get structuredLoggingService(): IStructuredLoggingService {\r\n return this.CGP.structuredLoggingService();\r\n }\r\n\r\n get dateAndTimeFormat(): DateAndTimeFormat {\r\n return this.CGP.getRegulationDateAndTimeFormat();\r\n }\r\n\r\n get userData(): UserData {\r\n let rawUserData = this.CGP.getUserData();\r\n let rawAccountData = (rawUserData && rawUserData.accountData) || {};\r\n\r\n\r\n return {\r\n userName: rawUserData?.userName,\r\n firstName: rawAccountData.FirstName,\r\n lastName: rawAccountData.LastName,\r\n IsVIP: this.CGP.isVIP(),\r\n DWHGameGroupOrientation: rawAccountData.DWHGameGroupOrientation, // when product are asking to do something with user Orientation, - it is not this one. use this.services.userGameOrientation.gameGroup\r\n statusGroupId: rawAccountData.StatusGroupId,\r\n GenderId: rawAccountData.genderID,\r\n timeSinceRegistration: rawAccountData.TimeSinceRegistration,\r\n cid: rawUserData?.cid,\r\n playerRMStatus: rawAccountData.PlayerRMStatus,\r\n sessionId: this.CGP.getSessionId(),\r\n registrationCountry: rawAccountData.RegistrationCountry,\r\n joinDate: rawAccountData.JoinDate,\r\n isFTD: rawAccountData.FTDSubBrand === this.getSubBrandID(),\r\n IsPromotionPermitted: rawAccountData.IsPromotionPermitted,\r\n taxId: rawAccountData.TaxId\r\n };\r\n }\r\n\r\n\r\n @observable.ref\r\n isSdkReady: boolean = true;\r\n\r\n @action.bound\r\n private _setIsSdkReady(value: boolean) {\r\n this.isSdkReady = value;\r\n }\r\n\r\n getAIRecommendations(options?: IGetAiRecommendationsOptions): Promise {\r\n return this.CGP.getAIList(options?.maxGames, options?.filterOutRecentlyPlayedGames, options?.numberOfRecentlyPlayedGameToFilterOut).then(data => {\r\n return {\r\n gameTypes: data.aiGameTypesArray || [],\r\n engine: data.aiEngine\r\n };\r\n });\r\n }\r\n\r\n getTrendingRecommendedGamesForPlayer(...listTypeIds: number[]): Promise<{[key: number]: number[]}> {\r\n return this.CGP.getTrendingRecommendedGamesForPlayer(listTypeIds);\r\n }\r\n\r\n getAINewRecommendations(options?: IGetAiRecommendationsOptions): Promise {\r\n return this.CGP.getAINewGamesList(options?.maxGames, options?.filterOutRecentlyPlayedGames, options?.numberOfRecentlyPlayedGameToFilterOut).then(data => {\r\n return {\r\n gameTypes: data.aiGameTypesArray || [],\r\n engine: data.aiEngine\r\n };\r\n });\r\n }\r\n\r\n getCurrentServerDate(): Date {\r\n return this.CGP.getCurrentServerDate();\r\n }\r\n\r\n getAbTestingData(): {[key: string]: IAbTestingFeatureProperties} {\r\n return this.CGP.getAbTestingData();\r\n }\r\n\r\n getAbTestingDataForFeature(featureName: string): IAbTestingFeatureProperties {\r\n return this.CGP.getAbTestingDataForFeature(featureName);\r\n }\r\n\r\n waitForAnonymousAbTestingData(): Promise {\r\n return this.CGP.waitForAnonymousAbTestingData();\r\n }\r\n\r\n sendAnalytics(category: string, action: string = null, label: string = null, value: string = null, omitStructuredLogger: boolean = null) {\r\n try {\r\n this.CGP.sendAnalytics({\r\n category: category,\r\n action: action,\r\n label: label,\r\n value: value,\r\n omitStructuredLogger: omitStructuredLogger\r\n });\r\n } catch (ex) {\r\n this.services.logger.error(`SdkService failed to sendAnalytics: ${ex}`);\r\n }\r\n }\r\n\r\n getCmsUserSignature(): CmsUserSignature {\r\n return this.CGP.getUserSegments();\r\n }\r\n\r\n formatMoney(value: number, withDecimal: boolean = false): string {\r\n return this.CGP.format$$$(value, withDecimal);\r\n }\r\n\r\n get device(): DeviceInfo {\r\n return this.CGP.device();\r\n }\r\n\r\n waitForAutologin(): Promise {\r\n return this.CGP.waitForAutologin();\r\n }\r\n\r\n getAnonymousPlayerAbTestingDataForFeature(featureName: string, shouldDefaultToLocalStorageData: boolean): IAbTestingFeatureProperties {\r\n return this.CGP.getAnonymousPlayerAbTestingDataForFeature(featureName, shouldDefaultToLocalStorageData);\r\n }\r\n\r\n isGameRunning(): boolean {\r\n return this.CGP.isGameRunning();\r\n }\r\n\r\n async openGame(options: OpenGameOptions): Promise {\r\n\r\n let openGameOptions: any = {...options};\r\n if (!options.showRegister) {\r\n openGameOptions.navbar = { //F TO DO - do we realy need this navbar option ?\r\n login: {\r\n showRegister: false\r\n }\r\n }\r\n }\r\n\r\n return await this.CGP.openGame(openGameOptions);\r\n\r\n }\r\n\r\n async openLoginForm(marketingParams?: MarketingParams): Promise {\r\n\r\n await this.CGP.openLoginForm(marketingParams);\r\n }\r\n\r\n createComponentRenderer(componentId: string): ISdkComponentRenderer {\r\n return this.CGP.createComponentRenderer(componentId) as ISdkComponentRenderer;\r\n }\r\n\r\n getGamesInfoForHistory(gameTypes: number[]): Promise {\r\n return this.CGP.getGamesInfoForHistory(gameTypes);\r\n }\r\n\r\n getGamesInfo(gameTypes: number[]): Promise {\r\n return this.CGP.getGamesInfo(gameTypes);\r\n }\r\n\r\n getGamesThemes(): Record {\r\n return this.CGP.getGamesThemes();\r\n }\r\n\r\n getGamesVendors(): Record {\r\n return this.CGP.getGamesVendors();\r\n }\r\n\r\n getGamesCompanies(): Record {\r\n return this.CGP.getGamesCompanies();\r\n }\r\n\r\n getAutoLoginToken(): Promise {\r\n return this.CGP.getAutoLoginToken();\r\n }\r\n\r\n getPlatformToken(): Promise {\r\n return this.CGP.getPlatformToken();\r\n }\r\n\r\n getFirebaseToken(): string {\r\n return this.CGP.getFirebaseToken();\r\n }\r\n\r\n getCorrelatedGames(gameType: number, numberOfGames: number = 3): Promise {\r\n return this.CGP.getCorrelatedGames(gameType, numberOfGames);\r\n }\r\n\r\n logout(): Promise {\r\n return this.CGP.logout();\r\n }\r\n\r\n getBrandID(): number {\r\n return this.CGP.getBrandID();\r\n }\r\n\r\n getSubBrandID(): number {\r\n return this.CGP.getSubBrandID();\r\n }\r\n\r\n getRegulationService(): ISdkRegulationService {\r\n return this.CGP.getRegulationService();\r\n }\r\n\r\n isHybridEmbeddedGame(gameType: number): boolean {\r\n return this.CGP.isHybridEmbeddedGame(gameType);\r\n }\r\n\r\n openHybridLink(url: string): void {\r\n this.CGP.openHybridLink(url);\r\n }\r\n\r\n private _updateLocalStorageAccordingToCookie() {\r\n try {\r\n let autologinCookie = this.services.cookies.getCookie('orbit_autologin_token');\r\n\r\n if (autologinCookie) {\r\n this.CGP.setAutoLoginToken(autologinCookie);\r\n }\r\n } catch (err) {\r\n this.services.logger.error('update local storage according to cookie failed. Error: ' + err);\r\n } finally {\r\n // Remove cookie\r\n this.services.cookies.removeCookie('orbit_autologin_token');\r\n }\r\n\r\n }\r\n\r\n getGRSEnvironmentUrls(): Promise {\r\n return this.CGP.getGRSEnvironments();\r\n }\r\n\r\n @computed\r\n get activeChallengeCount(): number {\r\n return this.CGP.countPlayerChallenges();\r\n }\r\n\r\n openInNewWindow(url: string, features?: string): void {\r\n return this.CGP.openInNewWindow(url, features);\r\n }\r\n\r\n executeMenuAction(id: string): void {\r\n this.CGP.menuActionExecute(id);\r\n }\r\n\r\n menuActionExecute(key: string): void {\r\n return this.CGP.menuActionExecute(key);\r\n }\r\n\r\n\r\n startLiveTableFeeds(): void {\r\n if (Check.isFunction(this.CGP.startLiveTableFeeds)) {\r\n this.CGP.startLiveTableFeeds();\r\n } else {\r\n //TODO - to be removed in the future\r\n (this.CGP as any).startEvolutionLiveFeeds();\r\n }\r\n }\r\n\r\n stopLiveTableFeeds(): void {\r\n if (Check.isFunction(this.CGP.stopLiveTableFeeds)) {\r\n this.CGP.stopLiveTableFeeds();\r\n } else {\r\n //TODO - to be removed in the future\r\n (this.CGP as any).stopEvolutionLiveFeeds();\r\n }\r\n }\r\n\r\n getDailyDealCampaigns() {\r\n return this.CGP.getDailyDealCampaigns();\r\n }\r\n\r\n getJackpotsById() {\r\n return this.CGP.getJackpotsById();\r\n }\r\n\r\n getJackpotsByGameType() {\r\n return this.CGP.getJackpotsByGameType();\r\n }\r\n\r\n getBankroll(balanceType: BalanceType, plainNumber?: boolean) {\r\n return this.CGP.getBankroll(balanceType, plainNumber);\r\n }\r\n\r\n runAutoLogin(autoLoginParams: IAutoLoginParams) {\r\n return this.CGP.runAutoLogin(autoLoginParams);\r\n }\r\n\r\n\r\n getProductPackageId(): number {\r\n return this.CGP.getProductPackage();\r\n }\r\n\r\n getSkin(): CgpSkinInfo {\r\n return {\r\n getPlatformSystemID: () => this.CGP.getSkin().getPlatformSystemID(),\r\n getClientPlatform: () => this.CGP.getSkin().getClientPlatform(),\r\n getVersion: () => this.CGP.getSkin().getVersion(),\r\n getCulture: () => this.CGP.getSkin().getCulture(),\r\n shouldEnforceHybridAppForMobileWebOnLoginAttempt: () => this.CGP.getSkin().shouldEnforceHybridAppForMobileWebOnLoginAttempt(),\r\n shouldPreventOpenGameForMobileWebApp: () => this.CGP.getSkin().shouldPreventOpenGameForMobileWebApp(),\r\n getBrandName: () => this.CGP.getSkin().getBrandName(),\r\n getMinimumAge: () => this.CGP.getSkin().getMinimumAge()\r\n }\r\n }\r\n\r\n getUtils(): ISdkUtils {\r\n return this.CGP.getUtils();\r\n };\r\n\r\n fireOrbitInitComplete(): void {\r\n this.CGP.onOrbitInitComplete();\r\n }\r\n\r\n getEnvironment(): string {\r\n return this.CGP.getEnvironment();\r\n }\r\n\r\n pushDataToDataLayer(data: {}): void {\r\n this.CGP.pushDataToDataLayer(data);\r\n }\r\n\r\n getCountryName() {\r\n return this.CGP.getCountryName();\r\n }\r\n\r\n getCountryIso3(): string {\r\n return this.CGP.getCountryIso3();\r\n }\r\n\r\n getSupportedStates(): IStateOfResidence[] {\r\n return this.CGP.getSupportedStates();\r\n }\r\n\r\n getWrongLocationDetectionPath(): string {\r\n return this.CGP.getWrongLocationDetectionPath();\r\n }\r\n\r\n httpPost(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpPost(url, requestData);\r\n }\r\n\r\n httpGet(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpGet(url, requestData);\r\n }\r\n\r\n getConfigs(): any {\r\n return this.CGP.getConfigs();\r\n }\r\n\r\n loadScript(url: string, tagId?: string): Promise {\r\n return this.CGP.loadScript(url, tagId);\r\n }\r\n\r\n getRefreshToken(): string {\r\n return this.CGP.getRefreshToken();\r\n }\r\n\r\n getCurrencyIso3(): string {\r\n return this.CGP.getCurrencyIso3();\r\n }\r\n\r\n get overlayZIndex() {\r\n return this.CGP.overlayZIndex;\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.CGP.getGoogleClientID();\r\n }\r\n\r\n isInAutologin(): boolean {\r\n return this.CGP.isInAutologin();\r\n }\r\n\r\n fireDepositWidgetClosed(): void {\r\n this.CGP.fireDepositWidgetClosed();\r\n }\r\n\r\n get tokenInfo(): ITokenInfo | null {\r\n return this.CGP.getToken() || null;\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.CGP.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.CGP.stopCurrentGameAutoplay();\r\n }\r\n\r\n getGeoLocationInfo(): Promise {\r\n return this.CGP.getGeoLocationInfo();\r\n }\r\n\r\n getDownloadAppLink(): string {\r\n return this.CGP.getDownloadAppLink();\r\n }\r\n\r\n isDepositWidgetSupportedByHybrid(): boolean {\r\n return this.CGP.isDepositWidgetSupportedByHybrid();\r\n }\r\n\r\n promptPushNotificationPermissionRequest() {\r\n return this.CGP.promptPushNotificationPermissionRequest();\r\n }\r\n\r\n openPopUpOnSecondWebView(content: string, timeout: number): void {\r\n this.CGP.openPopUpOnSecondWebView(content, timeout);\r\n }\r\n\r\n closePopUpOnSecondWebView(): void {\r\n this.CGP.closePopUpOnSecondWebView();\r\n }\r\n\r\n getBurnoutAnimationZIndex() {\r\n return this.CGP.getBurnoutAnimationZIndex();\r\n }\r\n\r\n get hybrid(): IHybridService {\r\n return this.CGP.hybrid;\r\n }\r\n\r\n get currentRegulation(): ILegacyRegulation {\r\n return this.CGP.currentRegulation;\r\n }\r\n\r\n eventsTrigger: SdkEventsTrigger = new SdkEventsTrigger();\r\n\r\n getCurrentBrowserTabId(): string {\r\n return this.CGP.getCurrentBrowserTabId();\r\n }\r\n\r\n get hasOpenOverlays(): boolean {\r\n return this.CGP.hasOpenOverlays;\r\n }\r\n\r\n get gnwp(): ISdkGnwpService {\r\n return this.CGP.gnwp;\r\n }\r\n\r\n get scriptLoader(): IScriptLoaderService {\r\n return this.CGP.scriptLoader;\r\n }\r\n\r\n startGeoLocationOnOpenRealGame(): Promise {\r\n return this.CGP.startGeoLocationOnOpenRealGame();\r\n }\r\n\r\n private _convertButtonsToOrbitFormat(buttons) {\r\n\r\n const sdkButtonToModalButton = (sdkBtnOpts: Partial): IModalDialogActionProps => {\r\n return {\r\n text: sdkBtnOpts.name || \"\",\r\n onClick: sdkBtnOpts.callback,\r\n className: sdkBtnOpts.cssClass\r\n };\r\n };\r\n\r\n const primarySdkButton = buttons.find((sdkBtnOpts) => {\r\n return Check.isNullOrUndefined(sdkBtnOpts.type) || sdkBtnOpts.type === \"main\";\r\n });\r\n const secondarySdkButton = buttons.find((sdkBtnOpts) => {\r\n return (sdkBtnOpts.type && sdkBtnOpts.type === \"secondary\");\r\n });\r\n\r\n let modalDialogButtonsComponentProps: IModalDialogButtonsComponentProps = {} as IModalDialogButtonsComponentProps;\r\n if (primarySdkButton) {\r\n // if we detected a primary button then we are OK, use it, and if the secondary exists also, use that too\r\n modalDialogButtonsComponentProps.primaryAction = sdkButtonToModalButton(primarySdkButton);\r\n if (secondarySdkButton) {\r\n modalDialogButtonsComponentProps.secondaryAction = sdkButtonToModalButton(secondarySdkButton);\r\n }\r\n } else {\r\n // if we did not detected a primary button, use the secondary as primary because the primary is required in IModalDialogButtonsComponentProps\r\n if (secondarySdkButton) {\r\n modalDialogButtonsComponentProps.primaryAction = sdkButtonToModalButton(secondarySdkButton);\r\n } else {\r\n throw new Error(\"No button found that we can use as primary button\");\r\n }\r\n }\r\n\r\n return modalDialogButtonsComponentProps;\r\n }\r\n\r\n\r\n getButtonsForNonRetryGeoFlow(): IModalDialogButtonsComponentProps {\r\n const buttons = this.CGP.getButtonsForNonRetryGeoFlow();\r\n return this._convertButtonsToOrbitFormat(buttons);\r\n }\r\n\r\n getRetryMessageButtons(analyticsLabel: string, resolve?, reject?): IModalDialogButtonsComponentProps {\r\n const buttons = this.CGP.getRetryMessageButtons(analyticsLabel, resolve, reject);\r\n return this._convertButtonsToOrbitFormat(buttons);\r\n }\r\n\r\n stopGameTimeReminders(): void {\r\n this.CGP.stopGameTimeReminders();\r\n }\r\n\r\n isEligibleForGameGeoRetry(): boolean {\r\n return this.CGP.isEligibleForGameGeoRetry();\r\n }\r\n\r\n startAutoRetryGeoProcess(): Promise {\r\n return this.CGP.startAutoRetryGeoProcess();\r\n }\r\n\r\n extractTokenProperty(tokenProperty: string) {\r\n return this.CGP.extractTokenProperty(tokenProperty);\r\n }\r\n\r\n isLoginPopupEnabled(): boolean {\r\n return this.CGP.isLoginPopupEnabled();\r\n }\r\n\r\n getAccountData(): any {\r\n return this.CGP.getAccountData();\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.CGP.getTempAccountGnwpSource();\r\n }\r\n\r\n openOptions(screenType: string, innerScreen?: string): void {\r\n this.CGP.openOptions(screenType, innerScreen);\r\n }\r\n\r\n}","export const CGP_OBJECT_NAME = 'CGP';\r\n\r\n\r\n","import React from 'react';\r\nimport {IGamesFilterStrategy} from \"../games-filter-strategy.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GamesMap} from \"../../../games/games.service.interface\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {IPcFilterIndicatorRenderingOptions} from \"../../games-filter.service.interface\";\r\n\r\nexport class NoGamesFilterStrategy implements IGamesFilterStrategy {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n get filteredGamesMap(): GamesMap {\r\n return this.services.games.gamesMap;\r\n }\r\n readonly isFilteringAvailable: boolean = false;\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n return null;\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n return null;\r\n }\r\n\r\n showFiltersEditor(): void {\r\n }\r\n\r\n dispose(): void {\r\n }\r\n}","import {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n IGamesFilterService,\r\n IPcFilterIndicatorRenderingOptions\r\n} from './games-filter.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGamesFilterStrategy} from \"./strategies/games-filter-strategy.interface\";\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport React from \"react\";\r\nimport {action, computed, makeObservable, observable} from \"mobx\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {NoGamesFilterStrategy} from \"./strategies/no-filter/no-games-filter.strategy\";\r\nimport {IArenaViewModel} from '../arenas/models/arenas/arena-view-model.interface';\r\n\r\nexport class GamesFilterService extends ServiceBase implements IGamesFilterService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n\r\n this.reaction(() => this.services.routing.currentRoute, () => {\r\n this._setCurrentStrategy(this.services.arenas.getCurrentArena())\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n @action.bound\r\n private _setCurrentStrategy(currentArena: IArenaViewModel) {\r\n if (this._currentFilteringStrategy) {\r\n this._currentFilteringStrategy.dispose();\r\n }\r\n\r\n if(currentArena) {\r\n this._currentFilteringStrategy = currentArena.getGamesFilteringStrategy();\r\n } else {\r\n this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n }\r\n }\r\n\r\n\r\n get filteredGamesMap(): Record {\r\n return this._currentFilteringStrategy.filteredGamesMap;\r\n }\r\n\r\n\r\n @computed\r\n get currentAppliedFiltersIds(): string[] {\r\n const urlHash = this.services.location.currentUri.hash?.value;\r\n if(urlHash) {\r\n let params = urlHash.split('=');\r\n if(params[0]?.toLowerCase() === 'filters') {\r\n return params[1].split(',');\r\n }\r\n }\r\n\r\n return [];\r\n\r\n }\r\n\r\n async applyFilters(filterIds: string[]): Promise {\r\n this.services.window.scrollTo(0, 0);\r\n\r\n if(filterIds.length > 0) {\r\n await this.services.location.push('#filters=' + filterIds.join(','));\r\n } else {\r\n await this.services.location.push(this.services.location.currentUri.pathName.toString());\r\n }\r\n }\r\n\r\n async clearFilters(): Promise {\r\n await this.services.location.push(this.services.location.currentUri.pathName.toString());\r\n }\r\n\r\n @observable.ref\r\n private _currentFilteringStrategy: IGamesFilterStrategy;\r\n\r\n get isFilterOn(): boolean {\r\n return this.currentAppliedFiltersIds.length > 0;\r\n }\r\n\r\n get isFilteringAvailable(): boolean {\r\n return this._currentFilteringStrategy.isFilteringAvailable;\r\n }\r\n\r\n isFilterApplied(filterId: string): boolean {\r\n return this.currentAppliedFiltersIds.includes(filterId);\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n return this._currentFilteringStrategy.renderMobileFiltersIndicator();\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n return this._currentFilteringStrategy.renderPCFiltersIndicator();\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this._currentFilteringStrategy.showFiltersEditor();\r\n }\r\n}\r\n","import {IMenuItemConfigReader} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CustomMenuItemRendererConstructorDefinition, IMenuItemRenderer} from \"./menu-item.renderer.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\n\r\nexport function loadCustomMenuItemsRenderers(rendererModules: any[],\r\n menuItemConfigReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended): Record {\r\n return rendererModules.map((module: any) => {\r\n const RendererConstructor: CustomMenuItemRendererConstructorDefinition = module.default;\r\n return new RendererConstructor(menuItemConfigReader, services);\r\n }).toDictionary(item => item.key);\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuItemBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n`","import {RedTigerJackpotWidgetConfiguration} from './red-tiger-jackpot-widget.configuration';\r\nimport {JackpotWidgetConfiguration} from './jackpot-widget.configuration';\r\nimport {HomePageHeaderArena} from \"./home-page.configuration\";\r\nimport {LinkToOfferConfiguration} from \"./link-to-offer.configuration\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\nimport {\r\n CategoryDefinitionId\r\n} from \"../../games-filter/filters-categories-definitions/filter-category-definition.interface\";\r\nimport {GAME_GROUP} from \"../../../../common/const/game_groups_consts\";\r\n\r\nexport interface InfoSideBarConfiguration {\r\n readonly infoImage: string;\r\n readonly infoTitle: string;\r\n readonly infoText: string;\r\n}\r\n\r\nexport enum ApiListType {\r\n TOP_PICKS = \"TOP_PICKS\",\r\n NEW_GAMES = \"NEW_GAMES\",\r\n PLAYERS_LIKE_YOU = \"PLAYERS_LIKE_YOU\",\r\n RECENTLY_PLAYED = \"RECENTLY_PLAYED\",\r\n STATIC_VIDEO = \"STATIC_VIDEO\",\r\n LIVE_CASINO_VIDEO = \"LIVE_CASINO_VIDEO\",\r\n BECAUSE_YOU_PLAYED = \"BECAUSE_YOU_PLAYED\",\r\n}\r\n\r\nexport interface ListConfiguration {\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly gamesId: number[];\r\n readonly isSelfUpdatedByNewest?: boolean;\r\n readonly forceRoundIcons?: boolean;\r\n}\r\n\r\n\r\n\r\nexport interface SeoSectionConfiguration {\r\n display: boolean;\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n}\r\n\r\nexport interface HeaderArenaConfiguration {\r\n display: boolean;\r\n title: string;\r\n image: string;\r\n link: string;\r\n}\r\n\r\n\r\n\r\nexport interface ArenaCommonConfiguration {\r\n topImage: string;\r\n animatedTopImage?: string;\r\n title: string;\r\n seoSection: SeoSectionConfiguration;\r\n}\r\n\r\nexport interface CasinoArenaPromotionalBannerConfiguration {\r\n templateID: string;\r\n componentID: string;\r\n displayListPlace?: number;\r\n displayRowPlace?: number;\r\n displayTablePlace?: number;\r\n fallbackComponent?: string;\r\n}\r\n\r\nexport interface CasinoArenaConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner?: CasinoArenaPromotionalBannerConfiguration\r\n linkToOffer?: LinkToOfferConfiguration;\r\n filters: NullableUndefined;\r\n advancedFilters?: {\r\n categories: [{\r\n id: CategoryDefinitionId;\r\n }];\r\n };\r\n infoSideBar: InfoSideBarConfiguration;\r\n swiperGamesList: SwiperGamesListConfiguration[];\r\n allGamesGrid: ArenaGamesGridConfiguration[];\r\n orderListsByAI?: boolean;\r\n arenaType?: string;\r\n homepageHeader?: HomePageHeaderArena;\r\n}\r\n\r\nexport interface SwiperGamesListConfiguration extends ListConfiguration {\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly gamesId: number[];\r\n readonly gamesAdminRefKey?: string;\r\n readonly templateType?: string;\r\n readonly redTigerWidget?: RedTigerJackpotWidgetConfiguration;\r\n readonly jackpotWidget?: JackpotWidgetConfiguration;\r\n readonly titleIconClassName?: string;\r\n readonly useSquareIcons?: boolean;\r\n readonly showNumberBadge?: boolean;\r\n readonly useAISortedList?: boolean;\r\n readonly ignoreNumberOfGamesInAISorting?: number;\r\n readonly forceListInLayout?: boolean;\r\n readonly seeAll?: string;\r\n readonly listId?: number; // should be mandatory??\r\n readonly shouldInjectUsernameInTitle?: boolean;\r\n readonly apiListType?: ApiListType;\r\n readonly allowedGameGroups?: GAME_GROUP[];\r\n}\r\n\r\nexport interface LiveCasinoHeaderConfiguration {\r\n display: boolean;\r\n gameId: number;\r\n image: string;\r\n}\r\n\r\nexport interface LiveCasinoPromotionalBannerConfiguration {\r\n displayTablePlace: number;\r\n displayRowPlace: number;\r\n componentID: string;\r\n templateID: string;\r\n bannerAdminPlaceholderId?: string;\r\n}\r\n\r\nexport interface LiveCasinoConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner: LiveCasinoPromotionalBannerConfiguration;\r\n linkToOffer?: LinkToOfferConfiguration\r\n arenas: {\r\n gamesId: LiveCasinoHeaderConfiguration[];\r\n },\r\n popularTables: LiveCasinoPopularTableConfiguration[];\r\n customLayout: string;\r\n}\r\n\r\nexport interface NewLiveCasinoConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner: LiveCasinoPromotionalBannerConfiguration;\r\n arenas: HeaderFilterConfiguration[],\r\n allGamesGrid: ArenaGamesGridConfiguration[];\r\n customLayout: string;\r\n useAISortedList: boolean;\r\n linkToOffer?: LinkToOfferConfiguration;\r\n}\r\n\r\nexport interface LiveCasinoPopularTableConfiguration {\r\n title: string;\r\n gamesId: number[];\r\n useAISortedList?: boolean;\r\n ignoreNumberOfGamesInAISorting?: number;\r\n}\r\n\r\nexport interface ArenaGamesGridConfiguration extends ListConfiguration {\r\n readonly listId: number;\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly useAISortedList?: boolean;\r\n readonly ignoreNumberOfGamesInAISorting?: number;\r\n readonly gamesId: number[];\r\n readonly templateType?: string;\r\n readonly gamesAdminRefKey?: string;\r\n readonly useSquareIcons?: boolean;\r\n}\r\n\r\nexport interface HeaderFilterConfiguration {\r\n display: boolean;\r\n title: string;\r\n image: string;\r\n filter: string;\r\n seoPage: string;\r\n isActiveTabDefault?: boolean;\r\n maxGamesToShow?: number;\r\n banners?: {\r\n promotionalBanner: {\r\n templateID: string,\r\n componentID: string,\r\n bannerAdminPlaceholderId?: string\r\n }\r\n }\r\n}\r\n\r\nexport type ArenaConfiguration = CasinoArenaConfiguration & LiveCasinoConfiguration & NewLiveCasinoConfiguration;\r\n\r\nexport type ArenasConfiguration = {[key: string]: ArenaConfiguration};\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuItemsTitleBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n margin: 0;\r\n padding: 2rem;\r\n font-size: 1.6rem;\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n &:before {\r\n content: \"\";\r\n width: 3rem;\r\n height: 3rem;\r\n margin: 0 4rem 0 0;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -250px -356px;\r\n\r\n .cgp-rtl & {\r\n margin: 0 0 0 2rem;\r\n }\r\n\r\n .club888 & {\r\n background-position: -191px -418px;\r\n }\r\n }\r\n\r\n &:after {\r\n content: \"\";\r\n width: 15px;\r\n height: 15px;\r\n margin: 0 0 0 auto;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -746px -654px;;\r\n\r\n .cgp-rtl & {\r\n margin: 0 auto 0 0;\r\n transform: scaleX(-1);\r\n }\r\n }\r\n\r\n`","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\nconst UserMenuSectionDefaultBox = styled.div`\r\n /* .user-menu-box */\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n margin-top: 40px;\r\n color: ${({theme}) => theme.colors.text};\r\n background: ${({theme}) => theme.colors.background};\r\n border-radius: 5px;\r\n`;\r\n\r\n/* 777 */\r\nconst UserMenuSectionCasino777Box = styled(UserMenuSectionDefaultBox)`\r\n /* .user-menu-box */\r\n position: relative;\r\n margin-top: 50px;\r\n padding-top: 25px;\r\n background: linear-gradient(-45deg, rgba(252,246,213,0.8) 33.33%, rgba(25,50,47,0.1) 33.33%, rgba(25,50,47,0.2) 50%, rgba(252,246,213,0.8) 50%, rgba(252,246,213,0.8) 83.33%, rgba(25,50,47,0.1) 83.33%, rgba(25,50,47,0.1) 100%);\r\n background-size: 4px 4px;\r\n box-shadow: 2px 3px 1rem rgba(25,50,48,0.2);\r\n\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n width: 50px;\r\n height: 50px;\r\n background: ${({theme}) => theme.colors.background};\r\n border-top: 1px solid ${({theme}) => hexToRgba(theme.colors.textMiddleDark, 0.5) };\r\n border-left: 1px solid ${({theme}) => hexToRgba(theme.colors.textMiddleDark, 0.5) };\r\n box-shadow: 0.5rem 0.5rem 1rem rgba(25,50,47,0.2);\r\n transform: rotate(45deg) translate(calc(-50% - 10px));\r\n\r\n ${CssRule.For.RTL.build()} &{\r\n left: auto;\r\n right: 50%;\r\n }\r\n }\r\n`;\r\n\r\n/* 888 */\r\n/* delaware */\r\n/* bally's dover */\r\n/* harrington */\r\nconst UserMenuSectionCasino888Box = styled(UserMenuSectionDefaultBox)`\r\n /* .user-menu-box */\r\n margin-top: 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} { \r\n margin-top: 0;\r\n }\r\n`;\r\n\r\nconst UserMenuSectionCasinoSIBox = styled(UserMenuSectionDefaultBox)`\r\n margin-top: 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} { \r\n margin-top: 1rem;\r\n }\r\n`;\r\n\r\nconst UserMenuSectionMrGreenBox = styled(UserMenuSectionDefaultBox)`\r\n margin-top: 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} { \r\n margin-top: 1rem;\r\n }\r\n`;\r\n\r\nexport const UserMenuSectionBox = styledByTheme(UserMenuSectionDefaultBox)\r\n .forCasino777(UserMenuSectionCasino777Box)\r\n .forCasino888(UserMenuSectionCasino888Box)\r\n .forDelawarePark(UserMenuSectionCasino888Box)\r\n .forBallysDover(UserMenuSectionCasino888Box)\r\n .forHarrington(UserMenuSectionCasino888Box)\r\n .forSI(UserMenuSectionCasinoSIBox)\r\n .forMrGreen(UserMenuSectionMrGreenBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {UserMenuItemBox} from \"./boxes/user-menu-item.box\";\r\nimport {UserMenuItemsTitleBox} from \"./boxes/user-menu-items-title.box\";\r\nimport {MenuItemComponentProps} from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {observer} from \"mobx-react\";\r\nimport {UserMenuSectionBox} from \"../user-menu/boxes/user-menu-section.box\";\r\n\r\n\r\nexport const UserMenuItemComponent: React.FC = observer((props) => {\r\n return (\r\n props.menuItem.execute()}>\r\n \r\n \r\n {props.menuItem.text}\r\n \r\n \r\n \r\n )\r\n});\r\n","import React from 'react';\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {UserMenuItemComponent} from \"../../../../components/user-menu/user-menu-items/user-menu-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\n\r\nexport class GenericUserUserMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {\r\n IMenuItemConfigReader,\r\n MenuItemAnalyticsCategoryAndLabel,\r\n MenuItemConfigurationExtended\r\n} from \"./menu-item-config-reader.interface\";\r\nimport {\r\n MenuItemConfiguration,\r\n MenuItemsConfiguration\r\n} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {AnalyticsConfiguration} from \"../../configurations/config-data-sections/analytics.configuration\";\r\n\r\nexport abstract class MenuItemConfigReaderBase implements IMenuItemConfigReader {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n protected abstract _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined;\r\n protected abstract _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel | null;\r\n\r\n getMenuItemConfig(key: string): MenuItemConfigurationExtended {\r\n const allConfigs = this.services.configuration.data;\r\n const menuItemConfig: MenuItemConfiguration | undefined = allConfigs.menuItems[key];\r\n if(!menuItemConfig) {\r\n throw new Error(`Missing configuration for ${key} menu item`);\r\n }\r\n\r\n const menuItemsOverrides = this._getMenuItemsConfigOverrides();\r\n\r\n const menuItemConfigOverride: MenuItemConfiguration | undefined = menuItemsOverrides && menuItemsOverrides[key];\r\n\r\n\r\n\r\n const menuItemConfigProxyHandler = {\r\n get: (target: any, prop: string) => {\r\n if(prop === 'analytics') {\r\n const categoryAndLabel = this._getAnalyticsCategoryAndLabel();\r\n if(categoryAndLabel) {\r\n const analyticsConfig: AnalyticsConfiguration = {\r\n action: key,\r\n ...categoryAndLabel\r\n }\r\n return analyticsConfig;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const overridePropValue = menuItemConfigOverride && menuItemConfigOverride[prop];\r\n if(Check.isUndefined(overridePropValue)) {\r\n return target[prop];\r\n } else {\r\n return overridePropValue;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return new Proxy(menuItemConfig, menuItemConfigProxyHandler);\r\n\r\n\r\n }\r\n}\r\n\r\n","import {MenuItemConfigReaderBase} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader-base\";\r\n\r\nimport {\r\n MenuItemAnalyticsCategoryAndLabel\r\n} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory, OrbitUserFlowAnalyticsLabel} from \"../../analytics/analytics.service.interface\";\r\nimport {MenuItemsConfiguration} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\n\r\nexport class UserMenuItemConfigReader extends MenuItemConfigReaderBase {\r\n\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return this.services.configuration.data.drawer.menuItemsOverride;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel {\r\n return {\r\n category: OrbitUserFlowAnalyticsCategory.Navigation,\r\n label: OrbitUserFlowAnalyticsLabel.UserArea\r\n };\r\n }\r\n}","import {ServiceBase} from \"../ServiceBase\";\r\nimport {IUserMenuService} from \"./user-menu.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {IMenuItemRenderer} from \"../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {GenericUsefulLinksMenuItemRenderer} from \"./menu-items/useful-links/generic-useful-links-menu-item-renderer\";\r\nimport {\r\n loadCustomMenuItemsRenderers\r\n} from \"../menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader\";\r\nimport {\r\n GenericUserUserMenuItemRenderer\r\n} from \"./menu-items/user-menu-items/generic-user-user-menu-item-renderer\";\r\nimport {\r\n OrbitUserFlowAnalyticsAction,\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsLabel\r\n} from \"../analytics/analytics.service.interface\";\r\nimport {UserMenuItemConfigReader} from \"./menu-items/user-menu-item-config-reader\";\r\n\r\n\r\nexport class UserMenuService extends ServiceBase implements IUserMenuService, IOverlayConsumer {\r\n @observable.ref\r\n isOpen: boolean = false;\r\n @observable.ref\r\n isRewardsInfo: boolean = false;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.overlay.registerConsumer(this);\r\n this.services.sdk.events.onGameOpen(() => this.services.userMenu.closeMenu());\r\n\r\n this._menuItemConfigReader = new UserMenuItemConfigReader(services);\r\n\r\n let rendererModules = require.context('./menu-items/useful-links/custom-renderers', true, /.+\\.renderer\\.(ts|tsx)$/);\r\n this._customUsefulLinksMenuItems = loadCustomMenuItemsRenderers(rendererModules.keys().map(rendererModules),\r\n this._menuItemConfigReader,\r\n this.services);\r\n /*\r\n //Uncomment this when we will have custom renderers for user menu items\r\n rendererModules = require.context('./menu-items/user-menu-items/custom-renderers', true, /.+\\.renderer\\.(ts|tsx)$/);\r\n this._customUserMenuItems = loadCustomMenuItemsRenderers(rendererModules.keys().map(rendererModules),\r\n this._userMenuItemConfigReader,\r\n this.services);\r\n\r\n */\r\n }\r\n\r\n readonly _menuItemConfigReader: UserMenuItemConfigReader;\r\n private readonly _customUsefulLinksMenuItems: Partial> = {};\r\n private readonly _customUserMenuItems: Partial> = {};\r\n\r\n\r\n get needsOverlay(): boolean {\r\n return this.isOpen;\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return this.zIndex - 1;\r\n }\r\n\r\n get zIndex(): number {\r\n return this.services.sideMenu.zIndex - 1;\r\n }\r\n\r\n onOverlayClicked(): void {\r\n this.closeMenu();\r\n }\r\n\r\n @action.bound\r\n private _setIsOpen(shouldOpen: boolean) {\r\n this.isOpen = shouldOpen;\r\n }\r\n\r\n @action.bound\r\n private _setIsRewardsInfo(shouldBeRewards: boolean) {\r\n this.isRewardsInfo = shouldBeRewards;\r\n }\r\n\r\n private _sendOrbitUserFlowAnalytics(action: OrbitUserFlowAnalyticsAction): void {\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Navigation, action, OrbitUserFlowAnalyticsLabel.UserArea);\r\n }\r\n\r\n private _geUsefulLinksMenuItem(key: MenuItemKey): IMenuItemRenderer {\r\n let customMenuItem = this.services.regulation.current.menuItems.getUsefulLinksMenuItem(key);\r\n if(customMenuItem) {\r\n return customMenuItem;\r\n }\r\n customMenuItem = this._customUsefulLinksMenuItems[key];\r\n if(customMenuItem) {\r\n return customMenuItem;\r\n }\r\n return new GenericUsefulLinksMenuItemRenderer(key, this._menuItemConfigReader, this.services);\r\n }\r\n\r\n private _getUserMenuItem(key: MenuItemKey): IMenuItemRenderer {\r\n let menuItem = this.services.regulation.current.menuItems.getUserMenuItem(key);\r\n if(menuItem) {\r\n return menuItem;\r\n }\r\n menuItem = this._customUserMenuItems[key];\r\n if(menuItem) {\r\n return menuItem;\r\n }\r\n menuItem = new GenericUserUserMenuItemRenderer(key, this._menuItemConfigReader, this.services);\r\n return menuItem;\r\n }\r\n\r\n get usefulLinksMenuItems(): IMenuItemRenderer[] {\r\n return (this.services.configuration.data.drawer.usefulLinks ?? []).map(key => this._geUsefulLinksMenuItem(key)).filter(menuItem => menuItem.display);\r\n }\r\n\r\n get userMenuItems(): IMenuItemRenderer[] {\r\n return (this.services.configuration.data.drawer.userMenuItems ?? []).map(key => this._getUserMenuItem(key)).filter(menuItem => menuItem.display);\r\n }\r\n\r\n doLogout() {\r\n this._sendOrbitUserFlowAnalytics('logoutMenuItem');\r\n this.services.regulation.current.logoutUser();\r\n this.closeMenu();\r\n }\r\n\r\n get greeting() {\r\n const now = new Date();\r\n const hour = now.getHours();\r\n const minute = now.getMinutes();\r\n\r\n const {defaultMessage, conditions} = this.services.configuration.data.drawer.welcomeMessage;\r\n let result = defaultMessage;\r\n for (const rule of conditions) {\r\n const [ruleHour, ruleMinute] = rule.time.split(':').map(parseInt);\r\n\r\n if (hour > ruleHour) {\r\n result = rule.text;\r\n } else if (hour === ruleHour) {\r\n // NB: only if the current hour is strictly equal to the rule hour do we need to check the minutes\r\n if (minute >= ruleMinute) {\r\n result = rule.text;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n launchMyAccount(): void {\r\n this._sendOrbitUserFlowAnalytics('myAccountButton');\r\n this.services.externalLinks.openMyAccount();\r\n this.closeMenu();\r\n }\r\n\r\n launchDeposit(): void {\r\n this._sendOrbitUserFlowAnalytics('depositButton');\r\n this.services.cashier.openDeposit({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n this.closeMenu();\r\n }\r\n\r\n launchWithdraw(): void {\r\n this._sendOrbitUserFlowAnalytics('withdrawButton');\r\n this.services.cashier.openWithdraw({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.withdrawButton\r\n }\r\n });\r\n this.closeMenu();\r\n }\r\n\r\n openRewards(): void {\r\n this.openMenu();\r\n this._setIsRewardsInfo(true);\r\n }\r\n\r\n closeMenu(): void {\r\n if (this.isOpen) {\r\n this._setIsOpen(false);\r\n this._setIsRewardsInfo(false);\r\n }\r\n }\r\n\r\n openMenu(): void {\r\n if (!this.isOpen) {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigator', 'Navbar', 'Open_UserMenu');\r\n this._setIsOpen(true);\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.drawer.right.closeDrawer();\r\n }\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const GameBadgeDefaultBox = styled(Image)`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 24%;\r\n width: 23%;\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameBadgeDefaultBox} from './game-badge.default.box';\r\n\r\nexport const GameBadgeCasino777Box = styled(GameBadgeDefaultBox)`\r\n height: 28%;\r\n width: 28%;\r\n`;","import styled from 'styled-components';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const GameBadgeSIBox = styled(Image)`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n max-width: 40%;\r\n`;\r\n","import {GameBadgeDefaultBox} from './game-badge.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameBadgeCasino777Box} from './game-badge.casino777.box';\r\nimport {GameBadgeSIBox} from './game-badge.si.box';\r\n\r\nexport const GameBadgeBox = styledByTheme(GameBadgeDefaultBox)\r\n .forCasino777(GameBadgeCasino777Box)\r\n .forSI(GameBadgeSIBox)\r\n .forMrGreen(GameBadgeSIBox).apply();\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {GameBadgeBox} from '../../boxes/game-badge/game-badge.box';\r\n\r\nexport interface GameBadgeComponentProps {\r\n badgeUrl?: string;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\n\r\nexport class GameBadgeComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.badgeUrl) {\r\n return null;\r\n }\r\n\r\n if(this.props.useSquareIcons && !this.services.theme.supportBadgeOnSquareIcons) {\r\n return null;\r\n }\r\n\r\n if(this.props.badgeUrl) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n }\r\n}\r\n","import React from 'react';\r\nimport {GameBadgeComponent} from '../game-badge/game-badge.component';\r\nimport {GameImageComponent, GameIconAnimationState} from '../game-image/game-image.component';\r\nimport {observer} from 'mobx-react';\r\nimport {TapHandler} from '../../../../tap-handler/tap-handler.component';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {GAME_IMAGE_CONTAINER} from '../../../css-constants';\r\nimport {OrbitComponentWithState} from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\n\r\ninterface GameImageContainerComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport interface GameGameImageContainerComponentProps {\r\n gameInfo: GameInfo;\r\n box: AnyStyledComponent;\r\n playRealGameButton: React.ReactNode | null;\r\n onOpenRealGame: () => void;\r\n useSquareIcons?: boolean;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n}\r\n\r\n\r\nexport const GameImageContainerComponent = observer(\r\n class GameImageContainerComponent extends OrbitComponentWithState {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n }\r\n\r\n private _handleImageDoneLoading = () => {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n //className=\"game-item-image\"\r\n const gameItemImageRef: any = React.createRef();\r\n const Box = this.props.box;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.props.playRealGameButton}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {TWO_LINES_TITLE} from '../../../css-constants';\r\n\r\nexport const GameTitleDefaultBox = styled.div<{hasTwoLinesTitle?: boolean}>`\r\n text-align: center;\r\n color: ${props => props.theme.colors.backgroundContrast};\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n line-height: normal;\r\n width: 100%;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n direction: initial;\r\n padding-bottom: 2px;\r\n\r\n &.${TWO_LINES_TITLE} {\r\n max-width: 90%;\r\n white-space: initial;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.2rem;\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`\r\n","import styled from \"styled-components\";\r\nimport {GameTitleDefaultBox} from \"./game-title.default.box\";\r\n\r\nexport const GameTitleCipBox = styled(GameTitleDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.regular};\r\n }\r\n`","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleSIBox = styled(GameTitleDefaultBox)`\r\n font-weight: bold;\r\n`\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleMrGreenBox = styled(GameTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.light}\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\nimport {GameTitleCipBox} from \"./game-title.cip.box\";\r\nimport {GameTitleSIBox} from \"./game-title.si.box\";\r\nimport {GameTitleMrGreenBox} from './game-title.mrgreen.box';\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox)\r\n .forCip(GameTitleCipBox)\r\n .forWsopCip(GameTitleCipBox)\r\n .forSI(GameTitleSIBox)\r\n .forSICis(GameTitleSIBox)\r\n .forCasino777(GameTitleCasino777Box)\r\n .forMrGreen(GameTitleMrGreenBox).apply();","import styled from 'styled-components';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n text-align: center;\r\n opacity: 1;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n\r\nexport const MinMaxBetAmountDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './min-max-bet-amount.default.box';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n font-size: 1.4rem;\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n\r\n\r\nexport const MinMaxBetAmountCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\n\r\nexport const MinMaxBetAmountSIBox = styled(MinMaxBetAmountDefaultBox) `\r\n color: ${({theme}) => theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\nimport {baseColors} from '../../../../../themes/definitions/mrgreen/base-colors';\r\n\r\nexport const MinMaxBetAmountMrGreenBox = styled(MinMaxBetAmountDefaultBox)`\r\n color: ${baseColors.gray033};\r\n\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${baseColors.gray033};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\n\r\nexport const MinMaxBetAmountCisBox = styled(MinMaxBetAmountDefaultBox)`\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n }\r\n`;\r\n","import {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {MinMaxBetAmountCasino777Box} from './min-max-bet-amount.casino777.box';\r\nimport {MinMaxBetAmountSIBox} from './min-max-bet-amount.si.box';\r\nimport {MinMaxBetAmountMrGreenBox} from './min-max-bet-amount.mrgreen.box';\r\nimport { MinMaxBetAmountCisBox } from './min-max-bet-amount.cis.box';\r\n\r\nexport const MinMaxBetAmountBox = styledByTheme(MinMaxBetAmountDefaultBox)\r\n .forCasino777(MinMaxBetAmountCasino777Box)\r\n .forSI(MinMaxBetAmountSIBox)\r\n .forMrGreen(MinMaxBetAmountMrGreenBox)\r\n .forMrGreenCis(MinMaxBetAmountMrGreenBox)\r\n .forCis(MinMaxBetAmountCisBox)\r\n .forCip(MinMaxBetAmountCisBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\n\r\nexport interface InfoPageButtonComponentProps {\r\n enabled: boolean;\r\n onOpenInfoPage: () => void;\r\n}\r\n\r\nexport const InfoPageButtonComponent = observer(\r\n class InfoPageButtonComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.enabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {GameButtonsDefaultBox} from './game-buttons.default.box';\r\n\r\nexport const GameButtonsBox = GameButtonsDefaultBox;","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n//.hover-details\r\nexport const GameButtonsDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n width: 100%;\r\n z-index: 2;\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n transform: translateY(5rem);\r\n opacity: 0;\r\n transition: all 0.3s ease-in-out;\r\n padding-top: 2px;\r\n\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n`;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {CyClass} from '../../../../../../common/cy-classes';\r\n\r\nexport interface PlayDemoButtonComponentProps {\r\n enabled: boolean;\r\n onOpenAnonymousGame: () => void;\r\n}\r\n\r\nexport const PlayDemoButtonComponent = observer(\r\n class PlayDemoButtonComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.enabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n { this.services.translation.translate('DEMO') }\r\n \r\n );\r\n\r\n }\r\n }\r\n);\r\n\r\n","import styled from 'styled-components';\r\n\r\ninterface GameDetailsContainerProps {\r\n squareGameIcon?: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n align-content: center;\r\n justify-content: flex-start;\r\n overflow: hidden;\r\n top: ${props => props.squareGameIcon? '10px' : '0'};\r\n min-height: 4.7rem;\r\n padding: 0 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 4rem;\r\n padding: 0 0.4rem;\r\n top: ${props => props.squareGameIcon? '5px' : '0'};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n min-height: 3.6rem;\r\n }\r\n /** Glow Line Boottom **/\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowPC.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: bottom center;\r\n background-size: contain;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 40px;\r\n margin: 0 auto;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowMobile.toString()}\");\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {\r\n GameDetailsContainerDefaultBox\r\n} from './game-details-container.default.box';\r\n\r\n\r\n\r\nexport const GameDetailsContainerCasino777Box = styled(GameDetailsContainerDefaultBox)`\r\n overflow: initial;\r\n &:after {\r\n background-size: 75%;\r\n opacity: .6;\r\n height: 15px;\r\n bottom:-15px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n bottom:-18px;\r\n }\r\n }\r\n`","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameDetailsContainerCasino777Box} from './game-details-container.casino777.box';\r\n\r\nexport const GameDetailsContainerBox = styledByTheme(GameDetailsContainerDefaultBox).forCasino777(GameDetailsContainerCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 70%;\r\n text-align: center;\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n margin-bottom: 4px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n width: 100%;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\n\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountSiBox = styled(JackpotAmountDefaultBox)`\r\n font-size: ${props => props.theme.font.size.small};\r\n font-weight: 400;\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountMrgreenBox = styled(JackpotAmountDefaultBox)`\r\n width: 100%;\r\n`","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\nimport {JackpotAmountSiBox} from \"./jackpot-amount.si.box\";\r\nimport {JackpotAmountMrgreenBox} from \"./jackpot-amount.mrgreen.box\";\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox)\r\n .forCasino777(JackpotAmountCasino777Box)\r\n .forSI(JackpotAmountSiBox)\r\n .forSICis(JackpotAmountSiBox)\r\n .forMrGreen(JackpotAmountMrgreenBox)\r\n .forMrGreenCis(JackpotAmountMrgreenBox)\r\n .apply();","import {GameInfoContainerDefaultBox} from './game-info-container.default.box';\r\n\r\nexport const GameInfoContainerBox = GameInfoContainerDefaultBox;","import styled from 'styled-components';\r\nimport {ENABLE_HOVER_ANIMATION, GAME_BOX} from '../../../css-constants';\r\n\r\nexport const GameInfoContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n padding-top: 2px;\r\n width: 100%;\r\n transition: all 0.3s ease-in-out;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0;\r\n }\r\n \r\n\r\n .${GAME_BOX}:hover &{\r\n &.${ENABLE_HOVER_ANIMATION} {\r\n transform: translateY(6rem);\r\n opacity: 0;\r\n }\r\n \r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const AmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 2.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 2.0rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const TwoRowsGameTitleContainerBox = styled.div<{hasDetails: boolean}>`\r\n height: 3.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n height: 2.7rem;\r\n }\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport {observer} from 'mobx-react';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport classNames from 'classnames';\r\nimport {ENABLE_HOVER_ANIMATION, TWO_LINES_TITLE} from '../../../css-constants';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\n\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {MinMaxBetAmountBox} from '../../boxes/min-max-bet-amount/min-max-bet-amount.box';\r\nimport {InfoPageButtonComponent} from '../info-page-button/info-page-button.component';\r\nimport {GameButtonsBox} from '../../boxes/game-buttons/game-buttons.box';\r\nimport {PlayDemoButtonComponent} from '../play-demo-button/play-demo-button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\nimport {GameInfoContainerBox} from '../../boxes/game-info-container/game-info-container.box';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport { AmountContainerBox } from '../../boxes/amount-container/amount-container.box';\r\nimport { TwoRowsGameTitleContainerBox } from '../../boxes/two-rows-game-title-container/two-rows-game-title-container.box';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n squareGameIcon?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n\r\n private get _allowHoverDetails(): boolean {\r\n\r\n if (this.props.disableGameInfoHover || this.services.device.isMobile || !this.props.gameInfo.allowHoverDetails) {\r\n return false;\r\n }\r\n\r\n return Boolean(this.props.gameInfo.hasInfoPage || this.props.gameInfo.allowDemoButtonInSingleGame);\r\n }\r\n\r\n\r\n private _renderGameButtons() {\r\n if (!this._allowHoverDetails) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderAmount() {\r\n if (this.props.gameInfo.hasJackpot) {\r\n return this._renderJackpot();\r\n }\r\n\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n const hasMinMaxBets = this.props.gameInfo.allowMinMaxBet && formattedMinBaxBets;\r\n if (hasMinMaxBets) {\r\n return this._renderMinBaxBet();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _hasDetails() {\r\n return this.props.gameInfo.allowMinMaxBet || this.props.gameInfo.hasJackpot;\r\n }\r\n\r\n private _renderJackpot() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderMinBaxBet() {\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n return (\r\n \r\n {formattedMinBaxBets}\r\n \r\n );\r\n }\r\n\r\n private _renderTitle() {\r\n const hasDetails = this._hasDetails();\r\n if (this.props.hasTwoLinesTitle) {\r\n return \r\n \r\n {this.props.gameInfo.title}\r\n \r\n ;\r\n } else {\r\n return \r\n {this.props.gameInfo.title}\r\n ;\r\n }\r\n }\r\n\r\n private _renderGameInfoSection() {\r\n return (\r\n \r\n {this._renderTitle()}\r\n {this.props.hasTwoLinesTitle || this._hasDetails()?\r\n {this._renderAmount()}\r\n : null}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderGameInfoSection()}\r\n {this._renderGameButtons()}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {HOME_PAGE, LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface GameBoxProps {\r\n squareGameIcon: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n margin-top: 10px;\r\n margin-bottom: 3rem;\r\n width: calc(100% / 7);\r\n text-align: center;\r\n cursor: pointer;\r\n user-select: none;\r\n\r\n\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n justify-content: center;\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} &.${SWIPER_MODE} {\r\n width: 16.6667%;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1%;\r\n width: calc(100% / 7);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: ${props => props.squareGameIcon ? '15px' : '0'};\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0 4px;\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16.1%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 20%;\r\n &.${SWIPER_MODE} {\r\n width: 19%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 33.3333%;\r\n &.${SWIPER_MODE} {\r\n width: 31%;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game.default.box';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n margin-bottom: 5.5rem;\r\n\r\n .${SWIPER_MODE} &{\r\n height:24rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n width:14.25%;\r\n padding: 0 1%;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${SWIPER_MODE} & {\r\n height:22rem;\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${SWIPER_MODE} &{\r\n height: 18rem;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n .${SWIPER_MODE} &{\r\n height: 26rem;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport {GameDefaultBox} from \"./game.default.box\";\r\n\r\nexport const GameCisBox = styled(GameDefaultBox)`\r\n margin-bottom: 0;\r\n margin-top: 0\r\n`;","import {GameDefaultBox} from './game.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameCasino777Box} from './game.casino777.box';\r\nimport {GameCisBox} from \"./game.cis.box\";\r\n\r\n// TODO: address this any!!!!\r\nexport const GameBox: any = styledByTheme(GameDefaultBox)\r\n .forCis(GameCisBox)\r\n .forCasino777(GameCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n\r\nexport const PlayRealButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0;\r\n transition: all 0.35s ease-in-out;\r\n\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlExact} {\r\n background-position: -552px -408px;\r\n }\r\n\r\n`;","import styled from 'styled-components';\r\nimport {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\n\r\nexport const PlayRealButtonCasino777Box = styled(PlayRealButtonDefaultBox)`\r\n background-position: -195px -354px;\r\n width: 6.3rem;\r\n height: 6.3rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n background-position: -201px -358px;\r\n }\r\n`;","import {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {PlayRealButtonCasino777Box} from './play-real-button.casino777.box';\r\n\r\n\r\nexport const PlayRealButtonBox = styledByTheme(PlayRealButtonDefaultBox).forCasino777(PlayRealButtonCasino777Box).apply();\r\n","import styled, {css} from 'styled-components';\r\nimport { ORBIT_TAP } from '../../../../../themes/css-global-classes';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface GameImageContainerProps {\r\n isLoading?: boolean;\r\n squareIcon?: boolean;\r\n isCasinoGameIcon?: boolean;\r\n}\r\n\r\nfunction getPlaceholderBackground(theme, isLoading: boolean, isSquareIcon: boolean, isCasinoGameIcon: boolean): string {\r\n\r\n if (isLoading) {\r\n return theme.images.emptyImage.toString();\r\n }\r\n\r\n if (isCasinoGameIcon) {\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.cardAndTablesSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.cardAndTablesBackgroundImage.toString();\r\n }\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.defaultSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.defaultBackgroundImage.toString();\r\n}\r\n\r\n//.game-item-image\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n max-width: 21rem;\r\n margin: auto;\r\n background: url(${({theme, squareIcon, isLoading, isCasinoGameIcon}) => getPlaceholderBackground(theme, isLoading, squareIcon, isCasinoGameIcon)}) no-repeat center center;\r\n background-size: 100%;\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n background-size: 96%;\r\n `};\r\n\r\n &::after {\r\n position: absolute;\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n content: \"\";\r\n top: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n left: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n right: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n bottom: ${({squareIcon}) => squareIcon ? \"0\" : \"1.5rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n\r\n border-radius: ${({squareIcon}) => squareIcon ? \"1.5rem\" : \"35%\"};\r\n animation: LoadingAnimation 1s linear 3;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n transform: none;\r\n\r\n &.${ORBIT_TAP} {\r\n transform: scale(0.95);\r\n }\r\n\r\n ${props => props.squareIcon && css`\r\n border-radius: 8px;\r\n `};\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\n\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game-image-container.default.box';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\n\r\n\r\nfunction common(): string {\r\n return `\r\n max-width: 19rem;\r\n & > .${SINGLE_GAME_IMAGE} {\r\n top: 4px;\r\n position: relative;\r\n }\r\n `;\r\n}\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common()}\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &img {\r\n min-height: 139px\r\n .${LOBBY_PAGE} & {\r\n min-height: 125px;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common()}\r\n`;\r\n\r\nexport const GameImageContainerCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import React from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport { observer } from \"mobx-react\";\r\nimport {GameInfo} from \"../../../services/games/game-info\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileComponent} from \"../../live-streaming-tile/video-common-components/video-tile/video-tile.component\";\r\nimport {VideoItemContainerBox} from \"./boxes/video-item-container.box\";\r\nimport {IVideoPlayingService} from \"../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport enum VIDEO_ITEM_TYPE {\r\n LIVE_STREAM = 'Live-Streaming-Video-Item',\r\n STATIC = 'Static-Video-Item'\r\n}\r\n\r\nexport interface SingleGameVideoTemplateProps {\r\n gameInfo: GameInfo;\r\n intersectionTarget?: HTMLDivElement;\r\n onOpenRealGame: () => void;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n gameIndex?: number;\r\n onBringInCentralView: (gameIndex: number) => void;\r\n\r\n}\r\n\r\n@observer\r\nexport class SingleGameVideoTemplate extends OrbitComponent {\r\n\r\n constructor(props: SingleGameVideoTemplateProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n\r\n private _inSwiperIntersectionObserver: IntersectionObserver | null = null;\r\n private _viewportIntersectionObserver: IntersectionObserver | null = null;\r\n private _videoContainerElement: HTMLDivElement | null = null;\r\n @observable.ref\r\n private _isInCenterStage = false;\r\n @observable.ref\r\n private _inViewport = false;\r\n\r\n private _captureVideoContainerRef = (element: HTMLDivElement | null) => {\r\n this._videoContainerElement = element;\r\n if (!this._inSwiperIntersectionObserver || !this._viewportIntersectionObserver) {\r\n return;\r\n }\r\n if (element) {\r\n this._inSwiperIntersectionObserver.observe(element);\r\n this._viewportIntersectionObserver.observe(element);\r\n } else {\r\n this._inSwiperIntersectionObserver.unobserve(element);\r\n this._viewportIntersectionObserver.unobserve(element);\r\n }\r\n }\r\n\r\n\r\n private _triggerOnBringInCentralView(): void {\r\n if (this._inViewport && this._isInCenterStage) {\r\n this.props.onBringInCentralView(this.props.gameIndex);\r\n }\r\n }\r\n\r\n private _createSwiperIntersectionObserver(element: HTMLElement) {\r\n const intersectionObserverOptions: IntersectionObserverInit = {\r\n threshold: 0.99,\r\n root: element\r\n };\r\n if (this.services.mediaQuery.xlAndAbove) {\r\n intersectionObserverOptions.rootMargin = \"0px -33.33%\";\r\n }\r\n\r\n this._inSwiperIntersectionObserver = new IntersectionObserver(this._inSwiperIntersectionObserverCallback, intersectionObserverOptions);\r\n }\r\n\r\n private _inSwiperIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setIsInCenterStage(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setIsInCenterStage(i: boolean) {\r\n this._isInCenterStage = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroySwiperIntersectionObserver() {\r\n if (this._inSwiperIntersectionObserver) {\r\n this._inSwiperIntersectionObserver.disconnect();\r\n this._inSwiperIntersectionObserver = null;\r\n }\r\n }\r\n\r\n private _createViewportIntersectionObserver() {\r\n this._viewportIntersectionObserver = new IntersectionObserver(this._viewportIntersectionObserverCallback, {\r\n threshold: 0.99\r\n });\r\n }\r\n\r\n private _viewportIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setInViewport(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setInViewport(i: boolean) {\r\n this._inViewport = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroyViewportIntersectionObserver() {\r\n if (this._viewportIntersectionObserver) {\r\n this._viewportIntersectionObserver.disconnect();\r\n this._viewportIntersectionObserver = null;\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this._createViewportIntersectionObserver();\r\n if (this._videoContainerElement) {\r\n this._viewportIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n if (this.props.intersectionTarget) {\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n if (this._videoContainerElement) {\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroySwiperIntersectionObserver();\r\n this._destroyViewportIntersectionObserver();\r\n }\r\n\r\n componentDidUpdate(prevProps: SingleGameVideoTemplateProps) {\r\n if (this.props.intersectionTarget) {\r\n if (this.props.intersectionTarget !== prevProps.intersectionTarget) {\r\n this._destroySwiperIntersectionObserver();\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n } else {\r\n this._destroySwiperIntersectionObserver();\r\n }\r\n }\r\n\r\n private _getVideoPlayingService = (): IVideoPlayingService => {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.LIVE_STREAM) {\r\n return this.services.liveStreamPlaying;\r\n }\r\n\r\n return this.services.staticVideoPlaying;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameImageContainerCasino777Box} from './game-image-container.casino777.box';\r\n\r\nexport const GameImageContainerBox = styledByTheme(GameImageContainerDefaultBox).forCasino777(GameImageContainerCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const GameNumberBadgeDefaultBox = styled.div`\r\n font-size: 100px;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.secondary};\r\n margin-right: -30px;\r\n color: ${props => props.theme.colors.backgroundDark};\r\n z-index: 2;\r\n text-shadow: -1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n -1px 1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px 1px 0 ${props => props.theme.colors.brandPrimary};\r\n\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: -17px;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 75px;\r\n margin-right: -16px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\n\r\nexport const GameNumberBadgeMrGreenBox = styled(GameNumberBadgeDefaultBox)`\r\n font-size: 110px;\r\n font-family: \"Oleo-Script-Bold\", verdana, sans-serif;\r\n text-shadow: none;\r\n color: white;\r\n -webkit-text-fill-color: white;\r\n -webkit-text-stroke-width: 3px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.brandPrimary};\r\n`;\r\n","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\nimport {GameNumberBadgeMrGreenBox} from \"./game-number-badge.mrgreen.box\";\r\n\r\nexport const GameNumberBadgeBox = styledByTheme(GameNumberBadgeDefaultBox).forMrGreen(GameNumberBadgeMrGreenBox).apply();\r\n","import React from 'react'\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {PlayRealButtonBox} from './boxes/play-real-button/play-real-button.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameNumberBadgeBox} from \"./boxes/game-number-badge/game-number-badge.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport { GameIconAnimationState } from '../common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameRegularTemplateComponentProps {\r\n className: string;\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onMouseEnter: () => void;\r\n onMouseLeave: () => void;\r\n onOpenRealGame: () => void;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n gameIndex?: number;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const SingleGameRegularTemplateComponent = observer(\r\n class SingleGameRegularTemplateComponent extends OrbitComponent {\r\n\r\n get gameInfo(): GameInfo {\r\n return this.props.gameInfo;\r\n }\r\n\r\n private _renderPlayRealGameButton() {\r\n if(this.services.device.os.isMobileOS) {\r\n return null;\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameNumberBadge() {\r\n if(!this.props.showNumberBadge || Check.isNullOrUndefined(this.props.gameIndex)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.gameIndex+1}\r\n \r\n )\r\n }\r\n render() {\r\n return (\r\n <>\r\n\r\n {this._renderGameNumberBadge()}\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class CssClassNameBuilder {\r\n _classes: string[] = [];\r\n append(...classes): this {\r\n\r\n classes.forEach(item => {\r\n if(Check.isString(item)) {\r\n this._classes.push(item);\r\n } else if(Check.isArray(item)) {\r\n item.forEach(c => this._classes.push(String(c)));\r\n } else if (Check.isNullOrUndefined(item)) {\r\n // just ignore it\r\n } else {\r\n throw new Error('append method accepts only string or string[] as argument');\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n build() {\r\n let result = this._classes.reduce((acc, curr) => acc + ' ' + curr, '');\r\n return result.substring(1, result.length);\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 32%;\r\n margin: 10px 1% 0 0.25rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n padding-bottom: 5rem;\r\n cursor: pointer;\r\n user-select: none;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n justify-content: center;\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n flex-direction: row;\r\n justify-content: space-around;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 49%;\r\n flex-shrink: 0;\r\n padding: 0.5rem;\r\n margin-right:0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 100%;\r\n padding: 0 2em 1em;\r\n margin-left:0;\r\n margin-right:0;\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import {GameDefaultBox} from './game.default.box';\r\n\r\nexport const GameBox = GameDefaultBox;","import styled from 'styled-components';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 40%;\r\n max-width: 20rem;\r\n margin-left: 0;\r\n margin-right: 3.5rem;\r\n overflow: visible;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n\r\n &:after {\r\n content: \"\";\r\n background-image: url(\"${props => props.theme.images.verticalLineGlow.toString()}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n transform: translateX(100%);\r\n }\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n\r\n\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n }\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:after {\r\n right: -8%;\r\n width: 25px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 80%;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\n\r\nexport const GameImageContainerBox = GameImageContainerDefaultBox;","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\n\r\nexport const GameDetailsContainerBox = GameDetailsContainerDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n flex: 1 0 auto;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0;\r\n overflow: hidden;\r\n text-align: center;\r\n font-size: 1rem;\r\n align-items: flex-start;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 0.85rem;\r\n justify-content: space-between;\r\n min-height: 4rem;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n align-items: center;\r\n font-size: 0.7rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameTitleDefaultBox = styled.div`\r\n line-height: 2.5rem;\r\n font-size: 1.5em;\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n max-width: 13rem;\r\n line-height: 1.7;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n font-size: 1.9em;\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\n\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox).forCasino777(GameTitleCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 2.6em;\r\n width: 100%;\r\n margin-bottom: 4px;\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n font-size: 2.2em;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {baseColors} from \"../../../../../themes/definitions/casino777/base-colors\";\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-weight: 300;\r\n color: ${baseColors.base04Dark};\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n color: ${props => props.theme.colors.textLight};\r\n text-shadow: none;\r\n letter-spacing: .3px;\r\n -webkit-text-stroke-width: 0;\r\n -webkit-text-stroke-color: transparent;\r\n }\r\n`;\r\n","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox).forCasino777(JackpotAmountCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.gameInfo.title}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {this.services.translation.translate('HIT_THE_JACKPOT')}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {GAME_BOX_JACKPOT_TEMPLATE} from '../css-constants';\r\n\r\nexport interface SingleGameJackpotTemplateComponentProps {\r\n gameInfo: GameInfo;\r\n className: string;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const SingleGameJackpotTemplateComponent = observer(\r\n class SingleGameJackpotTemplateComponent extends OrbitComponent {\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {LiveGameContainerDefaultBox} from \"./live-game-container.default.box\";\r\n\r\nexport const LiveGameContainerBox = LiveGameContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveGameContainerDefaultBox = styled.div`\r\n\r\n flex-shrink: 0;\r\n width: calc(100% / 4);\r\n padding: 1rem 0.5rem 3rem 0.5rem;\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 1rem 0.5rem;\r\n }\r\n`;\r\n","import React from 'react'\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {LiveGameContainerBox} from './boxes/live-game-container/live-game-container.box';\r\nimport {LiveCasinoArenaGridItem} from '../../arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\n\r\nexport interface SingleGameLiveTemplateComponentProps {\r\n tableConfig: GameInfo;\r\n}\r\n\r\nexport const SingleGameLiveTemplateComponent = observer(\r\n class SingleGameLiveTemplateComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import {VideoTileDefaultBox} from \"./video-tile-default.box\";\r\n\r\nexport const VideoTileBox = VideoTileDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n box-shadow: ${props => props.theme.colors.boxBorderDark} 0px 10px 8px -6px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n border-radius: 12px;\r\n border: 0.5px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.lAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 12.5vw;\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.mAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 25vw;\r\n }\r\n`;\r\n","import {VideoOverlayItemDefaultBox} from \"./video-overlay-item.default.box\";\r\n\r\nexport const VideoOverlayItemBox = VideoOverlayItemDefaultBox;\r\n","import styled, {css} from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\ninterface ILiveStreamingOverlayItemDefaultBoxProps {\r\n capsule?: boolean;\r\n transparent?: boolean;\r\n}\r\n\r\nexport const VideoOverlayItemDefaultBox = styled.div`\r\n display: flex;\r\n background: ${({theme, transparent}) => !transparent && hexToRgba(theme.colors.background.toString(), 0.7)};\r\n\r\n\r\n ${({capsule}) => !capsule ? css`\r\n padding: 2px;\r\n border-radius: 4px;\r\n ` : css`\r\n padding: 0 0.25rem;\r\n border-radius: 2rem;\r\n `}\r\n`;\r\n","import {VideoSoundButtonDefaultBox} from \"./video-sound-button-default.box\";\r\n\r\nexport const VideoSoundButtonBox = VideoSoundButtonDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoSoundButtonDefaultBox = styled.div`\r\n padding: 0.25rem;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.9) };\r\n border-radius: 50%;\r\n`;\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoSoundButtonBox} from \"./boxes/video-sound-button.box\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoSoundButtonComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n}\r\n\r\nexport class VideoSoundButtonComponent extends OrbitComponent {\r\n private _renderIcon() {\r\n\r\n if (this.props.videoPlayingService.isVideoMuted) {\r\n const MuteIcon = this.services.theme.currentTheme.icons.muteIcon;\r\n return ;\r\n }\r\n\r\n const UnmuteIcon = this.services.theme.currentTheme.icons.unmuteIcon;\r\n return ;\r\n }\r\n\r\n private _handleClick() {\r\n this.props.videoPlayingService.toggleVideoSound();\r\n }\r\n\r\n render() {\r\n return (\r\n this._handleClick()}>\r\n {this._renderIcon()}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoOverlayItemBox} from \"../video-overlay-item/video-overlay-item.box\";\r\nimport {VideoSoundButtonComponent} from \"../video-sound-button/video-sound-button.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoTileOverlayComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n videoPlaying: boolean;\r\n bottomLeftComponent?: React.ReactNode;\r\n bottomRightComponent?: React.ReactNode;\r\n}\r\n\r\nexport class VideoTileOverlayComponent extends OrbitComponent {\r\n\r\n private _padding = \"1rem\";\r\n\r\n private _renderTopRight(): React.ReactElement {\r\n if (!this.props.videoPlaying) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderBottomLeft(): React.ReactElement {\r\n if (!this.props.bottomLeftComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomLeftComponent}\r\n \r\n );\r\n }\r\n\r\n private _renderBottomRight(): React.ReactElement {\r\n if (!this.props.bottomRightComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomRightComponent}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderTopRight()}\r\n {this._renderBottomLeft()}\r\n {this._renderBottomRight()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoTileOverlayDefaultBox} from \"./video-tile-overlay-default.box\";\r\n\r\nexport const VideoTileOverlayBox = VideoTileOverlayDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n background: rgba(0,0,0,0.5);\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoTileStaticImageOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0px;\r\n right: 0;\r\n background-color: ${props => hexToRgba(props.theme.colors.background, 0.85)};;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\nimport {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\n\r\nexport const VideoTileStaticImageOverlayMrGreenBox = styled(VideoTileStaticImageOverlayDefaultBox)`\r\n background-color: ${props => hexToRgba(props.theme.colors.backgroundMiddleDark, 0.85)};\r\n`;\r\n","import {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoTileStaticImageOverlayMrGreenBox} from \"./video-tile-static-image-overlay.mrgreen.box\";\r\n\r\nexport const VideoTileStaticImageOverlayBox = styledByTheme(VideoTileStaticImageOverlayDefaultBox)\r\n .forMrGreen(VideoTileStaticImageOverlayMrGreenBox)\r\n .apply();\r\n","import {VideoTileSkeletonContainerDefaultBox} from \"./video-tile-skeleton-container-default.box\";\r\n\r\nexport const VideoTileSkeletonContainerBox = VideoTileSkeletonContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.video`\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const VideoDefaultBox = DefaultBox;\r\n","import { VideoDefaultBox } from './video-default.box';\r\nimport { styledByTheme } from '../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const VideoBox = styledByTheme(VideoDefaultBox).apply();\r\n","import { VideoPlayButtonDefaultBox } from './video-play-button.default.box';\r\n\r\n\r\nexport const VideoPlayButtonBox = VideoPlayButtonDefaultBox;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const VideoPlayButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0.9;\r\n transform: scale(1.5);\r\n transform: translateY(0);\r\n transition: all 0.35s ease-in-out;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\ninterface LiveStreamingVideoContainerBoxProps {\r\n videoIsLoading: boolean;\r\n videoWatchTimeLimitReached: boolean;\r\n displayVideo: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n display: ${props => props.displayVideo ? 'block' : 'none'};\r\n width: 100%;\r\n height: 100%;\r\n ${props => props.videoIsLoading || props.videoWatchTimeLimitReached ? 'filter: blur(2px)' : null};\r\n`;\r\n\r\nexport const VideoContainerDefaultBox = DefaultBox;\r\n","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { VideoContainerDefaultBox } from './video-container-default.box';\r\n\r\nexport const VideoContainerBox = styledByTheme(VideoContainerDefaultBox).apply();\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { CyClass } from '../../../../../common/cy-classes';\r\nimport { OrbitComponent } from '../../../base-components/orbit-component/orbit-component';\r\nimport { IVideoPlayer } from '../../../../services/video-live-stream/video-players/video-player.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport { VideoBox } from './boxes/video.box';\r\nimport { VideoPlayButtonBox } from \"../video-play-button/video-play-button.box\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {VideoContainerBox} from '../video-container/video-container.box';\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\ninterface VideoComponentProps {\r\n gameInfo: GameInfo;\r\n muted: boolean;\r\n onError?: (hasError: boolean, retryFn?: (() => void) | undefined) => void;\r\n onLoading?: (isLoading: boolean) => void;\r\n onWatchTimeLimitReached?: (watchTimeLimitReached: boolean) => void;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n display: boolean;\r\n videoPlayingService: IVideoPlayingService;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoComponent extends OrbitComponent {\r\n @observable.ref\r\n private _videoPlayer: IVideoPlayer = null;\r\n\r\n constructor(props: VideoComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @action.bound\r\n setLiveStreamPlayer(player: IVideoPlayer) {\r\n this._videoPlayer = player;\r\n }\r\n\r\n private _videoElement: HTMLVideoElement | null = null;\r\n private _isAppVisible = true;\r\n\r\n private _captureVideoRef = (mediaElement: HTMLVideoElement | null) => {\r\n if (mediaElement) {\r\n this._videoElement = mediaElement;\r\n }\r\n }\r\n\r\n private async _createVideoPlayer() {\r\n const liveStreamPlayer = await this.props.videoPlayingService.getVideoPlayer(this.props.gameInfo, this._videoElement, this.props.isLastGametype);\r\n this.setLiveStreamPlayer(liveStreamPlayer);\r\n }\r\n\r\n private _playVideo = async () => {\r\n if (!this._videoPlayer) {\r\n await this._createVideoPlayer();\r\n }\r\n\r\n this._videoPlayer.play();\r\n }\r\n\r\n private _pauseVideo = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.pause();\r\n }\r\n }\r\n\r\n private _detectIfVideoIsInFocus = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n } else {\r\n this._pauseVideo();\r\n }\r\n }\r\n\r\n private _handlePlayVideoClick = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n this._videoPlayer.logUIAction('info', 'VideoPlayClick');\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendAnalytics(gaCategory, \"AUTOPLAY\", \"VIDEO_PLAY_CLICK\", this.props.gameInfo.gameType, true);\r\n }\r\n }\r\n\r\n private _renderPlayerControls = () => {\r\n return this._videoPlayer?.autoplayAllowed ? null : (\r\n \r\n );\r\n }\r\n\r\n @action.bound\r\n private _destroyPlayer = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.destroy();\r\n this._videoPlayer = null;\r\n }\r\n };\r\n\r\n private _retryPlay = () => {\r\n this._destroyPlayer();\r\n this._detectIfVideoIsInFocus();\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this._detectIfVideoIsInFocus();\r\n\r\n this.reaction(() => this._videoPlayer?.hasError, (hasError) => {\r\n this.props.onError(hasError, hasError ? this._retryPlay : undefined);\r\n });\r\n this.reaction(() => this._videoPlayer?.isLoading, (isLoading) => {\r\n this.props.onLoading(isLoading);\r\n });\r\n this.reaction(() => this._videoPlayer?.watchTimeLimitReached, (watchTimeLimitReached) => {\r\n this.props.onWatchTimeLimitReached(watchTimeLimitReached);\r\n });\r\n this.reaction(() => this.props.videoPlayingService.isAppVisible, (isAppVisible) => {\r\n this._isAppVisible = isAppVisible;\r\n this._detectIfVideoIsInFocus();\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: VideoComponentProps) {\r\n if (this.props.isInCenterStage !== prevProps.isInCenterStage || this.props.inViewport !== prevProps.inViewport) {\r\n this._detectIfVideoIsInFocus();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n\r\n this._destroyPlayer();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderPlayerControls()}\r\n \r\n )\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedButtonProps {\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedButton = styled.div`\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n margin-left: auto;\r\n\r\n background: rgba(255, 255, 255, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2.5s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.25;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedRectangleProps {\r\n top?: boolean;\r\n left?: boolean;\r\n right?: boolean;\r\n bottom?: boolean;\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedRectangle = styled.div`\r\n\r\n position: absolute;\r\n\r\n top: ${({top}) => top ? \"1rem\" : \"initial\"};\r\n left: ${({left}) => left ? \"1rem\" : \"initial\"};\r\n right: ${({right}) => right ? \"1rem\" : \"initial\"};\r\n bottom: ${({bottom}) => bottom ? \"1rem\" : \"initial\"};\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n\r\n background: rgba(0, 0, 0, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.5;\r\n }\r\n }\r\n`;\r\n","import {VideoTileFooterDefaultBox} from \"./video-tile-footer-default.box\";\r\n\r\nexport const VideoTileFooterBox = VideoTileFooterDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterDefaultBox = styled.div`\r\n display: flex;\r\n position: relative;\r\n padding: 2rem 1rem;\r\n align-items: center;\r\n justify-content: space-between;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n padding: 3rem 2.5rem;\r\n }\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 1px;\r\n left: 0;\r\n bottom: 0;\r\n background: linear-gradient(90deg, transparent 10%, rgba(255, 255, 255, 0.85), transparent 90%);\r\n }\r\n`;\r\n","import {VideoTileSkeletonDefaultbox} from \"./video-tile-skeleton.defaultbox\";\r\n\r\nexport const VideoTileSkeletonbox = VideoTileSkeletonDefaultbox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonDefaultbox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n`;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {Image} from \"../raw-components/image/image\";\r\nimport {GameBox} from \"../single-game/regular-template/boxes/game/game.box\";\r\nimport {GameBox as JackpotGameBox} from \"../single-game/jackpot-template/boxes/game/game.box\";\r\nimport {GameTitleBox} from \"../single-game/regular-template/boxes/game-title/game-title.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {GameImageContainerBox} from \"../single-game/regular-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameImageContainerBox as JackpotGameImageContainerBox} from \"../single-game/jackpot-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameDetailsContainerBox} from \"../single-game/regular-template/boxes/game-details-container/game-details-container.box\";\r\nimport {GameDetailsContainerBox as JackpotGameDetailsContainerBox} from \"../single-game/jackpot-template/boxes/game-details-container/game-details-container.box\";\r\nimport {AspectRatioContainerComponent} from \"../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from \"../../themes/css-global-classes\";\r\nimport {VideoTileBox} from \"../live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box\";\r\nimport {SkeletonAnimatedButton} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box\";\r\nimport {SkeletonAnimatedRectangle} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box\";\r\nimport {VideoTileFooterBox} from \"../live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box\";\r\nimport {VideoTileSkeletonbox} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox\";\r\nimport { CyClass } from \"../../../common/cy-classes\";\r\nimport { AmountContainerBox } from \"./regular-template/boxes/amount-container/amount-container.box\";\r\n\r\nconst DummyTextBox = styled.div`\r\n background: linear-gradient(90deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.25));\r\n background-size: 400px 100%;\r\n border-radius: 5px;\r\n animation: TextLoadingAnimation 1s linear infinite;\r\n\r\n @keyframes TextLoadingAnimation {\r\n 0% {\r\n background-position-x: -200px;\r\n }\r\n 100% {\r\n background-position-x: 200px;\r\n }\r\n }\r\n`;\r\n\r\nconst DummyTextBoxAbsolute = styled(DummyTextBox)`\r\n position: absolute;\r\n top: 0;\r\n left: 25%;\r\n right: 25%;\r\n bottom: 0;\r\n`;\r\n\r\ninterface IDummyTextBoxRelativeProps {\r\n small?: boolean;\r\n}\r\n\r\nconst DummyTextBoxRelative = styled(DummyTextBox)`\r\n position: relative;\r\n width: ${({small}) => small ? \"50%\" : \"80%\"};\r\n height: 2rem;\r\n margin-bottom: 1rem;\r\n`;\r\n\r\nexport interface ISingleGameSkeletonComponentProps {\r\n templateType: string;\r\n useSquareIcons: boolean;\r\n placeholderImageSrc: string;\r\n}\r\n\r\nexport class SingleGameSkeletonComponent extends OrbitComponent {\r\n\r\n private _renderRegularGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderJackpotGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderVideoSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n :\r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render () {\r\n\r\n if (this.props.templateType === JACKPOTS_ITEM) {\r\n return this._renderJackpotGameSkeleton();\r\n }\r\n\r\n if ([LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM].includes(this.props.templateType)) {\r\n return this._renderVideoSkeleton();\r\n }\r\n\r\n return this._renderRegularGameSkeleton();\r\n }\r\n}\r\n","import {VideoRetryScreenTileDefaultBox} from \"./video-retry-screen-tile-default.box\";\r\n\r\nexport const VideoRetryScreenTileBox = VideoRetryScreenTileDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoRetryScreenTileDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.6)};\r\n`;\r\n","import {VideoRetryScreenIconDefaultBox} from \"./video-retry-screen-icon-default.box\";\r\n\r\nexport const VideoRetryScreenIconBox = VideoRetryScreenIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenIconDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 5rem;\r\n height: 5rem;\r\n background: ${({theme}) => theme.colors.background.toString()};\r\n border-radius: 50%;\r\n`;\r\n","import {VideoRetryScreenTitleDefaultBox} from \"./video-retry-screen-title-default.box\";\r\n\r\nexport const VideoRetryScreenTitleBox = VideoRetryScreenTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTitleDefaultBox = styled.div`\r\n margin: 1rem 0;\r\n font-size: 2rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {VideoRetryScreenTextDefaultBox} from \"./video-retry-screen-text-default.box\";\r\n\r\nexport const VideoRetryScreenTextBox = VideoRetryScreenTextDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTextDefaultBox = styled.div`\r\n margin-bottom: 1rem;\r\n font-size: 1.6rem;\r\n line-height: 1.5;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from 'react';\r\nimport {VideoRetryScreenTileBox} from \"./video-retry-screen-boxes/video-retry-screen-tile.box\";\r\nimport {VideoRetryScreenIconBox} from \"./video-retry-screen-boxes/video-retry-screen-icon.box\";\r\nimport {SvgSizeUnit} from \"../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VideoRetryScreenTitleBox} from \"./video-retry-screen-boxes/video-retry-screen-title.box\";\r\nimport {VideoRetryScreenTextBox} from \"./video-retry-screen-boxes/video-retry-screen-text.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\n\r\nexport interface VideoRetryScreenComponentProps {\r\n retryFn: () => void;\r\n setHasError: (value: boolean, retryFn?: (() => void) | undefined) => void;\r\n}\r\n\r\nexport default class VideoRetryScreenComponent extends OrbitComponent {\r\n\r\n private _retryAndSetError = () => {\r\n if (this.props.retryFn) {\r\n this.props.retryFn();\r\n }\r\n this.props.setHasError(false);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const BrokenLinkIcon = this.services.theme.currentTheme.icons.brokenLinkIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_TITLE')}\r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_MESSAGE')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport React from 'react';\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\n\r\nexport interface VideoThumbnailImageComponentProps {\r\n onLoad: () => void;\r\n onSettled: () => void;\r\n gameInfo: GameInfo;\r\n filterBlur: boolean;\r\n}\r\n\r\nexport default class VideoThumbnailImageComponent extends OrbitComponent {\r\n\r\n //Priority for game video thumbnail image(takes the 1st that exists):\r\n // gameinfo.videoThumbnailUrl\r\n // tableinfo.TableImage\r\n // gameinfo.gameArenaIcon\r\n\r\n private _getImageSource = (): string => {\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n\r\n if (gameInfo?.videoThumbnailUrl) {\r\n return gameInfo?.videoThumbnailUrl;\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(gameInfo.gameType);\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n return gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n return addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n };\r\n\r\n render(): React.ReactNode {\r\n return ();\r\n }\r\n}\r\n","import {VideoTileBettingRangeDefaultBox} from \"./video-tile-betting-range-default.box\";\r\n\r\nexport const VideoTileBettingRangeBox = VideoTileBettingRangeDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\n\r\nexport const VideoTileBettingRangeDefaultBox = styled.div`\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n line-height: 1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n margin: 12px 0 0 0rem;\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileGameTitleDefaultBox} from \"./video-tile-game-title-default.box\";\r\n\r\nexport const VideoTileGameTitleBox = VideoTileGameTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileGameTitleDefaultBox = styled.div`\r\n text-overflow: ellipsis;\r\n font-size: 1rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n line-height: 1.1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileFooterSectionDefaultBox} from \"./video-tile-footer-section-default.box\";\r\n\r\nexport const VideoTileFooterSectionBox = VideoTileFooterSectionDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterSectionDefaultBox = styled.div<{width?: string;}>`\r\n width: ${({width}) => width ? width : \"auto\"};\r\n margin-right: 1rem;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotValueDefaultBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n margin-left: 0.5rem;\r\n`;\r\n\r\nexport const VideoListJackpotValueBox = VideoListJackpotValueDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n font-size: 1.2rem;\r\n margin-top: 5px;\r\n`;\r\n\r\nexport const VideoListJackpotContainerBox = VideoListJackpotContainerDefaultBox;","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React, {ReactNode} from 'react';\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {ILiveTableInfo} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {VideoTileBettingRangeBox} from \"../video-tile-betting-range/video-tile-betting-range.box\";\r\nimport {VideoTileGameTitleBox} from \"../video-tile-game-title/video-tile-game-title.box\";\r\nimport {VideoTileFooterBox} from \"./boxes/video-tile-footer.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {VideoTileFooterSectionBox} from \"./boxes/video-tile-footer-section.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {GameJackpotComponent} from \"../../../game-jackpot/game-jackpot.component\";\r\nimport {\r\n VideoListJackpotValueBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box\";\r\nimport {\r\n VideoListJackpotContainerBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box\";\r\n\r\nexport type VideoTileFooterType = \"jackpot\" | \"bets\";\r\n\r\nexport interface VideoTileFooterComponentProps {\r\n onClickPlay: () => void;\r\n gameInfo: GameInfo;\r\n type: VideoTileFooterType;\r\n}\r\n\r\nexport default class VideoTileFooterComponent extends OrbitComponent {\r\n\r\n //Information from GetLiveTables request feed, for live casino games only.\r\n private get _tableInfo(): ILiveTableInfo | null {\r\n return this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n }\r\n\r\n private _renderMinMaxBet(): ReactNode {\r\n\r\n let minBet: number;\r\n let maxBet: number;\r\n\r\n if(Check.isNullOrUndefined(this._tableInfo?.MinBet) || Check.isNullOrUndefined(this._tableInfo?.MaxBet)){\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = this._tableInfo.MinBet;\r\n maxBet = this._tableInfo.MaxBet;\r\n }\r\n\r\n return (\r\n \r\n {this.services.currency.formatMinMaxBet(minBet, maxBet)}\r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle(): ReactNode {\r\n\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n\r\n if (this._tableInfo?.Name?.length > 0) {\r\n title = this._tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderJackpot() {\r\n if(!this.props.gameInfo.hasJackpot) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate(\"JACKPOT\")}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderSecondaryText() {\r\n switch (this.props.type) {\r\n case \"bets\":\r\n return this._renderMinMaxBet();\r\n case \"jackpot\":\r\n return this._renderJackpot();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n return (\r\n \r\n \r\n {this._renderGameTitle()}\r\n {this._renderSecondaryText()}\r\n \r\n \r\n \r\n {this.services.translation.translate(\"PLAY_NOW\")}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { imagePreload, ImagePreloadPromiseResponse } from \"../../../../../common/utils/image-preload\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileBox} from \"./boxes/video-tile.box\";\r\nimport {AspectRatioContainerComponent} from \"../../../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {VideoTileOverlayComponent} from \"../video-tile-overlay/video-tile-overlay.component\";\r\nimport {VideoTileOverlayBox} from \"../video-tile-overlay/boxes/video-tile-overlay.box\";\r\nimport {VideoTileStaticImageOverlayBox} from \"../video-tile-static-image-overlay/video-tile-static-image-overlay.box\";\r\nimport {VideoTileSkeletonContainerBox} from \"../video-tile-skeleton-container/video-tile-skeleton-container.box\";\r\nimport {VideoComponent} from \"../video-component/video.component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {SingleGameSkeletonComponent} from \"../../../single-game/single-game-skeleton.component\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TableSeatsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\nimport VideoRetryScreenComponent from \"../video-retry-screen/video-retry-screen.component\";\r\nimport {VIDEO_ITEM_TYPE} from \"../../../single-game/video-template/single-game-video-template.component\";\r\nimport VideoThumbnailImageComponent from \"../video-thumbnail-image/video-thumbnail-image.component\";\r\nimport VideoTileFooterComponent from \"../video-tile-footer/video-tile-footer.component\";\r\nimport {\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../../../../services/analytics/analytics.service.interface\";\r\n\r\nexport interface VideoTileComponentProps {\r\n gameInfo: GameInfo;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n onOpenRealGame: () => void;\r\n videoPlayingService: IVideoPlayingService;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoTileComponent extends OrbitComponent {\r\n\r\n constructor(props: VideoTileComponentProps) {\r\n\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private _posterImageLoadPromise: Promise | undefined = undefined;\r\n\r\n @observable.ref\r\n private _hasError: boolean = false;\r\n\r\n private _retryFn: (() => void) | undefined;\r\n\r\n @action.bound\r\n setHasError(value: boolean, retryFn?: (() => void) | undefined) {\r\n this._hasError = value;\r\n this._retryFn = retryFn;\r\n }\r\n\r\n @observable.ref\r\n private _posterImageLoaded = false;\r\n\r\n @action.bound\r\n private setPosterImageLoaded(value: boolean) {\r\n this._posterImageLoaded = value;\r\n }\r\n\r\n private onPosterImageLoaded = () => {\r\n this.setPosterImageLoaded(true);\r\n }\r\n\r\n @observable.ref\r\n private _isVideoLoading: boolean = true;\r\n\r\n @observable.ref\r\n private _isFirstTimeLoading: boolean = true;\r\n\r\n @action.bound\r\n setIsVideoLoading(value: boolean) {\r\n this._isVideoLoading = value;\r\n if (value === false) {\r\n this.firstTimeLoadingDone();\r\n }\r\n }\r\n\r\n @action.bound\r\n firstTimeLoadingDone() {\r\n if (this._isFirstTimeLoading === true) {\r\n this._isFirstTimeLoading = false;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private _isWatchTimeLimitReached: boolean = false;\r\n\r\n @action.bound\r\n setIsWatchTimeLimitReached(value: boolean) {\r\n this._isWatchTimeLimitReached = value;\r\n }\r\n\r\n private _onPlayClickHandler = () => {\r\n this.props.onOpenRealGame();\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendOrbitMarketingEvent(gaCategory, 'PLAY_GAME', OrbitMarketingEventAnalyticsLabel.Click, this.props.gameInfo.gameType);\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.gameInfo.videoThumbnailUrl) {\r\n this._posterImageLoadPromise = imagePreload(this.props.gameInfo.videoThumbnailUrl);\r\n this._posterImageLoadPromise.then(this.onPosterImageLoaded);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this._posterImageLoadPromise) {\r\n this._posterImageLoadPromise = undefined;\r\n }\r\n }\r\n\r\n private _renderPlayerOverlay() {\r\n if (!this._isWatchTimeLimitReached && !this._isVideoLoading) {\r\n return null;\r\n }\r\n\r\n let statusText = '';\r\n if (this._isWatchTimeLimitReached) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_WATCH_TIME_REACHED');\r\n } else if (this._isVideoLoading) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_VIDEO_LOADING');\r\n }\r\n\r\n return {statusText};\r\n }\r\n\r\n private _renderRetryScreen() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n private _renderPlayer() {\r\n return (\r\n \r\n {/* For the video element I cannot conditionally render it for this.props.isInCenterStage because when the video reaches end and the user\r\n swipes right/left it renders again and starts again */}\r\n \r\n {((this.services.mediaQuery.xlAndAbove && !this.props.isInCenterStage) || this._hasError || (this.props.isInCenterStage && this._isFirstTimeLoading && this._posterImageLoaded)) ? this._renderVideoThumbnailImage(this._hasError && this.props.isInCenterStage) : this._renderPlayerOverlay()}\r\n {this._renderTileOverlayComponent()}\r\n {(this._hasError && this.props.isInCenterStage) ? this._renderRetryScreen() : null}\r\n \r\n );\r\n }\r\n\r\n private _renderTileOverlayComponent(): React.ReactNode {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.STATIC) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n\r\n return (\r\n }\r\n bottomRightComponent={}\r\n videoPlaying={this.props.isInCenterStage && !this._hasError}\r\n />\r\n )\r\n\r\n }\r\n\r\n private _renderVideoThumbnailImage(filterBlur: boolean) {\r\n return \r\n }\r\n\r\n private _renderFooter() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderSkeleton() {\r\n if (this._isFirstTimeLoading && !this._posterImageLoaded) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n\r\n private _renderStaticImageOverlay() {\r\n if (this.props.isInCenterStage || this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n }\r\n return ;\r\n }\r\n\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderPlayer()}\r\n {this._renderFooter()}\r\n {this._renderSkeleton()}\r\n {this._renderStaticImageOverlay()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoItemContainerDefaultBox} from \"./video-item-container-default.box\";\r\n\r\nexport const VideoItemContainerBox = VideoItemContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const VideoItemContainerDefaultBox = styled.div<{stepBackStyle: boolean;}>`\r\n width: 100%;\r\n ${flexFixedSizeItem}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 33.33%;\r\n transition: transform 0.5s ease-in-out;\r\n transform: ${({stepBackStyle}) => stepBackStyle ? \"scale(0.7)\" : \"scale(1)\"};\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SingleGameRegularTemplateComponent} from './regular-template/single-game-regular-template.component';\r\nimport {GameInfo, OpenGameParameters} from '../../services/games/game-info';\r\nimport {CssClassNameBuilder} from '../../../utils/css-class-name-builder';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_BOX, SWIPER_MODE} from './css-constants';\r\nimport {SingleGameJackpotTemplateComponent} from './jackpot-template/single-game-jackpot-template.component';\r\nimport {JACKPOTS_ITEM, LIVE_CASINO_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../themes/css-global-classes';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {SingleGameLiveTemplateComponent} from './live-template/single-game-live-template.component';\r\nimport {SingleGameVideoTemplate, VIDEO_ITEM_TYPE} from './video-template/single-game-video-template.component';\r\nimport {GameIconAnimationState} from './common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameComponentProps {\r\n gameType: number;\r\n seoCategory: string;\r\n listTitle: string;\r\n listPosition?: number,\r\n AdminListID?: number,\r\n AIListTypeID?: number;\r\n templateType?: any;\r\n gameIndex?: number;\r\n skipIntermediatePage?: boolean;\r\n disableGameInfoHover: boolean;\r\n isInsideSwiper?: boolean;\r\n aiEngine?: string;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n intersectionTarget?: HTMLDivElement;\r\n hasTwoLinesTitle?: boolean;\r\n isLastGametype?: boolean;\r\n onBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\nexport const SingleGameComponent = observer(\r\n class SingleGameComponent extends OrbitComponent {\r\n private animatedIconState: GameIconAnimationState = \"static\";\r\n\r\n get gameInfo(): GameInfo {\r\n return this.services.games.gamesMap[this.props.gameType];\r\n }\r\n\r\n private openRealGame = () => {\r\n this._openGame(true);\r\n };\r\n\r\n private openAnonymousGame = () => {\r\n this._openGame(false);\r\n };\r\n\r\n private openInfoPage = () => {\r\n this.services.location.push(this.gameInfo.infoPageURL);\r\n this.sendAnalytics(`SEO_${this.gameInfo.gameType}`);\r\n };\r\n\r\n private _openGame(openInRealMode: boolean): void {\r\n\r\n\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: openInRealMode,\r\n pageName: this.props.seoCategory,\r\n listTitle: this.props.listTitle,\r\n listPosition: this.props.listPosition,\r\n AdminListID: this.props.AdminListID,\r\n AIListTypeID: this.props.AIListTypeID,\r\n gameIndex: this.props.gameIndex,\r\n aiEngine: this.props.aiEngine,\r\n showIntermediatePage: !this.props.skipIntermediatePage,\r\n animatedIconState: this.animatedIconState\r\n };\r\n\r\n this.gameInfo.open(openGameParams)\r\n }\r\n\r\n private get _allowPreview(): boolean {\r\n return this.services.lobbyGameInfoPreview.allowGamePreview\r\n && !this.props.disableGameInfoHover;\r\n }\r\n\r\n private sendAnalytics(label: string) {\r\n this.services.analytics.sendAnalytics(this.props.seoCategory, this.props.listTitle, label);\r\n }\r\n\r\n private setAnimatedIconState = (state: GameIconAnimationState) => {\r\n this.animatedIconState = state;\r\n }\r\n\r\n private onMouseEnter = () => {\r\n if (this._allowPreview) {\r\n this.services.lobbyGameInfoPreview.setGamePreview(this.props.gameType);\r\n }\r\n };\r\n\r\n\r\n private onMouseLeave = () => {\r\n if (this._allowPreview) {\r\n this.services.lobbyGameInfoPreview.clearGamePreview();\r\n }\r\n };\r\n\r\n\r\n private _buildComponentClasses(gameInfo: GameInfo): string {\r\n let builder = new CssClassNameBuilder();\r\n\r\n builder.append(GAME_BOX);\r\n\r\n if(this.props.isInsideSwiper) {\r\n builder = builder.append(SWIPER_MODE);\r\n }\r\n\r\n if (gameInfo) {\r\n builder = builder.append(`game-group-${toCssClass(gameInfo.gameGroup)}`)\r\n .append(gameInfo.gameCategoryClassName)\r\n .append(`game-company-${toCssClass(gameInfo.companyName)}`)\r\n .append(`game-type-${gameInfo.gameType}`);\r\n }\r\n\r\n if(this.props.skipIntermediatePage) {\r\n builder.append(CyClass('cy-skip-intermediate-page'));\r\n }\r\n\r\n return builder.build();\r\n\r\n }\r\n\r\n render() {\r\n\r\n let gameInfo = this.gameInfo;\r\n\r\n if(!gameInfo) {\r\n return null;\r\n }\r\n\r\n try {\r\n\r\n const classes = this._buildComponentClasses(gameInfo);\r\n\r\n switch (this.props.templateType) {\r\n\r\n case JACKPOTS_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case LIVE_CASINO_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case LIVE_STREAMING_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case STATIC_VIDEO_ITEM:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n\r\n } catch (err) {\r\n this.services.logger.error(`Failed to render SingleGameComponent for game ${gameInfo.gameType} - ${gameInfo.title} in list ${this.props.listTitle}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n\r\nfunction toCssClass(str: string){\r\n try{\r\n return str.replace(/\\s+/g, '-').toLowerCase();\r\n }\r\n catch(e){\r\n return '';\r\n }\r\n}\r\n\r\n","import styled from 'styled-components';\r\nimport {GameBox} from '../../../single-game/regular-template/boxes/game/game.box';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\n\r\n\r\nexport const GamePlaceHolderDefaultBox = styled(GameBox)`\r\n ${CssRule.For.mobile.embededHybrid.build()} & , ${CssRule.For.mobile.miniOrbit.build()} & {\r\n display: none;\r\n }\r\n`;","import {NullableNumber} from \"../../../common/types/nullable-types\";\r\nimport { IJackpotHandler } from \"./jackpot-handler/jackpot-handler.interface\";\r\nimport {JACKPOT_STATE, JackpotType} from '../../../common/const/jackpot_map_ids';\r\n\r\nexport enum JackpotThemeType {\r\n Light,\r\n Dark\r\n}\r\n\r\nexport interface IJackpotStatefulData {\r\n amountInCents: number;\r\n jackpotId: string;\r\n jackpotState: JACKPOT_STATE;\r\n lastWinAmount: number;\r\n mustHitTime: Date;\r\n}\r\n\r\nexport interface IJackpotStatelessData {\r\n amountInCents: number;\r\n jackpotId: string;\r\n jackpotState: 0;\r\n lastWinAmount: 0;\r\n}\r\n\r\nexport type IJackpotData = IJackpotStatefulData | IJackpotStatelessData;\r\n\r\nexport interface IJackpotsService {\r\n getGameJackpot(gameType: number): NullableNumber;\r\n readonly currentJackpotsById: Record;\r\n getThemeType(jpType: JackpotType): JackpotThemeType;\r\n}\r\n","import {GamePlaceHolderDefaultBox} from './game-placeholder.default.box';\r\n\r\nexport const GamePlaceHolderBox = GamePlaceHolderDefaultBox;","import {GameImageDefaultBox} from './game-image.default.box';\r\n\r\nexport const GameImageBox = GameImageDefaultBox;","import styled from 'styled-components';\r\nimport {GameImageBox as BaseGameImageBox} from '../../../single-game/common/boxes/game-image/game-image.box';\r\n\r\nexport const GameImageDefaultBox = styled(BaseGameImageBox)`\r\n cursor: default;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {GamePlaceHolderBox} from './boxes/placeholder/game-placeholder.box';\r\nimport {GameImageBox} from './boxes/game-image/game-image.box';\r\nimport {GameImageContainerBox} from '../single-game/regular-template/boxes/game-image-container/game-image-container.box';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_IMAGE_CONTAINER, SWIPER_MODE} from '../single-game/css-constants';\r\nimport classNames from 'classnames';\r\n\r\nexport interface SingleGamePlaceholderComponentProps {\r\n isInsideSwiper: boolean\r\n}\r\n\r\nexport const SingleGamePlaceholderComponent = observer(\r\n class SingleGamePlaceholderComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {HOME_PAGE, JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n padding: 0;\r\n margin: 0 auto;\r\n overflow: hidden;\r\n`;\r\n\r\n//Temporary duplicate style for STATIC_VIDEO_ITEM and LIVE_STREAMING_ITEM\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} & {\r\n width: 90%;\r\n &.${JACKPOTS_ITEM} {\r\n width: 100%;\r\n }\r\n }\r\n\r\n &.${LIVE_STREAMING_ITEM},\r\n &.${STATIC_VIDEO_ITEM} {\r\n width: 104%;\r\n padding-bottom: 2.5rem;\r\n padding-top: 1.5rem;\r\n margin-left: -2%;\r\n clip-path: polygon(8% 0, 92% 0%, 92% 100%, 8% 100%);\r\n overflow: unset;\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0;\r\n`;\r\n\r\nexport const SwiperWrapperDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './swiper-wrapper.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n padding-top: 0.5rem;\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-top: 0;\r\n`;\r\n\r\n\r\nexport const SwiperWrapperCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './swiper-wrapper.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n .${HOME_PAGE} & {\r\n width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-left: 6px;\r\n`;\r\n\r\nexport const SwiperWrapperMrGreenBox = styledByDevice(PcBox, MobileBox);","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperWrapperDefaultBox} from './swiper-wrapper.default.box';\r\nimport {SwiperWrapperCasino777Box} from './swiper-wrapper.casino777.box';\r\nimport {SwiperWrapperMrGreenBox} from './swiper-wrapper.mrgreen.box';\r\n\r\nexport const SwiperWrapperBox = styledByTheme(SwiperWrapperDefaultBox)\r\n .forCasino777(SwiperWrapperCasino777Box)\r\n .forMrGreen(SwiperWrapperMrGreenBox).apply();","import styled, { css } from 'styled-components';\r\nimport {JACKPOTS_ITEM} from '../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface SwiperGamesListBoxProp {\r\n isTouchDevice: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n justify-content: flex-start;\r\n transition: transform .5s ease-in-out;\r\n will-change: transform;\r\n width: 100%;\r\n height: 100%;\r\n margin-top: 10px;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n overflow: -moz-scrollbars-none;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({isTouchDevice}) => !isTouchDevice? css`\r\n overflow: visible;\r\n ` : css`\r\n overflow-x: scroll;\r\n overflow-y: hidden;\r\n `}\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n margin-top: 5px;\r\n margin-bottom: 20px;\r\n\r\n .${JACKPOTS_ITEM} & {\r\n display: flex;\r\n flex-wrap: wrap;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n flex-direction: column;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n flex-direction: row;\r\n }\r\n }\r\n`;\r\n\r\nexport const SwiperGamesListDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport { SwiperGamesListDefaultBox } from \"./swiper-games-list.default.box\";\r\n\r\nexport const SwiperGamesListSICisBox = styled(SwiperGamesListDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n margin-top: 0;\r\n padding-bottom: 1.2rem;\r\n box-shadow: 0px 0px 8px #00000059;\r\n`;","import styled from \"styled-components\";\r\nimport { SwiperGamesListDefaultBox } from \"./swiper-games-list.default.box\";\r\n\r\nexport const SwiperGamesListMrGreenBox = styled(SwiperGamesListDefaultBox)`\r\n margin-top: 0;\r\n`;","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { SwiperGamesListDefaultBox } from './swiper-games-list.default.box';\r\nimport { SwiperGamesListSICisBox } from './swiper-games-list.siCis.box';\r\nimport {SwiperGamesListMrGreenBox} from \"./swiper-games-list.mrgreen.box\";\r\n\r\nexport const SwiperGamesListBox = styledByTheme(SwiperGamesListDefaultBox)\r\n .forMrGreen(SwiperGamesListMrGreenBox)\r\n .forMrGreenCis(SwiperGamesListMrGreenBox)\r\n .forSICis(SwiperGamesListSICisBox)\r\n .apply();","import {SwiperDefaultBox} from './swiper.default.box';\r\n\r\nexport const SwiperBox = SwiperDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const SwiperDefaultBox = styled.div`\r\n /** This overflow hidden solves a problem with live video streaming on right-to-left languages\r\n Without it, the IntersectionObserver does not work correctly and a weird behavior happens:\r\n The first video flicker like it is intersecting and transforms from scale(0.7) to scale(1) but in that process it loses intersection (ratio>0.99) and transforms back\r\n And again and again, an infinite flicker */\r\n overflow: hidden;\r\n`;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {SingleGameComponent} from '../single-game/single-game.component';\r\nimport {SingleGamePlaceholderComponent} from '../single-game-placeholder/single-game-placeholder.component';\r\nimport classNames from 'classnames';\r\nimport {SwiperWrapperBox} from './boxes/swiper-wrapper/swiper-wrapper.box';\r\nimport {SwiperGamesListBox} from './boxes/swiper-games-list/swiper-games-list.box';\r\nimport {SwiperBox} from './boxes/swiper/swiper.box';\r\nimport {SingleGameSkeletonComponent} from '../single-game/single-game-skeleton.component';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {TextTranslation} from \"../../services/translation/text-translation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\nimport { observable, action, makeObservable } from 'mobx';\r\n\r\nexport interface OrbitSwiperComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n numberOfPlaceholders?: number;\r\n skipIntermediatePage?: boolean;\r\n showNumberBadge?: boolean;\r\n className?: string;\r\n listPosition: number;\r\n lastGameType?: number;\r\n onGameBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\n\r\n@observer\r\nexport class OrbitSwiperComponent extends OrbitComponent {\r\n constructor(props: OrbitSwiperComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private get _title(): TextTranslation {\r\n return this.props.viewModel.title;\r\n }\r\n\r\n private get _shouldUseSquareIcons(): boolean {\r\n return this.props.viewModel.shouldUseSquareIcons();\r\n }\r\n\r\n private _renderOneGame(gameType: number, gameIndex: number, isLastGametype?: boolean) {\r\n return ;\r\n }\r\n\r\n private _renderPlaceholders() {\r\n\r\n if (this.props.viewModel.numberOfGamesSkeletons > 0) {\r\n return null;\r\n }\r\n\r\n let placeHolders: React.ReactNode[] = [];\r\n let numberOfPlaceholders = this.props.numberOfPlaceholders || 0;\r\n\r\n for (let i = 0; i < numberOfPlaceholders; i++) {\r\n placeHolders.push();\r\n }\r\n\r\n return placeHolders;\r\n }\r\n\r\n\r\n private _swiperGameListElement: HTMLDivElement | null = null;\r\n\r\n private _captureSwiperGameListElement = (element: HTMLDivElement | null) => {\r\n this._swiperGameListElement = element;\r\n this.props.viewModel.swipeLogicHandler.setElement(element);\r\n };\r\n\r\n /* I hate to put observable on a dom element but for now I cannot see another method to rapidly notify child nodes that the wrapper is ready to be used in IntersectionObserver as root\r\n I can create the intersection observer here and pass it instead of the DOM element but I would also need to put observable on the intersection observer */\r\n @observable.ref\r\n private _swiperWrapperElement: HTMLDivElement | null = null;\r\n @action.bound\r\n private _captureSwiperWrapperElement = (element: HTMLDivElement | null) => {\r\n this._swiperWrapperElement = element;\r\n };\r\n\r\n private get aiEngine(): string {\r\n return this.props.viewModel.aiEngine;\r\n }\r\n\r\n private _renderGamesSkeletons() {\r\n\r\n let numSkeletons = this.props.viewModel.numberOfGamesSkeletons;\r\n let placeholderImageSrc: string;\r\n if (this._shouldUseSquareIcons) {\r\n placeholderImageSrc = this.services.theme.currentTheme?.images.gameIconPlaceHolderSq.toString();\r\n } else {\r\n placeholderImageSrc = this.services.theme.currentTheme?.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n let skeletons = [];\r\n\r\n for (let i = 1; i <= numSkeletons; i++) {\r\n skeletons.push(\r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGames() {\r\n\r\n const gameTypes = this.props.viewModel.gameTypes;\r\n if (gameTypes.length > 0) {\r\n return gameTypes.map((gameType, index) => {\r\n return this._renderOneGame(gameType, index, gameType === this.props.lastGameType)\r\n });\r\n }\r\n\r\n return this._renderGamesSkeletons();\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [this.props.viewModel.gameTypes],\r\n () => this.props.viewModel.swipeLogicHandler.setElement(this._swiperGameListElement),\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly, prevState: Readonly<{}>, snapshot?: any) {\r\n this.props.viewModel.swipeLogicHandler.setElement(this._swiperGameListElement)\r\n }\r\n\r\n render() {\r\n if (!this.props.viewModel.isVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n\r\n {this.props.viewModel.renderListHeader()}\r\n\r\n \r\n \r\n {this.props.viewModel.renderSpecialWidgets()}\r\n {this._renderGames()}\r\n {this._renderPlaceholders()}\r\n \r\n {this.props.viewModel.renderListNavigation()}\r\n \r\n\r\n {this.props.viewModel.renderListFooter()}\r\n\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface RecentlyPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number\r\n}\r\n\r\nexport const RecentlyPlayedComponent = observer(\r\n class RecentlyPlayedComponent extends OrbitComponent {\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n let numberOfPlaceholders = Math.max(0, 6 - viewModel.gameTypes.length);\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {IGamesListRenderer} from \"./games-list-renderer.interface\";\r\nimport {IGamesListViewModel} from \"./games-list-view-model.interface\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {TextTranslation} from \"../../../translation/text-translation\";\r\n\r\nexport abstract class GamesListBaseModel implements IGamesListRenderer, IGamesListViewModel {\r\n constructor(protected readonly arena: IArenaToGamesListAdapter) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get listId(): number;\r\n abstract get title(): TextTranslation;\r\n abstract get forceInLayout(): boolean;\r\n abstract get templateType(): string;\r\n\r\n protected abstract get _forceRoundIcons(): boolean;\r\n protected abstract get _useSquareIcons(): boolean;\r\n protected abstract get _isAISorted(): boolean;\r\n protected abstract get _numberOfGamesToBeIgnoredInAISorting(): number | undefined;\r\n protected abstract _shouldBeDisplayed(): boolean;\r\n protected abstract _renderList(listPosition: number): React.ReactElement | null;\r\n protected abstract _getGameTypes(): number[];\r\n abstract renderListHeader(): React.ReactElement;\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this.arena.services;\r\n }\r\n\r\n get arenaName(): string {\r\n return this.arena.arenaName;\r\n }\r\n\r\n get listKey(): string {\r\n return `${this.arena.arenaName}_${this.title.translationKey}_${this.listId}`;\r\n }\r\n\r\n get aiEngine(): string {\r\n if(this.arena.aiEngine) {\r\n return this.arena.aiEngine;\r\n }\r\n\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.getAiEngine();\r\n }\r\n\r\n return \"\";\r\n }\r\n get maxGamesToShowInList(): number {\r\n return this.arena.maxGamesToShowInList;\r\n }\r\n\r\n @computed\r\n get isVisible(): boolean {\r\n return this._shouldBeDisplayed();\r\n }\r\n\r\n @computed\r\n get gameTypes(): number[] {\r\n return this._applyGameTypesTransformations(this._getGameTypes());\r\n }\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n return this._reduceGameTypes(\r\n this._sortGameTypes(\r\n this._distinctGameTypes(gameTypes)));\r\n }\r\n\r\n protected _sortGameTypes(gameTypes: number[]): number[] {\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.sortGames(gameTypes, {ignoreNumberOfGames: this._numberOfGamesToBeIgnoredInAISorting});\r\n }\r\n return gameTypes;\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n return gameTypes.filter(gt => this.services.gamesFilter.filteredGamesMap[gt])\r\n .slice(0, this.maxGamesToShowInList);\r\n }\r\n\r\n protected _distinctGameTypes(gameTypes: number[]): number[] {\r\n return [...new Set(gameTypes)];\r\n }\r\n\r\n shouldUseSquareIcons(): boolean {\r\n if(this._forceRoundIcons){\r\n return false;\r\n }\r\n\r\n return this.services.theme.shouldUseSquareIcons || this._useSquareIcons;\r\n }\r\n\r\n render(listPosition: number): React.ReactElement | null {\r\n return this._renderList(listPosition);\r\n }\r\n\r\n}","export const JACKPOT_WIDGET = 'daily-jackpot';\r\nexport const RED_TIGER_JACKPOT = 'red-tiger-jackpot';","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\nimport {EXCLUSIVES_LIST_ICON} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const ListTitleIconDefaultBox = styled.span`\r\n ${flexFixedSizeItem}\r\n display: inline-block;\r\n width: 3rem;\r\n height: 2.5rem;\r\n margin: 0 1rem 0 0;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n ${CssRule.For.mobile.build()} & {\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.dailyJackpot.toString()}\")\r\n }\r\n\r\n .${EXCLUSIVES_LIST_ICON} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.exclusive.toString()}\")\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\n\r\nexport const ListTitleIconWsopCipBox = styled(ListTitleIconDefaultBox)`\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.miniOrbit.gamesListTitleOverride.dailyJackpot.toString()}\");\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const ListTitleIconCisBox = styled.span``;","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {ListTitleIconWsopCipBox} from \"./list-title-icon.wsop.cip.box\";\r\nimport {ListTitleIconCisBox} from \"./list-title-icon.cis.box\";\r\n\r\nexport const ListTitleIconBox = styledByTheme(ListTitleIconDefaultBox)\r\n .forCis(ListTitleIconCisBox)\r\n .forWsopCip(ListTitleIconWsopCipBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div<{isClickable?: boolean}>`\r\n cursor: ${({isClickable}) => isClickable ? \"pointer\" : \"default\"};\r\n\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n`;\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget.default.box';\r\nimport {styledByTheme} from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const JackpotWidgetBox = styledByTheme(JackpotWidgetDefaultBox).apply();","import styled, {css} from 'styled-components';\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\nimport {OrbitTheme} from '../../../../themes/architecture/orbit-theme.interface';\r\n\r\nexport interface IJackpotWidgetBgBoxProps {\r\n jackpotType: JackpotType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n shouldRenderSkeleton?: boolean;\r\n}\r\n\r\nconst handleBackgroundImage = (props: IJackpotWidgetBgBoxProps, theme: OrbitTheme) => {\r\n if (props.shouldRenderSkeleton) {\r\n return 'none';\r\n }\r\n if (\r\n (props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE || props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE) &&\r\n theme.images.jackpotWidget.byType[props.jackpotType].landscape?.background\r\n ) {\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].landscape.background.toString() + ')';\r\n }\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].background.toString() + ')';\r\n}\r\n\r\nexport const JackpotWidgetBgBox = styled.div`\r\n background-image: ${props => handleBackgroundImage(props, props.theme) };\r\n background-size: cover;\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n width: 100%;\r\n height: 100%;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n\r\n border-radius: 10px;\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n flex-direction: row;\r\n align-items: center;\r\n `}\r\n\r\n animation: JackpotBackgroundLoadingAnimation 1.5s linear infinite;\r\n\r\n @keyframes JackpotBackgroundLoadingAnimation {\r\n 0% {\r\n background-color: #000000;\r\n }\r\n 50% {\r\n background-color: #171717;\r\n }\r\n 100% {\r\n background-color: #000000;\r\n }\r\n }\r\n`;\r\n","import styled, {css} from 'styled-components';\r\nimport {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\n\r\nexport interface IJackpotWidgetLogoBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nexport const JackpotWidgetLogoBox = styled.img`\r\n /* In a widget of 468px wide, logo should be 222px wide */\r\n width: 47.436%;\r\n margin: 0rem auto;\r\n display: block;\r\n \r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT && css`\r\n\t width: 78%;\r\n\t padding-top: 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 83%;\r\n }\r\n `}\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n width: 25%;\r\n padding-left: 1rem;\r\n `}\r\n`;\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_STATE} from '../../../../../common/const/jackpot_map_ids';\r\nimport { JackpotThemeType } from \"../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetAmountBox {\r\n state: JACKPOT_STATE;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleAmountBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number, mAndBelow: boolean = false) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In desktop view at a widget width of 468px, the amount should be of font-size 35px */\r\n return widgetWidth * 35 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 16px */\r\n return widgetWidth * 16 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n if (mAndBelow) {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 16px */\r\n return widgetWidth * 16 / 131 + \"px\";\r\n } else {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 19px */\r\n return widgetWidth * 19 / 131 + \"px\";\r\n }\r\n }\r\n};\r\n\r\nconst JackpotWidgetAmountDefaultBox = styled.div`\r\n text-align: center;\r\n width: 100%;\r\n color: ${({state, theme}) => state === JACKPOT_STATE.Cold ? theme.colors.textLight : theme.colors.brandSecondary };\r\n text-shadow: 0px 2px 3px ${({theme}) => theme.colors.backgroundMiddleDark};\r\n /* font-preset: a standardized combination of font-family + font-weight + font-style + font-stretch */\r\n ${({state, theme}) => state === JACKPOT_STATE.Cold ? theme.font.presets.bold : theme.font.presets.black }\r\n ${({state}) => state === JACKPOT_STATE.Cold ? css`\r\n opacity: 0.8;\r\n ` : null };\r\n font-size: ${({layout, widgetWidth}) => handleAmountBoxFontSize(layout, widgetWidth)};\r\n /* bugfix: 2039067 */\r\n padding-bottom: 0.8rem;\r\n line-height: 1.2;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: ${({layout, widgetWidth}) => handleAmountBoxFontSize(layout, widgetWidth, true)};\r\n }\r\n`;\r\n\r\nconst JackpotWidgetAmountCasino777Box = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({state, theme, themeType}) => (themeType === JackpotThemeType.Light ? (state === JACKPOT_STATE.Cold ? theme.colors.textContrast : theme.colors.danger) : theme.colors.brandSecondary) };\r\n text-shadow: none;\r\n`;\r\n\r\nconst JackpotWidgetAmountSiBox = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n text-shadow: none;\r\n`;\r\n\r\nconst JackpotWidgetAmountrMrGreenBox = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n ${({theme}) => theme.font.presets.body};\r\n \r\n span { \r\n text-shadow: 0px 2px 2px rgba(38,39,39, 0.25);\r\n } ;\r\n`;\r\n\r\nexport const JackpotWidgetAmountBox = styledByTheme(JackpotWidgetAmountDefaultBox)\r\n .forCasino777(JackpotWidgetAmountCasino777Box)\r\n .forSI(JackpotWidgetAmountSiBox)\r\n .forSICis(JackpotWidgetAmountSiBox)\r\n .forMrGreen(JackpotWidgetAmountrMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountrMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetFooterBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nexport const JackpotWidgetFooterBox = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0 2rem;\r\n\tmin-height: 1rem;\r\n\r\n ${({layout}) => (layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT) && css`\r\n\t flex-direction: column;\r\n\t padding: 0rem 0rem 0.6rem;\r\n\t\tmin-height: 4rem;\r\n\t`}\r\n\r\n\t${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\twidth: 35%;\r\n\t\tpadding: 0 1rem 0 0;\r\n\t`}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_STATE} from '../../../../../../../common/const/jackpot_map_ids';\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetClockLabelBox{\r\n state: JACKPOT_STATE;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleClockLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 14px */\r\n return widgetWidth * 14 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetClockLabelDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n text-transform: uppercase;\r\n color: ${({state, theme}) => state === JACKPOT_STATE.Hot ? theme.colors.brandSecondary : theme.colors.textLight };\r\n letter-spacing: 0.02rem;\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"74%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"left\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleClockLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetClockLabelCasino777Box = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({state, theme, themeType}) => themeType === JackpotThemeType.Light ? (state === JACKPOT_STATE.Hot ? theme.colors.danger : theme.colors.textContrast) : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetClockLabelSiBox = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nconst JackpotWidgetClockLabelMrGreenBox = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetClockLabelBox = styledByTheme(JackpotWidgetClockLabelDefaultBox)\r\n .forCasino777(JackpotWidgetClockLabelCasino777Box)\r\n .forSI(JackpotWidgetClockLabelSiBox)\r\n .forSICis(JackpotWidgetClockLabelSiBox)\r\n .forMrGreen(JackpotWidgetClockLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetClockBoxProps {\r\n className?: string;\r\n widgetWidth?: number;\r\n themeType: JackpotThemeType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n}\r\n\r\nconst handleClockBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number): string => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 30px */\r\n return widgetWidth ? (widgetWidth * 30 / 468 + \"px\") : \"30px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 15px */\r\n return widgetWidth ? (widgetWidth * 15 / 375 + \"px\") : \"15px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 15px */\r\n return widgetWidth ? (widgetWidth * 15 / 131 + \"px\") : \"15px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetClockDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-family: ${({theme}) => theme.components.jackpotWidget.font.clock};\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"26%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"right\" : \"center\" };\r\n\r\n /** For the floating clock shown in game, no need to compute relative (fluid) font-size */\r\n font-size: ${({widgetWidth, layout}) => handleClockBoxFontSize(layout, widgetWidth)};\r\n /* bugfix: 2039067 */\r\n line-height: 1.0;\r\n padding-bottom: 0.5rem;\r\n`;\r\n\r\nconst JackpotWidgetClockCasino777Box = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({themeType, theme}) => themeType === JackpotThemeType.Light ? theme.colors.brandPrimaryContrast : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetClockSiBox = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({theme}) => /* theme.colors.textContrast */ theme.colors.moneyColor };\r\n`;\r\n\r\nconst JackpotWidgetClockMrGreenBox = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetClockBox = styledByTheme(JackpotWidgetClockDefaultBox)\r\n .forCasino777(JackpotWidgetClockCasino777Box)\r\n .forSI(JackpotWidgetClockSiBox)\r\n .forSICis(JackpotWidgetClockSiBox)\r\n .forMrGreen(JackpotWidgetClockMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockMrGreenBox)\r\n .apply();\r\n","import React from 'react';\r\nimport { observable, action, makeObservable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport { TimeSpan } from '@sparkware/app-utils';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport { JackpotWidgetClockBox } from './boxes/footer/clock/box/jackpot-widget-clock.box';\r\nimport {JackpotType} from '../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from './jackpot-widget.component';\r\nimport {SetIntervalType} from \"../../../common/types/set-interval-type\";\r\nimport {IJackpotStatefulData} from '../../services/jackpots/jackpots.service.interface';\r\n\r\ninterface IDailyJackpotWidgetClockComponentProps {\r\n jackpotData: IJackpotStatefulData;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth?: number;\r\n jackpotType: JackpotType;\r\n}\r\n\r\n@observer\r\nexport class JackpotWidgetClockComponent extends OrbitComponent {\r\n private updateClockInterval: SetIntervalType;\r\n\r\n @observable.ref\r\n private clockValue: string = \"\";\r\n\r\n constructor(props: IDailyJackpotWidgetClockComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.clockInit();\r\n }\r\n\r\n componentDidUpdate(prevProps: IDailyJackpotWidgetClockComponentProps) {\r\n if ( prevProps.jackpotData.mustHitTime !== this.props.jackpotData.mustHitTime) {\r\n this.clearClockInterval();\r\n this.clockInit();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.clearClockInterval();\r\n }\r\n\r\n private clockInit() {\r\n this.updateClock();\r\n this.updateClockInterval = setInterval(() => {\r\n this.updateClock();\r\n }, 1000);\r\n }\r\n\r\n private clearClockInterval() {\r\n if (this.updateClockInterval) {\r\n clearInterval(this.updateClockInterval);\r\n this.updateClockInterval = undefined;\r\n }\r\n }\r\n\r\n @action.bound\r\n private updateClock() {\r\n const serverDate = this.services.time.getCurrentServerDate();\r\n if (!serverDate) {\r\n this.services.logger.warning('Server date is invalid');\r\n return;\r\n }\r\n\r\n const mustHitDate = this.props.jackpotData.mustHitTime;\r\n\r\n // round it to 1 second\r\n const remainingTimeMilis = Math.round((mustHitDate.getTime() - serverDate.getTime()) / 1000) * 1000;\r\n const remainingTimeTimeSp = TimeSpan.fromMilliseconds(Math.max(0, remainingTimeMilis));\r\n this.clockValue = remainingTimeTimeSp.toString({useTotalHours: true});\r\n }\r\n\r\n render() {\r\n return \r\n {this.clockValue}\r\n ;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetAmountLabelBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleAmountLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 15px */\r\n return widgetWidth * 15 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 131 + \"px\";\r\n }\r\n};\r\n\r\n/**\r\n * This is the \"PAID\" label shown above the amount at cold state\r\n */\r\nconst JackpotWidgetAmountLabelDefaultBox = styled.div`\r\n width: 100%;\r\n margin: 0 auto;\r\n text-align: center;\r\n letter-spacing: 0.2rem;\r\n\r\n text-transform: uppercase;\r\n color: ${({theme}) => theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.ultra};\r\n\r\n font-size: ${({widgetWidth, layout}) => handleAmountLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelCasino777Box = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${(props) => props.themeType === JackpotThemeType.Light ? props.theme.colors.brandPrimaryContrast : props.theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelSiBox = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nexport const JackpotWidgetAmountLabelBox = styledByTheme(JackpotWidgetAmountLabelDefaultBox)\r\n .forCasino777(JackpotWidgetAmountLabelCasino777Box)\r\n .forSI(JackpotWidgetAmountLabelSiBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetCollectingLabelBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleCollectingLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n return widgetWidth * 16 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n return widgetWidth * 10 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n return widgetWidth * 10 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetCollectingLabelDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n letter-spacing: 0.02rem;\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"62%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"left\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleCollectingLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetCollectingLabelCasino777Box = styled(JackpotWidgetCollectingLabelDefaultBox)`\r\n color: ${({theme, themeType}) => themeType === JackpotThemeType.Light ? theme.colors.danger : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetCollectingLabelSiBox = styled(JackpotWidgetCollectingLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nexport const JackpotWidgetCollectingLabelBox = styledByTheme(JackpotWidgetCollectingLabelDefaultBox)\r\n .forCasino777(JackpotWidgetCollectingLabelCasino777Box)\r\n .forSI(JackpotWidgetCollectingLabelSiBox)\r\n .forSICis(JackpotWidgetCollectingLabelSiBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetCollectingAmountBox{\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleCollectingAmountFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 25px */\r\n return widgetWidth * 25 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 12px */\r\n return widgetWidth * 12 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 12px */\r\n return widgetWidth * 12 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetCollectingAmountDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"38%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"right\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleCollectingAmountFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetCollectingAmountCasino777Box = styled(JackpotWidgetCollectingAmountDefaultBox)`\r\n color: ${({theme, themeType}) => themeType === JackpotThemeType.Light ? theme.colors.danger : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetCollectingAmountSiBox = styled(JackpotWidgetCollectingAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n`;\r\n\r\nexport const JackpotWidgetCollectingAmountBox = styledByTheme(JackpotWidgetCollectingAmountDefaultBox)\r\n .forCasino777(JackpotWidgetCollectingAmountCasino777Box) \r\n .forSI(JackpotWidgetCollectingAmountSiBox)\r\n .forSICis(JackpotWidgetCollectingAmountSiBox)\r\n .apply();\r\n","import styled, { keyframes, css } from \"styled-components\";\r\n\r\nconst animationProps = \"2s ease-in-out 0s normal infinite none running\";\r\n\r\n/**\r\n * The leftmost position of the sparkle (the center of the sparkle) in percentage\r\n */\r\nconst ShineLeftPosition = 20;\r\n/**\r\n * The rightmost position of the sparkle (the center of the sparkle) in percentage\r\n */\r\nconst ShineRightPosition = 80;\r\n\r\nconst BorderShineHeight = 2;\r\nconst BorderShineWidth = 30;\r\nfunction borderShineKeyframes(rtl?: boolean) {\r\n const startPos = (rtl ? ShineRightPosition : ShineLeftPosition) - (BorderShineWidth / 2);\r\n const endPos = (rtl ? ShineLeftPosition : ShineRightPosition) - (BorderShineWidth / 2);\r\n return keyframes`\r\n 0% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n 20%, 30% {\r\n opacity: 0.5;\r\n left: ${startPos}%;\r\n }\r\n 50%, 60% {\r\n opacity: 1;\r\n left: ${endPos}%;\r\n }\r\n 80% {\r\n opacity: 0;\r\n left: ${endPos}%;\r\n }\r\n 100% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n `;\r\n}\r\nexport const JackpotWidgetBorderShine = styled.div<{bottom?: boolean}>`\r\n position: absolute;\r\n width: ${BorderShineWidth}%;\r\n ${({bottom}) => bottom ? css`\r\n bottom: ${-(BorderShineHeight / 2)}px;\r\n ` : css`\r\n top: ${-(BorderShineHeight / 2)}px;\r\n `}\r\n height: ${BorderShineHeight}px;\r\n z-index: 10;\r\n background-color: transparent;\r\n background-image: linear-gradient(90deg, #00000000 0%, #FFFFFF 50%, #00000000 100%);\r\n\r\n animation: ${({bottom}) => borderShineKeyframes(bottom)} ${animationProps};\r\n`;\r\n\r\nconst RadialShineHeight = 22;\r\nconst RadialShineWidth = 20;\r\nfunction radialShineKeyframes(rtl?: boolean) {\r\n const startPos = (rtl ? ShineRightPosition : ShineLeftPosition) - (RadialShineWidth / 2);\r\n const endPos = (rtl ? ShineLeftPosition : ShineRightPosition) - (RadialShineWidth / 2);\r\n return keyframes`\r\n 0% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n 20%, 30% {\r\n opacity: 0.1;\r\n left: ${startPos}%;\r\n }\r\n 50%, 60% {\r\n opacity: 1;\r\n left: ${endPos}%;\r\n }\r\n 80% {\r\n opacity: 0;\r\n left: ${endPos}%;\r\n }\r\n 100% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n `;\r\n}\r\nexport const JackpotWidgetRadialShine = styled.div<{bottom?: boolean}>`\r\n position: absolute;\r\n width: ${RadialShineWidth}%;\r\n ${({bottom}) => bottom ? css`\r\n bottom: ${-(RadialShineHeight / 2)}px;\r\n ` : css`\r\n top: ${-(RadialShineHeight / 2)}px;\r\n `}\r\n height: ${RadialShineHeight}px;\r\n z-index: 10;\r\n background-color: transparent;\r\n background-image: radial-gradient(closest-side at 50% 50%, #FFFFFF 0%, #FFFFFF61 35%, #00000000 100%);\r\n\r\n animation: ${({bottom}) => radialShineKeyframes(bottom)} ${animationProps};\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {JACKPOT_STATE, JackpotInternalId, JackpotType} from '../../../common/const/jackpot_map_ids';\r\nimport {JackpotWidgetConfiguration} from '../../services/configurations/config-data-sections/jackpot-widget.configuration';\r\nimport {JackpotWidgetBox} from './boxes/jackpot-widget.box';\r\nimport {JackpotWidgetBgBox} from './boxes/bg/jackpot-widget-bg.box';\r\nimport {JackpotWidgetLogoBox} from './boxes/logo/jackpot-widget-logo.box';\r\nimport {JackpotWidgetAmountBox} from './boxes/amount/jackpot-widget-amount.box';\r\nimport {JackpotWidgetFooterBox} from './boxes/footer/jackpot-widget-footer.box';\r\nimport {JackpotWidgetClockLabelBox} from './boxes/footer/clock/label/jackpot-widget-clock-label.box';\r\nimport {JackpotWidgetClockComponent} from './jackpot-widget-clock.component';\r\nimport {JackpotWidgetAmountLabelBox} from './boxes/amount/label/jackpot-widget-amount-label.box';\r\nimport {JackpotWidgetCollectingLabelBox} from './boxes/footer/collecting/label/jackpot-widget-collecting-label';\r\nimport {JackpotWidgetCollectingAmountBox} from './boxes/footer/collecting/amount/jackpot-widget-collecting-amount';\r\nimport {JackpotWidgetBorderShine, JackpotWidgetRadialShine} from './boxes/shine/jackpot-widget-shine.box';\r\nimport {JackpotWidgetAspectRatioBox} from './boxes/aspect-ratio/jackpot-widget-aspect-ratio.box';\r\nimport {JackpotWidgetAmountContainer} from './boxes/amount/jackpot-widget-amount-container.box';\r\nimport {JackpotWidgetClockLabelSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box\";\r\nimport {JackpotWidgetCollectingLabelSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box\";\r\nimport {JackpotWidgetFooterSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box\";\r\nimport {JackpotWidgetAmountSkeletonBox} from \"./skeleton/boxes/jackpot-widget-amount-skeleton.box\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport { imagePreload } from '../../../common/utils/image-preload';\r\nimport {ResizeObserver, ResizeObserverEntry} from '@juggle/resize-observer';\r\nimport { IJackpotHandler } from '../../services/jackpots/jackpot-handler/jackpot-handler.interface';\r\nimport { IJackpotData } from '../../services/jackpots/jackpots.service.interface';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\n\r\n\r\nexport enum JACKPOT_WIDGET_LAYOUT {\r\n PORTRAIT,\r\n LANDSCAPE,\r\n LANDSCAPE_WIDE\r\n}\r\n\r\nexport interface IJackpotWidgetLayout {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n}\r\n\r\nexport interface JackpotWidgetComponentProps {\r\n\t/**\r\n\t * We send the wrapper as prop because if the widget is not rendered, then we don't want to render the Wrapper either\r\n\t */\r\n WrapperBox?: React.ComponentType;\r\n\twidgetConfig?: JackpotWidgetConfiguration;\r\n layout?: JACKPOT_WIDGET_LAYOUT;\r\n seoCategory?: string;\r\n onClick?: () => void;\r\n}\r\n\r\n@observer\r\nexport class JackpotWidgetComponent extends OrbitComponent {\r\n\r\n constructor(props: JackpotWidgetComponentProps) {\r\n super(props);\r\n makeObservable(this);\r\n }\r\n\r\n private _onWidgetClick = () => {\r\n //Product want to check how many users click on the widgets even if it's not clickable\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Jackpot_Widget\", `${this.services.routing.currentRoute?.data?.arenaType}, ${this.props.widgetConfig?.jackpotType}`);\r\n\r\n\r\n if (this.props.onClick) {\r\n const listInfo = this.services.configuration.getGamesListByJackpotId(this.props.widgetConfig.jackpotId);\r\n this.services.analytics.sendAnalytics(this.props.seoCategory ?? \"List_Widget\", \"Widget_Clicked\", this.props.widgetConfig.jackpotType + (listInfo?.title ? \"_\" + listInfo.title : \"\"));\r\n this.props.onClick();\r\n }\r\n }\r\n\r\n private _isWidgetClickable = () => {\r\n return !!this.props.onClick || this.props.widgetConfig.jackpotType === JackpotType.Party;\r\n }\r\n\r\n @observable.ref\r\n private imagesReady = false;\r\n\r\n\r\n @action.bound\r\n private _setImagesReady(readyState: boolean) {\r\n this.imagesReady = readyState;\r\n }\r\n\r\n private get _isJackpotHandlerReady(): boolean {\r\n const jackpotId = this.props.widgetConfig?.jackpotId ?? JackpotInternalId.Daily;\r\n const jackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n return !Check.isNullOrUndefined(jackpotHandler?.jackpotData);\r\n }\r\n\r\n private get _shouldRenderSkeleton() {\r\n return (!this.imagesReady || !this._isJackpotHandlerReady);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n const jackpotType = this.props.widgetConfig?.jackpotType ?? JackpotType.Daily;\r\n\r\n if (!this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType]) {\r\n // this can happen if in Orbit Admin metadata has jackpotType has unknown value for Orbit - for example \"HourlyCaptain8\"\r\n this.services.logger.warning(`Unknown JP type ${jackpotType} found!`)\r\n return;\r\n }\r\n\r\n Promise.all([\r\n imagePreload(this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType].logo.toString()),\r\n imagePreload(this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType].background.toString())\r\n ]).then(() => {\r\n this._setImagesReady(true);\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.resizeObserverInstance) {\r\n this.resizeObserverInstance.disconnect();\r\n this.resizeObserverInstance = null;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private widgetWidth: number;\r\n private aspectRatioBox: HTMLDivElement | null;\r\n private resizeObserverInstance: ResizeObserver;\r\n private disposer: undefined | ((oldRefEl: HTMLDivElement) => void);\r\n\r\n @action.bound\r\n private setWidgetWidth = (entries: ResizeObserverEntry[]) => {\r\n // We know we are only watching the aspect ratio box element so we take the first element in the array.\r\n // We are not using this.aspectRatioBox directly because from a typescript point of view that could be null\r\n // and from a react component lifecycle perspective it could be null as well\r\n let targetElement = entries[0].target;\r\n const elementRectangle = targetElement.getBoundingClientRect();\r\n this.widgetWidth = elementRectangle.width;\r\n };\r\n\r\n private _captureJackpotWidgetAspectRatioBoxRef = (refEl: HTMLDivElement | null) => {\r\n if (this.disposer) {\r\n this.disposer(this.aspectRatioBox);\r\n this.disposer = undefined;\r\n }\r\n this.aspectRatioBox = refEl;\r\n if (this.aspectRatioBox) {\r\n if (!this.resizeObserverInstance) {\r\n this.resizeObserverInstance = new ResizeObserver(this.setWidgetWidth);\r\n }\r\n this.resizeObserverInstance.observe(this.aspectRatioBox);\r\n this.disposer = (oldRefEl: HTMLDivElement) => {\r\n // At unmount, the resizeObserverInstance will be destroyed and the disposer will be called too late.\r\n // In that case, we don't do anything since the observer was disconnected at unmount\r\n if (this.resizeObserverInstance) {\r\n this.resizeObserverInstance.unobserve(oldRefEl);\r\n }\r\n }\r\n }\r\n };\r\n\r\n private _getCountDownTimerTranslationKey(jackpotState: JACKPOT_STATE) {\r\n let translationKey = '';\r\n switch (jackpotState) {\r\n case JACKPOT_STATE.Hot:\r\n translationKey = 'JACKPOT-WIDGET-DROPS-SOON';\r\n break;\r\n\r\n case JACKPOT_STATE.OffHours:\r\n translationKey = 'JACKPOT-WIDGET-STARTS-SOON';\r\n break;\r\n\r\n case JACKPOT_STATE.Regular:\r\n default:\r\n translationKey = 'JACKPOT-WIDGET-MUST-PAY';\r\n break;\r\n }\r\n\r\n return translationKey;\r\n }\r\n\r\n private _getJackpotWidgetLayout(): JACKPOT_WIDGET_LAYOUT {\r\n return this.props.layout || JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n render() {\r\n if (!this.props.widgetConfig || !this.props.widgetConfig.display) {\r\n return null;\r\n }\r\n\r\n const jackpotId = String(this.props.widgetConfig.jackpotId ?? JackpotInternalId.Daily);\r\n const jackpotType: JackpotType = this.props.widgetConfig.jackpotType ?? JackpotType.Daily;\r\n\r\n const jackpotHandler: IJackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n const jackpotData = (jackpotHandler?.jackpotData || {}) as IJackpotData;\r\n\r\n if (!this._shouldRenderSkeleton) {\r\n jackpotHandler.startGradual(jackpotData);\r\n }\r\n\r\n const {jackpotState, lastWinAmount} = jackpotData || {};\r\n\r\n const WrapperBox = this.props.WrapperBox || React.Fragment;\r\n\r\n const layout = this._getJackpotWidgetLayout();\r\n\r\n const themeType = this.services.jackpots.getThemeType(jackpotType);\r\n\r\n return \r\n \r\n \r\n \r\n {jackpotState === JACKPOT_STATE.Hot ? <>\r\n \r\n \r\n \r\n \r\n : null}\r\n\r\n {(this._shouldRenderSkeleton) ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n :\r\n <>\r\n \r\n \r\n {jackpotState === JACKPOT_STATE.Cold &&\r\n \r\n {this.services.translation.translate('JACKPOT-WIDGET-LAST-WIN')}\r\n \r\n }\r\n\r\n \r\n \r\n {jackpotState === JACKPOT_STATE.Cold ?\r\n this.services.currency.formatMoney(lastWinAmount) :\r\n this.services.currency.formatMoney(jackpotHandler.jackpotAmount)}\r\n \r\n \r\n \r\n \r\n { jackpotData.jackpotState ?\r\n (jackpotState === JACKPOT_STATE.Cold ?\r\n <>\r\n \r\n {this.services.translation.translate('JACKPOT-WIDGET-NEXT-JACKPOT')}\r\n \r\n\r\n \r\n {this.services.currency.formatMoney(jackpotHandler.jackpotAmount)}\r\n \r\n :\r\n <>\r\n \r\n {this.services.translation.translate(this._getCountDownTimerTranslationKey(jackpotState))}\r\n \r\n \r\n \r\n ) : }\r\n \r\n }\r\n \r\n \r\n \r\n ;\r\n }\r\n};\r\n","import styled from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetAspectRatioBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nconst handlePaddingTop = (layout: JACKPOT_WIDGET_LAYOUT) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n return \"58%\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n return \"25%\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n return \"123%\";\r\n }\r\n};\r\n\r\nexport const JackpotWidgetAspectRatioBox = styled.div`\r\n position: relative;\r\n padding-top: ${({layout}) => handlePaddingTop(layout)};\r\n transition: padding-top 0.5s ease-in-out;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetAmountContainerProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n}\r\n\r\nexport const JackpotWidgetAmountContainer = styled.div`\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE ? \"40%\" : \"initial\"};\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetFooterElementSkeletonBox = styled.div`\r\n width: 20%;\r\n height: 2rem;\r\n \r\n animation: FooterElementSkeletonAnimation 1.5s linear infinite;\r\n \r\n @keyframes FooterElementSkeletonAnimation {\r\n 0% {\r\n background-color: #474747;\r\n }\r\n 100% {\r\n background-color: #333333;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetFooterElementSkeletonBox} from \"./jackpot-widget-footer-element-skeleton.box\";\r\n\r\nexport const JackpotWidgetClockLabelSkeletonBox = styled(JackpotWidgetFooterElementSkeletonBox)`\r\n margin-left: 50%;\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetFooterElementSkeletonBox} from \"./jackpot-widget-footer-element-skeleton.box\";\r\n\r\nexport const JackpotWidgetCollectingLabelSkeletonBox = styled(JackpotWidgetFooterElementSkeletonBox)`\r\n margin-left: 5%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetFooterSkeletonBox = styled.div`\r\n display: flex;\r\n margin-bottom: 0.8rem;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetAmountSkeletonBox = styled.div`\r\n margin-top: 35%;\r\n margin-left: 25%;\r\n\r\n width: 50%;\r\n height: 2.8rem;\r\n \r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: #474747;\r\n }\r\n 100% {\r\n background-color: #333333;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const SpacerBox = styled.div<{height: string}>`\r\n height: ${({height}) => height};\r\n`;\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget-wrapper.default.box';\r\n\r\nexport const JackpotWidgetWrapperBox = JackpotWidgetDefaultBox;\r\n","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n margin: 1rem 1rem 3rem;\r\n align-self: stretch;\r\n max-width: 24rem;\r\n width: calc(100% / 6);\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: calc(100% / 5);\r\n margin: 1rem 1.5rem 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 3);\r\n margin: 1rem 1.5rem 0;\r\n }\r\n`;\r\n","import {RedTigerWidgetDefaultBox} from './red-tiger-widget.default.box';\r\n\r\nexport const RedTigerWidgetBox = RedTigerWidgetDefaultBox;\r\n","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const RedTigerWidgetDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n margin: 1rem 1rem 3rem;\r\n align-self: stretch;\r\n max-width: 24rem;\r\n width: calc(100% / 6);\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 1rem 1.5rem 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: calc(100% / 5);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 3);\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const RedTigerWidgetHitAreaDefaultBox = styled.div`\r\n cursor: pointer;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { RedTigerWidgetHitAreaDefaultBox } from './red-tiger-widget-hit-area.default.box';\r\n\r\n\r\nexport const RedTigerWidgetHitAreaCasino777Box = styled(RedTigerWidgetHitAreaDefaultBox)`\r\n cursor: default;\r\n`;","import { styledByTheme } from './../../../../themes/architecture/styled-by-theme';\r\nimport { RedTigerWidgetHitAreaDefaultBox } from './red-tiger-widget-hit-area.default.box';\r\nimport { RedTigerWidgetHitAreaCasino777Box } from './red-tiger-widget-hit-area.casino777.box';\r\n\r\nexport const RedTigerWidgetHitAreaBox = styledByTheme(RedTigerWidgetHitAreaDefaultBox)\r\n .forCasino777(RedTigerWidgetHitAreaCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const RedTigerWidgetFrameContainerDefaultBox = styled.iframe`\r\n pointer-events: none;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 10px;\r\n`;\r\n","import { styledByTheme } from './../../../../themes/architecture/styled-by-theme';\r\nimport { RedTigerWidgetFrameContainerDefaultBox } from './red-tiger-widget-frame-container.default.box';\r\n\r\nexport const RedTigerWidgetFrameContainerBox = styledByTheme(RedTigerWidgetFrameContainerDefaultBox)\r\n .apply();","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport { RedTigerJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/red-tiger-jackpot-widget.configuration';\r\nimport { observer } from 'mobx-react';\r\nimport { RedTigerWidgetBox } from './boxes/widget/red-tiger-widget.box';\r\nimport { RedTigerWidgetHitAreaBox } from './boxes/hitArea/red-tiger-widget-hit-area.box';\r\nimport { RedTigerWidgetFrameContainerBox } from './boxes/frameContainer/red-tiger-widget-frame-container.box';\r\nimport { CyClass } from '../../../common/cy-classes';\r\n\r\ninterface RedTigerWidgedComponentProps {\r\n widgetConfig?: RedTigerJackpotWidgetConfiguration;\r\n}\r\n\r\nexport const RedTigerWidgetComponent = observer(\r\n class RedTigerWidgetComponent extends OrbitComponent {\r\n \r\n private _onWidgetClick = () => {\r\n this.services.redTiger.redirectToWidgetActionLink(this.props.widgetConfig.actionLink);\r\n }\r\n \r\n private _logMissingProps() {\r\n if (!this.props.widgetConfig.actionLink) {\r\n // actionLink is optional. For example on 777 we don't have it\r\n this.services.logger.info('Missing actionLink parameter for RedTigerWidgetComponent');\r\n }\r\n\r\n if (!this.props.widgetConfig.parameters?.skin) {\r\n this.services.logger.warning('Missing skin parameter for RedTigerWidgetComponent');\r\n }\r\n\r\n if (!this.props.widgetConfig.parameters?.jackpotId) {\r\n this.services.logger.warning('Missing jackpotId parameter for RedTigerWidgetComponent');\r\n }\r\n }\r\n\r\n render() {\r\n if(!this.props.widgetConfig?.display) {\r\n return null;\r\n }\r\n this._logMissingProps();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport { GeneralTitleDefaultBox } from './general-title.default.box';\r\n\r\nexport const GeneralTitleCasinoSIBox = styled(GeneralTitleDefaultBox)`\r\n flex-grow: 100;\r\n border-radius: 3px 0px 0px 3px;\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n`;","import {GeneralTitleDefaultBox} from './general-title.default.box';\r\nimport {GeneralTitleCasino777Box} from './general-title.casino777.box';\r\nimport {GeneralTitleCasinoSIBox} from './general-title.si.box';\r\nimport {styledByTheme} from '../../themes/architecture/styled-by-theme';\r\n\r\nexport const GeneralTitleBox = styledByTheme(GeneralTitleDefaultBox)\r\n .forCasino777(GeneralTitleCasino777Box)\r\n .forSI(GeneralTitleCasinoSIBox)\r\n .apply();\r\n\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleBox} from '../../../../basic-components/general-title/general-title.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\n\r\nexport const ListTitleTextDefaultBox = styled(GeneralTitleBox)`\r\n letter-spacing: 0.2rem;\r\n display: flex;\r\n align-items: center;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n border-left: 2px solid ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.redTigerJackpot};\r\n border-left: 2px solid #ff014f;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.6rem;\r\n padding-bottom: 0.6rem;\r\n padding-right: 0.1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\n\r\nexport const ListTitleTextCasino777Box = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextCipBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n`;","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\n\r\nexport const ListTitleTextCisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n background: none;\r\n border-left: none;\r\n padding: 0 0;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from '../../constants';\r\n\r\nexport const ListTitleTextSiBox = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n \r\n background-image: linear-gradient(to right, ${props => props.theme.colors.background} 0%, ${props => props.theme.colors.background} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: transparent;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\n\r\nexport const ListTitleTextMrGreenBox = styled(ListTitleTextDefaultBox)`\r\n background: none;\r\n border-left: 0;\r\n\r\n /* This is done to keep the alignment between the list title and the first game in the list */\r\n padding-left: calc(max(0px, 100% / 7 - 21rem) / 2);\r\n .${HOME_PAGE} & {\r\n padding-left: calc(max(0px, 100% / 6 - 21rem) / 2);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 10px;\r\n .${HOME_PAGE} & {\r\n padding-left: 10px;\r\n }\r\n }\r\n\r\n font-size: 2.4rem;\r\n letter-spacing: normal;\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: 1.6rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 0;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 0;\r\n }\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from \"../../constants\";\r\nimport { ListTitleTextDefaultBox } from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextSICisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.medium};\r\n \r\n letter-spacing: 0.56px;\r\n font-size: 14px;\r\n background-image: linear-gradient(to right, ${props => props.theme.colors.backgroundContrast} 0%, ${props => props.theme.colors.backgroundContrast} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n\r\n border-left: none;\r\n \r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {ListTitleTextCasino777Box} from './list-title-text.casino777.box';\r\nimport {ListTitleTextCipBox} from \"./list-title-text.cip.box\";\r\nimport {ListTitleTextCisBox} from \"./list-title-text.cis.box\";\r\nimport {ListTitleTextSiBox} from \"./list-title-text.si.box\";\r\nimport {ListTitleTextMrGreenBox} from \"./list-title-text.mrgreen.box\";\r\nimport { ListTitleTextSICisBox } from './list-title-text.siCis.box';\r\n\r\nexport const ListTitleTextBox = styledByTheme(ListTitleTextDefaultBox)\r\n .forCip(ListTitleTextCipBox)\r\n .forWsopCip(ListTitleTextCipBox)\r\n .forCis(ListTitleTextCisBox)\r\n .forCasino777(ListTitleTextCasino777Box)\r\n .forSI(ListTitleTextSiBox)\r\n .forSICis(ListTitleTextSICisBox)\r\n .forMrGreen(ListTitleTextMrGreenBox)\r\n .forMrGreenCis(ListTitleTextMrGreenBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const ListTitleDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n padding: 0.3rem 1.5rem;\r\n &:before {\r\n content: \"\";\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n opacity:0.5;\r\n background-repeat: no-repeat;\r\n background-position: 50% 0;\r\n background-size: contain;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 35rem;\r\n width: 100%;\r\n z-index: -1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25rem;\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleCasino777Box = styled(ListTitleDefaultBox)`\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleMrGreenBox = styled(ListTitleDefaultBox)`\r\n padding-left: 0;\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCipBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCisBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n \r\n border-top: 1.5px solid ${props => props.theme.colors.brandPrimary};\r\n background-color: ${props => props.theme.colors.background};\r\n`;\r\n","import styled from 'styled-components';\r\nimport { baseColors } from '../../../../themes/definitions/si/cis/base-colors';\r\nimport { ListTitleCisBox } from './list-title.cis.box';\r\n\r\nexport const ListTitleSICisBox = styled(ListTitleCisBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n z-index: 2;\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\nimport {ListTitleCasino777Box} from './list-title.casino777.box';\r\nimport {ListTitleMrGreenBox} from './list-title.mrgreen.box';\r\nimport {ListTitleCipBox} from './list-title.cip.box';\r\nimport {ListTitleCisBox} from \"./list-title.cis.box\";\r\nimport { ListTitleSICisBox } from './list-title.siCis.box';\r\n\r\nexport const ListTitleBox = styledByTheme(ListTitleDefaultBox)\r\n .forCasino777(ListTitleCasino777Box)\r\n .forCip(ListTitleCipBox)\r\n .forWsopCip(ListTitleCipBox)\r\n .forCis(ListTitleCisBox)\r\n .forSICis(ListTitleSICisBox)\r\n .forMrGreen(ListTitleMrGreenBox)\r\n .apply();","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {FlexGrowItemBox} from '../../themes/architecture/css-helpers/flex';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {ListTitleBox} from './boxes/list-title/list-title.box';\r\n\r\nexport interface GameListTitleComponentProps extends PropsWithChildren {\r\n className?: string;\r\n title: React.ReactElement;\r\n}\r\n\r\nexport const GameListTitleComponent = observer(\r\n class GameListTitleComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const cssClasses = classNames('cy-games-list-title', this.props.className);\r\n\r\n return (\r\n \r\n {this.props.title}\r\n {this.services.mediaQuery.mAndAbove ? : null}\r\n {this.props.children}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\nexport const SwiperButtonsDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin: 0 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\n\r\nexport const SwiperButtonsCasino777Box = styled(SwiperButtonsDefaultBox)`\r\n right:.8rem;\r\n`;","import {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\nimport {SwiperButtonsCasino777Box} from './swiper-buttons.casino777.box';\r\n\r\nexport const SwiperButtonsBox = styledByTheme(SwiperButtonsDefaultBox).forCasino777(SwiperButtonsCasino777Box).apply();","import styled, { css } from \"styled-components\";\r\n\r\nexport const SwiperButtonBox = styled.div<{isTouchDevice?: boolean}>`\r\n margin: 0 0.5rem;\r\n\r\n ${({isTouchDevice}) => isTouchDevice ? css`\r\n display: none;\r\n ` : null}\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SwiperButtonsBox} from './boxes/wrapper/swiper-buttons.box';\r\nimport {SwiperButtonBox} from './boxes/button/swiper-button.box';\r\nimport { Button } from '../../../basic-ui-components/button/base/button.component';\r\nimport {ISwipeLogicHandler} from \"../../../services/arenas/models/swiper-logic-handler/swiper-logic-handler.interface\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\n\r\nexport interface OrbitSwiperButtonsProps {\r\n analyticsAction: string;\r\n swiper: ISwipeLogicHandler;\r\n seeAllButtonUrl: string;\r\n seoCategory: string;\r\n}\r\n\r\n\r\n\r\nexport const OrbitSwiperButtons = observer(class OrbitSwiperButtons extends OrbitComponent {\r\n\r\n\r\n private onSwiperButtonPrevClick = () => {\r\n this.props.swiper.movePrevious();\r\n };\r\n\r\n private onSwiperButtonNextClick = () => {\r\n this.props.swiper.moveNext();\r\n };\r\n\r\n private _renderMoveNextAndPreviousButtons() {\r\n\r\n if (!this.props.swiper.allowNext && !this.props.swiper.allowPrevious) {\r\n return null;\r\n }\r\n\r\n const isTouchDevice = this.services.device.feature.isTouch; // device has touch\r\n\r\n return (<>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n\r\n }\r\n\r\n private seeAllClickHandler = () => {\r\n this.services.analytics.sendAnalytics(this.props.seoCategory, this.props.analyticsAction, 'See_All');\r\n\r\n const url = this.props.seeAllButtonUrl;\r\n this.services.location.push(url);\r\n };\r\n\r\n private _renderSeeAllButton() {\r\n if(this.props.seeAllButtonUrl.length === 0 || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return \r\n \r\n {this.services.translation.translate('SEE_ALL')}\r\n \r\n ;\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderMoveNextAndPreviousButtons()}\r\n {this._renderSeeAllButton()}\r\n \r\n );\r\n }\r\n});\r\n\r\n\r\n","import { action, computed, observable, makeObservable } from 'mobx';\r\nimport { DomEventSubscription } from '../../../../../utils/event-listener-registration';\r\nimport {IServiceFactory} from '../../../service-factory.interface';\r\nimport {IGamesListViewModel} from \"../lists/games-list-view-model.interface\";\r\nimport {ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\n\r\nexport class SwipeLogicHandler implements ISwipeLogicHandler {\r\n private _resizeEventHandler: DomEventSubscription;\r\n\r\n constructor(private services: IServiceFactory,\r\n private readonly _gamesListViewModel: IGamesListViewModel) {\r\n makeObservable(this);\r\n\r\n this._isRTLLanguage = this.services.language.isRTLLanguage;\r\n }\r\n\r\n @observable.ref\r\n private _element: HTMLElement = null;\r\n\r\n @observable.ref\r\n private _currentTranslateAmount: number = 0;\r\n\r\n @action.bound\r\n setElement(element: HTMLElement) {\r\n this._unsubscribe();\r\n if(element) {\r\n this._element = element;\r\n this._setScrollWidth(element.scrollWidth);\r\n this._currentTranslateAmount = this.services.window.getElementHorizontalTranslationAmount(this._element as Element);\r\n this._subscribe();\r\n } else {\r\n this.resetScrollPosition();\r\n this._element = null;\r\n }\r\n }\r\n\r\n @action.bound\r\n resetScrollPosition() {\r\n this._currentTranslateAmount = 0;\r\n if (this._element) {\r\n this._element['style'].transform = `translate3d(0px, 0, 0)`;\r\n }\r\n }\r\n\r\n updateScrollWidth() {\r\n if (this._element) {\r\n this._setScrollWidth(this._element.scrollWidth);\r\n }\r\n }\r\n\r\n private _subscribe() {\r\n this._resizeEventHandler = this.services.window.subscribeTo.resize(() => {\r\n this.updateScrollWidth();\r\n });\r\n\r\n if(this.services.device.isMobile && this._element) {\r\n this._element.addEventListener(\"scroll\", this._onMobileSwipe);\r\n }\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._resizeEventHandler) {\r\n this._resizeEventHandler.dispose();\r\n }\r\n\r\n if(this.services.device.isMobile && this._element) {\r\n this._element.removeEventListener(\"scroll\", this._onMobileSwipe);\r\n }\r\n }\r\n\r\n private readonly _isRTLLanguage : boolean;\r\n\r\n\r\n @computed\r\n get allowPrevious(): boolean {\r\n if (this._element) {\r\n return Math.abs(this._currentTranslateAmount) >= 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowNext(): boolean {\r\n if (this._element) {\r\n return Math.abs(this._currentTranslateAmount) < this._maximumTranslationAmount - 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private get _width(): number {\r\n return this.services.window.getElementWidth(this._element);\r\n }\r\n\r\n\r\n @action.bound\r\n private _setScrollWidth(value: number): void {\r\n this._scrollWidth = value;\r\n }\r\n\r\n @observable.ref\r\n private _scrollWidth = 0;\r\n\r\n\r\n @computed\r\n private get _maximumTranslationAmount(): number {\r\n if(this._element) {\r\n return this._scrollWidth - this._width;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private _isSwiperOnTheMove = false;\r\n\r\n @action.bound\r\n private _slide(computeIncrement: (absoluteCurrentTranslationAmount: number) => number) {\r\n if(this._isSwiperOnTheMove) {\r\n return;\r\n }\r\n\r\n this._isSwiperOnTheMove = true;\r\n\r\n try {\r\n let currentTranslateAmount = this.services.window.getElementHorizontalTranslationAmount(this._element);\r\n let increment = computeIncrement(Math.abs(currentTranslateAmount));\r\n\r\n if(this._isRTLLanguage) {\r\n increment = -1 * increment;\r\n }\r\n\r\n let translateAmount = currentTranslateAmount + increment;\r\n\r\n this._element['style'].transform = `translate3d(${translateAmount}px, 0, 0)`;\r\n this._currentTranslateAmount = translateAmount;\r\n\r\n this._sendAnalytics();\r\n } finally {\r\n this._isSwiperOnTheMove = false;\r\n }\r\n }\r\n\r\n private _sendAnalytics() {\r\n this.services.analytics.sendAnalytics(this._gamesListViewModel.arenaName, this._gamesListViewModel.title.translationKey, 'Swipe');\r\n }\r\n\r\n\r\n moveNext(): void {\r\n if(this.allowNext) {\r\n this._slide((absoluteCurrentTranslationAmount) => -1 * Math.min(this._width, this._maximumTranslationAmount - absoluteCurrentTranslationAmount));\r\n }\r\n\r\n }\r\n\r\n movePrevious(): void {\r\n if(this.allowPrevious) {\r\n this._slide((absoluteCurrentTranslationAmount) => Math.min(this._width, absoluteCurrentTranslationAmount));\r\n }\r\n }\r\n\r\n private _mobileScrollingTimeout: any;\r\n private _onMobileSwipe = () => {\r\n //Clear the timeout on every scroll to prevent form the scroll(swipe) event to fire multiple times. (debounce)\r\n clearTimeout(this._mobileScrollingTimeout);\r\n // Set a timeout to fire after the scrolling as end\r\n this._mobileScrollingTimeout = setTimeout(() => {\r\n this._sendAnalytics();\r\n }, 100);\r\n };\r\n}\r\n","import React from 'react';\r\nimport {GamesListBaseModel} from \"./games-list-base.model\";\r\nimport {\r\n ApiListType,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {EXCLUSIVES_LIST_ICON, JACKPOTS_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TextTranslation} from \"../../../translation/text-translation\";\r\nimport {ListTitleIconBox} from \"../../../../components/game-list-title/boxes/list-title-icon/list-title-icon.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {JackpotWidgetComponent} from \"../../../../components/jackpot-widget/jackpot-widget.component\";\r\nimport {JackpotWidgetWrapperBox} from \"../../../../components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.box\";\r\nimport {RedTigerWidgetComponent} from \"../../../../components/red-tiger-widget/red-tiger-widget.component\";\r\nimport {ISwiperListViewModel} from \"./swiper-list-view-model.interface\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../../../components/game-list-title/constants\";\r\nimport {ListTitleTextBox} from \"../../../../components/game-list-title/boxes/list-title-text/list-title-text.box\";\r\nimport {GameListTitleComponent} from \"../../../../components/game-list-title/game-list-title.component\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitSwiperButtons} from \"../../../../components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons\";\r\nimport {SwipeLogicHandler} from \"../swiper-logic-handler/swipe-logic-handler\";\r\nimport {ISwipeLogicHandler} from \"../swiper-logic-handler/swiper-logic-handler.interface\";\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\n\r\nexport abstract class SwiperListBaseModel extends GamesListBaseModel implements ISwiperListViewModel {\r\n\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(arena);\r\n }\r\n \r\n get listId(): number {\r\n return this.listConfiguration.listId;\r\n }\r\n\r\n get apiListType(): ApiListType | undefined {\r\n return this.listConfiguration.apiListType;\r\n }\r\n\r\n get title(): TextTranslation {\r\n return this.services.translation.getTranslation(this.listConfiguration.title, this._getTitleTranslationParams());\r\n }\r\n\r\n get swipeLogicHandler() {\r\n return this._swipeLogicHandler;\r\n }\r\n\r\n get showGameTitleOnMultipleLines() {\r\n const widgetConfig = this.listConfiguration.jackpotWidget;\r\n\t\tif (!widgetConfig || !widgetConfig.display) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n return widgetConfig.jackpotType === JackpotType.HourlyCaptain8;\r\n }\r\n\r\n protected _swipeLogicHandler: ISwipeLogicHandler = new SwipeLogicHandler(this.services, this);\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n return this.listConfiguration.shouldInjectUsernameInTitle ? this.services.user.name : undefined;\r\n }\r\n\r\n protected get _numberOfGamesToBeIgnoredInAISorting(): number | undefined {\r\n return this.listConfiguration.ignoreNumberOfGamesInAISorting;\r\n }\r\n\r\n get listTypeId(): number | null {\r\n return null;\r\n }\r\n\r\n protected get _seeAllUrl(): string {\r\n const seeAllConfig = this.listConfiguration.seeAll || '';\r\n\r\n /**\r\n * We used to support SeeAll Button as an object, from 6.6.21 we've changed that to string, this is backward compatibility\r\n * Task https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1737512\r\n */\r\n if (Check.isObject(seeAllConfig)) {\r\n return (seeAllConfig as any).url || '';\r\n }\r\n\r\n return seeAllConfig;\r\n }\r\n\r\n protected get _isAISorted(): boolean {\r\n return this.listConfiguration.useAISortedList;\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return !this.services.gamesFilter.isFilterOn;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n const gameTypes = this.listConfiguration.gamesId || [];\r\n if (this.services.gamesFilter.isFilterOn) {\r\n return [];\r\n }\r\n\r\n return gameTypes;\r\n }\r\n\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n if (this.listConfiguration.jackpotWidget) {\r\n return 4;\r\n }\r\n\r\n if (this.listConfiguration.templateType === JACKPOTS_ITEM) {\r\n return 2;\r\n }\r\n\r\n return 6;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n gameTypes = super._reduceGameTypes(gameTypes);\r\n return this._reduceGameTypesForJackpotsItemTemplateInHomePage(gameTypes);\r\n }\r\n\r\n private _reduceGameTypesForJackpotsItemTemplateInHomePage(gameTypes: number[]): number[] {\r\n if (!this.services.device.isMobile) {\r\n return gameTypes;\r\n }\r\n if (this.listConfiguration.templateType !== JACKPOTS_ITEM) {\r\n return gameTypes;\r\n }\r\n if (!this.services.location.isHomePage) {\r\n return gameTypes;\r\n }\r\n return gameTypes.slice(0, 6);\r\n }\r\n\r\n get forceInLayout(): boolean {\r\n return this.listConfiguration.forceListInLayout;\r\n }\r\n\r\n private get _isJackpotWidgetHost(): boolean {\r\n return Boolean(this.listConfiguration.jackpotWidget?.display);\r\n }\r\n\r\n private get _isRedTigerJackpotWidgetHost(): boolean {\r\n return Boolean(this.listConfiguration.redTigerWidget?.display);\r\n }\r\n\r\n get templateType(): string {\r\n return this.listConfiguration.templateType;\r\n }\r\n\r\n protected get _forceRoundIcons(): boolean {\r\n return this.listConfiguration.forceRoundIcons;\r\n }\r\n \r\n protected get _useSquareIcons(): boolean {\r\n return this.listConfiguration.useSquareIcons;\r\n }\r\n\r\n protected _renderJackpotWidget() {\r\n let onClickHandler = null;\r\n if(this.services.location.isHomePage) {\r\n onClickHandler = () => this.services.location.push('/jackpots/');\r\n }\r\n\r\n return ()\r\n }\r\n\r\n protected _renderRedTigerWidget() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n renderSpecialWidgets(): React.ReactElement | null {\r\n return (\r\n <>\r\n {this._renderJackpotWidget()}\r\n {this._renderRedTigerWidget()}\r\n \r\n );\r\n }\r\n\r\n renderListHeader(): React.ReactElement {\r\n return (\r\n \r\n {this._renderSwiperButtons()}\r\n \r\n )\r\n }\r\n\r\n protected _renderSwiperButtons() {\r\n return ;\r\n }\r\n\r\n\r\n _getTitleCssClasses(): string[] {\r\n const cssClasses: string[] = [this.listConfiguration.titleIconClassName];\r\n if(this._isJackpotWidgetHost) {\r\n cssClasses.push(JACKPOT_WIDGET);\r\n }\r\n\r\n if(this._isRedTigerJackpotWidgetHost) {\r\n cssClasses.push(RED_TIGER_JACKPOT)\r\n }\r\n\r\n return cssClasses;\r\n }\r\n\r\n _renderHeaderIconAndText(): React.ReactElement {\r\n return (\r\n \r\n {this._renderHeaderIcon()}\r\n {this._renderHeaderText()}\r\n \r\n )\r\n }\r\n\r\n protected _renderHeaderIcon(): React.ReactElement | null {\r\n if (this._isJackpotWidgetHost || this.listConfiguration.titleIconClassName === EXCLUSIVES_LIST_ICON) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return this.title.translation\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n renderListFooter(): React.ReactElement | null {\r\n return null;\r\n }\r\n}\r\n","import {SwiperListBaseModel} from \"./swiper-list-base.model\";\r\n\r\nexport abstract class ApiListBaseModel extends SwiperListBaseModel {\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _applyGameGroupFiltering(gameTypes: number[]): number[] {\r\n const allowedGameGroups = this.listConfiguration.allowedGameGroups;\r\n if (!allowedGameGroups || allowedGameGroups.length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n return gameTypes.filter(gameType => {\r\n return allowedGameGroups.includes(this.services.games.gamesMap[gameType]?.gameGroupId);\r\n });\r\n }\r\n}","import React from \"react\";\r\nimport {RecentlyPlayedComponent} from \"../../../../../components/recently-played/recently-played.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\n\r\nexport class RecentlyPlayedListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(!this.services.user.isAuthorized || this.services.games.recentlyPlayedGames.isInitialized) {\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 1;\r\n }\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n if (!this.services.games.recentlyPlayedGames.gameTypes) {\r\n return [];\r\n }\r\n\r\n let gameTypes = this.services.games.recentlyPlayedGames.gameTypes;\r\n return this._applyGameGroupFiltering(gameTypes);\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ();\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\n\r\ninterface TopPicksComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const TopPicksComponent = observer(class TopPicksComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const viewModel = this.props.viewModel;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n\r\n\r\n","import React from \"react\";\r\nimport {TopPicksComponent} from \"../../../../../components/ai-list/top-picks.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class TopPicksListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(!this.services.aiEngine.aiRecommendedGames.isInitialized) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this._getGameTypes().length > 0;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.aiEngine.aiRecommendedGames?.gameTypes || [];\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n return this.services.user.userData.firstName;\r\n }\r\n\r\n get aiEngine(): string {\r\n return this.services.aiEngine.aiRecommendedGames?.engine || '';\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ();\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface AiNewGamesListComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const AiNewGamesListComponent = observer(\r\n class AiNewGamesListComponent extends OrbitComponent {\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n )\r\n }\r\n\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {AiNewGamesListComponent} from \"../../../../../components/ai-new-games-list/ai-new-games-list.component\";\r\nimport {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class NewGamesListModel extends SwiperListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration,\r\n arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(Check.isNullOrUndefined(this.services.aiNewEngine.aiNewRecommendedGames)) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.aiNewEngine.aiNewRecommendedGames?.gameTypes || [];\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n return this.services.user.name;\r\n }\r\n\r\n get aiEngine(): string {\r\n return this.services.aiNewEngine.aiNewRecommendedGames?.engine || '';\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ;\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface PlayersLikeYouComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const PlayersLikeYouComponent = observer(\r\n class PlayersLikeYouComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const viewModel = this.props.viewModel;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {LIST_TYPE_ID} from \"../../../../../../common/const/ai-trending-list-ids-map\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {PlayersLikeYouComponent} from \"../../../../../components/players-like-you/players-like-you.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nconst NUMBER_OF_TRENDING_RECOMMENDATIONS = 10;\r\n\r\nexport class PlayersLikeYouListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(Check.isNullOrUndefined(this._computeGameTypes())) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get listTypeId(): number {\r\n if(Check.isNullOrUndefined(this.services.abTestingFeatureDataProvider.playersLikeYouGamesListTypeId)) {\r\n return LIST_TYPE_ID.ACTIVE_USERS;\r\n }\r\n\r\n return parseInt(this.services.abTestingFeatureDataProvider.playersLikeYouGamesListTypeId);\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n let topCount = NUMBER_OF_TRENDING_RECOMMENDATIONS;\r\n\r\n if(0 < this.gameTypes.length && this.gameTypes.length < topCount) {\r\n topCount = this.gameTypes.length;\r\n }\r\n\r\n return {\r\n topNumber: topCount,\r\n countryName: this.services.user.countryName || this.services.translation.translate(\"YOUR_COUNTRY\")\r\n }\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this._computeGameTypes() || [];\r\n }\r\n\r\n protected get _useSquareIcons(): boolean {\r\n return true;\r\n }\r\n\r\n private _computeGameTypes(): number[] | null {\r\n if(this.listTypeId === LIST_TYPE_ID.ACTIVE_USERS) {\r\n return this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n } else {\r\n return this.services.aiEngine.trendingRecommendedGamesForPlayerByBets\r\n }\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return NUMBER_OF_TRENDING_RECOMMENDATIONS;\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitSwiperComponent} from \"../../../../../components/orbit-swiper/orbit-swiper.component\";\r\nimport {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\n\r\nexport class StaticSwiperListModel extends SwiperListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n const listConfig = this.listConfiguration;\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {SingleGameComponent} from '../../single-game/single-game.component';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\n\r\nexport interface GamesGridBatchComponentProps {\r\n batchIndex: number;\r\n gameTypes: number[];\r\n aiEngine: string;\r\n seoCategory: string;\r\n skipIntermediatePage: boolean;\r\n disableGameInfoHover: boolean;\r\n listTitleTranslationKey: string;\r\n templateType?: string;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\nexport interface GamesGridBatchComponentState {\r\n isResolved: boolean;\r\n}\r\n\r\nconst NUMBER_OF_GAMES_IN_BATCH = 20;\r\n\r\nexport const GamesGridBatchComponent = observer(\r\n class GamesGridBatchComponent extends OrbitComponentWithState {\r\n\r\n state = {\r\n isResolved: false\r\n };\r\n\r\n private _renderOneGame(gameType: number, gameIndex: number) {\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _intersectionObserver: IntersectionObserver | null;\r\n\r\n private _intersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n if (entries[0].intersectionRatio > 0 || entries[0].isIntersecting) {\r\n this._destroyIntersectionObserver();\r\n this.setState({\r\n isResolved: true\r\n });\r\n }\r\n };\r\n\r\n private _createIntersectionObserver(element: HTMLElement) {\r\n\r\n this._destroyIntersectionObserver(); // just in case this is called twice for this component we want to discard the existing intersection observer and create a new one\r\n\r\n this._intersectionObserver = new IntersectionObserver(this._intersectionObserverCallback, {\r\n rootMargin: '400px',\r\n threshold: 0.1\r\n });\r\n\r\n this._intersectionObserver.observe(element);\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroyIntersectionObserver();\r\n }\r\n\r\n private _destroyIntersectionObserver() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n this._intersectionObserver = null;\r\n }\r\n }\r\n\r\n private _captureThresholdElement = (element: HTMLElement | null) => {\r\n if (element) {\r\n this._createIntersectionObserver(element)\r\n }\r\n };\r\n\r\n private _renderNextBatch() {\r\n const nextBatchGameTypes = this.props.gameTypes.slice(NUMBER_OF_GAMES_IN_BATCH);\r\n if(nextBatchGameTypes.length === 0) {\r\n return null;\r\n }\r\n\r\n const propsForNextBatch = {\r\n ...this.props,\r\n batchIndex: this.props.batchIndex + 1,\r\n gameTypes: nextBatchGameTypes\r\n };\r\n\r\n return ();\r\n }\r\n\r\n private _renderCurrentBatch() {\r\n const batchIndexOffset = this.props.batchIndex * NUMBER_OF_GAMES_IN_BATCH;\r\n const currentBatchGameTypes = this.props.gameTypes.slice(0, NUMBER_OF_GAMES_IN_BATCH);\r\n return (\r\n <>\r\n {currentBatchGameTypes.map((gameType, index) => this._renderOneGame(gameType, batchIndexOffset + index))}\r\n {this._renderNextBatch()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n\r\n if(this.props.batchIndex === 0 || this.state.isResolved) {\r\n return this._renderCurrentBatch();\r\n }\r\n\r\n return (\r\n
\r\n )\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\nimport {LOBBY_PAGE} from '../../../../themes/css-global-classes';\r\n\r\n\r\n//games-layout static-layout\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1rem;\r\n }\r\n`;\r\n\r\nexport const GamesGridDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './games-grid.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n margin-top: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-top: 1.8rem;\r\n }\r\n`;\r\n\r\n\r\nconst MobileBox = BaseMobileBox;\r\n\r\nexport const GamesGridCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport { GamesGridDefaultBox } from \"./games-grid.default.box\";\r\n\r\nexport const GamesGridSICisBox = styled(GamesGridDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n`;\r\n","import { GamesGridDefaultBox } from './games-grid.default.box';\r\nimport { GamesGridCasino777Box } from './games-grid.casino777.box';\r\nimport { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { GamesGridSICisBox } from './games-grid.siCis.box';\r\n\r\nexport const GamesGridBox = styledByTheme(GamesGridDefaultBox)\r\n .forCasino777(GamesGridCasino777Box)\r\n .forSICis(GamesGridSICisBox)\r\n .apply();","import {NoGamesFoundMessageDefaultBox} from './no-games-found-message.default.box';\r\n\r\nexport const NoGamesFoundMessageBox = NoGamesFoundMessageDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const NoGamesFoundMessageDefaultBox = styled.p`\r\n font-size: 1.2rem;\r\n margin: 15px 0;\r\n min-height: 300px;\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {CGP_GAME_OPEN} from \"../../../themes/css-global-classes\";\r\n\r\nexport const GamesGridContainerBox = styled.div`\r\n .${CGP_GAME_OPEN} & {\r\n display: none;\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GamesGridBatchComponent} from './games-grid-batch/games-grid-batch.component';\r\nimport {GamesGridBox} from './boxes/games-grid/games-grid.box';\r\nimport {NoGamesFoundMessageBox} from './boxes/no-games-found-message/no-games-found-message.box';\r\nimport classNames from 'classnames';\r\nimport {GRID_GAMES_LIST} from '../single-game/css-constants';\r\nimport {GamesGridContainerBox} from \"./boxes/games-grid-container.box\";\r\nimport {IGamesListViewModel} from \"../../services/arenas/models/lists/games-list-view-model.interface\";\r\n\r\nexport interface GamesGridComponentProps {\r\n viewModel: IGamesListViewModel;\r\n skipIntermediatePage: boolean;\r\n disableGameInfoHover: boolean;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\nexport const GamesGridComponent = observer(class GamesGridComponent extends OrbitComponent {\r\n\r\n private _renderTitle() {\r\n\r\n if(!this.props.disableGameInfoHover && this.services.gamesFilter.isFilterOn) {\r\n return null;\r\n }\r\n return this.props.viewModel.renderListHeader();\r\n }\r\n\r\n private _renderGames(gameTypes: number[]) {\r\n return (\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderNoGames() {\r\n if(this.services.gamesFilter.isFilterOn) {\r\n return (\r\n {this.services.translation.translate('YOUR_SEARCH_DID_NOT_MATCH_ANY_GAMES')}\r\n )\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private _renderContent() {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n if(gameTypes.length === 0) {\r\n return this._renderNoGames();\r\n }\r\n return (\r\n <>\r\n {this._renderTitle()}\r\n {this._renderGames(gameTypes)}\r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderContent()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {GamesListBaseModel} from \"../games-list-base.model\";\r\nimport {GamesGridComponent} from \"../../../../../components/games-grid/games-grid.component\";\r\nimport {ArenaGamesGridConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {TextTranslation} from \"../../../../translation/text-translation\";\r\nimport {GameListTitleComponent} from \"../../../../../components/game-list-title/game-list-title.component\";\r\nimport {ListTitleTextBox} from \"../../../../../components/game-list-title/boxes/list-title-text/list-title-text.box\";\r\n\r\nexport class GamesGridListModel extends GamesListBaseModel {\r\n constructor(protected readonly gridConfig: ArenaGamesGridConfiguration,\r\n arena: IArenaToGamesListAdapter) {\r\n super(arena)\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.gridConfig.gamesId || [];\r\n }\r\n\r\n protected get _isAISorted(): boolean {\r\n return this.gridConfig.useAISortedList;\r\n }\r\n\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return true;\r\n //return this.gridConfig.display;\r\n }\r\n\r\n protected get _numberOfGamesToBeIgnoredInAISorting(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n get listId(): number {\r\n return this.gridConfig.listId;\r\n }\r\n\r\n get title(): TextTranslation {\r\n return this.services.translation.getTranslation(this.gridConfig.title);\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return this._getGameTypes().length; // for grids we show all games\r\n }\r\n\r\n get forceInLayout(): boolean {\r\n return true;\r\n }\r\n\r\n get templateType(): string {\r\n return this.gridConfig.templateType;\r\n }\r\n\r\n protected get _forceRoundIcons(): boolean {\r\n return this.gridConfig.forceRoundIcons;\r\n }\r\n \r\n protected get _useSquareIcons(): boolean {\r\n return this.gridConfig.useSquareIcons;\r\n }\r\n\r\n private get _shouldSquareIconsBeUsed(): boolean {\r\n return this.shouldUseSquareIcons();\r\n }\r\n\r\n renderListHeader(): React.ReactElement {\r\n const title = (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n}","import {StaticSwiperListModel} from \"../static-swiper/static-swiper-list.model\";\r\n\r\nexport class LiveCasinoListModel extends StaticSwiperListModel {\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n gameTypes = super._applyGameTypesTransformations(gameTypes);\r\n return this.services.liveTableFeeds.moveGamesThatOpenSoonToTheEnd(gameTypes);\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface BecauseYouPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const BecauseYouPlayedComponent = observer(\r\n class BecauseYouPlayedComponent extends OrbitComponent {\r\n \r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => this.services.runningGame.correlatedGamesForLastPlayedRealGame,\r\n (correlatedGames) => {\r\n this.props.viewModel.swipeLogicHandler.resetScrollPosition();\r\n }\r\n );\r\n }\r\n \r\n render() {\r\n const viewModel = this.props.viewModel;\r\n \r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { BecauseYouPlayedComponent } from \"../../../../../components/because-you-played/because-you-played.component\";\r\nimport { SwiperGamesListConfiguration } from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { IArenaToGamesListAdapter } from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class BecauseYouPlayedPlayedListModel extends ApiListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n this.services.runningGame.listenForLastPlayedRealGame();\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() &&\r\n this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n const lastPlayedGames = this.services.becauseYouPlayed.currentBecauseYouPlayedGames[0];\r\n if (lastPlayedGames) {\r\n return {\r\n gameName: lastPlayedGames.title\r\n }\r\n }\r\n\r\n return super._getTitleTranslationParams();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.becauseYouPlayed.currentBecauseYouPlayedGames.map(gInfo => gInfo.gameType);\r\n }\r\n\r\n\r\n\r\n protected _renderList(listPosition: number): React.ReactElement> {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {LiveStreamingListTitleDefaultBox} from \"./live-streaming-list-title.default.box\";\r\n\r\nexport const LiveStreamingListTitleBox = LiveStreamingListTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingListTitleDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {LiveStreamingTitleIconDefaultBox} from \"./live-streaming-title-icon.default.box\";\r\n\r\nexport const LiveStreamingTitleIconBox = LiveStreamingTitleIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingTitleIconDefaultBox = styled.div`\r\n padding: 0 4px;\r\n margin-right: 1rem;\r\n border-radius: 2px;\r\n letter-spacing: 0;\r\n\r\n color: ${({theme}) => theme.colors.background.toString()};\r\n background: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n\r\n animation: FlashingAnimation 2s ease infinite;\r\n\r\n @keyframes FlashingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.25;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import {IServiceFactory} from \"../../../service-factory.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {ISwipeLogicHandlerMoveNextOptions, ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ISwiperListViewModel} from \"../lists/swiper-list-view-model.interface\";\r\n\r\nexport class LiveStreamSwipeLogicHandler implements ISwipeLogicHandler {\r\n\r\n private _element: HTMLElement = null;\r\n private _touchStartX = 0;\r\n private _swipeDirection = 0;\r\n private _touchDragThreshold = 25;\r\n private _swipeTransitionCss = \"transform 0.5s ease-in-out\";\r\n\r\n constructor(private readonly _services: IServiceFactory, private readonly _gamesListViewModel: ISwiperListViewModel) {\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n allowNext: boolean = true;\r\n @observable.ref\r\n allowPrevious: boolean = true;\r\n\r\n private _subscribe() {\r\n this._unsubscribe();\r\n this._element.addEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.addEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.addEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._element) {\r\n this._element.removeEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.removeEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.removeEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n }\r\n\r\n private _handleTouchStart = (event: TouchEvent) => {\r\n this._touchStartX = event.changedTouches[0].clientX;\r\n }\r\n\r\n private _handleTouchEnd = (event: TouchEvent) => {\r\n\r\n const dragDistance = Math.abs(event.changedTouches[0].clientX - this._touchStartX);\r\n\r\n if (dragDistance < this._touchDragThreshold) return;\r\n\r\n if (event.changedTouches[0].clientX < this._touchStartX) {\r\n this.moveNext();\r\n } else {\r\n this.movePrevious();\r\n }\r\n }\r\n\r\n private _handleTransitionEnd = (event: TransitionEvent) => {\r\n\r\n /** this._element is the swiper element and\r\n * if any element inside has any kind of transitions on their transform css property...\r\n * their \"transitionend\" events will also be catched here\r\n * So we check the event target because\r\n * we want to run this handler only for events that have this._element as target */\r\n if (event.propertyName === \"transform\" && event.target === this._element) {\r\n\r\n if (this._swipeDirection < 0) {\r\n\r\n this._element.append(this._element.firstElementChild);\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n this._setIsNavigationAllowed(true);\r\n }\r\n };\r\n\r\n @action.bound\r\n private _setIsNavigationAllowed(allowed: boolean) {\r\n this.allowNext = allowed;\r\n this.allowPrevious = allowed;\r\n }\r\n\r\n setElement(element: HTMLElement): void {\r\n if (element) {\r\n this._element = element;\r\n this._element.style.overflow = \"initial\";\r\n this._subscribe();\r\n } else {\r\n this._element = null;\r\n this._unsubscribe();\r\n }\r\n }\r\n\r\n moveNext(options?: ISwipeLogicHandlerMoveNextOptions): void {\r\n\r\n if (!this.allowNext) return;\r\n\r\n options = {\r\n moveOnVideoFinished: false,\r\n ...options\r\n };\r\n\r\n this._reportSwipeToAnalytics(true, options.moveOnVideoFinished);\r\n\r\n this._swipeDirection = -1;\r\n this._element.style.transition = this._swipeTransitionCss;\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n this._setIsNavigationAllowed(false);\r\n }\r\n\r\n movePrevious(): void {\r\n\r\n if (!this.allowPrevious) return;\r\n\r\n this._reportSwipeToAnalytics(false);\r\n\r\n this._swipeDirection = 1;\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.prepend(this._element.lastElementChild);\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n\r\n this._setIsNavigationAllowed(false);\r\n\r\n requestAnimationFrame(() => {\r\n this._element.style.transition = this._swipeTransitionCss;\r\n this._element.style.transform = \"translateX(0)\";\r\n });\r\n }\r\n\r\n resetScrollPosition(): void {\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n private _currentGameIndex: NullableNumber = null;\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._currentGameIndex = gameIndex;\r\n }\r\n\r\n private _reportSwipeToAnalytics(swipeToLeft:boolean, isAutoSwipe:boolean=false): void {\r\n try {\r\n\r\n if(Check.isNullOrUndefined(this._currentGameIndex)) {\r\n return;\r\n }\r\n\r\n let nextGame;\r\n if(swipeToLeft === true){\r\n nextGame = (this._currentGameIndex + 1) % this._gamesListViewModel.gameTypes.length;\r\n }\r\n else {\r\n nextGame = (this._currentGameIndex>0) ? (this._currentGameIndex-1) : (this._gamesListViewModel.gameTypes.length-1);\r\n }\r\n\r\n let swipeFromGameId = this._gamesListViewModel.gameTypes[this._currentGameIndex];\r\n\r\n this._services.analytics.sendElasticInfoEvent({\r\n eventType:\"CGP_GENERIC_EVENT\",\r\n category: this._gamesListViewModel.arenaName,\r\n label: 'SWIPE',\r\n action: \"LIVE_CASINO_VIDEO\",\r\n customData: {\r\n swipeFromGameId:swipeFromGameId,\r\n swipeFromGameIndex:this._currentGameIndex,\r\n swipeToGameId:this._gamesListViewModel.gameTypes[nextGame],\r\n isAutoSwipe:isAutoSwipe\r\n }\r\n }, true);\r\n }\r\n catch (err){\r\n console.log(\"SWIPE analytics report failed : \" + err);\r\n }\r\n }\r\n\r\n}\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface LiveStreamingNavigationProps {\r\n isActive: boolean;\r\n}\r\n\r\nconst LiveStreamingNavigationCommonBox = styled.div`\r\n position: absolute;\r\n top: 35%;\r\n width: 3rem;\r\n height: 3rem;\r\n opacity: ${({isActive}) => isActive ? \"1\" : \"0.25\"};\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* So ... height is 100 * 0.7 */\r\n height: 70%;\r\n /* top is 100 * (1-0.7) / 2 */\r\n top: 15%;\r\n /* 23.331 is 33.33*0.7 */\r\n width: 23.331%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationPrevButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n left: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* left is 33.33*(1-0.7)/2 */\r\n left: 5%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationNextButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n right: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* right is 33.33*(1-0.7)/2 */\r\n right: 5%;\r\n }\r\n`;\r\n\r\nconst VideoCutCommonBox = styled.div`\r\n position: absolute;\r\n height: 80%;\r\n width: 2px;\r\n top: 10%;\r\n`;\r\n\r\nexport const VideoListLeftCutDefaultBox = styled(VideoCutCommonBox)`\r\n left: 8%;\r\n margin-left: -6px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n left: unset;\r\n margin-left: 0px;\r\n right: 8%;\r\n margin-right: 6px;\r\n }\r\n`;\r\nexport const VideoListRightCutDefaultBox = styled(VideoCutCommonBox)`\r\n right: 8%;\r\n margin-right: 11px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: unset;\r\n margin-right: 0px;\r\n left: 8%;\r\n margin-left: -11px;\r\n }\r\n`;\r\n","import {VideoListNavigationPrevButtonDefaultBox, VideoListNavigationNextButtonDefaultBox, VideoListLeftCutDefaultBox, VideoListRightCutDefaultBox} from \"./video-navigation.default.box\";\r\n\r\nexport const VideoListNavigationPrevButtonBox = VideoListNavigationPrevButtonDefaultBox;\r\nexport const VideoListNavigationNextButtonBox = VideoListNavigationNextButtonDefaultBox;\r\n\r\nexport const VideoListLeftCutBox = VideoListLeftCutDefaultBox;\r\nexport const VideoListRightCutBox = VideoListRightCutDefaultBox;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {IVideoListViewModel} from \"../../services/arenas/models/lists/video-list/video-list-view-model.interface\";\r\n\r\n\r\ninterface VideoListComponentProps {\r\n viewModel: IVideoListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const VideoListComponent = observer(class VideoListComponent extends OrbitComponent {\r\n\r\n // For static video list we need to know the final gametype(from UI perspective)\r\n // For the final gametype, once video finishes, we don't auto swipe to the next one(= first one).\r\n private _getLastGameType(): number {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n let index = this.services.mediaQuery.xlAndAbove ? 0 : (gameTypes.length - 1);\r\n return gameTypes[index];\r\n }\r\n\r\n private _onGameBringInCentralView = (gameIndex: number) => {\r\n this.props.viewModel.setCurrentGameIndex(gameIndex);\r\n }\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {LiveStreamSwipeLogicHandler} from \"../../swiper-logic-handler/live-stream-swipe-logic-handler\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport React from \"react\";\r\nimport {\r\n VideoListLeftCutBox, VideoListNavigationNextButtonBox,\r\n VideoListNavigationPrevButtonBox, VideoListRightCutBox\r\n} from \"../../../../../components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box\";\r\nimport {VideoListComponent} from \"../../../../../components/video-list-component/video-list.component\";\r\nimport {IVideoListViewModel} from \"./video-list-view-model.interface\";\r\n\r\nexport abstract class DefaultVideoListModel extends SwiperListBaseModel implements IVideoListViewModel {\r\n protected _swipeLogicHandler: LiveStreamSwipeLogicHandler = new LiveStreamSwipeLogicHandler(this.services, this);\r\n\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getGameTypesOffsetFromLocalStorage(): number {\r\n let storedValue = this.services.localStorage.getItem(this._offsetStorageKey);\r\n\r\n return Check.isNullOrUndefined(storedValue) ? 0 : parseInt(storedValue);\r\n }\r\n\r\n protected _offsetStorageKey: string = 'orbit-video-list-gametype-offset' + this.listConfiguration.listId;\r\n\r\n /**\r\n * This must be static. Because the ListFactory.createSwiper will be called several times, and that will create a new instance of this class.\r\n * (For every live casino video list and every time the list changes and maybe when the ai changes the list sorting)\r\n * So if this is not \"static\" at every instance creation _gameTypesOffset will be initialized with \"undefined\"\r\n * and when calling _getGameTypes the cycling will run again for every new instance.\r\n * And we want to do this only once after page load\r\n */\r\n protected static _gameTypesOffsets: Record = {};\r\n\r\n protected _cycleGamesAndIncrementOffset(baseArray: number[]) {\r\n if(Check.isNullOrUndefined(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey])) {\r\n DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] = this._getGameTypesOffsetFromLocalStorage();\r\n let newOffset = (DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] + 1) % (this.listConfiguration.gamesId.length);\r\n this.services.localStorage.setItem(this._offsetStorageKey, newOffset);\r\n }\r\n\r\n return baseArray.splice(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey]).concat(baseArray);\r\n }\r\n\r\n get gameTypes(): number[] {\r\n // gameTypes is a getter and in javascript I cannot call \"super.gameTypes\"\r\n let gTypes = this._applyGameTypesTransformations(this._getGameTypes());\r\n\r\n if (this.services.mediaQuery.xlAndAbove && gTypes.length > 2) {\r\n let lastGame = gTypes.pop();\r\n gTypes.unshift(lastGame);\r\n }\r\n return gTypes;\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n\r\n const PrevIcon = this.services.theme.currentTheme.icons.leftArrowIcon;\r\n const NextIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n\r\n return (\r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n this.swipeLogicHandler.movePrevious()}>\r\n \r\n \r\n this.swipeLogicHandler.moveNext()}>\r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._swipeLogicHandler.setCurrentGameIndex(gameIndex);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveStreamingListTitleBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box\";\r\nimport {LiveStreamingTitleIconBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box\";\r\nimport {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport class LiveStreamingVideoListModel extends DefaultVideoListModel {\r\n\r\n get templateType(): string {\r\n return LIVE_STREAMING_ITEM;\r\n }\r\n\r\n private _isLiveStreamDisabled = () => {\r\n // live stream should be rendered on mobile only, excepting CIP8, if is enable from AB and\r\n // if user is authorized or if is not authorized only if is not disabled prelogin\r\n return this.services.miniOrbit.isEnabled ||\r\n !this.services.abTestingFeatureDataProvider.isVideoLiveStreamEnabled ||\r\n this.services.liveStreamPlaying.isDisabledPrelogin\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isLiveStreamDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 9;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n if(!Check.isNullOrUndefined(this.services.liveStreamPlaying.isSupported)\r\n && !this.services.liveStreamPlaying.isSupported) {\r\n return [];\r\n }\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n if(this.services.liveTableFeeds.tablesData.length === 0) {\r\n return gameTypes;\r\n } else {\r\n return gameTypes.filter(gType => this.services.liveTableFeeds.openTablesIds.find(tableId => tableId === gType.toString()));\r\n }\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n if(Check.isNullOrUndefined(this.services.liveStreamPlaying.isSupported) || this.services.liveTableFeeds.tablesData.length === 0) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n protected _renderHeaderIcon(): React.ReactElement | null {\r\n return (\r\n LIVE\r\n );\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n }\r\n\r\n}\r\n","\r\nexport interface IUserGameOrientationService {\r\n readonly gameGroup: IUserGameOrientation;\r\n}\r\n\r\nexport enum GAME_ORIENTATION_IDS{\r\n SLOTS = 5003,\r\n BLACKJACK = 5001,\r\n ROULETTE = 5002,\r\n LIVE_BLACKJACK = 5009,\r\n LIVE_ROULETTE = 5010,\r\n LIVE_CASINO = 6003,\r\n CASINO_SKILL = 6001,\r\n CASINO_SOFT = 6002,\r\n CASINO_MIXT = 8001\r\n}\r\n\r\nexport interface IUserGameOrientation{\r\n groupId?: number;\r\n groupName: string;\r\n}","import {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {STATIC_VIDEO_ITEM} from \"../../../../../themes/css-global-classes\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\n\r\nexport class StaticVideoListModel extends DefaultVideoListModel {\r\n\r\n constructor(listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n\r\n this.services.staticVideoPlaying.setSwiperHandler(this.swipeLogicHandler);\r\n }\r\n\r\n get templateType(): string {\r\n return STATIC_VIDEO_ITEM;\r\n }\r\n\r\n private _isStaticVideoListDisabled = () => {\r\n return (\r\n this.services.miniOrbit.isEnabled ||\r\n this.services.staticVideoPlaying.isDisabledPrelogin ||\r\n !this.services.abTestingFeatureDataProvider.isStaticVideoListEnabled\r\n );\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isStaticVideoListDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 4;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n return gameTypes;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n return 1;\r\n }\r\n}\r\n","import {\r\n ApiListType, ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesListModel} from \"./games-list-model.interface\";\r\nimport {RecentlyPlayedListModel} from \"./recently-played/recently-played-list.model\";\r\nimport {TopPicksListModel} from \"./top-picks/top-picks-list.model\";\r\nimport {NewGamesListModel} from \"./new-games/new-games-list.model\";\r\nimport {PlayersLikeYouListModel} from \"./players-like-you/players-like-you-list.model\";\r\nimport {StaticSwiperListModel} from \"./static-swiper/static-swiper-list.model\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {GamesGridListModel} from \"./games-grid/games-grid-list.model\";\r\nimport {LiveCasinoListModel} from \"./live-casino/live-casino-list.model\";\r\nimport {LIVE_CASINO_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport { BecauseYouPlayedPlayedListModel } from \"./because-you-played/because-you-played-list.model\";\r\nimport {LiveStreamingVideoListModel} from \"./video-list/live-streaming-video-list.model\";\r\nimport {StaticVideoListModel} from \"./video-list/static-video-list.model\";\r\n\r\n\r\nexport class ListFactory {\r\n\r\n constructor(private readonly arena: IArenaToGamesListAdapter) {\r\n }\r\n createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n\r\n\r\n if(swiperConfig.templateType === LIVE_CASINO_ITEM) {\r\n return new LiveCasinoListModel(swiperConfig, this.arena);\r\n }\r\n\r\n switch (swiperConfig.apiListType) {\r\n case ApiListType.RECENTLY_PLAYED:\r\n return new RecentlyPlayedListModel(swiperConfig, this.arena);\r\n case ApiListType.TOP_PICKS:\r\n return new TopPicksListModel(swiperConfig, this.arena);\r\n case ApiListType.NEW_GAMES:\r\n return new NewGamesListModel(swiperConfig, this.arena);\r\n case ApiListType.PLAYERS_LIKE_YOU:\r\n return new PlayersLikeYouListModel(swiperConfig, this.arena);\r\n case ApiListType.LIVE_CASINO_VIDEO: // maybe rename this to LIVE_STREAMING_VIDEO,but it'd also need admin updated\r\n return new LiveStreamingVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.STATIC_VIDEO:\r\n return new StaticVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.BECAUSE_YOU_PLAYED:\r\n return new BecauseYouPlayedPlayedListModel(swiperConfig, this.arena);\r\n\r\n default:\r\n return new StaticSwiperListModel(swiperConfig, this.arena);\r\n\r\n }\r\n }\r\n\r\n createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return new GamesGridListModel(gridConfig, this.arena);\r\n }\r\n}\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"./arena-view-model.interface\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { action, computed, observable, reaction, makeObservable } from \"mobx\";\r\nimport {IArenaToGamesListAdapter} from \"./arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../lists/games-list-model.interface\";\r\nimport React from \"react\";\r\nimport {ListFactory} from \"../lists/list-factory\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ListsSortOrderStorage} from \"../lists-sort-order-storage\";\r\nimport {IGamesListRenderer} from \"../lists/games-list-renderer.interface\";\r\nimport {BannerComponent} from \"../../../../components/banner/banner.component\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../games-filter/strategies/games-filter-strategy.interface\";\r\n\r\nexport type BannerConfig = {position: number; templateID: string; componentID: string; fallbackComponent: string, bannerAdminPlaceholderId: string};\r\n\r\nexport abstract class ArenaBaseModel implements IArenaToGamesListAdapter, IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n public readonly services: IServiceFactoryExtended,\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n makeObservable(this);\r\n\r\n this._listFactory = new ListFactory(this);\r\n\r\n reaction(() => [this.services.user.isAuthorized, this.services.routing.currentRoute],\r\n async () => {\r\n await this._updateAIEngineSwipersSortOrder();\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _listFactory: ListFactory;\r\n abstract get maxSwipersToShow(): number;\r\n abstract get maxGamesToShowInList(): number;\r\n protected abstract _getSwipersConfigurations(): SwiperGamesListConfiguration[];\r\n protected abstract _getGridsConfigurations(): ArenaGamesGridConfiguration[];\r\n protected abstract _getPromotionalBannerConfig(): BannerConfig | null;\r\n abstract renderArena(): React.ReactElement | null;\r\n abstract filterGamesByArenaType(gameInfos: GameInfo[]): GameInfo[];\r\n abstract get filtersConfigurationMap(): ArenaFiltersConfigurationMap;\r\n abstract getGamesFilteringStrategy(): IGamesFilterStrategy;\r\n\r\n protected get useAdvancedFilters(): boolean {\r\n return this.services.configuration.servicesConfigs.Filters.useAdvancedFilters;\r\n }\r\n\r\n protected get _isUsingExternalAIForSwipersSorting(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n return null;\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n @observable.ref\r\n private _aiEngineListsSortOrder: Record = null;\r\n\r\n @action.bound\r\n private _setAiEngineListsSortOrder(value: Record): void {\r\n this._aiEngineListsSortOrder = value;\r\n }\r\n private async _updateAIEngineSwipersSortOrder(): Promise {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return;\r\n }\r\n if(this._aiEngineListsSortOrder) {\r\n return;\r\n }\r\n\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n\r\n if(this.services.routing.currentRoute.data?.arenaType === this.arenaName) {\r\n const listsIDs = this._getSwipersConfigurations().filter(sw => !Check.isNullOrUndefined(sw.listId))\r\n .map(sw => sw.listId.toString());\r\n if(listsIDs.length === 0) {\r\n return;\r\n }\r\n\r\n this._setAiEngineListsSortOrder(await this.services.aiEngine.getCasinoRecommendedDynamicListsForPlayer(listsIDs));\r\n }\r\n }\r\n\r\n private _movePreferredSwiperOnTop(swipers: IGamesListModel[]){\r\n const listId = this._getSwiperIdToPutOnTop();\r\n if(Check.isNullOrUndefined(listId)) {\r\n return swipers;\r\n }\r\n const listIndex = swipers.findIndex((list) => list.listId === listId);\r\n if(listIndex > 0){\r\n swipers.splice(0, 0, swipers.splice(listIndex, 1)[0]);\r\n }\r\n return swipers;\r\n }\r\n\r\n\r\n protected _sortSwipersByAI(originalSwipers: IGamesListModel[]): IGamesListModel[] {\r\n const scores = this._aiEngineListsSortOrder;\r\n if(!scores) {\r\n return originalSwipers;\r\n }\r\n\r\n const notForcedInLayoutSortedSwipers = originalSwipers.filter(s => !s.forceInLayout)\r\n .sort((s1, s2) => (scores[s2.listId] || 0) - (scores[s1.listId] || 0));\r\n\r\n let sortedSwipersConfigs: IGamesListModel[] = [];\r\n originalSwipers.forEach(gameList => {\r\n if(gameList.forceInLayout){\r\n sortedSwipersConfigs.push(gameList)\r\n } else{\r\n let mappedGameList = notForcedInLayoutSortedSwipers.shift();\r\n if(mappedGameList) {\r\n sortedSwipersConfigs.push(mappedGameList)\r\n }\r\n }\r\n });\r\n\r\n return sortedSwipersConfigs;\r\n }\r\n\r\n\r\n\r\n @computed\r\n public get allLists(): IGamesListModel[] {\r\n const result = this._createAllLists();\r\n this._sendGameListsAnalytics(result);\r\n return result;\r\n }\r\n\r\n @computed\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n let gameTypes: number[] = [];\r\n this._getGridsConfigurations().forEach(g => {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...g.gamesId\r\n ]\r\n });\r\n\r\n //use Set here to make a list of distinct game types\r\n return [...new Set(gameTypes)].map(gameType => this.services.games.gamesMap[gameType]).filter(gameInfo => gameInfo);\r\n }\r\n\r\n\r\n get filteredGamesCount(): number {\r\n let gameTypes: number[] = [];\r\n\r\n for(let list of this.allLists) {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...list.gameTypes\r\n ]\r\n }\r\n\r\n return [...new Set(gameTypes)].length;\r\n }\r\n\r\n get listsCount(): number {\r\n return this.allLists.length;\r\n }\r\n\r\n protected _createAllLists(): IGamesListModel[] {\r\n return this._appendGrids(\r\n this._limitTheNumberOfSwipers(\r\n this._saveSwipersPostLoginSortOrder(\r\n this._sortSwipersByPostLoginOrder(\r\n this._movePreferredSwiperOnTop(\r\n this._sortSwipersByAI(\r\n this._createSwipers()))))));\r\n }\r\n\r\n private _limitTheNumberOfSwipers(swipers: IGamesListModel[]): IGamesListModel[] {\r\n\r\n if(swipers.length <= this.maxSwipersToShow) {\r\n return swipers;\r\n }\r\n let result: IGamesListModel[] = [];\r\n\r\n let maxNumberOfSwipers = this.maxSwipersToShow;\r\n for(let i = 0; i < swipers.length; i++) {\r\n const list = swipers[i];\r\n if(maxNumberOfSwipers > 0 || list.forceInLayout) {\r\n result.push(list);\r\n }\r\n\r\n if(list.isVisible) {\r\n maxNumberOfSwipers--;\r\n }\r\n\r\n }\r\n\r\n return result;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n let position = listPosition;\r\n\r\n for(let list of this.allLists) {\r\n if(list.isVisible) {\r\n position--;\r\n }\r\n if(position === 0) {\r\n return this._renderListAndBanner(listPosition, list);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderListAndBanner(listPosition: number, list: IGamesListRenderer) {\r\n return (\r\n \r\n {list.render(listPosition)}\r\n {this._renderPromotionalBanner(listPosition)}\r\n \r\n )\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n if(currentListPosition > this.allLists.length) {\r\n return 0;\r\n }\r\n\r\n return 2;\r\n }\r\n\r\n protected _saveSwipersPostLoginSortOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n this._postLoginListsSortOrderStorage.saveSortOrder(this.arenaName, swipers);\r\n }\r\n return swipers;\r\n }\r\n\r\n protected _sortSwipersByPostLoginOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n return swipers;\r\n }\r\n\r\n return this._postLoginListsSortOrderStorage.sortLists(this.arenaName, swipers);\r\n }\r\n\r\n protected _createSwipers(): IGamesListModel[] {\r\n const configs = this._getSwipersConfigurations();\r\n const lists: IGamesListModel[] = [];\r\n\r\n configs.forEach((listConfig) => {\r\n lists.push(this._createSwiper(listConfig));\r\n });\r\n\r\n return lists;\r\n }\r\n\r\n protected _appendGrids(lists: IGamesListModel[]) {\r\n this._getGridsConfigurations().forEach(gridConfig => {\r\n lists.push(this._createGrid(gridConfig));\r\n });\r\n return lists;\r\n }\r\n\r\n protected _createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return this._listFactory.createGrid(gridConfig);\r\n }\r\n\r\n protected _createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n return this._listFactory.createSwiper(swiperConfig);\r\n }\r\n\r\n protected _getBannerMinHeightInPixels(listPosition: number, bannerConfig: BannerConfig | null) {\r\n if(!bannerConfig) {\r\n return 0;\r\n }\r\n\r\n const shouldRenderBanner = listPosition === bannerConfig.position\r\n || (this.allLists.length < bannerConfig.position && listPosition === this.allLists.length);\r\n if(!shouldRenderBanner) {\r\n return 0;\r\n }\r\n\r\n if(this.services.mediaQuery.sAndBelow) {\r\n return 142;\r\n }\r\n\r\n return 223;\r\n }\r\n\r\n protected _renderPromotionalBanner(listPosition: number): React.ReactElement | null {\r\n const bannerConfig = this._getPromotionalBannerConfig();\r\n const bannerMinHeight = this._getBannerMinHeightInPixels(listPosition, bannerConfig);\r\n if(bannerMinHeight === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _sendGameListsAnalytics(lists: IGamesListModel[]): IGamesListModel[] {\r\n if(!this.services.user.isAuthorized) {\r\n return lists;\r\n }\r\n\r\n if(!this._isUsingExternalAIForSwipersSorting) {\r\n return lists;\r\n }\r\n\r\n const analyticsObject = {\r\n category: 'AI_ListsDisplayed',\r\n action: lists.map(list => list.title).join(','),\r\n label: \"ML888\"\r\n };\r\n\r\n this.services.analytics.sendAnalytics(analyticsObject.category, analyticsObject.action, analyticsObject.label);\r\n\r\n return lists;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemDefaultBox = styled.div`\r\n display: inline-block;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n position: relative;\r\n margin: 0rem 3rem;\r\n padding-left: 3.6rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0rem 1.5rem;\r\n padding-left: 2rem;\r\n\r\n padding-top: 0.3rem;\r\n padding-bottom: 0.3rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const HomepageHeaderArenaMenuItemMrGreenBox = styled(HomepageHeaderArenaMenuItemDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n &:hover {\r\n color: ${baseColors.white};\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaMenuItemMrGreenBox} from \"./home-page-header-arena-menu-item.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaMenuItemBox = styledByTheme(HomepageHeaderArenaMenuItemDefaultBox)\r\n .forMrGreen(HomepageHeaderArenaMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconDefaultBox = styled.div`\r\n position: absolute;\r\n left: 0;\r\n top: 1px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n top: 3px;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemIconDefaultBox} from \"./home-page-header-arena-menu-item-icon.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconBox = styledByTheme(HomepageHeaderArenaMenuItemIconDefaultBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameDefaultBox = styled.div`\r\n position: relative;\r\n display: inline;\r\n font-size: 1.8rem;\r\n letter-spacing: 1px;\r\n padding-left: 1.2rem;\r\n ${({theme}) => theme.font.presets.body}\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n padding-left: 0.5rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemNameDefaultBox} from \"./home-page-header-arena-menu-item-name.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameBox = styledByTheme(HomepageHeaderArenaMenuItemNameDefaultBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\n\r\ninterface HomepageHeaderArenaTileBoxProps {\r\n useSmallHeaderArenas: boolean;\r\n totalItemsCount: number;\r\n}\r\n\r\nexport const HomepageHeaderArenaTileDefaultBox = styled.div`\r\n display: inline-block;\r\n width: 20%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 290px` : \"\"};\r\n transition: transform 0.4s ease-in-out;\r\n\r\n &:hover {\r\n transform: scale(1.05);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: ${({totalItemsCount}) => 100 / totalItemsCount}%;\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 5px;\r\n left: 0;\r\n width: 100%;\r\n height: 15px;\r\n background-image: url(${props => props.theme.images.headerArenaTileDropShadow.toString()});\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n transform: translateY(100%);\r\n z-index: 0;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 22%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: ${props => !props.useSmallHeaderArenas ? \"45%\" : \"31%\"};\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileSIBox = styled(HomepageHeaderArenaTileDefaultBox)`\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 252px` : \"\"};\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n &::after {\r\n display: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileCasino777Box = styled(HomepageHeaderArenaTileDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: min(${({totalItemsCount}) => 100 / totalItemsCount}%, 220px);\r\n }\r\n\r\n`;\r\n","import {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\nimport {HomepageHeaderArenaTileSIBox} from \"./home-page-header-arena-tile.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaTileCasino777Box} from \"./home-page-header-arena-tile.casino777.box\";\r\n\r\nexport const HomepageHeaderArenaTileBox = styledByTheme(HomepageHeaderArenaTileDefaultBox)\r\n .forSI(HomepageHeaderArenaTileSIBox)\r\n .forCasino777(HomepageHeaderArenaTileCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaNameDefaultBox = styled.div`\r\n position: relative;\r\n font-size: 1.4rem;\r\n text-transform: uppercase;\r\n text-align: center;\r\n letter-spacing: 1px;\r\n color: ${props => props.theme.colors.textLight};\r\n margin: 0 auto;\r\n width: fit-content;\r\n z-index: 1;\r\n overflow: hidden;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\n\r\nexport const HomepageHeaderArenaNameSIBox = styled(HomepageHeaderArenaNameDefaultBox)`\r\n position: unset;\r\n width: auto;\r\n color: ${({theme}) => theme.colors.brandPrimaryContrast};\r\n background-color: ${({theme}) => theme.colors.brandSecondaryContrast};\r\n border-bottom: 5px solid ${({theme}) => theme.colors.brandSecondaryLight};\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-size: 2.9rem;\r\n line-height: 1.2;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\nimport {HomepageHeaderArenaNameSIBox} from \"./home-page-header-arena-name.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaNameBox = styledByTheme(HomepageHeaderArenaNameDefaultBox)\r\n .forSI(HomepageHeaderArenaNameSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div<{headerArenasStyleIsMenu?: boolean;}>`\r\n position: absolute;\r\n top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.2rem\" : 0};\r\n right: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.6rem\" : 0};\r\n padding: 0 0.5rem;\r\n background: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()};\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n border-radius: 2rem;\r\n transform: translate(100%, -50%);\r\n`;\r\n\r\nexport const HomepageHeaderArenaBadgeDefaultBox = DefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { baseColors} from '../../../../themes/definitions/si/base-colors';\r\n\r\nexport const HomepageHeaderArenaBadgeSIBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.8rem;\r\n background-color: ${baseColors.base03Dark};\r\n padding: 0 0.7rem;\r\n box-shadow: 0 0 1px 1px ${props => props.theme.colors.background};\r\n border-radius: 0.5rem;\r\n transform: translate(50%, 10px);\r\n z-index: 1;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeMrGreenBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.textContrast};\r\n padding: 0.1rem 0.37rem;\r\n box-shadow: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()} 0px 0px 4px;\r\n min-width: 20px;\r\n`;\r\n","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { HomepageHeaderArenaBadgeSIBox } from \"./home-page-header-arena-badge.si.box\";\r\nimport { HomepageHeaderArenaBadgeMrGreenBox } from \"./home-page-header-arena-badge.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeBox = styledByTheme(HomepageHeaderArenaBadgeDefaultBox)\r\n .forSI(HomepageHeaderArenaBadgeSIBox)\r\n .forMrGreen(HomepageHeaderArenaBadgeMrGreenBox).apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerDefaultBox = styled.div<{headerArenasStyle: HeaderArenasStyle;}>`\r\n margin-bottom: 4rem;\r\n\r\n text-align: center;\r\n white-space: nowrap;\r\n\r\n overflow-x: auto;\r\n overflow-y: hidden;\r\n\r\n overflow: -moz-scrollbars-none;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${({theme}) => theme.colors.background};\r\n padding: 1.8rem 0;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n margin-right: -4rem;\r\n margin-left: -4rem;\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerMrGreenBox = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.4rem;\r\n ${({headerArenasStyle, theme}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${theme.colors.backgroundContrast};\r\n ` : \"\"}\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 1.5rem 0 1.4rem;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerCasino777Box = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 12px;\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HomePageHeaderArenasContainerMrGreenBox} from \"./home-page-header-arenas-container.mrgreen.box\";\r\nimport {HomePageHeaderArenasContainerCasino777Box} from \"./home-page-header-arenas-container.casino777.box\";\r\n\r\nexport const HomePageHeaderArenasContainerBox = styledByTheme(HomePageHeaderArenasContainerDefaultBox)\r\n .forMrGreen(HomePageHeaderArenasContainerMrGreenBox)\r\n .forCasino777(HomePageHeaderArenasContainerCasino777Box)\r\n .apply();\r\n","import {HomepageHeaderArenaLinkDefaultBox} from \"./home-page-header-arena-link.default.box\";\r\n\r\nexport const HomepageHeaderArenaLinkBox = HomepageHeaderArenaLinkDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaLinkDefaultBox = styled.a`\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomepageHeaderArenaSkeletonDefaultBoxProps {\r\n isLoading: boolean;\r\n tilesSize: HeaderArenasStyle.BigTiles | HeaderArenasStyle.SmallTiles;\r\n}\r\n\r\nexport const HomepageHeaderArenaSkeletonDefaultBox = styled.div`\r\n\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n\r\n &::before {\r\n position: absolute;\r\n content: \"\";\r\n top: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"4rem\" : \"2rem\"};\r\n left: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n right: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n bottom: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"3rem\" : \"1rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n border-radius: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"40%\" : \"43%\"};\r\n \r\n animation: LoadingAnimation linear 1s 5;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonSIBox = styled(HomepageHeaderArenaSkeletonDefaultBox)`\r\n &::before {\r\n top: 0;\r\n left: 0;\r\n right: 0; \r\n bottom: 0;\r\n border-radius: 0;\r\n }\r\n`;","import {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaSkeletonSIBox} from \"./home-page-header-arena-skeleton.si.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonBox = styledByTheme(HomepageHeaderArenaSkeletonDefaultBox)\r\n .forSI(HomepageHeaderArenaSkeletonSIBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Image, ImageProps} from \"../raw-components/image/image\";\r\nimport {OrbitComponentWithState} from \"../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {AspectRatioContainerComponent} from '../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {HomepageHeaderArenaSkeletonBox} from './boxes/tiles/skeleton/home-page-header-arena-skeleton.box';\r\nimport { ByThemeRegistry } from \"../../themes/architecture/by-theme-registry\";\r\nimport {HeaderArenasStyle} from \"../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomePageHeaderArenaTileComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport class HomePageHeaderArenaTileComponent extends OrbitComponentWithState {\r\n private aspectRatioSizes: ByThemeRegistry<{width: number; height: number;}> = new ByThemeRegistry({width: 295, height: 275});\r\n\r\n constructor(props: ImageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n this.aspectRatioSizes.forSI({width: 252, height: 150});\r\n this.aspectRatioSizes.forCasino777({width: 260, height: 244});\r\n }\r\n\r\n private _handleDoneLoading() {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n this._handleDoneLoading()} />\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {Link} from '../raw-components/link/link';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {HomePageHeaderArena} from '../../services/configurations/config-data-sections/home-page.configuration';\r\nimport {HomepageHeaderArenaMenuItemBox} from \"./boxes/menu/menu-item/home-page-header-arena-menu-item.box\";\r\nimport {HomepageHeaderArenaMenuItemIconBox} from \"./boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box\";\r\nimport {HomepageHeaderArenaMenuItemNameBox} from \"./boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box\";\r\nimport {HomepageHeaderArenaTileBox} from './boxes/tiles/tile/home-page-header-arena-tile.box';\r\nimport {HomepageHeaderArenaNameBox} from './boxes/tiles/name/home-page-header-arena-name.box';\r\nimport {HomepageHeaderArenaBadgeBox} from './boxes/home-page-header-arena-badge/home-page-header-arena-badge.box';\r\nimport {HomePageHeaderArenasContainerBox} from './boxes/home-page-header-arenas-container.box';\r\nimport {HomepageHeaderArenaLinkBox} from './boxes/home-page-header-arena-link/home-page-header-arena-link.box';\r\nimport {HomePageHeaderArenaTileComponent} from \"./home-page-header-arena-tile.component\";\r\nimport {SeoConfiguration} from '../../services/configurations/config-data-sections/seo.configuration';\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\n\r\nconst NEW_GAMES_TITLE = \"NEW_GAMES\";\r\n\r\nexport const HomePageHeaderArenasComponent = observer(class HomePageHeaderArenasComponent extends OrbitComponent {\r\n private menuButtonIconMap = new Map([\r\n [\"LIVE_CASINO\", this.services.theme.currentTheme.icons.sideMenuLiveCasino],\r\n [\"SLOTS\", this.services.theme.currentTheme.icons.sideMenuSlots],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.sideMenuNewGames],\r\n [\"JACKPOTS\", this.services.theme.currentTheme.icons.sideMenuJackpots],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.sideMenuExclusive888],\r\n [\"SCRATCH_CARDS\", this.services.theme.currentTheme.icons.sideMenuScratchCards],\r\n [\"CASINO_GAMES\", this.services.theme.currentTheme.icons.sideMenuCasinoGames]\r\n ]);\r\n private _getButtonIcon(label: string) {\r\n const iconKey = label.toUpperCase().trim().replace(/(-|\\s)/g, \"_\");\r\n return this.menuButtonIconMap.has(iconKey) ? this.menuButtonIconMap.get(iconKey)! : this.services.theme.currentTheme.icons.sideMenuExclusive888;\r\n }\r\n\r\n private _getSeo(prop: keyof SeoConfiguration[\"categories\"][\"images\"], placeholder: string, dynamic: string) {\r\n\r\n let seoValue = '';\r\n let seoConfig = this.services.configuration.data.seo;\r\n\r\n if (seoConfig && seoConfig.categories && seoConfig.categories.images && seoConfig.categories.images[prop]) {\r\n seoValue = seoConfig.categories.images[prop];\r\n }\r\n\r\n return this.services.translation.translate(seoValue, {\r\n [placeholder]: this.services.translation.translate(dynamic)\r\n });\r\n }\r\n\r\n private _handleArenaAction = (action: string, index: number) => {\r\n try {\r\n const jsonAction = JSON.parse(action);\r\n\r\n if (jsonAction.action === 'game-real') {\r\n\r\n const gameInfo = this.services.games.gamesMap[jsonAction.id];\r\n\r\n gameInfo.open({\r\n isRealMode: true,\r\n gameIndex: index\r\n });\r\n }\r\n\r\n } catch (error) {\r\n this.services.logger.error(`Error in HomePageHeaderArenasComponent '_handleArenaAction', error: ${error}, value:${action}`)\r\n }\r\n };\r\n\r\n private _handleArenaRedirect = (link: string) => {\r\n /**\r\n * @desc added because of parallel actions [navigation + spinner]\r\n * F TO DO - This setTimeout was added by regev on 09/04/2018 in this commit 962fbdea53e3bc8828a215ed035fc0e9243b7a50. I should check if this really solves a performance issue.\r\n * we should keep this delay so that on mobile the user has time to see the image changing sizes upon touching, as a form of feedback\r\n */\r\n setTimeout(() => {\r\n this.services.location.push(link); // navigation is done this way, so we can have the trailing slash\r\n }, 500);\r\n };\r\n\r\n private _handleArenaClick(event: any, arena: HomePageHeaderArena, index: number): void {\r\n\r\n event.preventDefault();\r\n\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: 'Game Grid',\r\n action: 'Home',\r\n label: `${arena.title}_${index}`\r\n }\r\n\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (arena.action) {\r\n this._handleArenaAction(arena.action, index);\r\n } else if (arena.link) {\r\n this._handleArenaRedirect(arena.link);\r\n }\r\n }\r\n\r\n private _renderOneHeaderArena(arena: HomePageHeaderArena, index: number, totalItemsCount: number) {\r\n const hasNewGamesIndication = arena.title === NEW_GAMES_TITLE && this.services.homepage.newAddedGames > 0;\r\n const newGamesIndication = hasNewGamesIndication ?\r\n \r\n {this.services.homepage.newAddedGames > 10 ? '10+' : this.services.homepage.newAddedGames}\r\n \r\n : null;\r\n\r\n if (this.services.homepage.headerArenasStyleIsMenu) {\r\n const Icon = this._getButtonIcon(arena.title);\r\n return \r\n this._handleArenaClick(event, arena, index)}\r\n >\r\n \r\n \r\n {newGamesIndication}\r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n \r\n \r\n \r\n }\r\n return (\r\n this._handleArenaClick(event, arena, index)}\r\n useSmallHeaderArenas={this.services.homepage.headerArenasStyleIsSmallTiles}\r\n totalItemsCount={totalItemsCount}\r\n >\r\n {/*We need this href only for SEO*/}\r\n \r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n {newGamesIndication}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n\r\n const headerArenas = this.services.homepage.headerArenas;\r\n\r\n if (headerArenas.length === 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n {headerArenas.map((arena, index) => this._renderOneHeaderArena(arena, index, headerArenas.length))}\r\n \r\n );\r\n }\r\n});\r\n","import styled, {css} from \"styled-components\";\r\nimport { IBannerContainerBoxProps } from \"../../cms-banner/banner-container/banner-container.default.box\";\r\n\r\nexport const HomepageTopBannerBackgroundBox = styled.div`\r\n width: 100%;\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.homepageTopBannerPlaceholder.toString()}\");\r\n ${props => props.minHeight && css`\r\n min-height: calc(${props.minHeight} + 1px);\r\n `};\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageTopBannerDividerBox = styled.div`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n box-sizing: border-box;\r\n display: block;\r\n width: calc(100% - 14px);\r\n background-color: ${props => props.theme.colors.boxBorderLight};\r\n border-top: 3px solid ${props => props.theme.colors.boxBorder};\r\n margin: 4px 0 7px 7px;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {CmsBannerComponent} from '../cms-banner/cms-banner.component';\r\nimport {DailyDealComponent} from \"../daily-deal/daily-deal.component\";\r\nimport {RoutedComponent} from '../base-components/routed-component/routed.component';\r\nimport {LayoutWrapperBox} from \"../../basic-components/layout-wrapper/layout-wrapper.box\";\r\nimport {MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport classNames from \"classnames\";\r\nimport {HomePageHeaderArenasComponent} from \"../home-page-header-arenas/home-page-header-arenas.component\";\r\nimport {HomepageTopBannerBackgroundBox} from \"./boxes/home-page-top-banner-background.box\";\r\nimport {HomepageTopBannerDividerBox} from './boxes/home-page-top-banner-divider-line';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {LinkToOfferComponent} from \"../link-to-offer/link-to-offer.component\";\r\nimport {ArenaGamesListsComponent} from \"../arena-games-lists/arena-games-lists.component\";\r\nimport {HOME_PAGE_ARENA} from \"../../services/arenas/arena-consts\";\r\nimport {FreeToPlayAnimatedIconComponent} from \"../free-to-play-animated-icon/free-to-play-animated-icon.component\";\r\nimport {BannerComponent} from \"../banner/banner.component\";\r\n\r\nexport const HomePageComponent = observer(class HomePageComponent extends RoutedComponent<{}> {\r\n\r\n private _renderTopBanner() {\r\n const topBannerProps = this.services.homepage.getTopBannerProps();\r\n\r\n return (\r\n <>\r\n \r\n \r\n {this.services.homepage.headerArenasStyleIsSmallTiles && !this.services.homepage.useAdminBanner? : null}\r\n \r\n );\r\n }\r\n\r\n private _renderHomePageArenaHeaders() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return ;\r\n }\r\n\r\n private _renderSeoBanner() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n let bannerConfig = this.services.configuration.data.homePage.seoSection;\r\n if(!bannerConfig.display) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const className = classNames('cy-layout-wrapper-homepage', {\r\n [MOVE_TOP]: this.services.homepage.headerArenasStyleIsBigTiles\r\n });\r\n\r\n return (\r\n <>\r\n {this._renderTopBanner()}\r\n \r\n {this._renderHomePageArenaHeaders()}\r\n \r\n \r\n \r\n {this._renderSeoBanner()}\r\n {this._renderLinkToOffer()}\r\n \r\n );\r\n }\r\n});","import React from \"react\";\r\nimport {ArenaBaseModel} from \"../arena-base.model\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../../lists/games-list-model.interface\";\r\nimport {ListsSortOrderStorage} from \"../../lists-sort-order-storage\";\r\nimport {HomePageComponent} from \"../../../../../components/home-page/home-page.component\";\r\nimport {HOME_PAGE_ARENA, NEW_GAMES_ARENA_NAME} from \"../../../arena-consts\";\r\nimport {GAME_ORIENTATION_IDS} from \"../../../../user-game-orientation/user-game-orientation.service.interface\";\r\nimport { reaction } from \"mobx\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {ArenaFiltersConfigurationMap} from \"../arena-view-model.interface\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\n\r\nexport class HomePageArenaModel extends ArenaBaseModel {\r\n constructor(services: IServiceFactoryExtended, postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n super(HOME_PAGE_ARENA, services, postLoginListsSortOrderStorage);\r\n\r\n reaction(\r\n () => this.services.routing.currentRoute,\r\n (currentRoute) => {\r\n if (currentRoute.routeDefinition.data?.arenaType === NEW_GAMES_ARENA_NAME) {\r\n this.services.homepage.resetNewAddedGames();\r\n }\r\n }, {\r\n fireImmediately: true\r\n }\r\n );\r\n }\r\n\r\n get maxSwipersToShow(): number {\r\n return 15;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 18\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ();\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n //REQUIREMENT 1886942 - exclude live casino orientation players\r\n const gameGroupOrientation = this.services.userGameOrientation.gameGroup;\r\n if (gameGroupOrientation?.groupId && gameGroupOrientation?.groupId === GAME_ORIENTATION_IDS.LIVE_CASINO ) {\r\n return\r\n }\r\n\r\n\r\n return this.services.abTestingFeatureDataProvider.listOnTop;\r\n }\r\n\r\n protected _sortSwipersByAI(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return swipers;\r\n }\r\n\r\n return super._sortSwipersByAI(swipers);\r\n }\r\n\r\n protected _getSwipersConfigurations(): SwiperGamesListConfiguration[] {\r\n return this.services.configuration.data.homePage.gamesLists || [];\r\n }\r\n protected _getGridsConfigurations(): ArenaGamesGridConfiguration[] {\r\n return []\r\n }\r\n\r\n protected _getPromotionalBannerConfig() {\r\n const bannerConfig = this.services.configuration.data.homePage.promotionalBanner;\r\n if(!bannerConfig || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return {\r\n position: bannerConfig.displayPlace + 1,\r\n templateID: bannerConfig.templateID,\r\n componentID: bannerConfig.componentID,\r\n fallbackComponent: bannerConfig.fallbackComponent,\r\n bannerAdminPlaceholderId: bannerConfig.bannerAdminPlaceholderId\r\n };\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo;\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return {};\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ArenaPictureDefaultBox} from './arena-picture.default.box';\r\n\r\nexport const ArenaPictureBox = ArenaPictureDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n//info-image default\r\nexport const ArenaPictureDefaultBox = styled(Image)`\r\n display: block;\r\n min-height: 20rem;\r\n\r\n width: 372px;\r\n height: 200px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 282px;\r\n height: 175px;\r\n }\r\n`;\r\n\r\n","import {ArenaTitleDefaultBox} from './arena-title.default.box';\r\n\r\n\r\nexport const ArenaTitleBox = ArenaTitleDefaultBox;","import styled from 'styled-components';\r\n\r\n//info-title default\r\nexport const ArenaTitleDefaultBox = styled.div`\r\n font-size: 1.5rem;\r\n color: ${props => props.theme.colors.textLight};\r\n font-weight: 600;\r\n padding-top: 3rem;\r\n padding-left: 0.5rem;\r\n`;","import {ArenaDescriptionTextDefaultBox} from './arena-description-text.default.box';\r\n\r\nexport const ArenaDescriptionTextBox = ArenaDescriptionTextDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const ArenaDescriptionTextDefaultBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding-top: 1rem;\r\n`;","import styled, {keyframes} from 'styled-components';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nconst lobbyInfoKeyframes = keyframes`\r\n 0%{\r\n transform: translate(0, 13rem);\r\n }\r\n 25%{\r\n transform: translate(0, 15rem);\r\n }\r\n 50%{\r\n transform: translate(0, 18rem);\r\n }\r\n 100%{\r\n transform: translate(0, 22rem);\r\n }\r\n`;\r\n\r\nexport const LobbyGameInfoDefaultBox = styled.div`\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 375px;\r\n margin-right: 2.5rem;\r\n \r\n\r\n &.${STICKY} {\r\n position: fixed;\r\n animation: ${lobbyInfoKeyframes} 0.5s ease-in-out forwards;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n }\r\n\r\n`;\r\n","import {LobbyGameInfoDefaultBox} from './lobby-game-info.default.box';\r\n\r\nexport const LobbyGameInfoBox = LobbyGameInfoDefaultBox;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from 'classnames';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {ArenaPictureBox} from './boxes/arena-picture/arena-picture.box';\r\nimport {ArenaTitleBox} from './boxes/arena-title/arena-title.box';\r\nimport {ArenaDescriptionTextBox} from './boxes/arena-description-text/arena-description-text.box';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface ArenaInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport interface ArenaInfoPreviewComponentState {\r\n arenaPictureLoading: boolean;\r\n}\r\n\r\nexport const ArenaInfoPreviewComponent = observer(\r\n class ArenaInfoPreviewComponent extends OrbitComponentWithState {\r\n state: ArenaInfoPreviewComponentState = {\r\n arenaPictureLoading: false\r\n }\r\n\r\n render() {\r\n\r\n\r\n let title = this.services.translation.translate(this.props.arenaInfo.title);\r\n\r\n return (\r\n \r\n \r\n {\r\n this.setState({arenaPictureLoading: true});\r\n }}\r\n onSettled={() => {\r\n this.setState({arenaPictureLoading: false});\r\n }}\r\n />\r\n \r\n \r\n {title}\r\n \r\n \r\n {this.services.translation.translate(this.props.arenaInfo.description)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../../../common/boxes/section-title/section-title.box';\r\n\r\n\r\nexport interface PcGamePreviewTitleComponentProps {\r\n gameTitle: string;\r\n}\r\n\r\nexport const PcGamePreviewTitleComponent = observer(\r\n class PcGamePreviewTitleComponent extends OrbitComponent {\r\n\r\n //className={`game-title general-title game-preview`}\r\n render() {\r\n return (\r\n \r\n {this.props.gameTitle}\r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {TrailerOrStripeImageComponent} from '../../../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../../../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {PcGamePreviewTitleComponent} from './title/pc-game-preview-title.component';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport classNames from 'classnames';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\n\r\n\r\nexport interface GameInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameInfoPreviewComponent = observer(\r\n class GameInfoPreviewComponent extends OrbitComponent {\r\n\r\n private _onMouseEnter = () => {\r\n this.services.lobbyGameInfoPreview.pinCurrentGamePreview();\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n this.services.lobbyGameInfoPreview.unPinCurrentGamePreview();\r\n };\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n \r\n }/>\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {ArenaInfoPreviewComponent} from './parts/arena-info-preview/arena-info-preview.component';\r\nimport {GameInfoPreviewComponent} from './parts/game-info-preview/game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../../sticky-handler/sticky-handler.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport interface LobbyGamesInfoComponentProps {\r\n stickyHandler?: IStickyHandler;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport const PcGameInfoPreviewComponent = observer(\r\n class PcGameInfoPreviewComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.enableGamePreview();\r\n }\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.disableGamePreview();\r\n }\r\n }\r\n\r\n\r\n render() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n let enabledOnPC = this.services.configuration.data.generalSettings?.gamesPreviewConfig?.enabledOnPC;\r\n if(Check.isNullOrUndefined(enabledOnPC)) {\r\n enabledOnPC = true;\r\n }\r\n\r\n if(!enabledOnPC) {\r\n return null;\r\n }\r\n\r\n if (this.services.lobbyGameInfoPreview.currentPreviewedGame) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n }\r\n\r\n }\r\n);\r\n","export const ARENA_TYPES = {\r\n WIDE_ARENA: \"wide-arena\"\r\n};\r\n\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\nimport {\r\n ArenaConfiguration,\r\n} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {LobbyHeaderComponent} from '../../lobby-header/lobby-header.component';\r\nimport {PcGameInfoPreviewComponent} from '../../lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {ARENA_TYPES} from \"./casino-arena.template-types\";\r\nimport {LOBBY_PAGE} from '../../../themes/css-global-classes';\r\nimport {LobbyWrapperBox} from \"../../../basic-components/lobby-wrapper/lobby-wrapper.box\";\r\nimport {LobbyGridBox} from \"../../../basic-components/lobby-grid/lobby-grid.box\";\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {ArenaGamesListsComponent} from \"../../arena-games-lists/arena-games-lists.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\n\r\nexport interface LobbyArenaComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const CasinoArenaComponent = observer(\r\n class CasinoArenaComponent extends OrbitComponent {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n return this._stickyHandler;\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.services.dom.body.classList.remove(LOBBY_PAGE);\r\n this.stickyHandler.dispose();\r\n }\r\n\r\n private get config(): ArenaConfiguration {\r\n return this.services.arenas.getArenaConfig(this.props.arenaName);\r\n }\r\n\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n let sideBarInfo = {\r\n title: \"\",\r\n description: \"\",\r\n previewImage: \"\"\r\n };\r\n\r\n if (this.config.infoSideBar) {\r\n sideBarInfo = {\r\n title: this.config.infoSideBar.infoTitle,\r\n description: this.config.infoSideBar.infoText,\r\n previewImage: this.config.infoSideBar.infoImage\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n (this.config.arenaType !== ARENA_TYPES.WIDE_ARENA) && \r\n }\r\n {this._renderLinkToOffer()}\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {ArenaFiltersConfigurationMap} from \"./arenas/arena-view-model.interface\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\n\r\nexport function filtersConfigurationToMap(filtersConfiguration: NullableUndefined): ArenaFiltersConfigurationMap {\r\n return (filtersConfiguration ?? []).toDictionary(filterId => filterId, \r\n (filterId, index) => {\r\n return {\r\n filterId: filterId,\r\n index: index\r\n }\r\n });\r\n }\r\n","import {GameInfo} from \"../../games/game-info\";\r\n\r\nexport enum ApplyGameFilterResult {\r\n IncludeGame,\r\n ExcludeGame,\r\n NotApplicable\r\n}\r\n\r\nexport interface IGameFilterEvaluator {\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult;\r\n}","import React from 'react';\r\nimport {DisposableObject} from \"../../../../utils/disposable-object\";\r\nimport {IGamesFilterStrategy} from \"./games-filter-strategy.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport { computed, observable, runInAction, makeObservable } from \"mobx\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {Nullable} from \"../../../../common/types/nullable-types\";\r\nimport {GamesMap} from \"../../games/games.service.interface\";\r\nimport {IArenaGameFiltersCategory} from \"../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {IArenaGameFilter} from \"../arena-filters/filters/arena-game-filter.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {IPcFilterIndicatorRenderingOptions} from \"../games-filter.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport abstract class GamesFilterStrategyBase extends DisposableObject implements IGamesFilterStrategy {\r\n\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n super();\r\n\r\n makeObservable(this);\r\n\r\n this.addReaction(() => [this.services.location.currentUri, this.services.games.gamesMap], () => {\r\n //We use set timeout in order to avoid a circular dependency error.\r\n //Because this reaction is with fireImmediately=true it executes in this constructor, but this constructor is called from the GamesFilterService constructor\r\n //and the code inside this._filterGames is trying to access methods and properties from GamesFilterService and the Lazy class will throw an error in this case.\r\n setTimeout(() => {\r\n runInAction(() => {\r\n this.filteredGamesMap = this._filterGames();\r\n if(this.services.gamesFilter.isFilterOn && !Check.isEmpty(this.services.games.gamesMap)) {\r\n this._reportApplyFiltersAnalytics();\r\n }\r\n });\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n\r\n protected abstract _createFiltersCategories(): IArenaGameFiltersCategory[];\r\n abstract renderMobileFiltersIndicator(): React.ReactElement;\r\n abstract renderPCFiltersIndicator(): Nullable;\r\n protected abstract _reportApplyFiltersAnalytics(): void;\r\n\r\n abstract showFiltersEditor(): void;\r\n protected abstract _createEvaluator(): IGameFilterEvaluator | null;\r\n\r\n @observable.ref\r\n filteredGamesMap: Record = {};\r\n\r\n private _filtersCategories: Nullable = null;\r\n protected get filtersCategories(): IArenaGameFiltersCategory[] {\r\n if(!this._filtersCategories) {\r\n this._filtersCategories = this._createFiltersCategories();\r\n }\r\n return this._filtersCategories;\r\n }\r\n\r\n\r\n @computed\r\n public get currentFilters(): IArenaGameFilter[] {\r\n const result: IArenaGameFilter[] = [];\r\n this.filtersCategories.forEach(category => {\r\n category.availableFilters.forEach(f => result.push(f));\r\n });\r\n\r\n return result;\r\n }\r\n\r\n get isFilteringAvailable(): boolean {\r\n return this.currentFilters.length > 0;\r\n }\r\n\r\n protected _filterGames(): GamesMap {\r\n\r\n const gamesMap = this.services.games.gamesMap;\r\n\r\n if(!this.currentFilters.some(f => f.isApplied)) {\r\n return gamesMap;\r\n }\r\n\r\n const evaluator = this._createEvaluator();\r\n\r\n const result: GamesMap = {};\r\n\r\n for(let game of Object.values(this.services.games.gamesMap)) {\r\n const filterResult = evaluator.applyFilter(game);\r\n if(ApplyGameFilterResult.IncludeGame === filterResult) {\r\n result[game.gameType] = game;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n}","import styled from \"styled-components\";\r\n\r\nexport const ContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n padding: 10px;\r\n user-select: none;\r\n overflow-y: auto;\r\n`;","import styled from \"styled-components\";\r\nimport {ContainerDefaultBox} from \"./container.default.box\";\r\n\r\nexport const ContainerMrGreenBox = styled(ContainerDefaultBox)`\r\n background-color: ${props => props.theme.colors.background};\r\n border-radius: 8px;\r\n padding: 0px 2rem 1rem 2rem;\r\n`;","import styled from \"styled-components\";\r\nimport {ContainerDefaultBox} from \"./container.default.box\";\r\n\r\nexport const ContainerSIBox = styled(ContainerDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundActive};\r\n border-radius: 10px;\r\n margin-left: 15px;\r\n margin-right: 15px;\r\n width: auto;\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ContainerDefaultBox} from \"./container.default.box\";\r\nimport {ContainerMrGreenBox} from \"./container.mrgreen.box\";\r\nimport {ContainerSIBox} from \"./container.si.box\";\r\n\r\nexport const ContainerBox = styledByTheme(ContainerDefaultBox)\r\n .forSI(ContainerSIBox)\r\n .forSICis(ContainerSIBox)\r\n .forMrGreen(ContainerMrGreenBox)\r\n .forMrGreenCis(ContainerMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {hexToRgba} from \"../../../../../themes/hex-to-rgba\";\r\n\r\nconst FilterCategoryDefaultBox = styled.div`\r\n padding: 2rem 0;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLighter};\r\n box-sizing: border-box;\r\n`;\r\n\r\nconst FilterCategorySIBox = styled(FilterCategoryDefaultBox)`\r\n border-bottom: 2px solid ${props => props.theme.colors.boxBorderDark}};\r\n`\r\n\r\nconst FilterCategoryMrGreenBox = styled(FilterCategoryDefaultBox)`\r\n border-bottom: 1px solid ${hexToRgba(\"#EBEDEF\", 0.3)};\r\n`;\r\n\r\nexport const FilterCategoryBox = styledByTheme(FilterCategoryDefaultBox)\r\n .forSI(FilterCategorySIBox)\r\n .forSICis(FilterCategorySIBox)\r\n .forMrGreen(FilterCategoryMrGreenBox)\r\n .forMrGreenCis(FilterCategoryMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const FilterCategoryContentBox = styled.div`\r\n display: block;\r\n transition: all 0.2s ease-in;\r\n overflow: hidden;\r\n height: 100%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const FilterItemBox = styled.div<{disabled: boolean}>`\r\n display: flex;\r\n align-items: center;\r\n padding: 1.5rem;\r\n cursor: ${props => props.disabled ? \"auto\" : \"pointer\"};\r\n`","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst InputDefaultBox = styled.input<{disabled: boolean}>`\r\n appearance: none;\r\n position: relative;\r\n height: 1.8rem;\r\n width: 1.8rem;\r\n cursor: ${props => props.disabled ? \"auto\" : \"pointer\"};\r\n\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n background-color: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 0.5rem;\r\n\r\n &:checked {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n\r\n &:after {\r\n content: '\\\\2713';\r\n display: block;\r\n height: 100%;\r\n font-size: 13px;\r\n line-height: 1.8rem;\r\n color: ${props => props.theme.colors.background};\r\n font-weight: bold;\r\n }\r\n }\r\n\r\n ${props => props.type === 'radio' && css` border-radius: 10px; ` }\r\n`;\r\n\r\nconst InputMrGreenBox = styled(InputDefaultBox)`\r\n &:checked {\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n }\r\n`;\r\n\r\nconst InputSIBox = styled(InputDefaultBox)`\r\n background-color: transparent;\r\n border: 1px solid ${props => props.theme.colors.boxBorderEvenLighter};\r\n height: 1.5rem;\r\n width: 1.5rem;\r\n &:checked {\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n \r\n &:after {\r\n font-size: 1rem;\r\n line-height: 1.5rem;\r\n }\r\n }\r\n`\r\n\r\nexport const InputBox = styledByTheme(InputDefaultBox)\r\n .forSI(InputSIBox)\r\n .forSICis(InputSIBox)\r\n .forMrGreen(InputMrGreenBox)\r\n .forMrGreenCis(InputMrGreenBox).apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FilterItemTitleDefaultBox = styled.span<{isChecked: boolean}>`\r\n margin-left: 2em;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.text};\r\n ${props => props.isChecked ? css`color: ${props => props.theme.colors.brandPrimary};` : ''}\r\n`;\r\n\r\nconst FilterItemTitleMrGreenBox = styled(FilterItemTitleDefaultBox)`\r\n color: ${props => props.isChecked ? props.theme.colors.textContrast : props.theme.colors.text};\r\n`;\r\n\r\nconst FilterItemTitleSIBox = styled(FilterItemTitleDefaultBox)`\r\n color: ${props => props.isChecked ? props.theme.colors.textContrast : props.theme.colors.text};\r\n font-size: 12px;\r\n font-weight: 400;\r\n`;\r\n\r\nexport const FilterItemTitleBox = styledByTheme(FilterItemTitleDefaultBox)\r\n .forSI(FilterItemTitleSIBox)\r\n .forSICis(FilterItemTitleSIBox)\r\n .forMrGreen(FilterItemTitleMrGreenBox)\r\n .forMrGreenCis(FilterItemTitleMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const SubFiltersBox = styled.div`\r\n margin-left: 5rem;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const FilterItemContainerBox = styled.div<{disabled: boolean}>`\r\n display: flex;\r\n flex-direction: column;\r\n opacity: ${props => props.disabled ? \"0.5\" : \"1\"};\r\n`\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {FilterItemBox} from \"./boxes/filter-Item.box\";\r\nimport {InputBox} from \"./boxes/input.box\";\r\nimport {FilterItemTitleBox} from \"./boxes/filter-item-title.box\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SubFiltersBox} from \"./boxes/sub-filters.box\";\r\nimport {FilterItemContainerBox} from \"./boxes/filter-item-container.box\";\r\n\r\nexport type FilterInputType = 'checkbox' | 'radio';\r\n\r\ninterface FilterCategoryItemComponentProps {\r\n inputType: FilterInputType;\r\n filter: IArenaGameFilterEditorViewModel;\r\n filterCategoryId: string;\r\n}\r\n\r\nexport const FilterCategoryItemComponent = observer(\r\n class FilterCategoryItemComponent extends OrbitComponent {\r\n\r\n private _onFilterToggle = () => {\r\n if (this.props.filter.disabled) {\r\n return;\r\n }\r\n this.props.filter.toggleFilter();\r\n }\r\n\r\n private _renderSubFilters() {\r\n const subFilters = this.props.filter.subFilters;\r\n if(subFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {subFilters.map(sf => ())}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n const filter = this.props.filter;\r\n const inputType = this.props.inputType;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {filter.text}\r\n {filter.gamesCount > 0 && ` (${filter.gamesCount})`}\r\n \r\n \r\n {this._renderSubFilters()}\r\n \r\n\r\n );\r\n }\r\n }\r\n);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IArenaGameFiltersCategoryEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface\";\r\nimport {FilterCategoryContentBox} from \"./boxes/filter-category-content.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {FilterCategoryItemComponent} from \"./filter-category-item.component\";\r\n\r\ninterface FilterCategoryContentComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport const FilterCategoryContentComponent = observer(\r\n class FilterCategoryContentComponent extends OrbitComponent {\r\n\r\n _renderFilters(category: IArenaGameFiltersCategoryEditorViewModel) {\r\n\r\n\r\n return <>\r\n {category.visibleFilters.map(filterToRender => ())}\r\n ;\r\n }\r\n\r\n render() {\r\n if(!this.props.isOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderFilters(this.props.category)}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const TitleContainerDefaultBox = styled.div`\r\n cursor: pointer;\r\n`;\r\n\r\nconst TitleContainerSIBox = styled(TitleContainerDefaultBox)`\r\n padding-left: 10px\r\n`;\r\n\r\nexport const TitleContainerBox = styledByTheme(TitleContainerDefaultBox)\r\n .forSICis(TitleContainerSIBox)\r\n .forSI(TitleContainerSIBox)\r\n .apply();","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst TitleDefaultBox = styled.div<{isOpen: boolean}>`\r\n position: relative;\r\n font-size: 15px;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: uppercase;\r\n display: flex;\r\n align-items: center;\r\n\r\n /* Title V sign */\r\n &:after {\r\n content: \" \";\r\n display: inline-block;\r\n\r\n border: solid ${props => props.theme.colors.backgroundContrast};\r\n border-width: 0 2px 2px 0;\r\n\r\n padding: 3px;\r\n transform: rotate(45deg);\r\n transition: transform 0.2s ease-in-out;\r\n\r\n position: absolute;\r\n right: 3px;\r\n\r\n ${props => props.isOpen && css`\r\n transform: rotate(225deg);\r\n `}\r\n }\r\n`;\r\n\r\nconst TitleMrGreenBox = styled(TitleDefaultBox)`\r\n font-size: 14px;\r\n`;\r\n\r\nconst TitleSIBox = styled(TitleDefaultBox)`\r\n font-size: 14px;\r\n`;\r\n\r\nexport const TitleBox = styledByTheme(TitleDefaultBox)\r\n .forSI(TitleSIBox)\r\n .forSICis(TitleSIBox)\r\n .forMrGreen(TitleMrGreenBox)\r\n .forMrGreenCis(TitleMrGreenBox).apply();","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IGroupFiltersListGroupTitleActivePreviewBoxProps {\r\n isVisible: boolean;\r\n}\r\n\r\nconst PreviewDefaultBox = styled.span`\r\n\r\n @keyframes introAnimation {\r\n 0% {\r\n opacity: 0;\r\n max-height: 0;\r\n }\r\n 50% {\r\n opacity: 0;\r\n max-height: 20px;\r\n }\r\n 100% {\r\n opacity: 1;\r\n max-height: 20px;\r\n }\r\n }\r\n\r\n display: block;\r\n opacity: 0;\r\n font-size: 11px;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n ${({theme}) => theme.font.presets.regular};\r\n text-transform: capitalize;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n width: 100%;\r\n max-height: 0;\r\n\r\n ${props => props.isVisible && css`\r\n animation: 0.1s introAnimation 0.2s ease-in forwards;\r\n `}\r\n`;\r\n\r\nconst PreviewMrGreenBox = styled(PreviewDefaultBox)`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nconst PreviewSIBox = styled(PreviewDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n font-size: 11px;\r\n ${({theme}) => theme.font.presets.light};\r\n`;\r\n\r\nexport const PreviewBox = styledByTheme(PreviewDefaultBox)\r\n .forSI(PreviewSIBox)\r\n .forSICis(PreviewSIBox)\r\n .forMrGreen(PreviewMrGreenBox)\r\n .forMrGreenCis(PreviewMrGreenBox).apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {TitleContainerBox} from \"./boxes/title-container.box\";\r\nimport {TitleBox} from \"./boxes/title.box\";\r\nimport {PreviewBox} from \"./boxes/preview.box\";\r\nimport {\r\n IArenaGameFiltersCategoryEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface\";\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface FilterCategoryHeaderComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n isOpen: boolean;\r\n onCategoryToggle: (category: IArenaGameFiltersCategoryEditorViewModel) => void;\r\n}\r\n\r\n\r\nexport const FilterCategoryHeaderComponent = observer(\r\n class FilterCategoryHeaderComponent extends OrbitComponent {\r\n private _onClickHandler = () => {\r\n this.props.onCategoryToggle(this.props.category);\r\n }\r\n\r\n\r\n render() {\r\n const activeFiltersTexts = this.props.category.getVisibleAppliedFilters().map(f => f.text);\r\n return (\r\n \r\n \r\n {this.props.category.title}\r\n \r\n\r\n 0}>\r\n {activeFiltersTexts.join(', ')}\r\n \r\n \r\n )\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from '../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterCategoryBox} from \"./boxes/filter-category.box\";\r\nimport {FilterCategoryContentComponent} from \"./filter-category-content.component\";\r\nimport {FilterCategoryHeaderComponent} from \"./filter-category-header.component\";\r\n\r\ninterface IFilterCategoryComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n onCategoryToggle: (category: IArenaGameFiltersCategoryEditorViewModel) => void;\r\n isOpen: boolean;\r\n}\r\n\r\nexport const FilterCategoryComponent = observer(\r\n class FilterCategoryComponent extends OrbitComponent {\r\n\r\n render() {\r\n const {category, isOpen} = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {OrbitComponentWithState} from '../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {ContainerBox} from \"./boxes/container.box\";\r\nimport {FilterCategoryComponent} from '../filter-category/filter-category.component';\r\nimport {IAdvancedStrategyFiltersEditorViewModel} from '../../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface';\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from '../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface';\r\nimport {observer} from 'mobx-react';\r\n\r\nexport interface IFilterCategoriesListComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\n\r\ninterface IFilterCategoriesListComponentState {\r\n openFilterCategory: IArenaGameFiltersCategoryEditorViewModel | null;\r\n}\r\n\r\nexport const FilterCategoriesListComponent = observer(\r\n class FilterCategoriesListComponent extends OrbitComponentWithState {\r\n\r\n state: IFilterCategoriesListComponentState = {\r\n openFilterCategory: null\r\n }\r\n\r\n _onCategoryToggle = (category: IArenaGameFiltersCategoryEditorViewModel) => {\r\n let openFilterCategoryState = this.state.openFilterCategory;\r\n\r\n // if user clicked on new category emulate close current category first\r\n if (openFilterCategoryState && category.id !== openFilterCategoryState.id) {\r\n openFilterCategoryState = null;\r\n }\r\n\r\n this.setState({openFilterCategory: openFilterCategoryState ? null : category});\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n {this.props.filtersEditor.visibleCategories.map(category => ())}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-height: 100%;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.text};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterMrgreenBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n color: ${props => props.theme.colors.text};\r\n padding: 1.5rem 1.5rem 0;\r\n`","import styled from \"styled-components\";\r\nimport {AdvancedGamesFilterDefaultBox} from \"./advanced-games-filter.default.box\";\r\n\r\n\r\nexport const AdvancedGamesFilterSIBox = styled(AdvancedGamesFilterDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundDark}; \r\n`\r\n","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {AdvancedGamesFilterDefaultBox} from \"./advanced-games-filter.default.box\";\r\nimport {AdvancedGamesFilterMrgreenBox} from \"./advanced-games-filter.mrgreen.box\";\r\nimport {AdvancedGamesFilterSIBox} from \"./advanced-games-filter.si.box\";\r\n\r\nexport const AdvancedGamesFilterBox = styledByTheme(AdvancedGamesFilterDefaultBox)\r\n .forSI(AdvancedGamesFilterSIBox)\r\n .forMrGreen(AdvancedGamesFilterMrgreenBox)\r\n .apply()\r\n","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterFooterDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-around;\r\n padding: 2rem;\r\n`","import styled from \"styled-components\";\r\nimport {AdvancedGamesFilterFooterDefaultBox} from \"./advanced-games-filter-footer.default\";\r\n\r\nexport const AdvancedGamesFilterFooterMrGreenBox = styled(AdvancedGamesFilterFooterDefaultBox)`\r\n margin-left: -1.5rem;\r\n margin-right: -1.5rem;\r\n background-color: ${props => props.theme.colors.background};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {AdvancedGamesFilterFooterDefaultBox} from \"./advanced-games-filter-footer.default\";\r\n\r\nexport const AdvancedGamesFilterFooterSiBox = styled(AdvancedGamesFilterFooterDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundActive};\r\n padding: 1.5rem;\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {AdvancedGamesFilterFooterDefaultBox} from \"./advanced-games-filter-footer.default\";\r\nimport {AdvancedGamesFilterFooterMrGreenBox} from \"./advanced-games-filter-footer.mrgreen\";\r\nimport {AdvancedGamesFilterFooterSiBox} from \"./advanced-games-filter-footer.si\";\r\n\r\nexport const AdvancedGamesFilterFooterBox = styledByTheme(AdvancedGamesFilterFooterDefaultBox)\r\n .forSI(AdvancedGamesFilterFooterSiBox)\r\n .forSICis(AdvancedGamesFilterFooterSiBox)\r\n .forMrGreen(AdvancedGamesFilterFooterMrGreenBox)\r\n .forMrGreenCis(AdvancedGamesFilterFooterMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const AdvancedGamesFilterHeaderDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-start;\r\n width: 100%;\r\n padding: 6px;\r\n`;\r\n\r\nconst AdvancedGamesFilterHeaderMrGreenBox = styled(AdvancedGamesFilterHeaderDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n padding: 0 0 1rem 0;\r\n`;\r\n\r\nconst AdvancedGamesFilterHeaderSIBox = styled(AdvancedGamesFilterHeaderDefaultBox)`\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n \r\n svg {\r\n color: white;\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n`;\r\n\r\nexport const AdvancedGamesFilterHeaderBox = styledByTheme(AdvancedGamesFilterHeaderDefaultBox)\r\n .forSI(AdvancedGamesFilterHeaderSIBox)\r\n .forSICis(AdvancedGamesFilterHeaderSIBox)\r\n .forMrGreen(AdvancedGamesFilterHeaderMrGreenBox)\r\n .forMrGreenCis(AdvancedGamesFilterHeaderMrGreenBox).apply();","import styled from \"styled-components\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const AdvancedGamesFilterButtonBox = styled(Button)`\r\n min-width: 140px;\r\n`\r\n\r\nexport const AdvancedGamesFilterButtonSIBox = styled(AdvancedGamesFilterButtonBox)`\r\n background-color: transparent; \r\n`\r\n\r\nexport const AdvancedGamesFilterButtonStyleBox = styledByTheme(AdvancedGamesFilterButtonBox)\r\n .forSI(AdvancedGamesFilterButtonSIBox)\r\n .forSICis(AdvancedGamesFilterButtonSIBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FilterByDefaultBox = styled.div`\r\n font-size: ${props => props.theme.font.size.large};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst FilterByMrGreenBox = styled(FilterByDefaultBox)`\r\n font-size: 1.4rem;\r\n`;\r\n\r\nconst FilterBySIBox = styled(FilterByDefaultBox)`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n`;\r\n\r\nexport const FilterByBox = styledByTheme(FilterByDefaultBox)\r\n .forSI(FilterBySIBox)\r\n .forSICis(FilterBySIBox)\r\n .forMrGreen(FilterByMrGreenBox)\r\n .forMrGreenCis(FilterByMrGreenBox).apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n IAdvancedStrategyFiltersEditorViewModel\r\n} from \"../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface\";\r\nimport {FilterCategoriesListComponent} from './filter-categories-list/filter-categories-list.component';\r\nimport {AdvancedGamesFilterBox} from \"./boxes/advanced-games-filter.box\";\r\nimport {AdvancedGamesFilterFooterBox} from \"./boxes/advanced-games-filter-footer.box\";\r\nimport {AdvancedGamesFilterHeaderBox} from \"./boxes/advanced-games-filter-header.box\";\r\nimport {\r\n AdvancedGamesFilterButtonBox,\r\n AdvancedGamesFilterButtonStyleBox\r\n} from \"./boxes/advanced-games-filter-button.box\";\r\nimport {FilterByBox} from \"./filter-categories-list/boxes/filter-by.box\";\r\nimport {\r\n AdvancedFiltersAnalytics\r\n} from \"../../../services/games-filter/strategies/advanced-filter/advanced-filters-analytics\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {FlexGrowItemBox} from '../../../themes/architecture/css-helpers/flex';\r\n\r\n\r\ninterface AdvancedGamesFilterComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\n\r\nexport const AdvancedGamesFilterComponent = observer(\r\n class AdvancedGamesFilterComponent extends OrbitComponent {\r\n\r\n private _onApply = async () => {\r\n await this.props.filtersEditor.applyFilters();\r\n this.services.drawer.right.back();\r\n }\r\n\r\n private _onCancel = () => {\r\n this.services.drawer.right.back();\r\n this.analyticsReporter.reportCloseFilters();\r\n }\r\n\r\n private _onClearAll = async () => {\r\n await this.services.gamesFilter.clearFilters();\r\n this.services.drawer.right.back();\r\n this.analyticsReporter.reportClearFilters();\r\n }\r\n\r\n\r\n private get analyticsReporter(): AdvancedFiltersAnalytics {\r\n return this.props.filtersEditor.analyticsReporter;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.analyticsReporter.reportOpenFilters();\r\n }\r\n\r\n\r\n render() {\r\n const CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate('FILTER_BY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('CLEAR_ALL')}\r\n \r\n\r\n \r\n {this.services.translation.translate('APPLY')}\r\n \r\n \r\n\r\n \r\n )\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {IDrawerContent} from \"../../../drawer/drawer.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {\r\n AdvancedGamesFilterComponent\r\n} from \"../../../../components/filters/advanced-filtering/advanced-games-filter.component\";\r\nimport {AdvancedStrategyFiltersEditor} from \"./advanced-strategy-filters-editor\";\r\n\r\nexport class AdvancedGamesFilterDrawerRenderer implements IDrawerContent {\r\n\r\n constructor(private readonly services: IServiceFactoryExtended,\r\n private readonly filtersEditor: AdvancedStrategyFiltersEditor) {\r\n this.id = this.services.tools.getGuid();\r\n }\r\n\r\n readonly id: string;\r\n readonly isMinimized: boolean = false;\r\n readonly minOverlayZIndex: number | null = null;\r\n supportsCloseIntent: boolean = false;\r\n readonly title: string = '';\r\n\r\n onClose(): void {\r\n }\r\n\r\n onOverlayClicked(): void {\r\n }\r\n\r\n render(): React.ReactNode {\r\n return (\r\n \r\n );\r\n }\r\n}","import { action, observable, runInAction, makeObservable } from \"mobx\";\r\nimport {IArenaGameFilterEditorViewModel} from \"./arena-game-filter-editor-view-model.interface\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {ArenaGameFiltersCategoryEditor} from \"../categories/arena-game-filters-category-editor\";\r\n\r\nexport class ArenaGameFilterEditor implements IArenaGameFilterEditorViewModel {\r\n constructor(protected readonly arenaGameFilter: IArenaGameFilter,\r\n protected readonly categoryEditor?: ArenaGameFiltersCategoryEditor) {\r\n makeObservable(this);\r\n\r\n this._on = arenaGameFilter.isApplied;\r\n }\r\n\r\n get id(): string {\r\n return this.arenaGameFilter.id;\r\n }\r\n\r\n get text(): string {\r\n return this.arenaGameFilter.text;\r\n }\r\n\r\n @observable.ref\r\n protected _on: boolean = false;\r\n get on(): boolean {\r\n return this._on;\r\n }\r\n\r\n set on(value: boolean) {\r\n this._setOn(value);\r\n }\r\n\r\n protected _resetOtherFiltersInTheCategory(): void {\r\n this.categoryEditor.visibleFilters.forEach(f => {\r\n if(f.id !== this.id) {\r\n f.on = false;\r\n }\r\n })\r\n }\r\n\r\n protected _setOn(value: boolean): void {\r\n\r\n if(value && this.categoryEditor && !this.categoryEditor.isMultiSelect) {\r\n this._resetOtherFiltersInTheCategory();\r\n }\r\n\r\n runInAction(() => this._on = value);\r\n }\r\n\r\n get disabled(): boolean {\r\n return false;\r\n }\r\n\r\n @action.bound\r\n toggleFilter(): void {\r\n this.on = !this.on;\r\n }\r\n\r\n get shouldBeDisplayed(): boolean {\r\n return !this.arenaGameFilter.isAdhocFilter;\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.arenaGameFilter.gamesCount;\r\n }\r\n\r\n\r\n private _subFilters: ArenaGameSubFilterEditor[] | null = null;\r\n get subFilters(): ArenaGameSubFilterEditor[] {\r\n if(!this._subFilters) {\r\n this._subFilters = this.arenaGameFilter.subFilters.map(sf => new ArenaGameSubFilterEditor(this, sf));\r\n }\r\n return this._subFilters;\r\n }\r\n}\r\n\r\n\r\nexport class ArenaGameSubFilterEditor extends ArenaGameFilterEditor {\r\n constructor(private readonly parent: ArenaGameFilterEditor,\r\n arenaGameFilter: IArenaGameFilter) {\r\n super(arenaGameFilter)\r\n }\r\n\r\n get on(): boolean {\r\n return this._on && this.parent.on;\r\n }\r\n\r\n set on(value: boolean) {\r\n this._setOn(value);\r\n }\r\n\r\n get disabled(): boolean {\r\n return !this.parent.on;\r\n }\r\n}","import {ArenaGameFilterEditor} from \"../filters/arena-game-filter-editor\";\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from \"./arena-game-filters-category-editor-view-model.interface\";\r\nimport {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IArenaGameFilterEditorViewModel} from \"../filters/arena-game-filter-editor-view-model.interface\";\r\nimport {CategoryDefinitionId} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\n\r\nexport class ArenaGameFiltersCategoryEditor implements IArenaGameFiltersCategoryEditorViewModel {\r\n constructor(private readonly arenaGameFilterCategory: IArenaGameFiltersCategory) {\r\n makeObservable(this);\r\n\r\n this._filters = arenaGameFilterCategory.availableFilters.map(f => new ArenaGameFilterEditor(f, this));\r\n }\r\n\r\n private readonly _filters: ArenaGameFilterEditor[];\r\n @computed\r\n get visibleFilters(): ArenaGameFilterEditor[] {\r\n return this._filters.filter(f => f.shouldBeDisplayed);\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return this.arenaGameFilterCategory.id;\r\n }\r\n\r\n get title(): string {\r\n return this.arenaGameFilterCategory.title;\r\n }\r\n\r\n getAppliedFiltersIds(): string[] {\r\n return this._getAllAppliedFilters().map(f => f.id);\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.arenaGameFilterCategory.gamesCount;\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return this.arenaGameFilterCategory.isMultiSelect;\r\n }\r\n\r\n private _getAllAppliedFilters(): ArenaGameFilterEditor[] {\r\n const result: ArenaGameFilterEditor[] = [];\r\n\r\n for(let filter of this._filters) {\r\n if(filter.on) {\r\n result.push(filter);\r\n for(let subFilter of filter.subFilters) {\r\n if(subFilter.on) {\r\n result.push(subFilter)\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n\r\n getVisibleAppliedFilters(): IArenaGameFilterEditorViewModel[] {\r\n return this._getAllAppliedFilters().filter(f => f.shouldBeDisplayed);\r\n }\r\n\r\n}","import {\r\n IElasticEventData\r\n} from \"../../../../../common/interfaces/structured-logging-service-interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nconst EVENT_NAME = 'Orbit_User_Flow'\r\n\r\ninterface IReportApplyFiltersParams {\r\n appliedFilters: Record; // the key is the filters category and the value is an array of applied filters from that category\r\n gamesCount: number;\r\n}\r\n\r\ninterface IFilterEventData {\r\n action: string;\r\n actionData?: string;\r\n}\r\n\r\nexport class AdvancedFiltersAnalytics {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n private _sendEvent(filterEventData: IFilterEventData): void {\r\n\r\n let location = this.services.location.currentUri.pathName.toString()\r\n if(location !== '/' && location.endsWith('/')) {\r\n location = location.substr(0, location.length - 1)\r\n }\r\n\r\n const eventData: IElasticEventData = {\r\n CGPEventLabel: location,\r\n CGPEventCategory: 'advanced-filters',\r\n CGPEventAction: filterEventData.action,\r\n }\r\n\r\n if(filterEventData.actionData) {\r\n eventData.actionData = filterEventData.actionData;\r\n }\r\n\r\n this.services.analytics.getLogger(eventData)\r\n .setEventType(EVENT_NAME, 'Log', 'Analytics')\r\n .info();\r\n }\r\n\r\n\r\n reportOpenFilters(): void {\r\n this._sendEvent({\r\n action: 'open'\r\n });\r\n }\r\n\r\n reportCloseFilters(): void {\r\n this._sendEvent({\r\n action: 'close'\r\n });\r\n }\r\n\r\n reportClearFilters(): void {\r\n this._sendEvent({\r\n action: 'clear'\r\n });\r\n }\r\n\r\n reportApplyFilters(params: IReportApplyFiltersParams): void {\r\n this._sendEvent({\r\n action: 'apply',\r\n actionData: JSON.stringify(params)\r\n });\r\n }\r\n}","import {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {ArenaGameFiltersCategoryEditor} from \"../../arena-filters/categories/arena-game-filters-category-editor\";\r\nimport {IAdvancedStrategyFiltersEditorViewModel} from \"./advanced-strategy-filters-editor-view-model.interface\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {AdvancedFiltersAnalytics} from \"./advanced-filters-analytics\";\r\n\r\nexport class AdvancedStrategyFiltersEditor implements IAdvancedStrategyFiltersEditorViewModel {\r\n constructor(private readonly filtersCategories: IArenaGameFiltersCategory[],\r\n private readonly services: IServiceFactoryExtended) {\r\n\r\n this._categories = this.filtersCategories.map(c => new ArenaGameFiltersCategoryEditor(c));\r\n this.analyticsReporter = new AdvancedFiltersAnalytics(this.services);\r\n }\r\n\r\n readonly analyticsReporter: AdvancedFiltersAnalytics;\r\n\r\n private _categories: ArenaGameFiltersCategoryEditor[];\r\n get visibleCategories(): ArenaGameFiltersCategoryEditor[] {\r\n return this._categories.filter(c => c.visibleFilters.length > 0);\r\n }\r\n\r\n private _getAppliedFiltersIds(): string[] {\r\n let result: string[] = [];\r\n\r\n this._categories.forEach(c => {\r\n result = [\r\n ...result,\r\n ...c.getAppliedFiltersIds()\r\n ];\r\n\r\n });\r\n return result;\r\n }\r\n\r\n async applyFilters(): Promise {\r\n await this.services.gamesFilter.applyFilters(this._getAppliedFiltersIds());\r\n }\r\n}","import {ApplyGameFilterResult, IGameFilterEvaluator} from \"./game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\n\r\nexport class AndGameFiltersEvaluator implements IGameFilterEvaluator {\r\n constructor(...evaluators: IGameFilterEvaluator[]) {\r\n this._evaluators = evaluators;\r\n }\r\n\r\n private readonly _evaluators: IGameFilterEvaluator[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n let result = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo);\r\n if(r === ApplyGameFilterResult.ExcludeGame) {\r\n return r;\r\n } else if(r !== ApplyGameFilterResult.NotApplicable) {\r\n result = r;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nexport function AND(...evaluators: IGameFilterEvaluator[]): IGameFilterEvaluator {\r\n return new AndGameFiltersEvaluator(...evaluators);\r\n}","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonDefaultBox = styled.a`\r\n position: relative;\r\n display: flex;\r\n ${flexFixedSizeItem}\r\n justify-content: center;\r\n align-items: center;\r\n width: 3.4rem;\r\n height: 3.4rem;\r\n border: 1px solid ${props => props.theme.colors.backgroundContrast};\r\n border-radius: 50%;\r\n margin: 0 0.5rem;\r\n stroke: ${props => props.theme.colors.backgroundContrast};\r\n\r\n &.${ACTIVE} {\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n top: -0.25rem;\r\n right: -0.25rem;\r\n width: 1rem;\r\n height: 1rem;\r\n background: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n }\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonCasino777Box = styled(FiltersMobileButtonDefaultBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n \r\n &.${ACTIVE} {\r\n &:after {\r\n top: -0.5rem;\r\n right: -0.5rem;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\n\r\nexport const FiltersMobileButtonMrGreenBox = styled(FiltersMobileButtonDefaultBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;","import {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {FiltersMobileButtonCasino777Box} from \"./filters-mobile-button.casino777.box\";\r\nimport {FiltersMobileButtonMrGreenBox} from \"./filters-mobile-button.mrgreen.box\";\r\n\r\nexport const FiltersMobileButtonBox = styledByTheme(FiltersMobileButtonDefaultBox)\r\n .forCasino777(FiltersMobileButtonCasino777Box)\r\n .forMrGreen(FiltersMobileButtonMrGreenBox).apply();","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {FiltersMobileButtonBox} from \"../../../filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\nimport React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const FiltersMobileButtonComponent = observer(class FiltersMobileButtonComponent extends OrbitComponent<{}> {\r\n\r\n private _openPopup = () => {\r\n this.services.gamesFilter.showFiltersEditor();\r\n };\r\n\r\n render(){\r\n if(!this.services.gamesFilter.isFilteringAvailable) {\r\n return null;\r\n }\r\n\r\n if(this.services.arenas.shouldHideFiltersButtonMobile()) {\r\n return null;\r\n }\r\n\r\n const FilterIcon = this.services.theme.currentTheme.icons.filterIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const IndicatorContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n ${flexAdaptiveSizeItem}\r\n overflow-x: hidden;\r\n font-family: ${props => props.theme.font.family.regular};\r\n ${props => props.theme.font.presets.regular}\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const AppliedFilterIndicatorBox = styled.span`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 20px;\r\n padding: 0 10px;\r\n line-height: 3.4rem;\r\n margin-left: 2px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const AppliedFiltersBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n overflow: -moz-scrollbars-none;\r\n overflow-x: auto;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {XCloseButtonBox} from \"../../../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\n\r\nexport const RemoveFilterButtonBox = styled(XCloseButtonBox)`\r\n width: 14px;\r\n height: 14px;\r\n`","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst AppliedFilterNameDefaultBox = styled.span`\r\n white-space: nowrap;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n`;\r\n\r\nconst AppliedFilterNameMrGreenBox = styled(AppliedFilterNameDefaultBox)`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nconst AppliedFilterNameSIBox = styled(AppliedFilterNameDefaultBox)`\r\n ${({theme}) => theme.font.presets.light};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: none;\r\n letter-spacing: normal;\r\n`;\r\n\r\nexport const AppliedFilterNameBox = styledByTheme(AppliedFilterNameDefaultBox)\r\n .forSI(AppliedFilterNameSIBox)\r\n .forSICis(AppliedFilterNameSIBox)\r\n .forMrGreen(AppliedFilterNameMrGreenBox)\r\n .forMrGreenCis(AppliedFilterNameMrGreenBox).apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n IAdvancedStrategyFiltersEditorViewModel\r\n} from \"../../../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {IndicatorContainerBox} from \"../../boxes/indicator-container.box\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {FiltersMobileButtonComponent} from \"../../../../header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {AppliedFilterIndicatorBox} from \"./boxes/applied-filter-indicator.box\";\r\nimport {AppliedFiltersBox} from \"./boxes/applied-filters.box\";\r\nimport {RemoveFilterButtonBox} from \"./boxes/remove-filter-button.box\";\r\nimport {AppliedFilterNameBox} from \"./boxes/applied-filter-name.box\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface AdvancedGamesFilteringPcIndicatorComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\nexport const AppliedFiltersPcIndicatorForAdvancedFilteringComponent = observer(\r\n class AppliedFiltersPcIndicatorForAdvancedFilteringComponent extends OrbitComponent {\r\n\r\n\r\n private _onRemoveFilter = async (filter: IArenaGameFilterEditorViewModel) => {\r\n filter.on = false;\r\n await this.props.filtersEditor.applyFilters();\r\n }\r\n\r\n private _renderOneAppliedFilter(filter: IArenaGameFilterEditorViewModel) {\r\n return (\r\n
\r\n \r\n \r\n \r\n {filter.text}\r\n \r\n \r\n this._onRemoveFilter(filter)} className={CyClass('cy-remove-advanced-filter-x-button')}/>\r\n \r\n\r\n
\r\n\r\n )\r\n }\r\n\r\n private _getAppliedFilters(): IArenaGameFilterEditorViewModel[] {\r\n const filters: IArenaGameFilterEditorViewModel[] = [];\r\n this.props.filtersEditor.visibleCategories.forEach(category => {\r\n category.getVisibleAppliedFilters().forEach(f => {\r\n if(f.on) {\r\n filters.push(f);\r\n }\r\n\r\n })\r\n });\r\n return filters;\r\n }\r\n\r\n private _renderAppliedFilters() {\r\n\r\n return (\r\n \r\n {this._getAppliedFilters().map(filter => this._renderOneAppliedFilter(filter))}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n\r\n {this._renderAppliedFilters()}\r\n\r\n \r\n );\r\n }\r\n }\r\n);","import {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport {\r\n CategoryDefinitionId,\r\n IFilterCategoryDefinition\r\n} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport abstract class ArenaGameFiltersCategoryBase implements IArenaGameFiltersCategory {\r\n constructor(protected readonly categoryDefinition: IFilterCategoryDefinition,\r\n protected readonly services: IServiceFactoryExtended) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get availableFilters(): IArenaGameFilter[];\r\n abstract get gamesCount(): NullableNumber;\r\n\r\n\r\n get id(): CategoryDefinitionId {\r\n return this.categoryDefinition.id;\r\n }\r\n\r\n get title(): string {\r\n return this.categoryDefinition.title;\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return this.categoryDefinition.isMultiSelect;\r\n }\r\n\r\n @computed\r\n private get _appliedFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.filter(f => f.isApplied);\r\n }\r\n\r\n @computed\r\n private get _appliedSubFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.selectMany(f => f.subFilters.filter(sf => sf.isApplied));\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n\r\n const appliedFilters = this._appliedFilters;\r\n const appliedSubFilters = this._appliedSubFilters;\r\n\r\n if(appliedFilters.length === 0 && appliedSubFilters.length === 0) {\r\n return ApplyGameFilterResult.NotApplicable;\r\n }\r\n\r\n return this.categoryDefinition.applyFilters(gameInfo,\r\n appliedFilters.map(arenaFilter => arenaFilter.filterDefinition),\r\n appliedSubFilters.map(subFilter => subFilter.filterDefinition));\r\n }\r\n\r\n isGameIncludedInThisCategory(gameInfo: GameInfo): boolean {\r\n return this.availableFilters.some(f => f.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame);\r\n }\r\n\r\n get allAppliedFiltersAndSubFilters(): IArenaGameFilter[] {\r\n return [\r\n ...this._appliedFilters,\r\n ...this._appliedSubFilters\r\n ];\r\n }\r\n\r\n}","import {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport abstract class ArenaGameFilterBase implements IArenaGameFilter {\r\n constructor(public readonly filterDefinition: IGameFilterDefinition,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n abstract get subFilters(): IArenaGameFilter[];\r\n\r\n readonly isAdhocFilter = false;\r\n\r\n\r\n get id(): string {\r\n return this.filterDefinition.id;\r\n }\r\n\r\n get text(): string {\r\n return this.filterDefinition.text;\r\n }\r\n\r\n\r\n get isApplied(): boolean {\r\n return this.services.gamesFilter.isFilterApplied(this.filterDefinition.id);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n return this.filterDefinition.applyFilter(gameInfo);\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return null;\r\n }\r\n\r\n\r\n}","import {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {ArenaGameFilterBase} from \"./arena-game-filter-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport class DynamicArenaGameFilter extends ArenaGameFilterBase {\r\n constructor(filterDefinition: IGameFilterDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(filterDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @computed\r\n get games(): GameInfo[] {\r\n const currentArenaGames = this.services.arenas.getCurrentArena().allArenaGamesForFiltering;\r\n return currentArenaGames.filter(gameInfo => this.filterDefinition.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame)\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.games.length;\r\n }\r\n\r\n @computed\r\n get subFilters(): IArenaGameFilter[] {\r\n return this.filterDefinition.subFilters.map(sf => new DynamicArenaGameFilter(sf, this.services))\r\n .filter(f => f.gamesCount > 0)\r\n .sort((f1, f2) => f2.gamesCount - f1.gamesCount);\r\n }\r\n}","import {ArenaGameFiltersCategoryBase} from \"./arena-game-filters-category-base\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {DynamicArenaGameFilter} from \"../filters/dynamic-arena-game-filter\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IFilterCategoryDefinition} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\n\r\nexport class DynamicArenaGameFiltersCategory extends ArenaGameFiltersCategoryBase {\r\n constructor(categoryDefinition: IFilterCategoryDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(categoryDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n protected _createArenaGameFilter(filterDefinition: IGameFilterDefinition): DynamicArenaGameFilter {\r\n return new DynamicArenaGameFilter(filterDefinition, this.services);\r\n }\r\n\r\n /**\r\n * Restrict available filters to only those that have applicable games in the current arena\r\n */\r\n @computed\r\n get availableFilters(): DynamicArenaGameFilter[] {\r\n if(this.categoryDefinition.hasItsOwnFiltersOrder) {\r\n return this._getAvailableFilters();\r\n } else {\r\n return this._getAvailableFilters().sort((f1, f2) => f2.gamesCount - f1.gamesCount);\r\n }\r\n }\r\n\r\n protected _getAvailableFilters(): DynamicArenaGameFilter[]{\r\n return this.categoryDefinition.availableFilters\r\n .map(f => this._createArenaGameFilter(f))\r\n .filter(f => f.gamesCount > 0);\r\n }\r\n\r\n @computed\r\n get gamesCount(): NullableNumber {\r\n const uniqueGameTypes = new Set();\r\n this.availableFilters.forEach(f => {\r\n f.games.forEach(game => uniqueGameTypes.add(game.gameType))\r\n });\r\n return uniqueGameTypes.size;\r\n }\r\n}","import {ApplyGameFilterResult, IGameFilterEvaluator} from \"./game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\n\r\nclass OrGameFiltersEvaluator implements IGameFilterEvaluator {\r\n constructor(...evaluators: IGameFilterEvaluator[]) {\r\n this._evaluators = evaluators;\r\n }\r\n\r\n private readonly _evaluators: IGameFilterEvaluator[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n let result: ApplyGameFilterResult = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo);\r\n if(r === ApplyGameFilterResult.IncludeGame) {\r\n return r;\r\n } else if(r !== ApplyGameFilterResult.NotApplicable) {\r\n result = r;\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function OR(...evaluators: IGameFilterEvaluator[]): OrGameFiltersEvaluator {\r\n return new OrGameFiltersEvaluator(...evaluators);\r\n}","import {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {OR} from \"../evaluators/or-game-filters-evaluator\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {AND} from \"../evaluators/and-game-filters-evaluator\";\r\n\r\nexport abstract class FilterCategoryDefinitionBase implements IFilterCategoryDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n this.availableFilters = this._loadAvailableFilters();\r\n }\r\n\r\n abstract get id(): CategoryDefinitionId;\r\n abstract get title(): string;\r\n protected abstract _loadAvailableFilters(): IGameFilterDefinition[];\r\n\r\n readonly availableFilters: IGameFilterDefinition[];\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getAppliedSubFiltersForFilter(filter: IGameFilterDefinition, appliedSubFilters: IGameFilterDefinition[]): IGameFilterDefinition[] {\r\n if(filter.subFilters.length === 0) {\r\n return [];\r\n }\r\n\r\n const result: IGameFilterDefinition[] = [];\r\n\r\n for(let appliedSubFilter of appliedSubFilters) {\r\n const subFilter = filter.subFilters.find(sf => sf.id === appliedSubFilter.id);\r\n if(subFilter) {\r\n result.push(subFilter);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n }\r\n\r\n applyFilters(gameInfo: GameInfo, appliedFilters: IGameFilterDefinition[], appliedSubFilters: IGameFilterDefinition[]): ApplyGameFilterResult {\r\n\r\n const filterEvaluators: IGameFilterEvaluator[] = [];\r\n\r\n for(let filter of appliedFilters) {\r\n const appliedSubFiltersForCurrentFilter = this._getAppliedSubFiltersForFilter(filter, appliedSubFilters);\r\n if(appliedSubFiltersForCurrentFilter.length > 0) {\r\n filterEvaluators.push(AND(filter, OR(...appliedSubFiltersForCurrentFilter)));\r\n } else {\r\n filterEvaluators.push(filter)\r\n }\r\n }\r\n\r\n return OR(...filterEvaluators).applyFilter(gameInfo);\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return true;\r\n }\r\n}","export enum LocalStorageKeys {\r\n currentRunningGameTab = 'cgp_CURRENT_RUNNING_GAME_TAB',\r\n currentRunningGameType = 'cgp_CURRENT_RUNNING_GAME_TYPE',\r\n uccMessages = 'cgp_ucc',\r\n crossBrandSpecificNavigationInfo = 'orbit_crossBrandSpecificNavigation'\r\n}","import {IGameFilterDefinition} from \"./game-filter-definition.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nexport abstract class GameFilterDefinitionBase implements IGameFilterDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n abstract get id(): string;\r\n abstract get text(): string;\r\n abstract applyFilter(gameInfo: GameInfo): ApplyGameFilterResult;\r\n get subFilters(): IGameFilterDefinition[] {\r\n return [];\r\n }\r\n\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class HighVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'high-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('HIGH_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.hasHighVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class LowVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'low-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LOW_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.hasLowVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class MediumVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'medium-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('MEDIUM_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (gameInfo.hasMediumVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n \r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {HighVolatilityFilterDefinition} from \"../filters-definitions/volatility/high-volatility.filter-definition\";\r\nimport {LowVolatilityFilterDefinition} from \"../filters-definitions/volatility/low-volatility.filter-definition\";\r\nimport {MediumVolatilityFilterDefinition} from \"../filters-definitions/volatility/medium-volatility.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\n\r\nexport class VolatilityFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n public get hasItsOwnFiltersOrder() {\r\n return true;\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'volatility';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('VOLATILITY');\r\n }\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HighVolatilityFilterDefinition(this.services),\r\n new MediumVolatilityFilterDefinition(this.services),\r\n new LowVolatilityFilterDefinition(this.services)\r\n ];\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n\r\n}","import {GameFilterDefinitionBase} from \"./game-filter-definition-base\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport abstract class GameFeatureFilterDefinitionBase extends GameFilterDefinitionBase {\r\n\r\n abstract get id(): string;\r\n abstract get text(): string;\r\n protected abstract _shouldIncludeGame(gameInfo: GameInfo): boolean;\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this._shouldIncludeGame(gameInfo)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n \r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class OneToTwentyFiveFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"one-to-twenty-five\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('1-25_LINES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return Check.isNumber(gameInfo.numberOfLines) && gameInfo.numberOfLines >= 1 && gameInfo.numberOfLines <= 24;\r\n }\r\n}","import {GameInfo} from \"../../../games/game-info\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\n\r\nexport class TwentyFivePlusFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"twenty-five-plus\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('25+_LINES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return Check.isNumber(gameInfo.numberOfLines) && gameInfo.numberOfLines >= 25;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class NewGameFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"new\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('NEW');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.isNewGame;\r\n }\r\n\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class LowStakeFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"lowStakes\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LOW_STAKES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasLowStakes;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HighStakeFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"highStakes\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('HIGH_STAKES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasHighStakes;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class BonusGameFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"bonus\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BONUS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasBonusGames;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class FreeSpinsFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"freeSpins\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('FREE_SPINS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasFreeSpins;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasSideBetsFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"side-bets\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SIDE_BETS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasSideBets;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class IsMultiHandFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"multi-hand\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('MULTIHAND');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.isMultiHand;\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {\r\n OneToTwentyFiveFilterDefinition\r\n} from \"../filters-definitions/game-features/one-to-twenty-five.filter-definition\";\r\nimport {\r\n TwentyFivePlusFilterDefinition\r\n} from \"../filters-definitions/game-features/twenty-five-plus.filter-definition\";\r\nimport {NewGameFilterDefinition} from \"../filters-definitions/game-features/new-game.filter-definition\";\r\nimport {LowStakeFilterDefinition} from \"../filters-definitions/game-features/low-stake.filter-definition\";\r\nimport {HighStakeFilterDefinition} from \"../filters-definitions/game-features/high-stake.filter-definition\";\r\nimport {BonusGameFilterDefinition} from \"../filters-definitions/game-features/bonus-game.filter-definition\";\r\nimport {FreeSpinsFilterDefinition} from \"../filters-definitions/game-features/free-spins.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {HasSideBetsFilterDefinition} from \"../filters-definitions/game-features/has-side-bets.filter-definition\";\r\nimport {IsMultiHandFilterDefinition} from \"../filters-definitions/game-features/is-multi-hand.filter-definition\";\r\n\r\nexport class GameFeaturesFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n get title(): string {\r\n return this.services.translation.translate('GAME_FEATURES');\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'features';\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new OneToTwentyFiveFilterDefinition(this.services),\r\n new TwentyFivePlusFilterDefinition(this.services),\r\n new NewGameFilterDefinition(this.services),\r\n new LowStakeFilterDefinition(this.services),\r\n new HighStakeFilterDefinition(this.services),\r\n new BonusGameFilterDefinition(this.services),\r\n new FreeSpinsFilterDefinition(this.services),\r\n new HasSideBetsFilterDefinition(this.services),\r\n new IsMultiHandFilterDefinition(this.services),\r\n ];\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasDailyJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-daily-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('THE_DAILY_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasDailyJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasTwilightJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-twilight-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('TWILIGHT_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasTwilightJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasCaptain8JackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-captain8-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return 'Captain8 Jackpot';\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasCaptain8tJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasRedTigerJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-red-tiger-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return 'Red Tiger Jackpot';\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasRedTigerJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameFilterDefinition} from \"../game-filter-definition.interface\";\r\nimport {HasDailyJackpotFilterDefinition} from \"./has-dailight-jackpot.filter-definition\";\r\nimport {HasTwilightJackpotFilterDefinition} from \"./has-twilight-jackpot.filter-definition\";\r\nimport {HasCaptain8JackpotFilterDefinition} from \"./has-captain8-jackpot.filter-definition\";\r\nimport {HasRedTigerJackpotFilterDefinition} from \"./has-red-tiger-jackpot.filter-definition\";\r\n\r\nexport class HasJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasJackpot;\r\n }\r\n\r\n get subFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HasDailyJackpotFilterDefinition(this.services),\r\n new HasTwilightJackpotFilterDefinition(this.services),\r\n new HasCaptain8JackpotFilterDefinition(this.services),\r\n new HasRedTigerJackpotFilterDefinition(this.services)\r\n ]\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasNoJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-no-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('NO_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return !gameInfo.hasJackpot;\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {HasJackpotFilterDefinition} from \"../filters-definitions/jackpot/has-jackpot.filter-definition\";\r\nimport {HasNoJackpotFilterDefinition} from \"../filters-definitions/jackpot/has-no-jackpot.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\n\r\nexport class HasJackpotFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'hasJackpot';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('JACKPOTS');\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HasJackpotFilterDefinition(this.services),\r\n new HasNoJackpotFilterDefinition(this.services)\r\n ];\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n}\r\n","import {IGameFilterDefinition} from '../game-filter-definition.interface';\r\nimport {GameInfo} from '../../../games/game-info';\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class VendorFilterDefinition implements IGameFilterDefinition {\r\n constructor(public readonly id: string,\r\n private readonly _vendorName: string,\r\n public readonly vendorIds: number[],\r\n private readonly _text?: string) {\r\n\r\n }\r\n get text(): string {\r\n if(this._text) {\r\n return this._text;\r\n }\r\n return this._vendorName;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this.vendorIds.includes(gameInfo.vendorId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n}\r\n","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {VendorFilterDefinition} from \"../filters-definitions/vendor/vendor.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class GameVendorFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'vendors';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('GAME_STUDIOS');\r\n }\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return !Check.isEmpty(this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredVendorFilters);\r\n }\r\n\r\n public getAllPreferredVendorsFilters(): VendorFilterDefinition[] {\r\n return [\r\n new VendorFilterDefinition(\"vendor_888\",\"888\", [1], this.services.translation.translate(\"BRAND_EXCLUSIVE_FILTER\", {brandName: this.services.configuration.data.generalSettings.filters?.exclusiveFilterBrandName ?? \"888\"})),\r\n new VendorFilterDefinition(\"vendor_ags\",\"AGS\", [54]),\r\n new VendorFilterDefinition(\"vendor_amatic\",\"Amatic\", [42]),\r\n new VendorFilterDefinition(\"vendor_authentic\",\"Authentic\", [81]),\r\n new VendorFilterDefinition(\"vendor_ainsworth\",\"Ainsworth\", [98]),\r\n new VendorFilterDefinition(\"vendor_blueprint\",\"Blueprint\", [21]),\r\n new VendorFilterDefinition(\"vendor_darwin\",\"Darwin\", [114]),\r\n new VendorFilterDefinition(\"vendor_egt\",\"EGT\", [83]),\r\n new VendorFilterDefinition(\"vendor_elk\",\"Elk\", [33]),\r\n new VendorFilterDefinition(\"vendor_evolution\",\"Evolution\", [14]),\r\n new VendorFilterDefinition(\"vendor_eyecon\",\"Eyecon\", [56]),\r\n new VendorFilterDefinition(\"vendor_gamesglobal\",\"Games Global\", [40]),\r\n new VendorFilterDefinition(\"vendor_gamingrealms\",\"Gaming Realms\", [71]),\r\n new VendorFilterDefinition(\"vendor_gamomat\",\"Gamomat\", [82]),\r\n new VendorFilterDefinition(\"vendor_greentube\",\"Greentube\", [57]),\r\n new VendorFilterDefinition(\"vendor_h5\",\"H5\", [50]),\r\n new VendorFilterDefinition(\"vendor_habanero\",\"Habanero\", [64]),\r\n new VendorFilterDefinition(\"vendor_igt\",\"IGT\", [32]),\r\n new VendorFilterDefinition(\"vendor_inspired\",\"Inspired\", [61]),\r\n new VendorFilterDefinition(\"vendor_isoftbet\",\"iSoftBet\", [58]),\r\n new VendorFilterDefinition(\"vendor_lightningbox\",\"Lightning Box\", [46]),\r\n new VendorFilterDefinition(\"vendor_lnw\",\"LNW\", [28, 5]),\r\n new VendorFilterDefinition(\"vendor_merkur\",\"Merkur\", [35]),\r\n new VendorFilterDefinition(\"vendor_mga\",\"MGA\", [65]),\r\n new VendorFilterDefinition(\"vendor_netent\",\"Netent\", [13, 27], `NetEnt`),\r\n new VendorFilterDefinition(\"vendor_nextgen_bigtime\",\"NextGen_Big Time\", [36], `Big Time`),\r\n new VendorFilterDefinition(\"vendor_nextgen_chanceinteractive\",\"NextGen_Chance Interactive\", [52], `Reel Play`),\r\n new VendorFilterDefinition(\"vendor_nolimitcity\",\"No Limit City\", [103]),\r\n new VendorFilterDefinition(\"vendor_playngo\",\"Play N Go\", [53], `Play'n GO`),\r\n new VendorFilterDefinition(\"vendor_playtech\",\"PlayTech\", [30], `Playtech`),\r\n new VendorFilterDefinition(\"vendor_pragmatic\",\"Pragmatic\", [48]),\r\n new VendorFilterDefinition(\"vendor_quickspin\",\"Quickspin\", [39]),\r\n new VendorFilterDefinition(\"vendor_redrake\",\"Red Rake\", [87]),\r\n new VendorFilterDefinition(\"vendor_redtiger\",\"Red Tiger\", [47]),\r\n new VendorFilterDefinition(\"vendor_rubyplay\",\"Ruby Play\", [51]),\r\n new VendorFilterDefinition(\"vendor_sigma\",\"Sigma\", [37]),\r\n new VendorFilterDefinition(\"vendor_skywind\",\"Skywind\", [63]),\r\n new VendorFilterDefinition(\"vendor_spribe\",\"Spribe\", [108]),\r\n new VendorFilterDefinition(\"vendor_thunderkick\",\"Thunderkick\", [34]),\r\n new VendorFilterDefinition(\"vendor_wizard\",\"Wizard\", [38]),\r\n new VendorFilterDefinition(\"vendor_wmg\",\"WMG\", [74]),\r\n new VendorFilterDefinition(\"vendor_yggdrasil\",\"Yggdrasil\", [41]),\r\n new VendorFilterDefinition(\"vendor_everi\",\"Everi\", [99]),\r\n new VendorFilterDefinition(\"vendor_push_gaming\",\"Push Gaming\", [73], `Push Gaming`),\r\n ];\r\n }\r\n\r\n private _getPreferredVendorFiltersForCurrentSkin(): VendorFilterDefinition[] {\r\n const preferredVendorsFiltersIds = this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredVendorFilters ?? [];\r\n if(preferredVendorsFiltersIds.length === 0) {\r\n return [...this.getAllPreferredVendorsFilters()];\r\n }\r\n\r\n const allPreferredVendorsFiltersMap = this.getAllPreferredVendorsFilters().toDictionary(f => f.id);\r\n const result: VendorFilterDefinition[] = [];\r\n for(let filterId of preferredVendorsFiltersIds) {\r\n const filter = allPreferredVendorsFiltersMap[filterId];\r\n if(filter) {\r\n result.push(filter)\r\n } else {\r\n this.services.logger.error(`There is no definition for game vendor filter with id ${filterId}`)\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const filters = this._getPreferredVendorFiltersForCurrentSkin();\r\n let preferredVendorsIds: number[] = filters.selectMany(f => f.vendorIds);\r\n const otherVendorsIds: number[] = [];\r\n\r\n const allVendorsIds = Object.keys(this.services.sdk.getGamesVendors()).map(id => parseInt(id));\r\n for(let vendorId of allVendorsIds) {\r\n if(!preferredVendorsIds.includes(vendorId)) {\r\n otherVendorsIds.push(vendorId);\r\n }\r\n }\r\n\r\n if(otherVendorsIds.length > 0) {\r\n filters.push(new VendorFilterDefinition('vendor_others', 'OTHER', otherVendorsIds, this.services.translation.translate('OTHER')));\r\n }\r\n\r\n\r\n return filters;\r\n }\r\n}\r\n","import {GameFilterDefinitionBase} from \"./game-filter-definition-base\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport abstract class GameGroupFilterDefinitionBase extends GameFilterDefinitionBase {\r\n protected abstract get gameGroupsIdsToFilterFor(): number[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this.gameGroupsIdsToFilterFor.includes(gameInfo.gameGroupId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class BaccaratFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"baccarat\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.BACCARAT];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BACCARAT');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class BlackjackFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"blackjack\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.BLACKJACK];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BLACKJACK');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class CrapsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"craps\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.CRAPS];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('CRAPS')\r\n }\r\n}\r\n","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class KenoFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"keno\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.KENO];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('KENO');\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class LiveEliteLungeFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-elite-lounge\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_ELITE_LOUNGE');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.isEliteLounge) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class LiveEliteLoungeOrExclusiveFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-elite-lounge-or-exclusive\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('EXCLUSIVE');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.isEliteLounge || gameInfo.isExclusiveGame) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport abstract class LiveGameFilterDefinitionBase extends GameFilterDefinitionBase {\r\n\r\n protected abstract get textToSearchInSubgroupName(): string;\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (gameInfo.gameGroupId !== GAME_GROUP.LIVE_CASINO || !gameInfo.subGroupName) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n const subgroupName = gameInfo.subGroupName.toLowerCase();\r\n if (subgroupName && subgroupName.indexOf(this.textToSearchInSubgroupName) !== -1) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveGameShowsFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-game-shows\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_GAME_SHOWS');\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"shows\";\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class PokerFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"poker\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.VIDEO_POKER, GAME_GROUP.CARRIBEAN_POKER, GAME_GROUP.POKER, GAME_GROUP.PAI_GOW_POKER, GAME_GROUP.POWER_VIDEO_POKER, GAME_GROUP.POKER_TEMPLATE_GAMES];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('POKER');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class RouletteFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"roulette\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.ROULETTE, GAME_GROUP.ROULETTE_LIKE];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('ROULETTE');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class ScratchcardsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"scratchCards\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.SCRATCH_CARD];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SCRATCHCARDS');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class SlotsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"slots\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.VIDEO_SLOT, GAME_GROUP.SLOT];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SLOT_GAMES');\r\n }\r\n\r\n}","import {IGameFilterDefinition} from \"../game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class OtherGameGroupFilterDefinition implements IGameFilterDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended, private gameTypesFilterDefinitions: IGameFilterDefinition[]) {\r\n }\r\n\r\n get id(): string {\r\n return \"other-game-group\";\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n\r\n get text(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n const categoriesInCurrentArena = this.gameTypesFilterDefinitions;\r\n for(let category of categoriesInCurrentArena) {\r\n if(category.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n }\r\n \r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveBaccaratFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-baccarat\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"baccarat\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_BACCARAT');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveBlackjackFilterDefinition extends LiveGameFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"live-blackjack\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"blackjack\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_BLACKJACK');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LivePokerFilterDefinition extends LiveGameFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"live-poker\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"poker\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_POKER');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveRouletteFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-roulette\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"roulette\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_ROULETTE');\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {BaccaratFilterDefinition} from \"../filters-definitions/game-group/baccarat.filter-definition\";\r\nimport {BlackjackFilterDefinition} from \"../filters-definitions/game-group/blackjack.filter-definition\";\r\nimport {CrapsFilterDefinition} from \"../filters-definitions/game-group/craps.filter-definition\";\r\nimport {KenoFilterDefinition} from \"../filters-definitions/game-group/keno.filter-definition\";\r\nimport {LiveEliteLungeFilterDefinition} from \"../filters-definitions/game-group/live-elite-lunge.filter-definition\";\r\nimport {\r\n LiveEliteLoungeOrExclusiveFilterDefinition\r\n} from \"../filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition\";\r\nimport {LiveGameShowsFilterDefinition} from \"../filters-definitions/game-group/live-game-shows.filter-definition\";\r\nimport {PokerFilterDefinition} from \"../filters-definitions/game-group/poker.filter-definition\";\r\nimport {RouletteFilterDefinition} from \"../filters-definitions/game-group/roulette.filter-definition\";\r\nimport {ScratchcardsFilterDefinition} from \"../filters-definitions/game-group/scratchcards.filter-definition\";\r\nimport {SlotsFilterDefinition} from \"../filters-definitions/game-group/slots.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {OtherGameGroupFilterDefinition} from \"../filters-definitions/game-group/other-game-group.filter-definition\";\r\nimport {LiveBaccaratFilterDefinition} from \"../filters-definitions/game-group/live-baccarat.filter-definition\";\r\nimport {LiveBlackjackFilterDefinition} from \"../filters-definitions/game-group/live-blackjack.filter-definition\";\r\nimport {LivePokerFilterDefinition} from \"../filters-definitions/game-group/live-poker.filter-definition\";\r\nimport {LiveRouletteFilterDefinition} from \"../filters-definitions/game-group/live-roulette.filter-definition\";\r\n\r\nexport class GameGroupFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'gameGroups';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('GAME_CATEGORIES');\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const filters: IGameFilterDefinition[] = [\r\n new SlotsFilterDefinition(this.services),\r\n new RouletteFilterDefinition(this.services),\r\n new BlackjackFilterDefinition(this.services),\r\n new PokerFilterDefinition(this.services),\r\n new ScratchcardsFilterDefinition(this.services),\r\n new BaccaratFilterDefinition(this.services),\r\n new CrapsFilterDefinition(this.services),\r\n new KenoFilterDefinition(this.services),\r\n new LiveBaccaratFilterDefinition(this.services),\r\n new LiveBlackjackFilterDefinition(this.services),\r\n new LiveRouletteFilterDefinition(this.services),\r\n new LivePokerFilterDefinition(this.services),\r\n new LiveGameShowsFilterDefinition(this.services),\r\n new LiveEliteLungeFilterDefinition(this.services),\r\n new LiveEliteLoungeOrExclusiveFilterDefinition(this.services),\r\n ];\r\n return filters.concat(new OtherGameGroupFilterDefinition(this.services, filters));\r\n }\r\n\r\n\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport class GameThemeFilterDefinition extends GameFilterDefinitionBase {\r\n constructor(public readonly id: string,\r\n protected readonly services: IServiceFactoryExtended,\r\n public themeName: string,\r\n public themeIds: number[],\r\n private _text?: string ) {\r\n super(services);\r\n }\r\n\r\n get text(): string {\r\n if(this._text) {\r\n return this._text;\r\n }\r\n return this.themeName;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n for(let themeId of gameInfo.themeIds) {\r\n if(this.themeIds.includes(themeId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {GameThemeFilterDefinition} from \"../filters-definitions/theme/game-theme.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class GameThemeFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'themes';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('THEMES');\r\n }\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return !Check.isEmpty(this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredThemeFilters);\r\n }\r\n\r\n private _getPreferredThemeFilters(): GameThemeFilterDefinition[] {\r\n return [\r\n new GameThemeFilterDefinition(\"theme_adventure\", this.services, this.services.translation.translate(\"Adventure\"), [1]),\r\n new GameThemeFilterDefinition(\"theme_arabic\", this.services, this.services.translation.translate(\"Arabic\"), [58]),\r\n new GameThemeFilterDefinition(\"theme_asian\", this.services, this.services.translation.translate(\"Asian\"), [5]),\r\n new GameThemeFilterDefinition(\"theme_classic_style\", this.services, this.services.translation.translate(\"Classic Style\"), [4, 95]),\r\n new GameThemeFilterDefinition(\"theme_comics_and_cartoons\", this.services, this.services.translation.translate(\"Comics and Cartoons\"), [16]),\r\n new GameThemeFilterDefinition(\"theme_diamonds_and_gems\", this.services, this.services.translation.translate(\"Diamonds and Gems\"), [26]),\r\n new GameThemeFilterDefinition(\"theme_egyptian\", this.services, this.services.translation.translate(\"Egyptian\"), [30]),\r\n new GameThemeFilterDefinition(\"theme_fantasy_and_folklore\", this.services, this.services.translation.translate(\"Fantasy and Folklore\"), [28]),\r\n new GameThemeFilterDefinition(\"theme_farm_and_pets\", this.services, this.services.translation.translate(\"Farm and Pets\"), [35]),\r\n new GameThemeFilterDefinition(\"theme_fish\", this.services, this.services.translation.translate(\"Fish\"), [77]),\r\n new GameThemeFilterDefinition(\"theme_fruit_and_candy\", this.services, this.services.translation.translate(\"Fruit and Candy\"), [12]),\r\n new GameThemeFilterDefinition(\"theme_greek_mythology\", this.services, this.services.translation.translate(\"Greek Mythology\"), [63]),\r\n new GameThemeFilterDefinition(\"theme_irish\", this.services, this.services.translation.translate(\"Irish\"), [19]),\r\n new GameThemeFilterDefinition(\"theme_money_and_leisure\", this.services, this.services.translation.translate(\"Money and Leisure\"), [15]),\r\n new GameThemeFilterDefinition(\"theme_movies_and_music\", this.services, this.services.translation.translate(\"Movies and Music\"), [8]),\r\n new GameThemeFilterDefinition(\"theme_seasonal\", this.services, this.services.translation.translate(\"Seasonal\"), [29]),\r\n new GameThemeFilterDefinition(\"theme_space_and_sci-fi\", this.services, this.services.translation.translate(\"Space and Sci-fi\"), [72]),\r\n new GameThemeFilterDefinition(\"theme_wildlife\", this.services, this.services.translation.translate(\"Wildlife\"), [3]),\r\n new GameThemeFilterDefinition(\"theme_ancient-civilization\", this.services, this.services.translation.translate(\"Ancient Civilization\"), [2])\r\n ];\r\n }\r\n\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const preferredThemeFilters = this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredThemeFilters;\r\n if(Check.isEmpty(preferredThemeFilters)) {\r\n return this._getPreferredThemeFilters();\r\n }\r\n\r\n const themesDictionary = this._getPreferredThemeFilters().toDictionary(f => f.id);\r\n\r\n const result: IGameFilterDefinition[] = [];\r\n for(let filterId of preferredThemeFilters) {\r\n const filter = themesDictionary[filterId];\r\n if(filter) {\r\n result.push(filter);\r\n } else {\r\n this.services.logger.error(`There is no filter definition for filter with ID ${filterId}`);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n }\r\n}","import {IFilterCategoryDefinitionFactory} from \"./filter-category-definition-factory.interface\";\r\nimport {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {VolatilityFiltersCategoryDefinition} from \"./volatility.filters-category-definition\";\r\nimport {GameFeaturesFiltersCategoryDefinition} from \"./game-features.filters-category-definition\";\r\nimport {HasJackpotFiltersCategoryDefinition} from \"./has-jackpot.filters-category-definition\";\r\nimport {GameVendorFiltersCategoryDefinition} from \"./game-vendor.filters-category-definition\";\r\nimport {GameGroupFiltersCategoryDefinition} from \"./game-group.filters-category-definition\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nimport {GameThemeFiltersCategoryDefinition} from \"./game-theme.filters-category-definition\";\r\n\r\nexport class FilterCategoryDefinitionFactory implements IFilterCategoryDefinitionFactory {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n createCategoryDefinition(categoryDefinitionId: CategoryDefinitionId): IFilterCategoryDefinition | null {\r\n switch (categoryDefinitionId) {\r\n case \"volatility\":\r\n return new VolatilityFiltersCategoryDefinition(this.services);\r\n case \"features\":\r\n return this.createGameFeaturesCategoryDefinition();\r\n case \"hasJackpot\":\r\n return new HasJackpotFiltersCategoryDefinition(this.services);\r\n case \"themes\":\r\n return new GameThemeFiltersCategoryDefinition(this.services);\r\n case \"vendors\":\r\n return this.createVendorsCategoryDefinition();\r\n case \"gameGroups\":\r\n return this.createGameGroupCategoryDefinition();\r\n default:\r\n this.services.logger.error(`There is no filters category definition for id ${categoryDefinitionId}`);\r\n return null;\r\n }\r\n }\r\n\r\n createVendorsCategoryDefinition(): IFilterCategoryDefinition {\r\n return new GameVendorFiltersCategoryDefinition(this.services);\r\n }\r\n\r\n createGameGroupCategoryDefinition(): IFilterCategoryDefinition {\r\n return new GameGroupFiltersCategoryDefinition(this.services);\r\n }\r\n\r\n createGameFeaturesCategoryDefinition(): IFilterCategoryDefinition {\r\n return new GameFeaturesFiltersCategoryDefinition(this.services);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {GamesFilterStrategyBase} from \"../games-filter-strategy-base\";\r\nimport {AdvancedGamesFilterDrawerRenderer} from \"./advanced-games-filter-drawer-renderer\";\r\nimport {AdvancedStrategyFiltersEditor} from \"./advanced-strategy-filters-editor\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {IGameFilterEvaluator} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {AND} from \"../../evaluators/and-game-filters-evaluator\";\r\nimport {\r\n FiltersMobileButtonComponent\r\n} from \"../../../../components/header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {\r\n IPcFilterIndicatorRenderingOptions,\r\n PcFilterIndicatorRenderingLocation\r\n} from \"../../games-filter.service.interface\";\r\nimport {\r\n AppliedFiltersPcIndicatorForAdvancedFilteringComponent\r\n} from \"../../../../components/filters/advanced-filtering/indicators/pc-indicator/applied-filters-pc-indicator-for-advanced-filtering.component\";\r\nimport {DynamicArenaGameFiltersCategory} from \"../../arena-filters/categories/dynamic-arena-game-filters-category\";\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {FilterCategoryDefinitionFactory} from '../../filters-categories-definitions/filter-category-definition-factory';\r\nimport {IFilterCategoryDefinition} from '../../filters-categories-definitions/filter-category-definition.interface';\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {AdvancedFiltersAnalytics} from \"./advanced-filters-analytics\";\r\n\r\nexport class AdvancedGamesFilterStrategy extends GamesFilterStrategyBase {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n this._analyticsReporter = new AdvancedFiltersAnalytics(this.services);\r\n }\r\n\r\n private _factory = new FilterCategoryDefinitionFactory(this.services);\r\n private readonly _analyticsReporter: AdvancedFiltersAnalytics;\r\n\r\n protected _createFiltersCategories(): IArenaGameFiltersCategory[] {\r\n const arenaName = this.services.routing.currentRoute.data?.arenaType;\r\n if (!arenaName) {\r\n return [];\r\n }\r\n\r\n const categories = this.services.configuration.data.arenas[arenaName]?.advancedFilters?.categories;\r\n if (!Check.isArray(categories)) {\r\n return [];\r\n }\r\n \r\n const filters: IArenaGameFiltersCategory[] = [];\r\n categories.forEach(category => {\r\n if (category?.id) {\r\n const filterCategoryDef = this._factory.createCategoryDefinition(category.id);\r\n if(filterCategoryDef) {\r\n filters.push(this._createArenaGameFiltersCategory(filterCategoryDef));\r\n } else {\r\n this.services.logger.error(`There is no filter category definition for id ${category.id}`);\r\n }\r\n }\r\n });\r\n\r\n return filters;\r\n }\r\n\r\n protected _createArenaGameFiltersCategory(filterCategoryDef: IFilterCategoryDefinition): IArenaGameFiltersCategory {\r\n return new DynamicArenaGameFiltersCategory(filterCategoryDef, this.services);\r\n }\r\n\r\n protected _createEvaluator(): IGameFilterEvaluator | null {\r\n return AND(...this.filtersCategories);\r\n }\r\n\r\n private _createFiltersEditor() {\r\n return new AdvancedStrategyFiltersEditor(this.filtersCategories, this.services);\r\n }\r\n\r\n protected _reportApplyFiltersAnalytics(): void {\r\n const appliedFilters: Record = {};\r\n this.filtersCategories.forEach(category => {\r\n const appliedFiltersInCategory = category.allAppliedFiltersAndSubFilters;\r\n if(appliedFiltersInCategory.length > 0) {\r\n appliedFilters[category.id] = appliedFiltersInCategory.map(f => f.id);\r\n }\r\n })\r\n const gamesCount = this.services.arenas.getCurrentArena().filteredGamesCount;\r\n this._analyticsReporter.reportApplyFilters({\r\n gamesCount: gamesCount,\r\n appliedFilters: appliedFilters\r\n });\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n } else {\r\n return {\r\n location: PcFilterIndicatorRenderingLocation.NextToArenaTitle,\r\n reactElement: ()\r\n };\r\n }\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this.services.drawer.right.push(new AdvancedGamesFilterDrawerRenderer(this.services, this._createFiltersEditor()));\r\n }\r\n\r\n}","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\nimport {CssRule} from \"../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FilterLinkIconDefaultPCBox = styled.span`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -364px -553px;\r\n width: 20px;\r\n height: 21px;\r\n margin-right: 10px;\r\n cursor: pointer;\r\n \r\n .${ACTIVE} &{\r\n background-position: -396px -553px;\r\n }\r\n`;\r\n\r\nexport const FilterLinkIconDefaultMobileBox = styled.span`\r\n position: relative;\r\n background: ${props => props.theme.colors.backgroundLight};\r\n border-radius: 50%;\r\n padding: 50px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 40px;\r\n }\r\n \r\n ${CssRule.For.mobile.landscape.build()} & {\r\n grid-template-columns: repeat(5, 130px);\r\n }\r\n\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 30px;\r\n height: 30px;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -204px -358px;\r\n transform: translate(-50%, -50%);\r\n }\r\n \r\n \r\n .${ACTIVE} &{\r\n background: ${props => `linear-gradient(${props.theme.colors.brandSecondaryDark}, ${props.theme.colors.brandSecondaryLight}, ${props.theme.colors.brandPrimaryDark})`};\r\n\r\n &:before {\r\n background-position: -95px -358px;\r\n }\r\n \r\n :after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n height: 30px;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -544px -516px;\r\n border-radius: 50%;\r\n }\r\n }\r\n`;\r\n\r\nexport const FilterLinkIconDefaultBox = styledByDevice(FilterLinkIconDefaultPCBox, FilterLinkIconDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nconst PCBox = styled.span`\r\n\r\n background-color:${props => props.theme.colors.brandSecondary};\r\n border-radius: 5px;\r\n border:1px solid ${props => props.theme.colors.boxBorderContrast};\r\n width:18px;\r\n height: 18px;\r\n margin-right: 5px;\r\n \r\n .${ACTIVE} &{\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -457px -526px;\r\n background-color: transparent;\r\n border:none;\r\n }\r\n`;\r\nconst MobileBox = styled.span` \r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -246px -292px;\r\n width: 90px;\r\n height: 90px;\r\n\r\n .${ACTIVE} &{\r\n background-position: -245px -157px;\r\n }\r\n`;\r\n\r\nexport const FilterLinkIconCasino777Box = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\nimport {FilterLinkIconDefaultPCBox, FilterLinkIconDefaultMobileBox} from \"./filter-link-icon.default.box\";\r\n\r\nconst MobileSIBox = styled(FilterLinkIconDefaultMobileBox)`\r\n .${ACTIVE} &{\r\n background: transparent linear-gradient(180deg, ${props => props.theme.colors.brandSecondaryDark} 0%, #731A11 100%) 0% 0% no-repeat padding-box; \r\n }\r\n`;\r\n\r\nexport const FilterLinkIconSIBox = styledByDevice(FilterLinkIconDefaultPCBox, MobileSIBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\nimport {FilterLinkIconDefaultPCBox, FilterLinkIconDefaultMobileBox} from \"./filter-link-icon.default.box\";\r\n\r\nconst MobileSIBox = styled(FilterLinkIconDefaultMobileBox)`\r\n background: ${props => props.theme.colors.brandSecondaryDark};\r\n .${ACTIVE} &{\r\n background: ${props => props.theme.colors.backgroundLight};\r\n &:before {\r\n background-position: -204px -358px;\r\n }\r\n }\r\n`;\r\n\r\nexport const FilterLinkIconMrGreenBox = styledByDevice(FilterLinkIconDefaultPCBox, MobileSIBox);","import {FilterLinkIconDefaultBox} from \"./filter-link-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {FilterLinkIconCasino777Box} from \"./filter-link-icon.casino777.box\";\r\nimport {FilterLinkIconSIBox} from \"./filter-link-icon.si.box\";\r\nimport {FilterLinkIconMrGreenBox} from \"./filter-link-icon.mrgreen.box\";\r\n\r\nexport const FilterLinkIconBox = styledByTheme(FilterLinkIconDefaultBox)\r\n .forCasino777(FilterLinkIconCasino777Box)\r\n .forSI(FilterLinkIconSIBox)\r\n .forSICis(FilterLinkIconSIBox)\r\n .forMrGreen(FilterLinkIconMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\n\r\n\r\nexport const FilterLinkDefaultBox = styled.a`\r\n display: flex;\r\n padding:1rem;\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.textHover};\r\n }\r\n\r\n \r\n &.${ACTIVE}{\r\n color: ${props => props.theme.colors.brandPrimary};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: column;\r\n font-size: 1.4rem;\r\n align-items: center;\r\n text-align: center;\r\n padding: 0;\r\n\r\n &.${ACTIVE}{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n flex-direction: row;\r\n line-height: 2rem;\r\n font-size: 1.3rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n\r\n ::after{\r\n content: \"\";\r\n background: ${props => props.theme.colors.boxBorderContrast};\r\n height: 20px;\r\n width: 1px;\r\n margin-left: 4rem;\r\n margin-right: 1rem;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {FilterLinkDefaultBox} from \"./filter-link.default.box\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const FilterLinkCasino777Box = styled(FilterLinkDefaultBox)`\r\n &.${ACTIVE}{\r\n color: ${props => props.theme.colors.backgroundActive};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {FilterLinkDefaultBox} from \"./filter-link.default.box\";\r\n\r\nexport const FilterLinkSIBox = styled(FilterLinkDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n ::after{\r\n background: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {FilterLinkDefaultBox} from \"./filter-link.default.box\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const FilterLinkMrGreenBox = styled(FilterLinkDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${props => props.theme.colors.textActive};\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlExact}, ${({theme}) => theme.mediaQuery.lowHeight} {\r\n line-height: 2.4rem;\r\n }\r\n`;\r\n","import {FilterLinkDefaultBox} from \"./filter-link.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {FilterLinkCasino777Box} from \"./filter-link.casino777.box\";\r\nimport {FilterLinkSIBox} from \"./filter-link.si.box\";\r\nimport {FilterLinkMrGreenBox} from \"./filter-link.mrgreen.box\";\r\n\r\nexport const FilterLinkBox = styledByTheme(FilterLinkDefaultBox)\r\n .forCasino777(FilterLinkCasino777Box)\r\n .forSI(FilterLinkSIBox)\r\n .forMrGreen(FilterLinkMrGreenBox)\r\n .forSICis(FilterLinkSIBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {Link} from '../../raw-components/link/link';\r\nimport {FilterLinkIconBox} from \"./boxes/icon/filter-link-icon.box\";\r\nimport {ACTIVE} from \"../../../themes/css-global-classes\";\r\nimport classNames from \"classnames\";\r\nimport {observer} from \"mobx-react\";\r\nimport {FilterLinkBox} from \"./boxes/filter-link.box\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\n\r\nexport interface FilterLinkComponentProps {\r\n filter: IArenaGameFilterEditorViewModel,\r\n onChange: (filter: IArenaGameFilterEditorViewModel) => void;\r\n}\r\n\r\nexport const FilterLinkComponent = observer(\r\n class FilterLinkComponent extends OrbitComponent {\r\n\r\n private _onFilterClick = () => {\r\n this.props.onChange(this.props.filter);\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.filter.text}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nconst CommonStyles = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n margin: 0;\r\n`;\r\n\r\nconst PCBox = CommonStyles;\r\n\r\nconst MobileBox = styled(CommonStyles)`\r\n margin: 10px auto;\r\n display: grid;\r\n grid-template-columns: repeat(3, 130px);\r\n grid-gap: 10px;\r\n justify-content: center;\r\n \r\n ${CssRule.For.mobile.landscape.build()} & {\r\n grid-template-columns: repeat(5, 130px);\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n grid-template-columns: repeat(3, 100px);\r\n \r\n ${CssRule.For.mobile.landscape.build()} & {\r\n grid-template-columns: repeat(5, 100px);\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport const FiltersGamesListDefaultBox = styledByDevice(PCBox, MobileBox);","import {FiltersGamesListDefaultBox} from \"./filters-games-list.default.box\";\r\n\r\nexport const FiltersGamesListBox = FiltersGamesListDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {FilterLinkComponent} from '../filter-link/filter-link.component';\r\nimport {FiltersGamesListBox} from \"./filters-games-list.box\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\n\r\nexport interface FilterLinkListComponentProps {\r\n filters: IArenaGameFilterEditorViewModel[];\r\n onToggle: (filter: IArenaGameFilterEditorViewModel) => void\r\n}\r\nexport class FilterLinkListComponent extends OrbitComponent {\r\n\r\n private _toggleHandler = (filter: IArenaGameFilterEditorViewModel) => {\r\n this.props.onToggle(filter);\r\n };\r\n\r\n private _renderOneFilter(filter: IArenaGameFilterEditorViewModel) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.filters.map(filter => this._renderOneFilter(filter))}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const FiltersGamesMobilePopupBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n background: ${props => props.theme.colors.background};\r\n z-index: 1;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const FiltersMobileButtonsDefaultBox = styled.div`\r\n padding-bottom: 3rem;\r\n margin-top: auto;\r\n`;","import {FiltersMobileButtonsDefaultBox} from \"./filters-mobile-buttons.default.box\";\r\n\r\nexport const FiltersMobileButtonsBox = FiltersMobileButtonsDefaultBox;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterLinkListComponent} from '../filter-link-list/filter-link-list.component';\r\nimport {FiltersGamesMobilePopupBox} from \"./boxes/popup/filters-games-mobile-popup.box\";\r\nimport {FiltersMobileButtonsBox} from \"./boxes/popup/menu/filters-mobile-buttons.box\";\r\nimport {IModalDialogHandler} from \"../../../services/dialog/dialog.service.interface\";\r\nimport { ModalDialogActionsComponent } from '../../modal-dialog/modal-dialog-actions.component';\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {\r\n ISimpleStrategyFiltersEditorViewModel\r\n} from \"../../../services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor-view-model.interface\";\r\n\r\n\r\nexport interface FiltersGamesListMobileComponentProps {\r\n dialogHandler: IModalDialogHandler;\r\n filtersEditor: ISimpleStrategyFiltersEditorViewModel;\r\n}\r\n\r\nexport const FiltersGamesListMobileComponent = observer(\r\n class FiltersGamesListMobileComponent extends OrbitComponent {\r\n\r\n\r\n private _closePopup = () => {\r\n this.props.dialogHandler.close();\r\n };\r\n\r\n private _applyFilters = async () => {\r\n await this.props.filtersEditor.applyFilters();\r\n const checkedFiltersIds = this.props.filtersEditor.visibleFilters.filter(f => f.on).map(f => f.id);\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",this.services.routing.currentRoute.data.arenaType, checkedFiltersIds.join(','));\r\n this._closePopup();\r\n };\r\n\r\n private _clearFilters = async () => {\r\n this.props.filtersEditor.visibleFilters.forEach(f => {\r\n f.on = false;\r\n });\r\n\r\n await this._applyFilters();\r\n\r\n };\r\n\r\n private _renderPopupButtons() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onToggleFilter = (filter: IArenaGameFilterEditorViewModel) => {\r\n filter.toggleFilter();\r\n }\r\n\r\n render() {\r\n\r\n if (this.props.filtersEditor.visibleFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._renderPopupButtons()}\r\n \r\n )\r\n }\r\n }\r\n);\r\n\r\n","import {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {ArenaGameFilterEditor} from \"../../arena-filters/filters/arena-game-filter-editor\";\r\nimport {ISimpleStrategyFiltersEditorViewModel} from \"./simple-strategy-filters-editor-view-model.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\n\r\nexport class SimpleStrategyFiltersEditor implements ISimpleStrategyFiltersEditorViewModel {\r\n constructor(private readonly filtersCategories: IArenaGameFiltersCategory[],\r\n private readonly services: IServiceFactoryExtended) {\r\n this._filters = this._createFiltersEditor();\r\n }\r\n\r\n private readonly _filters: ArenaGameFilterEditor[];\r\n\r\n get visibleFilters(): ArenaGameFilterEditor[] {\r\n return this._filters.filter(f => f.shouldBeDisplayed);\r\n }\r\n\r\n private _createFiltersEditor(): ArenaGameFilterEditor[] {\r\n const result: ArenaGameFilterEditor[] = [];\r\n\r\n this.filtersCategories.forEach(c => {\r\n c.availableFilters.forEach(f => {\r\n result.push(new ArenaGameFilterEditor(f));\r\n });\r\n });\r\n\r\n return this._sortFilters(result);\r\n }\r\n\r\n private _sortFilters(filters: ArenaGameFilterEditor[]): ArenaGameFilterEditor[] {\r\n\r\n //sorting the filters by the order in which they were defined in config.json\r\n const filtersConfigurations = this.services.arenas.getCurrentArena().filtersConfigurationMap;\r\n\r\n if(Check.isEmpty(filtersConfigurations)) {\r\n return filters;\r\n }\r\n\r\n return filters.sort((f1, f2) => filtersConfigurations[f1.id]?.index - filtersConfigurations[f2.id]?.index);\r\n }\r\n\r\n async applyFilters(): Promise {\r\n await this.services.gamesFilter.applyFilters(this._filters.filter(f => f.on).map(f => f.id));\r\n }\r\n\r\n}","import {GameInfo} from '../../../games/game-info';\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\n/**\r\n * This class is used to apply a filter that does something like this:\r\n * Show all games that doesn't fall in any of the other available games filters categories for the current arena\r\n */\r\n\r\nexport class OtherFilterDefinition extends GameFilterDefinitionBase {\r\n constructor(services: IServiceFactoryExtended, private readonly allOthersCategories: IArenaGameFiltersCategory[]) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get id(): string {\r\n return 'other';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n @computed\r\n get currentArenaCategories(): IArenaGameFiltersCategory[] {\r\n return this.allOthersCategories.filter(c => c.availableFilters.length > 0);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n const categoriesInCurrentArena = this.currentArenaCategories;\r\n for(let category of categoriesInCurrentArena) {\r\n if(category.isGameIncludedInThisCategory(gameInfo)) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n }\r\n\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n}\r\n","import {IArenaGameFiltersCategory} from \"../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {OtherFilterDefinition} from \"../filters-definitions/other/other.filter-definition\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class OtherFiltersCategoryDefinition implements IFilterCategoryDefinition {\r\n\r\n constructor(otherAvailableCategories: IArenaGameFiltersCategory[],\r\n private readonly services: IServiceFactoryExtended) {\r\n this.availableFilters = [\r\n new OtherFilterDefinition(services, otherAvailableCategories)\r\n ];\r\n }\r\n\r\n readonly id: CategoryDefinitionId = null;\r\n\r\n applyFilters(gameInfo: GameInfo, filters: IGameFilterDefinition[]): ApplyGameFilterResult {\r\n return this.availableFilters[0].applyFilter(gameInfo);\r\n }\r\n\r\n get title(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n readonly availableFilters: IGameFilterDefinition[];\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n\r\n readonly hasItsOwnFiltersOrder = false;\r\n}","import {ArenaGameFilterBase} from \"./arena-game-filter-base\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\n\r\nexport class StaticArenaGameFilter extends ArenaGameFilterBase{\r\n get subFilters(): IArenaGameFilter[] {\r\n return [];\r\n }\r\n}\r\n","import {Check} from \"@sparkware/app-utils\";\r\nimport {StaticArenaGameFilter} from \"../filters/static-arena-game-filter\";\r\nimport {ArenaGameFiltersCategoryBase} from \"./arena-game-filters-category-base\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IFilterCategoryDefinition} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport class StaticArenaGameFiltersCategory extends ArenaGameFiltersCategoryBase {\r\n constructor(categoryDefinition: IFilterCategoryDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(categoryDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n /**\r\n * Restrict available filters to only those that are defined in config.json for current arena\r\n */\r\n @computed\r\n get availableFilters(): IArenaGameFilter[] {\r\n return this._createFiltersForCurrentArena();\r\n }\r\n private _createFiltersForCurrentArena(): IArenaGameFilter[] {\r\n\r\n const currentArenaFiltersConfigurations = this.services.arenas.getCurrentArena().filtersConfigurationMap;\r\n if(Check.isEmpty(currentArenaFiltersConfigurations)) {\r\n return [];\r\n }\r\n\r\n return this.categoryDefinition.availableFilters\r\n .filter(f => currentArenaFiltersConfigurations[f.id])\r\n .map(f => new StaticArenaGameFilter(f, this.services));\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return null;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const FiltersGameListPcDefaultBox = styled.div`\r\n width:100%;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n padding-top: 1rem;\r\n`;","import {FiltersGameListPcDefaultBox} from \"./filters-game-list-pc.default.box\";\r\n\r\nexport const FiltersGameListPcBox = FiltersGameListPcDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterLinkListComponent} from '../filter-link-list/filter-link-list.component';\r\nimport {FiltersGameListPcBox} from \"./boxes/filters-game-list-pc.box\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {\r\n ISimpleStrategyFiltersEditorViewModel\r\n} from \"../../../services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor-view-model.interface\";\r\n\r\n\r\ninterface FiltersGamesListPcComponentProps {\r\n filtersEditor: ISimpleStrategyFiltersEditorViewModel;\r\n}\r\nexport const FiltersGamesListPcComponent = observer(\r\n class FiltersGamesListPcComponent extends OrbitComponent {\r\n\r\n\r\n private _toggleFilter = async (filter: IArenaGameFilterEditorViewModel) => {\r\n filter.toggleFilter();\r\n await this.props.filtersEditor.applyFilters();\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",this.services.routing.currentRoute.data.arenaType, filter.id);\r\n };\r\n\r\n render() {\r\n\r\n if(this.props.filtersEditor.visibleFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport class AdhocArenaGameFilter implements IArenaGameFilter {\r\n constructor(public readonly filterDefinition: IGameFilterDefinition,\r\n private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n readonly isAdhocFilter = true;\r\n\r\n get id(): string {\r\n return this.filterDefinition.id;\r\n }\r\n\r\n get text(): string {\r\n return this.filterDefinition.text;\r\n }\r\n\r\n get isApplied(): boolean {\r\n return this.services.gamesFilter.isFilterApplied(this.id);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n return this.filterDefinition.applyFilter(gameInfo);\r\n }\r\n \r\n readonly gamesCount: NullableNumber = null;\r\n\r\n readonly subFilters: IArenaGameFilter[] = [];\r\n}","import {IGameFilterDefinition} from '../game-filter-definition.interface';\r\nimport {GameInfo} from '../../../games/game-info';\r\nimport {removeSpaces} from \"../../../../../utils/string-helpers\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class CompanyFilterDefinitions implements IGameFilterDefinition {\r\n constructor(public readonly id: string,\r\n private readonly _companyName: string) {\r\n\r\n }\r\n\r\n get text(): string {\r\n return this._companyName;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(removeSpaces(gameInfo.companyName.toLowerCase()) === removeSpaces(this._companyName.toLowerCase())) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n\r\n}\r\n","import {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {Nullable, NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {AdhocArenaGameFilter} from \"../filters/adhoc-arena-game-filter\";\r\nimport {CompanyFilterDefinitions} from \"../../filters-definitions/company/company.filter-definitions\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {AND} from \"../../evaluators/and-game-filters-evaluator\";\r\nimport {CategoryDefinitionId} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {\r\n GameVendorFiltersCategoryDefinition\r\n} from \"../../filters-categories-definitions/game-vendor.filters-category-definition\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\n\r\nexport class AdhocArenaGamesFiltersCategory implements IArenaGameFiltersCategory {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n makeObservable(this);\r\n }\r\n\r\n readonly id: CategoryDefinitionId = 'adHoc';\r\n readonly title: string = 'Ad hoc filters';\r\n readonly gamesCount: NullableNumber = null;\r\n\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n\r\n if(this.availableFilters.length === 0) {\r\n return ApplyGameFilterResult.NotApplicable;\r\n }\r\n\r\n return AND(...this.availableFilters).applyFilter(gameInfo);\r\n }\r\n\r\n\r\n isGameIncludedInThisCategory(gameInfo: GameInfo): boolean {\r\n return this.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n @computed\r\n get availableFilters(): AdhocArenaGameFilter[] {\r\n return this._createDynamicFilters();\r\n }\r\n\r\n get allAppliedFiltersAndSubFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.filter(f => f.isApplied);\r\n }\r\n\r\n private _createDynamicFilters(): AdhocArenaGameFilter[] {\r\n const result: AdhocArenaGameFilter[] = [];\r\n\r\n\r\n\r\n const currentArenaFiltersConfigurations = this.services.arenas.getCurrentArena().filtersConfigurationMap;\r\n\r\n for(let appliedFilterId of this.services.gamesFilter.currentAppliedFiltersIds) {\r\n if(!currentArenaFiltersConfigurations[appliedFilterId]) {\r\n const dynamicFilterDefinition = this._createDynamicFilterById(appliedFilterId);\r\n if(dynamicFilterDefinition) {\r\n result.push(dynamicFilterDefinition);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _createDynamicFilterById(filterId: string): Nullable {\r\n const parts = filterId.split('_');\r\n if(parts.length < 2) {\r\n return null;\r\n }\r\n\r\n switch (parts[0]) {\r\n case 'vendor':\r\n const vendorsCategory = new GameVendorFiltersCategoryDefinition(this.services);\r\n const filter = vendorsCategory.getAllPreferredVendorsFilters().find(f => f.id === filterId) ?? null;\r\n if(filter) {\r\n return new AdhocArenaGameFilter(filter, this.services)\r\n } else {\r\n return null;\r\n }\r\n\r\n case 'company':\r\n return new AdhocArenaGameFilter(new CompanyFilterDefinitions(filterId, parts[1]), this.services);\r\n default:\r\n return null;\r\n\r\n }\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n}","import React from 'react';\r\nimport {\r\n FiltersGamesListMobileComponent\r\n} from \"../../../../components/filters/filters-games-list-mobile/filters-games-list-mobile.component\";\r\nimport {SimpleStrategyFiltersEditor} from \"./simple-strategy-filters-editor\";\r\nimport {GamesFilterStrategyBase} from \"../games-filter-strategy-base\";\r\nimport {OtherFiltersCategoryDefinition} from \"../../filters-categories-definitions/other.filters-category-definition\";\r\nimport {StaticArenaGameFiltersCategory} from \"../../arena-filters/categories/static-arena-game-filters-category\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {Lazy} from \"../../../../../utils/Lazy\";\r\nimport {IGameFilterEvaluator} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {OR} from \"../../evaluators/or-game-filters-evaluator\";\r\nimport {AND} from \"../../evaluators/and-game-filters-evaluator\";\r\nimport {\r\n FiltersMobileButtonComponent\r\n} from \"../../../../components/header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {\r\n IPcFilterIndicatorRenderingOptions,\r\n PcFilterIndicatorRenderingLocation\r\n} from \"../../games-filter.service.interface\";\r\nimport {\r\n FiltersGamesListPcComponent\r\n} from \"../../../../components/filters/filters-games-list-pc/filters-games-list-pc.component\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {FilterCategoryDefinitionFactory} from '../../filters-categories-definitions/filter-category-definition-factory';\r\nimport {AdhocArenaGamesFiltersCategory} from \"../../arena-filters/categories/adhoc-arena-games-filters-category\";\r\n\r\nexport class SimpleGamesFilterStrategy extends GamesFilterStrategyBase {\r\n\r\n private _factory = new FilterCategoryDefinitionFactory(this.services);\r\n\r\n private _vendorCategory = new Lazy(() => new StaticArenaGameFiltersCategory(this._factory.createVendorsCategoryDefinition(), this.services));\r\n private _groupCategory = new Lazy(() => new StaticArenaGameFiltersCategory(this._factory.createGameGroupCategoryDefinition(), this.services));\r\n private _featuresCategory = new Lazy(() => new StaticArenaGameFiltersCategory(this._factory.createGameFeaturesCategoryDefinition(), this.services));\r\n private _othersCategory = new Lazy(() => new StaticArenaGameFiltersCategory(new OtherFiltersCategoryDefinition([this._vendorCategory.value, this._groupCategory.value, this._featuresCategory.value], this.services), this.services));\r\n private _adhocCategory = new Lazy(() => new AdhocArenaGamesFiltersCategory(this.services));\r\n\r\n protected _createFiltersCategories(): IArenaGameFiltersCategory[] {\r\n return [\r\n this._vendorCategory.value,\r\n this._groupCategory.value,\r\n this._featuresCategory.value,\r\n this._othersCategory.value,\r\n this._adhocCategory.value\r\n ];\r\n }\r\n\r\n protected _createEvaluator(): IGameFilterEvaluator | null {\r\n return OR(AND(this._vendorCategory.value,\r\n this._groupCategory.value,\r\n this._featuresCategory.value,\r\n this._adhocCategory.value),\r\n this._othersCategory.value);\r\n }\r\n\r\n private _createFiltersEditor(): SimpleStrategyFiltersEditor {\r\n return new SimpleStrategyFiltersEditor(this.filtersCategories, this.services);\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this.services.dialog.showModal((dialogHandler) => , {\r\n title: this.services.translation.translate('FILTER'),\r\n mobileCenterHeader: true,\r\n applyMaxHeight: true\r\n });\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n } else {\r\n return {\r\n location: PcFilterIndicatorRenderingLocation.BelowArenaTitle,\r\n reactElement: ()\r\n };\r\n }\r\n }\r\n\r\n protected _reportApplyFiltersAnalytics(): void {\r\n // we don't report analytics for simple filters\r\n }\r\n\r\n}","import React from \"react\";\r\nimport {ArenaBaseModel} from \"../arena-base.model\";\r\nimport {\r\n ArenaConfiguration, ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {CasinoArenaComponent} from \"../../../../../components/arena-host/casino-arena/casino-arena.component\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {\r\n CASINO_GAMES_ARENA_NAME,\r\n EXCLUSIVE_ARENA_NAME,\r\n JACKPOTS_ARENA_NAME,\r\n SLOTS_ARENA_NAME\r\n} from \"../../../arena-consts\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ArenaFiltersConfigurationMap} from \"../arena-view-model.interface\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {\r\n AdvancedGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/advanced-filter/advanced-games-filter.strategy\";\r\nimport {\r\n SimpleGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/simple-games-filter/simple-games-filter.strategy\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {ListsSortOrderStorage} from \"../../lists-sort-order-storage\";\r\n\r\nexport class CasinoLobbyArenaModel extends ArenaBaseModel {\r\n constructor(arenaName: string,\r\n services: IServiceFactoryExtended,\r\n postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n super(arenaName, services, postLoginListsSortOrderStorage);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get maxSwipersToShow(): number {\r\n return 20;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 30;\r\n }\r\n\r\n private get config(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName]\r\n }\r\n\r\n protected _getSwipersConfigurations(): SwiperGamesListConfiguration[] {\r\n return this.config.swiperGamesList || [];\r\n }\r\n\r\n protected _getGridsConfigurations(): ArenaGamesGridConfiguration[] {\r\n return this.config.allGamesGrid || [];\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ;\r\n }\r\n\r\n protected _getPromotionalBannerConfig() {\r\n const bannerConfig = this.config.promotionalBanner;\r\n if(!bannerConfig) {\r\n return null;\r\n }\r\n\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return {\r\n position: bannerConfig.displayListPlace || 2,\r\n templateID: bannerConfig.templateID,\r\n componentID: bannerConfig.componentID,\r\n fallbackComponent: bannerConfig.fallbackComponent,\r\n bannerAdminPlaceholderId: bannerConfig.bannerAdminPlaceholderId\r\n }\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n switch (this.arenaName) {\r\n case SLOTS_ARENA_NAME:\r\n case JACKPOTS_ARENA_NAME:\r\n return gamesInfo.filter(g => g.isVideoSlot);\r\n case EXCLUSIVE_ARENA_NAME:\r\n return gamesInfo.filter(g => g.isVideoSlot || g.isCasinoGame);\r\n case CASINO_GAMES_ARENA_NAME:\r\n return gamesInfo.filter(g => g.isCasinoGame);\r\n\r\n default:\r\n return gamesInfo.filter(g => !g.isLiveCasino);\r\n }\r\n }\r\n @computed\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.config.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n if (this.useAdvancedFilters) {\r\n return new AdvancedGamesFilterStrategy(this.services);\r\n }\r\n return new SimpleGamesFilterStrategy(this.services);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\n\r\nexport class VoidArenaModel implements IArenaViewModel {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n get arenaName(): string {\r\n return 'voidArena';\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly allArenaGamesForFiltering: GameInfo[] = [];\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n readonly filtersConfigurationMap: ArenaFiltersConfigurationMap = {};\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"./lists/games-list-model.interface\";\r\n\r\nconst POST_LOGIN_LISTS_ORDER_KEY = \"cgp-post-login-lists-order\";\r\n\r\ninterface IPostLoginListsOrder {\r\n lists: Record;\r\n}\r\n\r\nexport class ListsSortOrderStorage {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n private _createEmptyListsOrder(): IPostLoginListsOrder {\r\n return {\r\n lists: {}\r\n };\r\n }\r\n\r\n private _listsSavedOrder: IPostLoginListsOrder = null;\r\n private _getSavedListsOrder(): IPostLoginListsOrder {\r\n if(!this._listsSavedOrder) {\r\n this._listsSavedOrder = this.services.localStorage.getJson(POST_LOGIN_LISTS_ORDER_KEY) || this._createEmptyListsOrder();\r\n }\r\n return this._listsSavedOrder;\r\n }\r\n\r\n saveSortOrder(arenaName: string, lists: IGamesListModel[]): void {\r\n const listsOrder = this._getSavedListsOrder();\r\n listsOrder.lists[arenaName] = lists.map(list => list.title.translationKey);\r\n this.services.localStorage.setJson(POST_LOGIN_LISTS_ORDER_KEY, listsOrder);\r\n }\r\n\r\n sortLists(arenaName: string, lists: IGamesListModel[]): IGamesListModel[] {\r\n const arenaListsOrder = this._getSavedListsOrder().lists[arenaName] || [];\r\n if(arenaListsOrder.length === 0) {\r\n return lists;\r\n }\r\n\r\n const listsOrderMap = arenaListsOrder.reduce>((map, listTitle, index) => {\r\n map[listTitle] = index;\r\n return map;\r\n }, {});\r\n\r\n\r\n return lists.sort((l1, l2) => (listsOrderMap[l1.title.translationKey] || 0) - (listsOrderMap[l2.title.translationKey] || 0));\r\n\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoFilterButtonIconDefaultBox = styled.div<{isActiveTab?: boolean}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 5em;\r\n width: 100%;\r\n color: ${({theme, isActiveTab}) => isActiveTab ? theme.colors.brandPrimary : theme.colors.textLight};\r\n transform: scale(${({isActiveTab}) => isActiveTab ? 1 : 0.8});\r\n transition: transform 0.25s ease;\r\n\r\n :hover {\r\n transform: scale(1);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\n\r\nexport const LiveCasinoFilterIconSIBox = styled(LiveCasinoFilterButtonIconDefaultBox)`\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\n\r\nexport const LiveCasinoFilterIconMrGreenBox = styled(LiveCasinoFilterButtonIconDefaultBox)`\r\n transform: scale(1);\r\n color: ${({theme, isActiveTab}) => isActiveTab ? theme.colors.textActive : theme.colors.textLight};\r\n`;","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\nimport {LiveCasinoFilterIconSIBox} from \"./live-casino-filter-button-icon.si.box\";\r\nimport {LiveCasinoFilterIconMrGreenBox} from \"./live-casino-filter-button-icon.mrgreen.box\";\r\n\r\nexport const LiveCasinoFilterButtonIconBox = styledByTheme(LiveCasinoFilterButtonIconDefaultBox)\r\n .forSI(LiveCasinoFilterIconSIBox)\r\n .forSICis(LiveCasinoFilterIconSIBox)\r\n .forMrGreen(LiveCasinoFilterIconMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin-top: 1em;\r\n color: ${props => props.theme.components.newLiveCasino.colors.filterButtonLabel};\r\n font-size: 1.2em;\r\n text-align: center;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n transition: color 0.25s ease;\r\n\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n \r\n &.${ACTIVE} {\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`;\r\n\r\nconst PCBox = DefaultBox;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n line-height: 1;\r\n`;\r\n\r\nexport const LiveCasinoFilterButtonLabelDefaultBox = styledByDevice(PCBox,MobileBox);","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoFilterButtonLabelCasino777Box = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n font-size: 1.6em;\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.components.newLiveCasino.colors.filterButtonLabel};\r\n ${({theme}) => theme.font.presets.bold};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/si/base-colors\";\r\n\r\nexport const LiveCasinoFilterButtonLabelSIBox = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${baseColors.base04};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoFilterButtonLabelMrGreenBox = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {LiveCasinoFilterButtonLabelCasino777Box} from \"./live-casino-filter-button-label.casino777.box\";\r\nimport {LiveCasinoFilterButtonLabelSIBox} from \"./live-casino-filter-button-label.si.box\";\r\nimport {LiveCasinoFilterButtonLabelMrGreenBox} from \"./live-casino-filter-button-label.mrgreen.box\";\r\n\r\nexport const LiveCasinoFilterButtonLabelBox = styledByTheme(LiveCasinoFilterButtonLabelDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonLabelCasino777Box)\r\n .forSI(LiveCasinoFilterButtonLabelSIBox)\r\n .forSICis(LiveCasinoFilterButtonLabelSIBox)\r\n .forMrGreen(LiveCasinoFilterButtonLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {Link} from \"../../../../../raw-components/link/link\";\r\nimport { CssRule } from \"../../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonDefaultBox = styled(Link)`\r\n display: flex;\r\n margin: 0 0.25em;\r\n padding: 1em 1em 0 1em;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-width: 88px;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0;\r\n padding: 1em;\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.filterButtonBackground};\r\n\r\n &:last-child {\r\n border: none;\r\n }\r\n\r\n ${CssRule.For.mobile.landscape.build()} &, ${CssRule.For.ipad.build()} & {\r\n flex: 1;\r\n }\r\n\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../../themes/hex-to-rgba\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonCasino777Box = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &:first-child {\r\n border-left: none;\r\n border-right: 1px solid ${({theme}) => hexToRgba(theme.colors.brandSecondary, 0.6)};\r\n }\r\n &:last-child {\r\n border-left: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.6)};\r\n border-right: none;\r\n }\r\n\r\n border-left: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.6)};\r\n border-right: 1px solid ${({theme}) => hexToRgba(theme.colors.brandSecondary, 0.6)};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonSIBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &.${ACTIVE} {\r\n background-color: ${({theme}) => theme.colors.iconBackgroundActive};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonMrGreenBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &.${ACTIVE} {\r\n box-shadow: inset 3px 0px 4px rgba(25, 25, 25, 0.7), inset -3px 0px 4px rgba(25, 25, 25, 0.7);\r\n }\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {LiveCasinoArenaNavbarButtonCasino777Box} from \"./live-casino-arena-navbar-button.casino777.box\";\r\nimport {LiveCasinoArenaNavbarButtonSIBox} from \"./live-casino-arena-navbar-button.si.box\";\r\nimport {LiveCasinoArenaNavbarButtonMrGreenBox} from \"./live-casino-arena-navbar-button.mrgreen.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonBox = styledByTheme(LiveCasinoArenaNavbarButtonDefaultBox)\r\n .forCasino777(LiveCasinoArenaNavbarButtonCasino777Box)\r\n .forSI(LiveCasinoArenaNavbarButtonSIBox)\r\n .forSICis(LiveCasinoArenaNavbarButtonSIBox)\r\n .forMrGreen(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .forMrGreenCis(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .apply();\r\n","import React, {RefObject} from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LiveCasinoFilterButtonIconBox} from \"./boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box\";\r\nimport {LiveCasinoFilterButtonLabelBox} from \"./boxes/live-casino-filter-button-label/live-casino-filter-button-label.box\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonBox} from \"./boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\n\r\nexport interface LiveCasinoArenaNavbarButtonProps {\r\n labelTranslationKey: string;\r\n filter: string;\r\n isActiveTab: boolean;\r\n seoPage: string;\r\n buttonLabelRef: RefObject;\r\n onClick: () => void;\r\n};\r\n\r\nexport const LiveCasinoArenaNavbarButton = observer(\r\n class LiveCasinoArenaNavbarButton extends OrbitComponent {\r\n\r\n private buttonIconMap = new Map([\r\n [\"TOP_EVO_GAMES\", this.services.theme.currentTheme.icons.topGamesIcon],\r\n [\"ROULETTE\", this.services.theme.currentTheme.icons.rouletteIcon],\r\n [\"POKER_GAMES\", this.services.theme.currentTheme.icons.pokerIcon],\r\n [\"BLACKJACK\", this.services.theme.currentTheme.icons.blackjackIcon],\r\n [\"BACCARAT\", this.services.theme.currentTheme.icons.baccaratIcon],\r\n [\"ELITE_LOUNGE\", this.services.theme.currentTheme.icons.eliteLoungeIcon],\r\n [\"GAME_SHOWS\", this.services.theme.currentTheme.icons.gameShowsIcon],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.newGamesIcon],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.tripleEightExclusiveIcon],\r\n [\"SPEED_GAMES\", this.services.theme.currentTheme.icons.speedGames]\r\n ]);\r\n\r\n private _getButtonIcon() {\r\n return this.buttonIconMap.get(this.props.labelTranslationKey);\r\n }\r\n\r\n private _getLabelTranslationKey(): string {\r\n //this if is a duplicate with the one in live-casino-arena-grid.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n let currentTranslationKey = this.props.labelTranslationKey;\r\n if (this.services.user.isAuthorized && currentTranslationKey === \"TOP_EVO_GAMES\") {\r\n currentTranslationKey = \"FOR_YOU_GAMES\";\r\n }\r\n\r\n return currentTranslationKey;\r\n }\r\n\r\n onFilterClicked(isActive: boolean) {\r\n if (!isActive) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Live Tab\", this._getLabelTranslationKey());\r\n this.props && this.props.onClick();\r\n }\r\n }\r\n\r\n render() {\r\n let IconComponent = this._getButtonIcon();\r\n return (\r\n this.onFilterClicked(this.props.isActiveTab)}\r\n >\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate(this._getLabelTranslationKey())}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {NewLiveCasinoConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {LiveCasinoArenaNavbar} from \"./live-casino-arena-navbar/live-casino-arena-navbar.component\";\r\nimport {LiveCasinoArenaGrid} from \"./live-casino-arena-grid/live-casino-arena-grid.component\";\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoArenaNavbarButton} from \"./live-casino-arena-navbar/live-casino-arena-navbar-button.component\";\r\nimport {LIVE_CASINO_PAGE_WRAPPER} from '../../../themes/css-global-classes';\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\nexport interface NewLiveCasinoArenaComponentProps {\r\n configs: NewLiveCasinoConfiguration;\r\n arenaName: string;\r\n}\r\n\r\nexport interface INewLiveCasinoArenaComponentState {\r\n}\r\n\r\nconst SEO_CATEGORY = 'LIVE_CASINO_NEW';\r\n\r\nexport const NewLiveCasinoArenaComponent = observer(\r\n class NewLiveCasinoArenaComponent extends OrbitComponentWithState {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n private _topImageRef = React.createRef();\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.user.isAuthorized,\r\n () => this.services.liveTableFeeds.updateAiRecommendedLiveGames(),\r\n {fireImmediately: true}\r\n );\r\n }\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler && this._topImageRef?.current) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n } else {\r\n return this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n\r\n return this._stickyHandler;\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n\r\n \r\n\r\n {\r\n this.services.liveTableFeeds.isNavbarVisible && \r\n }\r\n\r\n \r\n\r\n \r\n\r\n {this._renderLinkToOffer()}\r\n \r\n
\r\n );\r\n\r\n\r\n }\r\n }\r\n);\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {NewLiveCasinoArenaComponent} from \"../../../../../components/arena-host/new-live-casino-arena/new-live-casino-arena.component\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {\r\n SimpleGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/simple-games-filter/simple-games-filter.strategy\";\r\n\r\nexport class NewLiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new SimpleGamesFilterStrategy(this.services);\r\n }\r\n\r\n}","import React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\nconst LiveCasinoArenaComponent = React.lazy(\r\n () => import(\"../../../../../components/arena-host/live-casino-arena/live-casino-arena.component\").then(({LiveCasinoArenaComponent}) => ({default: LiveCasinoArenaComponent}))\r\n);\r\n\r\nexport class LiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string, private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ServiceBase} from '../ServiceBase';\r\nimport {IArenasService} from './arenas.service.interface';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from './arena-consts';\r\nimport {\r\n ArenaConfiguration\r\n} from \"../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IArenaViewModel} from \"./models/arenas/arena-view-model.interface\";\r\nimport {HomePageArenaModel} from \"./models/arenas/home-page/home-page-arena.model\";\r\nimport {CasinoLobbyArenaModel} from \"./models/arenas/casino-lobby/casino-lobby-arena.model\";\r\nimport {VoidArenaModel} from \"./models/arenas/void-arena/void-arena.model\";\r\nimport {ListsSortOrderStorage} from \"./models/lists-sort-order-storage\";\r\nimport {NewLiveCasinoArenaModel} from \"./models/arenas/new-live-casino/new-live-casino-arena.model\";\r\nimport {LiveCasinoArenaModel} from \"./models/arenas/live-casino/live-casino-arena.model\";\r\n\r\n\r\nexport class ArenasService extends ServiceBase implements IArenasService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n this._postLoginListsSortOrderStorage = new ListsSortOrderStorage(services);\r\n this._loadArenas();\r\n }\r\n\r\n private _arenas: Record = {};\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage;\r\n\r\n private _loadArenas(): void {\r\n this._arenas[HOME_PAGE_ARENA] = this._createArena(HOME_PAGE_ARENA);\r\n const arenasConfigs = this.services.configuration.data.arenas;\r\n for(let arenaName in arenasConfigs) {\r\n this._arenas[arenaName] = this._createArena(arenaName);\r\n }\r\n }\r\n\r\n getArena(arenaName: string): IArenaViewModel {\r\n return this._arenas[arenaName] || new VoidArenaModel(this.services);\r\n }\r\n\r\n private _createArena(arenaName: string): IArenaViewModel | null {\r\n switch (arenaName) {\r\n case HOME_PAGE_ARENA:\r\n return new HomePageArenaModel(this.services, this._postLoginListsSortOrderStorage);\r\n case NEW_LIVE_CASINO_ARENA_NAME:\r\n return new NewLiveCasinoArenaModel(arenaName, this.services);\r\n case LIVE_CASINO_ARENA_NAME:\r\n return new LiveCasinoArenaModel(arenaName, this.services);\r\n default:\r\n return new CasinoLobbyArenaModel(arenaName, this.services, this._postLoginListsSortOrderStorage);\r\n }\r\n }\r\n\r\n getCurrentArena(): IArenaViewModel {\r\n const arenaName = this.services.routing.currentRoute.data?.arenaType;\r\n if(!arenaName) {\r\n return new VoidArenaModel(this.services);\r\n }\r\n return this.getArena(arenaName)\r\n\r\n }\r\n\r\n getArenaConfig(arenaType: string): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[arenaType];\r\n }\r\n\r\n shouldHideFiltersButtonMobile(): boolean {\r\n const arenasWithoutFilterButton: string[] = [NEW_LIVE_CASINO_ARENA_NAME];\r\n const currentRoute = this.services.routing.currentRoute;\r\n return arenasWithoutFilterButton.includes(currentRoute?.data?.arenaType);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from \"../../raw-components/link/link\";\r\n\r\nexport interface BreadcrumbsItemComponentProps {\r\n readonly title: string;\r\n position: number;\r\n readonly url?: string;\r\n onClick?: () => void;\r\n\r\n}\r\n\r\nexport const BreadcrumbsItemComponent = observer(\r\n class BreadcrumbsItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n let noLinkClass = this.props.onClick ? '' : 'no-link';\r\n return (\r\n <>\r\n \r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n \r\n {this.props.onClick ? {' > '} : null}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\nexport class NonNavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string) {\r\n }\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\n\r\nexport class NavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string, private _url: string, private services: IServiceFactoryExtended) {\r\n\r\n }\r\n\r\n private _navigate = () => {\r\n this.services.location.push(this._url);\r\n };\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","import {NonNavigatableBreadcrumb} from './breadcrumbs/non-navigatable-breadcrumb';\r\nimport {NavigatableBreadcrumb} from './breadcrumbs/navigatable-breadcrumb';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UriPath} from \"../location/uri-path/uri-path\";\r\n\r\nexport class SiteMapNode {\r\n constructor(private _title: string, private _url: string, children: any[]) {\r\n this._loadChildren(children);\r\n this._urlParts = new UriPath(_url).toArray();\r\n }\r\n\r\n private readonly _urlParts: string[];\r\n\r\n private _loadChildren(children: any[]): void {\r\n this._children = (children || []).map(ch => new SiteMapNode(ch.title, ch.url, ch.children));\r\n }\r\n\r\n\r\n private _children: SiteMapNode[] = [];\r\n get children(): SiteMapNode[] {\r\n return this._children;\r\n }\r\n\r\n createBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n\r\n for(let i = 0; i < this._urlParts.length; i++) {\r\n if(this._urlParts[i] !== requestedUrlParts[i]) {\r\n return [];\r\n }\r\n }\r\n\r\n if(this._urlParts.length === requestedUrlParts.length) {\r\n return [new NonNavigatableBreadcrumb(this._title)] //it means this is the last breadcrumb\r\n } else {\r\n let breadcrumb = new NavigatableBreadcrumb(this._title, this._url, services);\r\n\r\n return [breadcrumb, ...this._createChildrenBreadcrumbs(requestedUrlParts, services)];\r\n }\r\n }\r\n\r\n private _createChildrenBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n for(let i = 0; i < this.children.length; i++) {\r\n let childBreadcrumbs = this.children[i].createBreadcrumbs(requestedUrlParts, services);\r\n if(childBreadcrumbs.length > 0) {\r\n return childBreadcrumbs;\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n toFlatSiteMap(): {[key: string]: SiteMapNode} {\r\n let result = {};\r\n result[this._url] = this;\r\n\r\n this.children.forEach(child => {\r\n result = Object.assign(result, child.toFlatSiteMap());\r\n });\r\n\r\n return result;\r\n\r\n }\r\n}\r\n","import {ISiteMapService} from './sitemap.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SiteMapNode} from './sitemap-node';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {UriPath} from '../location/uri-path/uri-path';\r\n\r\nexport class SiteMapService extends ServiceBase implements ISiteMapService {\r\n\r\n private _root: SiteMapNode;\r\n private _flatSiteMapByUrl: {[key: string]: SiteMapNode};\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n try {\r\n this._initSiteMap();\r\n }catch (e) {\r\n this.services.logger.error(`Failed to load sitemap ${e} `);\r\n }\r\n\r\n this.reaction(\r\n () => this.services.location.currentUri,\r\n (uri) => {\r\n this._setBreadcrumbs(this._createBreadCrumbs(uri.pathName));\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _initSiteMap() {\r\n let siteMap = this.services.configuration.startupConfiguration.b2c.sitemap;\r\n this._root = new SiteMapNode(siteMap.title, siteMap.url, siteMap.children);\r\n this._flatSiteMapByUrl = this._root.toFlatSiteMap();\r\n }\r\n\r\n @observable.ref\r\n breadcrumbs: IBreadcrumb[] = [];\r\n\r\n @action.bound\r\n private _setBreadcrumbs(breadcrumbs: IBreadcrumb[]) {\r\n this.breadcrumbs = breadcrumbs;\r\n }\r\n\r\n\r\n private _createBreadCrumbs(uriPath: UriPath): IBreadcrumb[] {\r\n if(!uriPath) {\r\n return [];\r\n }\r\n\r\n if(uriPath.isEmpty) {\r\n return [];\r\n }\r\n\r\n let uriParts = uriPath.toArray();\r\n if(uriParts[0] !== '/') {\r\n uriParts = ['/', ...uriParts];\r\n }\r\n\r\n let breadcrumbs = this._root.createBreadcrumbs(uriParts, this.services);\r\n if(breadcrumbs.length < uriParts.length) {\r\n this.services.logger.warning(`URL ${uriPath} was not found in the sitemap`);\r\n return [];\r\n }\r\n\r\n if(breadcrumbs.length <= 1) {\r\n return [];\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n isUrlInSiteMap(url: string): boolean {\r\n if(this._flatSiteMapByUrl[url]) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IMarketingService} from './marketing.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {encodeUriRecursive} from '../../../utils/url-utils';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\n\r\n\r\nconst TEST_DATA_KEY = 'testdata';\r\n\r\nexport class MarketingService extends ServiceBase implements IMarketingService {\r\n\r\n private get _sCut(): any {\r\n return this.services.window.getGlobalProperty('sCut');\r\n }\r\n\r\n private get _sCutQueryParams(): string | null {\r\n let sCut = this._sCut;\r\n if(sCut) {\r\n return sCut.toString();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n appendSCutToUrl(url: string): string {\r\n if(!url) {\r\n return url;\r\n }\r\n\r\n if(!this._sCutQueryParams) {\r\n return url;\r\n }\r\n\r\n let urlParts = url.split('?');\r\n let queryParams = (urlParts[1] || '').trim();\r\n if(queryParams) {\r\n if(queryParams.endsWith('&')) {\r\n return urlParts[0] + '?' + queryParams + this._sCutQueryParams;\r\n } else {\r\n return urlParts[0] + '?' + queryParams + '&' + this._sCutQueryParams;\r\n }\r\n } else {\r\n return urlParts[0] + '?' + this._sCutQueryParams;\r\n }\r\n }\r\n\r\n private _getDlp(): string {\r\n let urlWithoutSearchAndHash = this.services.location.currentUri.getUrlWithoutSearchAndHash();\r\n if (urlWithoutSearchAndHash.includes(\"localhost\")) {\r\n urlWithoutSearchAndHash = urlWithoutSearchAndHash.replace(\"localhost\", \"casinoAOD\");\r\n }\r\n return urlWithoutSearchAndHash;\r\n }\r\n\r\n private _convertParameterToNumber(parameterName: string, parameterValue): number {\r\n let dlAsNumber = parseInt((parameterValue || '').trim());\r\n if(Check.isNumber(dlAsNumber)) {\r\n return dlAsNumber;\r\n } else {\r\n this.services.logger.error(`Cannot convert marketing parameter ${parameterName} to number because its value is ${parameterValue}`);\r\n return 999999;\r\n }\r\n }\r\n\r\n getMarketingData(marketingParams?: MarketingParams): any {\r\n let sCut = this._sCut;\r\n if(!Check.isObject(sCut)) {\r\n return {};\r\n }\r\n\r\n if(!sCut[\"all\"]) {\r\n this.services.logger.warning(`sCut.all function doesn't exists`);\r\n return {};\r\n }\r\n\r\n let sCutData = sCut[\"all\"]();\r\n\r\n if(!sCutData) {\r\n this.services.logger.warning(`sCut.all() returned ${sCutData}`);\r\n return {};\r\n }\r\n\r\n marketingParams = marketingParams || {};\r\n\r\n let additionalParams: any = {...sCutData};\r\n delete additionalParams[TEST_DATA_KEY];\r\n if(!additionalParams.wtc && marketingParams.wtc) {\r\n additionalParams.wtc = marketingParams.wtc;\r\n }\r\n\r\n\r\n let testData: any = {};\r\n\r\n try {\r\n testData = sCutData[TEST_DATA_KEY] ? JSON.parse(sCutData[TEST_DATA_KEY]) : {}\r\n } catch (err) {\r\n this.services.logger.error('Failed to parse sCut TestData');\r\n return {};\r\n }\r\n\r\n if(!testData.dl && marketingParams.dl) {\r\n testData.dl = marketingParams.dl;\r\n }\r\n\r\n if(testData.dl) {\r\n //We try to convert the dl to number to see if it is a valid number\r\n //but we must send it as a string because membership code will throw error on GetFunnelData if it will be number\r\n testData.dl = (this._convertParameterToNumber('dl', testData.dl)).toString();\r\n }\r\n\r\n testData.dlp = this._getDlp();\r\n\r\n if(additionalParams.dlp) {\r\n additionalParams.dlp = testData.dlp;\r\n }\r\n\r\n return encodeUriRecursive({\r\n sr: sCutData.sr,\r\n TestData: testData,\r\n AdditionalParams: additionalParams\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","import {LanguageSwitcherItemConfiguration} from '../../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _config: LanguageSwitcherItemConfiguration, private services: IServiceFactoryExtended) {\r\n }\r\n\r\n get title(): string {\r\n return this._config.title;\r\n }\r\n\r\n get url(): string {\r\n return this._config.url;\r\n }\r\n\r\n get isCurrent(): boolean {\r\n return false;\r\n }\r\n\r\n makeCurrent(): void {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigation','Language', this.title);\r\n\r\n this._executeOnClickJs();\r\n let url = this._config.url;\r\n\r\n if(this.services.device.hybrid.isEmbedded) {\r\n this.services.window.openSelf(url);\r\n } else {\r\n this._createCookie().then(() => {\r\n this.services.user.logout();\r\n setTimeout(() => {\r\n if(this._config.sendFunnelParameters) {\r\n url = this.services.marketing.appendSCutToUrl(url);\r\n }\r\n this.services.window.openSelf(url);\r\n }, 200);\r\n })\r\n }\r\n }\r\n\r\n private _createCookie(): Promise {\r\n if(this.services.user.isAuthorized) {\r\n return this.services.user.getAutoLoginToken()\r\n .then(token => {\r\n this.services.cookies.createDomainCookie('orbit_autologin_token', token);\r\n }).catch(() => {\r\n this.services.logger.error('Failed to get autologin token in order to switch language');\r\n });\r\n } else {\r\n return Promise.resolve();\r\n }\r\n }\r\n\r\n private _executeOnClickJs(): void {\r\n try {\r\n\r\n\r\n if (!this._config.onClickJs) {\r\n return;\r\n }\r\n\r\n if (!Check.isString(this._config.onClickJs)) {\r\n this.services.logger.error(`onClickJs is not a string for language switcher item ${this.title}`);\r\n return;\r\n }\r\n\r\n if (this._config.onClickJs.length > 50) {\r\n this.services.logger.error(`Too long callback method for language switcher item ${this.title} click event: ${this._config.onClickJs.substring(0, 50)} ...`);\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line\r\n let func = new Function(this._config.onClickJs);\r\n func();\r\n }\r\n catch (err) {\r\n this.services.logger.error(`Failed to execute onClickJs for language swithcer item ${this.title}; onClickJs: ${this._config.onClickJs}`, err);\r\n }\r\n }\r\n}\r\n\r\n\r\n","import {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherSection {\r\n constructor(private _services: IServiceFactoryExtended, private _title: string, private _fallbackTitleKey: string, private _items: ILanguageSwitcherItem[]) {\r\n\r\n }\r\n\r\n get title(): string {\r\n if(this._title) {\r\n return this._title;\r\n }\r\n\r\n return this._services.translation.translate(this._fallbackTitleKey);\r\n }\r\n\r\n get items(): ILanguageSwitcherItem[] {\r\n return this._items;\r\n }\r\n}\r\n","import {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class SelectedLanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _title: string) {\r\n\r\n }\r\n get isCurrent(): boolean {\r\n return true;\r\n }\r\n get title(): string {\r\n return this._title;\r\n }\r\n\r\n get url(): string {\r\n return '';\r\n }\r\n\r\n makeCurrent(): void {\r\n }\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {ILanguageData, ILanguageService} from './language.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {TranslatedText} from './translated-text';\r\n\r\nimport {LanguageSwitcherStructure} from './language-switcher/language-switcher-structure';\r\nimport {LanguageSwitcherItem} from './language-switcher/language-switcher-item';\r\nimport {LanguageSwitcherSection} from './language-switcher/language-switcher-section';\r\nimport {SelectedLanguageSwitcherItem} from './language-switcher/selected-language-switcher-item';\r\nimport {ILanguageSwitcherItem} from './language-switcher/language-switcher-item.interface';\r\nimport {\r\n LanguageSwitcherConfiguration,\r\n LanguageSwitcherItemConfiguration, LanguageSwitcherSectionConfiguration\r\n} from '../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\n\r\nexport class LanguageService extends ServiceBase implements ILanguageService {\r\n constructor(private _defaultLanguageData: ILanguageData, services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._loadLanguageData();\r\n\r\n if (this._isLanguageSwitcherEnabled) {\r\n this._setLanguageSwitcher(this.services.configuration.startupConfiguration.b2c.languageSwitcher);\r\n } else {\r\n this._setLanguageSwitcher(null);\r\n }\r\n\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n (uri) => {\r\n this._updateLanguageSwitcher(uri.pathName.toString());\r\n }, {\r\n fireImmediately: this.languageSwitcher.isEmpty\r\n });\r\n }\r\n\r\n private get _isLanguageSwitcherEnabled(): boolean {\r\n return Boolean(this.services.configuration.data.languageSwitcher?.display)\r\n }\r\n\r\n\r\n private _lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = '';\r\n\r\n public get isRTLLanguage(): boolean {\r\n return this.services.dom.getElementsByTagName('html')[0].classList.contains('cgp-rtl');\r\n }\r\n\r\n get currentLanguage(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso3;\r\n }\r\n\r\n get currentLanguageIso2(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso2;\r\n }\r\n\r\n\r\n private _getDefaultTexts(): TranslatedText {\r\n return this._defaultLanguageData.text || {};\r\n }\r\n\r\n\r\n private _loadLanguageData(): void {\r\n let textOverrides = this.services.configuration.startupConfiguration.orbit.lang?.text;\r\n let translatedTexts = {...this._getDefaultTexts(), ...textOverrides};\r\n\r\n this._setTranslatedTexts(translatedTexts);\r\n }\r\n\r\n\r\n @observable.ref\r\n translatedTexts: TranslatedText = {};\r\n\r\n @action.bound\r\n private _setTranslatedTexts(data: TranslatedText): void {\r\n this.translatedTexts = data;\r\n }\r\n\r\n @observable.ref\r\n languageSwitcher: LanguageSwitcherStructure;\r\n\r\n @action.bound\r\n private _setLanguageSwitcher(langSwitcherConfig: LanguageSwitcherConfiguration): void {\r\n let languagesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.languages, langSwitcherConfig && langSwitcherConfig.languageSettings, 'CHOOSE_LANG');\r\n\r\n let countriesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.countries, langSwitcherConfig && langSwitcherConfig.countrySettings, 'CHOOSE_COUNTRY')\r\n\r\n this.languageSwitcher = {\r\n languagesSection: languagesSection,\r\n countriesSection: countriesSection,\r\n isEmpty: languagesSection.items.length === 0 && countriesSection.items.length === 0\r\n };\r\n }\r\n\r\n private _extractLangSwitcherSection(itemsConfig: LanguageSwitcherItemConfiguration[], sectionConfig: LanguageSwitcherSectionConfiguration, fallbackTitleKey: string): LanguageSwitcherSection {\r\n itemsConfig = itemsConfig || [];\r\n sectionConfig = sectionConfig || {title: '', current: ''};\r\n\r\n let items: ILanguageSwitcherItem[] = [];\r\n\r\n if(sectionConfig.current && itemsConfig.length > 0) {\r\n items.push(new SelectedLanguageSwitcherItem(sectionConfig.current));\r\n }\r\n\r\n itemsConfig.forEach(cfg => {\r\n items.push(new LanguageSwitcherItem(cfg, this.services));\r\n });\r\n\r\n return new LanguageSwitcherSection(this.services,\r\n sectionConfig.title,\r\n fallbackTitleKey,\r\n items);\r\n\r\n }\r\n\r\n _updateLanguageSwitcher(url: string) {\r\n if (this.languageSwitcher.isEmpty) {\r\n return;\r\n }\r\n\r\n if(this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher !== url && !this.services.device.hybrid.isEmbedded) {\r\n this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = url;\r\n\r\n this.services.cmsApi\r\n .getLanguageSwitcherConfiguration(url)\r\n .then(config => {\r\n if (config) { this._setLanguageSwitcher(config); }\r\n });\r\n }\r\n }\r\n}\r\n","import {MenuItemsConfiguration} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemConfigReaderBase} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader-base\";\r\nimport {\r\n MenuItemAnalyticsCategoryAndLabel\r\n} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory, OrbitUserFlowAnalyticsLabel} from \"../../analytics/analytics.service.interface\";\r\n\r\n\r\nexport class SideMenuItemConfigReader extends MenuItemConfigReaderBase {\r\n\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return this.services.configuration.data.sideMenu.menuItemsOverride;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel {\r\n return {\r\n category: OrbitUserFlowAnalyticsCategory.Navigation,\r\n label: OrbitUserFlowAnalyticsLabel.NavigationMenu\r\n };\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuImageBox = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {GenericSideMenuItemDefaultBox} from \"./generic-side-menu-item.box\";\r\n\r\nconst GenericSideMenuItemPreIconDefaultBox = styled.span<{active: boolean}>`\r\n`;\r\n\r\nconst GenericSideMenuItemPreIconSIBox = styled(GenericSideMenuItemPreIconDefaultBox)`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: -1rem;\r\n width: 4px;\r\n border-radius: 0.5rem 0 0 0.5rem;\r\n\r\n background-color: ${(props) => props.active ? props.theme.colors.textActive : \"transparent\"};\r\n ${GenericSideMenuItemDefaultBox}:hover & {\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n }\r\n`;\r\n\r\nexport const GenericSideMenuItemPreIconBox = styledByTheme(GenericSideMenuItemPreIconDefaultBox)\r\n .forSI(GenericSideMenuItemPreIconSIBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst GenericSideMenuItemIconCommonBox = styled.div<{active?: boolean}>`\r\n box-sizing: border-box;\r\n margin: 0 1rem 0 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0 2rem 0 0;\r\n }\r\n\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n padding: 0.2rem;\r\n transition: color 0.2s ease, background-color 0.2s ease, border-bottom 0.2s ease;\r\n`;\r\n\r\nconst GenericSideMenuItemIconDefaultBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.backgroundDark};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconHarrahsBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.brandSecondary};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconWsopBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.backgroundDark};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconSIBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n color: ${(props) => props.theme.colors.textLight};\r\n ` : null}\r\n`;\r\n\r\nconst GenericSideMenuItemIconMrGreenBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n color: ${(props) => props.theme.colors.textActive};\r\n background-color: transparent;\r\n ` : null}\r\n`;\r\n\r\n\r\nexport const GenericSideMenuItemIconBox = styledByTheme(GenericSideMenuItemIconDefaultBox)\r\n .forCasino777(GenericSideMenuItemIconCommonBox)\r\n .forHarrahs(GenericSideMenuItemIconHarrahsBox)\r\n .forWsop(GenericSideMenuItemIconWsopBox)\r\n .forBallysDover(GenericSideMenuItemIconWsopBox)\r\n .forSI(GenericSideMenuItemIconSIBox)\r\n .forMrGreen(GenericSideMenuItemIconMrGreenBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {GenericSideMenuImageBox} from \"./boxes/link/generic/generic-side-menu-item-image.box\";\r\nimport {Image} from \"../../raw-components/image/image\";\r\nimport {GenericSideMenuItemPreIconBox} from \"./boxes/link/generic/generic-side-menu-item-pre-icon.box\";\r\nimport {GenericSideMenuItemIconBox} from \"./boxes/link/generic/generic-side-menu-item-icon.box\";\r\nimport {GenericSideMenuItemLabelBox} from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport {Link} from \"../../raw-components/link/link\";\r\nimport {GenericSideMenuItemBox} from \"./boxes/link/generic/generic-side-menu-item.box\";\r\nimport {MenuItemComponentProps} from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {get} from 'lodash';\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\ninterface GenericSideMenuLinkComponentProps extends MenuItemComponentProps {\r\n withArrow?: boolean\r\n className?: string;\r\n}\r\n\r\n@observer\r\nexport class GenericSideMenuItemComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = async () => {\r\n await this.props.menuItem.execute();\r\n }\r\n\r\n private _renderIcon = () => {\r\n if(!this.props.menuItem.iconSource || !this.props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n if(this.props.menuItem.iconSource === \"themeIcons\") {\r\n const Icon = this.services.theme.currentTheme.icons[this.props.menuItem.icon];\r\n if(!Icon) {\r\n this.services.logger.error(`Menu item ${this.props.menuItem.key} has configured icon ${this.props.menuItem.icon} which does not exist in currentTheme.icons`)\r\n\r\n return null;\r\n }\r\n\r\n return ();\r\n } else if(this.props.menuItem.iconSource === 'themeImages') {\r\n const imageURI = get(this.services.theme.currentTheme.images, this.props.menuItem.icon, '');\r\n if(!imageURI) {\r\n this.services.logger.error(`Menu item ${this.props.menuItem.key} has configured icon ${this.props.menuItem.icon} which does not exist in currentTheme.images`)\r\n return null;\r\n }\r\n return ({this.props.menuItem.iconAltText)\r\n } else {\r\n return ({this.props.menuItem.iconAltText)\r\n }\r\n }\r\n\r\n\r\n private _renderMenuItemContent = () => {\r\n\r\n if(this.props.menuItem.imageOnlyRendering) {\r\n return (\r\n \r\n {this._renderIcon()}\r\n \r\n );\r\n }\r\n\r\n return (<>\r\n \r\n \r\n {this._renderIcon()}\r\n \r\n \r\n { this.props.menuItem.text }\r\n \r\n { this.props.withArrow ? : null }\r\n );\r\n\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n let href = this.props.menuItem.getLinkUrl() ?? \"\";\r\n if(href) {\r\n href = this.services.location.buildFullUri(href).toString();\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this._renderMenuItemContent()}\r\n \r\n \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {\r\n GenericSideMenuItemComponent\r\n} from \"../../../components/side-menu-rework/side-menu-items/generic-side-menu-item.component\";\r\n\r\n\r\nimport {IRenderMenuItemOptions} from \"../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemRendererBase} from \"../../menu-items-common/renderer/menu-item-renderer-base\";\r\n\r\nexport class GenericSideMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {ISideMenuService} from './side-menu.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {SideMenuItemConfigReader} from \"./menu-items/side-menu-item-config-reader\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemRenderer} from \"../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {GenericSideMenuItemRenderer} from \"./menu-items/generic-side-menu-item.renderer\";\r\n\r\nimport {\r\n loadCustomMenuItemsRenderers\r\n} from \"../menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader\";\r\n\r\nexport class SideMenuService extends ServiceBase implements ISideMenuService, IOverlayConsumer {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n this.services.overlay.registerConsumer(this);\r\n this.menuItemConfigReader = new SideMenuItemConfigReader(services);\r\n\r\n let rendererModules = require.context('./menu-items/custom-renderers', true, /.+\\.renderer\\.(ts|tsx)$/);\r\n this._customMenuItems = loadCustomMenuItemsRenderers(rendererModules.keys().map(rendererModules), this.menuItemConfigReader, this.services);\r\n\r\n\r\n }\r\n\r\n readonly menuItemConfigReader: SideMenuItemConfigReader;\r\n private readonly _customMenuItems: Record;\r\n\r\n\r\n getMenuItem(key: MenuItemKey): IMenuItemRenderer {\r\n let menuItemRenderer = this.services.regulation.current.menuItems.getSideMenuItem(key);\r\n if(menuItemRenderer) {\r\n return menuItemRenderer;\r\n }\r\n\r\n menuItemRenderer = this._customMenuItems[key];\r\n if(menuItemRenderer) {\r\n return menuItemRenderer;\r\n }\r\n\r\n return new GenericSideMenuItemRenderer(key, this.menuItemConfigReader, this.services);\r\n }\r\n\r\n @observable.ref\r\n isMobileMenuOpen: boolean = false;\r\n\r\n @action.bound\r\n private _setIsMobileMenuOpen(shouldOpen: boolean) {\r\n this.isMobileMenuOpen = shouldOpen;\r\n }\r\n\r\n get needsOverlay(): boolean {\r\n return this.isMobileMenuOpen;\r\n }\r\n\r\n onOverlayClicked() {\r\n this.closeMobileMenu();\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return this.zIndex - 1;\r\n }\r\n\r\n get zIndex(): number {\r\n return 120;\r\n }\r\n\r\n openMobileMenu(): void {\r\n if (!this.isMobileMenuOpen) {\r\n this.services.userMenu.closeMenu();\r\n this.services.gameRunner.currentRunningGame?.closeGame({\r\n shouldSuggestNextGame: false\r\n });\r\n this._setIsMobileMenuOpen(true);\r\n }\r\n }\r\n\r\n closeMobileMenu(): void {\r\n if (this.isMobileMenuOpen) {\r\n this.services.gameSearch.closeSearchResult();\r\n this.closeMobileLanguageSwitcher();\r\n this._setIsMobileMenuOpen(false);\r\n }\r\n }\r\n\r\n\r\n\r\n @observable.ref\r\n isMobileLanguageSwitcher: boolean = false;\r\n\r\n @action.bound\r\n openMobileLanguageSwitcher(): void {\r\n this.isMobileLanguageSwitcher = true;\r\n }\r\n\r\n @action.bound\r\n closeMobileLanguageSwitcher(): void {\r\n this.isMobileLanguageSwitcher = false;\r\n }\r\n}\r\n","import {GameInfo, OpenGameParameters} from '../games/game-info';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SuggestedLinkConfiguration} from '../configurations/config-data-sections/game-search-box.configuration';\r\nimport {IMenuItemAction} from \"../menu-item-action-factory/menu-item-action.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\r\n\r\nexport interface ISearchSuggestion {\r\n readonly key: string;\r\n readonly text: string;\r\n readonly linkIconClass: string;\r\n readonly type: string;\r\n readonly gameInfo: GameInfo | null;\r\n executeAction(): void;\r\n}\r\n\r\nexport const SUGGESTED_CATEGORIES = \"Suggested_Categories\";\r\n\r\n\r\nexport class GameSuggestion implements ISearchSuggestion {\r\n constructor(private services: IServiceFactoryExtended,\r\n private _gameInfo: GameInfo,\r\n private _analyticsLabel: string,\r\n private _index?: number,\r\n private _aiSortingType?: string) {\r\n\r\n }\r\n\r\n get gameInfo(): GameInfo {\r\n return this._gameInfo;\r\n }\r\n\r\n get type(): string {\r\n return this._analyticsLabel;\r\n }\r\n\r\n get key(): string {\r\n return this._gameInfo.gameType + '_' + this._gameInfo.title;\r\n }\r\n\r\n get text(): string {\r\n return this._gameInfo.title;\r\n }\r\n\r\n get linkIconClass(): string {\r\n return this._gameInfo.gameCategory;\r\n }\r\n\r\n executeAction(): void {\r\n\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: true,\r\n pageName: 'Search',\r\n gameIndex: this._index,\r\n listTitle: this.type,\r\n aiSortingType: this._aiSortingType,\r\n showIntermediatePage: this.services.cmsSegmentation.isCstatus === false //Show intermediate page only for user with cStatus == false, TASK 1832892\r\n };\r\n\r\n this._gameInfo.open(openGameParams);\r\n }\r\n}\r\n\r\n\r\nexport class SearchLinkSuggestion implements ISearchSuggestion {\r\n constructor(private _linkConfig: SuggestedLinkConfiguration,\r\n private services: IServiceFactoryExtended,\r\n private _analyticsAction: string) {\r\n if(this._linkConfig.menuItemKey) {\r\n this._menuItem = this.services.gameSearch.getMenuItemAction(this._linkConfig.menuItemKey);\r\n }\r\n }\r\n\r\n private readonly _menuItem: IMenuItemAction | null = null;\r\n\r\n get gameInfo(): GameInfo | null{\r\n return null;\r\n }\r\n\r\n get type(): string {\r\n return this._analyticsAction;\r\n }\r\n\r\n get key(): string {\r\n return this._linkConfig.text;\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate(this._linkConfig.text);\r\n }\r\n\r\n get linkIconClass(): string {\r\n return 'link';\r\n }\r\n\r\n executeAction() {\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search, this.type, this.text);\r\n if(this._linkConfig.linkId) {\r\n this.services.linksNavigation.navigateLink({\r\n linkId: this._linkConfig.linkId,\r\n linkHash: this._linkConfig.linkHash\r\n });\r\n }\r\n else if(this._menuItem) {\r\n this._menuItem.execute({\r\n linkHash: this._linkConfig.linkHash\r\n });\r\n } else {\r\n this.services.logger.error(`Navigation for search suggestion link ${this.key} not specified`)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport class GameSearchResult {\r\n constructor(private _games: ISearchSuggestion[], private _suggestedCategories: ISearchSuggestion[], private _suggestedGames: ISearchSuggestion[]) {}\r\n\r\n get suggestedGames(): ISearchSuggestion[] {\r\n return this._suggestedGames;\r\n }\r\n\r\n get games(): ISearchSuggestion[] {\r\n return this._games;\r\n }\r\n\r\n get suggestedCategories(): ISearchSuggestion[] {\r\n return this._suggestedCategories;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchTitleDefaultBox = styled.div`\r\n margin: 1rem 0;\r\n font-size: 1.4rem;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n color: ${props => props.theme.colors.text};\r\n`;","import { baseColors } from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\nimport {SearchTitleDefaultBox} from \"./search-title.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const SearchTitleMrGreenMiniOrbitBox = styled(SearchTitleDefaultBox)`\r\n color:${baseColors.warmWhite};\r\n`;\r\n","import {SearchTitleDefaultBox} from \"./search-title.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchTitleMrGreenMiniOrbitBox} from \"./search-title-mr-green-mini-orbit.box\";\r\n\r\nexport const SearchTitleBox = styledByTheme( SearchTitleDefaultBox).forMrGreenCis(SearchTitleMrGreenMiniOrbitBox).forMrGreenCip(SearchTitleMrGreenMiniOrbitBox).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {SearchTitleBox} from \"./boxes/search-title-box/search-title.box\";\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\n\r\nexport interface SearchBoxTitleComponentProps {\r\n title: string;\r\n}\r\n\r\nexport class SearchBoxTitleComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n )\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchGamesListBox = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {Link} from \"../../../../../raw-components/link/link\";\r\n\r\nexport const SearchLinkDefaultBox = styled(Link)`\r\n display: flex;\r\n align-items: center;\r\n padding: 0.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 400;\r\n font-size: 1.5rem;\r\n white-space: pre;\r\n color: ${props => props.theme.colors.text};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.textHover};\r\n background-color: ${props => props.theme.colors.backgroundHover};\r\n }\r\n\r\n &:before {\r\n content: \"\";\r\n width: 25px;\r\n height: 25px;\r\n margin: 0 0.5rem 0 0;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n transform: scale(0.8);\r\n }\r\n }\r\n`;","import {SearchLinkDefaultBox} from \"./search-link.default.box\";\r\n\r\nexport const SearchLinkBox = SearchLinkDefaultBox;","import styled from \"styled-components\";\r\nimport {SearchLinkBox} from \"../../../search-result-item/boxes/search-links/search-link.box\";\r\n\r\nexport const SearchNoGamesFoundDefaultBox = styled(SearchLinkBox)`\r\n font-size: 1.4rem;\r\n cursor: default;\r\n &:before {\r\n content: \"\";\r\n width: 0;\r\n height: 0;\r\n margin: 0 \r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchNoGamesFoundDefaultBox} from \"./search-no-games-found.default.box\";\r\n\r\nexport const SearchNoGamesFoundCasino777Box = styled(SearchNoGamesFoundDefaultBox)`\r\n font-size: 1.6rem;\r\n`;","import {SearchNoGamesFoundDefaultBox} from \"./search-no-games-found.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchNoGamesFoundCasino777Box} from \"./search-no-games-found.casino777.box\";\r\n\r\nexport const SearchNoGamesFoundBox = styledByTheme(SearchNoGamesFoundDefaultBox)\r\n .forCasino777(SearchNoGamesFoundCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchGameItemBox = styled.div`\r\n width: calc(100% / 3);\r\n padding-right: 3px;\r\n display: flex;\r\n flex-direction: column;\r\n cursor: pointer;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchMatchBoxDefault = styled.span`\r\n font-weight: bold;\r\n color: ${props => props.theme.colors.brandPrimary}\r\n`;","import {SearchMatchBoxDefault} from \"./search-match.default.box\";\r\n\r\nexport const SearchMatchBox = SearchMatchBoxDefault;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchMatchBox} from \"./boxes/search-match.box\";\r\nimport {removeSpecialCharacters} from \"../../../../../utils/string-helpers\";\r\n\r\nexport interface SearchListItemComponentProps {\r\n gameName : string;\r\n}\r\n\r\nexport const HighlightSearchListItemComponent = observer(\r\n class HighlightSearchListItemComponent extends OrbitComponent {\r\n render() {\r\n let searchText = removeSpecialCharacters(this.services.gameSearch.currentSearchText).toLowerCase();\r\n const gameName = this.props.gameName\r\n if(!searchText) {\r\n return gameName;\r\n }\r\n\r\n let index = removeSpecialCharacters(gameName).toLowerCase().indexOf(searchText);\r\n if(index < 0) {\r\n return gameName ;\r\n }\r\n\r\n const beforeHighlightText = gameName.substring(0, index);\r\n let highlightText = gameName.substring(index, index + searchText.length);\r\n // Found how many special characters we have in this string\r\n const numberOfSpecialCharacters = highlightText.length - removeSpecialCharacters(highlightText).length;\r\n highlightText = gameName.substring(index, index + searchText.length + numberOfSpecialCharacters);\r\n\r\n const afterHighlightText = gameName.substring(index + searchText.length + numberOfSpecialCharacters);\r\n\r\n return (\r\n <>\r\n {beforeHighlightText}{highlightText}{afterHighlightText}\r\n \r\n )\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchTextWrapperBox = styled.div`\r\n text-align: center;\r\n margin-bottom: 0.5rem;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchGameImageBox = styled.div`\r\n border-radius: 15px;\r\n overflow: hidden;\r\n`;\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../../../base-components/orbit-component/orbit-component';\r\nimport { observer } from 'mobx-react';\r\nimport { SearchGameItemBox } from './boxes/search-game-item/search-game-item.box';\r\nimport { ISearchSuggestion } from '../../../../services/game-search/game-search-result';\r\nimport { GameImageComponent } from '../../../single-game/common/parts/game-image/game-image.component';\r\nimport { HighlightSearchListItemComponent } from '../highlight-search-list-item/highlight-search-list-item.component';\r\nimport { SearchTextWrapperBox } from './boxes/search-text-wrapper/search-text-wrapper.box';\r\nimport {SearchGameImageBox} from \"./boxes/search-game-image-box/search-game-image.box\";\r\n\r\n\r\nexport interface SearchGameItemComponentProps {\r\n searchSuggestion: ISearchSuggestion;\r\n}\r\n \r\n\r\nexport const SearchGameItemComponent = observer(\r\n class SearchGameItemComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = () => {\r\n this.services.gameSearch.closeSearchResult();\r\n this.services.userMenu.closeMenu();\r\n this.services.sideMenu.closeMobileMenu();\r\n this.props.searchSuggestion.executeAction();\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../../../base-components/orbit-component/orbit-component';\r\nimport { SearchBoxTitleComponent } from '../search-box-title/search-box-title.component';\r\nimport { ISearchSuggestion } from '../../../../services/game-search/game-search-result';\r\nimport { observer } from 'mobx-react';\r\nimport { CyClass } from '../../../../../common/cy-classes';\r\nimport { SearchGameItemComponent } from '../search-game-item/search-game-item.component';\r\nimport { SearchGamesListBox } from '../found-games/boxes/search-games-list/search-games-list.box';\r\n\r\nexport interface SuggestedGamesComponentProps {\r\n items: ISearchSuggestion[];\r\n}\r\n\r\nexport const SuggestedGamesComponent = observer(\r\n class SuggestedGamesComponent extends OrbitComponent {\r\n\r\n private _renderGame(suggestedCategory: ISearchSuggestion) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n private _renderGames() {\r\n return (\r\n \r\n { this.props.items.map(suggestedCategory => this._renderGame(suggestedCategory)) }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (this.props.items.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._renderGames()}\r\n \r\n )\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const MoreGamesBox = styled.div<{shouldDisplay: boolean}>`\r\n display: ${props => props.shouldDisplay ? \"block\" : \"none\"};\r\n width: 100%;\r\n padding: 3px 1rem;\r\n`;\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../../../base-components/orbit-component/orbit-component';\r\nimport { SearchBoxTitleComponent } from '../search-box-title/search-box-title.component';\r\nimport { ISearchSuggestion } from '../../../../services/game-search/game-search-result';\r\nimport { observer } from 'mobx-react';\r\nimport { SearchGamesListBox } from \"./boxes/search-games-list/search-games-list.box\";\r\nimport { SearchNoGamesFoundBox } from \"./boxes/search-no-game-found/search-no-games-found.box\";\r\nimport { CyClass } from \"../../../../../common/cy-classes\";\r\nimport { SearchGameItemComponent } from '../search-game-item/search-game-item.component';\r\nimport { SuggestedGamesComponent } from '../suggested-games/suggested-games.component';\r\nimport { Button } from '../../../../basic-ui-components/button/base/button.component';\r\nimport { MoreGamesBox } from './boxes/more-games/more-games.box';\r\n\r\nexport interface IFoundGamesComponentProps {\r\n loadedGamesCount: number;\r\n onLoadMore: () => void;\r\n}\r\n\r\nexport const FoundGamesComponent = observer(\r\n class FoundGamesComponent extends OrbitComponent {\r\n\r\n private _renderGame(suggestedGame: ISearchSuggestion) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _hasMoreItems = () => this.props.loadedGamesCount < this.services.gameSearch.searchResult.games.length;\r\n\r\n private _renderMoreGames() {\r\n if (this.services.device.os.isPC) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate(\"MORE\")}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderFoundGames() {\r\n const gamesToRender = Math.min(this.props.loadedGamesCount, this.services.gameSearch.searchResult.games.length);\r\n return (\r\n \r\n {this.services.gameSearch.searchResult.games.slice(0, gamesToRender).map(suggestedGame => this._renderGame(suggestedGame))}\r\n {this._renderMoreGames()}\r\n \r\n );\r\n }\r\n\r\n private _renderNoSearchResultMessage() {\r\n return (\r\n <>\r\n \r\n {this.services.translation.translate('NO_SEARCH_RESULTS')}\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n { this.services.gameSearch.searchResult?.games?.length > 0 ?\r\n this._renderFoundGames() :\r\n this._renderNoSearchResultMessage()\r\n }\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchResultItemDefaultBox = styled.li`\r\n list-style-type: none;\r\n \r\n &:hover {\r\n background-color: ${props => props.theme.colors.background};\r\n }\r\n`;","import {SearchResultItemDefaultBox} from \"./search-result-item.default.box\";\r\n\r\nexport const SearchResultItemBox = SearchResultItemDefaultBox;","import styled from \"styled-components\";\r\nimport {SearchLinkBox} from \"../search-link.box\";\r\n\r\nexport const SlotsSearchLinkDefaultBox = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -96px -447px;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchLinkBox} from \"../search-link.box\";\r\n\r\nexport const SlotsSearchLinkCasino777Box = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -200px -525px;\r\n }\r\n`;","import {SlotsSearchLinkDefaultBox} from \"./slots-search-link.default.box\";\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SlotsSearchLinkCasino777Box} from \"./slots-search-link.casino777.box\";\r\n\r\nexport const SlotsSearchLinkBox = styledByTheme(SlotsSearchLinkDefaultBox)\r\n .forCasino777(SlotsSearchLinkCasino777Box)\r\n .apply();","import {SearchLinkBox} from \"../search-link.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const LiveSearchLinkDefaultBox = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -290px -448px;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchLinkBox} from \"../search-link.box\";\r\n\r\nexport const LiveSearchLinkCasino777Box = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -268px -523px;\r\n }\r\n`;","import {LiveSearchLinkDefaultBox} from \"./live-search-link.default.box\";\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveSearchLinkCasino777Box} from \"./live-search-link.casino777.box\";\r\n\r\nexport const LiveSearchLinkBox = styledByTheme(LiveSearchLinkDefaultBox)\r\n .forCasino777(LiveSearchLinkCasino777Box)\r\n .apply();","import {SearchLinkBox} from \"../search-link.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const CardAndTableSearchLinkDefaultBox = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -241px -447px;\r\n }\r\n`;","import {SearchLinkBox} from \"../search-link.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const CardAndTableSearchLinkCasino777Box = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -233px -523px;\r\n }\r\n`;","import {CardAndTableSearchLinkDefaultBox} from \"./card-and-table-search.default.box\";\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {CardAndTableSearchLinkCasino777Box} from \"./card-and-table-search-link.casino777.box\";\r\n\r\nexport const CardAndTableSearchLinkBox = styledByTheme(CardAndTableSearchLinkDefaultBox)\r\n .forCasino777(CardAndTableSearchLinkCasino777Box)\r\n .apply();","import {SearchLinkBox} from \"../search-link.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const RegularSearchLinkDefaultBox = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -112px -630px;\r\n }\r\n`;","import {SearchLinkBox} from \"../search-link.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const RegularSearchLinkCasino777Box = styled(SearchLinkBox)`\r\n &:before {\r\n background-position: -460px -434px;\r\n }\r\n`;","import {RegularSearchLinkDefaultBox} from \"./regular-search-link.default.box\";\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {RegularSearchLinkCasino777Box} from \"./regular-search-link.casino777.box\";\r\n\r\nexport const RegularSearchLinkBox = styledByTheme(RegularSearchLinkDefaultBox)\r\n .forCasino777(RegularSearchLinkCasino777Box)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {ISearchSuggestion} from '../../../../services/game-search/game-search-result';\r\nimport {HighlightSearchListItemComponent} from '../highlight-search-list-item/highlight-search-list-item.component';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchResultItemBox} from \"./boxes/search-result-item-box/search-result-item.box\";\r\nimport {SlotsSearchLinkBox} from \"./boxes/search-links/slots-search-link/slots-search-link.box\";\r\nimport {LiveSearchLinkBox} from \"./boxes/search-links/live-search-link/live-search-link.box\";\r\nimport {CardAndTableSearchLinkBox} from \"./boxes/search-links/card-and-table-search-link/card-and-table-search-link.box\";\r\nimport {RegularSearchLinkBox} from \"./boxes/search-links/regular-search-link/regular-search-link.box\";\r\nimport {GAMES_CATEGORIES} from \"../../../../services/games/games-categories.enum\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../../../../services/analytics/analytics.service.interface\";\r\n\r\nexport interface SearchResultItemComponentProps {\r\n searchSuggestion: ISearchSuggestion\r\n}\r\n\r\nexport const SearchResultItemComponent = observer(\r\n class SearchResultItemComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = () => {\r\n this.services.gameSearch.closeSearchResult();\r\n this.services.userMenu.closeMenu();\r\n this.services.sideMenu.closeMobileMenu();\r\n this.props.searchSuggestion.executeAction();\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search, this.props.searchSuggestion.type, this.props.searchSuggestion.text);\r\n };\r\n\r\n _renderSearchLinkBox(iconStyle: string) {\r\n switch(iconStyle) {\r\n case GAMES_CATEGORIES.SLOTS:\r\n return (\r\n \r\n \r\n \r\n );\r\n case GAMES_CATEGORIES.LIVE:\r\n return (\r\n \r\n \r\n \r\n );\r\n case GAMES_CATEGORIES.CARD_AND_TABLE:\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderSearchLinkBox(this.props.searchSuggestion.linkIconClass)}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchLinksListDefaultBox = styled.ul`\r\n margin: 0 0 2rem 0;\r\n padding: 0;\r\n border-left: 2px solid ${props => props.theme.colors.boxBorderLight};\r\n`;","import {SearchLinksListDefaultBox} from \"./search-links-list.default.box\";\r\n\r\nexport const SearchLinksListBox = SearchLinksListDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {SearchBoxTitleComponent} from '../search-box-title/search-box-title.component';\r\nimport {ISearchSuggestion} from '../../../../services/game-search/game-search-result';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchResultItemComponent} from '../search-result-item/search-result-item.component';\r\nimport {SearchLinksListBox} from \"./boxes/search-links-list/search-links-list.box\";\r\n\r\nexport interface SuggestedCategoriesComponentProps {\r\n title: string;\r\n className: string;\r\n items: ISearchSuggestion[];\r\n}\r\n\r\nexport const SuggestedLinksComponent = observer(\r\n class SuggestedLinksComponent extends OrbitComponent {\r\n\r\n private _renderSuggestedCategory(suggestedCategory: ISearchSuggestion) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n private _renderSuggestedCategories() {\r\n return this.props.items.map(suggestedCategory => this._renderSuggestedCategory(suggestedCategory))\r\n\r\n }\r\n\r\n render() {\r\n if(this.props.items.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this._renderSuggestedCategories()}\r\n \r\n \r\n )\r\n }\r\n\r\n }\r\n);\r\n","import { ISearchFormResultsProps } from './search-form-results.box.props';\r\nimport styled, { css } from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n flex: 1;\r\n margin-left: 2rem;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n position: relative;\r\n margin-right: 1rem;\r\n ${props => props.isHybridAndroid ? css`padding-bottom: 500px;` : \"\"}\r\n`;\r\n\r\nconst PCBox = styled(DefaultBox)`\r\n position: absolute;\r\n width: 45rem;\r\n margin: 5rem 0 0 0;\r\n padding: 1rem 1rem 1rem 5rem;\r\n background: ${props => props.theme.colors.backgroundMiddleDark};\r\n border: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n border-radius: 2rem;\r\n max-height: calc(100vh - 55px);\r\n overflow-y: auto;\r\n\r\n &::-webkit-scrollbar {\r\n width: 5px;\r\n }\r\n\r\n &::-webkit-scrollbar-track {\r\n background: rgba(255, 255, 255, 0.1);\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background: rgba(255, 255, 255, 0.5);\r\n }\r\n\r\n &::-webkit-scrollbar-thumb:hover {\r\n background: rgba(255, 255, 255, 0.8);\r\n }\r\n`;\r\n\r\nexport const SearchFormResultsDefaultBox = styledByDevice(PCBox, MobileBox);","import styled, { css } from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../themes/architecture/styled-by-device\";\r\nimport { ISearchFormResultsProps } from \"./search-form-results.box.props\";\r\n\r\nconst DefaultBox = styled.div`\r\n flex: 1;\r\n background-size: 4px 4px;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n padding: 1rem;\r\n margin: 1rem 0;\r\n background: linear-gradient(-45deg,rgba(252,246,213,0.8) 33.33%,rgba(25,50,47,0.1) 33.33%,rgba(25,50,47,0.2) 50%,rgba(252,246,213,0.8) 50%,rgba(252,246,213,0.8) 83.33%,rgba(25,50,47,0.1) 83.33%,rgba(25,50,47,0.1) 100%);\r\n ${props => props.isHybridAndroid ? css`padding-bottom: 500px;` : \"\"}\r\n`;\r\n\r\nconst PCBox = styled(DefaultBox)`\r\n position: absolute;\r\n width: 45rem;\r\n margin: 5rem 0 0 0;\r\n padding: 1rem 1rem 1rem 5rem;\r\n border-radius: 5px;\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n`;\r\n\r\nexport const SearchFormResultsCasino777Box = styledByDevice(PCBox, MobileBox);","import {SearchFormResultsDefaultBox} from \"./search-form-results.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchFormResultsCasino777Box} from \"./search-form-results.casino777.box\";\r\n\r\nexport const SearchFormResultsBox = styledByTheme(SearchFormResultsDefaultBox)\r\n .forCasino777(SearchFormResultsCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchFormResultsWrapperDefaultBox = styled.div`\r\n\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const SearchFormResultsWrapperCasino777Box = styled.div`\r\n background: ${props => props.theme.colors.brandSecondary};\r\n padding: 1rem;\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchFormResultsWrapperDefaultBox} from \"./search-form-results-wrapper.default.box\";\r\nimport {SearchFormResultsWrapperCasino777Box} from \"./search-form-results-wrapper.casino777.box\";\r\n\r\nexport const SearchFormResultsWrapperBox = styledByTheme(SearchFormResultsWrapperDefaultBox)\r\n.forCasino777(SearchFormResultsWrapperCasino777Box)\r\n.apply();","import React from 'react';\r\nimport { OrbitComponentWithState } from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport { observer } from 'mobx-react';\r\nimport { FoundGamesComponent } from \"./found-games/found-games.component\";\r\nimport { SuggestedLinksComponent } from \"./suggested-links/suggested-links.component\";\r\nimport { SearchFormResultsBox } from \"./boxes/search-form-results-box/search-form-results.box\";\r\nimport { SearchFormResultsWrapperBox } from \"./boxes/search-form-results-wrapper-box/search-form-results-wrapper.box\";\r\nimport { SuggestedGamesComponent } from './suggested-games/suggested-games.component';\r\nimport {\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsLabel\r\n} from \"../../../services/analytics/analytics.service.interface\";\r\n\r\n\r\nexport interface ISearchResultComponentState {\r\n loadedGames: number;\r\n}\r\n\r\nconst LOAD_BATCH_SIZE = 12;\r\n\r\nconst defaultState: ISearchResultComponentState = {\r\n loadedGames: LOAD_BATCH_SIZE\r\n}\r\n\r\nexport const SearchResultComponent = observer(\r\n class SearchResultComponent extends OrbitComponentWithState<{}, ISearchResultComponentState> {\r\n\r\n state = {...defaultState};\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.gameSearch.currentSearchText, () => {\r\n this._resetState();\r\n })\r\n }\r\n\r\n private _onLoadMore = () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search,'Entry', OrbitUserFlowAnalyticsLabel.ShowMore);\r\n const moreItems = Math.min(this.state.loadedGames + LOAD_BATCH_SIZE, this.services.gameSearch.searchResult.games.length);\r\n this.setState({\r\n loadedGames: moreItems\r\n });\r\n }\r\n\r\n private _resetState() {\r\n this.setState({...defaultState});\r\n }\r\n\r\n _renderSearchResults() {\r\n if (this.services.gameSearch.isSearchInProgress) {\r\n return (\r\n <>\r\n \r\n {this.services.miniOrbit.isEnabled ? null : }\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n {this.services.miniOrbit.isEnabled ? null : }\r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.services.gameSearch.isSearchBoxOpened) {\r\n return null;\r\n }\r\n\r\n const isHybridAndroid = this.services.device.hybrid.isHybrid && !this.services.device.os.isIOS;\r\n\r\n return (\r\n \r\n \r\n {this._renderSearchResults()}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled, {css} from \"styled-components\";\r\nimport {ISearchClearIconBoxProps} from \"./search-clear-icon.box\";\r\n\r\nexport const SearchClearIconDefaultBox = styled.i`\r\n position: absolute;\r\n right: 2rem;\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -857px -643px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 2;\r\n \r\n ${props => !props.visible && css`\r\n display: none;\r\n `}\r\n`;","import styled from \"styled-components\";\r\nimport {SearchClearIconDefaultBox} from \"./search-clear-icon.default.box\";\r\n\r\nexport const SearchClearIconCasino777Box = styled(SearchClearIconDefaultBox)`\r\n background-position: -585px -519px;\r\n`;","import {SearchClearIconDefaultBox} from \"./search-clear-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchClearIconCasino777Box} from \"./search-clear-icon.casino777.box\";\r\n\r\nexport interface ISearchClearIconBoxProps {\r\n visible: boolean;\r\n}\r\n\r\nexport const SearchClearIconBox = styledByTheme(SearchClearIconDefaultBox)\r\n .forCasino777(SearchClearIconCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchInputMobileDefaultBox = styled.ul`\r\n position: relative;\r\n margin: 1rem 0 0 0;\r\n`;","import styled from \"styled-components\";\r\nimport {SearchInputMobileDefaultBox} from \"./search-input-mobile.default.box\";\r\n\r\nexport const SearchInputMobileCasino777Box = styled(SearchInputMobileDefaultBox)`\r\n padding: 1rem;\r\n background: linear-gradient(-45deg, rgba(252,246,213,0.8) 33.33%, rgba(25,50,47,0.1) 33.33%, rgba(25,50,47,0.2) 50%, rgba(252,246,213,0.8) 50%, rgba(252,246,213,0.8) 83.33%, rgba(25,50,47,0.1) 83.33%, rgba(25,50,47,0.1) 100%);\r\n background-size: 4px 4px;\r\n border-radius: 5px;\r\n box-shadow: 2px 3px 1rem rgba(25,50,48,0.2);\r\n`;","import styled from \"styled-components\";\r\nimport {SearchInputMobileDefaultBox} from \"./search-input-mobile.default.box\";\r\n\r\nexport const SearchInputMobileMrGreenCisBox = styled(SearchInputMobileDefaultBox)`\r\n margin: 0 1rem;\r\n`;","import {SearchInputMobileDefaultBox} from \"./search-input-mobile.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchInputMobileCasino777Box} from \"./search-input-mobile.casino777.box\";\r\nimport { SearchInputMobileMrGreenCisBox } from \"./search-input-mobile.mrgreenCis.box\";\r\n\r\nexport const SearchInputMobileBox = styledByTheme(SearchInputMobileDefaultBox)\r\n .forCasino777(SearchInputMobileCasino777Box)\r\n .forMrGreenCis(SearchInputMobileMrGreenCisBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchBoxMobileIconDefaultBox = styled.i`\r\n display: block;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n left: 1rem;\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -138px -626px;\r\n z-index: 2;\r\n`;","import styled from \"styled-components\";\r\nimport {SearchBoxMobileIconDefaultBox} from \"./search-box-mobile-icon.default.box\";\r\n\r\nexport const SearchBoxMobileIconCasino777Box= styled(SearchBoxMobileIconDefaultBox)`\r\n left: 2rem;\r\n background-position: -488px -581px;\r\n`;\r\n","import {SearchBoxMobileIconDefaultBox} from \"./search-box-mobile-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchBoxMobileIconCasino777Box} from \"./search-box-mobile-icon.casino777.box\";\r\n\r\nexport const SearchBoxMobileIconBox = styledByTheme(SearchBoxMobileIconDefaultBox)\r\n .forCasino777(SearchBoxMobileIconCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst SearchInputArenaMutual = styled.input`\r\n height: initial;\r\n margin: auto 0;\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => props.theme.colors.backgroundLight};\r\n\r\n &:focus {\r\n background: ${props => props.theme.colors.backgroundLight};\r\n }\r\n`;\r\n\r\nexport const SearchInputArenaDefaultPCBox = styled(SearchInputArenaMutual)`\r\n position: relative;\r\n width: 32rem;\r\n padding: 1rem 2rem 1rem 5rem;\r\n font-size: 1.4rem;\r\n font-weight: 700;\r\n line-height: 1;\r\n border-radius: 2rem;\r\n border: 2px solid transparent;\r\n transition: width 0.2s ease;\r\n\r\n &:focus {\r\n width: 45rem;\r\n transition: width 0.2s ease;\r\n }\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\nexport const SearchInputArenaDefaultMobileBox = styled(SearchInputArenaMutual)`\r\n display: flex;\r\n width: 100%;\r\n padding: 1.5rem 5.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.6rem;\r\n font-weight: 300;\r\n border: none;\r\n\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n &:focus {\r\n border: none;\r\n box-shadow: none;\r\n }\r\n`;\r\n\r\nexport const SearchInputAreaDefaultBox = styledByDevice(SearchInputArenaDefaultPCBox,SearchInputArenaDefaultMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst SearchInputAreaMutual = styled.input`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n height: initial;\r\n margin: 0;\r\n background: ${props => props.theme.colors.background};\r\n\r\n &:focus {\r\n box-shadow: none;\r\n outline: none;\r\n }\r\n\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\n\r\nconst SearchInputAreaCasino777PCBox = styled(SearchInputAreaMutual)`\r\n width: 32rem;\r\n padding: 1rem 2rem 1rem 5rem;\r\n font-size: 1.4rem;\r\n font-weight: 700;\r\n line-height: 1;\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.2s ease;\r\n border-radius: 5px;\r\n\r\n &:focus {\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\nconst SearchInputAreaCasino777MobileBox = styled(SearchInputAreaMutual)`\r\n display: flex;\r\n width: 100%;\r\n padding: 1.5rem 5.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.6rem;\r\n font-weight: 400;\r\n border: none;\r\n`;\r\n\r\nexport const SearchInputAreaCasino777Box = styledByDevice(SearchInputAreaCasino777PCBox,SearchInputAreaCasino777MobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputArenaHarrahsPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderDark};\r\n`;\r\n\r\nexport const SearchInputArenaHarrahsBox = styledByDevice(SearchInputArenaHarrahsPCBox, SearchInputArenaDefaultMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst SearchInputMutual = styled.input`\r\n height: initial;\r\n display: flex;\r\n margin: auto 0;\r\n background: ${props => props.theme.colors.background};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n &:focus {\r\n outline: none;\r\n box-shadow: none;\r\n }\r\n`;\r\n\r\nconst SearchInputAreaPCBox = styled(SearchInputMutual)`\r\n position: relative;\r\n width: 0;\r\n padding: 1rem 1.85rem;\r\n\r\n border-radius: 4rem;\r\n line-height: 1;\r\n font-size: 1.4rem;\r\n border: 1px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n cursor: pointer;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n\r\n &:focus {\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n width: 25rem;\r\n padding-left: 5rem;\r\n }\r\n\r\n`;\r\n\r\n\r\nconst SearchInputAreaMobileBox = styled(SearchInputMutual)`\r\n position: relative;\r\n width: 100%;\r\n font-size: 1.6rem;\r\n border: none;\r\n transition: width 0.5s ease;\r\n padding: 1.5rem 5.5rem;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n`;\r\n\r\nexport const SearchInputAreaCasino888Box = styledByDevice(SearchInputAreaPCBox, SearchInputAreaMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaBallysDoverPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaBallysDoverBox = styledByDevice(SearchInputAreaBallysDoverPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaDelawareParkPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaDelawareParkBox = styledByDevice(SearchInputAreaDelawareParkPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaHarringtonPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaHarringtonBox = styledByDevice(SearchInputAreaHarringtonPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputArenaSIPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 1.7px solid ${props => props.theme.colors.textMiddleDark};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n\r\nexport const SearchInputArenaSIBox = styledByDevice(SearchInputArenaSIPCBox, SearchInputArenaDefaultMobileBox);","import styled from \"styled-components\";\r\n\r\nexport const SearchInputAreaMrGreenBox = styled.input`\r\n position: relative;\r\n width: 0;\r\n height: initial;\r\n display: flex;\r\n margin: auto 0;\r\n background: transparent;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n color: ${props => props.theme.colors.textLight};\r\n padding: 1rem 1.9rem;\r\n cursor: pointer;\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n line-height: 1;\r\n border-radius: 4rem;\r\n font-size: 1.4rem;\r\n\r\n &:focus {\r\n outline: none;\r\n box-shadow: none;\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n width: 25rem;\r\n padding-left: 5rem;\r\n }\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n width: 100%;\r\n font-size: 1.6rem;\r\n transition: width 0.5s ease;\r\n padding: 1.5rem 5.5rem;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n &:focus {\r\n padding: 1.5rem 5.5rem;\r\n transition: width 0.5s ease;\r\n width: 100%;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\nimport { SearchInputAreaMrGreenBox } from \"./search-input-area.mrgreen.box\";\r\n\r\nexport const SearchInputAreaMrGreenCisBox = styled(SearchInputAreaMrGreenBox)`\r\n border-radius: unset;\r\n border: none;\r\n background: ${props => props.theme.colors.backgroundDark};\r\n color: ${baseColors.warmWhite};\r\n\r\n &::placeholder{\r\n color: ${baseColors.warmWhite};\r\n }\r\n`;","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchInputAreaDefaultBox} from \"./search-input-area.default.box\";\r\nimport {SearchInputAreaCasino777Box} from \"./search-input-area.casino777.box\";\r\nimport {SearchInputArenaHarrahsBox} from \"./search-input-area.harrahs.box\";\r\nimport {SearchInputAreaCasino888Box} from \"./search-input-area.casino888.box\";\r\nimport {SearchInputAreaBallysDoverBox} from \"./search-input-area.ballysdover.box\";\r\nimport {SearchInputAreaDelawareParkBox} from \"./search-input-area.delawarepark.box\";\r\nimport {SearchInputAreaHarringtonBox} from \"./search-input-area.harrington.box\";\r\nimport {SearchInputArenaSIBox} from \"./search-input-arena.si.box\";\r\nimport {SearchInputAreaMrGreenBox} from \"./search-input-area.mrgreen.box\";\r\nimport { SearchInputAreaMrGreenCisBox } from \"./search-input-area.mrgreenCis.box\";\r\n\r\n\r\nexport const SearchInputAreaBox = styledByTheme(SearchInputAreaDefaultBox)\r\n .forCasino888(SearchInputAreaCasino888Box)\r\n .forCasino777(SearchInputAreaCasino777Box)\r\n .forHarrahs(SearchInputArenaHarrahsBox)\r\n .forBallysDover(SearchInputAreaBallysDoverBox)\r\n .forDelawarePark(SearchInputAreaDelawareParkBox)\r\n .forHarrington(SearchInputAreaHarringtonBox)\r\n .forSI(SearchInputArenaSIBox)\r\n .forSICis(SearchInputArenaSIBox)\r\n .forMrGreen(SearchInputAreaMrGreenBox)\r\n .forMrGreenCis(SearchInputAreaMrGreenCisBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchInputAreaBox} from \"./boxes/search-input-area-box/search-input-area.box\";\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\n\r\nexport const SearchInputArea = observer(class SearchInputArea extends OrbitComponent<{}> {\r\n\r\n private _timeoutRef = null;\r\n private readonly HIDE_KEYBOARD_DELAY_MS: number = 2000;\r\n\r\n private _onChangeHandler = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n }\r\n\r\n private _onChangeHandlerWithBlur = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n\r\n if (this._timeoutRef) {\r\n clearTimeout(this._timeoutRef);\r\n }\r\n\r\n this._timeoutRef = setTimeout(() => {\r\n this._timeoutRef = null;\r\n if (this.services.gameSearch.currentSearchText) {\r\n this.services.gameSearch.searchInputRef.current?.blur();\r\n }\r\n }, this.HIDE_KEYBOARD_DELAY_MS);\r\n };\r\n\r\n private _onClickHandler = () => {\r\n this.services.gameSearch.openSearchResult();\r\n };\r\n\r\n render() {\r\n\r\n const onChangeHandler = this.services.device.isMobile ? this._onChangeHandlerWithBlur : this._onChangeHandler;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {SearchClearIconBox} from \"./boxes/search-clear-icon/search-clear-icon.box\";\r\nimport {SearchInputMobileBox} from \"./boxes/search-input-mobile/search-input-mobile.box\";\r\nimport {SearchBoxMobileIconBox} from \"./boxes/search-box-mobile-icon/search-box-mobile-icon.box\";\r\nimport {SearchInputArea} from \"../search-input-area/search-input-area\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface SearchInputMobileComponentProps {\r\n isSearchOpenAlways?: boolean;\r\n}\r\n\r\nexport const SearchInputMobileComponent = observer(\r\n class SearchInputMobileComponent extends OrbitComponent {\r\n private _onResetSearchTextHandler = () => {\r\n this.services.gameSearch.search('');\r\n this.services.gameSearch.searchInputRef?.current?.focus();\r\n };\r\n\r\n private get _showResetSearchIcon(): boolean {\r\n return (this.services.gameSearch.currentSearchText || '').length > 0;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {SearchInputFormDefaultBox} from \"./search-input-form.default.box\";\r\n\r\nexport const SearchInputFormBox = SearchInputFormDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const SearchInputFormDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const SearchPCIconBoxDefault = styled.i`\r\n display: block;\r\n position: absolute;\r\n top: 50%;\r\n left: 0.65rem;\r\n transform: translateY(-50%) scaleX(-1);;\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n z-index: 2;\r\n pointer-events: none;\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchPCIconCasino777Box = styled(SearchPCIconBoxDefault)`\r\n opacity: 0.5;\r\n\r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchPCIconHarrahsBox = styled(SearchPCIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchPCIconWSOPBox = styled(SearchPCIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\n\r\n// because on MrGreen the border of the search input is 2px instead of 1px we must adjust the position of the icon\r\nexport const SearchPCIconMrGreenBox = styled(SearchPCIconBoxDefault)`\r\n left: 0.8rem;\r\n`;","import {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchPCIconCasino777Box} from \"./search-pc-icon.casino777.box\";\r\nimport {SearchPCIconHarrahsBox} from \"./search-pc-icon.harrahs.box\";\r\nimport {SearchPCIconWSOPBox} from \"./search-pc-icon.wsop.box\";\r\nimport {SearchPCIconMrGreenBox} from \"./search-pc-icon.mrgreen.box\";\r\n\r\nexport const SearchPCIconBox = styledByTheme(SearchPCIconBoxDefault)\r\n .forCasino777(SearchPCIconCasino777Box)\r\n .forHarrahs(SearchPCIconHarrahsBox)\r\n .forWsop(SearchPCIconWSOPBox)\r\n .forMrGreen(SearchPCIconMrGreenBox)\r\n .forMrGreenCis(SearchPCIconMrGreenBox)\r\n .apply();","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from \"react\";\r\nimport {SearchInputArea} from \"../search-input-area/search-input-area\";\r\nimport {SearchInputFormBox} from \"./boxes/search-input-form/search-input-form.box\";\r\nimport {SearchPCIconBox} from \"./boxes/search-pc-icon/search-pc-icon.box\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const SearchInputPCComponent = observer(class SearchInputPCComponent extends OrbitComponent {\r\n render() {\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled, {css} from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\ninterface GameSearchDefaultBoxProps {\r\n open: boolean;\r\n}\r\n\r\nconst GameSearchMobileDefaultBox = styled.div`\r\n ${({open}) => open && css`\r\n flex: 1;\r\n `}\r\n`;\r\n\r\nconst GameSearchPCDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n`;\r\n\r\n\r\nexport const GameSearchDefaultBox: any = styledByDevice(GameSearchPCDefaultBox, GameSearchMobileDefaultBox);","import styled from \"styled-components\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\n\r\nexport const GameSearchMrGreenCisBox = styled(GameSearchDefaultBox)`\r\n height: 100%;\r\n background: linear-gradient(177.59deg, \r\n ${({theme}) => theme.colors.brandPrimary} 12.03%,\r\n ${({theme}) => theme.colors.brandPrimaryDark} 27.06%, \r\n ${({theme}) => theme.colors.brandPrimaryDark} 37.9%);\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\nimport { GameSearchMrGreenCisBox } from \"./game-search.mrgreenCis.box\";\r\n\r\nexport const GameSearchBox = styledByTheme(GameSearchDefaultBox)\r\n .forMrGreenCis(GameSearchMrGreenCisBox)\r\n .forMrGreenCip(GameSearchMrGreenCisBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SearchResultComponent} from './search-result/search-result.component';\r\nimport {SearchInputMobileComponent} from \"./search-input/search-input-mobile/search-input-mobile.component\";\r\nimport {SearchInputPCComponent} from \"./search-input/search-input-pc/search-input-pc.component\";\r\nimport {GameSearchBox} from \"./boxes/game-search-box/game-search.box\";\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\nexport interface IGameSearchComponentProps {\r\n className?: string;\r\n}\r\n\r\nexport const GameSearchComponent = observer(\r\n class GameSearchComponent extends OrbitComponent {\r\n _renderSearchInput() {\r\n return this.services.device.isMobile ? : ;\r\n }\r\n\r\n private _onUpdate = () => {\r\n this.services.gameSearch.searchResultComponentRef.current?.scrollTo(0, 0);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.gameSearch.searchInputRef?.current.addEventListener(\"input\", this._onUpdate);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.services.gameSearch.searchInputRef?.current.removeEventListener(\"input\", this._onUpdate);\r\n super.componentWillUnmount();\r\n }\r\n \r\n render() {\r\n return (\r\n \r\n {this._renderSearchInput()}\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n);\r\n","import {MenuItemConfigReaderBase} from \"./menu-item-config-reader-base\";\r\nimport {\r\n MenuItemsConfiguration\r\n} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemAnalyticsCategoryAndLabel} from \"./menu-item-config-reader.interface\";\r\n\r\nexport class MenuItemDefaultConfigReader extends MenuItemConfigReaderBase {\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return undefined;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel | null {\r\n return null;\r\n }\r\n}","import React, {createRef} from \"react\";\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGameSearchService} from './game-search.service.interface';\r\nimport {DomEventSubscription} from '../../../utils/event-listener-registration';\r\nimport { action, computed, observable, makeObservable } from 'mobx';\r\nimport {\r\n SearchLinkSuggestion,\r\n GameSearchResult,\r\n GameSuggestion,\r\n ISearchSuggestion,\r\n SUGGESTED_CATEGORIES\r\n} from './game-search-result';\r\nimport {SuggestedLinkConfiguration} from '../configurations/config-data-sections/game-search-box.configuration';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo, gameInfoComparerByTitle} from '../games/game-info';\r\nimport {IModalDialogHandler} from \"../dialog/dialog.service.interface\";\r\nimport {GameSearchComponent} from \"../../components/game-search/game-search.component\";\r\nimport {removeSpecialCharacters} from \"../../../utils/string-helpers\";\r\nimport { LIST_TYPE_ID } from \"../../../common/const/ai-trending-list-ids-map\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemAction} from \"../menu-item-action-factory/menu-item-action.interface\";\r\nimport {\r\n MenuItemDefaultConfigReader\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-default-config-reader\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\r\n\r\nexport class GameSearchService extends ServiceBase implements IGameSearchService, IOverlayConsumer {\r\n\r\n private _closeMobileSideMenuOnSearchClose: boolean = false;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.overlay.registerConsumer(this);\r\n\r\n this._menuItemConfigReader = new MenuItemDefaultConfigReader(services);\r\n\r\n\r\n this.reaction(() => this.services.games.gamesMap,\r\n () => {\r\n //this is to avoid circular dependency between this service and ISearchSuggestion implementations\r\n setTimeout(() => {\r\n this._resetGamesSearchListCache();\r\n this.search(this.currentSearchText);\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => {\r\n return {\r\n trendingRecommendedGamesForPlayerByBets: this.services.aiEngine.trendingRecommendedGamesForPlayerByBets,\r\n aiRecommendedGames: this.services.aiEngine.aiRecommendedGames\r\n }\r\n },\r\n () => {\r\n if(!this.isSearchInProgress) {\r\n this._setDefaultSearchResult();\r\n }\r\n });\r\n }\r\n\r\n private readonly _menuItemConfigReader: MenuItemDefaultConfigReader;\r\n\r\n private _miniOrbitSearchBoxDialogHandler: IModalDialogHandler | null = null;\r\n\r\n private _searchInputRef: React.RefObject = createRef();\r\n private _searchComponentRef: React.RefObject = createRef();\r\n private _searchResultComponentRef: React.RefObject = createRef();\r\n\r\n private _gamesSearchListCache: GameInfo[] | null = null;\r\n private get gamesSearchList(): GameInfo[] {\r\n if(!this._gamesSearchListCache) {\r\n this._gamesSearchListCache = this._buildGamesSearchList()\r\n }\r\n\r\n return this._gamesSearchListCache;\r\n }\r\n\r\n getMenuItemAction(key: MenuItemKey): IMenuItemAction {\r\n return this.services.menuItemActionFactory.getMenuItemAction(key, this._menuItemConfigReader);\r\n }\r\n _resetGamesSearchListCache() {\r\n this._gamesSearchListCache = null;\r\n }\r\n\r\n private _buildGamesSearchList(): GameInfo[] {\r\n return Object.values(this.services.games.gamesMap).sort(gameInfoComparerByTitle);\r\n }\r\n\r\n private _openMiniOrbitSearchDialog(): void {\r\n this.services.dialog.showModal((dialogHandler) => {\r\n this._miniOrbitSearchBoxDialogHandler = dialogHandler;\r\n return ();\r\n }, {\r\n title: ' ',\r\n onClosed: () => this.closeSearchResult(),\r\n forceFullscreenTablet: true\r\n });\r\n }\r\n\r\n get needsOverlay(): boolean {\r\n return this.isSearchBoxOpened;\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n onOverlayClicked() {\r\n this.closeSearchResult();\r\n }\r\n\r\n private _openFullOrbitSearchResult() {\r\n this._disposeDocumentClickSubscription();\r\n /*\r\n * Handle search result close on document click\r\n * Wonder why we use setTimeout? From React 17 the events are bound to react-dom root element instead of window.document\r\n * Read more here: https://github.com/facebook/react/issues/20636\r\n */\r\n setTimeout(() => {\r\n this._documentClickSubscription = this.services.dom.subscribeTo.click(this._handleClickOutsideSearchComponent);\r\n });\r\n\r\n }\r\n\r\n get searchInputRef() {\r\n return this._searchInputRef;\r\n }\r\n\r\n get searchComponentRef() {\r\n return this._searchComponentRef;\r\n }\r\n\r\n get searchResultComponentRef() {\r\n return this._searchResultComponentRef;\r\n }\r\n\r\n openSearchResult(): void {\r\n if(this.isSearchBoxOpened) { //No need to open it if is already opened\r\n return;\r\n }\r\n\r\n if(this.services.miniOrbit.isEnabled) {\r\n this._openMiniOrbitSearchDialog();\r\n } else {\r\n this._openFullOrbitSearchResult();\r\n }\r\n\r\n this._setIsSearchBoxOpened(true);\r\n\r\n this.searchInputRef?.current?.focus();\r\n\r\n if(this.services.device.isMobile){\r\n this._closeMobileSideMenuOnSearchClose = !this.services.sideMenu.isMobileMenuOpen;\r\n if(!this.services.sideMenu.isMobileMenuOpen) {\r\n this.services.sideMenu.openMobileMenu();\r\n }\r\n }\r\n\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",this.services.routing.currentRoute?.data?.arenaType || 'Header', 'Search_Open');\r\n }\r\n\r\n\r\n private _documentClickSubscription: DomEventSubscription | null = null;\r\n\r\n private _disposeDocumentClickSubscription() {\r\n if(this._documentClickSubscription) {\r\n this._documentClickSubscription.dispose();\r\n this._documentClickSubscription = null;\r\n }\r\n }\r\n\r\n\r\n private _closeMiniOrbitSearchDialog = () => {\r\n if(this._miniOrbitSearchBoxDialogHandler) {\r\n this._miniOrbitSearchBoxDialogHandler.close();\r\n this._miniOrbitSearchBoxDialogHandler = null;\r\n }\r\n };\r\n\r\n\r\n private _closeFullOrbitSearchResult = () => {\r\n this._disposeDocumentClickSubscription();\r\n };\r\n\r\n private _handleClickOutsideSearchComponent = (event) => {\r\n if (this._searchComponentRef.current && !this._searchComponentRef.current.contains(event.target)) {\r\n this.closeSearchResult();\r\n }\r\n }\r\n\r\n closeSearchResult = () => {\r\n if(!this.isSearchBoxOpened) { //if is already closed don't close it again\r\n return;\r\n }\r\n if(this.services.miniOrbit.isEnabled) {\r\n this._closeMiniOrbitSearchDialog();\r\n } else {\r\n this._closeFullOrbitSearchResult();\r\n }\r\n\r\n if(this._closeMobileSideMenuOnSearchClose){\r\n this._closeMobileSideMenuOnSearchClose = false;\r\n this.services.sideMenu.closeMobileMenu();\r\n }\r\n\r\n this._setIsSearchBoxOpened(false);\r\n\r\n //Will called when search box close or when game is selected (And closing the results as well)\r\n if(this.isSearchInProgress)\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search,'Entry', this.currentSearchText);\r\n\r\n this._setCurrentSearchText('');\r\n this._setDefaultSearchResult();\r\n };\r\n\r\n private _getGameSuggestion() {\r\n const gamesSuggestions: GameSuggestion[] = [];\r\n let aiSortingTypeForAnalytics:string = \"byactiveusers\";\r\n let aiGames = this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n\r\n if(!(aiGames?.length > 0)) {\r\n aiSortingTypeForAnalytics = 'config';\r\n aiGames = this.services.configuration.data.search.suggestedGames;\r\n }\r\n\r\n aiGames.forEach(gameType => {\r\n const gameInfo = this.services.games.gamesMap[gameType];\r\n\r\n if(!Check.isNullOrUndefined(gameInfo)){\r\n gamesSuggestions.push(new GameSuggestion(this.services, gameInfo, `Suggested_Games_${aiSortingTypeForAnalytics}`, gamesSuggestions.length, aiSortingTypeForAnalytics))\r\n }\r\n });\r\n\r\n return gamesSuggestions.slice(0, 6);\r\n }\r\n\r\n private _setDefaultSearchResult() {\r\n const quickLinks = this.services.configuration.data.search.quickLinks\r\n .map(quickLinkConfig => new SearchLinkSuggestion(quickLinkConfig, this.services, 'Quick_Links'));\r\n\r\n this._setSearchResult(new GameSearchResult([], quickLinks, this._getGameSuggestion()));\r\n }\r\n\r\n @computed\r\n get isSearchInProgress(): boolean {\r\n return this.currentSearchText.length >= 2;\r\n }\r\n\r\n @observable.ref\r\n isSearchBoxOpened: boolean = false;\r\n @action.bound\r\n private _setIsSearchBoxOpened(value: boolean) {\r\n this.isSearchBoxOpened = value;\r\n }\r\n\r\n @observable.ref\r\n currentSearchText: string = '';\r\n\r\n @action.bound\r\n private _setCurrentSearchText(value: string): void {\r\n this.currentSearchText = value;\r\n }\r\n\r\n search(text: string): void {\r\n text = text || '';\r\n\r\n if(!this.isSearchBoxOpened && text.length > 0) {\r\n this.openSearchResult();\r\n }\r\n\r\n this._setCurrentSearchText(text);\r\n\r\n if(this.isSearchInProgress) { //we only search if there are at least 2 characters typed in the search box\r\n let regEx = new RegExp(removeSpecialCharacters(text), 'gi');\r\n this._setSearchResult(this._getSearchResult(regEx));\r\n } else {\r\n this._setDefaultSearchResult();\r\n }\r\n }\r\n\r\n\r\n private _getSearchResult(regEx: RegExp): GameSearchResult {\r\n let games = this._searchForGames(regEx);\r\n let suggestedCategories: ISearchSuggestion[];\r\n if(games.length === 0) {\r\n suggestedCategories = this._getDefaultSuggestedCategories();\r\n } else {\r\n suggestedCategories = this._searchForSuggestedCategories(regEx);\r\n }\r\n\r\n return new GameSearchResult(games, suggestedCategories, this._getGameSuggestion());\r\n }\r\n\r\n @observable.ref\r\n searchResult: GameSearchResult;\r\n\r\n @action.bound\r\n private _setSearchResult(value: GameSearchResult) {\r\n this.searchResult = value;\r\n }\r\n\r\n private _searchForGames(regEx: RegExp): ISearchSuggestion[] {\r\n\r\n const result: GameInfo[] = [];\r\n const gameTypeToGameInfoObj = {};\r\n\r\n this.gamesSearchList.forEach((gameInfo) => {\r\n if (removeSpecialCharacters(gameInfo.title).match(regEx)) {\r\n result.push(gameInfo);\r\n gameTypeToGameInfoObj[gameInfo.gameType] = gameInfo;\r\n }\r\n });\r\n\r\n const sortedResultGameTypes = this.services.aiEngine.sortGamesByAI(result.map(gameInfo => gameInfo.gameType), LIST_TYPE_ID.ACTIVE_USERS);\r\n return sortedResultGameTypes.map((gameType, index) => new GameSuggestion(this.services, gameTypeToGameInfoObj[gameType], `Search_Results`, index, 'byactiveusers'));\r\n }\r\n\r\n\r\n private _searchForSuggestedCategories(regEx: RegExp): ISearchSuggestion[] {\r\n let suggestedCategoriesOptions = this.services.configuration.data.search.suggestedCategories.suggestedCategoriesOptions;\r\n if(!suggestedCategoriesOptions) {\r\n return this._getDefaultSuggestedCategories();\r\n }\r\n\r\n for(let i = 0; i < suggestedCategoriesOptions.length; i++) {\r\n let option = suggestedCategoriesOptions[i];\r\n let result: ISearchSuggestion[] = [];\r\n if(option.search.match(regEx) && option.categories && option.categories.length > 0) {\r\n result = option.categories.map(categoryConfig => this._createSuggestedCategory(categoryConfig))\r\n // TODO: Remove this after updating the Check signatures. Let type inference do the magic\r\n .filter((categorySuggestion): categorySuggestion is ISearchSuggestion => !Check.isNullOrUndefined(categorySuggestion));\r\n }\r\n\r\n if(result.length > 0) {\r\n return result;\r\n }\r\n }\r\n\r\n return this._getDefaultSuggestedCategories();\r\n }\r\n\r\n private _getDefaultSuggestedCategories(): ISearchSuggestion[] {\r\n return this.services.configuration.data.search.suggestedCategories.defaultSuggestedCategories\r\n .map(suggestedCategory => this._createSuggestedCategory(suggestedCategory))\r\n // TODO: Remove this after updating the Check signatures. Let type inference do the magic\r\n .filter((suggestion): suggestion is ISearchSuggestion => !Check.isNullOrUndefined(suggestion));\r\n }\r\n\r\n _createSuggestedCategory(categoryConfig: SuggestedLinkConfiguration): ISearchSuggestion | null {\r\n if(categoryConfig.gameID) {\r\n let gameInfo = this.services.games.gamesMap[categoryConfig.gameID];\r\n if(!gameInfo) {\r\n this.services.logger.error(`Game type ${categoryConfig.gameID} is in the search suggested categories but this game is not configured to be in this site!`);\r\n return null;\r\n }\r\n return new GameSuggestion(this.services, gameInfo, SUGGESTED_CATEGORIES);\r\n }\r\n return new SearchLinkSuggestion(categoryConfig, this.services, SUGGESTED_CATEGORIES);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {\r\n IExternalLinksService,\r\n IOpenGameLimitsOptions,\r\n IOpenOmgOptions,\r\n IOpenPendingLoginOptions,\r\n OpenRichPageOptions\r\n} from './external-links.service.interface';\r\nimport {IOpenMyAccountOptions} from \"./handlers/my-account/my-account.external-link-handler.interface\";\r\nimport {IOpenRegistrationOptions} from \"./handlers/registration/registration.external-link-handler.interface\";\r\nimport {IExternalLinksProxy} from \"../../../common/interfaces/external-links-proxy.interface\";\r\nimport {OpenCashierOptions} from \"../../../common/interfaces/cashier.service.interface\";\r\nimport {\r\n PendingActionResultEnum\r\n} from \"./handlers/pending-action/pending-action.external-link-handler.interface\";\r\nimport {\r\n IOpenRealGamePlayPendingActionOptions\r\n} from \"./handlers/pending-action/real-game-play/real-game-play-pending-action.external-link-handler.interface\";\r\nimport {IExternalLinksHandlersFactory} from \"./handlers-factory/external-links-handlers-factory.interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\n\r\nexport class ExternalLinksService extends ServiceBase implements IExternalLinksService, IExternalLinksProxy {\r\n\r\n\r\n private get _handlers(): IExternalLinksHandlersFactory {\r\n return this.services.regulation.current.externalLinks;\r\n }\r\n\r\n\r\n async openMyAccount(options?: IOpenMyAccountOptions, marketingParams?: MarketingParams): Promise {\r\n await this._handlers.myAccount.openMyAccount(options);\r\n }\r\n\r\n async openCashier(options?: OpenCashierOptions): Promise {\r\n await this._handlers.cashier.openCashier(options);\r\n }\r\n\r\n async openMembership(options?: IOpenRegistrationOptions): Promise {\r\n this.services.dialog.closeAllDialogs();\r\n await this._handlers.registration.openRegistration(options);\r\n }\r\n\r\n openOMG(options: IOpenOmgOptions): Promise {\r\n return this._handlers.omg.openOmg(options);\r\n }\r\n\r\n openForgotPassword(): Promise {\r\n return this._handlers.forgotPassword.openForgotPassword();\r\n }\r\n\r\n openForgotUserName(): Promise {\r\n return this._handlers.forgotUserName.openForgotUserName();\r\n }\r\n\r\n openPendingLogin(options: IOpenPendingLoginOptions): Promise {\r\n return this._handlers.pendingLogin.openPendingLogin(options);\r\n }\r\n\r\n openRealGamePlayPendingAction(options?: IOpenRealGamePlayPendingActionOptions): Promise {\r\n return this._handlers.realGamePlayPendingAction.openPendingAction(options);\r\n }\r\n\r\n openUploadDocumentFromMyAccount(): Promise {\r\n return this._handlers.myAccountUploadDocuments.openUploadDocumentsFromMyAccount();\r\n }\r\n\r\n openGameLimits(options:IOpenGameLimitsOptions): Promise{\r\n return this._handlers.gameLimits.openGameLimits(options);\r\n }\r\n\r\n openContactUs(): Promise {\r\n return this._handlers.contactUs.openContactUs();\r\n }\r\n\r\n openRichPage(options: OpenRichPageOptions): Promise {\r\n return this._handlers.rich.openRichPage(options);\r\n }\r\n\r\n renderRichPageContent(): Promise {\r\n return this._handlers.rich.renderRichPageContent();\r\n }\r\n\r\n openHelpPage(): Promise {\r\n return this._handlers.help.openHelpPage();\r\n }\r\n\r\n async openDepositPendingAction(): Promise {\r\n return this._handlers.depositPendingAction.openPendingAction();\r\n }\r\n async openTransactionHistoryPendingAction(): Promise {\r\n return this._handlers.transactionHistoryPendingAction.openPendingAction();\r\n }\r\n\r\n openBankId(url: string): void {\r\n if(Device.hybrid.inCasino) {\r\n this.services.hybrid.openExternalLink(url);\r\n } else {\r\n /*\r\n BankId url is an url with custom schema something like 'bankid:///?autostarttoken\r\n This will basically rely on the browser that will ask the operating system to handle bankid schema which in the end will open an application.\r\n On some browsers this works with window.location.assign and on others with window.open. This is the reason we do those two subsequent calls.\r\n Only one of them will be succesfull. And even if both will succeed the BankID application is a single instance application so only one instance will be opened.\r\n */\r\n window.location.assign(url);\r\n const tab = window.open(url);\r\n tab && tab.close();\r\n }\r\n }\r\n\r\n async openDownloadApp(): Promise {\r\n await this.services.linksNavigation.openUrl({\r\n url: this.services.sdk.getDownloadAppLink(),\r\n openMode: 'redirect'\r\n });\r\n\r\n /*\r\n await this.openLink({\r\n sourceLink: this.services.sdk.getDownloadAppLink(),\r\n view: 'redirect',\r\n resolveByCallback: false\r\n });\r\n\r\n */\r\n }\r\n\r\n async openOldChat(): Promise {\r\n await this.services.linksNavigation.navigateLink({\r\n linkId: \"chatLink\"\r\n });\r\n }\r\n}","import {ServiceBase} from '../../ServiceBase';\r\nimport {CmsBannerId} from '../cms-banners/cm-banner-id/cms-banner-id';\r\nimport {BannerData, CmsPageData, CmsSegmentsData, ICmsApiService} from './cms-api.service.interface';\r\nimport {LanguageSwitcherConfiguration} from '../../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {UriParams} from \"../../location/uri-params/uri-params\";\r\n\r\n\r\nexport class CmsApiService extends ServiceBase implements ICmsApiService {\r\n\r\n private get _publicationID(): number {\r\n return this.services.configuration.cmsPublicationId;\r\n }\r\n\r\n public get apiOrigin(): string {\r\n return this.services.launcher.getCMSOrigin() || this.services.location.currentUri.origin\r\n }\r\n\r\n\r\n async getBanners(bannersIds: CmsBannerId[]): Promise {\r\n try {\r\n if(!bannersIds?.length){\r\n return [];\r\n }\r\n\r\n if(!this.services.user.isAuthorized) {\r\n await this.services.sdk.waitForAnonymousAbTestingData();\r\n }\r\n\r\n let data;\r\n const options = {\r\n headers: this._getBannersRequestOptions()\r\n };\r\n\r\n if(this.services.configuration.servicesConfigs.Skin.isSiteInfraAWS) {\r\n data = await this.services.http.get(this._getBannersRequestUrl + this._getBannersRequestParamsGET(bannersIds), options);\r\n } else {\r\n options['body'] = this._getBannersRequestParamsPOST(bannersIds);\r\n data = await this.services.http.post(this._getBannersRequestUrl, options);\r\n }\r\n\r\n\r\n return data || [];\r\n } catch (err) {\r\n let bannersDescriptions = bannersIds.reduce((acc, curr) => acc + '\\n' + curr.toString(), '');\r\n this.services.logger.error('Failed read the following banners from CMS API: ' + bannersDescriptions + 'error message: ' ,err);\r\n return [];\r\n }\r\n }\r\n\r\n async getFallbackBanners(fileNames: string[]): Promise<{[key: string]: string}> {\r\n try {\r\n return await this._readFallbackBanners(fileNames);\r\n } catch (err) {\r\n let files = fileNames.reduce((acc, curr) => acc + '\\n' + curr, '');\r\n this.services.logger.error('Failed to read fallback banners for ' + files);\r\n return {};\r\n }\r\n }\r\n\r\n private _readFallbackBanners(fileNames: string[]): Promise<{[key: string]: string}> {\r\n\r\n\r\n let result = {};\r\n\r\n fileNames = fileNames || [];\r\n if(fileNames.length === 0) {\r\n return Promise.resolve(result);\r\n }\r\n\r\n\r\n let configuredFallbackUrl: string = this._getFallbackUrlFromConfig();\r\n if (!configuredFallbackUrl) {\r\n return Promise.resolve(result);\r\n }\r\n\r\n let promises: Promise[] = [];\r\n for (let i = 0; i < fileNames.length; i++ ) {\r\n let fileName = fileNames[i];\r\n let computedFallbackUrl = configuredFallbackUrl.replace('{fileName}', fileName);\r\n let promise = this.services.http.get(computedFallbackUrl).then(content => {\r\n result[fileName] = content;\r\n\r\n }).catch(err => {\r\n this.services.logger.error(`Failed to load fallback CMS banner! fallbackUrl: ${computedFallbackUrl}`, err);\r\n });\r\n\r\n promises.push(promise);\r\n }\r\n\r\n return Promise.all(promises).then(() => result);\r\n }\r\n\r\n\r\n getPageContent(url: string, customQueryParams?: UriParams): Promise {\r\n let options = {\r\n headers: this._getPagesRequestOptions()\r\n };\r\n\r\n if(this.services.miniOrbit.isEnabled) {\r\n url = url.replace(this.services.miniOrbit.currentMiniOrbitConfig.basePath, '/').replace('//', '/');\r\n }\r\n\r\n let uriParams = new UriParams('');\r\n\r\n uriParams.addParam('publicationid', this._publicationID.toString());\r\n uriParams.addParam('url', this._addSlashesInTheSides(url));\r\n\r\n if(customQueryParams) {\r\n customQueryParams.getAllParams().forEach(p => {\r\n if(!uriParams.hasParam(p.originalName)) {\r\n uriParams.addParam(p.originalName, p.value)\r\n }\r\n });\r\n }\r\n\r\n let cmsPageContentApiUrl = this.apiOrigin + '/api/pagecontent' + uriParams.toString();\r\n\r\n return this.services.http.get(cmsPageContentApiUrl, options);\r\n }\r\n\r\n private _404PageContent: CmsPageData | null = null;\r\n async get404PageContent() {\r\n if(this._404PageContent) {\r\n return this._404PageContent;\r\n }\r\n\r\n try {\r\n let data = await this.services.http.get(this.apiOrigin + '/api/pagecontent?publicationid=' + this._publicationID + '&url=error404.aspx');\r\n this._404PageContent = {\r\n title: null,\r\n location: null,\r\n content: data && data.content\r\n };\r\n\r\n return this._404PageContent;\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get 404 page content!`, err);\r\n return {\r\n title: null,\r\n location: null,\r\n content: '
Something went wrong. Please try again.
'\r\n };\r\n }\r\n }\r\n\r\n private _getFallbackUrlFromConfig(): string {\r\n let configData = this.services.configuration.data;\r\n return configData && configData.generalSettings && configData.generalSettings.fallbackCMSComponentsPath;\r\n\r\n }\r\n\r\n\r\n private get _getBannersRequestUrl() {\r\n return this.apiOrigin + '/api/content/';\r\n }\r\n\r\n private _getBannersRequestParamsPOST(bannersIds: CmsBannerId[]): BodyInit {\r\n\r\n let params = this.services.http.createUrlSearchParams();\r\n params.append('publicationid', this._publicationID.toString());\r\n params.append('PagePlaceHoldersXML', 'PagePlaceholders_ValidKeyPagePlaceholders_ValidValue');\r\n\r\n for(let i = 0; i < bannersIds.length; i++) {\r\n let bannerId = bannersIds[i];\r\n\r\n params.append(`components[${i}][templateId]`, bannerId.templateID);\r\n params.append(`components[${i}][componentId]`, bannerId.componentID);\r\n\r\n\r\n }\r\n\r\n return params;\r\n }\r\n\r\n private _getBannersRequestParamsGET(bannersIds: CmsBannerId[]): string {\r\n\r\n const publicationid = this._publicationID.toString();\r\n const PagePlaceHoldersXML = encodeURIComponent('PagePlaceholders_ValidKeyPagePlaceholders_ValidValue');\r\n\r\n let queryParams = `?publicationId=${publicationid}&PagePlaceHoldersXML=${PagePlaceHoldersXML}&`;\r\n\r\n let componentsParams = [];\r\n for(let i = 0; i < bannersIds.length; i++) {\r\n let bannerId = bannersIds[i];\r\n\r\n componentsParams.push(`templateId=${bannerId.templateID}`);\r\n componentsParams.push(`componentId=${bannerId.componentID}`);\r\n }\r\n\r\n return queryParams + componentsParams.join('&');\r\n }\r\n\r\n private _getBannersRequestOptions(): HeadersInit {\r\n\r\n let headers = this.services.http.createHeaders();\r\n headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\r\n return this.addXXContext(headers);\r\n }\r\n\r\n private _getPagesRequestOptions(): HeadersInit {\r\n\r\n let headers = this.services.http.createHeaders();\r\n return this.addXXContext(headers);\r\n }\r\n\r\n private _getSegmentesRequestOptions(): HeadersInit {\r\n let headers = this.services.http.createHeaders();\r\n return this.addXXContext(headers);\r\n }\r\n\r\n private addXXContext(headers: Headers): HeadersInit {\r\n\r\n let userSignature = this.services.sdk.getCmsUserSignature();\r\n if(!Check.isEmpty(userSignature)) {\r\n if(this.services.configuration.servicesConfigs.Skin.isSiteInfraAWS){\r\n headers.append('XX-Context', userSignature && userSignature.message);\r\n }else{\r\n headers.append('XX.Context', userSignature && userSignature.message);\r\n }\r\n }\r\n\r\n\r\n return headers;\r\n }\r\n\r\n async getSegments(): Promise {\r\n try {\r\n let options = {\r\n headers: this._getSegmentesRequestOptions()\r\n };\r\n return await this.services.http.get(`${this.apiOrigin}/api/segments`, options);\r\n }catch (err) {\r\n this.services.logger.error(`Failed to read segments from CMS API!`, err);\r\n return {};\r\n }\r\n }\r\n\r\n async getLanguageSwitcherConfiguration(url: string): Promise {\r\n try {\r\n return await this.services.http.get(`${this.apiOrigin}/api/languageswitcher?publicationid=${this._publicationID}&url=${this._addSlashesInTheSides(url)}`);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get language switcher configuration for page ${url}`, err);\r\n return null;\r\n }\r\n }\r\n\r\n private _isRouteToHtmlFile(pathName: string): boolean {\r\n return pathName.endsWith('.htm')\r\n || pathName.endsWith('.html');\r\n }\r\n\r\n\r\n private _addSlashesInTheSides(pathName) {\r\n if(pathName && pathName[0] !== '/') {\r\n pathName = '/' + pathName;\r\n }\r\n\r\n //we append the trailing slash if the path doesn't ends with slash and also the path doesn't ends with .html or .htm\r\n //we don't append the trailing slash for paths like /path/file.htm or /path/file.html\r\n if(pathName && !this._isRouteToHtmlFile(pathName) && pathName[pathName.length - 1] !== '/') {\r\n pathName = pathName + '/';\r\n }\r\n\r\n if(pathName) {\r\n return pathName;\r\n }\r\n\r\n return '/';\r\n }\r\n\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {CmsContentDecorator} from '../../../services/cms/cms-content-decorator/cms-content-decorator';\r\nimport {observer} from 'mobx-react';\r\nimport {CmsBannerId} from '../../../services/cms/cms-banners/cm-banner-id/cms-banner-id';\r\n\r\nexport interface BannerContentComponentProps {\r\n html: string;\r\n bannerId: CmsBannerId;\r\n}\r\n\r\nexport const BannerContentComponent = observer(\r\n class BannerContentComponent extends OrbitComponent {\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._disposeBannerContentDecorator();\r\n }\r\n\r\n componentDidUpdate() {\r\n this._redecorateBannerContent();\r\n }\r\n\r\n private _disposeBannerContentDecorator() {\r\n if(this._bannerContentDecorator) {\r\n this._bannerContentDecorator.dispose();\r\n this._bannerContentDecorator = null;\r\n }\r\n }\r\n\r\n private _redecorateBannerContent() {\r\n this._disposeBannerContentDecorator();\r\n if(this._bannerContentElementRef) {\r\n this._bannerContentElementRef.innerHTML = this.props.html;\r\n this._bannerContentDecorator = new CmsContentDecorator(this._bannerContentElementRef, this.services);\r\n }\r\n }\r\n\r\n private _bannerContentDecorator: CmsContentDecorator | null = null;\r\n\r\n private _bannerContentElementRef: HTMLSpanElement | null = null;\r\n\r\n private _captureBannerContentElementRef = (element: HTMLSpanElement | null) => {\r\n this._bannerContentElementRef = element;\r\n this._redecorateBannerContent();\r\n };\r\n\r\n render() {\r\n return ();\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {BannerRenderProps, IBannerDefinition} from './banner-definition.interface';\r\nimport {BannerContentComponent} from '../../../../components/cms-banner/banner-content/banner-content.component';\r\nimport {CmsBannerId} from '../cm-banner-id/cms-banner-id';\r\n\r\n\r\nexport class BannerDefinition implements IBannerDefinition {\r\n constructor(public _html: string, private _bannerId: CmsBannerId) {\r\n }\r\n\r\n render(props: BannerRenderProps): React.ReactNode {\r\n return ();\r\n }\r\n}\r\n","import {ServiceBase} from '../../ServiceBase';\r\nimport {ICmsBannersService} from './cms-banners.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IBannerDefinition} from './banner-definition/banner-definition.interface';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {CmsBannerId} from './cm-banner-id/cms-banner-id';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {BannerDefinition} from './banner-definition/banner-definition';\r\n\r\nimport {EmptyBannerDefinition} from './banner-definition/empty-banner-definition';\r\nimport {BannerData} from '../cms-api/cms-api.service.interface';\r\n\r\ntype ReadBannersResponse = Array<{id: CmsBannerId, definition: IBannerDefinition}>;\r\n\r\nexport class CmsBannersService extends ServiceBase implements ICmsBannersService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n (isAuthorized) => {\r\n this._reloadBannersContent();\r\n }\r\n );\r\n }\r\n\r\n\r\n private _currentUsedBannersIds: {[key: string]: CmsBannerId} = {};\r\n\r\n @observable\r\n bannersMap: {[key: string]: IBannerDefinition} = {};\r\n\r\n async loadBanner(bannerId: CmsBannerId): Promise {\r\n if(!this.bannersMap[bannerId.key]) {\r\n let banners = await this._readBanners([bannerId]);\r\n this._setBanners(banners);\r\n }\r\n const hasBannerContent = Check.isObject(this.bannersMap[bannerId.key]);\r\n return hasBannerContent;\r\n }\r\n\r\n private _reloadBannersContent() {\r\n this._readBanners(Object.values(this._currentUsedBannersIds))\r\n .then(banners => {\r\n this._setBanners(banners);\r\n });\r\n }\r\n\r\n @action.bound\r\n private _setBanners(banners: ReadBannersResponse) {\r\n banners.forEach(newBanner => {\r\n this.bannersMap[newBanner.id.key] = newBanner.definition;\r\n this._currentUsedBannersIds[newBanner.id.key] = newBanner.id;\r\n });\r\n }\r\n\r\n private async _readBanners(bannersIds: CmsBannerId[]): Promise {\r\n\r\n let bannersIdsCollection = new BannersIdCollection(bannersIds);\r\n\r\n let cmsResponseData = await this.services.cmsApi.getBanners(bannersIds);\r\n //create definitions for bannersMap that we received some content\r\n let bannersWithContent = this._extractBannersWithContent(bannersIdsCollection, cmsResponseData);\r\n\r\n //for banners that we didn't receive any content try to load a default content and then merge the results\r\n let bannersIdsWithoutContent = bannersIdsCollection.exclude(bannersWithContent.map(bannerInfo => bannerInfo.id));\r\n\r\n let fallbackBanners = await this._readFallbackBanners(bannersIdsWithoutContent);\r\n\r\n return [...bannersWithContent, ...fallbackBanners];\r\n\r\n /*.catch((err) => {\r\n let msg = bannersIds.reduce((acc, curr) => acc + '\\n' + curr.toString(), '');\r\n this.services.logger.error(`Failed to load CMS banners for ${msg}`, err);\r\n return this._readFallbackBanners(bannersIds);\r\n });\r\n */\r\n }\r\n\r\n private _extractBannersWithContent(requestedBannersIdsCollection: BannersIdCollection, cmsResponseData: BannerData[]): ReadBannersResponse {\r\n if(!Check.isArray(cmsResponseData)) {\r\n return [];\r\n }\r\n\r\n return cmsResponseData\r\n .filter(bannerData => !Check.isEmpty(bannerData.Content))\r\n .map(bannerData => {\r\n let bannerId = requestedBannersIdsCollection.getOriginalBannerId(bannerData.ComponentId, bannerData.TemplateId);\r\n return {\r\n id: bannerId,\r\n definition: new BannerDefinition(bannerData.Content, bannerId)\r\n };\r\n });\r\n }\r\n\r\n private async _readFallbackBanners(bannersIds: CmsBannerId[]): Promise {\r\n if(bannersIds.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n // for bannersMap that have fallback file we try to read the default banner content and then merge with those without fallback file\r\n let bannersIdsWithFallbackFile = bannersIds.filter(id => !Check.isEmpty(id.fallbackFileName));\r\n let bannersIdsGroupedByFallbackFile = this._groupBannersIdsByFallbackFile(bannersIdsWithFallbackFile);\r\n let fileNames = Object.keys(bannersIdsGroupedByFallbackFile);\r\n\r\n\r\n let fallbackData = await this.services.cmsApi.getFallbackBanners(fileNames);\r\n\r\n let result: ReadBannersResponse = [];\r\n fileNames.forEach(file => {\r\n let bannerContent = fallbackData[file];\r\n if(bannerContent) {\r\n result = result.concat(this._createBannersDefinitionsWithContent(bannersIdsGroupedByFallbackFile[file], bannerContent));\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n\r\n private _groupBannersIdsByFallbackFile(bannersIds: CmsBannerId[]): {[key: string]: CmsBannerId[]} {\r\n let result = {};\r\n bannersIds.forEach(bannerId => {\r\n if(!result[bannerId.fallbackFileName]) {\r\n result[bannerId.fallbackFileName] = [];\r\n }\r\n\r\n result[bannerId.fallbackFileName].push(bannerId);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _createBannersDefinitionsWithContent(bannersIds: CmsBannerId[], bannerContent: string): ReadBannersResponse {\r\n return bannersIds.map(id => {\r\n let definition: IBannerDefinition;\r\n if(Check.isEmpty(bannerContent)) {\r\n definition = new EmptyBannerDefinition();\r\n } else {\r\n definition = new BannerDefinition(bannerContent, id);\r\n }\r\n\r\n return {id: id, definition: definition};\r\n });\r\n }\r\n}\r\n\r\n\r\nclass BannersIdCollection {\r\n\r\n private _originalBannersMap = {};\r\n\r\n constructor(private _originalBannersIds: CmsBannerId[]) {\r\n this._originalBannersIds.forEach(bannerId => {\r\n this._originalBannersMap[bannerId.key] = bannerId;\r\n });\r\n }\r\n\r\n getOriginalBannerId(componentId: number, templateId: number): CmsBannerId {\r\n for(let i = 0; i < this._originalBannersIds.length; i++) {\r\n let bannerId = this._originalBannersIds[i];\r\n if(bannerId.isMatch(componentId, templateId)) {\r\n return bannerId;\r\n }\r\n }\r\n \r\n throw new Error(`Cant't find original banner id for componentId=${componentId} and templateId=${templateId}`);\r\n }\r\n\r\n exclude(bannersIdsToExclude: CmsBannerId[]): CmsBannerId[] {\r\n let bannersIdsToExcludeMap = {};\r\n bannersIdsToExclude.forEach(bannerId => bannersIdsToExcludeMap[bannerId.key] = bannerId);\r\n\r\n return this._originalBannersIds.filter(bannerId => !bannersIdsToExcludeMap[bannerId.key]);\r\n }\r\n}\r\n","import {ServiceBase} from '../../ServiceBase';\r\nimport {ICmsPagesService} from './cms-pages.service.interface';\r\nimport {\r\n ICmsPageDefinition,\r\n ICmsPageDefinitionHeadTags,\r\n IInjectedHeadTag\r\n} from './page-definition/cms-page-definition.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {CmsPageData} from '../cms-api/cms-api.service.interface';\r\nimport {Uri} from '../../location/uri/uri';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {UriPath} from \"../../location/uri-path/uri-path\";\r\nimport {UriParams} from \"../../location/uri-params/uri-params\";\r\n\r\nexport const LOAD_CONTENT_FROM_DIV_PAGE_DELAY = 250;\r\n\r\nexport class CmsPagesService extends ServiceBase implements ICmsPagesService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.location.currentUri,\r\n (uri) => this._loadCmsPage(uri),\r\n { fireImmediately: true }\r\n );\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n () => this._reloadCurrentPageContent(),\r\n { fireImmediately: true }\r\n );\r\n }\r\n\r\n private _currentUri: Uri | null = null;\r\n private _isFirstLoad = true;\r\n\r\n @observable.ref\r\n currentPage: ICmsPageDefinition | null = null;\r\n injectedPageMetaTags: IInjectedHeadTag[] = [];\r\n\r\n @action.bound\r\n private _setCurrentPage(pageDefinition: ICmsPageDefinition | null) {\r\n this.currentPage = pageDefinition;\r\n }\r\n\r\n private setCurrentPageMetaTags(headerTags: ICmsPageDefinitionHeadTags[]){\r\n\r\n const prepareElementSelector = (elementType:string, attributes = {}) => {\r\n const attributesQuery = Object.keys(attributes).reduce((query, attributeName) => {\r\n if(!Check.isString(attributes[attributeName]) || attributeName === 'tag')\r\n return query;\r\n\r\n return query + `[${attributeName}=\"${attributes[attributeName]}\"]`;\r\n }, '');\r\n\r\n return elementType + attributesQuery;\r\n }\r\n\r\n const setElementAttributes = (element, attributes = {}) => {\r\n Object.keys(attributes).forEach(attributeName => {\r\n if(attributeName !== 'tag')\r\n element.setAttribute(attributeName, attributes[attributeName]);\r\n });\r\n }\r\n\r\n const addMetaTags = (headerTags: ICmsPageDefinitionHeadTags[]) => {\r\n headerTags.forEach(headerTag => {\r\n const {tag, content, href, ...rest} = headerTag;\r\n try {\r\n if(tag){\r\n let metaTag = this.services.dom.querySelector(prepareElementSelector(tag, rest)) as HTMLElement;\r\n const injectedPageMetaTagPreviousElement = metaTag;\r\n\r\n if(!metaTag){\r\n metaTag = this.services.dom.createElement(tag);\r\n this.services.dom.head.appendChild(metaTag);\r\n }\r\n\r\n this.injectedPageMetaTags.push({element: metaTag, previous: injectedPageMetaTagPreviousElement ? (injectedPageMetaTagPreviousElement.cloneNode() as HTMLElement) : undefined});\r\n setElementAttributes(metaTag, headerTag);\r\n }\r\n }catch (err){\r\n this.services.logger.error(`Failed to add metaTag: ${tag}`, err);\r\n }\r\n\r\n })\r\n }\r\n\r\n const removeMetaTags = (injectedMetaTags: IInjectedHeadTag[]) => {\r\n (injectedMetaTags || []).forEach(({element, previous}) => {\r\n if(previous){\r\n element.parentNode?.replaceChild(previous, element);\r\n }else{\r\n element.remove();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * To have more meta tags allowed to be injected from pageContent, add an other Regex here\r\n */\r\n const allowedTags = '(link.*(?:\\\\[rel=\"canonical\"]))|' +\r\n '(meta.*(?:\\\\[property=\"og:updated_time\"]))|' +\r\n '(meta.*(?:\\\\[property=\"og:description\"]))|' +\r\n '(meta.*(?:\\\\[property=\"og:url\"]))|' +\r\n '(meta.*(?:\\\\[name=\"og:title\"]))|' +\r\n '(meta.*(?:\\\\[name=\"description\"]))'\r\n ;\r\n\r\n const metaTags = (headerTags || []).filter(({tag,content, ...rest}) => {\r\n const testIfTagAllowedRegex = new RegExp(allowedTags, 'i');\r\n return testIfTagAllowedRegex.test(prepareElementSelector(tag, rest));\r\n });\r\n\r\n if(this.injectedPageMetaTags.length > 0){\r\n removeMetaTags(this.injectedPageMetaTags);\r\n this.injectedPageMetaTags = [];\r\n }\r\n\r\n addMetaTags(metaTags);\r\n }\r\n\r\n\r\n private async _reloadCurrentPageContent(): Promise {\r\n if(this.currentPage) {\r\n this._currentUri = null;\r\n try {\r\n await this._loadCmsPage(this.services.location.currentUri);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to reload CMS page ${this.currentPage.url}`, err);\r\n }\r\n }\r\n }\r\n\r\n\r\n private async _loadCmsPage(uri: Uri): Promise {\r\n\r\n if(this._currentUri && this._currentUri.pathName && uri.pathName.equals(this._currentUri.pathName)) {\r\n return;\r\n }\r\n\r\n this._currentUri = uri;\r\n\r\n try {\r\n let pageElement = this.services.dom.getElementById('page');\r\n if(this._isFirstLoad && pageElement && !this.services.routing.isOrbitRoute(uri.pathName)) {\r\n\r\n if(this.services.user.isAuthorized){\r\n //In case the user is login we must call the API and not use the DOM page since b2c need to get the XX.context to return the right segments,\r\n //But we must clean the #page div content to avoid duplicate b2c content on the page\r\n pageElement.remove();\r\n await this._loadPageContentWithSpinner(uri);\r\n } else{\r\n this._loadPageContentFromDOM(pageElement, uri);\r\n }\r\n\r\n } else {\r\n await this._loadPageContentWithSpinner(uri);\r\n }\r\n } finally {\r\n this._isFirstLoad = false;\r\n }\r\n }\r\n\r\n\r\n private async _loadPageContentWithSpinner(uri: Uri): Promise {\r\n const isB2CRoute = !this.services.routing.isOrbitRoute(uri.pathName);\r\n if(isB2CRoute) {\r\n this.services.spinner.startSpinner();\r\n }\r\n\r\n try {\r\n await this._loadCmsPageFromApi(uri)\r\n } finally {\r\n if(isB2CRoute) {\r\n this.services.spinner.stopSpinner();\r\n }\r\n }\r\n\r\n }\r\n\r\n private _loadPageContentFromDOM(pageElement: HTMLElement, uri: Uri): void {\r\n // we introduced this delay because if some of the scripts in the innerHTML contains a