{"version":3,"file":"static/js/orbit-main.028792e1.chunk.js","mappings":"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AED,WACE,OAAO97H,KAAK80H,IAAI5oB,iBAClB,GAAC,yBAED,WACE,OAAOlsG,KAAK80H,IAAIiH,aAClB,GAAC,+BAED,WACE,OAAO/7H,KAAK80H,IAAIloB,mBAClB,GAAC,2BAED,WACE,OAAO5sG,KAAK80H,IAAI9L,eAClB,GAAC,qCAED,WACEhpH,KAAK80H,IAAIkH,yBACX,GAAC,qBAED,WACE,OAAOh8H,KAAK80H,IAAImH,YAAc,IAChC,GAAC,wCAED,WACEj8H,KAAK80H,IAAIlnB,4BACX,GAAC,qCAED,WACE5tG,KAAK80H,IAAIjnB,yBACX,GAAC,gCAED,WACE,OAAO7tG,KAAK80H,IAAIoH,oBAClB,GAAC,gCAED,WACE,OAAOl8H,KAAK80H,IAAIqH,oBAClB,GAAC,8CAED,WACE,OAAOn8H,KAAK80H,IAAIsH,kCAClB,GAAC,qDAED,WACE,OAAOp8H,KAAK80H,IAAInoE,yCAClB,GAAC,sCAED,SAAyB0vE,EAAiBn7G,GACxClhB,KAAK80H,IAAIwH,yBAAyBD,EAASn7G,EAC7C,GAAC,uCAED,WACElhB,KAAK80H,IAAIyH,2BACX,GAAC,uCAED,WACE,OAAOv8H,KAAK80H,IAAIjvG,2BAClB,GAAC,kBAED,WACE,OAAO7lB,KAAK80H,IAAIl3G,MAClB,GAAC,6BAED,WACE,OAAO5d,KAAK80H,IAAI0H,iBAClB,GAAC,oCAID,WACE,OAAOx8H,KAAK80H,IAAI2H,wBAClB,GAAC,2BAED,WACE,OAAOz8H,KAAK80H,IAAI4H,eAClB,GAAC,gBAED,WACE,OAAO18H,KAAK80H,IAAI/J,IAClB,GAAC,wBAED,WACE,OAAO/qH,KAAK80H,IAAI6H,YAClB,GAAC,mCAED,WACE38H,KAAK80H,IAAI8H,uBACX,GAAC,sCAED,WACE,OAAO58H,KAAK80H,IAAI+H,0BAClB,GAAC,kCAED,SAAqBC,GACnB,OAAO98H,KAAK80H,IAAIiI,qBAAqBD,EACvC,GAAC,iCAED,SAAoBA,EAAuBjmG,GACzC72B,KAAK80H,IAAIkI,oBAAoBF,EAAejmG,EAC9C,GAAC,iCAED,W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AoB7sU,EAC5B,GACD,CACA4sU,EAAoB3+P,KAAO,WAAa,OAAOr6C,OAAOq6C,KAAKjuF,EAAM,EACjE4sV,EAAoB5sU,GAAK,MACzBi1E,EAAO83P,QAAUH,C,wBC/FjB,IAAI5sV,EAAM,CACT,6BAA8B,CAC7B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,+BAAgC,CAC/B,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,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,mBAAoB,CACnB,OAED,sBAAuB,CACtB,OAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,iCAAkC,CACjC,KACA,MAED,oCAAqC,CACpC,KACA,MAED,gCAA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","sources":["app-react/basic-components/blank-separator/blank-horizontal-separator.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.wsop.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.wsop.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/button-hover-colors-helpers.ts","app-react/basic-ui-components/button/base/boxes/button.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.default.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.mrgreen.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.box.ts","app-react/basic-ui-components/button/base/boxes/button-icon-wrapper.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.default.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.casino888.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.casino777.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.si.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.box.ts","app-react/basic-ui-components/button/skeleton/button-skeleton.box.tsx","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/layout/divider/divider.box.ts","app-react/basic-ui-components/layout/spacer.box.ts","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-arena-navbar-button/wrapper/live-casino-arena-navbar-button-wrapper.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/wrapper/live-casino-arena-navbar-button-wrapper.box.ts","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/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/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.default.box.ts","app-react/components/admin-banner/boxes/admin-banner-wrapper.si.box.ts","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.mrgreen.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.siCis.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/last-login.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-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/gambling-session/boxes/gambling-session-message.box.ts","app-react/components/gambling-session/limit-reached/gambling-session-limit-reached.component.tsx","app-react/components/gambling-session/logout/gambling-session-logout-dialog.component.tsx","app-react/components/gambling-session/session-info/boxes/gambling-session-limits-summary.box.ts","app-react/components/gambling-session/session-info/boxes/gambling-session-info.box.ts","app-react/components/gambling-session/session-info/gambling-session-info.component.tsx","app-react/components/gambling-session/setup/boxes/gambling-session-limits.box.ts","app-react/components/gambling-session/setup/boxes/drop-downs-group.box.ts","app-react/components/gambling-session/setup/parts/loss-limit-drop-down.component.tsx","app-react/services/translation/translations-helper.ts","app-react/components/gambling-session/setup/parts/time-limit-drop-down.component.tsx","app-react/components/gambling-session/setup/parts/interval-reminder-drop-down.component.tsx","app-react/components/gambling-session/setup/parts/restriction-periods-drop-down.component.tsx","app-react/components/gambling-session/setup/boxes/footer.box.ts","app-react/components/gambling-session/setup/boxes/drop-downs-separator.box.ts","app-react/components/gambling-session/setup/css-constants.ts","app-react/components/gambling-session/setup/boxes/regulatory-text.box.ts","app-react/components/gambling-session/setup/boxes/gambling-session-message.box.ts","app-react/components/gambling-session/setup/boxes/gambling-session-warn-message.box.ts","app-react/components/gambling-session/setup/gambling-session-setup.component.tsx","app-react/components/gambling-session/setup/boxes/drop-down-container.box.ts","app-react/components/gambling-session/setup/boxes/error-message.box.ts","app-react/components/gambling-session/setup/boxes/drop-down-label.box.ts","app-react/components/gambling-session/setup/parts/drop-down.component.tsx","app-react/components/game-item/boxes/game-item-img-wrapper.box.ts","app-react/components/game-item/boxes/game-item-container.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/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/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/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/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/pc-container/pc-container.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/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.casino777.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.casino888Wsop.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.container.box.ts","app-react/components/lobby-header/boxes/lobby-header.default.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.wsop.box.ts","app-react/components/lobby-header/boxes/lobby-header.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.casino888Wsop.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.si.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.casino777.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/lobby-header.component.tsx","app-react/components/lottie-player/dot-lottie-player.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.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/responsible-gaming-button/denmark.secondary-responsible-gaming-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/responsible-gaming-button/denmark.secondary-responsible-gaming-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-icon.default.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item-icon.si.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item-icon.box.ts","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-icon.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/swiper/swiper.component.tsx","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.888.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/boxes/animated-top-image-wrapper.ts","app-react/components/animated-top-image/lottie-animated-top-image.component.tsx","app-react/components/animated-top-image/pixi-animated-top-image.component.tsx","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.casino777.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.box.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/parts/useful-link-item/useful-link-inner-item.component.tsx","app-react/components/useful-links/parts/useful-links-list/useful-links-list.component.tsx","app-react/components/user-menu/user-menu-items/boxes/user-menu-separator.box.ts","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/game-vendor/game-vendor-id.enum.ts","app-react/services/games-filter/games-filter.service.interface.ts","app-react/services/gaming-history/gaming-history-type.ts","app-react/services/geo-location/strategies/geo-location.strategy.interface.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/boxes/link/signup/signup-side-menu-item-icon.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/parts/useful-link-item/useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-useful-links-menu-item-renderer.tsx","app-react/services/user/games-open-sessions-kind.enum.ts","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/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/color-util.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/games/game-info.tsx","app-react/services/configurations/inject-admin-arenas.ts","common/const/saved-games-ls-key_const.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/deeplink-consts.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-filters-storage.ts","app-react/services/games-filter/games-filter.service.ts","app-react/components/useful-links/parts/useful-link-item/expandable-useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-expandable-useful-links-menu-item-renderer.tsx","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-items-title.box.ts","app-react/services/configurations/config-data-sections/arenas.configuration.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.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.casino888.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.wsop.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.default.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.mrgreen.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/components/jackpot-widget/boxes/title/jackpot-title.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.wsop.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/boxes/button/explore-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/components/titan-jackpot-widget/titan-jackpot-animation.component.tsx","app-react/components/titan-jackpot-widget/boxes/titan-jackpot-amount-container.box.ts","app-react/components/titan-jackpot-widget/titan-jackpot-amount.component.tsx","app-react/components/titan-jackpot-widget/titan-jackpot-widget.component.tsx","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/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.casino888.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.wsop.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.casino888.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.wsop.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.casino888.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/boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.caisno888.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.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/boxes/filter-categories-list.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/boxes/applied-filters-container.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/game-theme/game-theme-id.enum.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/components/profile-box-messages-indicator/consts/indicator-layout.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.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/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.box.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/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-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.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/models/arenas/new-live-casino-ab/new-live-casino-arena-ab.model.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/arena-host/video-slides-arena/boxes/video-slides-arena.default.box.ts","app-react/components/arena-host/video-slides-arena/boxes/video-slides-arena.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/boxes/video-slides-arena-content.default.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/boxes/video-slides-arena-content.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/boxes/video-slides-arena-swiper-component/video-slides-arena-swiper-component.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/video-slides-arena-content.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/boxes/video-slides-arena-header.default.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/boxes/video-slides-arena-header.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-arena-filters-indicator/boxes/video-slides-arena-filters-indicator-default.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-arena-filters-indicator/boxes/video-slides-arena-filters-indicator.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-header-filter-button/video-slide-filter-button.box.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-header-filter-button/video-slide-filter-button-icon.box.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-header-filter-button/video-slides-header-filter-button.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-arena-filters-indicator/video-slides-arena-filters-indicator.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/boxes/video-slide-regulatory-data-component.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-header-filter-button/video-slides-user-menu-button.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/video-slides-arena-header.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena.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/welcome-user.component.tsx","app-react/components/profile-box-messages-indicator/boxes/indicator.box.ts","app-react/services/control-center/control-center.service.interface.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/loyalty-bar/loyalty-bar.component.tsx","app-react/components/user-info/user-info.component.tsx","app-react/components/user-info/user-info-label.box.ts","app-react/components/user-details/boxes/user-menu-name.box.ts","app-react/components/user-details/boxes/user-menu-support-id.box.ts","app-react/components/user-details/user-details.component.tsx","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-label-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/boxes/button-wrapper.box.ts","app-react/components/balance-box/balance-box-buttons/user-balance-buttons.component.tsx","app-react/components/balance-box/boxes/user-menu-balance-label.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.mrgreen.box.tsx","app-react/components/user-menu/mini-control-center/boxes/mini-control-center.box.ts","app-react/services/storage/local-storage-keys.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/profile-box/boxes/profile-box-messages/profile-messages.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-fake-ios-padding.box.ts","app-react/components/user-menu-logout/boxes/log-out-link.box.ts","app-react/components/user-menu-logout/user-menu-logout.component.tsx","app-react/components/user-menu-footer/boxes/user-menu-app-version.box.ts","app-react/components/user-menu-footer/user-menu-footer.component.tsx","app-react/components/user-menu/save-games-widget/boxes/save-games-widget.box.ts","app-react/components/user-menu/save-games-widget/boxes/save-games-widget-games-container.box.tsx","app-react/components/user-menu/save-games-widget/boxes/save-games-widget-games-title.box.ts","app-react/components/user-menu/save-games-widget/boxes/save-games-widget-header.box.ts","app-react/components/user-menu/save-games-widget/save-games-widget-header.component.tsx","app-react/components/user-menu/save-games-widget/save-games-widget.component.tsx","app-react/components/user-menu/user-menu/user-menu-mobile.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/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/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.default.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.default.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.box.ts","app-react/components/user-menu/user-menu.component.tsx","app-react/services/arenas/models/arenas/video-slides/video-slides-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/generic-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/generic-side-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-above-search-group/boxes/cross-brand-menu-item-icon.box.ts","app-react/components/side-menu-rework/side-menu-above-search-group/boxes/cross-brand-menu-item-label.box.ts","app-react/components/side-menu-rework/side-menu-above-search-group/boxes/cross-brand-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-above-search-group/boxes/cross-brand-menu-item-container.box.ts","app-react/components/side-menu-rework/side-menu-above-search-group/generic-cross-brand-above-search-menu-item.component.tsx","app-react/services/side-menu/menu-items/generic-cross-brand-above-search-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/boxes/number-of-results-box/number-of-results.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/number-of-results-box/number-of-results.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-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.casino888Wsop.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-pc/boxes/search-icon/search-icon.default.box.ts","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-icon/search-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.harrahs.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.wsop.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.box.ts","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/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-mr-green-mini-orbit.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-actions/cross/cross-deep-link-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/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/legacy/deep-link-parsers/deep-link-parser.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-single-line-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/boxes/simple-message-dialog-multi-line-content.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.si.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/components/time-spent-reminder/with-dropdown/time-spent-reminder-with-dropdown.component.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/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/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/boxes/geo-modal-wrapper.box.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/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/components/login-toast/boxes/login-toast.box.ts","app-react/components/toaster/toasts-content/boxes/default-toast-image.box.ts","app-react/components/login-toast/boxes/login-toast-message/login-toast-responsible-gaming-link.box.ts","app-react/components/login-toast/login-toast.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/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/apps/registration-widget/registration-widget.application.ts","app-react/services/casinofied/app-launcher/casinofied-app-factory.ts","app-react/services/external-links/handlers/registration/registration-marketing-data-builder.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/handlers/open-online-help.action-handler.ts","app-react/services/casinofied/action-handler/handlers/autologin.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/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/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/components/clock-and-last-login-box/last-login/boxes/last-login-label.box.ts","app-react/components/clock-and-last-login-box/last-login/boxes/last-login-value.box.ts","app-react/components/clock-and-last-login-box/last-login/last-login.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/specific-dialogs/specific-dialogs.service.interface.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/components/clock-and-last-login-box/session-timer/boxes/session-timer-label.box.ts","app-react/components/clock-and-last-login-box/session-timer/boxes/session-timer-value.box.ts","app-react/components/clock-and-last-login-box/session-timer/session-timer.component.tsx","app-react/components/clock-and-last-login-box/last-login-with-session-timer/last-login-with-session-timer.component.tsx","app-react/services/regulation/regulation-const.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/external-links/handlers/my-account-upload-documents/regulations/denmark/denmark.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/denmark/denmark.external-links-handlers-factory.ts","app-react/services/regulation/denmark/components/denmark.regulation-components.tsx","app-react/services/regulation/denmark/denmark.regulation.ts","app-react/services/regulation/spain/spain.regulation.ts","app-react/services/limits-toaster/limits-toaster.service.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/free-play.service.interface.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","utils/version-number.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","app-react/services/geo-location/strategies/geo-comply-error-codes.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-analytics.ts","app-react/services/geo-location/geo-helpers.ts","app-react/services/geo-location/geo-runner/geo-location-dialogs-factory.tsx","app-react/services/geo-location/geo-consts.ts","app-react/services/geo-location/strategies/plugin/geo-comply-plugin-client.ts","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/services/geo-location/strategies/plugin/geo-location-plugin.strategy.tsx","app-react/components/geo/geo-freeze/geo-freeze-popup.component.tsx","app-react/components/geo/game-restriction-popup/geo-location-game-restriction-popup.component.tsx","app-react/services/geo-location/geo-runner/geo-location-runner-base.ts","app-react/services/geo-location/geo-runner/geo-kick-reasons.ts","app-react/services/geo-location/geo-runner/platform-geo-location-validator.ts","app-react/services/geo-location/geo-runner/geo-location-runner-in-casino.tsx","app-react/services/geo-location/strategies/native/geo-location-native.strategy.ts","app-react/services/geo-location/geo-runner/geo-location-runner-in-other-brands.ts","common/interfaces/crm-sdk-lib.interface.ts","app-react/services/geo-location/strategies/html5/geo-comply-html5-client.ts","app-react/services/geo-location/strategies/html5/geo-location-html5.strategy.ts","app-react/services/geo-location/geo-location.service.tsx","app-react/services/crm/crm.service.ts","sdk/src/services/player_messages_service/firebase/handlers/gambling-session_handler_interfaces.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/standard-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/services/gambling-session/gambling-session.service.interface.ts","app-react/services/titan-jackpot/titan-jackpot.service.ts","app-react/services/game-theme/game-theme-definition/game-theme-definition.ts","app-react/services/game-theme/games-theme.service.ts","app-react/services/game-vendor/game-vendor-definition.ts/game-vendor-definition.ts","app-react/services/game-vendor/games-vendor.service.ts","app-react/services/player-messages/player-messages.service.ts","app-react/components/video-slides/components/static-video-slide/components/static-video-slide-player/boxes/static-video-slide-player.box.ts","app-react/components/video-slides/components/static-video-slide/components/static-video-slide-player/static-video-slide-player.component.tsx","app-react/components/video-slides/components/static-video-slide/components/static-video-slide-footer/boxes/static-video-slide-footer.box.ts","app-react/components/video-slides/components/static-video-slide/components/static-video-slide-footer/boxes/static-video-slide-game-details/static-video-slide-game-details.box.ts","app-react/components/video-slides/components/static-video-slide/components/static-video-slide-footer/static-video-slide-footer.component.tsx","app-react/components/video-slide-layout/video-slide-layout/boxes/video-slide-layout.box.ts","app-react/components/video-slide-layout/video-slide-layout/video-slide-layout.component.tsx","app-react/components/video-slide-layout/video-slide-content-layout/video-slide-content-layout.component.tsx","app-react/components/video-slide-layout/video-slide-footer-layout/boxes/video-slide-footer-layout.box.ts","app-react/components/video-slide-layout/video-slide-footer-layout/boxes/standard-video-slide-footer-game-title/video-slide-footer-game-title-layout.box.ts","app-react/components/video-slide-layout/video-slide-footer-layout/video-slide-footer-layout.component.tsx","app-react/components/video-slides/components/static-video-slide/static-video-slide.component.tsx","app-react/services/video-slides/video-slides-renderers/slide-base.renderer.ts","app-react/services/video-slides/video-slides-renderers/video-slide.renderer.tsx","app-react/components/video-slides/components/live-stream-slide/components/live-stream-slide-player/boxes/live-stream-slide-player.box.ts","app-react/components/video-slides/components/live-stream-slide/components/live-stream-slide-player/live-stream-slide-player.component.tsx","app-react/components/video-slides/components/live-stream-slide/components/live-stream-slide-footer/boxes/live-stream-slide-footer/live-stream-slide-footer.box.ts","app-react/components/video-slides/components/live-stream-slide/components/live-stream-slide-footer/boxes/live-stream-slide-game-details/live-stream-slide-game-details.box.ts","app-react/components/video-slides/components/live-stream-slide/components/live-stream-slide-footer/live-stream-slide-footer.component.tsx","app-react/components/video-slides/components/live-stream-slide/live-stream-slide.component.tsx","app-react/services/video-slides/video-slides-renderers/live-stream-slide.renderer.tsx","app-react/components/video-slides/components/promotions-slide/boxes/promotion-slide.box.ts","app-react/components/video-slides/components/promotions-slide/promotion-slide.component.tsx","app-react/services/video-slides/video-slides-renderers/promotion-slide.renderer.tsx","app-react/services/video-slides/video-slides.service.ts","app-react/services/web-vitals/web-vitals.service.ts","app-react/services/gambling-session/gambling-session-analytics.ts","app-react/services/gambling-session/gambling-session.service.tsx","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.casino888Wsop.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.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.box.ts","app-react/components/user-menu/logo-box/logo-box.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/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.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/profile-box.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-rework/side-menu-above-search-group/boxes/cross-brands-items-above-search.box.ts","app-react/components/side-menu-rework/side-menu-above-search-group/cross-brands-items-above-search.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.mrgreen.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.mrgreen.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-dropdown.component.tsx","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/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/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/drawer/drawer-spinner.component.tsx","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-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.cis.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.box.ts","app-react/components/spinner/boxes/spinner-subtext/spinner-subtext.box.ts","app-react/components/spinner/boxes/spinner-subtext/spinner-subtext.default.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.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/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/mask-fabric.default.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.casino777.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.mrgreen.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.si.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/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/boxes/gradient-stop-svg/gradient-stop-svg.default.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.mrgreen.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.casino777.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.box.ts","app-react/components/onboarding-tour/spotlight/onboarding-spotlight.component.tsx","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.casino777.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/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/onboarding-dialog-next.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.casino777.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/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/boxes/onboarding-dialog/onboarding-dialog.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.888casino.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.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.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.ts","sdk/src/services/overlay_manager/overlay_manager_levels.ts","sdk/src/services/player_messages_service/firebase/handlers/messages_handler_interfaces.ts","sdk/src/services/player_messages_service/player_messages_consts.js","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/delay.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 styled from \"styled-components\";\r\nimport {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\n\r\nexport const LayoutWrapperWsopBox = styled(LayoutWrapperDefaultBox)`\r\n position: relative;\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n background-image: radial-gradient(50% 50% at 55% 55%, ${({theme}) => theme.colors.logoBackground}b0, ${({theme}) => theme.colors.background} 70%);\r\n background-repeat: no-repeat;\r\n background-attachment: fixed;\r\n background-size: cover;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`","import {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\nimport {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\nimport {LayoutWrapperWsopBox} from \"./layout-wrapper.wsop.box\";\r\n\r\nexport const LayoutWrapperBox = styledByTheme(LayoutWrapperDefaultBox)\r\n .forWsop(LayoutWrapperWsopBox)\r\n .apply();\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 min-height: 100vh;\r\n padding-bottom: 100px;\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 styled from \"styled-components\";\r\nimport { LobbyWrapperWithoutBackgroundDefaultBox } from \"./lobby-wrapper.default.box\";\r\n\r\nexport const LobbyWrapperWsopBox = styled(LobbyWrapperWithoutBackgroundDefaultBox)`\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n background-image: radial-gradient(50% 50% at 55% 55%, ${({theme}) => theme.colors.logoBackground}b0, ${({theme}) => theme.colors.background} 70%);\r\n background-repeat: no-repeat;\r\n background-attachment: fixed;\r\n background-size: cover;\r\n width: 100%;\r\n height: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: radial-gradient(50% 50% at 50% 60%, ${({theme}) => theme.colors.logoBackground}b0, ${({theme}) => theme.colors.background} 70%);\r\n display: block;\r\n opacity: 1;\r\n }\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\nimport {LobbyWrapperWsopBox} from \"./lobby-wrapper.wsop.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 .forWsop(LobbyWrapperWsopBox)\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 {Check} from \"@sparkware/app-utils\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {IButtonColor, IButtonColorSet, IButtonColorSetDef} from \"./button-props.interface\";\r\n\r\nexport function hoverColor(hex: string, hoverAdjustAmount: number = 17) {\r\n try {\r\n const color = Color.fromHex(hex);\r\n // i chose 60 here because it's a value close to sqrt(35^2 + 35^2 + 35^2)\r\n if (color.distanceFrom(new Color(255, 255, 255)) < 60) {\r\n return color.darken(hoverAdjustAmount).hexa();\r\n }\r\n return color.lighten(hoverAdjustAmount).hexa();\r\n } catch (e) {\r\n console.log(e);\r\n console.log(\"HOVER COLOR WAS CALLED WITH: \", hex);\r\n return hex;\r\n }\r\n}\r\n\r\nexport function activeColor(hex: string, activeAdjustAmount: number = 17) {\r\n try {\r\n const color = Color.fromHex(hex);\r\n // i chose 60 here because it's a value close to sqrt(35^2 + 35^2 + 35^2)\r\n if (color.distanceFrom(new Color(255, 255, 255)) < 60) {\r\n return color.darken(activeAdjustAmount * 1.75).hexa();\r\n }\r\n return color.darken(activeAdjustAmount).hexa();\r\n } catch (e) {\r\n console.log(e);\r\n console.log(\"ACTIVE COLOR WAS CALLED WITH: \", hex);\r\n return hex;\r\n }\r\n}\r\n\r\nexport function hoverGradient(gradient: string, hoverAdjustAmount?: number) {\r\n const clrs = gradient.split(\"#\");\r\n if (clrs.length > 1) {\r\n for (let i = 1; i < clrs.length; i++) {\r\n const hexClr = clrs[i].substring(0, 6);\r\n // get the hover color and remove # because we will add when joining\r\n const hexHoverClr = hoverColor(hexClr, hoverAdjustAmount).substring(1);\r\n clrs[i] = hexHoverClr + clrs[i].substring(6);\r\n }\r\n return clrs.join(\"#\");\r\n }\r\n return gradient;\r\n}\r\n\r\nexport function activeGradient(gradient: string, activeAdjustAmount?: number) {\r\n const clrs = gradient.split(\"#\");\r\n if (clrs.length > 1) {\r\n for (let i = 1; i < clrs.length; i++) {\r\n const hexClr = clrs[i].substring(0, 6);\r\n // get the hover color and remove # because we will add when joining\r\n const hexActiveClr = activeColor(hexClr, activeAdjustAmount).substring(1);\r\n clrs[i] = hexActiveClr + clrs[i].substring(6);\r\n }\r\n return clrs.join(\"#\");\r\n }\r\n return gradient;\r\n}\r\n\r\nexport function computeColorSet(colorSet: IButtonColorSetDef, defaultDisabled: IButtonColor): IButtonColorSet {\r\n const hoverAdjustAmount = Check.isNumber(colorSet.hover) ? colorSet.hover : undefined;\r\n const activeAdjustAmount = Check.isNumber(colorSet.active) ? colorSet.active : undefined;\r\n if (Check.isNumber(colorSet.hover)) {\r\n // I need to clone the colorSet otherwise I will delete hover globally (colorSet is passed by reference)\r\n colorSet = {\r\n ...colorSet\r\n };\r\n delete colorSet.hover;\r\n }\r\n if (Check.isNumber(colorSet.active)) {\r\n // I need to clone the colorSet otherwise I will delete active globally (colorSet is passed by reference)\r\n colorSet = {\r\n ...colorSet\r\n };\r\n delete colorSet.active;\r\n }\r\n\r\n let hoverBgGradient = undefined;\r\n if (colorSet.normal.bgGradient) {\r\n hoverBgGradient = hoverGradient(colorSet.normal.bgGradient, hoverAdjustAmount);\r\n }\r\n const defaultHover: IButtonColor = {\r\n ...colorSet.normal,\r\n bg: hoverColor(colorSet.normal.bg, hoverAdjustAmount),\r\n border: hoverColor(colorSet.normal.border, hoverAdjustAmount),\r\n bgGradient: hoverBgGradient\r\n };\r\n \r\n let activeBgGradient = undefined;\r\n if (colorSet.normal.bgGradient) {\r\n activeBgGradient = activeGradient(colorSet.normal.bgGradient, activeAdjustAmount);\r\n }\r\n const defaultActive: IButtonColor = {\r\n ...colorSet.normal,\r\n bg: activeColor(colorSet.normal.bg, activeAdjustAmount),\r\n border: activeColor(colorSet.normal.border, activeAdjustAmount),\r\n bgGradient: activeBgGradient\r\n };\r\n /**\r\n * I get a weird Typescript bug probably because interfaces IButtonColorSet and IButtonColorSetDef.\r\n * It says that type number is not assignable to IButtonColor but defaultHover cannot be number and is not defined as number.\r\n * I cast it as any\r\n */\r\n const cset: IButtonColorSet = {\r\n disabled: defaultDisabled,\r\n hover: defaultHover as any,\r\n active: defaultActive,\r\n ...colorSet,\r\n }\r\n return cset\r\n}\r\n","import styled, { css } from \"styled-components\";\r\nimport { IButtonCommonProps, IButtonColorSet, IButtonPreset } from \"../button-props.interface\";\r\n\r\nenum ColorSetWanted {\r\n Default = 0,\r\n Hover = 1,\r\n Active = 2\r\n}\r\n\r\ninterface IButtonBoxProps extends IButtonCommonProps {\r\n colorSet: IButtonColorSet;\r\n\r\n width: number;\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\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.noRemUnits ? \"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 => {\r\n if (props.fullWidth) {\r\n return \"100%\";\r\n }\r\n if (props.width && props.hasLabel && props.labelOverflow !== \"expand\") {\r\n return props.width+\"em\";\r\n }\r\n return \"auto\";\r\n }};\r\n ${props => props.hasLabel && props.labelOverflow === \"expand\" ? css`\r\n min-width: ${props.width+\"em\"};\r\n ` : null};\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 /** support for bgGradient because */\r\n ${props => colorSet(props).bgGradient ? css`\r\n background: ${colorSet(props).bgGradient};\r\n ` : null}\r\n\r\n /** support for textGradient because */\r\n ${props => colorSet(props).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props).text};\r\n background: ${colorSet(props).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\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 /* First reset the background, if the hover doesn't have a gradient bg then we don't want to show the \"normal\" state */\r\n ${props => colorSet(props).bgGradient && !colorSet(props, ColorSetWanted.Hover).bgGradient ? css`\r\n background: none;\r\n ` : null}\r\n\r\n color: ${props => colorSet(props, ColorSetWanted.Hover).text};\r\n background-color: ${props => colorSet(props, ColorSetWanted.Hover).bg};\r\n border-color: ${props => colorSet(props, ColorSetWanted.Hover).border};\r\n ${props => colorSet(props, ColorSetWanted.Hover).bgGradient ? css`\r\n background: ${colorSet(props, ColorSetWanted.Hover).bgGradient};\r\n ` : null}\r\n box-shadow: ${props => (props.elevated && colorSet(props, ColorSetWanted.Hover).shadow) ? colorSet(props, ColorSetWanted.Hover).shadow : \"none\"};\r\n\r\n /* Reset the text gradient, if the hover doesn't have a text gradient */\r\n ${props => colorSet(props).textGradient && !colorSet(props, ColorSetWanted.Hover).textGradient ? css`\r\n & span {\r\n background: none;\r\n background-size: 100%;\r\n -webkit-background-clip: unset;\r\n -moz-background-clip: unset;\r\n background-clip: unset;\r\n -webkit-text-fill-color: unset;\r\n -moz-text-fill-color: unset;\r\n }\r\n ` : null}\r\n ${props => colorSet(props, ColorSetWanted.Hover).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props, ColorSetWanted.Hover).text};\r\n background: ${colorSet(props, ColorSetWanted.Hover).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n }\r\n }\r\n\r\n &:active {\r\n /* First reset the background, if the hover doesn't have a gradient bg then we don't want to show the \"normal\" state */\r\n ${props => colorSet(props).bgGradient && !colorSet(props, ColorSetWanted.Active).bgGradient ? css`\r\n background: none;\r\n ` : null}\r\n\r\n color: ${props => colorSet(props, ColorSetWanted.Active).text};\r\n background-color: ${props => colorSet(props, ColorSetWanted.Active).bg};\r\n border-color: ${props => colorSet(props, ColorSetWanted.Active).border};\r\n ${props => colorSet(props, ColorSetWanted.Active).bgGradient ? css`\r\n background: ${colorSet(props, ColorSetWanted.Active).bgGradient};\r\n ` : null}\r\n box-shadow: ${props => (props.elevated && colorSet(props, ColorSetWanted.Active).shadow) ? colorSet(props, ColorSetWanted.Active).shadow : \"none\"};\r\n\r\n /* Reset the text gradient, if the hover doesn't have a text gradient */\r\n ${props => colorSet(props).textGradient && !colorSet(props, ColorSetWanted.Active).textGradient ? css`\r\n & span {\r\n background: none;\r\n background-size: 100%;\r\n -webkit-background-clip: unset;\r\n -moz-background-clip: unset;\r\n background-clip: unset;\r\n -webkit-text-fill-color: unset;\r\n -moz-text-fill-color: unset;\r\n }\r\n ` : null}\r\n ${props => colorSet(props, ColorSetWanted.Active).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props, ColorSetWanted.Active).text};\r\n background: ${colorSet(props, ColorSetWanted.Active).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n }\r\n`;\r\n\r\nexport function colorSet(props: IButtonBoxProps, hoverSet?: ColorSetWanted) {\r\n let setKey: keyof IButtonPreset[\"colors\"] = \"normal\";\r\n if (hoverSet === ColorSetWanted.Active || props.active) {\r\n setKey = \"active\";\r\n }\r\n if (hoverSet === ColorSetWanted.Hover) {\r\n setKey = \"hover\";\r\n }\r\n if (props.disabled) {\r\n setKey = \"disabled\";\r\n }\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 }\r\n return props.colorSet.normal;\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface IButtonLabelProps {\r\n fontSize: number;\r\n}\r\n\r\nexport const ButtonLabelDefaultBox = styled.span`\r\n text-transform: uppercase;\r\n font-size: ${({fontSize}) => fontSize}em;\r\n\r\n /** If the label is not perfectly vertical centered please DO NOT modify this line-height use padding-top or padding-bottom in specific skin components */\r\n line-height: 1.2;\r\n /********* */\r\n max-height: 2.2em;\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 /** I have to do this because &::first-letter works only with block-level elements, */\r\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter */\r\n display: inline-block;\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 {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\nimport {ButtonLabelMrGreenBox} from \"./button-label.mrgreen.box\";\r\n\r\nexport const ButtonLabelBox = styledByTheme(ButtonLabelDefaultBox)\r\n .forMrGreen(ButtonLabelMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface IButtonIconWrapperProps {\r\n reverseOnRTL?: boolean;\r\n}\r\n\r\nexport const ButtonIconWrapperBox = styled.span`\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 styled from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {ButtonLabelOverflow, ButtonSizeVariant} from \"../../button-props.interface\";\r\n\r\ninterface IButtonLabelPaddingBoxProps {\r\n lateralPadding: number;\r\n sizeVariant: ButtonSizeVariant;\r\n labelOverflow: ButtonLabelOverflow;\r\n}\r\n\r\nexport const ButtonLabelPaddingDefaultBox = styled.span`\r\n ${flexAdaptiveSizeItem}\r\n \r\n padding: 0em ${({lateralPadding}) => lateralPadding}em 0em;\r\n\r\n white-space: ${({labelOverflow}) => labelOverflow === \"wrap\" ? \"unset\" : \"nowrap\"}; // use \"unset\" if you want to allow label wrap, use \"nowrap\" for expanding the button or ellipsis\r\n overflow: hidden;\r\n text-overflow: ${({labelOverflow}) => labelOverflow === \"ellipsis\" ? \"ellipsis\" : \"clip\"};\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingCasino888Box = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0.2em;\r\n padding-bottom: 0em;\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingCasino777Box = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0em;\r\n padding-bottom: 0em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-top: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0.2em\" : \"0em\" };\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingSIBox = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0em;\r\n padding-bottom: 0.1em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-bottom: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0em\" : \"0.1em\" };\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-bottom: 0;\r\n }\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\nimport {ButtonLabelPaddingCasino888Box} from \"./button-label-padding.casino888.box\";\r\nimport {ButtonLabelPaddingCasino777Box} from \"./button-label-padding.casino777.box\";\r\nimport {ButtonLabelPaddingSIBox} from \"./button-label-padding.si.box\";\r\n\r\n\r\nexport const ButtonLabelPaddingBox = styledByTheme(ButtonLabelPaddingDefaultBox)\r\n .forCasino888(ButtonLabelPaddingCasino888Box)\r\n .forCasino777(ButtonLabelPaddingCasino777Box)\r\n .forSI(ButtonLabelPaddingSIBox)\r\n .apply();\r\n","import styled, {css} from \"styled-components\";\r\n\r\ninterface IButtonSkeletonProps {\r\n fullWidth?: boolean;\r\n rounded?: boolean;\r\n margin?: React.CSSProperties[\"margin\"];\r\n width: number;\r\n height: number;\r\n strokeWidth: number;\r\n iconOnly: boolean;\r\n noRemUnits?: boolean;\r\n}\r\n\r\nexport const ButtonSkeletonBox = styled.div`\r\n /**\r\n * Here i'm just creating a context for the em units to compute relative to this\r\n */\r\n font-size: ${props => props.noRemUnits ? \"10px\" : \"1rem\"};\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 box-sizing: border-box;\r\n height: ${props => props.height}em;\r\n\r\n width: ${props => {\r\n if (props.fullWidth) {\r\n return \"100%\";\r\n }\r\n if (props.iconOnly) {\r\n return props.height+\"em\";\r\n }\r\n return props.width+\"em\";\r\n }};\r\n \r\n border-width: ${props => props.strokeWidth}px;\r\n border-style: solid;\r\n\r\n\r\n background: rgba(255, 255, 255, 0.25);\r\n animation: PulsatingAnimation 1s alternate infinite;\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 React, {PropsWithChildren} 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, IButtonColorSet } from \"./button-props.interface\";\r\nimport { ButtonBox } from \"./boxes/button.box\";\r\nimport { ButtonLabelBox } from \"./boxes/label/button-label.box\";\r\nimport { ButtonIconWrapperBox } from \"./boxes/button-icon-wrapper.box\";\r\nimport { FlexShrinkItemBox } from \"../../../themes/architecture/css-helpers/flex\";\r\nimport { ButtonLabelPaddingBox } from \"./boxes/label-padding-box/button-label-padding.box\";\r\nimport { computeColorSet } from \"./button-hover-colors-helpers\";\r\nimport {ButtonSkeletonBox} from \"../skeleton/button-skeleton.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 tooltip?: string;\r\n\r\n /**\r\n * theme is addded by styled-component's withTheme\r\n */\r\n theme: OrbitTheme;\r\n\r\n /* button interactions */\r\n onClick?(): void;\r\n onMouseEnter?(): void;\r\n onMouseLeave?(): void;\r\n\r\n /** skeleton */\r\n skeleton?: boolean;\r\n}\r\n\r\nconst ButtonIcon: React.FC<{IconComponent: IButtonIconProps[\"Component\"], size: number, options?: {reverseOnRTL?: boolean}}> = (props) => {\r\n if(!props.IconComponent) {\r\n return null;\r\n }\r\n\r\n const IconComponent = props.IconComponent;\r\n return \r\n \r\n \r\n};\r\n\r\nconst $Button: React.FC> = (props) => {\r\n\r\n let {\r\n children, theme, preset, icon, stroke, sizeVariant, rounded, elevated, tooltip, labelOverflow,\r\n onClick, onMouseEnter, onMouseLeave,\r\n ...otherProps\r\n } = props;\r\n let hasIcon = !!icon;\r\n let hasLabel = !!children;\r\n\r\n onClick = props.disabled ? undefined : onClick;\r\n onMouseEnter = props.disabled ? undefined : onMouseEnter;\r\n onMouseLeave = 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 const colorSet: IButtonColorSet = computeColorSet(presetValues.colors, theme.baseUIComponents.button.disabledColorSet);\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 || \"s\";\r\n labelOverflow = labelOverflow || \"expand\";\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 width = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].width;\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 === \"xs\" ? 0.6 : 1;\r\n\r\n if (props.skeleton) {\r\n return \r\n }\r\n\r\n return \r\n { icon ? (iconPlacement === \"left\" ? : ) : null }\r\n { props.children ? \r\n \r\n {props.children}\r\n \r\n : null }\r\n { icon ? (iconPlacement === \"right\" ? : ) : null }\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: 3.7rem;\r\n width: ${({width}) => width};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.275rem;\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.3rem;\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 * Used to normalize / reset the fill property. Some of the icons have black backdrop opacity without it.\r\n * alternative to wrapping the whole svg markup content in . It doesn't matter which one is used\r\n */\r\n fill?: string;\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\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst DividerDefaultBox = styled.div<{marginTop?: string; marginBottom?: string;}>`\r\n box-sizing: content-box;\r\n height: 1px;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n margin-top: ${({marginTop}) => marginTop ? marginTop : \"unset\"};\r\n margin-bottom: ${({marginBottom}) => marginBottom ? (\"calc(\" + marginBottom + \" + 1px)\") : \"1px\"};\r\n`;\r\n\r\nconst DividerCasino777Box = styled(DividerDefaultBox)`\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n`;\r\n\r\nconst DividerSiBox = styled(DividerDefaultBox)`\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n`;\r\n\r\nexport const DividerBox = styledByTheme(DividerDefaultBox)\r\n .forCasino777(DividerCasino777Box)\r\n .forSI(DividerSiBox)\r\n .apply();","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 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\nimport {MINI_ORBIT} from \"../../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonwrapperDefaultBox = styled.div`\r\n display: inline-block;\r\n vertical-align: middle;\r\n margin: 0 0.1rem;\r\n padding: 1rem 0.5rem;\r\n\r\n &:first-child {\r\n margin-left: 0;\r\n padding-left: 0;\r\n }\r\n &:last-child {\r\n margin-right: 0;\r\n padding-right: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.2rem;\r\n .${MINI_ORBIT} & {\r\n padding-bottom: 0.2rem;\r\n }\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoArenaNavbarButtonwrapperDefaultBox} from \"./live-casino-arena-navbar-button-wrapper.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonWrapperBox = styledByTheme(LiveCasinoArenaNavbarButtonwrapperDefaultBox)\r\n .apply();\r\n","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoFilterButtonsDefaultBox = styled.div`\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 z-index: 5;\r\n padding: 0 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width:100%;\r\n margin: 0;\r\n padding: 0 1rem;\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 {Color} from '../../../../../../../common/utils/color-util';\r\n\r\nexport const LiveCasinoNavbarDefaultBox = styled.div<{stickOffset: number;}>`\r\n background: ${props => props.theme.colors.background};\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 padding-top: 1rem;\r\n padding-bottom: 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n }\r\n &.sticky-navbar {\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${props => Color.fromHex(props.theme.colors.backgroundDark, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\r\n }\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 React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\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 {STICKY_NAVBAR} from \"./css-constants\";\r\nimport {LiveCasinoNavbarBox} from \"./boxes/live-casino-navbar/live-casino-navbar.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\nimport {LobbyHeaderTitleBox} from \"../../../lobby-header/boxes/title/lobby-header-title.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {LobbyHeaderTitleContainerBox} from \"../../../lobby-header/boxes/title/lobby-header-title.container.box\";\r\n\r\ninterface ICasinoLiveArenaNavbarProps {\r\n title?: string;\r\n configs: LiveTableTabConfiguration[];\r\n stickyHandler: IStickyHandler;\r\n FilterButtonComponent: React.ComponentType;\r\n}\r\n\r\n@observer\r\nexport class LiveCasinoArenaNavbar extends OrbitComponent {\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.props.stickyHandler && this.props.stickyHandler.dispose();\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 render() {\r\n const FilterButtonComponent = this.props.FilterButtonComponent || React.Fragment;\r\n return (\r\n \r\n \r\n {this.props.title ? \r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n \r\n : null}\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 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 \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\n\r\nexport const AdminBannerDefaultBox = styled.div`\r\n\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const AdminBannerSIBox = styled.div`\r\n margin-bottom: 3rem;\r\n`;","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {AdminBannerDefaultBox} from \"./admin-banner-wrapper.default.box\";\r\nimport {AdminBannerSIBox} from \"./admin-banner-wrapper.si.box\";\r\n\r\n\r\nexport const AdminBannerBox = styledByTheme(AdminBannerDefaultBox)\r\n .forSI(AdminBannerSIBox)\r\n .apply();","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\n\r\nexport const ClockLastLoginDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n margin: auto 1.5rem 2rem 1.5rem;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n padding: 1rem 1.6rem;\r\n border-radius: 4px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: unset;\r\n margin: auto 0;\r\n align-self: flex-start;\r\n align-items: center;\r\n padding: 0;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginMrGreenBox = styled(ClockLastLoginDefaultBox)`\r\n background-color: ${props => props.theme.colors.brandPrimaryDark};\r\n`;\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 background-color: ${({theme}) => theme.colors.background};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n } \r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginSICisBox = styled(ClockLastLoginDefaultBox)`\r\n letter-spacing: 0.4px;\r\n`;","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockLastLoginDefaultBox } from \"./clock-last-login.default.box\";\r\nimport {ClockLastLoginMrGreenBox} from \"./clock-last-login.mrgreen.box\";\r\nimport { ClockLastLoginSiBox } from \"./clock-last-login.si.box\";\r\nimport {ClockLastLoginSICisBox} from \"./clock-last-login.siCis.box\";\r\n\r\nexport const ClockLastLoginBox = styledByTheme(ClockLastLoginDefaultBox)\r\n .forMrGreen(ClockLastLoginMrGreenBox)\r\n .forSI(ClockLastLoginSiBox)\r\n .forSICis(ClockLastLoginSICisBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LastLoginDefaultBox = styled.div`\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1.1rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n line-height: 1.2;\r\n margin: 0 0 0 1.2rem;\r\n padding: 0 0 0 1.2rem;\r\n border-left: 1px solid ${props => props.theme.colors.textMiddleDark};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 1rem;\r\n padding-bottom: 0rem;\r\n line-height: 1;\r\n }\r\n\r\n`;\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 { LastLoginDefaultBox } from \"./last-login.default.box\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { LastLoginSiBox } from \"./last-login.si.box\";\r\n\r\nexport const LastLoginBox = styledByTheme(LastLoginDefaultBox)\r\n .forSI(LastLoginSiBox)\r\n .forSICis(LastLoginSiBox)\r\n .apply();\r\n","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\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 {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 {this.services.regulation.current.components.renderLastLoginComponent()}\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.bold};\r\n font-size: 1.2rem;\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, NEW_LIVE_AB_CASINO_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 .${NEW_LIVE_AB_CASINO_PAGE} & {\r\n margin-bottom: 4rem;\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 {SwiperSlide} from \"swiper/react\";\r\nimport {Pagination, Navigation} from 'swiper/modules';\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\nimport {SwiperComponent} from \"../../../../swiper/swiper.component\";\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\n\r\nexport const VoucherCardBox = styled.div<{showCursor: boolean; }>`\r\n position: relative;\r\n\r\n width: 31rem;\r\n height: 18rem;\r\n margin: 0 auto 3rem;\r\n ${props => props.showCursor ? css`cursor: pointer` : ''};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 26rem;\r\n height: 15rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n width: 33rem;\r\n } \r\n\r\n @media ${({theme}) => theme.mediaQuery.xxl + \" and \" + theme.mediaQuery.lowHeight} {\r\n width: 33rem;\r\n } \r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst VoucherCardDefaultSideBox = 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 color: ${({ theme }) => theme.colors.textContrast};\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\r\nconst VoucherCard777SideBox = styled(VoucherCardDefaultSideBox)`\r\n color: unset;\r\n`;\r\n\r\nexport const VoucherCardSideBox = styledByTheme(VoucherCardDefaultSideBox).forCasino777(VoucherCard777SideBox).apply();","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);","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<{isBottomNavBarEnabled?: boolean}>`\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 bottom: ${props => props.isBottomNavBarEnabled ? \"calc(env(safe-area-inset-bottom) + 53px)\" : \"0px\"}\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 from \"styled-components\";\r\n\r\nexport const GamblingSessionMessageBaseBox = styled.div`\r\n text-align: center;\r\n padding-bottom: 10px;\r\n font-weight: 700;\r\n`","import {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {Button} from \"../../../basic-ui-components/button/base/button.component\";\r\nimport {DividerBox} from \"../../../basic-ui-components/layout/divider/divider.box\";\r\nimport {SpacerBox} from \"../../../basic-ui-components/layout/spacer.box\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {IModalDialogHandler} from \"../../../services/dialog/dialog.service.interface\";\r\nimport {GamblingSessionMessageBaseBox} from \"../boxes/gambling-session-message.box\";\r\nimport {GamblingSessionLimitSummaryBox} from \"../session-info/boxes/gambling-session-limits-summary.box\";\r\nimport {GamblingSessionInfoComponent} from \"../session-info/gambling-session-info.component\";\r\n\r\nexport enum LimitType {\r\n Loss,\r\n Time,\r\n IntervalReminder\r\n}\r\n\r\ninterface IGamblingSessionLimitReachedComponentProps {\r\n sessionDuration: TimeSpan;\r\n limitType: LimitType;\r\n totalBets: number;\r\n totalWins: number;\r\n dialogHandler: IModalDialogHandler;\r\n\r\n sessionLimitTimestamp: string;\r\n}\r\n\r\nexport const GamblingSessionLimitReachedComponent: React.FC = (props) => {\r\n const services = useServices();\r\n let mainTextKey = \"GAMBLING_SESSION_INTERVAL_REMINDER_TEXT\";\r\n if (props.limitType === LimitType.Loss) {\r\n mainTextKey = 'GAMBLING_SESSION_LOSS_LIMIT_REACHED_TEXT';\r\n }\r\n if (props.limitType === LimitType.Time) {\r\n mainTextKey = 'GAMBLING_SESSION_TIME_LIMIT_REACHED_TEXT';\r\n }\r\n return (\r\n \r\n \r\n { services.translation.translate(mainTextKey, {\r\n gamblingSessionLimitTimestamp: props.sessionLimitTimestamp\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 {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {SpacerBox} from \"../../../basic-ui-components/layout/spacer.box\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {IModalDialogHandler} from \"../../../services/dialog/dialog.service.interface\";\r\nimport {ModalDialogActionsComponent} from \"../../modal-dialog/modal-dialog-actions.component\";\r\nimport {GamblingSessionLimitSummaryBox} from \"../session-info/boxes/gambling-session-limits-summary.box\";\r\nimport {GamblingSessionInfoComponent} from \"../session-info/gambling-session-info.component\";\r\n\r\ninterface IGamblingSessionLogoutDialogProps {\r\n dialogHandler: IModalDialogHandler;\r\n sessionDuration: TimeSpan;\r\n totalBets: number;\r\n totalWins: number;\r\n onLogout(): void;\r\n onCancel(): void;\r\n}\r\n\r\nexport const GamblingSessionLogoutDialog: React.FC = (props) => {\r\n const services = useServices();\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 GamblingSessionLimitSummaryBox = styled.div`\r\n font-size: 1.5rem;\r\n line-height: 1.75rem;\r\n padding: 15px;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 600px;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {dialogHighlightedTextMixin, dialogTextMixin} from \"../../../modal-dialog/boxes/text/dialog-text.box\";\r\n\r\nexport const GamblingSessionInfoWrapperBox = styled.div`\r\n margin-bottom: 1.5rem;\r\n`;\r\n\r\nexport const GamblingSessionInfoTextBox = styled.div`\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const GamblingSessionInfoValueBox = styled.div`\r\n ${dialogHighlightedTextMixin}\r\n`;\r\n","import React from 'react';\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {GamblingSessionInfoTextBox, GamblingSessionInfoValueBox, GamblingSessionInfoWrapperBox} from \"./boxes/gambling-session-info.box\";\r\n\r\ninterface IGamblingSessionInfoProps {\r\n sessionDuration: TimeSpan;\r\n totalBets: number;\r\n totalWins: number;\r\n}\r\n\r\nexport const GamblingSessionInfoComponent: React.FC = (props) => {\r\n const services = useServices();\r\n return (<>\r\n \r\n {services.translation.translate(\"GAMBLING_SESSION_DATA_DURATION\")}\r\n {props.sessionDuration.toHoursAndMinutesString()}\r\n \r\n\r\n \r\n {services.translation.translate(\"GAMBLING_SESSION_DATA_WIN_LOSS_SUMMARY\")}\r\n {services.currency.formatMoney(props.totalWins - props.totalBets)}\r\n \r\n\r\n \r\n {services.translation.translate(\"GAMBLING_SESSION_DATA_TOTAL_BETS\")}\r\n {services.currency.formatMoney(props.totalBets)}\r\n \r\n );\r\n}","import styled from \"styled-components\";\r\n\r\nexport const GamblingSessionLimitsBox = styled.div`\r\n font-size: 1.275rem;\r\n line-height: 1.7rem;\r\n padding: 15px;\r\n @media ${({theme}) => theme.mediaQuery.sAndAbove} {\r\n max-width: 600px;\r\n }\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DropDownsGroupBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n width: 100%;\r\n margin: 20px 0 15px 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n flex-direction: column;\r\n }\r\n \r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface LossLimitDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n errorMessage?: string;\r\n}\r\n\r\nexport const LossLimitDropDownComponent = observer(\r\n class LossLimitDropDownComponent extends OrbitComponent {\r\n\r\n private _getLossLimits(): DropDownItem[] {\r\n let bankroll = this.services.walletProxy.totalBankroll;\r\n\r\n const translateLossLimit = (percent: number, lossAmount: number): string => {\r\n return this.services.translation.translate('GAMBLING_SESSION_LOSS_LIMIT_VALUE', {\r\n percent: percent,\r\n loss: this.services.currency.formatMoney(lossAmount)\r\n })\r\n }\r\n\r\n if (bankroll < 100) {\r\n return [\r\n {\r\n value: bankroll,\r\n text: translateLossLimit(100, bankroll)\r\n }\r\n ]\r\n }\r\n\r\n const percentages = parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.LossLimitPercentages);\r\n\r\n return percentages.map(p => {\r\n return {\r\n percent: p,\r\n value: Math.floor(p * bankroll / 100)\r\n }\r\n }).filter(lossLimit => lossLimit.value >= 100)\r\n .map(lossLimit => {\r\n return {\r\n value: lossLimit.value,\r\n text: translateLossLimit(lossLimit.percent, lossLimit.value)\r\n }\r\n });\r\n }\r\n\r\n private _onItemSelectedHandler = async (value: NullableNumber): Promise => {\r\n this.props.onItemSelected(value);\r\n return {\r\n cancel: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);","import {ITranslationService} from \"./translation.service.interface\";\r\n\r\nexport class TranslationsHelper {\r\n constructor(private readonly translation: ITranslationService) {\r\n }\r\n\r\n minutes(value: number): string {\r\n if (value === 1) {\r\n return this.translation.translate('ONE_MINUTE');\r\n }\r\n return this.translation.translate('X_MINUTES', {x: value});\r\n }\r\n\r\n hours(value: number): string {\r\n if(value === 1) {\r\n return this.translation.translate('ONE_HOUR');\r\n }\r\n return this.translation.translate('X_HOURS', {x: value});\r\n }\r\n\r\n days(value: number): string {\r\n\r\n if(value === 1) {\r\n return this.translation.translate('ONE_DAY');\r\n }\r\n return this.translation.translate('X_DAYS', {x: value});\r\n }\r\n\r\n week(): string {\r\n return this.translation.translate('ONE_WEEK');\r\n }\r\n\r\n month(): string {\r\n return this.translation.translate('ONE_MONTH');\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {Check, TimeSpan} from \"@sparkware/app-utils\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {TranslationsHelper} from \"../../../../services/translation/translations-helper\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../../../services/dialog/dialog.service.interface\";\r\n\r\ninterface TimeLimitDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n errorMessage?: string;\r\n className?: string;\r\n}\r\n\r\nexport const TimeLimitDropDownComponent = observer(\r\n class TimeLimitDropDownComponent extends OrbitComponent {\r\n\r\n private get _translations(): TranslationsHelper {\r\n return new TranslationsHelper(this.services.translation);\r\n }\r\n\r\n private _translateTimeSpan(timeSpan: TimeSpan): string {\r\n return timeSpan.totalMinutes < 60 ? this._translations.minutes(timeSpan.totalMinutes) : this._translations.hours(timeSpan.totalHours)\r\n }\r\n\r\n private _parseMaxDurations(): number[] {\r\n if(this.services.device.os.isMobileOS) {\r\n return parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.MaxDurationsInMinutesForMobile);\r\n } else {\r\n return parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.MaxDurationsInMinutesForPC);\r\n }\r\n }\r\n\r\n private _getDropDownItems(): DropDownItem[] {\r\n return this._parseMaxDurations().map(minutes => {\r\n const timeSpan = TimeSpan.fromMinutes(minutes);\r\n return {\r\n value: timeSpan.totalSeconds,\r\n text: this._translateTimeSpan(timeSpan)\r\n };\r\n });\r\n }\r\n private _onItemSelectedHandler = (value: NullableNumber): Promise => {\r\n return new Promise((resolve) => {\r\n\r\n const cancelSelection = () => {\r\n resolve({\r\n cancel: true\r\n });\r\n }\r\n\r\n const acceptSelection = () => {\r\n resolve({\r\n cancel: false\r\n });\r\n this.props.onItemSelected(value);\r\n }\r\n\r\n if(Check.isNullOrUndefined(value) || value !== Math.min(...this._parseMaxDurations())) {\r\n acceptSelection();\r\n } else {\r\n this.services.dialog.showSimpleTextModal({\r\n hideCloseButton: true,\r\n title: this.services.translation.translate('ATTENTION'),\r\n text: this.services.translation.translate('GAMBLING_SESSION_LIMIT_TIME_LOSS_CONFIRMATION_TEXT', {time: this._translateTimeSpan(TimeSpan.fromMinutes(value))})\r\n + '\\n\\n\\n'\r\n + this.services.translation.translate('GAMBLING_SESSION_LIMIT_TIME_LOSS_CONFIRMATION_QUESTION'),\r\n\r\n buttons: [\r\n {\r\n text: this.services.translation.translate('NO'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n cancelSelection();\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'no');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: this.services.translation.translate('YES'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n acceptSelection();\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'yes');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n ]\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);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {TranslationsHelper} from \"../../../../services/translation/translations-helper\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface IntervalReminderDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n}\r\n\r\nexport const IntervalReminderDropDownComponent = observer(\r\n class IntervalReminderDropDownComponent extends OrbitComponent {\r\n\r\n private get _translations(): TranslationsHelper {\r\n return new TranslationsHelper(this.services.translation);\r\n }\r\n\r\n private _getReminderIntervals(): DropDownItem[] {\r\n const values = parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.IntervalReminderInMinutes)\r\n .map(minutes => TimeSpan.fromMinutes(minutes))\r\n return values.map(val => {\r\n return {\r\n value: val.totalSeconds,\r\n text: val.totalMinutes < 60 ? this._translations.minutes(val.totalMinutes) : this._translations.hours(val.totalHours)\r\n };\r\n });\r\n }\r\n\r\n private _onItemSelectedHandler = async (value: NullableNumber): Promise => {\r\n this.props.onItemSelected(value);\r\n return {\r\n cancel: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\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 {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {TranslationsHelper} from \"../../../../services/translation/translations-helper\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {Check, TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../../../services/dialog/dialog.service.interface\";\r\n\r\n\r\ninterface RestrictionPeriodsDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n}\r\n\r\nexport const RestrictionPeriodsDropDownComponent = observer(\r\n class RestrictionPeriodsDropDownComponent extends OrbitComponent {\r\n\r\n private get _translations(): TranslationsHelper {\r\n return new TranslationsHelper(this.services.translation);\r\n }\r\n\r\n private _translateTimeSpan = (time: TimeSpan): string => {\r\n if(time.totalMinutes < 60) {\r\n return this._translations.minutes(time.totalMinutes);\r\n }\r\n\r\n if(time.totalHours < 24) {\r\n return this._translations.hours(time.totalHours);\r\n }\r\n\r\n if(time.totalDays === 7) {\r\n return this._translations.week();\r\n }\r\n\r\n if(time.totalDays === 30 || time.totalDays === 31) {\r\n return this._translations.month();\r\n }\r\n\r\n return this._translations.days(time.totalDays);\r\n }\r\n\r\n private _getReminderIntervals(): DropDownItem[] {\r\n const values = parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.RestrictionPeriodsInMinutes)\r\n .map(minutes => TimeSpan.fromMinutes(minutes))\r\n return values.map(val => {\r\n return {\r\n value: val.totalSeconds,\r\n text: this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESTRICTION_PERIOD_VALUE',{time: this._translateTimeSpan(val)})\r\n };\r\n });\r\n }\r\n\r\n private _onItemSelectedHandler = (value: NullableNumber): Promise => {\r\n return new Promise((resolve) => {\r\n\r\n const cancelSelection = () => {\r\n resolve({\r\n cancel: true,\r\n overrideValueOnCancel: null\r\n });\r\n this.props.onItemSelected(null);\r\n }\r\n\r\n const acceptSelection = () => {\r\n resolve({\r\n cancel: false\r\n });\r\n this.props.onItemSelected(value);\r\n }\r\n\r\n if(Check.isNullOrUndefined(value)) {\r\n acceptSelection();\r\n this.props.onItemSelected(value);\r\n } else {\r\n this.services.dialog.showSimpleTextModal({\r\n hideCloseButton: true,\r\n title: this.services.translation.translate('ATTENTION'),\r\n text: this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESTRICTION_BLOCK_CONFIRMATION_TEXT', {time: this._translateTimeSpan(TimeSpan.fromSeconds(value))})\r\n + '\\n\\n\\n'\r\n + this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESTRICTION_BLOCK_CONFIRMATION_QUESTION'),\r\n\r\n buttons: [\r\n {\r\n text: this.services.translation.translate('NO'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n cancelSelection();\r\n // TODO: SPAIN_DECREE - change analytics\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'no');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: this.services.translation.translate('YES'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n acceptSelection();\r\n // TODO: SPAIN_DECREE - change analytics\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'yes');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n\r\n ]\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);","import styled from \"styled-components\";\r\n\r\nexport const FooterBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\n\r\nexport const DropDownsSeparatorBox = styled.div`\r\n width: 50px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n display: none;\r\n }\r\n`;\r\n","export const GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK = 'gambling-session-limits-responsible-gaming-link';","import styled from \"styled-components\";\r\nimport {GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK} from \"../css-constants\";\r\n\r\nexport const RegulatoryTextBox = styled.div`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n font-size: 1.3rem;\r\n white-space: pre-line;\r\n padding-top: 15px;\r\n \r\n \r\n > .${GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK} {\r\n color: ${props => props.theme.colors.brandPrimary};\r\n text-decoration-line: underline;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {GamblingSessionMessageBaseBox} from \"../../boxes/gambling-session-message.box\";\r\n\r\nexport const GamblingSessionMessageBox = styled(GamblingSessionMessageBaseBox)`\r\n max-width: 250px;\r\n margin: 0 auto;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {GamblingSessionMessageBaseBox} from \"../../boxes/gambling-session-message.box\";\r\n\r\nexport const GamblingSessionWarnMessageBox = styled(GamblingSessionMessageBaseBox)`\r\n color: ${({theme}) => theme.colors.buttonWarning};\r\n text-transform: uppercase;\r\n`","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {GamblingSessionLimitsBox} from \"./boxes/gambling-session-limits.box\";\r\nimport {IGamblingSessionLimitsSetup} from '../../../services/gambling-session/gambling-session-limits-setup.interface';\r\nimport {IModalDialogHandler} from '../../../services/dialog/dialog.service.interface';\r\nimport {DropDownsGroupBox} from \"./boxes/drop-downs-group.box\";\r\nimport {NullableNumber, NullableString} from '../../../../common/types/nullable-types';\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {Check, TimeSpan} from \"@sparkware/app-utils\";\r\nimport {LossLimitDropDownComponent} from \"./parts/loss-limit-drop-down.component\";\r\nimport {TimeLimitDropDownComponent} from \"./parts/time-limit-drop-down.component\";\r\nimport {IntervalReminderDropDownComponent} from \"./parts/interval-reminder-drop-down.component\";\r\nimport {RestrictionPeriodsDropDownComponent} from \"./parts/restriction-periods-drop-down.component\";\r\nimport {FooterBox} from \"./boxes/footer.box\";\r\nimport {Button} from '../../../basic-ui-components/button/base/button.component';\r\nimport {parseCommaSeparatedNumbers} from '../../../../utils/string-helpers';\r\nimport {DropDownsSeparatorBox} from \"./boxes/drop-downs-separator.box\";\r\nimport {RegulatoryTextBox} from \"./boxes/regulatory-text.box\";\r\nimport {GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK} from './css-constants';\r\nimport {GamblingSessionMessageBox} from './boxes/gambling-session-message.box';\r\nimport {GamblingSessionWarnMessageBox} from './boxes/gambling-session-warn-message.box';\r\nimport {DividerBox} from '../../../basic-ui-components/layout/divider/divider.box';\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\ninterface IGamblingSessionSetupProps {\r\n onSetLimits: (gameLimits: IGamblingSessionLimitsSetup) => void;\r\n dialogHandler: IModalDialogHandler;\r\n lastBetActivity?: NullableString;\r\n}\r\n\r\ninterface IGamblingSessionLimitsInternalData {\r\n lossLimitAmount: number;\r\n sessionDurationLimit: number;\r\n reminderInterval: number;\r\n restrictionPeriod?: number;\r\n}\r\n\r\ninterface IGamblingSessionSetupState {\r\n selectedLimits: Partial;\r\n isValidationEnabled: boolean;\r\n lossLimitsErrorMessage: NullableString;\r\n timeLimitsErrorMessage: NullableString;\r\n}\r\n\r\n\r\n\r\n@observer\r\nexport class GamblingSessionSetupComponent extends OrbitComponentWithState {\r\n\r\n constructor(props: IGamblingSessionSetupProps) {\r\n super(props);\r\n this.state = {\r\n selectedLimits: {},\r\n isValidationEnabled: false,\r\n lossLimitsErrorMessage: null,\r\n timeLimitsErrorMessage: null\r\n }\r\n }\r\n\r\n private _onAfterValidationEnabled = () => {\r\n\r\n if(!this._performValidation()) {\r\n return;\r\n }\r\n\r\n this.props.dialogHandler.close();\r\n\r\n let intervalReminder = this.state.selectedLimits.reminderInterval;\r\n if(Check.isNullOrUndefined(intervalReminder)) {\r\n intervalReminder = TimeSpan.fromMinutes(parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.IntervalReminderInMinutes)[0]).totalSeconds;\r\n }\r\n\r\n this.props.onSetLimits({\r\n lossLimitAmount: this.state.selectedLimits.lossLimitAmount,\r\n sessionDurationLimit: TimeSpan.fromSeconds(this.state.selectedLimits.sessionDurationLimit),\r\n reminderInterval: TimeSpan.fromSeconds(intervalReminder),\r\n restrictionPeriod: TimeSpan.fromSeconds(this.state.selectedLimits.restrictionPeriod)\r\n });\r\n }\r\n\r\n private _onContinue = () => {\r\n\r\n this.setState({\r\n isValidationEnabled: true\r\n }, () => this._onAfterValidationEnabled());\r\n\r\n }\r\n\r\n private _performValidation(): boolean {\r\n if(!this.state.isValidationEnabled) {\r\n return true;\r\n }\r\n\r\n const errorMessages: Pick = {\r\n lossLimitsErrorMessage: null,\r\n timeLimitsErrorMessage: null\r\n };\r\n\r\n if(Check.isNullOrUndefined(this.state.selectedLimits.lossLimitAmount)) {\r\n errorMessages.lossLimitsErrorMessage = this.services.translation.translate('GAMBLING_SESSION_LOSS_LIMIT_REQUIRED_ERROR');\r\n }\r\n\r\n if(Check.isNullOrUndefined(this.state.selectedLimits.sessionDurationLimit)) {\r\n errorMessages.timeLimitsErrorMessage = this.services.translation.translate('GAMBLING_SESSION_TIME_LIMIT_REQUIRED_ERROR');\r\n }\r\n\r\n this.setState({\r\n ...this.state,\r\n ...errorMessages\r\n });\r\n\r\n return !Boolean(errorMessages.lossLimitsErrorMessage || errorMessages.timeLimitsErrorMessage);\r\n }\r\n\r\n private _onTimeLimitSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n sessionDurationLimit: value ? value : null\r\n }\r\n }, () => this._performValidation());\r\n\r\n\r\n }\r\n\r\n private _onGameLimitSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n lossLimitAmount: value\r\n }\r\n }, () => this._performValidation());\r\n }\r\n\r\n private _onIntervalReminderSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n reminderInterval: value ? value : null\r\n }\r\n });\r\n }\r\n\r\n private _onRestrictionPeriodSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n restrictionPeriod: value ? value : null\r\n }\r\n });\r\n }\r\n\r\n private _getRegulatoryText() {\r\n const responsibleGamingLinkText = this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESPONSIBLE_GAMING_LINK');\r\n return this.services.translation.translate('GAMBLING_SESSION_LIMIT_REGULATORY_TEXT', {\r\n responsibleGamblingLink: `${responsibleGamingLinkText}`\r\n });\r\n }\r\n\r\n private _captureRegulatoryTextElement = (element: HTMLElement) => {\r\n const linkElement = element?.querySelector(`.${GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK}`);\r\n linkElement?.addEventListener('click', () => {\r\n this.services.linksNavigation.openResponsibleGaming();\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.services.translation.translate('GAMBLING_SESSION_MESSAGE')}\r\n \r\n \r\n {this.services.translation.translate('GAMBLING_SESSION_WARN_MESSAGE')}\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 \r\n { this.props.lastBetActivity &&\r\n {this.services.translation.translate('GAMBLING_SESSION_LAST_BET', {lastBetDate: this.props.lastBetActivity})}\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 DropDownContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const ErrorMessageBox = styled.div<{visible: boolean}>`\r\n color: ${props => props.theme.colors.danger};\r\n visibility: ${props => props.visible ? 'visible' : 'hidden'};\r\n min-height: 17px;\r\n padding: 0 0 0 4px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DropDownLabelBox = styled.label`\r\n padding: 0 0 7px 0;\r\n`","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DropDownContainerBox} from \"../boxes/drop-down-container.box\";\r\nimport {ErrorMessageBox} from \"../boxes/error-message.box\";\r\nimport {DropDownLabelBox} from \"../boxes/drop-down-label.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {Select} from \"../../../../basic-ui-components/form/select.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\n\r\nexport interface DropDownItem {\r\n value: NullableNumber;\r\n text: string;\r\n}\r\n\r\nexport interface IDropDownSelectionResult {\r\n cancel: boolean;\r\n overrideValueOnCancel?: NullableNumber;\r\n}\r\n\r\ninterface SpainGameLimitDropDownComponentProps {\r\n label: string;\r\n items: DropDownItem[];\r\n nullItemText?: string;\r\n onItemSelected: (value: NullableNumber) => Promise;\r\n errorMessage?: string;\r\n className?: string;\r\n}\r\n\r\ninterface SpainGameLimitDropDownComponentState {\r\n selectedOption: NullableNumber;\r\n}\r\n\r\n@observer\r\nexport class DropDownComponent extends OrbitComponentWithState {\r\n constructor(props: SpainGameLimitDropDownComponentProps) {\r\n super(props);\r\n this.state = {\r\n selectedOption: null\r\n };\r\n }\r\n\r\n private _onChange = async (eventData: any) => {\r\n let value: NullableNumber = null;\r\n if(eventData.target.value !== \"0\") {\r\n value = parseInt(eventData.target.value);\r\n }\r\n\r\n const selectionResult = await this.props.onItemSelected(value);\r\n if(selectionResult.cancel) {\r\n if(Check.isUndefined(selectionResult.overrideValueOnCancel)) {\r\n this.setState({\r\n selectedOption: this.state.selectedOption\r\n });\r\n } else {\r\n this.setState({\r\n selectedOption: selectionResult.overrideValueOnCancel\r\n });\r\n }\r\n\r\n } else {\r\n this.setState({\r\n selectedOption: value\r\n });\r\n }\r\n }\r\n\r\n private _renderErrorMessage = () => {\r\n return (\r\n \r\n {this.props.errorMessage}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n\r\n const items: DropDownItem[] = [...this.props.items];\r\n\r\n if(this.props.nullItemText) {\r\n items.splice(0, 0, {\r\n value: 0,\r\n text: this.props.nullItemText\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.props.label}\r\n \r\n \r\n {this._renderErrorMessage()}\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 GameItemImgWrapperBox = styled.div<{fixedWidth?: boolean}>`\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 cursor: pointer;\r\n width: ${props => props.fixedWidth ? \"10rem\" : \"12rem\"};\r\n flex-shrink: 0;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: ${props => props.fixedWidth ? \"10rem\" : \"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, { 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\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\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","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: column;\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\nimport classNames from \"classnames\";\r\n\r\ninterface RegulatoryDataComponentProps {\r\n attachToHeaderService: boolean;\r\n className?: string;\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 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: 20px;\r\n height: 20px;\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 {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 \"xs\";\r\n } else {\r\n return \"m\";\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 PCContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {getButtonSizeVariant} from \"../../welcome-buttons/header-welcome-buttons-helpers\";\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, isBottomNavBarEnabled?: 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)' : (props.isBottomNavBarEnabled ? '80px' : '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 isBottomNavBarEnabled={this.services.abTestingFeatureDataProvider.isWebappBottomNavigationEnabled}\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\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 margin: 0;\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 font-size: 2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.6rem;\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 font-size: 2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 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 LobbyHeaderTitleCasino777Box = styled(LobbyHeaderTitleDefaultBox)`\r\n font-size: 2.2rem;\r\n color: ${({theme}) => theme.colors.moneyColor};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleCasino888WsopBox = styled(LobbyHeaderTitleDefaultBox)`\r\n font-family: ${({theme}) => theme.font.family.primary};\r\n ${({theme}) => theme.font.presets.bold}\r\n font-size: 2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\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\nimport {LobbyHeaderTitleCasino777Box} from \"./lobby-header-title.casino777.box\";\r\nimport {LobbyHeaderTitleCasino888WsopBox} from \"./lobby-header-title.casino888Wsop.box\";\r\n\r\nexport const LobbyHeaderTitleBox = styledByTheme(LobbyHeaderTitleDefaultBox)\r\n .forCasino888(LobbyHeaderTitleCasino888WsopBox)\r\n .forWsop(LobbyHeaderTitleCasino888WsopBox)\r\n .forCasino777(LobbyHeaderTitleCasino777Box)\r\n .forSI(LobbyHeaderTitleSIBox)\r\n .forMrGreen(LobbyHeaderTitleMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE_WRAPPER} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderTitleContainerBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n min-height: 4rem;\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 margin-bottom: 1rem;\r\n }\r\n\r\n .${LIVE_CASINO_PAGE_WRAPPER} & {\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-bottom: 0;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\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: 1.4rem;\r\n padding-bottom: 1.4rem;\r\n margin-bottom: 10px;\r\n transition: background-color 0.2s linear;\r\n\r\n &.${STICKY} {\r\n background-color: ${props => Color.fromHex(props.theme.colors.backgroundDark, 0.85).hexa()};\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${props => Color.fromHex(props.theme.colors.backgroundDark, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\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: 1rem;\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\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {baseColors} from \"../../../themes/definitions/si/base-colors\";\r\n\r\nexport const LobbyHeaderSiBox = styled(LobbyHeaderDefaultBox)`\r\n &.${STICKY} {\r\n background-color: ${Color.fromHex(baseColors.gray023, 0.85).hexa()};\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${Color.fromHex(baseColors.gray023, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\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\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderMrGreenBox = styled(LobbyHeaderDefaultBox)`\r\n background-color: ${baseColors.gray033};\r\n &.${STICKY} {\r\n background-color: ${Color.fromHex(baseColors.gray033, 0.85).hexa()};\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${Color.fromHex(baseColors.black, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nexport const LobbyHeaderWsopBox = styled(LobbyHeaderDefaultBox)`\r\n background-color: #00000099;\r\n`","import {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderSiBox} from \"./lobby-header.si.box\";\r\nimport {LobbyHeaderMrGreenBox} from \"./lobby-header.mrgreen.box\";\r\nimport {LobbyHeaderWsopBox} from \"./lobby-header.wsop.box\";\r\n\r\nexport const LobbyHeaderBox = styledByTheme(LobbyHeaderDefaultBox)\r\n .forSI(LobbyHeaderSiBox)\r\n .forMrGreen(LobbyHeaderMrGreenBox)\r\n .forWsop(LobbyHeaderWsopBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, LOBBY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderLineDefaultBox = 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 @media ${({theme}) => theme.mediaQuery.lAndBelow} {\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\n","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderLineCasino777Box = styled.div`\r\n display: none;\r\n`;\r\n","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 styled from \"styled-components\";\r\nimport {STICKY} from \"../../../../themes/css-global-classes\";\r\nimport {LobbyHeaderLineDefaultBox} from \"./lobby-header-line.default.box\";\r\n\r\nexport const LobbyHeaderLineCasino888WsopBox = styled(LobbyHeaderLineDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n \r\n /** Duplicated these rules for specificity. otherwise the ones from the base class will apply. */\r\n .${STICKY} &{\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\n// i don't want any divider for SI so i just put an empty div\r\nexport const LobbyHeaderLineSIBox = 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\nimport {LobbyHeaderLineCasino888WsopBox} from \"./lobby-header-line.casino888Wsop.box\";\r\nimport {LobbyHeaderLineSIBox} from \"./lobby-header-line.si.box\";\r\n\r\nexport const LobbyHeaderLineBox = styledByTheme(LobbyHeaderLineDefaultBox)\r\n .forCasino888(LobbyHeaderLineCasino888WsopBox)\r\n .forWsop(LobbyHeaderLineCasino888WsopBox)\r\n .forCasino777(LobbyHeaderLineCasino777Box)\r\n .forMrGreen(LobbyHeaderLineMrGreenBox)\r\n .forSI(LobbyHeaderLineSIBox)\r\n .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\nexport const LobbyHeaderButtonDefaultBox = styled.div`\r\n padding: 4px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 4rem;\r\n height: 4rem;\r\n border: 2px solid ${props => props.theme.colors.textContrast}80;\r\n color: ${props => props.theme.colors.textContrast};\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderButtonDefaultBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderButtonCasino777Box = styled(LobbyHeaderButtonDefaultBox)`\r\n border: 2px solid ${props => props.theme.colors.moneyColor}80;\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.moneyColor};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderButtonDefaultBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderButtonMrGreenBox = styled(LobbyHeaderButtonDefaultBox)`\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 {LobbyHeaderButtonDefaultBox} from \"./lobby-header-button.default.box\";\r\nimport {LobbyHeaderButtonCasino777Box} from \"./lobby-header-button.casino777.box\";\r\nimport {LobbyHeaderButtonMrGreenBox} from \"./lobby-header-button.mrgreen.box\";\r\n\r\nexport const LobbyHeaderButtonsBox = styledByTheme(LobbyHeaderButtonDefaultBox)\r\n .forCasino777(LobbyHeaderButtonCasino777Box)\r\n .forMrGreen(LobbyHeaderButtonMrGreenBox).apply();","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 IFilterIndicatorRenderingOptions,\r\n FilterIndicatorRenderingLocation\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.renderFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== FilterIndicatorRenderingLocation.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.renderFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== FilterIndicatorRenderingLocation.NextToArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n private _onCaptureElement = (el: HTMLElement | null) => {\r\n this.props.stickyHandler.updateElement(el);\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 { Props as IDotLottiePlayerProps } from '@dotlottie/react-player';\r\nimport React from 'react';\r\nimport { OrbitSuspense } from '../base-components/orbit-suspense/orbit-suspense';\r\n\r\nconst Player = React.lazy(\r\n () => import('@dotlottie/react-player').then(({ DotLottiePlayer }) => ({ default: DotLottiePlayer }))\r\n);\r\n\r\nexport const DotLottiePlayer = React.forwardRef((props: IDotLottiePlayerProps, ref: any) => {\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\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; margin?: string}>`\r\n width: 100%;\r\n margin: ${({margin}) => margin ? 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 ButtonWrapperBox = 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 {ButtonWrapperBox, 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 margin?: 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, isWide?: boolean}>`\r\n height: ${props=> props.isWide === true ? \"33px\" : \"27px\"};\r\n width: ${props => props.isWide === true ? \"96px\" : (props.isShownInHeader === true ? \"35px\" : \"27px\")};\r\n min-width: ${props => props.isWide === true ? \"96px\" : \"initial\"};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeDefaultBox = styled.div<{isShownInHeader: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.hover}{\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n &:active {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {MinimumGamblingAgeDefaultBox} from \"./minimum-gambling-age.default.box\";\r\n\r\nexport const MinimumGamblingAgeBox = styledByTheme(MinimumGamblingAgeDefaultBox)\r\n .apply();","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 _getIconType(): string {\r\n return this.services.configuration.data.header.responsibleIcons?.ageButton?.iconType;\r\n }\r\n\r\n private _getIcon(): string {\r\n const age = this.services.regulation.current.responsibleGamingAge;\r\n switch (this._getIconType()) {\r\n case 'wide':\r\n return this.services.theme.currentTheme.images.regulationSpecific.denmark.age18PlusWide.toString();\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 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`","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 @media ${({theme}) => theme.mediaQuery.hover}{\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n &:active {\r\n opacity: 0.5;\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 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`;\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\nimport {styledByDevice} from \"../../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 120px;\r\n height: 20px;\r\n`;\r\n\r\n\r\nconst PcBox = DefaultBox;\r\nconst MobileBox = styled(DefaultBox)`\r\n width: 90px;\r\n height: 15px;\r\n`;\r\n\r\nexport const DenmarkSelfTestButtonBox = styledByDevice(PcBox, MobileBox);","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 styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSecondaryResponsibleGamingButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 72px;\r\n height: 35px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 48px;\r\n height: 23px;\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 {DenmarkSecondaryResponsibleGamingButtonBox} from \"./denmark.secondary-responsible-gaming-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSecondaryResponsibleGamingButtonComponent = observer(class DenmarkSafeToPlayButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n await this.services.linksNavigation.openSecondaryResponsibleGaming();\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\nimport {\r\n DenmarkSecondaryResponsibleGamingButtonComponent\r\n} from \"./responsible-gaming-button/denmark.secondary-responsible-gaming-button.component\";\r\n\r\nexport const DenmarkResponsibleGamingButtonsComponent = observer(class DenmarkResponsibleGamingButtonsComponent extends OrbitComponent<{hideSelfExclusionLinks?: boolean}> {\r\n\r\n private _renderSelfExclusionButtons() {\r\n if (this.props.hideSelfExclusionLinks) {\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\r\n private _renderSecondaryResponsibleGamblingIcon() {\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._renderSecondaryResponsibleGamblingIcon()}\r\n \r\n {this._renderSelfExclusionButtons()}\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\r\n @media ${({theme}) => theme.mediaQuery.hover}{\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n &:active {\r\n opacity: 0.5;\r\n }\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 {GenericSideMenuItemIconBox} from \"../generic/generic-side-menu-item-icon.box\";\r\n\r\nexport const DepositSideMenuItemIconDefaultBox = styled(GenericSideMenuItemIconBox)`\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {DepositSideMenuItemIconDefaultBox} from \"./deposit-side-menu-item-icon.default.box\";\r\n\r\n\r\nexport const DepositSideMenuItemIconSiBox = styled(DepositSideMenuItemIconDefaultBox)`\r\n color: ${({theme}) => theme.colors.textActive};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {DepositSideMenuItemIconSiBox} from \"./deposit-side-menu-item-icon.si.box\";\r\nimport {DepositSideMenuItemIconDefaultBox} from \"./deposit-side-menu-item-icon.default.box\";\r\n\r\nexport const DepositSideMenuItemIconBox = styledByTheme(DepositSideMenuItemIconDefaultBox)\r\n .forSI(DepositSideMenuItemIconSiBox)\r\n .apply();\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`;\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, { 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 GenericSideMenuItemIconCasino777Box = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${({theme}) => theme.colors.backgroundActive};\r\n color: ${(props) => props.theme.colors.textActive};\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.logoBackground};\r\n color: ${(props) => props.theme.colors.textActive};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconSIBox = styled(GenericSideMenuItemIconCommonBox)`\r\n color: ${(props) => props.active ? props.theme.colors.textLight : props.theme.colors.textMiddleDark};\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(GenericSideMenuItemIconCasino777Box)\r\n .forHarrahs(GenericSideMenuItemIconHarrahsBox)\r\n .forWsop(GenericSideMenuItemIconWsopBox)\r\n .forSI(GenericSideMenuItemIconSIBox)\r\n .forMrGreen(GenericSideMenuItemIconMrGreenBox)\r\n .apply();","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.4rem;\r\n line-height: 1;\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.6rem 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-weight: 300;\r\n }\r\n &:hover {\r\n color: ${({theme}) => theme.colors.textHover};\r\n }\r\n`;\r\n\r\nconst GenericSideMenuItemCasino777Box = styled(GenericSideMenuItemDefaultBox)`\r\n color: ${({theme, active}) => active ? theme.colors.backgroundActive: theme.colors.text};\r\n`;\r\n\r\nconst GenericSideMenuItemHarrahsBox = styled(GenericSideMenuItemDefaultBox)`\r\n ${({theme}) => theme.font.presets.regular};\r\n`;\r\n\r\nconst GenericSideMenuItemWsopBox = styled(GenericSideMenuItemDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-weight: ${({theme, active}) => active ? 600: 300};\r\n }\r\n`;\r\n\r\nexport const GenericSideMenuItemBox = styledByTheme(GenericSideMenuItemDefaultBox)\r\n .forCasino777(GenericSideMenuItemCasino777Box)\r\n .forHarrahs(GenericSideMenuItemHarrahsBox)\r\n .forWsop(GenericSideMenuItemWsopBox)\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 border: none;\r\n margin: 1px 1.2rem 0 1.2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0 1.6rem;\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: absolute;\r\n top: -2px;\r\n left: 0;\r\n width: 100%;\r\n\r\n box-sizing: content-box;\r\n height: 1px;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n margin-bottom: 1px;\r\n }\r\n\r\n &:first-child {\r\n margin-top: 0;\r\n &::before {\r\n display: none;\r\n }\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerCasino777Box = styled(SideMenuItemContainerDefaultBox)`\r\n &::before {\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerMrGreenBox = styled(SideMenuItemContainerDefaultBox)`\r\n &::before {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerSiBox = styled(SideMenuItemContainerDefaultBox)`\r\n &::before {\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n }\r\n`;\r\n\r\nexport const SideMenuItemContainerBox = styledByTheme(SideMenuItemContainerDefaultBox)\r\n .forCasino777(SideMenuItemContainerCasino777Box)\r\n .forMrGreen(SideMenuItemContainerMrGreenBox)\r\n .forSI(SideMenuItemContainerSiBox)\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 React from 'react';\r\nimport {SwiperProps, SwiperRef} from \"swiper/swiper-react\";\r\nimport {Swiper} from \"swiper/react\";\r\nimport 'swiper/css';\r\nimport 'swiper/css/navigation';\r\nimport 'swiper/css/pagination';\r\nimport 'swiper/css/virtual';\r\n\r\nexport const SwiperComponent: React.FC = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n );\r\n})\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\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\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\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\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\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\r\n */\r\nexport const TopBannerMrGreenBox = styled(TopBannerDefaultBox)`\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 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\nimport {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\n\r\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\r\n */\r\nexport const TopBannerCasino888Box = styled(TopBannerDefaultBox)`\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n }\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\nimport {TopBannerCasino888Box} from \"./top-banner.888.box\";\r\n\r\nexport const TopBannerBox = styledByTheme(TopBannerDefaultBox)\r\n .forCasino888(TopBannerCasino888Box)\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 styled from \"styled-components\";\r\n\r\nexport const AnimatedTopImageWrapper = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n`;\r\n\r\nexport const AnimatedTopImageScrollHandler = styled(AnimatedTopImageWrapper)`\r\n z-index: 5;\r\n`;\r\n","import React, {useMemo} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DotLottiePlayer} from \"../lottie-player/dot-lottie-player.component\";\r\nimport {AnimatedTopImageWrapper} from \"./boxes/animated-top-image-wrapper\";\r\n\r\nconst LottieTopImageWrapper = styled(AnimatedTopImageWrapper)`\r\n svg {\r\n display: block;\r\n }\r\n`;\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\nexport const LottieAnimatedTopImageComponent: React.FC = observer((props) => {\r\n const styles = useMemo(() => ({}), []);\r\n return \r\n \r\n ;\r\n});\r\n","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\nimport {AnimatedTopImageScrollHandler, AnimatedTopImageWrapper} from \"./boxes/animated-top-image-wrapper\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\n@observer\r\nexport class PixiAnimatedTopImageComponent 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 {/* 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 from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport { LottieAnimatedTopImageComponent } from \"./lottie-animated-top-image.component\";\r\nimport {PixiAnimatedTopImageComponent} from \"./pixi-animated-top-image.component\";\r\nimport {AnimatedTopImageConfiguration} from \"../../services/configurations/config-data-sections/arenas.configuration\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n imageAnimationConfig: AnimatedTopImageConfiguration;\r\n}\r\n@observer\r\nexport class AnimatedTopImageComponent extends OrbitComponent {\r\n render() {\r\n if (this.props.imageAnimationConfig.engine === \"pixi\") {\r\n return \r\n }\r\n return \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\nimport {AnimatedTopImageConfiguration} from '../../services/configurations/config-data-sections/arenas.configuration';\r\n\r\nexport interface TopImageComponentProps {\r\n image: string;\r\n animatedBanner?: AnimatedTopImageConfiguration;\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 if (!this.props.image || (this.services.gamesFilter.isFilterOn && this.services.mediaQuery.sAndBelow)) {\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;\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 styled from 'styled-components';\r\nimport {UsefulLinksListDefaultBox} from './useful-links-list.default.box';\r\n\r\nexport const UsefulLinksListCasino777Box = styled(UsefulLinksListDefaultBox)`\r\n background: none;\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\nimport {UsefulLinksListCasino777Box} from './useful-links-list.casino777.box';\r\n\r\nexport const UsefulLinksListBox = styledByTheme(UsefulLinksListDefaultBox)\r\n .forCasino777(UsefulLinksListCasino777Box)\r\n .forCip(UsefulLinksListCipBox)\r\n .forWsopCip(UsefulLinksListCipBox)\r\n .forCis(UsefulLinksListCipBox)\r\n .apply();","import styled from 'styled-components';\r\nimport {flexRowContainerMixin} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const UsefulLinksItemDefaultBox = styled.div<{active?: boolean}>`\r\n ${flexRowContainerMixin}\r\n align-items: center;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n color: ${props => props.active ? props.theme.colors.textActive : props.theme.colors.text};\r\n font-size: 1.4rem;\r\n \r\n &:hover {\r\n color: ${props => props.theme.colors.textHover};\r\n }\r\n\r\n height: 3.75rem;\r\n line-height: 3.75rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: flex;\r\n align-items: center;\r\n height: 4.5rem;\r\n line-height: 4.5rem;\r\n color: ${props => props.active ? props.theme.colors.textActive : props.theme.colors.textLight};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {UsefulLinksItemDefaultBox} from './useful-links-item.default.box';\r\n\r\nexport const UsefulLinksItemCasino777Box = styled(UsefulLinksItemDefaultBox)`\r\n color: ${props => props.active ? props.theme.colors.textContrast : props.theme.colors.text};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.textContrast};\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.body}\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {UsefulLinksItemDefaultBox} from './useful-links-item.default.box';\r\n\r\nexport const UsefulLinksItemCipBox = styled(UsefulLinksItemDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 0;\r\n text-transform: uppercase;\r\n ${({theme}) => theme.font.presets.medium};\r\n &:first-child {\r\n margin-top: 0;\r\n border-top: 0;\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {UsefulLinksItemDefaultBox} from \"./useful-links-item.default.box\";\r\n\r\n\r\nexport const UsefulLinksItemMrGreenBox = styled(UsefulLinksItemDefaultBox)`\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-right: 2rem;\r\n`;","import React, {PropsWithChildren} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {UsefulLinksItemBox} from \"../../boxes/useful-links-item/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 \"../../boxes/useful-links-item/useful-links-item-side-text.box\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UserMenuSeparatorBox} from '../../../user-menu/user-menu-items/boxes/user-menu-separator.box';\r\nimport {FlexFixedSizeItemBox, FlexGrowItemBox} from '../../../../themes/architecture/css-helpers/flex';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {GenericSideMenuItemIconBox} from '../../../side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-icon.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\ninterface IUsefulLinkInnerItemComponentProps extends MenuItemComponentProps {\r\n className?: string;\r\n // false - collapsed state, arrow down // true - expanded state, arrow up // undefined or null - normal state, arrow to the right\r\n expandedArrowIcon?: boolean | undefined | null;\r\n onClick(): void;\r\n}\r\n\r\nexport const UsefulLinkInnerItemComponent: React.FC> = observer((props) => {\r\n const services = useServices();\r\n\r\n\r\n const _renderIcon = () => {\r\n if(!props.menuItem.iconSource || !props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n switch (props.menuItem.iconSource) {\r\n case \"themeIcons\":\r\n const Icon = services.theme.currentTheme.icons[props.menuItem.icon];\r\n if(!Icon) {\r\n services.logger.error(`Menu item ${props.menuItem.key} has configured icon ${props.menuItem.icon} which does not exist in currentTheme.icons`)\r\n return null;\r\n }\r\n return ();\r\n // break;\r\n case \"themeImages\":\r\n const imageURI = get(services.theme.currentTheme.images, props.menuItem.icon, '');\r\n if(!imageURI) {\r\n services.logger.error(`Menu item ${props.menuItem.key} has configured icon ${props.menuItem.icon} which does not exist in currentTheme.images`)\r\n return null;\r\n }\r\n return ({props.menuItem.iconAltText)\r\n // break;\r\n case \"url\":\r\n default:\r\n return ({props.menuItem.iconAltText)\r\n // break;\r\n }\r\n }\r\n\r\n const renderContent = () => {\r\n if(props.menuItem.imageOnlyRendering) {\r\n return _renderIcon();\r\n } else {\r\n return (\r\n <>\r\n \r\n {_renderIcon()}\r\n \r\n \r\n {props.menuItem.text}\r\n \r\n {props.menuItem.sideText && ({props.menuItem.sideText})}\r\n \r\n )\r\n }\r\n }\r\n\r\n const ForwardIcon = services.theme.currentTheme.icons.forwardIcon;\r\n let iconStyle = {};\r\n if (!Check.isNullOrUndefined(props.expandedArrowIcon)) {\r\n iconStyle = {\r\n transition: \"transform 0.12s ease-out\",\r\n transform: \"rotate(\" + (props.expandedArrowIcon ? \"-\" : \"\") + \"90deg)\" \r\n };\r\n }\r\n\r\n return (\r\n
  • \r\n {!!props.showSeparator && }\r\n \r\n {renderContent()}\r\n {!props.menuItem.imageOnlyRendering && \r\n \r\n }\r\n \r\n {props.children}\r\n
  • \r\n );\r\n\r\n});","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\nimport {styled} from '@mui/material';\r\n\r\nexport interface UsefulLinksListComponentProps {\r\n onItemClick?: () => void;\r\n // this will be UserMenuSectionBox in general except for mini orbit where it is gonna be MiniOrbitUsefulLinksListBox\r\n linksGroupWrapperBox?: React.ComponentType<{className?: string}>;\r\n linksGroupWrapperClassName?: string;\r\n}\r\n\r\n@observer\r\nexport class UsefulLinksListComponent extends OrbitComponent {\r\n render() {\r\n const LinksGroupWrapperBox = this.props.linksGroupWrapperBox ? this.props.linksGroupWrapperBox : styled.div``;\r\n return this.services.userMenu.usefulLinksMenuItems.map((list, index) =>\r\n \r\n \r\n { list.map((menuItem, index) => menuItem.renderMenuItem({onBeforeClick: this.props.onItemClick, showSeparator: !!index}) )}\r\n \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\nimport {baseColors} from \"../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nconst UserMenuSeparatorDefaultBox = styled.div`\r\n box-sizing: content-box;\r\n height: 1px;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n margin-bottom: 1px;\r\n`;\r\n\r\nconst UserMenuSeparatorCasino777Box = styled(UserMenuSeparatorDefaultBox)`\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n`;\r\n\r\nconst UserMenuSeparatorMrGreenBox = styled(UserMenuSeparatorDefaultBox)`\r\n background-color: ${baseColors.gray233};\r\n opacity: 0.2;\r\n`;\r\n\r\nconst UserMenuSeparatorSIBox = styled(UserMenuSeparatorDefaultBox)`\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n`;\r\n\r\nexport const UserMenuSeparatorBox = styledByTheme(UserMenuSeparatorDefaultBox)\r\n .forCasino777(UserMenuSeparatorCasino777Box)\r\n .forMrGreen(UserMenuSeparatorMrGreenBox)\r\n .forSI(UserMenuSeparatorSIBox)\r\n .apply()","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 NEW_LIVE_CASINO_AB_ARENA_NAME = 'newLiveCasinoAB';\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\nexport const VIDEO_SLIDES_ARENA = 'videoSlidesArena';\r\n\r\nexport const ALL_ARENAS = Array.of(\r\n LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_AB_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 isValidCmsId(): boolean {\r\n return !(Check.isEmpty(this._componentID) || Check.isEmpty(this._templateID));\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 onHide?: () => void;\r\n onDisplay?: () => 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 | 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 onClosed?: () => void;\r\n shouldBeClosedOnlyByUser?: boolean;\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\nimport {IChannel} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport const REGISTRATION_DATA_KEY = 'storeRegistrationData';\r\n\r\nexport interface IOpenRegistrationOptions {\r\n channel: IChannel;\r\n businessCorrelationID?: string;\r\n marketingParams?: MarketingParams;\r\n promoCode?: string;\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 bankroll: 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 isFreePlayMandatoryWhenAvailable: 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}","export enum GameVendorId {\r\n V_888 = 1,\r\n V_CTXM = 2,\r\n V_vsGaming = 3,\r\n V_Electracade = 4,\r\n V_LNW = 5,\r\n V_Rival = 6,\r\n V_Dynamite = 7,\r\n V_Ashgaming = 8,\r\n V_Crypto = 9,\r\n V_BlueSq = 10,\r\n V_Bellfruit = 11,\r\n V_Sportech = 12,\r\n V_Netent = 13,\r\n V_Evolution = 14,\r\n V_WagerWorks = 15,\r\n V_Betlow = 16,\r\n V_Fremantle = 17,\r\n V_Gamesq = 18,\r\n V_DSL = 19,\r\n V_Ponsbic = 20,\r\n V_Blueprint = 21,\r\n V_Endemol = 22,\r\n V_Mazooma = 23,\r\n V_Genesis = 24,\r\n V_RevolverGaming = 25,\r\n V_Kambi = 26,\r\n V_NetEnt = 27,\r\n V_LNW2 = 28,\r\n V_Ingenuity = 29,\r\n V_PlayTech = 30,\r\n V_UniversalStudios = 31,\r\n V_IGT = 32,\r\n V_Elk = 33,\r\n V_Thunderkick = 34,\r\n V_Merkur = 35,\r\n V_NextGenBigTime = 36,\r\n V_Sigma = 37,\r\n V_Wizard = 38,\r\n V_Quickspin = 39,\r\n V_GamesGlobal = 40,\r\n V_Yggdrasil = 41,\r\n V_Amatic = 42,\r\n V_BallyWulff = 43,\r\n V_Skilzz = 44,\r\n V_LightningBox = 46,\r\n V_RedTiger = 47,\r\n V_Pragmatic = 48,\r\n V_NorthernLight = 49,\r\n V_H5 = 50,\r\n V_RubyPlay = 51,\r\n V_NextGenChanceInteractive = 52,\r\n V_PlayNGo = 53,\r\n V_AGS = 54,\r\n V_Gamevy = 55,\r\n V_Eyecon = 56,\r\n V_Greentube = 57,\r\n V_iSoftBet = 58,\r\n V_Playson = 59,\r\n V_Spectate = 60,\r\n V_Inspired = 61,\r\n V_PGSoft = 62,\r\n V_Skywind = 63,\r\n V_Habanero = 64,\r\n V_MGA = 65,\r\n V_RFranco = 66,\r\n V_4theplayer = 67,\r\n V_Realistic = 68,\r\n V_Oryx = 69,\r\n V_ReelPlay = 70,\r\n V_GamingRealms = 71,\r\n V_Hacksaw = 72,\r\n V_PushGaming = 73,\r\n V_WMG = 74,\r\n V_1x2 = 75,\r\n V_GoldenRace = 76,\r\n V_Leap = 77,\r\n V_Core = 78,\r\n V_ReelNRG = 79,\r\n V_IronDog = 80,\r\n V_Authentic = 81,\r\n V_Gamomat = 82,\r\n V_EGT = 83,\r\n V_Endorphina = 84,\r\n V_Betsoft = 85,\r\n V_Playzido = 86,\r\n V_RedRake = 87,\r\n V_PlayzidoOthers = 88,\r\n V_TomHorn = 89,\r\n V_NeoGames = 90,\r\n V_BFGames = 91,\r\n V_Kalamba = 92,\r\n V_GiveMe = 93,\r\n V_GoldenHero = 94,\r\n V_2by2 = 95,\r\n V_PlankGaming = 96,\r\n V_BulletproofGames = 97,\r\n V_Ainsworth = 98,\r\n V_Everi = 99,\r\n V_Wazdan = 100,\r\n V_PlayzidoReelplay = 101,\r\n V_Gong = 102,\r\n V_NoLimitCity = 103,\r\n V_DWG = 104,\r\n V_TripleCherry = 105,\r\n V_Spearhead = 106,\r\n V_Spinomenal = 107,\r\n V_Spribe = 108,\r\n V_CIRSA = 109,\r\n V_Funfair = 110,\r\n V_GreenJade = 111,\r\n V_NazionaleElectronica = 112,\r\n V_Booming = 113,\r\n V_Darwin = 114,\r\n V_Betixon = 115,\r\n V_NetGaming = 116,\r\n V_BGaming = 117,\r\n V_BlueHorn = 118,\r\n V_SpinPlay = 119,\r\n V_Arcadia = 120,\r\n V_Stakelogic = 121,\r\n V_Live5 = 122,\r\n V_Swintt = 123,\r\n V_Edict = 124,\r\n V_GameArt = 125,\r\n V_LadyLuck = 126,\r\n V_SmartSoft = 127,\r\n V_Spinberry = 128,\r\n V_TopSpin = 129,\r\n V_eZugi = 130,\r\n V_IndigoMagic = 131,\r\n V_AtomicLabs = 132,\r\n V_Bluberi = 133,\r\n V_RAW = 134,\r\n V_Reevo = 135,\r\n V_WhiteHat = 136,\r\n V_Galaxis = 137,\r\n V_Synot = 138,\r\n V_EGTDigital = 139\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 FilterIndicatorRenderingLocation {\r\n BelowArenaTitle,\r\n NextToArenaTitle\r\n}\r\nexport interface IFilterIndicatorRenderingOptions {\r\n reactElement: React.ReactElement;\r\n location: FilterIndicatorRenderingLocation;\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 renderFiltersIndicator(): Nullable;\r\n showFiltersEditor(): void;\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number;\r\n}\r\n","export enum GamingHistoryType {\r\n UserHistory = 1,\r\n SessionHistory = 2\r\n}\r\n","import {IModalDialogHandler} from \"../../dialog/dialog.service.interface\";\r\nimport {GeoComplyFailureReason} from \"./geo-comply-error-codes\";\r\nimport {GeoLocationAnalytics} from \"../geo-location-analytics\";\r\nimport {IGeoRestrictionsUpdateEventParams} from \"../../sdk/sdk-events\";\r\n\r\nexport enum GeoLocationReason {\r\n Login = 'Login',\r\n Periodic = 'Periodic',\r\n Retry = 'Retry',\r\n //AutoRetry = 'Auto Retry',\r\n OpenRealGame= 'OPEN_REAL_GAME'\r\n};\r\n\r\n\r\nexport interface IGeoLocationStrategyRunParams {\r\n licenseKey: string;\r\n licenseWebKey: string;\r\n locationTransactionId: string;\r\n mobileNumber: string;\r\n reason: GeoLocationReason;\r\n progressIndicator?: IModalDialogHandler;\r\n analytics: GeoLocationAnalytics;\r\n\r\n}\r\n\r\nexport interface IGeoComplyError {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface IGeoComplyFailure {\r\n geoComplyError?: IGeoComplyError;\r\n additionalFailureReason: GeoComplyFailureReason;\r\n}\r\n\r\nexport interface IGeoComplyResponse {\r\n data?: string;\r\n failure?: IGeoComplyFailure;\r\n}\r\n\r\nexport enum GeoValidationResult {\r\n Fail,\r\n Pass\r\n}\r\n\r\nexport interface IGeoRunResult {\r\n geoComplyFailure?: IGeoComplyFailure;\r\n validationResult: GeoValidationResult;\r\n kickParams?: IGeoRestrictionsUpdateEventParams;\r\n\r\n}\r\n\r\nexport interface IGeoLocationStrategy {\r\n runGeoLocation(params: IGeoLocationStrategyRunParams): Promise;\r\n dispose(): void;\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: 'special',\r\n onClick: async () => {\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: 'Mail to',\r\n buttonPreset: 'primary',\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\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\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 channel: {\r\n area: AreaType.NavigationMenu,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.registerButton\r\n },\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\nimport {DepositSideMenuItemIconBox} from \"./boxes/link/deposit/deposit-side-menu-item-icon.box\";\r\n\r\nexport class DepositSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n const DepositIcon = this.services.theme.currentTheme.icons.wallet;\r\n\r\n return (\r\n \r\n \r\n \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 .apply();\r\n","// import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { DepositSideMenuItemIconBox } from \"../deposit/deposit-side-menu-item-icon.box\";\r\n\r\n// const SignupSideMenuItemIconSiBox = styled(DepositSideMenuItemIconBox)`\r\n// font-size: 1.6rem;\r\n// color: ${({theme}) => theme.colors.moneyColor };\r\n// `;\r\n\r\nexport const SignupSideMenuItemIconBox = styledByTheme(DepositSideMenuItemIconBox)\r\n // .forSI(SignupSideMenuItemIconSiBox)\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\nimport {SignupSideMenuItemIconBox} from \"./boxes/link/signup/signup-side-menu-item-icon.box\";\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 const DepositIcon = this.services.theme.currentTheme.icons.registerUser;\r\n\r\n return (\r\n \r\n \r\n \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 {LanguageSwitcherConfiguration} from \"../../app-bootstrap/config-interfaces/b2c-startup.configurations\";\r\nimport {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 \"22rem\";\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 getLanguageSwitcherConfigForTestEnvironments(): LanguageSwitcherConfiguration {\r\n return {\r\n \"languages\": [\r\n {\r\n \"title\": \"简体中文\",\r\n \"url\": \"https://cns.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"Deutsch\",\r\n \"url\": \"https://de.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"Español\",\r\n \"url\": \"https://es.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"Français\",\r\n \"url\": \"https://fr.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"日本語\",\r\n \"url\": \"https://jp.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"Русский\",\r\n \"url\": \"https://ru.888casino-game.com/\"\r\n },\r\n {\r\n \"title\": \"ภาษาไทย\",\r\n \"url\": \"https://th.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"Português\",\r\n \"url\": \"https://br.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"العربية\",\r\n \"url\": \"https://ar.playat888-games.com/\"\r\n }\r\n ],\r\n \"countries\": [\r\n {\r\n \"title\": \"Canada\",\r\n \"url\": \"https://ca.888casino.com/\"\r\n },\r\n {\r\n \"title\": \"España\",\r\n \"url\": \"https://www.888casino.es\"\r\n },\r\n {\r\n \"title\": \"Danmark\",\r\n \"url\": \"https://www.888casino.dk\"\r\n },\r\n {\r\n \"title\": \"România\",\r\n \"url\": \"https://www.888casino.ro\"\r\n },\r\n {\r\n \"title\": \"Italia\",\r\n \"url\": \"https://www.888casino.it\"\r\n },\r\n {\r\n \"title\": \"Sverige\",\r\n \"url\": \"https://www.888casino.se\"\r\n },\r\n {\r\n \"title\": \"United States\",\r\n \"url\": \"https://us.888casino.com\"\r\n },\r\n {\r\n \"title\": \"Portugal\",\r\n \"url\": \"https://casino.888.pt\",\r\n \"sendFunnelParameters\": true\r\n },\r\n {\r\n \"title\": \"Deutschland\",\r\n \"url\": \"https://www.888slots.de\"\r\n }\r\n ],\r\n \"languageSettings\": {\r\n \"title\": \"Choose your language:\",\r\n \"current\": \"English\"\r\n },\r\n \"countrySettings\": {\r\n \"title\": \"Or choose your country:\",\r\n \"current\": \"\"\r\n }\r\n }\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_GIFT_MINI_ORBIT_INDICATOR = CyClass('cy-header-menu-gift-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 React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\n\r\nexport const UsefulLinkItemComponent: React.FC = observer((props) => {\r\n const onClickHandler = async () => {\r\n await props.menuItem.execute();\r\n }\r\n\r\n return \r\n});","import React from 'react';\r\nimport {UsefulLinkItemComponent} from '../../../../components/useful-links/parts/useful-link-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\nimport classNames from 'classnames';\r\n\r\nexport class GenericUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export enum GamesOpenSessionsKind\r\n{\r\n Real = 0,\r\n FreePlay = 1,\r\n All = 2\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 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\ntype FlexDirection = \"column\" | \"column-reverse\" | \"row\" | \"row-reverse\";\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 flexShrinkItem = (props: {flexBasis?: string; flexShrink?: number;}) => css`\r\n flex: 0 ${props.flexShrink || \"1\"} ${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 FlexShrinkItemBox = styled.div`\r\n ${flexShrinkItem}\r\n`;\r\n\r\nexport const FlexAdaptiveSizeItemBox = styled.div`\r\n ${flexAdaptiveSizeItem}\r\n`;\r\n\r\nexport const FlexContainerBox = styled.div<{\r\n alignItems?: FlexAlignItemsProp;\r\n justifyContent?: FlexJustifyContentProp;\r\n direction?: FlexDirection;\r\n}>`\r\n ${({direction}) => direction === \"column\" ? flexColumnContainerMixin : 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 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\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,'888casino_uk': 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,'888casino_uk': 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\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,'777_uk': true}),\n\t\t_888_Bold_otf: new Asset(\"fonts/888-Bold.otf\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_svg: new Asset(\"fonts/888-Bold.svg\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_ttf: new Asset(\"fonts/888-Bold.ttf\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_woff: new Asset(\"fonts/888-Bold.woff\", {'777_com': true,'777_uk': 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\tBello_Script_eot: new Asset(\"fonts/Bello_Script.eot\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_svg: new Asset(\"fonts/Bello_Script.svg\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_ttf: new Asset(\"fonts/Bello_Script.ttf\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_woff: new Asset(\"fonts/Bello_Script.woff\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_woff2: new Asset(\"fonts/Bello_Script.woff2\", {'777_com': true,'777_uk': true}),\n\t\tdigital_7_mono_ttf: new Asset(\"fonts/digital_7_mono.ttf\", {}),\n\t\tFutura_PT_Bold_eot: new Asset(\"fonts/Futura_PT_Bold.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_otf: new Asset(\"fonts/Futura_PT_Bold.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_svg: new Asset(\"fonts/Futura_PT_Bold.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_ttf: new Asset(\"fonts/Futura_PT_Bold.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_woff: new Asset(\"fonts/Futura_PT_Bold.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_woff2: new Asset(\"fonts/Futura_PT_Bold.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_eot: new Asset(\"fonts/Futura_PT_Book.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_otf: new Asset(\"fonts/Futura_PT_Book.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_svg: new Asset(\"fonts/Futura_PT_Book.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_ttf: new Asset(\"fonts/Futura_PT_Book.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_woff: new Asset(\"fonts/Futura_PT_Book.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_woff2: new Asset(\"fonts/Futura_PT_Book.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_eot: new Asset(\"fonts/Futura_PT_Demi.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_otf: new Asset(\"fonts/Futura_PT_Demi.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_svg: new Asset(\"fonts/Futura_PT_Demi.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_ttf: new Asset(\"fonts/Futura_PT_Demi.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_woff: new Asset(\"fonts/Futura_PT_Demi.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_woff2: new Asset(\"fonts/Futura_PT_Demi.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_eot: new Asset(\"fonts/Futura_PT_Heavy.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_otf: new Asset(\"fonts/Futura_PT_Heavy.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_svg: new Asset(\"fonts/Futura_PT_Heavy.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_ttf: new Asset(\"fonts/Futura_PT_Heavy.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_woff: new Asset(\"fonts/Futura_PT_Heavy.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_woff2: new Asset(\"fonts/Futura_PT_Heavy.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_eot: new Asset(\"fonts/Futura_PT_Medium.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_otf: new Asset(\"fonts/Futura_PT_Medium.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_svg: new Asset(\"fonts/Futura_PT_Medium.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_ttf: new Asset(\"fonts/Futura_PT_Medium.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_woff: new Asset(\"fonts/Futura_PT_Medium.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_woff2: new Asset(\"fonts/Futura_PT_Medium.woff2\", {'777_com': true,'777_uk': 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\tLobster_Regular_eot: new Asset(\"fonts/Lobster_Regular.eot\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_otf: new Asset(\"fonts/Lobster_Regular.otf\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_svg: new Asset(\"fonts/Lobster_Regular.svg\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_ttf: new Asset(\"fonts/Lobster_Regular.ttf\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_woff: new Asset(\"fonts/Lobster_Regular.woff\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_woff2: new Asset(\"fonts/Lobster_Regular.woff2\", {'777_com': true,'777_uk': true}),\n\t\tMontserrat_VariableFont_ttf: new Asset(\"fonts/Montserrat-VariableFont.ttf\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\toleo_script_reg_ext_woff2: new Asset(\"fonts/oleo_script_reg_ext.woff2\", {}),\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\tOleoScript_Bold_ttf: new Asset(\"fonts/OleoScript-Bold.ttf\", {}),\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\tRobotoCondensed_Bold_ttf: new Asset(\"fonts/RobotoCondensed-Bold.ttf\", {}),\n\t\tSolanoGothicMVB_Bd_ttf: new Asset(\"fonts/SolanoGothicMVB-Bd.ttf\", {'si_mi': true}),\n\t\tTradeGothicLTStd_Bd2_otf: new Asset(\"fonts/TradeGothicLTStd-Bd2.otf\", {})\n\t},\n\tgames: {\n\t\tgame_icon_placeholder_png: new Asset(\"games/game_icon_placeholder.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t}\n\t},\n\timages: {\n\t\t_3px_tile_png: new Asset(\"images/3px-tile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t_777logo_png: new Asset(\"images/777logo.png\", {'777_com': true,'777_uk': true}),\n\t\t_777logo_svg: new Asset(\"images/777logo.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': 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,'888casino_uk': 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,'888casino_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tarena_shaddow_png: new Asset(\"images/arena-shaddow.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true}),\n\t\tbrilliant_png: new Asset(\"images/brilliant.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'777_uk': 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,'888casino_uk': true}),\n\t\tcasino_live_logo_png: new Asset(\"images/casino-live-logo.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tcheck_png: new Asset(\"images/check.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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_hover_png: new Asset(\"images/close_modal_dialog_hover.png\", {'777_com': true,'777_uk': true}),\n\t\tclose_modal_dialog_png: new Asset(\"images/close_modal_dialog.png\", {'777_com': true,'777_uk': true}),\n\t\tdeposit_header_icon_svg: new Asset(\"images/deposit_header_icon.svg\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_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,'888casino_uk': true,'si_mi': 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_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tfull_screen_off_png: new Asset(\"images/full-screen-off.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tfull_screen_on_png: new Asset(\"images/full-screen-on.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tgame_default_background_png: new Asset(\"images/game_default_background.png\", {}),\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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tharrahslogo_svg: new Asset(\"images/harrahslogo.svg\", {'harrahs_nj': true}),\n\t\thccasinologo_png: new Asset(\"images/hccasinologo.png\", {'wsop_nj': true}),\n\t\thccasinologo_svg: new Asset(\"images/hccasinologo.svg\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\thistory_bg_title_png: new Asset(\"images/history_bg_title.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\thorizontal_line_glow_mobile_png: new Asset(\"images/horizontal-line-glow-mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\thorizontal_line_glow_png: new Asset(\"images/horizontal-line-glow.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\tidle_recomm_toaster_bg_png: new Asset(\"images/idle-recomm-toaster-bg.png\", {}),\n\t\tinfo_img_png: new Asset(\"images/info-img.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\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,'777_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\tjackpots_bg_png: new Asset(\"images/jackpots-bg.png\", {'777_com': true,'777_uk': true}),\n\t\tlamp_png: new Asset(\"images/lamp.png\", {}),\n\t\tlang_reg_icon_png: new Asset(\"images/lang_reg_icon.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlang_selected_icon_png: new Asset(\"images/lang_selected_icon.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_design_png: new Asset(\"images/letter_design.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_info_png: new Asset(\"images/letter-info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_play_png: new Asset(\"images/letter-play.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_arena_banner_png: new Asset(\"images/live-arena-banner.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\tlive_chat_png: new Asset(\"images/live-chat.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_content_banner_png: new Asset(\"images/live-content-banner.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_tables_top_border_png: new Asset(\"images/live-tables-top-border.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tmrgreenlogo_png: new Asset(\"images/mrgreenlogo.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tmrgreenlogo_svg: new Asset(\"images/mrgreenlogo.svg\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tnotification_off_png: new Asset(\"images/notification off.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\tparty_jackpot_logo_png: new Asset(\"images/party_jackpot_logo.png\", {}),\n\t\tpay_icon_png: new Asset(\"images/pay-icon.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tplaceholder_game_icon_png: new Asset(\"images/placeholder_game_icon.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': true}),\n\t\tshaddow_bg_png: new Asset(\"images/shaddow-bg.png\", {'777_com': true,'777_uk': 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\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\tside_menu_header_decoration_png: new Asset(\"images/side-menu-header-decoration.png\", {'777_com': true,'777_uk': true,'wsop_nj': 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,'777_uk': 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_com': true,'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_com': true,'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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\ttexture_png: new Asset(\"images/texture.png\", {'777_com': true,'777_uk': 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\tuser_menu_box_icon_png: new Asset(\"images/user-menu-box-icon.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tvertical_line_glow_png: new Asset(\"images/vertical-line-glow.png\", {'777_com': true,'777_uk': true}),\n\t\twsoplogo_svg: new Asset(\"images/wsoplogo.svg\", {'wsop_nj': true}),\n\t\twww_splash_page_logo_1_111_png: new Asset(\"images/www_splash_page_logo-1-111.png\", {}),\n\t\tanimated_banners: {\n\t\t\tblackjack_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/blackjack_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tblackjack_arena_banner_pc_lottie: new Asset(\"images/animated-banners/blackjack_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tcasinogames_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/casinogames_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tcasinogames_arena_banner_pc_lottie: new Asset(\"images/animated-banners/casinogames_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/exclusive_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_pc_lottie: new Asset(\"images/animated-banners/exclusive_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/jackpot_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_pc_lottie: new Asset(\"images/animated-banners/jackpot_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tlivecasino_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/livecasino_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tlivecasino_arena_banner_pc_lottie: new Asset(\"images/animated-banners/livecasino_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tnewgames_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/newgames_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tnewgames_arena_banner_pc_lottie: new Asset(\"images/animated-banners/newgames_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\troulette_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/roulette_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\troulette_arena_banner_pc_lottie: new Asset(\"images/animated-banners/roulette_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tscratchcards_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/scratchcards_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tscratchcards_arena_banner_pc_lottie: new Asset(\"images/animated-banners/scratchcards_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tslots_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/slots_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tslots_arena_banner_pc_lottie: new Asset(\"images/animated-banners/slots_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tvideopoker_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/videopoker_arena_banner_mobile.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tvideopoker_arena_banner_pc_lottie: new Asset(\"images/animated-banners/videopoker_arena_banner_pc.lottie\", {'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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t},\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\tarenas: {\n\t\t\tCasinoGames: {\n\t\t\t\tonline_blackjack_png: new Asset(\"images/arenas/CasinoGames/online_blackjack.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_casino_games_png: new Asset(\"images/arenas/CasinoGames/online_casino_games.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_jackpot_png: new Asset(\"images/arenas/CasinoGames/online_jackpot.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_roulette_png: new Asset(\"images/arenas/CasinoGames/online_roulette.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_slots_png: new Asset(\"images/arenas/CasinoGames/online_slots.png\", {'777_com': true,'777_uk': true})\n\t\t\t},\n\t\t\tHomePage: {\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,'888casino_uk': true,'si_mi': 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,'888casino_uk': true}),\n\t\t\t\t_888exclusive_header_arena_icon_png: new Asset(\"images/arenas/HomePage/888exclusive_header_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,'888casino_uk': true}),\n\t\t\t\tblackjack_arena_info_png: new Asset(\"images/arenas/HomePage/blackjack_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': true}),\n\t\t\t\tblackjack_header_arena_icon_png: new Asset(\"images/arenas/HomePage/blackjack_header_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,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tcards_arena_info_png: new Asset(\"images/arenas/HomePage/cards_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tcasino_games_arena_png: new Asset(\"images/arenas/HomePage/casino_games_arena.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tcasino_games_header_arena_icon_png: new Asset(\"images/arenas/HomePage/casino_games_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tcasinogames_header_arena_icon_png: new Asset(\"images/arenas/HomePage/casinogames_header_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,'888casino_uk': true}),\n\t\t\t\tdaily_jackpots_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_arena_icon.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tdaily_jackpots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tdefault_arena_png: new Asset(\"images/arenas/HomePage/default_arena.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tdefault_header_arena_icon_png: new Asset(\"images/arenas/HomePage/default_header_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,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\texclusive_header_arena_icon_png: new Asset(\"images/arenas/HomePage/exclusive_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tgame_show_header_arena_icon_png: new Asset(\"images/arenas/HomePage/game_show_header_arena_icon.png\", {'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,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tjackpots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/jackpots_header_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,'888casino_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tlive_arena_png: new Asset(\"images/arenas/HomePage/live_arena.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tlive_casino_header_arena_icon_png: new Asset(\"images/arenas/HomePage/live_casino_header_arena_icon.png\", {'wsop_nj': 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,'888casino_uk': true}),\n\t\t\t\tlivecasino_header_arena_icon_png: new Asset(\"images/arenas/HomePage/livecasino_header_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,'888casino_uk': true}),\n\t\t\t\tlivegameshows_header_arena_icon_png: new Asset(\"images/arenas/HomePage/livegameshows_header_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,'888casino_uk': true}),\n\t\t\t\tnew_games_arena_info_png: new Asset(\"images/arenas/HomePage/new_games_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true}),\n\t\t\t\tnew_games_arena_png: new Asset(\"images/arenas/HomePage/new_games_arena.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tnewgames_header_arena_icon_png: new Asset(\"images/arenas/HomePage/newgames_header_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,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tprogressive_slots_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_icon.png\", {'harrahs_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\tprogressive_slots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tpromotions_header_arena_icon_png: new Asset(\"images/arenas/HomePage/promotions_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\troulette_arena_info_png: new Asset(\"images/arenas/HomePage/roulette_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': 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,'888casino_uk': true}),\n\t\t\t\troulette_header_arena_icon_png: new Asset(\"images/arenas/HomePage/roulette_header_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,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tscrach_cards_header_arena_icon_png: new Asset(\"images/arenas/HomePage/scrach_cards_header_arena_icon.png\", {'wsop_nj': 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,'888casino_uk': true}),\n\t\t\t\tscratch_cards_arena_info_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': 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,'777_uk': true}),\n\t\t\t\tscratchcards_header_arena_icon_png: new Asset(\"images/arenas/HomePage/scratchcards_header_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,'888casino_uk': 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\tslots_arena_info_png: new Asset(\"images/arenas/HomePage/slots_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/slots_header_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,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tslots_jackpots_arena_png: new Asset(\"images/arenas/HomePage/slots_jackpots_arena.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tvideo_poker_arena_info_png: new Asset(\"images/arenas/HomePage/video_poker_arena_info.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tvideo_poker_header_arena_icon_png: new Asset(\"images/arenas/HomePage/video_poker_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tvideopoker_header_arena_icon_png: new Asset(\"images/arenas/HomePage/videopoker_header_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,'888casino_uk': true}),\n\t\t\t\tvisual_sport_arena_info_png: new Asset(\"images/arenas/HomePage/visual_sport_arena_info.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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_hover_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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\", {'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_hover_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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\", {'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_hover_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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\", {'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_hover_svg: new Asset(\"images/avatars/reg/post-login-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_pressed_png: new Asset(\"images/avatars/reg/post-login-pressed.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_pressed_svg: new Asset(\"images/avatars/reg/post-login-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_png: new Asset(\"images/avatars/reg/post-login-reg.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_svg: new Asset(\"images/avatars/reg/post-login-reg.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_hover_png: new Asset(\"images/avatars/reg/pre-login-hover.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_hover_svg: new Asset(\"images/avatars/reg/pre-login-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_pressed_png: new Asset(\"images/avatars/reg/pre-login-pressed.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_pressed_svg: new Asset(\"images/avatars/reg/pre-login-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_png: new Asset(\"images/avatars/reg/pre-login-reg.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_svg: new Asset(\"images/avatars/reg/pre-login-reg.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tMy_account_VIP_REG_icon_png: new Asset(\"images/avatars/reg-vip/My-account-VIP-REG-icon.png\", {'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tmy_account_vip_reg_png: new Asset(\"images/avatars/reg-vip/my-account-vip-reg.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_hover_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-hover.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_hover_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-hover.svg\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_hover_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-pressed.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_pressed_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-pressed.svg\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_regular_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-regular.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_regular_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-regular.svg\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\n\t\t},\n\t\tbadges: {\n\t\t\tdropsAndWins_png: new Asset(\"images/badges/dropsAndWins.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\texclusive_png: new Asset(\"images/badges/exclusive.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_badge_png: new Asset(\"images/badges/new-badge.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': true}),\n\t\t\t_777InstantWin_arena_banner_pc_png: new Asset(\"images/banners/777InstantWin_arena_banner_pc.png\", {'777_com': true,'777_uk': true}),\n\t\t\t_777InstantWin_arena_banner_tablet_png: new Asset(\"images/banners/777InstantWin_arena_banner_tablet.png\", {'777_com': true,'777_uk': 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,'888casino_uk': 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,'888casino_uk': 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,'888casino_uk': 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,'888casino_uk': true,'si_mi': 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,'777_uk': 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,'777_uk': 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,'777_uk': true}),\n\t\t\tblackjack_arena_banner_mobile_png: new Asset(\"images/banners/blackjack_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tcasino_games_arena_banner_mobile_png: new Asset(\"images/banners/casino_games_arena_banner_mobile.png\", {'777_com': true,'777_uk': true}),\n\t\t\tcasino_games_arena_banner_pc_png: new Asset(\"images/banners/casino_games_arena_banner_pc.png\", {'777_com': true,'777_uk': true}),\n\t\t\tcasino_games_arena_banner_tablet_png: new Asset(\"images/banners/casino_games_arena_banner_tablet.png\", {'777_com': true,'777_uk': true}),\n\t\t\tevo_lobby_banner_mobile_png: new Asset(\"images/banners/evo_lobby_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_mobile_png: new Asset(\"images/banners/exclusive_arena_banner_mobile.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_pc_png: new Asset(\"images/banners/exclusive_arena_banner_pc.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_tablet_png: new Asset(\"images/banners/exclusive_arena_banner_tablet.png\", {'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'888casino_uk': 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,'888casino_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\tjackpot_arena_banner_mobile_png: new Asset(\"images/banners/jackpot_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tlive_arena_banner_mobile_png: new Asset(\"images/banners/live_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\tlive_arena_banner_pc_png: new Asset(\"images/banners/live_arena_banner_pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\tlive_arena_banner_tablet_png: new Asset(\"images/banners/live_arena_banner_tablet.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'si_mi': true}),\n\t\t\tlive_casino_arena_banner_mobile_png: new Asset(\"images/banners/live_casino_arena_banner_mobile.png\", {'wsop_nj': true}),\n\t\t\tlive_casino_arena_banner_pc_png: new Asset(\"images/banners/live_casino_arena_banner_pc.png\", {'wsop_nj': true}),\n\t\t\tnew_evo_lobby_banner_mobile_png: new Asset(\"images/banners/new_evo_lobby_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,'888casino_uk': true}),\n\t\t\tnew_evo_lobby_banner_pc_png: new Asset(\"images/banners/new_evo_lobby_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,'888casino_uk': true}),\n\t\t\tnew_evo_lobby_banner_tablet_png: new Asset(\"images/banners/new_evo_lobby_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,'888casino_uk': true}),\n\t\t\tnew_games_arena_banner_mobile_png: new Asset(\"images/banners/new_games_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_games_arena_banner_pc_png: new Asset(\"images/banners/new_games_arena_banner_pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_games_arena_banner_tablet_png: new Asset(\"images/banners/new_games_arena_banner_tablet.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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}),\n\t\t\tpromotions_arena_banner_mobile_png: new Asset(\"images/banners/promotions_arena_banner_mobile.png\", {'wsop_nj': true}),\n\t\t\tpromotions_arena_banner_pc_png: new Asset(\"images/banners/promotions_arena_banner_pc.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_mobile_png: new Asset(\"images/banners/roulette_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscrach_card_arena_banner_mobile_png: new Asset(\"images/banners/scrach_card_arena_banner_mobile.png\", {'wsop_nj': true}),\n\t\t\tscrach_card_arena_banner_pc_png: new Asset(\"images/banners/scrach_card_arena_banner_pc.png\", {'wsop_nj': true}),\n\t\t\tscratch_card_arena_banner_mobile_png: new Asset(\"images/banners/scratch_card_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscratch_card_arena_banner_pc_png: new Asset(\"images/banners/scratch_card_arena_banner_pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscratch_card_arena_banner_tablet_png: new Asset(\"images/banners/scratch_card_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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\tslots_arena_banner_mobile_png: new Asset(\"images/banners/slots_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tvideo_poker_arena_banner_mobile_png: new Asset(\"images/banners/video_poker_arena_banner_mobile.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'888casino_uk': 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,'888casino_uk': 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,'888casino_uk': true,'si_mi': true})\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_last_frame_png: new Asset(\"images/burnout/burnout_animation_last_frame.png\", {}),\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},\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\", {'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,'888casino_uk': true,'si_mi': true}),\n\t\t\tfreeToPlay_json: new Asset(\"images/f2p/freeToPlay.json\", {'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,'888casino_uk': true,'si_mi': true}),\n\t\t\tfreeToPlay_png: new Asset(\"images/f2p/freeToPlay.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,'888casino_uk': true,'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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_bg_type_fs_png: new Asset(\"images/free-play/freeplay-bg-type-fs.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_bg_type_jfp_png: new Asset(\"images/free-play/freeplay-bg-type-jfp.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_bg_type_jfs_png: new Asset(\"images/free-play/freeplay-bg-type-jfs.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_type_fp_png: new Asset(\"images/free-play/freeplay-type-fp.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_type_fs_png: new Asset(\"images/free-play/freeplay-type-fs.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_type_jfp_png: new Asset(\"images/free-play/freeplay-type-jfp.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_type_jfs_png: new Asset(\"images/free-play/freeplay-type-jfs.png\", {'777_com': true,'777_uk': 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,'777_uk': true}),\n\t\t\tdemo_right_corner_png: new Asset(\"images/game_frame/demo_right_corner.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_indicator_selected_png: new Asset(\"images/game_frame/freeplay_indicator_selected.png\", {'777_com': true,'777_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_indicator_png: new Asset(\"images/game_frame/freeplay_indicator.png\", {'777_com': true,'777_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_left_corner_png: new Asset(\"images/game_frame/freeplay_left_corner.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_right_corner_png: new Asset(\"images/game_frame/freeplay_right_corner.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\treal_left_corner_png: new Asset(\"images/game_frame/real_left_corner.png\", {'777_com': true,'777_uk': true,'mrgreen_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,'777_uk': true,'mrgreen_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\tgames_icons_background: {\n\t\t\tBGcardandtable_png: new Asset(\"images/games-icons-background/BGcardandtable.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true}),\n\t\t\tBGGameBlack_png: new Asset(\"images/games-icons-background/BGGameBlack.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true}),\n\t\t\tBGGameBlackSquare_png: new Asset(\"images/games-icons-background/BGGameBlackSquare.png\", {'777_com': true,'777_uk': true}),\n\t\t\tBGicon_png: new Asset(\"images/games-icons-background/BGicon.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true}),\n\t\t\tBGredTiger_png: new Asset(\"images/games-icons-background/BGredTiger.png\", {'777_com': true,'777_uk': true})\n\t\t},\n\t\thistory: {\n\t\t\thistory_calendar_png: new Asset(\"images/history/history_calendar.png\", {'777_com': true,'777_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thistory_details_left_corner_png: new Asset(\"images/history/history-details-left-corner.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'888casino_uk': 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,'777_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': 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,'888casino_uk': 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,'777_uk': 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_landscape_png: new Asset(\"images/jackpot_widget/hourly_captain8/background_landscape.png\", {}),\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/hourly_captain8/background.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,'888casino_uk': true})\n\t\t\t},\n\t\t\tinfo_dialog: {\n\t\t\t\tmobile_landscape_png: new Asset(\"images/jackpot_widget/info_dialog/mobile_landscape.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tmobile_png: new Asset(\"images/jackpot_widget/info_dialog/mobile.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tpc_png: new Asset(\"images/jackpot_widget/info_dialog/pc.png\", {'777_com': true,'777_uk': true})\n\t\t\t},\n\t\t\tjackpot_king: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/jackpot_king/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/jackpot_king/logo.png\", {})\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,'777_uk': 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,'888casino_uk': 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,'777_uk': 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,'777_uk': true}),\n\t\t\t\twinning_png: new Asset(\"images/jackpot_widget/party/winning.png\", {})\n\t\t\t},\n\t\t\ttitan: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/titan/background.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,'777_uk': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/twilight/logo.png\", {})\n\t\t\t},\n\t\t\tvegas_millions: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/vegas_millions/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/vegas_millions/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,'777_uk': true}),\n\t\t\tseat_icon_dark_png: new Asset(\"images/live_arena/seat_icon_dark.png\", {'777_com': true,'777_uk': true}),\n\t\t\tseat_icon_png: new Asset(\"images/live_arena/seat_icon.png\", {'777_com': true,'777_uk': 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,'777_uk': true}),\n\t\t\t\tcapsule_mid_png: new Asset(\"images/live_arena/live_arena_widget/capsule_mid.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tcapsule_start_png: new Asset(\"images/live_arena/live_arena_widget/capsule_start.png\", {'777_com': true,'777_uk': 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,'777_uk': true})\n\t\t\t}\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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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,'888casino_uk': true}),\n\t\t\t\tvip_diamond_logo_pc_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_diamond_logo_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_com': true,'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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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,'888casino_uk': true}),\n\t\t\t\tvip_gold_logo_pc_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_gold_logo_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_com': true,'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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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,'888casino_uk': true}),\n\t\t\t\tvip_platinum_logo_pc_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_platinum_logo_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_com': true,'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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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,'888casino_uk': true}),\n\t\t\t\tvip_regular_logo_pc_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': 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,'888casino_uk': 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_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_regular_logo_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\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,'888casino_uk': true,'mrgreen_com': 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\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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tnew_games_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/new_games_icon.png\", {'wsop_nj': true}),\n\t\t\t\t\tprogressive_slots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/progressive_slots_icon.png\", {'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,'888casino_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\t\tvideo_poker_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/video_poker_icon.png\", {'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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\ttooltip: {\n\t\t\t\t\tgift_svg: new Asset(\"images/mini_orbit/cip/tooltip/gift.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,'888casino_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\ttooltip: {\n\t\t\t\t\tgift_svg: new Asset(\"images/mini_orbit/cis/tooltip/gift.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,'888casino_uk': true})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonboarding: {\n\t\t\tonboarding_logo_closing_png: new Asset(\"images/onboarding/onboarding_logo_closing.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tonboarding_logo_png: new Asset(\"images/onboarding/onboarding_logo.png\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tregulation_specific: {\n\t\t\tdenmark: {\n\t\t\t\t_18plus_wide_png: new Asset(\"images/regulation_specific/denmark/18plus_wide.png\", {}),\n\t\t\t\tresponsible_gaming_svg: new Asset(\"images/regulation_specific/denmark/responsible_gaming.svg\", {}),\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,'777_uk': 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,'888casino_uk': true,'mrgreen_com': 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,'777_uk': true}),\n\t\t\tage_18plus_round_svg: new Asset(\"images/responsible-gambling/age-18plus-round.svg\", {'777_com': true,'777_uk': 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,'888casino_uk': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tage_21plus_flat_svg: new Asset(\"images/responsible-gambling/age-21plus-flat.svg\", {'777_com': true,'777_uk': true}),\n\t\t\tage_21plus_round_svg: new Asset(\"images/responsible-gambling/age-21plus-round.svg\", {'777_com': true,'777_uk': true,'si_mi': true}),\n\t\t\tbegambleaeare_logo_png: new Asset(\"images/responsible-gambling/begambleaeare-logo.png\", {'777_com': true,'777_uk': true}),\n\t\t\tgamecare_logo_png: new Asset(\"images/responsible-gambling/gamecare-logo.png\", {'777_com': true,'777_uk': true}),\n\t\t\tsafeZoneIcon_svg: new Asset(\"images/responsible-gambling/safeZoneIcon.svg\", {'777_com': true,'777_uk': true})\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,'777_uk': 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,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_hover_png: new Asset(\"images/sdk_icons/Close_hover.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_png: new Asset(\"images/sdk_icons/Close.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/sdk_icons/fp_vouchers_bg.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfprightarrow_png: new Asset(\"images/sdk_icons/fprightarrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherback_png: new Asset(\"images/sdk_icons/fpvoucherback.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpVoucherBG_png: new Asset(\"images/sdk_icons/fpVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherfreeplay.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherfreespin_png: new Asset(\"images/sdk_icons/fpvoucherfreespin.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherinfoclose_png: new Asset(\"images/sdk_icons/fpvoucherinfoclose.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherinfoopen_png: new Asset(\"images/sdk_icons/fpvoucherinfoopen.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherjackpotfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreeplay.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherjackpotfreespin_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreespin.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplayVoucherBG_png: new Asset(\"images/sdk_icons/freeplayVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeSpinsVoucherBG_png: new Asset(\"images/sdk_icons/freeSpinsVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfull_screen_off_png: new Asset(\"images/sdk_icons/full_screen_off.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfull_screen_png: new Asset(\"images/sdk_icons/full_screen.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_freeplay_mode_left_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_left.png\", {'777_com': true,'777_uk': 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,'777_uk': 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,'777_uk': 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,'777_uk': 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,'777_uk': 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,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_bg_fp_left_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-left.png\", {'harrahs_nj': true,'si_mi': true}),\n\t\t\tgame_frame_bg_fp_right_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-right.png\", {'harrahs_nj': true,'si_mi': true}),\n\t\t\tgame_frame_fp_indicator_png: new Asset(\"images/sdk_icons/game-frame-fp-indicator.png\", {'777_com': true,'777_uk': true}),\n\t\t\tgeneral_notification_png: new Asset(\"images/sdk_icons/general_notification.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\t\that_png: new Asset(\"images/sdk_icons/hat.png\", {'777_com': true,'777_uk': 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\thot_png: new Asset(\"images/sdk_icons/hot.png\", {'777_com': true,'777_uk': true}),\n\t\t\ticons_down_arrow_png: new Asset(\"images/sdk_icons/icons_down_arrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\tjackpotplayFreePlayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreePlayVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tjackpotplayFreeSpinVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreeSpinVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tjackpotplayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tleftarrow_png: new Asset(\"images/sdk_icons/leftarrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\tnew_badge_png: new Asset(\"images/sdk_icons/new-badge.png\", {'777_com': true,'777_uk': true}),\n\t\t\tpassword_png: new Asset(\"images/sdk_icons/password.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tpost_login_mobile_svg: new Asset(\"images/sdk_icons/post-login-mobile.svg\", {'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\trightarrow_png: new Asset(\"images/sdk_icons/rightarrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\ttoaster_information_message_png: new Asset(\"images/sdk_icons/toaster-information-message.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\t\ttouchFinger_png: new Asset(\"images/sdk_icons/touchFinger.png\", {'777_com': true,'777_uk': true}),\n\t\t\tuser_png: new Asset(\"images/sdk_icons/user.png\", {'777_com': true,'777_uk': true}),\n\t\t\tusername_png: new Asset(\"images/sdk_icons/username.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/sdk_icons/vip-badge.png\", {'777_com': true,'777_uk': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': 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,'777_uk': 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,'888casino_uk': true,'harrahs_nj': true,'mrgreen_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': 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,'777_uk': true,'harrahs_nj': true,'mrgreen_com': 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,'777_uk': 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\ttitan_jackpot_json: new Asset(\"lottie-json/titan-jackpot.json\", {})\n\t},\n\tvideos: {\n\t\tharmonium_mp4: new Asset(\"videos/harmonium.mp4\", {})\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}\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 logoBackground: \"#DAEBCD\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#7ff800\", //brandGreen\r\n base01Contrast: \"#000000\",\r\n base01Dark: \"#7aec37\", //inchWorm\r\n base01Light: \"#d2f800\", //limeGreen\r\n\r\n base02: \"#fce403\", //turbo\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#ffff00\", //yellow\r\n base02Light: \"#d5ec37\", //pear\r\n\r\n base03: \"#ff014f\", //red\r\n base03Contrast: \"#ffffff\",\r\n base03Dark: \"#e00146\",\r\n base03Light: \"#ff1a61\",\r\n\r\n ...grayColors\r\n}\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: \"#e63422\", //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_REGISTRATION_WIDGET = \"RegistrationWidget\";\r\nexport const FEATURE_NAME_WEBAPP_BOTTOM_NAVIGATION = \"WebappBottomNavigation\";\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 registerButton: \"register_button\"\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 SDNetLossAdvanceWarning: 115,\r\n SDTimeLimitAdvanceWarning: 116,\r\n SDNetLossLimitsReached: 117,\r\n SDTimeLimitsReached: 118,\r\n SDRealityCheck: 119,\r\n SDResult: 120,\r\n SDSetLimitPopUp: 121\r\n}\r\n\r\nexport function getDisplayMessageName(messageId: number): string {\r\n switch (messageId) {\r\n case DISPLAY_MESSAGE_IDS.SDSetLimitPopUp:\r\n return \"SDSetLimitPopUp\";\r\n case DISPLAY_MESSAGE_IDS.SDNetLossAdvanceWarning:\r\n return \"SDNetLossAdvanceWarning\";\r\n case DISPLAY_MESSAGE_IDS.SDTimeLimitAdvanceWarning:\r\n return \"SDTimeLimitAdvanceWarning\";\r\n case DISPLAY_MESSAGE_IDS.SDNetLossLimitsReached:\r\n return \"SDNetLossLimitsReached\";\r\n case DISPLAY_MESSAGE_IDS.SDTimeLimitsReached:\r\n return \"SDTimeLimitsReached\";\r\n case DISPLAY_MESSAGE_IDS.SDRealityCheck:\r\n return \"SDRealityCheck\";\r\n case DISPLAY_MESSAGE_IDS.SDResult:\r\n return \"SDResult\";\r\n default:\r\n return \"\";\r\n }\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}\r\n\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 Titan = \"Titan\",\r\n VegasMillions = \"VegasMillions\",\r\n JackpotKing = \"JackpotKing\"\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-menu-links-cross-brands-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-gambling-session-limit-duration-select' |\r\n 'cy-gambling-session-limit-loss-limit-select' |\r\n 'cy-gambling-session-limit-interval-reminder-select' |\r\n 'cy-gambling-session-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-session-cooldown-remaining' |\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-live-casino-filter-buttons' |\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-li-item' |\r\n 'cy-useful-links-item-expandable' |\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-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-title' |\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 'cy-game-number-badge' |\r\n 'cy-search-results-number' |\r\n 'cy-search-title-text' |\r\n 'cy-useful-links-sub-items-list' |\r\n 'cy-useful-links-subitem' |\r\n 'cy-games-filter-category' |\r\n 'cy-game-filter-item' |\r\n 'cy-registration-widget' |\r\n 'cy-tsr-session-balance-amount' |\r\n 'cy-tsr-wagered-amount' |\r\n 'cy-dk-secondary-rg-icon' |\r\n 'cy-gambling-session-profit-loss' |\r\n 'cy-gambling-session-total-bets' |\r\n 'cy-gambling-session-duration' |\r\n 'cy-last-bet-date' |\r\n 'cy-game-footer-bar' |\r\n 'cy-save-games-widget' |\r\n 'cy-save-games-widget-header' |\r\n 'cy-vertical-list-game';\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 UseLessNonChildishIcon,\r\n PreferNonChildishIcon,\r\n PreferLessNonChildishIcon\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 amountWagered?: number; // only for Malta currently\r\n subtitle?: string; // only for Malta currently\r\n}","import {Check} from \"@sparkware/app-utils\";\r\n\r\nfunction hexToDec(h: string) {\r\n return parseInt(h, 16);\r\n}\r\n\r\nfunction decToHex(n: number) {\r\n let h = n.toString(16);\r\n if (h.length === 1) {\r\n return '0' + h;\r\n }\r\n return h;\r\n}\r\n\r\nfunction clamp(value: number, min: number, max: number) {\r\n return Math.min(Math.max(value, min), max)\r\n}\r\n\r\n// https://css-tricks.com/converting-color-spaces-in-javascript/\r\nexport function rgbToHsl(r: number, g: number, b: number) {\r\n // Make r, g, and b fractions of 1\r\n r = r / 255;\r\n g = g / 255;\r\n b = b / 255;\r\n\r\n // Find greatest and smallest channel values\r\n let cmin = Math.min(r,g,b),\r\n cmax = Math.max(r,g,b),\r\n delta = cmax - cmin,\r\n h = 0,\r\n s = 0,\r\n l = 0;\r\n \r\n // Calculate hue\r\n // No difference\r\n if (delta === 0)\r\n h = 0;\r\n // Red is max\r\n else if (cmax === r)\r\n h = ((g - b) / delta) % 6;\r\n // Green is max\r\n else if (cmax === g)\r\n h = (b - r) / delta + 2;\r\n // Blue is max\r\n else\r\n h = (r - g) / delta + 4;\r\n\r\n h = Math.round(h * 60);\r\n\r\n // Make negative hues positive behind 360°\r\n if (h < 0)\r\n h += 360;\r\n \r\n // Calculate lightness\r\n l = (cmax + cmin) / 2;\r\n\r\n // Calculate saturation\r\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\r\n \r\n // Multiply l and s by 100\r\n s = +(s * 100).toFixed(1);\r\n l = +(l * 100).toFixed(1);\r\n\r\n // return \"hsl(\" + h + \",\" + s + \"%,\" + l + \"%)\";\r\n return {\r\n hue: h,\r\n saturation: s,\r\n lightness: l\r\n };\r\n}\r\n\r\nexport function hslToRgb(h: number, s: number, l: number) {\r\n // Must be fractions of 1\r\n s /= 100;\r\n l /= 100;\r\n\r\n let c = (1 - Math.abs(2 * l - 1)) * s,\r\n x = c * (1 - Math.abs((h / 60) % 2 - 1)),\r\n m = l - c/2,\r\n r = 0,\r\n g = 0,\r\n b = 0;\r\n \r\n if (0 <= h && h < 60) {\r\n r = c; g = x; b = 0; \r\n } else if (60 <= h && h < 120) {\r\n r = x; g = c; b = 0;\r\n } else if (120 <= h && h < 180) {\r\n r = 0; g = c; b = x;\r\n } else if (180 <= h && h < 240) {\r\n r = 0; g = x; b = c;\r\n } else if (240 <= h && h < 300) {\r\n r = x; g = 0; b = c;\r\n } else if (300 <= h && h < 360) {\r\n r = c; g = 0; b = x;\r\n }\r\n r = Math.round((r + m) * 255);\r\n g = Math.round((g + m) * 255);\r\n b = Math.round((b + m) * 255);\r\n return {\r\n red: r,\r\n green: g,\r\n blue: b\r\n };\r\n}\r\n\r\nexport class Color {\r\n public readonly red: number;\r\n public readonly gre: number;\r\n public readonly blu: number;\r\n public readonly opa: number;\r\n\r\n static fromHex(hex: string, opacity?: number) {\r\n if (hex === \"transparent\") {\r\n return Color.transparent();\r\n }\r\n /**\r\n * A valid hex can be formed from 3, 4, 6 or 8 characters from 0 to F, case insensitive.\r\n * The long form (8 characters also contains opacity), 00 (numeric 0) is fully transparent, FF (numeric 255) is fully opaque\r\n * Short format hex, 3 characters for example #4A9 is the short form for #44AA99\r\n * Short format hexa, 4 characters for example #4A9B is the short form for #44AA99BB\r\n */\r\n if (!/^#?(([A-Fa-f0-9]{3}){1,2}|(([A-Fa-f0-9]{4}){1,2}))$/.test(hex)) {\r\n throw new Error('Bad color Hex code');\r\n }\r\n if (hex[0] === \"#\") hex = hex.substring(1);\r\n let c: string[] = hex.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 if (c.length === 4) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2], c[3], c[3]];\r\n }\r\n const red = hexToDec('' + c[0] + c[1]);\r\n const gre = hexToDec('' + c[2] + c[3]);\r\n const blu = hexToDec('' + c[4] + c[5]);\r\n const opa255 = c.length === 8 ? hexToDec('' + c[6] + c[7]) : 255;\r\n const opa = (!Check.isNullOrUndefined(opacity)) ? opacity : (Math.round(10000 * opa255 / 255) / 10000);\r\n return new Color(red, gre, blu, opa);\r\n }\r\n\r\n static transparent() {\r\n return new Color(127, 127, 127, 0);\r\n }\r\n\r\n constructor(r: number, g: number, b: number, o: number = 1) {\r\n this.red = clamp(r, 0, 255);\r\n this.gre = clamp(g, 0, 255);\r\n this.blu = clamp(b, 0, 255);\r\n this.opa = clamp(o, 0, 1);\r\n }\r\n\r\n rgb() {\r\n return 'rgba(' + [this.red, this.gre, this.blu].join(', ') + ')';\r\n }\r\n\r\n rgba() {\r\n return 'rgba(' + [this.red, this.gre, this.blu, this.opa].join(', ') + ')';\r\n }\r\n\r\n hex(withHashtag = true) {\r\n return (withHashtag ? '#' : '') + decToHex(this.red) + decToHex(this.gre) + decToHex(this.blu);\r\n }\r\n\r\n hexa(withHashtag = true) {\r\n return (withHashtag ? '#' : '') + decToHex(this.red) + decToHex(this.gre) + decToHex(this.blu) + decToHex(Math.round(this.opa * 255));\r\n }\r\n\r\n /**\r\n * I am computing the distance between 2 colors using a simple Euclidian distance in RGB space even if RGB is not perceptually uniform,\r\n * because I only want to see how dark or how light a color is, to determine if I can lighten or darken it for the hover effect.\r\n * https://colorjs.io/docs/color-difference.html\r\n * In RGB space, the greatest distance possible is 441.6729559300637 from white (255, 255, 255) to black (0, 0, 0).\r\n * \r\n * So, for the hover effect, if the button is white, I cannot lighen the color white so I will darken it (making it a light gray)\r\n * \r\n * Another way of determining how bright or dark a color is, is to convert rgb to hsl space and use lightness\r\n * which we know is a percentual value (from 0 to 100%)\r\n * \r\n * Usage:\r\n * To compute the distance from black: color.distanceFrom(new Color(0, 0, 0))\r\n * To compute the distance from white: color.distanceFrom(new Color(255, 255, 255))\r\n */\r\n distanceFrom(c: Color) {\r\n return Math.sqrt(Math.pow(c.red - this.red, 2) + Math.pow(c.gre - this.gre, 2) + Math.pow(c.blu - this.blu, 2));\r\n }\r\n\r\n private adjustColorLightness(amount: number) {\r\n if (this.opa === 0) {\r\n if (amount > 0) {\r\n return new Color(255, 255, 255, amount / 100);\r\n }\r\n if (amount < 0) {\r\n return new Color(0, 0, 0, amount / 100);\r\n }\r\n }\r\n // return new Color(this.red + amount, this.gre + amount, this.blu + amount);\r\n const hslData = rgbToHsl(this.red, this.gre, this.blu);\r\n hslData.lightness = clamp(hslData.lightness + amount, 0, 100);\r\n const rgbData = hslToRgb(hslData.hue, hslData.saturation, hslData.lightness);\r\n return new Color(rgbData.red, rgbData.green, rgbData.blue, this.opa);\r\n }\r\n\r\n lighten(amount: number) {\r\n return this.adjustColorLightness(Math.abs(amount));\r\n }\r\n\r\n darken(amount: number) {\r\n return this.adjustColorLightness(-Math.abs(amount));\r\n }\r\n\r\n private adjustColorSaturation(amount: number) {\r\n const hslData = rgbToHsl(this.red, this.gre, this.blu);\r\n hslData.saturation = clamp(hslData.saturation + amount, 0, 100);\r\n const rgbData = hslToRgb(hslData.hue, hslData.saturation, hslData.lightness);\r\n return new Color(rgbData.red, rgbData.green, rgbData.blue, this.opa);\r\n }\r\n\r\n saturate(amount: number) {\r\n return this.adjustColorSaturation(Math.abs(amount));\r\n }\r\n\r\n desaturate(amount: number) {\r\n return this.adjustColorSaturation(-Math.abs(amount));\r\n }\r\n\r\n private adjustTransparency(amount: number) {\r\n const opacity = clamp(this.opa + amount, 0, 1);\r\n return new Color(this.red, this.gre, this.blu, opacity);\r\n }\r\n\r\n fadeIn(amount: number) {\r\n return this.adjustTransparency(Math.abs(amount));\r\n }\r\n \r\n fadeOut(amount: number) {\r\n return this.adjustTransparency(-Math.abs(amount));\r\n }\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\nimport {ISpinnerService} from \"../../../common/interfaces/spinner.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 getSpinnerService(): ISpinnerService {\r\n return this.services.spinner;\r\n }\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 SpinnerProxy: this.getSpinnerServiceProxyOverrides()\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 result.useCountryAsState = Boolean(launcherOverrides?.orbit?.useCountryAsState)\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 getSpinnerServiceProxyOverrides(): any {\r\n return {\r\n getSpinnerService: () => this._sdkHooksProvider.getSpinnerService()\r\n };\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 BRL: 'R$'\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.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this.props.arenaName, action: \"Open_Game_Info\", label: `SEO_${gameInfo.gameType}`}, true);\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 { 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 {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\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\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 _shouldUseLessNonChildishIcon(gameChildishMode: GameChildishIconMode): boolean {\r\n return (gameChildishMode === GameChildishIconMode.UseLessNonChildishIcon || gameChildishMode === GameChildishIconMode.PreferLessNonChildishIcon)\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_less_non_childish_icon && this._shouldUseLessNonChildishIcon(gameChildishMode)) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.hybrid_less_non_childish_icon);\r\n }\r\n else if (images.hybrid_non_childish_icon) {\r\n /* we are happy with the - hybrid_non_childish_icon - for UseLessNonChildishIcon or UseNonChildishIcon MODE */\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.hybrid_non_childish_icon);\r\n }\r\n else if (gameChildishMode === GameChildishIconMode.PreferNonChildishIcon || gameChildishMode === GameChildishIconMode.PreferLessNonChildishIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n /* Handling scenario of mode: UseNonChildishIcon / UseLessNonChildishIcon, having - non_childish_icon / less_non_childish_icon - (game is not restricted) but missing hybrid_non_childish_icon / hybrid_less_non_childish_icon */\r\n return opts.animatedIcon ? '' : this.getGameImagePlaceHolderUrl(opts.squareIcon);\r\n }\r\n }\r\n else {\r\n if (images.less_non_childish_icon && this._shouldUseLessNonChildishIcon(gameChildishMode)) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.less_non_childish_icon);\r\n }\r\n else if (images.non_childish_icon) {\r\n /* we are happy with the - non_childish_icon - for UseLessNonChildishIcon or UseNonChildishIcon MODE */\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.non_childish_icon);\r\n }\r\n else {\r\n /* game is Childish & does not have - non_childish_icon or less_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 (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 channel: {\r\n area: AreaType.InGame,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.registerButton\r\n },\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 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\r\n return this.services.restrictions.getGameRestriction(this);\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","export const SAVED_GAMES_LOCAL_STORAGE_KEY: string = \"gamesSavedByUser\";","import {GamesMap, IGameImageSize, IGamesService, RecentlyPlayedGames} from './games.service.interface';\r\nimport {GameInfo} from './game-info';\r\nimport {action, observable, makeObservable, computed} from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SAVED_GAMES_LOCAL_STORAGE_KEY} from \"../../../common/const/saved-games-ls-key_const\";\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 @computed\r\n get savedGames(): GameInfo[] {\r\n let localStorageSavedGames = this.services.localStorage.getJson(SAVED_GAMES_LOCAL_STORAGE_KEY);\r\n return Check.isNullOrUndefined(localStorageSavedGames) ? [] : localStorageSavedGames.map(gt => this.gamesMap[gt]).filter((sg => !Check.isNullOrUndefined(sg)));\r\n }\r\n\r\n saveGame(gameType: number): void {\r\n let currentSavedGames: number[] = this.savedGames.map(gi => gi?.gameType);\r\n let newSavedGames: number[] = [gameType, ...currentSavedGames].slice(0, this._MAX_SAVED_GAMES);\r\n this.services.localStorage.setJson(SAVED_GAMES_LOCAL_STORAGE_KEY, newSavedGames);\r\n }\r\n\r\n private _MAX_SAVED_GAMES: number = 10;\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\nimport {NullableString} from '../../../common/types/nullable-types';\r\nimport {GamesOpenSessionsKind} from \"./games-open-sessions-kind.enum\";\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 lastLogin(): NullableString {\r\n try {\r\n if (Check.isNullOrUndefined(this._userData.lastLogin) &&\r\n Check.isNullOrUndefined(this._userData.lastLoginDateInTimeZone)) {\r\n return null\r\n } else { \r\n return this.services.time.getTimeFormatToRegulationService(this._userData.lastLogin, this._userData.lastLoginDateInTimeZone);\r\n }\r\n } catch (err) {\r\n this.services.logger.error('Failed to parse last login', err);\r\n return null;\r\n }\r\n\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 openSessionsKind: GamesOpenSessionsKind.Real\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\nimport {mediaQueries} from \"../media-query/media-queries\";\r\nimport {IMediaQueries} from '../media-query/media-queries.interface';\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 mediaQueryChange: this.services.mediaQuery.lastMediaChange,\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._getMediaQuerySegments,\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 _getMediaQuerySegments() {\r\n const tempRecords = {};\r\n (Object.keys(mediaQueries) as (keyof IMediaQueries)[]).forEach(mediaQueryName => {\r\n tempRecords[mediaQueryName] = this.services.mediaQuery[mediaQueryName];\r\n });\r\n return tempRecords;\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 get clientVersion() {\r\n return this.services.sdk.getSkin().getVersion();\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","export const DEEP_LINK_HASH_PARAM = 'deeplink=';\r\nexport const DEEP_LINK_QUERY_PARAM = 'deeplink';","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 {ICasinoDeepLinkAction} from \"./casino-deep-link-action.interface\";\r\nimport { DEEP_LINK_QUERY_PARAM } from './deeplink-consts';\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 {ISdkHybridService} from \"../hybrid/hybrid.service.interface\";\r\nimport {ILegacyRegulation} from \"../regulation/legacy-regulation.interface\";\r\nimport {NullableString, UndefinedString} 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 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\nimport {LoadScriptOptions} from \"../../../common/interfaces/load-script-options\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\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 inPoker: boolean;\r\n inSport: 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\nexport interface IAppFlayerData {\r\n appsflyerid: string,\r\n appname: string,\r\n deviceid: string,\r\n afinstall: string,\r\n}\r\n\r\nexport interface ISkinSerialData extends IAppFlayerData {\r\n [key: string]: any;\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 getMinimumAge(): number;\r\n getSerialData(marketingData: any): Promise;\r\n getDefaultHybridSerial(): string;\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 IDateFormattedToRegulationOffset {\r\n date: Date;\r\n isUTC: boolean;\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 formatToRegulationOffset(date: UndefinedString, dateFormattedToRegulation: UndefinedString): IDateFormattedToRegulationOffset;\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(options: LoadScriptOptions): 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: ISdkHybridService;\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 stopGameTimeReminders(): void;\r\n startAutoRetryGeoProcess(): Promise;\r\n extractTokenProperty(tokenProperty: string): NullableString;\r\n updateTokenProperty(tokenProperty: string, value: NullableString): void;\r\n isLoginPopupEnabled(): boolean;\r\n getAccountData(): any;\r\n getTempAccountGnwpSource(): GNWP_SOURCES;\r\n openOptions(screenType: string, innerScreen?: string): void;\r\n isPlayerMessagesConnected(): boolean;\r\n getGameRestriction(gameType: number, gameGroupId: number, vendorId: number): IGameRestriction;\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 {IJackpotDataById} from '../../../sdk/src/services/live_feeds/jackpots/jackpot_feeds_service_interface';\r\nimport {\r\n IGamblingSessionUpdateData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/gambling-session_handler_interfaces\";\r\nimport {\r\n IGamblingSessionActionData, IOMGParsedData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/messages_handler_interfaces\";\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 interface IGeoRestrictionsUpdateEventParams {\r\n KickReasonId?: string;\r\n TroubleshooterRetry?: boolean;\r\n DetailedMessages?: string[];\r\n}\r\n\r\nexport interface IPeriodicGeoUpdateEventParams {\r\n mobileNumber: string;\r\n licenseKey: string;\r\n licenseWebKey: string;\r\n locationTransactionId: string;\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 onRestrictionsChanged(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.RESTRICTIONS_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPlayerMessagesConnected(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.PLAYER_MESSAGES_STRATEGY_READY,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGeoRestrictionsUpdate(callback: (params: IGeoRestrictionsUpdateEventParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GEO_RESTRICTIONS_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGeoPeriodicUpdate(callback: (params: IPeriodicGeoUpdateEventParams) => void ): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GEO_PERIODIC_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridGeoLocationResponse(callback: (result: string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GEO_HYBRID_GET_LOCATION_RES,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamblingSessionUpdate(callback: (sessionData: IGamblingSessionUpdateData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GAMBLING_SESSION_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamblingSessionAction(callback: (sessionData: IGamblingSessionActionData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GAMBLING_SESSION_ACTION,\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\r\n enableHybridGeoLocation(enabled: boolean): void {\r\n Event.fire(SYSTEM_EVENTS.GEO_HYBRID_UPDATE_ENABLE, enabled);\r\n }\r\n\r\n hybridGeoLocation(geoParams: {license: string;\r\n sessionKey: string;\r\n userId: string\r\n phone: string;\r\n reason: string;\r\n identifierType: string }): void {\r\n Event.fire(SYSTEM_EVENTS.GEO_HYBRID_GET_LOCATION, geoParams);\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 IDateFormattedToRegulationOffset\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 {ISdkHybridService} 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 IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {NullableString, UndefinedString} from '../../../common/types/nullable-types';\r\nimport {LoadScriptOptions} from \"../../../common/interfaces/load-script-options\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\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\r\n //setTimeout to avoid circular dependency\r\n //SdkService (constructor)\r\n // => OAuth2AnonymousState (_onRunAutologin)\r\n // => OAuth2BackendProxy (_loginMethod is calling isMigrationEnabledFromConfig from PlayerMigrationService)\r\n // => PlayerMigrationService (isMigrationEnabledFromConfig)\r\n // => ConfigurationService (servicesConfigs is calling SdkService.getConfigs())\r\n // => SdkService - and here because the call was initiated in the SdkConstructor the ServiceFactory will execute again teh SdkService constructor.\r\n setTimeout(() => {\r\n this._updateLocalStorageAccordingToCookie();\r\n });\r\n\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 lastLogin: rawAccountData.LastLogin,\r\n lastLoginDateInTimeZone: rawAccountData.LastLoginDateInTimeZone,\r\n mobileNumber: rawAccountData.MobileNumber\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 formatToRegulationOffset(date: UndefinedString, dateFormattedToRegulation: UndefinedString): IDateFormattedToRegulationOffset {\r\n return this.CGP.formatToRegulationOffset(date, dateFormattedToRegulation);\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 getBrandName: () => this.CGP.getSkin().getBrandName(),\r\n getMinimumAge: () => this.CGP.getSkin().getMinimumAge(),\r\n getSerialData: (marketingData: any)=> this.CGP.getSkin().getSerialData(marketingData),\r\n getDefaultHybridSerial: () => this.CGP.getSkin().getDefaultHybridSerial()\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(options: LoadScriptOptions): Promise {\r\n return this.CGP.loadScript(options);\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(): ISdkHybridService {\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 stopGameTimeReminders(): void {\r\n this.CGP.stopGameTimeReminders();\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 updateTokenProperty(tokenProperty: string, value: NullableString): void {\r\n this.CGP.updateTokenProperty(tokenProperty, value);\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 get isPlayerMessagesConnected(): boolean {\r\n return this.CGP.isPlayerMessagesConnected();\r\n }\r\n\r\n getGameRestriction(gameType: number, gameGroupId: number, vendorId: number): IGameRestriction {\r\n return this.CGP.getGameRestriction(gameType, gameGroupId, vendorId);\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 {IFilterIndicatorRenderingOptions} 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 renderFiltersIndicator(): 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\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\r\n }\r\n}","import {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\n\r\nexport const GAMES_FILTERS_STORAGE_KEY = 'orbitGamesFiltersData';\r\n\r\nexport class GamesFiltersStorage {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n this._savedFilters = this.services.localStorage.getJson(GAMES_FILTERS_STORAGE_KEY) || {};\r\n }\r\n\r\n private _savedFilters: Record = {};\r\n\r\n saveFiltersForCurrentArena(filterIds: string[]): void {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n if(arenaType) {\r\n this._savedFilters[arenaType] = filterIds;\r\n this.services.localStorage.setJson(GAMES_FILTERS_STORAGE_KEY, this._savedFilters);\r\n }\r\n }\r\n\r\n clearAllSavedFilters(): void {\r\n this._savedFilters = {};\r\n this.services.localStorage.removeItem(GAMES_FILTERS_STORAGE_KEY);\r\n }\r\n\r\n getSavedFiltersForCurrentArena(): string[] {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n if(arenaType) {\r\n return this._savedFilters[arenaType] ?? []\r\n }\r\n return [];\r\n }\r\n}","import {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n IGamesFilterService,\r\n IFilterIndicatorRenderingOptions\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\nimport {GamesFiltersStorage} from \"./games-filters-storage\";\r\n\r\nconst FILTERS_HASH_NAME = '#filters=';\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 this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n this._gamesFilterStorage = new GamesFiltersStorage(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 this.reaction(() => this.services.location.currentUri, () => {\r\n if(!this.services.location.currentUri.hash?.toString()) {\r\n const savedFilters = this._gamesFilterStorage.getSavedFiltersForCurrentArena();\r\n if(savedFilters.length > 0) {\r\n this.applyFilters(savedFilters);\r\n }\r\n } else if(this.isCurrentUrlHashWithFilters) {\r\n const savedFiltersForCurrentArena = this._gamesFilterStorage.getSavedFiltersForCurrentArena();\r\n if(savedFiltersForCurrentArena.toString() !== this.currentAppliedFiltersIds.toString()) {\r\n this._gamesFilterStorage.saveFiltersForCurrentArena(this.currentAppliedFiltersIds);\r\n }\r\n }\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => this.services.user.isAuthorized, () => {\r\n if(!this.services.user.isAuthorized) {\r\n this._gamesFilterStorage.clearAllSavedFilters();\r\n }\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n\r\n private readonly _gamesFilterStorage: GamesFiltersStorage;\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 private get isCurrentUrlHashWithFilters() {\r\n const hash = this.services.location.currentUri.hash?.toString();\r\n if(!hash) {\r\n return false;\r\n }\r\n\r\n return hash.toLowerCase().startsWith(FILTERS_HASH_NAME)\r\n }\r\n\r\n get filteredGamesMap(): Record {\r\n return this._currentFilteringStrategy.filteredGamesMap;\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 async applyFilters(filterIds: string[]): Promise {\r\n this.services.window.scrollTo(0, 0);\r\n if(filterIds.length > 0) {\r\n await this.services.location.push(FILTERS_HASH_NAME + filterIds.join(','));\r\n this._gamesFilterStorage.saveFiltersForCurrentArena(filterIds);\r\n } else {\r\n await this.clearFilters();\r\n }\r\n }\r\n\r\n async clearFilters(): Promise {\r\n if(this.isFilterOn) {\r\n this._gamesFilterStorage.saveFiltersForCurrentArena([]);\r\n await this.services.location.push(this.services.location.currentUri.getUrlWithoutHash());\r\n }\r\n }\r\n\r\n @observable.ref\r\n private _currentFilteringStrategy: IGamesFilterStrategy;\r\n\r\n\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 renderFiltersIndicator(): Nullable {\r\n return this._currentFilteringStrategy.renderFiltersIndicator();\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this._currentFilteringStrategy.showFiltersEditor();\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return this._currentFilteringStrategy.getNumberOfGamesBeforeUserApply(filterIDS);\r\n }\r\n}\r\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {MenuItemKey} from '../../../../services/configurations/config-data-sections/generated-config-const';\r\nimport {MenuItemComponentProps} from '../../../../services/menu-items-common/menu-item-component-props.interface';\r\nimport {UsefulLinksListBox} from '../../boxes/useful-links-list/useful-links-list.box';\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\ninterface ExpandableUsefulLinkitemComponentProps extends MenuItemComponentProps {\r\n subItems: MenuItemKey[];\r\n onSubItemClick?: () => void;\r\n}\r\n\r\nexport const ExpandableUsefulLinkItemComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n let [expanded, setExpanded] = useState(false);\r\n let subItems = useMemo(() => {\r\n return props.subItems\r\n .map((key) => services.userMenu.getUsefulLinkMenuItem(key))\r\n .filter((menuItem) => menuItem.display);\r\n }, [props.subItems, services]);\r\n\r\n const onClickHandler = useCallback(() => {\r\n // For expandable, don;t use \"props.menuItem.execute();\" we don't want to navigate and we don't want to close the user menu\r\n setExpanded((currentValue) => !currentValue);\r\n }, []);\r\n\r\n let height = useRef((subItems.length * 3.75) + \"rem\");\r\n const onLinksListBoxCaptureRef = useCallback((el: HTMLElement | null) => {\r\n if (el) {\r\n const heightCssVal = el.style.height;\r\n el.style.height = \"auto\";\r\n const rect = el.getBoundingClientRect();\r\n height.current = rect.height + \"px\";\r\n el.style.height = heightCssVal;\r\n }\r\n }, []);\r\n\r\n if (subItems.length === 0) {\r\n return null;\r\n }\r\n\r\n if (subItems.length === 1) {\r\n return subItems[0].renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: props.showSeparator});\r\n }\r\n\r\n return \r\n \r\n { subItems.map((menuItem) => menuItem.renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: false, className: CyClass('cy-useful-links-subitem')})) }\r\n \r\n
    \r\n\r\n});","import React from 'react';\r\nimport {ExpandableUsefulLinkItemComponent} from \"../../../../components/useful-links/parts/useful-link-item/expandable-useful-link-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {ExpandableMenuItemConfig} from '../../../menu-items-common/expandable/expandable-menu-item.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\nimport {IRenderMenuItemOptions} from '../../../menu-items-common/renderer/menu-item.renderer.interface';\r\nimport classNames from 'classnames';\r\n\r\nexport class GenericExpandableUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(public readonly expandableKey: ExpandableMenuItemConfig,\r\n configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended\r\n ) {\r\n super(expandableKey.menuItemKey, configReader, services)\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\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 UserMenuItemsTitleBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0.5rem 0;\r\n font-size: 1.4rem;\r\n color: ${props => props.theme.colors.textLight};\r\n`;\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\nimport { TitanJackpotWidgetConfiguration } from './titan-jackpot-widget.configuration';\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\nexport type AnimatedTopImageEngine = \"pixi\" | \"lottie\";\r\nexport interface AnimatedTopImageConfiguration {\r\n url: string;\r\n engine?: AnimatedTopImageEngine;\r\n}\r\n\r\nexport interface ArenaCommonConfiguration {\r\n topImage: string;\r\n animatedTopImage?: AnimatedTopImageConfiguration;\r\n title: string;\r\n seoSection: SeoSectionConfiguration;\r\n}\r\n\r\nexport interface IVideoSlidesFilter {\r\n translationKey: string;\r\n category: string; // to be replaced with CategoryDefinitionId when actual filtering logic is done\r\n id: string; // to be replaced with CategoryDefinitionId when actual filtering logic is done\r\n icon?: string;\r\n}\r\n\r\n\r\nexport type VideoSlideCategory = \"staticVideo\" | \"liveStreamVideo\" | \"banner\";\r\nexport interface IVideoSlidesRules {\r\n category: VideoSlideCategory;\r\n slidesChunkSize: number;\r\n}\r\n\r\nexport interface VideoSlidesArenaConfiguration extends ArenaCommonConfiguration{\r\n filters: IVideoSlidesFilter[];\r\n slidesRules: IVideoSlidesRules[];\r\n promotionalBanner?: CasinoArenaPromotionalBannerConfiguration\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 bannerAdminPlaceholderId?: 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 titanJackpotWidget?: TitanJackpotWidgetConfiguration;\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 hasExploreButton?: boolean;\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 & VideoSlidesArenaConfiguration;\r\n\r\nexport type ArenasConfiguration = {[key: string]: ArenaConfiguration};\r\n\r\n","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IUserMenuSectionBoxProps {\r\n noVerticalPadding?: boolean;\r\n noHorizontalPadding?: boolean;\r\n}\r\n\r\nconst UserMenuSectionDefaultBox = styled.div`\r\n margin-top: 1rem;\r\n color: ${({theme}) => theme.colors.text};\r\n background: ${({theme}) => theme.colors.background};\r\n border-radius: 5px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} { \r\n margin-top: 1rem;\r\n }\r\n\r\n ${({noHorizontalPadding}) => noHorizontalPadding ? '' : css`\r\n padding-left: 1.6rem;\r\n padding-right: 1.6rem;\r\n `}\r\n ${({noVerticalPadding}) => noVerticalPadding ? '' : css`\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n `}\r\n`;\r\n\r\nconst UserMenuSectionCasino777Box = styled(UserMenuSectionDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.logoBackground };\r\n`;\r\n\r\nexport const UserMenuSectionBox = styledByTheme(UserMenuSectionDefaultBox).forCasino777(UserMenuSectionCasino777Box).apply();\r\n","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\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 {UserMenuSectionBox} from \"../user-menu/boxes/user-menu-section.box\";\r\nimport {FlexContainerBox, FlexFixedSizeItemBox, FlexGrowItemBox} from \"../../../themes/architecture/css-helpers/flex\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\n\r\n\r\nexport const UserMenuItemComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n function renderIcon() {\r\n if(!props.menuItem.iconSource || !props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n if(props.menuItem.iconSource === \"themeIcons\") {\r\n const Icon = services.theme.currentTheme.icons[props.menuItem.icon];\r\n if(!Icon) {\r\n 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 return null;\r\n }\r\n\r\n return ();\r\n }\r\n }\r\n const ForwardIcon = services.theme.currentTheme.icons.forwardIcon;\r\n return (\r\n \r\n props.menuItem.execute()}>\r\n \r\n {renderIcon()}\r\n \r\n \r\n \r\n {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 {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 { action, observable, makeObservable } from \"mobx\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {ServiceBase} from \"../ServiceBase\";\r\nimport {IUserMenuService} from \"./user-menu.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\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 {GenericExpandableUsefulLinksMenuItemRenderer} from \"./menu-items/useful-links/generic-expandable-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\nimport {ExpandableMenuItemConfig} from \"../menu-items-common/expandable/expandable-menu-item.interface\";\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 menuKeyIsExpandableItem(key: MenuItemKey | ExpandableMenuItemConfig): key is ExpandableMenuItemConfig {\r\n if (Check.isObject(key) && !Check.isNullOrUndefined(key.menuItemKey) && Check.isArray(key.subItems)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private _getUsefulLinksMenuItem(key: MenuItemKey | ExpandableMenuItemConfig): IMenuItemRenderer {\r\n if (this.menuKeyIsExpandableItem(key)) {\r\n return new GenericExpandableUsefulLinksMenuItemRenderer(key, this._menuItemConfigReader, this.services);\r\n }\r\n return this.getUsefulLinkMenuItem(key);\r\n }\r\n\r\n public getUsefulLinkMenuItem(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(keys => {\r\n return keys.map(key => this._getUsefulLinksMenuItem(key)).filter(menuItem => menuItem.display);\r\n }).filter(menuItem => menuItem.length !== 0);\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 /**\r\n * This method returns a greeting translation key based on time of day. \"Good Morning\", \"Good Afternoon\" etc\r\n * It was used in WelcomeUser component but not anymore, however, I did not deleted this method\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, { css } from 'styled-components';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const GameBadgeDefaultBox = styled(Image) <{ useSquareIcons?: boolean; }>`\r\n position: absolute;\r\n left: 0;\r\n \r\n ${props => props.useSquareIcons ? css`\r\n bottom: 0;\r\n max-width: 40%;\r\n ` \r\n : css`\r\n top: 0;\r\n height: 24%;\r\n width: 23%;\r\n `}\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 {GameBadgeDefaultBox} from './game-badge.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameBadgeCasino777Box} from './game-badge.casino777.box';\r\n\r\nexport const GameBadgeBox = styledByTheme(GameBadgeDefaultBox)\r\n .forCasino777(GameBadgeCasino777Box)\r\n .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.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 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: 80%;\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<{isMobileOS: boolean;}>`\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 @media ${({theme}) => theme.mediaQuery.hover} {\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n }\r\n\r\n /** For the moment in mobiles we want this only for 888 skin so default is not displayed */\r\n display: ${({isMobileOS}) => isMobileOS ? \"none\" : \"block\"};\r\n\r\n .${GAME_BOX}:active & {\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 styled, {keyframes} from 'styled-components';\r\nimport {DefaultTheme} from 'styled-components';\r\nimport {Color} from '../../../../../../common/utils/color-util';\r\nimport {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\n\r\nconst PulseAnimation = (props: {theme: DefaultTheme}) => keyframes`\r\n 0% {\r\n box-shadow: 0 0 0 0 ${Color.fromHex(props.theme.colors.brandPrimary, 0.8).rgba()};\r\n }\r\n 80% {\r\n box-shadow: 0 0 0 20px ${Color.fromHex(props.theme.colors.brandPrimary, 0).rgba()};\r\n }\r\n 100% {\r\n box-shadow: 0 0 0 0 ${Color.fromHex(props.theme.colors.brandPrimary, 0).rgba()};\r\n }\r\n`;\r\n\r\nexport const PlayRealButtonCasino888Box = styled(PlayRealButtonDefaultBox)`\r\n background-position: -553px -409px;\r\n width: 5rem;\r\n height: 5rem;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 0 ${(props) => Color.fromHex(props.theme.colors.brandPrimary, 0.5).rgba()};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlExact} {\r\n width: 6rem;\r\n height: 6rem;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 5rem;\r\n height: 5rem;\r\n background-position: -553px -409px;\r\n }\r\n\r\n /** For the moment for 888 skin we display it always (with opacity 0, we show it at click) */\r\n display: block;\r\n\r\n &:active, &.play-game-button-active {\r\n animation: ${PulseAnimation} 1s;\r\n transform: translateY(0);\r\n opacity: 0.9;\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\nimport {PlayRealButtonCasino888Box} from './play-real-button.casino888.box';\r\n\r\n\r\nexport const PlayRealButtonBox = styledByTheme(PlayRealButtonDefaultBox)\r\n .forCasino888(PlayRealButtonCasino888Box)\r\n .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}, &:active {\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 position: relative;\r\n top: -6px;\r\n right: -15px;\r\n font-size: 80px;\r\n font-family: \"888-Orbit\", verdana, sans-serif;\r\n font-weight: 900;\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 @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n font-size: 100px;\r\n }\r\n \r\n &:first-of-type {\r\n right: -10px;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\n\r\nexport const GameNumberBadgeWsopBox = styled(GameNumberBadgeDefaultBox)`\r\n position: relative;\r\n left: 6px;\r\n font-family: ${({theme}) => theme.font.family.black};\r\n font-size: 6.5em;\r\n letter-spacing: -0.05em;\r\n line-height: 0.9;\r\n -webkit-text-stroke: 1px ${({theme}) => theme.colors.brandPrimary};\r\n\r\n text-shadow: #00000080 0 4px 3px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n font-size: 120px;\r\n -webkit-text-stroke-width: 2px;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: -30px;\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\nimport {GameNumberBadgeWsopBox} from \"./game-number-badge.wsop.box\";\r\n\r\nexport const GameNumberBadgeBox = styledByTheme(GameNumberBadgeDefaultBox)\r\n .forMrGreen(GameNumberBadgeMrGreenBox)\r\n .forWsop(GameNumberBadgeWsopBox)\r\n .forWsopCip(GameNumberBadgeWsopBox)\r\n .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 {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\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\nimport classNames from 'classnames';\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\ninterface SingleGameRegularTemplateComponentState {\r\n active: boolean;\r\n}\r\n\r\n@observer\r\nexport class SingleGameRegularTemplateComponent extends OrbitComponentWithState {\r\n public state = {\r\n active: false\r\n };\r\n public stateActiveTimeout: number | null = null;\r\n\r\n /**\r\n * TODO: If this helps INP web vitals then move the PlayRealButton to a new component including this callback and active state\r\n */\r\n private onPlayButtonMouseDown = () => {\r\n if (this.stateActiveTimeout) {\r\n clearTimeout(this.stateActiveTimeout);\r\n }\r\n this.setState({\r\n active: true,\r\n }, () => {\r\n this.stateActiveTimeout = setTimeout(() => {\r\n this.setState({\r\n active: false\r\n });\r\n this.stateActiveTimeout = null;\r\n }, 1100) as unknown as number\r\n });\r\n }\r\n\r\n get gameInfo(): GameInfo {\r\n return this.props.gameInfo;\r\n }\r\n\r\n private _renderPlayRealGameButton() {\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","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 listTitle: string;\r\n gameIndex: number | undefined;\r\n seoCategory: string;\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 className?: string;\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.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category:this.props.seoCategory, action: this.props.listTitle, label: label}, true);\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\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {IAiSortOptions} from \"../../../ai-engine/ai-engine.service.interface\";\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 let aiSortingOptions: IAiSortOptions = {ignoreNumberOfGames: this._numberOfGamesToBeIgnoredInAISorting};\r\n\r\n if (!Check.isEmpty(this.arena.sortingGametypesMapOverride)) {\r\n aiSortingOptions.gamesMapOverride = this.arena.sortingGametypesMapOverride;\r\n }\r\n\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.sortGames(gameTypes, aiSortingOptions);\r\n }\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\nimport {IJackpotWidgetLogoBoxProps} from \"./jackpot-widget-logo.box\";\r\n\r\nexport const JackpotWidgetLogoDefaultBox = 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`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetLogoDefaultBox} from \"./jackpot-widget-logo.default.box\";\r\n\r\nexport const JackpotWidgetLogoMrGreenBox = styled(JackpotWidgetLogoDefaultBox)`\r\n display: ${({isDaily}) => isDaily ? \"none\" : \"block\"};\r\n`;","import {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\nimport {JackpotWidgetLogoDefaultBox} from \"./jackpot-widget-logo.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JackpotWidgetLogoMrGreenBox} from \"./jackpot-widget-logo.mrgreen.box\";\r\n\r\nexport interface IJackpotWidgetLogoBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n isDaily: boolean;\r\n};\r\n\r\nexport const JackpotWidgetLogoBox = styledByTheme(JackpotWidgetLogoDefaultBox)\r\n .forMrGreen(JackpotWidgetLogoMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetLogoMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetLogoMrGreenBox)\r\n .apply();\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 isDaily: boolean;\r\n text: string;\r\n}\r\n\r\nconst handleAmountBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number, text: string, mAndBelow: boolean = false) => {\r\n let fontSize: number;\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 fontSize = widgetWidth * 35 / 468;\r\n break;\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 fontSize = widgetWidth * 16 / 375;\r\n break;\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 fontSize = widgetWidth * 16 / 131;\r\n } else {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 19px */\r\n fontSize = widgetWidth * 19 / 131;\r\n }\r\n }\r\n let numberOfDigits = 0;\r\n text.split(\"\").forEach(c => {\r\n if(/^\\d+$/.test(c)) {\r\n numberOfDigits++;\r\n }\r\n });\r\n /** On PC, if the amount gets too high, the text becomes too big for the container, so we need to decrease the font size a bit */\r\n /** If the amount is < 8, do nothing, if it is lower than 10, lower by 3 px, if it is higher than then, lower by 6px */\r\n const decreaseAmount = numberOfDigits < 8 ? 0 : (numberOfDigits >= 10 ? 6 : 3);\r\n fontSize = mAndBelow ? fontSize : fontSize - decreaseAmount;\r\n return `${fontSize}px`;\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, text}) => handleAmountBoxFontSize(layout, widgetWidth, text)};\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, text}) => handleAmountBoxFontSize(layout, widgetWidth, text,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, isDaily}) => isDaily ? theme.font.presets.bold : theme.font.presets.body};\r\n span {\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\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 .forMrGreenCip(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\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport interface IJackpotWidgetFooterBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nexport const JackpotWidgetFooterDefaultBox = 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\r\nexport const JackpotWidgetFooterMrGreenBox = styled(JackpotWidgetFooterDefaultBox)`\r\n\t${({layout}) => (layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT) && css`\r\n\t\tmin-height: inherit;\r\n\t`}\r\n`;\r\n\r\nexport const JackpotWidgetFooterBox = styledByTheme(JackpotWidgetFooterDefaultBox)\r\n\t.forMrGreen(JackpotWidgetFooterMrGreenBox)\r\n\t.forMrGreenCip(JackpotWidgetFooterMrGreenBox)\r\n\t.forMrGreenCis(JackpotWidgetFooterMrGreenBox)\r\n\t.apply();\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 .forMrGreenCip(JackpotWidgetClockLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockLabelMrGreenBox)\r\n .apply();\r\n","import styled, {css} 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 isDaily: boolean;\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 ${({isDaily}) => isDaily ? css`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-weight: 600;\r\n padding-bottom: 0;\r\n ` : null};\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 .forMrGreenCip(JackpotWidgetClockMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockMrGreenBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {action, makeObservable, observable} 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\nconst JackpotWidgetAmountLabelMrGreenBox = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n text-transform: capitalize;\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n`;\r\n\r\nexport const JackpotWidgetAmountLabelBox = styledByTheme(JackpotWidgetAmountLabelDefaultBox)\r\n .forCasino777(JackpotWidgetAmountLabelCasino777Box)\r\n .forSI(JackpotWidgetAmountLabelSiBox)\r\n .forMrGreen(JackpotWidgetAmountLabelMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountLabelMrGreenBox)\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\nconst JackpotWidgetCollectingLabelMrGreenBox = styled(JackpotWidgetCollectingLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetCollectingLabelBox = styledByTheme(JackpotWidgetCollectingLabelDefaultBox)\r\n .forCasino777(JackpotWidgetCollectingLabelCasino777Box)\r\n .forSI(JackpotWidgetCollectingLabelSiBox)\r\n .forSICis(JackpotWidgetCollectingLabelSiBox)\r\n .forMrGreen(JackpotWidgetCollectingLabelMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetCollectingLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetCollectingLabelMrGreenBox)\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\nconst JackpotWidgetCollectingAmountMrGreenBox = styled(JackpotWidgetCollectingAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetCollectingAmountBox = styledByTheme(JackpotWidgetCollectingAmountDefaultBox)\r\n .forCasino777(JackpotWidgetCollectingAmountCasino777Box) \r\n .forSI(JackpotWidgetCollectingAmountSiBox)\r\n .forSICis(JackpotWidgetCollectingAmountSiBox)\r\n .forMrGreen(JackpotWidgetCollectingAmountMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetCollectingAmountMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetCollectingAmountMrGreenBox)\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 {\r\n JackpotWidgetConfiguration\r\n} 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 {\r\n JackpotWidgetCollectingLabelSkeletonBox\r\n} 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, makeObservable, observable} 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\nimport JackpotTitleBox from \"./boxes/title/jackpot-title.box\";\r\n\r\n\r\nexport enum JACKPOT_WIDGET_LAYOUT {\r\n PORTRAIT,\r\n PORTRAIT_TALL,\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 if (this.props.onClick) {\r\n const listInfo = this.services.configuration.getGamesListByJackpotId(this.props.widgetConfig.jackpotId);\r\n this.services.analytics.sendOrbitMarketingEvent(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 const isMobileTablet = this.services.mediaQuery.mAndAbove && this.services.mediaQuery.lAndBelow;\r\n\r\n return this.props.layout || isMobileTablet ? JACKPOT_WIDGET_LAYOUT.PORTRAIT_TALL : JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n private _getAmountDisplayed(jackpotHandler: IJackpotHandler) {\r\n const {jackpotState, lastWinAmount} = jackpotHandler.jackpotData || {};\r\n\r\n return (\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 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} = 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 const isDailyJPWidget = this.props.widgetConfig.jackpotType === JackpotType.Daily;\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 {this.services.translation.translate(\"JACKPOT_WIDGET_TITLE\")}\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 {this._getAmountDisplayed(jackpotHandler)}\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_TALL:\r\n return \"128%\";\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, {css} from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport interface IJackpotWidgetAmountContainerProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n isDaily: boolean;\r\n}\r\n\r\nconst JackpotWidgetAmountContainerDefaultBox = styled.div`\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE ? \"40%\" : \"initial\"};\r\n`;\r\n\r\nconst JackpotWidgetAmountContainerMrGreenBox = styled(JackpotWidgetAmountContainerDefaultBox)`\r\n ${({isDaily}) => isDaily ? css`\r\n padding-bottom: 25%;\r\n ` : null};\r\n`;\r\n\r\nexport const JackpotWidgetAmountContainer = styledByTheme(JackpotWidgetAmountContainerDefaultBox)\r\n .forMrGreen(JackpotWidgetAmountContainerMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountContainerMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountContainerMrGreenBox)\r\n .apply();","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\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetTitleBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n isDaily: boolean;\r\n}\r\n\r\nconst handleTitleBoxFontSize = (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 title 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 title should be of font-size 25px */\r\n return widgetWidth * 25 / 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 title should be of font-size 14px */\r\n return widgetWidth * 14 / 131 + \"px\";\r\n } else {\r\n /** At a widget width of 240px, the title should be of font-size 25px */\r\n return widgetWidth * 25 / 240 + \"px\";\r\n }\r\n }\r\n};\r\n\r\nexport const JackpotTitleDefaultBox = styled.div`\r\n display: none;\r\n`;\r\n\r\nexport const JackpotTitleMrGreenBox = styled(JackpotTitleDefaultBox)`\r\n display: ${({isDaily}) => isDaily ? \"block\" : \"none\"};\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n line-height: 1.2;\r\n text-align: center;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n padding-top: 5%;\r\n\r\n font-size: ${({layout, widgetWidth}) => handleTitleBoxFontSize(layout, widgetWidth)};\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: ${({layout, widgetWidth}) => handleTitleBoxFontSize(layout, widgetWidth, true)};\r\n }\r\n\r\n`;\r\n\r\nconst JackpotTitleBox = styledByTheme(JackpotTitleDefaultBox)\r\n .forMrGreen(JackpotTitleMrGreenBox)\r\n .forMrGreenCip(JackpotTitleMrGreenBox)\r\n .forMrGreenCis(JackpotTitleMrGreenBox)\r\n .apply();\r\n\r\nexport default JackpotTitleBox;\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 styled from 'styled-components';\r\nimport { GeneralTitleDefaultBox } from './general-title.default.box';\r\n\r\nexport const GeneralTitleWsopBox = styled(GeneralTitleDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n min-width: 40rem;\r\n }\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\nimport {GeneralTitleWsopBox} from \"./general-title.wsop.box\";\r\n\r\nexport const GeneralTitleBox = styledByTheme(GeneralTitleDefaultBox)\r\n .forCasino777(GeneralTitleCasino777Box)\r\n .forSI(GeneralTitleCasinoSIBox)\r\n .forWsop(GeneralTitleWsopBox)\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: 3px 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 styled, {css} from \"styled-components\";\r\nimport {Button} from \"../../../../../basic-ui-components/button/base/button.component\";\r\n\r\nexport const ExploreButtonBox = styled(Button)`\r\n ${props => css`\r\n background: linear-gradient(${props.theme.colors.brandPrimaryContrast}, ${props.theme.colors.brandPrimaryContrast}) padding-box,\r\n linear-gradient(to bottom, ${props.theme.colors.brandSecondary}, ${props.theme.colors.brandPrimary}) border-box;\r\n border-radius: 18px;\r\n border: 2px solid transparent;\r\n color: ${props.theme.colors.textContrast};\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 {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\nimport {ExploreButtonBox} from \"./boxes/button/explore-button.box\";\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 hasExploreButton?: boolean;\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 _shouldReplaceSeeAllWithExplore(): boolean {\r\n return this.services.device.isMobile && Boolean(this.props.hasExploreButton);\r\n }\r\n\r\n private seeAllClickHandler = () => {\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this.props.seoCategory, action: 'See_All', label: this.props.analyticsAction}, true);\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 const translationKey: string = this._shouldReplaceSeeAllWithExplore() ? \"EXPLORE\" : \"SEE_ALL\";\r\n const ButtonBox = this._shouldReplaceSeeAllWithExplore() ? ExploreButtonBox : Button;\r\n\r\n return \r\n \r\n {this.services.translation.translate(translationKey)}\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.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this._gamesListViewModel.arenaName, action: 'Swipe', label: this._gamesListViewModel.title.translationKey}, true);\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, { useMemo, useRef } from 'react';\r\nimport {observer } from 'mobx-react';\r\nimport {PlayerEvents, DotLottieCommonPlayer} from '@dotlottie/react-player';\r\nimport {useServices } from '../../react-hooks/use-services.hook';\r\nimport {TitanJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/titan-jackpot-widget.configuration';\r\nimport {DotLottiePlayer} from '../lottie-player/dot-lottie-player.component';\r\n\r\nconst ANIMATION_PAUSE_INTERVAL = 3000;\r\n\r\nconst MINOR_JACKPOT_FRAME = 10;\r\nconst MAJOR_JACKPOT_FRAME = 90;\r\nconst MEGA_JACKPOT_FRAME = 180;\r\n\r\nconst ANIMATION_FRAME_STOPS = [MINOR_JACKPOT_FRAME, MAJOR_JACKPOT_FRAME, MEGA_JACKPOT_FRAME];\r\n\r\ninterface ITitanAnimationComponentProps {\r\n widgetConfig: TitanJackpotWidgetConfiguration;\r\n}\r\n\r\nexport const TitanJackpotAnimationComponent: React.FC = observer((props) => {\r\n let lottieRef = useRef(null);\r\n let animationCounter = 0;\r\n\r\n const services = useServices();\r\n\r\n const styles = useMemo(() => ({ borderRadius: 10, display: 'grid' }), []);\r\n\r\n const updateAnimationCounter = (): void => {\r\n animationCounter++;\r\n }\r\n\r\n const getTitanJackpotIndex = (): number => {\r\n return animationCounter % props.widgetConfig?.jackpotIds.length;\r\n }\r\n\r\n const getCurrentJackpotId = (): string => {\r\n const index: number = getTitanJackpotIndex();\r\n\r\n return String(props.widgetConfig.jackpotIds[index]);\r\n }\r\n\r\n const handleEnterFrame = (currentFrame: number): void => {\r\n if (Math.round(currentFrame) === ANIMATION_FRAME_STOPS[getTitanJackpotIndex()]) {\r\n lottieRef.current.pause();\r\n\r\n services.titanJackpot.updateJackpotHandler(getCurrentJackpotId());\r\n\r\n setTimeout(() => {\r\n lottieRef.current.play();\r\n }, ANIMATION_PAUSE_INTERVAL);\r\n\r\n updateAnimationCounter();\r\n }\r\n };\r\n\r\n const onEventHandler = (event: PlayerEvents, params: unknown) => {\r\n /**\r\n * Intercept any event from PlayerEvents in here\r\n * Example: Listen for player ready\r\n * if (event === PlayerEvents.Ready) { do stuff here }\r\n * Listening for frame change\r\n * if (event === PlayerEvents.Frame) {\r\n */\r\n if (event === PlayerEvents.Frame) {\r\n handleEnterFrame((params as Record).frame)\r\n }\r\n }\r\n\r\n return (\r\n \r\n )\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const TitanJackpotAmountBox = styled.div`\r\n position: absolute;\r\n top: calc(69%);\r\n\r\n text-align: center;\r\n\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 1.8em;\r\n width: 100%;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3em; \r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.1em;\r\n }\r\n`;","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport { TitanJackpotAmountBox } from './boxes/titan-jackpot-amount-container.box'\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\n\r\nexport const TitanJackpotAmountComponent: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n return (\r\n \r\n {services.currency.formatMoney(services.titanJackpot.jackpotHandler?.jackpotAmount)}\r\n \r\n )\r\n});","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport { TitanJackpotWidgetConfiguration } from \"../../services/configurations/config-data-sections/titan-jackpot-widget.configuration\";\r\nimport { JackpotWidgetAspectRatioBox } from '../jackpot-widget/boxes/aspect-ratio/jackpot-widget-aspect-ratio.box';\r\nimport { JackpotWidgetBgBox } from '../jackpot-widget/boxes/bg/jackpot-widget-bg.box';\r\nimport { JackpotWidgetBox } from '../jackpot-widget/boxes/jackpot-widget.box';\r\nimport { JACKPOT_WIDGET_LAYOUT } from '../jackpot-widget/jackpot-widget.component';\r\nimport { JackpotType } from '../../../common/const/jackpot_map_ids';\r\nimport { TitanJackpotAnimationComponent } from './titan-jackpot-animation.component';\r\nimport { TitanJackpotAmountComponent } from './titan-jackpot-amount.component';\r\nimport { JackpotWidgetClockLabelSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box';\r\nimport { JackpotWidgetCollectingLabelSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box';\r\nimport { JackpotWidgetFooterSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box';\r\nimport { JackpotWidgetAmountSkeletonBox } from '../jackpot-widget/skeleton/boxes/jackpot-widget-amount-skeleton.box';\r\nimport { Check } from '@sparkware/app-utils';\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\n\r\n\r\ninterface ITitanJackpotWidgetProps {\r\n WrapperBox?: React.ComponentType;\r\n widgetConfig?: TitanJackpotWidgetConfiguration;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const TitanJackpotWidgetComponent: React.FC = observer((props: ITitanJackpotWidgetProps) => {\r\n const services = useServices();\r\n\r\n const WrapperBox = props.WrapperBox || React.Fragment;\r\n\r\n const getJackpotWidgetLayout = (): JACKPOT_WIDGET_LAYOUT => {\r\n const isMobileTablet = services.mediaQuery.mAndAbove && services.mediaQuery.lAndBelow;\r\n\r\n return isMobileTablet ? JACKPOT_WIDGET_LAYOUT.PORTRAIT_TALL : JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n const isJackpotHandlerReady = (): boolean => {\r\n if (!props.widgetConfig?.jackpotIds?.length) {\r\n return false;\r\n }\r\n\r\n return props.widgetConfig.jackpotIds.every(jkpId => {\r\n const jackpotHandler = services.jackpots.currentJackpotsById[String(jkpId)];\r\n return !Check.isNullOrUndefined(jackpotHandler?.jackpotData);\r\n })\r\n }\r\n\r\n const renderTitanJackpotContent = (): React.ReactNode => {\r\n return isJackpotHandlerReady() ?\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 if (!props.widgetConfig?.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n props.onClick()} isClickable={!!props.onClick} className=\"cy-jackpot-widget\">\r\n \r\n {renderTitanJackpotContent()}\r\n \r\n \r\n \r\n \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\nimport { TitanJackpotWidgetComponent } from '../../../../components/titan-jackpot-widget/titan-jackpot-widget.component';\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 get showNumberBadge(): boolean | undefined {\r\n return this.listConfiguration.showNumberBadge;\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 protected _renderTitanJackpotWidget() {\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 }\r\n\r\n renderSpecialWidgets(): React.ReactElement | null {\r\n return (\r\n <>\r\n {this._renderJackpotWidget()}\r\n {this._renderRedTigerWidget()}\r\n {this._renderTitanJackpotWidget()}\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 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 20;\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 {this.services.translation.translate(\"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 { 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 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 get sortingGametypesMapOverride(): Record | null {\r\n return null;\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 styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileCasino888Box = styled(HomepageHeaderArenaTileDefaultBox)`\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n padding-top: 1rem;\r\n &::after {\r\n display: none;\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 HomepageHeaderArenaTileWsopBox = styled(HomepageHeaderArenaTileDefaultBox)`\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n padding-top: 1rem;\r\n &::after {\r\n display: none;\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\nimport {HomepageHeaderArenaTileCasino888Box} from \"./home-page-header-arena-tile.casino888.box\";\r\nimport {HomepageHeaderArenaTileWsopBox} from \"./home-page-header-arena-tile.wsop.box\";\r\n\r\nexport const HomepageHeaderArenaTileBox = styledByTheme(HomepageHeaderArenaTileDefaultBox)\r\n .forCasino888(HomepageHeaderArenaTileCasino888Box)\r\n .forSI(HomepageHeaderArenaTileSIBox)\r\n .forCasino777(HomepageHeaderArenaTileCasino777Box)\r\n .forWsop(HomepageHeaderArenaTileWsopBox)\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 padding-top: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.5rem;\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 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 font-size: 0.9em;\r\n font-weight: 700;\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 top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"-0.3rem\" : 0};\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: scroll;\r\n overflow-y: hidden;\r\n scrollbar-width: 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 from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerCasino888Box = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 2.8rem;\r\n margin-bottom: 2rem;\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 styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerWsopBox = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 2.8rem;\r\n margin-bottom: 2rem;\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 {HomePageHeaderArenasContainerCasino888Box} from \"./home-page-header-arenas-container.casino888.box\";\r\nimport {HomePageHeaderArenasContainerMrGreenBox} from \"./home-page-header-arenas-container.mrgreen.box\";\r\nimport {HomePageHeaderArenasContainerCasino777Box} from \"./home-page-header-arenas-container.casino777.box\";\r\nimport {HomePageHeaderArenasContainerWsopBox} from \"./home-page-header-arenas-container.wsop.box\";\r\n\r\nexport const HomePageHeaderArenasContainerBox = styledByTheme(HomePageHeaderArenasContainerDefaultBox)\r\n .forCasino888(HomePageHeaderArenasContainerCasino888Box)\r\n .forMrGreen(HomePageHeaderArenasContainerMrGreenBox)\r\n .forCasino777(HomePageHeaderArenasContainerCasino777Box)\r\n .forWsop(HomePageHeaderArenasContainerWsopBox)\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 position: relative;\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%\" : \"16px\"};\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 styled from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../../../themes/architecture/sections/theme-layout.interface\";\r\nimport {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonCasino888Box = styled(HomepageHeaderArenaSkeletonDefaultBox)`\r\n top: 50%;\r\n left: 50%;\r\n max-width: 219px;\r\n max-height: 186px;\r\n transform: translate(-50%, -50%);\r\n &::before {\r\n top: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"4rem\" : 0};\r\n left: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : 0};\r\n right: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : 0};\r\n bottom: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"3rem\" : 0};\r\n border-radius: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"40%\" : \"16px\"};\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\nimport {HomepageHeaderArenaSkeletonCasino888Box} from \"./home-page-header-arena-skeleton.casino888.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonBox = styledByTheme(HomepageHeaderArenaSkeletonDefaultBox)\r\n .forCasino888(HomepageHeaderArenaSkeletonCasino888Box)\r\n .forSI(HomepageHeaderArenaSkeletonSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomePageHeaderArenaRatioImageWrapperDefaultBox = styled.div`\r\n width: 100%;\r\n`;","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenaRatioImageWrapperDefaultBox} from \"./home-page-header-arena-ratio-image-wrapper.default.box\";\r\n\r\nexport const HomePageHeaderArenaRatioImageWrapperCasino888Box = styled(HomePageHeaderArenaRatioImageWrapperDefaultBox)`\r\n max-width: 219px;\r\n margin: 0 auto;\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomePageHeaderArenaRatioImageWrapperCasino888Box} from \"./home-page-header-arena-ratio-image-wrapper.caisno888.box\";\r\nimport {HomePageHeaderArenaRatioImageWrapperDefaultBox} from \"./home-page-header-arena-ratio-image-wrapper.default.box\";\r\n\r\nexport const HomePageHeaderArenaRatioImageWrapperBox = styledByTheme(HomePageHeaderArenaRatioImageWrapperDefaultBox)\r\n .forCasino888(HomePageHeaderArenaRatioImageWrapperCasino888Box)\r\n .apply()","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\nimport {HomePageHeaderArenaRatioImageWrapperBox} from \"./boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.box\";\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.forCasino888({width: 219, height: 186});\r\n this.aspectRatioSizes.forWsop({width: 219, height: 186});\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 \r\n {/* I have added width:100% and height:100% because lighthouse reports that images that has no width and height set and might affect the cls */}\r\n {/* But I don't think it affects the layout of the page. */}\r\n this._handleDoneLoading()} style={{...this.props.style, width: \"100%\", height: \"100%\"}}/>\r\n \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 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, selectedFiltersIDs?: string[]): 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 {IFilterIndicatorRenderingOptions} from \"../games-filter.service.interface\";\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 makeObservable(this);\r\n\r\n this.addReaction(() => this.services.location.currentUri, () => {\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 try {\r\n this.filteredGamesMap = this._filterGames();\r\n if(this.services.gamesFilter.isFilterOn && !this._isInFilterAnalyticsReporting) {\r\n this._reportApplyFiltersByDeepLink();\r\n }\r\n } finally {\r\n this._isInFilterAnalyticsReporting = false;\r\n }\r\n });\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.addReaction(() => 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 });\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _isInFilterAnalyticsReporting = false;\r\n beginFilterAnalyticsReporting(): void {\r\n this._isInFilterAnalyticsReporting = true;\r\n }\r\n\r\n protected abstract _createFiltersCategories(): IArenaGameFiltersCategory[];\r\n abstract renderMobileFiltersIndicator(): React.ReactElement;\r\n abstract renderFiltersIndicator(): Nullable;\r\n protected abstract _reportApplyFiltersByDeepLink(): 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 public 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 getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\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 {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\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(baseColors.gray233, 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\nimport {CyClass} from \"../../../../../common/cy-classes\";\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\nimport {CyClass} from \"../../../../../common/cy-classes\";\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 background-color: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.text};\r\n height: 100%;\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 position: sticky;\r\n bottom: 0;\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 styled from \"styled-components\";\r\nimport {flexGrowItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const FilterCategoriesListBox = styled.div`\r\n ${flexGrowItem};\r\n flex-basis: 1%; /* We need it so this area will not take all the places(including the sticky buttons) */\r\n overflow-y: auto;\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 {CyClass} from \"../../../../common/cy-classes\";\r\nimport {FilterCategoriesListBox} from \"./boxes/filter-categories-list.box\";\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.props.filtersEditor.closeFilters();\r\n }\r\n\r\n private _onClearAll = async () => {\r\n await this.props.filtersEditor.clearFilters();\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.props.filtersEditor.openFilters();\r\n }\r\n\r\n\r\n render() {\r\n const CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n const numberOfGamesIfUserApply: number = this.props.filtersEditor.getNumberOfGamesBeforeUserApply();\r\n const numberOfSelectedFilters: number = this.props.filtersEditor.getAppliedFiltersIds().length;\r\n\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') + (numberOfSelectedFilters> 0 ? ` (${numberOfGamesIfUserApply})` : '')}\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 {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport interface 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 label: 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\r\n private _getLocation() {\r\n let location = this.services.location.currentUri.pathName.toString()\r\n if(location !== '/' && location.endsWith('/')) {\r\n location = location.substring(0, location.length - 1)\r\n }\r\n\r\n return location;\r\n }\r\n\r\n private _sendEvent(filterEventData: IFilterEventData): void {\r\n this.services.analytics.sendOrbitUserFlowEvent('advanced-filters', filterEventData.action, filterEventData.label, filterEventData.actionData);\r\n }\r\n\r\n reportOpenFilters(): void {\r\n this._sendEvent({\r\n action: 'open',\r\n label: this._getLocation()\r\n });\r\n }\r\n\r\n reportCloseFilters(): void {\r\n this._sendEvent({\r\n action: 'close',\r\n label: this._getLocation()\r\n });\r\n }\r\n\r\n reportClearFilters(): void {\r\n this._sendEvent({\r\n action: 'clear',\r\n label: this._getLocation()\r\n });\r\n }\r\n\r\n reportApplyFiltersByDeepLink(params: IReportApplyFiltersParams): void {\r\n this._sendEvent({\r\n action: 'deeplink',\r\n label: this._getLocation(),\r\n actionData: JSON.stringify(params)\r\n });\r\n }\r\n\r\n reportApplyFiltersByButton(params: IReportApplyFiltersParams): void {\r\n this._sendEvent({\r\n action: 'apply',\r\n label: this._getLocation(),\r\n actionData: JSON.stringify(params)\r\n });\r\n }\r\n\r\n reportRemoveFilter(filterID: string): void {\r\n this._sendEvent({\r\n action: 'remove',\r\n label: filterID\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\nimport {IAdvancedFiltersEditorToStrategyAdapter} from \"./advanced-filters-editor-to-strategy-adapter\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\n\r\n\r\n\r\n\r\nexport class AdvancedStrategyFiltersEditor implements IAdvancedStrategyFiltersEditorViewModel {\r\n constructor(private readonly strategy: IAdvancedFiltersEditorToStrategyAdapter,\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 get filtersCategories(): IArenaGameFiltersCategory[] {\r\n return this.strategy.filtersCategories;\r\n }\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 public 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\r\n\r\n getNumberOfGamesBeforeUserApply(): number {\r\n return this.services.gamesFilter.getNumberOfGamesBeforeUserApply(this.getAppliedFiltersIds());\r\n }\r\n\r\n openFilters(): void {\r\n this.analyticsReporter.reportOpenFilters();\r\n }\r\n\r\n private async _executeWithAnalyticsReporting(action: () => Promise) {\r\n this.strategy.beginFilterAnalyticsReporting();\r\n await action();\r\n }\r\n\r\n async applyFilters(): Promise {\r\n if(this.getAppliedFiltersIds().toString() !== this.services.gamesFilter.currentAppliedFiltersIds.toString()) {\r\n await this._executeWithAnalyticsReporting(async () => {\r\n await this.services.gamesFilter.applyFilters(this.getAppliedFiltersIds());\r\n this.analyticsReporter.reportApplyFiltersByButton(this.strategy.getApplyFilterReportingParameters());\r\n })\r\n\r\n }\r\n }\r\n\r\n async removeFilter(filter: IArenaGameFilterEditorViewModel): Promise {\r\n filter.on = false;\r\n await this._executeWithAnalyticsReporting(async () => {\r\n await this.services.gamesFilter.applyFilters(this.getAppliedFiltersIds());\r\n this.analyticsReporter.reportRemoveFilter(filter.id);\r\n });\r\n }\r\n\r\n closeFilters() {\r\n this.services.drawer.right.back();\r\n this.analyticsReporter.reportCloseFilters();\r\n }\r\n\r\n async clearFilters(): Promise {\r\n if(this.services.gamesFilter.isFilterOn) {\r\n await this._executeWithAnalyticsReporting(async () => {\r\n await this.services.gamesFilter.clearFilters();\r\n this.analyticsReporter.reportClearFilters();\r\n });\r\n }\r\n this.services.drawer.right.back();\r\n\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, filterIDS?: string[]): ApplyGameFilterResult {\r\n let result = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo, filterIDS);\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: 4rem;\r\n height: 4rem;\r\n border: 2px solid ${props => props.theme.colors.textContrast}80;\r\n border-radius: 50%;\r\n margin: 0 0.5rem;\r\n color: ${props => props.theme.colors.textContrast};\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.moneyColor}80;\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.moneyColor};\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, {css} from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const IndicatorContainerBox = styled.div<{alignAppliedFiltersToCenter: boolean}>`\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 font-family: ${props => props.theme.font.family.regular};\r\n ${props => props.theme.font.presets.regular};\r\n ${({alignAppliedFiltersToCenter}) => alignAppliedFiltersToCenter ? css`align-self: flex-start` : ''};\r\n max-width: 100%;\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 row-gap: 5px;\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 \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-wrap: nowrap;\r\n margin-top: 1rem;\r\n margin-bottom: 1rem;\r\n &:empty {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n }\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 styled from \"styled-components\";\r\n\r\nexport const AppliedFilterContainerBox = styled.div`\r\n margin-right: 5px;\r\n &:last-child: {\r\n margin-right: 0;\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 {\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\nimport {AppliedFilterContainerBox} from \"./boxes/applied-filters-container.box\";\r\n\r\ninterface AdvancedGamesFilteringPcIndicatorComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n showFiltersButton?: boolean;\r\n alignAppliedFiltersToCenter?: boolean;\r\n}\r\n\r\nexport const AppliedFiltersIndicatorForAdvancedFilteringComponent = observer(\r\n class AppliedFiltersIndicatorForAdvancedFilteringComponent extends OrbitComponent {\r\n static defaultProps: Partial = {\r\n showFiltersButton:true,\r\n alignAppliedFiltersToCenter: true\r\n };\r\n\r\n private _onRemoveFilter = async (filter: IArenaGameFilterEditorViewModel) => {\r\n await this.props.filtersEditor.removeFilter(filter);\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 {this.props.showFiltersButton && }\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, selectedFiltersIDs: string[] = null): ApplyGameFilterResult {\r\n let filters = this._appliedFilters;\r\n let subFilters = this._appliedSubFilters;\r\n\r\n // selectedFiltersIDs is the filters user select but still not apply. we need it to show the user the number of games that will shown to him before click.\r\n if(selectedFiltersIDs) {\r\n filters = this.availableFilters.filter(f => selectedFiltersIDs.includes(f.id));\r\n subFilters = this.availableFilters.selectMany(f => f.subFilters.filter(sf => selectedFiltersIDs.includes(sf.id)));\r\n }\r\n\r\n if(filters.length === 0 && subFilters.length === 0) {\r\n return ApplyGameFilterResult.NotApplicable;\r\n }\r\n\r\n return this.categoryDefinition.applyFilters(gameInfo,\r\n filters.map(arenaFilter => arenaFilter.filterDefinition),\r\n subFilters.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 GameThemeId {\r\n Adventure = 1,\r\n AncientCivilization = 2,\r\n Wildlife = 3,\r\n ClassicStyle = 4,\r\n Asian = 5,\r\n TableGames = 7,\r\n MoviesAndMusic = 8,\r\n Fruit = 12,\r\n MoneyAndLeisure = 15,\r\n ComicsAndCartoons = 16,\r\n Irish = 19,\r\n Arcade = 25,\r\n DiamondsAndGems = 26,\r\n FantasyAndFolklore = 28,\r\n Seasonal = 29,\r\n Egyptian = 30,\r\n FarmAndPets = 35,\r\n Sports = 47,\r\n LiveCasino = 54,\r\n Arabic = 58,\r\n GreekMythology = 63,\r\n NA = 64,\r\n SpaceAndSciFi = 72,\r\n ScratchCards = 76,\r\n Fish = 77,\r\n Mexican = 82,\r\n Xmas = 93,\r\n Bingo = 94,\r\n ClassicStyleModernized = 95,\r\n AztecIncaMayan = 96,\r\n Crime = 97,\r\n WildWest = 98,\r\n CandyAndSweets = 99,\r\n GoldMining = 100,\r\n VikingsAndNordicMythology = 101,\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\nimport {GameVendorDefinition} from '../../../game-vendor/game-vendor-definition.ts/game-vendor-definition';\r\n\r\nexport class VendorFilterDefinition implements IGameFilterDefinition {\r\n constructor(public readonly id: string,\r\n public readonly vendors: GameVendorDefinition[],\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.vendors[0].name;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (this.vendors?.some(vendor => vendor?.id === 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\nimport {GameVendorId} from \"../../game-vendor/game-vendor-id.enum\";\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\", [this.services.gamesVendor.getVendor(GameVendorId.V_888)], this.services.translation.translate(\"BRAND_EXCLUSIVE_FILTER\", {brandName: this.services.configuration.data.generalSettings.filters?.exclusiveFilterBrandName ?? \"888\"})),\r\n new VendorFilterDefinition(\"vendor_ags\", [this.services.gamesVendor.getVendor(GameVendorId.V_AGS)]),\r\n new VendorFilterDefinition(\"vendor_amatic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Amatic)]),\r\n new VendorFilterDefinition(\"vendor_authentic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Authentic)]),\r\n new VendorFilterDefinition(\"vendor_ainsworth\", [this.services.gamesVendor.getVendor(GameVendorId.V_Ainsworth)]),\r\n new VendorFilterDefinition(\"vendor_blueprint\", [this.services.gamesVendor.getVendor(GameVendorId.V_Blueprint)]),\r\n new VendorFilterDefinition(\"vendor_darwin\", [this.services.gamesVendor.getVendor(GameVendorId.V_Darwin)]),\r\n new VendorFilterDefinition(\"vendor_egt\", [this.services.gamesVendor.getVendor(GameVendorId.V_EGT)]),\r\n new VendorFilterDefinition(\"vendor_elk\", [this.services.gamesVendor.getVendor(GameVendorId.V_Elk)]),\r\n new VendorFilterDefinition(\"vendor_evolution\", [this.services.gamesVendor.getVendor(GameVendorId.V_Evolution)]),\r\n new VendorFilterDefinition(\"vendor_eyecon\", [this.services.gamesVendor.getVendor(GameVendorId.V_Eyecon)]),\r\n new VendorFilterDefinition(\"vendor_gamesglobal\", [this.services.gamesVendor.getVendor(GameVendorId.V_GamesGlobal)]),\r\n new VendorFilterDefinition(\"vendor_gamingrealms\", [this.services.gamesVendor.getVendor(GameVendorId.V_GamingRealms)]),\r\n new VendorFilterDefinition(\"vendor_gamomat\", [this.services.gamesVendor.getVendor(GameVendorId.V_Gamomat)]),\r\n new VendorFilterDefinition(\"vendor_greentube\", [this.services.gamesVendor.getVendor(GameVendorId.V_Greentube)]),\r\n new VendorFilterDefinition(\"vendor_h5\", [this.services.gamesVendor.getVendor(GameVendorId.V_H5)]),\r\n new VendorFilterDefinition(\"vendor_habanero\", [this.services.gamesVendor.getVendor(GameVendorId.V_Habanero)]),\r\n new VendorFilterDefinition(\"vendor_igt\", [this.services.gamesVendor.getVendor(GameVendorId.V_IGT)]),\r\n new VendorFilterDefinition(\"vendor_inspired\", [this.services.gamesVendor.getVendor(GameVendorId.V_Inspired)]),\r\n new VendorFilterDefinition(\"vendor_isoftbet\", [this.services.gamesVendor.getVendor(GameVendorId.V_iSoftBet)]),\r\n new VendorFilterDefinition(\"vendor_lightningbox\", [this.services.gamesVendor.getVendor(GameVendorId.V_LightningBox)]),\r\n new VendorFilterDefinition(\"vendor_lnw\", [this.services.gamesVendor.getVendor(GameVendorId.V_LNW), this.services.gamesVendor.getVendor(GameVendorId.V_LNW2)], \"LNW\"),\r\n new VendorFilterDefinition(\"vendor_merkur\", [this.services.gamesVendor.getVendor(GameVendorId.V_Merkur)]),\r\n new VendorFilterDefinition(\"vendor_mga\", [this.services.gamesVendor.getVendor(GameVendorId.V_MGA)]),\r\n new VendorFilterDefinition(\"vendor_netent\", [this.services.gamesVendor.getVendor(GameVendorId.V_NetEnt)]),\r\n new VendorFilterDefinition(\"vendor_nextgen_bigtime\", [this.services.gamesVendor.getVendor(GameVendorId.V_NextGenBigTime)], `Big Time`), //TODO ?\r\n new VendorFilterDefinition(\"vendor_nextgen_chanceinteractive\", [this.services.gamesVendor.getVendor(GameVendorId.V_NextGenChanceInteractive)], `Reel Play`),\r\n new VendorFilterDefinition(\"vendor_nolimitcity\", [this.services.gamesVendor.getVendor(GameVendorId.V_NoLimitCity)]),\r\n new VendorFilterDefinition(\"vendor_playngo\", [this.services.gamesVendor.getVendor(GameVendorId.V_PlayNGo)], `Play'n GO`),\r\n new VendorFilterDefinition(\"vendor_playtech\", [this.services.gamesVendor.getVendor(GameVendorId.V_PlayTech)], `Playtech`),\r\n new VendorFilterDefinition(\"vendor_pragmatic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Pragmatic)]),\r\n new VendorFilterDefinition(\"vendor_quickspin\", [this.services.gamesVendor.getVendor(GameVendorId.V_Quickspin)]),\r\n new VendorFilterDefinition(\"vendor_redrake\", [this.services.gamesVendor.getVendor(GameVendorId.V_RedRake)]),\r\n new VendorFilterDefinition(\"vendor_redtiger\", [this.services.gamesVendor.getVendor(GameVendorId.V_RedTiger)]),\r\n new VendorFilterDefinition(\"vendor_rubyplay\", [this.services.gamesVendor.getVendor(GameVendorId.V_RubyPlay)]),\r\n new VendorFilterDefinition(\"vendor_sigma\", [this.services.gamesVendor.getVendor(GameVendorId.V_Sigma)]),\r\n new VendorFilterDefinition(\"vendor_skywind\", [this.services.gamesVendor.getVendor(GameVendorId.V_Skywind)]),\r\n new VendorFilterDefinition(\"vendor_spribe\", [this.services.gamesVendor.getVendor(GameVendorId.V_Spribe)]),\r\n new VendorFilterDefinition(\"vendor_thunderkick\", [this.services.gamesVendor.getVendor(GameVendorId.V_Thunderkick)]),\r\n new VendorFilterDefinition(\"vendor_wizard\", [this.services.gamesVendor.getVendor(GameVendorId.V_Wizard)]),\r\n new VendorFilterDefinition(\"vendor_wmg\", [this.services.gamesVendor.getVendor(GameVendorId.V_WMG)]),\r\n new VendorFilterDefinition(\"vendor_yggdrasil\", [this.services.gamesVendor.getVendor(GameVendorId.V_Yggdrasil)]),\r\n new VendorFilterDefinition(\"vendor_everi\", [this.services.gamesVendor.getVendor(GameVendorId.V_Everi)]),\r\n new VendorFilterDefinition(\"vendor_push_gaming\", [this.services.gamesVendor.getVendor(GameVendorId.V_PushGaming)], `Push Gaming`),\r\n new VendorFilterDefinition(\"vendor_edict\", [this.services.gamesVendor.getVendor(GameVendorId.V_Edict)], this.services.translation.translate(\"BRAND_EDICT_FILTER\", {brandName: \"Edict\"})),\r\n new VendorFilterDefinition(\"vendor_gamevy\", [this.services.gamesVendor.getVendor(GameVendorId.V_Gamevy)]),\r\n new VendorFilterDefinition(\"vendor_wazdan\", [this.services.gamesVendor.getVendor(GameVendorId.V_Wazdan)]),\r\n new VendorFilterDefinition(\"vendor_playson\", [this.services.gamesVendor.getVendor(GameVendorId.V_Playson)])\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.vendors?.map(vendor => vendor?.id));\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', otherVendorsIds.map(vendorId => this.services.gamesVendor.getVendor(vendorId)), this.services.translation.translate('OTHER')));\r\n }\r\n\r\n\r\n return filters;\r\n }\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\nimport {GameThemeDefinition} from \"../../../game-theme/game-theme-definition/game-theme-definition\";\r\n\r\nexport class GameThemeFilterDefinition extends GameFilterDefinitionBase {\r\n constructor(public readonly id: string,\r\n protected readonly services: IServiceFactoryExtended,\r\n private _gameThemeDefinition: GameThemeDefinition,\r\n linkedThemeIds?: number[]) {\r\n super(services);\r\n this._themeIds = [this._gameThemeDefinition.id, ...(linkedThemeIds || [])]\r\n }\r\n\r\n private readonly _themeIds: number[];\r\n\r\n get text(): string {\r\n return this._gameThemeDefinition.name;\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\nimport {GameThemeId} from \"../../game-theme/game-theme-id.enum\";\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.gamesTheme.getGameThemeDefinition(GameThemeId.Adventure)),\r\n new GameThemeFilterDefinition(\"theme_ancient-civilization\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.AncientCivilization)),\r\n new GameThemeFilterDefinition(\"theme_wildlife\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Wildlife)),\r\n new GameThemeFilterDefinition(\"theme_classic_style\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.ClassicStyle), [GameThemeId.ClassicStyleModernized]),\r\n new GameThemeFilterDefinition(\"theme_asian\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Asian)),\r\n new GameThemeFilterDefinition(\"theme_arabic\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Arabic)),\r\n new GameThemeFilterDefinition(\"theme_comics_and_cartoons\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.ComicsAndCartoons)),\r\n new GameThemeFilterDefinition(\"theme_diamonds_and_gems\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.DiamondsAndGems)),\r\n new GameThemeFilterDefinition(\"theme_egyptian\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Egyptian)),\r\n new GameThemeFilterDefinition(\"theme_fantasy_and_folklore\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.FantasyAndFolklore)),\r\n new GameThemeFilterDefinition(\"theme_farm_and_pets\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.FantasyAndFolklore)),\r\n new GameThemeFilterDefinition(\"theme_fish\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Fish)),\r\n new GameThemeFilterDefinition(\"theme_fruit_and_candy\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Fruit)),\r\n new GameThemeFilterDefinition(\"theme_greek_mythology\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.GreekMythology)),\r\n new GameThemeFilterDefinition(\"theme_irish\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Irish)),\r\n new GameThemeFilterDefinition(\"theme_money_and_leisure\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.MoneyAndLeisure)),\r\n new GameThemeFilterDefinition(\"theme_movies_and_music\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.MoviesAndMusic)),\r\n new GameThemeFilterDefinition(\"theme_seasonal\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Seasonal)),\r\n new GameThemeFilterDefinition(\"theme_space_and_sci-fi\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.SpaceAndSciFi)),\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}","export enum IndicatorLayout {\r\n Grid,\r\n List\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 {ApplyGameFilterResult, 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 IFilterIndicatorRenderingOptions,\r\n FilterIndicatorRenderingLocation\r\n} from \"../../games-filter.service.interface\";\r\nimport {\r\n AppliedFiltersIndicatorForAdvancedFilteringComponent\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, IReportApplyFiltersParams} from \"./advanced-filters-analytics\";\r\nimport {GamesMap} from \"../../../games/games.service.interface\";\r\nimport {IAdvancedFiltersEditorToStrategyAdapter} from \"./advanced-filters-editor-to-strategy-adapter\";\r\n\r\nexport class AdvancedGamesFilterStrategy extends GamesFilterStrategyBase implements IAdvancedFiltersEditorToStrategyAdapter {\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, this.services);\r\n }\r\n\r\n getApplyFilterReportingParameters(): IReportApplyFiltersParams {\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 return {\r\n gamesCount: gamesCount,\r\n appliedFilters: appliedFilters\r\n };\r\n }\r\n\r\n protected _reportApplyFiltersByDeepLink(): void {\r\n\r\n this._analyticsReporter.reportApplyFiltersByDeepLink(this.getApplyFilterReportingParameters());\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 renderFiltersIndicator(): Nullable {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return {\r\n location: FilterIndicatorRenderingLocation.BelowArenaTitle,\r\n reactElement: ()\r\n }\r\n } else {\r\n return {\r\n location: FilterIndicatorRenderingLocation.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 getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n let gamesToShowIfUserApply = this._filterGamesBeforeApplyClicked(filterIDS);\r\n return Object.keys(gamesToShowIfUserApply).length;\r\n }\r\n\r\n private _filterGamesBeforeApplyClicked(filterIDS: string[]): GamesMap {\r\n const currentArenaGames = this.services.arenas.getCurrentArena().allArenaGamesForFiltering;\r\n\r\n if(!this.currentFilters.some(f => filterIDS.includes(f.id))) {\r\n return currentArenaGames;\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(currentArenaGames)) {\r\n const filterResult = evaluator.applyFilter(game, filterIDS);\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}","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 {FiltersMobileButtonsDefaultBox} from \"./filters-mobile-buttons.default.box\";\r\n\r\nexport const FiltersMobileButtonsBox = FiltersMobileButtonsDefaultBox;","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 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 {FiltersGameListPcDefaultBox} from \"./filters-game-list-pc.default.box\";\r\n\r\nexport const FiltersGameListPcBox = FiltersGameListPcDefaultBox;","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 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 IFilterIndicatorRenderingOptions,\r\n FilterIndicatorRenderingLocation\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 renderFiltersIndicator(): Nullable {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n } else {\r\n return {\r\n location: FilterIndicatorRenderingLocation.BelowArenaTitle,\r\n reactElement: ()\r\n };\r\n }\r\n }\r\n\r\n protected _reportApplyFiltersByDeepLink(): void {\r\n // we don't report analytics for simple filters\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\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 LiveCasinoFilterButtonLabelDefaultBox = styled.div`\r\n margin-left: 0.4rem;\r\n font-size: 1.4rem;\r\n line-height: 1.4rem;\r\n white-space: nowrap;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonLabelCasino777Box = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n font-size: 1.6em;\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\n\r\nexport const LiveCasinoFilterButtonLabelBox = styledByTheme(LiveCasinoFilterButtonLabelDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonLabelCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {Link} from \"../../../../../raw-components/link/link\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonDefaultBox = styled(Link)`\r\n display: flex;\r\n transition: color 0.15s ease;\r\n align-items: center;\r\n font-weight: 500;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n \r\n color: ${props => props.theme.components.newLiveCasino.colors.filterButtonLabel};\r\n &:hover {\r\n color: ${({theme}) => theme.colors.textLight};\r\n }\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n font-weight: 700;\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 LiveCasinoArenaNavbarButtonCasino777Box = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n ${({theme}) => theme.font.presets.body};\r\n\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandPrimary};\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 .sticky-navbar & {\r\n color: ${({theme}) => theme.colors.textContrast};\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.textActive};\r\n }\r\n }\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.textActive};\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 &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\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 from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\n// import {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\nimport {LiveCasinoArenaNavbarButtonWrapperBox} from \"./boxes/live-casino-arena-navbar-button/wrapper/live-casino-arena-navbar-button-wrapper.box\";\r\n\r\nexport interface LiveCasinoArenaNavbarButtonProps {\r\n labelTranslationKey: string;\r\n filter: string;\r\n isActiveTab: boolean;\r\n seoPage: string;\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 {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 }\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 {CasinoLobbyArenaModel} from \"../casino-lobby/casino-lobby-arena.model\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class NewLiveCasinoArenaAbModel extends CasinoLobbyArenaModel {\r\n get sortingGametypesMapOverride(): Record | null {\r\n return Check.isEmpty(this.services.liveTableFeeds.aiSortingGamesMap) ? null : this.services.liveTableFeeds.aiSortingGamesMap;\r\n }\r\n}","import {BottomNavigationBarContainerDefaultBox} from \"./bottom-navigation-bar-container.default.box\";\r\n\r\nexport const BottomNavigationBarContainerBox = BottomNavigationBarContainerDefaultBox;\r\n","import styled, {css} from \"styled-components\";\r\n\r\ninterface IBottomStickyNavbarContainerBoxProps {\r\n shouldElevate: boolean;\r\n}\r\n\r\n\r\nexport const BottomNavigationBarContainerDefaultBox = styled.div`\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n touch-action: none;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n border-top: 4px ${props => props.theme.colors.brandPrimary} solid;\r\n padding-bottom: calc(env(safe-area-inset-bottom) + 6px);\r\n z-index: 101;\r\n\r\n ${props => props.shouldElevate && css`\r\n z-index: 115;\r\n `}\r\n`;\r\n","import {StickyNavigationMenuListDefautBox} from \"./bottom-navigation-bar-menu-items-list.default.box\";\r\n\r\nexport const BottomNavigationBarMenuItemsListBox = StickyNavigationMenuListDefautBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const StickyNavigationMenuListDefautBox = styled.div`\r\n display: flex;\r\n padding-top: 5px;\r\n`;\r\n","import React from \"react\";\r\nimport {BottomNavigationBarMenuItemsListBox} from \"./boxes/menu-items-list/bottom-navigation-bar-menu-items-list.box\";\r\nimport {IMenuItemRenderer} from \"../../services/menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {useServices} from \"../../react-hooks/use-services.hook\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const BottomNavigationBarMenuItemsListComponent: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n const _renderMenuItem = (menuItem: IMenuItemRenderer) => {\r\n\r\n return (\r\n \r\n {menuItem.renderMenuItem()}\r\n \r\n );\r\n }\r\n\r\n const menuItems = services.bottomNavigationBar.getMenuItems();\r\n\r\n if(menuItems.length === 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n {menuItems.map(menuItem => _renderMenuItem(menuItem))}\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 {BottomNavigationBarContainerBox} from \"./boxes/container/bottom-navigation-bar-container.box\";\r\nimport {BottomNavigationBarMenuItemsListComponent} from \"./bottom-navigation-bar-menu-items-list.component\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport classNames from 'classnames';\r\nimport {HYBRID_EMBEDDED_NAV_MENU} from \"./bottom-navigation-bar-consts\";\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\n\r\ninterface BottomNavigationBarComponentProps {\r\n isInVideoSlidesArena?: boolean;\r\n}\r\n\r\nexport const BottomNavigationBarComponent = observer(class StickyNavigationMenuComponent extends OrbitComponent {\r\n\r\n render() {\r\n if (!this.services.abTestingFeatureDataProvider.isWebappBottomNavigationEnabled && !Boolean(this.props.isInVideoSlidesArena)) {\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});\r\n","import styled from \"styled-components\";\r\nimport Div100vh from 'react-div-100vh'\r\n\r\nexport const VideoSlidesArenaDefaultBox = styled(Div100vh)`\r\n display: flex;\r\n flex-direction: column;\r\n width: \"100%\";\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaDefaultBox} from \"./video-slides-arena.default.box\";\r\n\r\nexport const VideoSlidesArenaBox = styledByTheme(VideoSlidesArenaDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VideoSlidesArenaContentDefaultBox = styled.div`\r\n flex-grow: 2;\r\n height: 70%;\r\n width: 100%;\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaContentDefaultBox} from \"./video-slides-arena-content.default.box\";\r\n\r\n\r\nexport const VideoSlidesArenaContentBox = styledByTheme(VideoSlidesArenaContentDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {SwiperComponent} from \"../../../../../swiper/swiper.component\";\r\n\r\nexport const VideoSlidesArenaSwiperComponentBox = styled(SwiperComponent)`\r\n width: 100%;\r\n height:100%;\r\n`","import {observer} from \"mobx-react-lite\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {VideoSlidesArenaContentBox} from \"./boxes/video-slides-arena-content.box\";\r\nimport {Navigation, Virtual} from 'swiper/modules';\r\nimport {SwiperSlide} from \"swiper/react\";\r\nimport {VideoSlidesArenaSwiperComponentBox} from \"./boxes/video-slides-arena-swiper-component/video-slides-arena-swiper-component.box\";\r\n\r\n\r\n\r\nexport const VideoSlidesContentArena: React.FC = observer(() => {\r\n const services = useServices();\r\n const currentLoadedShorts = services.videoSlides.slideList;\r\n\r\n return (\r\n \r\n \r\n {\r\n currentLoadedShorts.map((renderer, index) => {\r\n return (\r\n \r\n {renderer.render()}\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 VideoSlidesArenaHeaderDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n min-height: 40px;\r\n padding: 5px 0px 5px 0px;\r\n width: 100%;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaHeaderDefaultBox} from \"./video-slides-arena-header.default.box\";\r\n\r\nexport const VideoSlidesArenaHeaderBox = styledByTheme(VideoSlidesArenaHeaderDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VideoSlidesArenaFiltersIndicatorDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n flex-direction: row;\r\n overflow: scroll;\r\n white-space: nowrap;\r\n height: 40px;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n \r\n`","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaFiltersIndicatorDefaultBox} from \"./video-slides-arena-filters-indicator-default.box\";\r\n\r\n\r\nexport const VideoSlidesArenaFiltersIndicatorBox = styledByTheme(VideoSlidesArenaFiltersIndicatorDefaultBox)\r\n .apply();","import styled, {css} from \"styled-components\";\r\n\r\ninterface IVideoSlideFilterButtonBoxProps {\r\n isActive?: boolean;\r\n}\r\n\r\nexport const VideoSlideFilterButtonBox = styled.div`\r\n user-select: none;\r\n\r\n border-radius: 100px;\r\n margin: 0px 4px;\r\n \r\n background: none;\r\n outline: none;\r\n\r\n ${({theme}) => theme.font.presets.medium};\r\n \r\n font-size: 1.4rem;\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 box-sizing: border-box;\r\n \r\n height: 32px;\r\n width: auto;\r\n\r\n transition: all 0.2s ease-in-out;\r\n\r\n border-width: 1px;\r\n border-style: solid;\r\n\r\n color: ${props => props.theme.colors.videoSlidesFilterButtonOutline ? props.theme.colors.videoSlidesFilterButtonOutline : props.theme.colors.brandPrimary};\r\n border-color: ${props => props.theme.colors.videoSlidesFilterButtonOutline ? props.theme.colors.videoSlidesFilterButtonOutline : props.theme.colors.brandPrimary};\r\n\r\n padding: 12px;\r\n\r\n ${props => props.isActive ? css`\r\n font-weight: 600;\r\n border-color: ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.brandPrimary};\r\n background-color: ${props => `${props.theme.colors.brandPrimary}30`}; // 30 is the opacity\r\n ` : null}\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VideoSlideFilterButtonIconBox = styled.div`\r\n margin-right: 6px;\r\n`","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {useServices} from '../../../../../../react-hooks/use-services.hook';\r\nimport {FlexGrowItemBox} from '../../../../../../themes/architecture/css-helpers/flex';\r\nimport {VideoSlideFilterButtonBox} from \"./video-slide-filter-button.box\";\r\nimport {VideoSlideFilterButtonIconBox} from \"./video-slide-filter-button-icon.box\";\r\nimport {ISvgIconProps} from \"../../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\ninterface VideoSlidesHeaderFilterButtonComponentProps {\r\n textTranslationKey: string;\r\n isActive?: boolean;\r\n icon?: React.ComponentType;\r\n onClick: (activeFilterTranslationKey: string) => void;\r\n}\r\n\r\nexport const VideoSlidesHeaderFilterButtonComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n\r\n const renderIcon = () => {\r\n if(Check.isEmpty(props.icon)) {\r\n return null;\r\n }\r\n\r\n let Icon = props.icon;\r\n let iconStyle: React.CSSProperties = props.isActive ? {color: services.theme.currentTheme.colors.brandPrimary} : {};\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n props.onClick(props.textTranslationKey)}>\r\n {renderIcon()}\r\n {services.translation.translate(props.textTranslationKey)}\r\n \r\n \r\n );\r\n})","import React, {useState} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {VideoSlidesArenaFiltersIndicatorBox} from './boxes/video-slides-arena-filters-indicator.box';\r\nimport {useServices} from '../../../../../../react-hooks/use-services.hook';\r\nimport {\r\n VideoSlidesHeaderFilterButtonComponent\r\n} from \"../video-slides-header-filter-button/video-slides-header-filter-button.component\";\r\nimport {IVideoSlidesFilter} from \"../../../../../../services/configurations/config-data-sections/arenas.configuration\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\n\r\nexport interface VideoSlidesArenaFiltersIndicatorProps {\r\n filters: IVideoSlidesFilter[];\r\n}\r\n\r\nexport const VideoSlidesArenaFiltersIndicator: React.FC = observer((props) => {\r\n const services = useServices();\r\n const [activeFilter, setActiveFilter] = useState(props.filters[0].translationKey); //just a dumbed down mechanism to mock an active filter so that product can see the active css\r\n\r\n const renderSingleFilter = (filterConfig: IVideoSlidesFilter) => {\r\n return \r\n }\r\n\r\n return (\r\n \r\n {props.filters.map(filterConfig => renderSingleFilter(filterConfig))}\r\n \r\n );\r\n})","import styled from \"styled-components\";\r\nimport {RegulatoryDataComponent} from \"../../../../header/top-header-left/regulatory-data/regulatory-data.component\";\r\n\r\nexport const VideoSlideRegulatoryDataComponent = styled(RegulatoryDataComponent)`\r\n position: static;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VideoSlidesUserMenuButtonBox = styled.div`\r\n position: relative;\r\n &:before {\r\n background: linear-gradient(270deg, #000 5%, rgba(0, 0, 0, 0.00) 100%);\r\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);\r\n content: \" \";\r\n height: 100%;\r\n position: absolute;\r\n top: 0;\r\n width: 10px;\r\n left: -10px;\r\n }\r\n`;","import React from 'react';\r\nimport {observer} from \"mobx-react-lite\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent} from \"../../../header/welcome-buttons/authorized-user/mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component\";\r\nimport {VideoSlidesArenaHeaderBox} from \"./boxes/video-slides-arena-header.box\";\r\nimport {VideoSlidesArenaFiltersIndicator} from './components/video-slides-arena-filters-indicator/video-slides-arena-filters-indicator.component';\r\nimport {VideoSlideRegulatoryDataComponent} from './boxes/video-slide-regulatory-data-component.box';\r\nimport {\r\n VideoSlidesUserMenuButtonBox\r\n} from \"./components/video-slides-header-filter-button/video-slides-user-menu-button.box\";\r\nimport {\r\n IVideoSlidesFilter\r\n} from \"../../../../services/configurations/config-data-sections/arenas.configuration\";\r\n\r\nexport interface VideoSlidesHeaderArenaProps {\r\n filters: IVideoSlidesFilter[];\r\n}\r\n\r\nexport const VideoSlidesHeaderArena: React.FC = observer((props) => {\r\n const services = useServices();\r\n\r\n const renderHeaderWelcomeButtonsForAuthorizedUserMobile = () => {\r\n if (services.user.isAuthorized) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {renderHeaderWelcomeButtonsForAuthorizedUserMobile()}\r\n \r\n \r\n );\r\n})","import React from 'react';\r\nimport {observer} from \"mobx-react-lite\";\r\nimport {BottomNavigationBarComponent} from \"../../bottom-navigation-bar/bottom-navigation-bar.component\";\r\nimport {VideoSlidesArenaBox} from \"./boxes/video-slides-arena.box\";\r\nimport {VideoSlidesContentArena} from \"./video-slides-arena-content/video-slides-arena-content.component\";\r\nimport {VideoSlidesHeaderArena} from \"./video-slides-arena-header/video-slides-arena-header.component\";\r\nimport {\r\n VideoSlidesArenaConfiguration\r\n} from \"../../../services/configurations/config-data-sections/arenas.configuration\";\r\n\r\n\r\nexport interface VideoSlidesArenaComponentProps {\r\n configs: VideoSlidesArenaConfiguration;\r\n}\r\n\r\nexport const VideoSlidesArena: React.FC = observer((props) => {\r\n\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 WelcomeUserBox = styled.div`\r\n text-align: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst WelcomeGreetingDefaultBox = styled.p`\r\n margin: 0.5rem 0;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.4rem;\r\n line-height: 1;\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\n\r\nconst WelcomeGreetingCasino777Box = styled(WelcomeGreetingDefaultBox)`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-weight: 700;\r\n font-size: 1.6rem;\r\n`;\r\n\r\nexport const WelcomeGreetingBox = styledByTheme(WelcomeGreetingDefaultBox).forCasino777(WelcomeGreetingCasino777Box).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 {WelcomeUserBox} from \"./boxes/welcome-user.box\";\r\nimport {WelcomeGreetingBox} from \"./boxes/welcome-greeting.box\";\r\n\r\nexport const WelcomeUser = observer(class WelcomeUser extends OrbitComponent {\r\n render() {\r\n const {translation} = this.services;\r\n\r\n return (\r\n \r\n {translation.translate(\"MY_ACCOUNT\")}\r\n \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\nimport { IndicatorLayout } from \"../consts/indicator-layout\";\r\n\r\nexport const IndicatorDefaultBox = styled.div<{displayLayout?: IndicatorLayout}>`\r\n display: flex;\r\n flex-direction: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"row\" : \"column\" };\r\n align-items: center;\r\n\r\n position: relative;\r\n width: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"auto\" : \"calc((100% - 1rem) / 2)\" };\r\n padding: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"1rem 0\" : \"0.5rem 0\" };\r\n margin: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"0 1rem\" : \"0\" };\r\n background: ${({theme, displayLayout}) => displayLayout === IndicatorLayout.List ? \"none\" : theme.colors.backgroundLight};\r\n border-top: ${({displayLayout, theme}) => displayLayout === IndicatorLayout.List ? (\"1px solid \" + theme.colors.boxBorder) : \"none\" };\r\n border-radius: 5px;\r\n cursor: pointer;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 0.5rem 0;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 1rem 0;\r\n background: ${({theme}) => theme.colors.background}; // componentBackground usefulLinkBackground userMenuSectionBg\r\n }\r\n`;\r\n\r\nconst IndicatorCasino777Box = styled(IndicatorDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: ${({theme}) => theme.colors.logoBackground};\r\n }\r\n`;\r\n\r\nconst IndicatorCasinoMrGreenBox = styled(IndicatorDefaultBox)`\r\n background: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: inset 0px 0px 5px ${({theme}) => theme.colors.backgroundActive}, inset 0px 0px 10px ${({theme}) => theme.colors.backgroundActive};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: ${({theme}) => theme.colors.backgroundDark};\r\n }\r\n`;\r\n\r\nexport const IndicatorBox = styledByTheme(IndicatorDefaultBox)\r\n .forCasino777(IndicatorCasino777Box)\r\n .forMrGreen(IndicatorCasinoMrGreenBox)\r\n .apply();\r\n","export interface IControlCenterService {\r\n readonly isEnabled: boolean;\r\n}\r\n\r\nexport enum CONTROL_CENTER_CONTAINERS_ID {\r\n CONTROL_CENTER_FULL_CONTAINER_ID = \"FullSafeZoneContainer\",\r\n CONTROL_CENTER_MINI_CONTAINER_ID = \"MiniSafeZoneContainer\"\r\n}\r\n\r\nexport const CONTROL_CENTER_BI_EVENTS = {\r\n MINI_OPEN: \"sz_mini_open\", //01010101\r\n MINI_READY: \"sz_mini_ready\",\r\n MINI_CLOSE_INTERNAL: \"sz_mini_close_internal\",\r\n MINI_CLOSE_EXTERNAL: \"sz_mini_close_external\", //01010104\r\n FULL_OPEN: \"sz_full_open\", //01020101\r\n FULL_READY: \"sz_full_ready\",\r\n FULL_CLOSE_EXTERNAL: \"sz_full_close_external\", //01020104\r\n CATEGORY_MINI: \"mini\",\r\n CATEGORY_FULL: \"full\"\r\n};\r\n\r\n\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { IndicatorLayout } from \"../consts/indicator-layout\";\r\nimport { IndicatorDefaultBox } from \"./indicator.box\";\r\n\r\nconst IndicatorIconDefaultBox = styled.div<{active?: boolean, displayLayout?: IndicatorLayout}>`\r\n display: block;\r\n margin: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"0 1rem 0 0\" : \"1rem\" };\r\n\r\n transition: opacity 0.2s ease;\r\n opacity: ${({displayLayout, active}) => displayLayout === IndicatorLayout.List ? (active ? \"1\" : \"0.4\") : \"1\" };\r\n ${IndicatorDefaultBox}:hover & {\r\n opacity: 1;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"\" : css`\r\n margin: 0.5rem;\r\n `}\r\n }\r\n`;\r\n\r\nconst IndicatorIconCasino777Box = styled(IndicatorIconDefaultBox)`\r\n\r\n`;\r\n\r\nconst IndicatorIconHarrahsWsopBox = styled(IndicatorIconDefaultBox)`\r\n`;\r\n\r\nconst IndicatorIconSIBox = styled(IndicatorIconDefaultBox)`\r\n position: relative;\r\n`;\r\n\r\n\r\nexport const IndicatorIconBox = styledByTheme(IndicatorIconDefaultBox)\r\n .forCasino777(IndicatorIconCasino777Box)\r\n .forHarrahs(IndicatorIconHarrahsWsopBox)\r\n .forWsop(IndicatorIconHarrahsWsopBox)\r\n .forSI(IndicatorIconSIBox)\r\n .apply();\r\n","import styled, { css, keyframes } from \"styled-components\";\r\nimport { IndicatorLayout } from \"../consts/indicator-layout\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst pulseAnimation = keyframes`\r\n 0% {\r\n transform: scale(1);\r\n }\r\n 50% {\r\n transform: scale(0.8);\r\n }\r\n 100% {\r\n transform: scale(1);\r\n }\r\n`;\r\n\r\nconst IndicatorBadgeDefaultBox = styled.div<{displayLayout?: IndicatorLayout}>`\r\n position: absolute;\r\n line-height: 1;\r\n text-align: center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n top: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"50%\" : \"0.5rem\" };\r\n right: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"0\" : \"0.5rem\" };\r\n width: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"auto\" : \"2rem\" };\r\n height: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"auto\" : \"2rem\" };\r\n font-size: 1rem;\r\n color: ${({theme}) => theme.components.header.colors.indicatorBadge.text};\r\n background: ${({displayLayout, theme}) =>\r\n displayLayout === IndicatorLayout.List ?\r\n theme.components.header.colors.indicatorBadge.backgroundInListLayout :\r\n theme.components.header.colors.indicatorBadge.backgroundInGridLayout\r\n };\r\n border-radius: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"5px\" : \"50%\" };\r\n padding: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"0.65rem 1rem\" : \"0\" };\r\n ${({displayLayout}) => displayLayout === IndicatorLayout.List ? css`\r\n transform: translateY(-50%);\r\n ` : css`\r\n animation: ${pulseAnimation} 2s ease 1s infinite;\r\n `}\r\n`;\r\n\r\nconst IndicatorBadgeSIBox = styled(IndicatorBadgeDefaultBox)`\r\n top: -0.4rem;\r\n right: -1rem;\r\n`;\r\n\r\nconst IndicatorBadgeMrGreenBox = styled(IndicatorBadgeDefaultBox)`\r\n top: 1rem;\r\n right: 1.8rem;\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n right: 6.4rem;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n right: 5.4rem;\r\n }\r\n`;\r\n\r\nexport const IndicatorBadgeBox = styledByTheme(IndicatorBadgeDefaultBox)\r\n .forSI(IndicatorBadgeSIBox)\r\n .forMrGreen(IndicatorBadgeMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { IndicatorLayout } from \"../consts/indicator-layout\";\r\nimport { IndicatorDefaultBox } from \"./indicator.box\";\r\n\r\nconst IndicatorTextDefaultBox = styled.div<{active?: boolean, displayLayout?: IndicatorLayout}>`\r\n font-size: ${({displayLayout}) => displayLayout === IndicatorLayout.List ? \"1.2rem\" : \"1rem\"};\r\n color: ${({theme, active}) => active ? theme.colors.textLight : theme.colors.textMiddleDark };\r\n transition: color 0.2s ease;\r\n text-align: center;\r\n ${({displayLayout}) => displayLayout === IndicatorLayout.List ? css`\r\n ${IndicatorDefaultBox}:hover & {\r\n color: ${({theme}) => theme.colors.textLight};\r\n }\r\n ` : \"\" }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n color: ${({theme}) => theme.colors.textLight};\r\n }\r\n`;\r\n\r\nconst IndicatorTextCasino777Box = styled(IndicatorTextDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-weight: 700;\r\n }\r\n`;\r\n\r\nexport const IndicatorTextBox = styledByTheme(IndicatorTextDefaultBox)\r\n .forCasino777(IndicatorTextCasino777Box).apply()\r\n","import styled from \"styled-components\";\r\n\r\nexport const IndicatorIconWrapperDefaultBox = styled.div<{active?: boolean}>`\r\n color: ${({theme, active}) => active ? theme.colors.textLight : theme.colors.textMiddleDark };\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {IndicatorIconWrapperDefaultBox} from \"./indicator-icon-wrapper-default.box\";\r\n\r\nexport const IndicatorIconWrapper777Box = styled(IndicatorIconWrapperDefaultBox)`\r\n color: ${({theme, active}) => active ? theme.colors.textLight : theme.colors.brandSecondaryDark };\r\n`;","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {IndicatorIconWrapperDefaultBox} from \"./indicator-icon-wrapper-default.box\";\r\nimport {IndicatorIconWrapper777Box} from \"./indicator-icon-wrapper.777.box\";\r\n\r\nexport const IndicatorIconWrapperBox = styledByTheme(IndicatorIconWrapperDefaultBox)\r\n .forCasino777(IndicatorIconWrapper777Box)\r\n .apply();","import React from \"react\";\r\nimport {IndicatorBox} from \"./boxes/indicator.box\";\r\nimport {IndicatorIconBox} from \"./boxes/indicator-icon.box\";\r\nimport {IndicatorBadgeBox} from \"./boxes/indicator-badge.box\";\r\nimport {IndicatorTextBox} from \"./boxes/indicator-text.box\";\r\nimport {IndicatorLayout} from \"./consts/indicator-layout\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {IndicatorIconWrapperBox} from \"./boxes/indicator-icon-wrapper.box\";\r\nimport {ISvgIconProps} from \"../../basic-ui-components/icon/svg-icon/svg.icon\";\r\n\r\nexport interface ProfileBoxMessagesIndicatorProps {\r\n /**\r\n * Normally, we should only receive numberOfAwaitingMessages, and when that's greater than 0, then the indicator is active\r\n * and the bubble shows the number.\r\n * But for challenges, we have only the information whether the user has active challenges or not.\r\n * So we accept both data, both are optional.\r\n * If both are missing, the button is inactive. If both are present, numberOfAwaitingMessages takes precedence and hasAwaitingMessages is ignored.\r\n * If hasAwaitingMessages is true and numberOfAwaitingMessages is undefined, the button is active but the badge is supressed\r\n */\r\n numberOfAwaitingMessages?: number;\r\n hasAwaitingMessages?: boolean;\r\n\r\n onClick: React.MouseEventHandler;\r\n displayLayout?: IndicatorLayout;\r\n iconComponent: React.ComponentType;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nexport class ProfileBoxMessagesIndicator extends OrbitComponent {\r\n render() {\r\n const indicatorActive = this.indicatorIsActive();\r\n const IconComponent = this.props.iconComponent;\r\n\r\n return (\r\n \r\n \r\n \r\n {IconComponent ? : null}\r\n {this.numberOfMessagesIsDefinedAndGreaterThanZero() ?\r\n {this.props.numberOfAwaitingMessages}\r\n : null}\r\n \r\n \r\n \r\n {this.props.text}\r\n \r\n \r\n );\r\n }\r\n\r\n private onClick = (e: React.MouseEvent) => {\r\n if (!this.indicatorIsActive()) {\r\n return;\r\n }\r\n this.props.onClick(e);\r\n }\r\n\r\n private numberOfMessagesIsDefinedAndGreaterThanZero() {\r\n return this.props.numberOfAwaitingMessages !== undefined && this.props.numberOfAwaitingMessages > 0;\r\n }\r\n\r\n private indicatorIsActive() {\r\n return this.numberOfMessagesIsDefinedAndGreaterThanZero() || !!this.props.hasAwaitingMessages;\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 { ProfileBoxMessagesIndicator } from \"../profile-box-messages-indicator.component\";\r\nimport { IndicatorLayout } from \"../consts/indicator-layout\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\nexport const OmgIndicator = observer(\r\n class OmgIndicator extends OrbitComponent<{displayLayout?: IndicatorLayout}> {\r\n public render() {\r\n return (\r\n {\r\n this.services.menuItemActionFactory.getMenuItemAction('pushNotificationsPermissionsRequest').execute();\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"NavBar\", \"Open_OMG\");\r\n // Open OMG\r\n this.services.omg.openOmgAwaitingMessages();\r\n this.services.userMenu.closeMenu();\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 { ProfileBoxMessagesIndicator } from \"../profile-box-messages-indicator.component\";\r\nimport {\r\n TOOLTIP_TARGET_FREE_PLAY_INDICATOR\r\n} from \"../../../services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors\";\r\n\r\nexport const FreePlayIndicatorComponent = observer(class FreePlayIndicatorComponent extends OrbitComponent {\r\n public render() {\r\n return (\r\n {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"NavBar\", \"Open_Rewards\");\r\n this.services.userMenu.openRewards();\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 {LoyaltyBarWrapperComponent} from \"./loyalty-bar-wrapper.component\";\r\nimport {UserMenuSectionBox} from \"../user-menu/user-menu/boxes/user-menu-section.box\";\r\n\r\nexport const LoyaltyBar = observer(class LoyaltyBar extends OrbitComponent {\r\n\r\n render() {\r\n const showLoyaltyConfig = this.services.configuration.data.drawer.showLoyalty;\r\n if (!showLoyaltyConfig || !showLoyaltyConfig.display)\r\n return null;\r\n\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 { OrbitComponent } from \"../base-components/orbit-component/orbit-component\";\r\nimport { UserData } from \"../../services/sdk/sdk.service.interface\";\r\nimport { Check } from \"@sparkware/app-utils\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport interface UserInfoComponentProps {\r\n className?: string;\r\n useSpanWrapper?: boolean;\r\n selectedUserInfo: keyof UserData;\r\n}\r\n\r\n@observer\r\nexport class UserInfo extends OrbitComponent {\r\n render() {\r\n let shownData = this.services.user.userData[this.props.selectedUserInfo];\r\n if (Check.isNullOrUndefined(shownData)) {\r\n return null;\r\n }\r\n if (this.props.useSpanWrapper || this.props.className) {\r\n return \r\n {shownData}\r\n ;\r\n } else {\r\n return shownData;\r\n }\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserInfoLabelBox = styled.span`\r\n margin: 0 1rem 0 0;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuNameBox = styled.div`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n text-align: center;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n text-align: left;\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const UserMenuSupportIdBox = styled.div`\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n font-size: 1.2rem;\r\n font-weight: 600;\r\n text-align: center;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n text-align: left;\r\n }\r\n`;","import React from 'react';\r\nimport {UserInfo} from \"../user-info/user-info.component\";\r\nimport {UserInfoLabelBox} from \"../user-info/user-info-label.box\";\r\nimport {UserMenuSectionBox} from '../user-menu/user-menu/boxes/user-menu-section.box';\r\nimport {useServices} from '../../react-hooks/use-services.hook';\r\nimport {UserMenuNameBox} from './boxes/user-menu-name.box';\r\nimport {UserMenuSupportIdBox} from './boxes/user-menu-support-id.box';\r\nimport {FlexContainerBox, FlexFixedSizeItemBox, FlexGrowItemBox, FlexShrinkItemBox} from \"../../themes/architecture/css-helpers/flex\";\r\nimport {UserData} from '../../services/sdk/sdk.service.interface';\r\nimport {ITranslationService} from '../../services/translation/translation.service.interface';\r\nimport {Image} from '../raw-components/image/image';\r\n\r\nexport const UserDetails: React.FC = () => {\r\n let services = useServices();\r\n const {showUserTitle, showFirstName, showLastName} = services.configuration.data.drawer.welcomeMessage;\r\n const avatarUrl = services.configuration.data.generalSettings.avatarUrl.sideMenu.regular;\r\n\r\n function _renderUserTitle(isEnabled: boolean, translator: ITranslationService) {\r\n if(!isEnabled)\r\n return null;\r\n\r\n const userGenderTitle = this.services.user.genderTitle;\r\n return {translator.translate(userGenderTitle)}\r\n }\r\n\r\n function _renderUserInfo(infoType: keyof UserData, isEnabled: boolean) {\r\n if(!isEnabled)\r\n return null;\r\n\r\n return ;\r\n }\r\n\r\n function _renderLeftPart() {\r\n let smallViewport = services.mediaQuery.lAndBelow;\r\n if (smallViewport) {\r\n return \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const RightArrowIcon = services.theme.currentTheme.icons.forwardIcon;\r\n\r\n return (\r\n { services.userMenu.launchMyAccount() }}>\r\n \r\n { _renderLeftPart() }\r\n \r\n \r\n {_renderUserTitle(showUserTitle, services.translation)}\r\n {_renderUserInfo('firstName', showFirstName)}\r\n {_renderUserInfo('lastName', showLastName)}\r\n \r\n \r\n {services.translation.translate('SUPPORT_ID_MESSAGE')}\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 {observer} from \"mobx-react\";\r\nimport {UsefulLinksListComponent} from './parts/useful-links-list/useful-links-list.component';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {UserMenuSectionBox} from '../user-menu/user-menu/boxes/user-menu-section.box';\r\n\r\nexport const UsefulLinks: React.FC = observer(() => {\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\n\r\nconst BonusAndCashBalanceDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n width: 100%;\r\n ${({theme}) => theme.font.presets.body}\r\n font-size: 1.4rem;\r\n padding: 1rem 0 1rem;\r\n`;\r\n\r\nexport const BonusAndCashBalanceBox = styledByTheme(BonusAndCashBalanceDefaultBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const BalanceInnerBox = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 0 0 0.5rem;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst BalanceLabelInnerDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n font-weight: 600;\r\n`;\r\n\r\nconst BalanceLabelInnerHarrahsWsopBox = styled(BalanceLabelInnerDefaultBox)`\r\n ${({theme}) => theme.font.presets.regular}\r\n`;\r\n\r\nconst BalanceLabelInnerMrGreenBox = styled.div`\r\n color: ${({theme}) => theme.colors.textActive};\r\n`;\r\n\r\nexport const BalanceLabelInnerBox = styledByTheme(BalanceLabelInnerDefaultBox)\r\n .forHarrahs(BalanceLabelInnerHarrahsWsopBox)\r\n .forWsop(BalanceLabelInnerHarrahsWsopBox)\r\n .forMrGreen(BalanceLabelInnerMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst BalanceValueBonusAndCashDefaultBox = styled.div`\r\n font-size: inherit;\r\n letter-spacing: inherit;\r\n font-size: 1.4rem;\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\n\r\nconst BalanceValueBonusAndCashCasino777Box = styled(BalanceValueBonusAndCashDefaultBox)`\r\n color: ${({theme}) => theme.colors.moneyColor};\r\n`;\r\n\r\nconst BalanceValueBonusAndCashHarrahsWsopBox = styled(BalanceValueBonusAndCashDefaultBox)`\r\n ${({theme}) => theme.font.presets.body}\r\n`;\r\n\r\nexport const BalanceValueBonusAndCashBox = styledByTheme(BalanceValueBonusAndCashDefaultBox)\r\n .forCasino777(BalanceValueBonusAndCashCasino777Box)\r\n .forHarrahs(BalanceValueBonusAndCashHarrahsWsopBox)\r\n .forWsop(BalanceValueBonusAndCashHarrahsWsopBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {BonusAndCashBalanceBox} from \"./boxes/bonus-and-cash-balance.box\";\r\nimport {BalanceInnerBox} from \"./boxes/balance-inner.box\";\r\nimport {BalanceLabelInnerBox} from \"./boxes/balance-label-inner.box\";\r\nimport { BalanceValue } from \"../balance-value.component\";\r\nimport { BalanceValueBonusAndCashBox } from \"../balance-value-boxes/balance-value-bonus-and-cash.box\";\r\nimport { BalanceType } from \"../../../../common/const/wallet_balance_type\";\r\nimport {CyClass} from '../../../../common/cy-classes';\r\n\r\nexport class BonusAndCashBalance extends OrbitComponent {\r\n render() {\r\n const translator = this.services.translation;\r\n\r\n return (\r\n \r\n \r\n {translator.translate('CASH_BALANCE')}\r\n \r\n \r\n \r\n {translator.translate('BONUS_BALANCE')}\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\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst BalanceButtonsGroupDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n width: 100%;\r\n`;\r\n\r\nconst BalanceButtonsGroupHarrahsWsopBox = styled(BalanceButtonsGroupDefaultBox)`\r\n ${CssRule.For.mobile.build()} &{\r\n background: transparent;\r\n }\r\n`;\r\n\r\nconst BalanceButtonsGroupMrGreenWsopBox = styled(BalanceButtonsGroupDefaultBox)`\r\n ${CssRule.For.mobile.build()} &{\r\n background: transparent;\r\n }\r\n`;\r\n\r\nexport const BalanceButtonsGroupBox = styledByTheme(BalanceButtonsGroupDefaultBox)\r\n .forHarrahs(BalanceButtonsGroupHarrahsWsopBox)\r\n .forWsop(BalanceButtonsGroupHarrahsWsopBox)\r\n .forMrGreen(BalanceButtonsGroupMrGreenWsopBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const ButtonWrapperBox = styled.div`\r\n width: 15rem;\r\n`;\r\n","import React from \"react\";\r\nimport { Button } from \"../../../basic-ui-components/button/base/button.component\";\r\nimport { BalanceButtonsGroupBox } from \"./boxes/balance-buttons-group.box\";\r\nimport { ButtonWrapperBox } from \"./boxes/button-wrapper.box\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const UserBalanceButtons: React.FC = observer(() => {\r\n const services = useServices();\r\n const translator = services.translation;\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 { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst UserMenuBalanceLabelDefaultBox = styled.div`\r\n white-space: nowrap;\r\n font-size: 1.4rem;\r\n color: ${({theme}) => theme.colors.textContrast};\r\n font-weight: 600;\r\n`;\r\n\r\nconst UserMenuBalanceLabelCasino777Box = styled(UserMenuBalanceLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.text};\r\n`;\r\n\r\nexport const UserMenuBalanceLabelBox = styledByTheme(UserMenuBalanceLabelDefaultBox)\r\n .forCasino777(UserMenuBalanceLabelCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst BalanceValuePrimaryDefaultBox = styled.span`\r\n font-size: 2rem;\r\n font-weight: 700;\r\n color: ${({theme}) => theme.colors.moneyColor};\r\n margin: 0.7rem 0 0.8rem 0;\r\n`;\r\n\r\nexport const BalanceValuePrimaryBox = styledByTheme(BalanceValuePrimaryDefaultBox)\r\n .apply()\r\n","import React from 'react';\r\nimport {useServices} from '../../react-hooks/use-services.hook';\r\nimport {BonusAndCashBalance} from \"./bonus-and-cash-balance/bonus-and-cash-balance.component\";\r\nimport {UserBalanceButtons} from \"./balance-box-buttons/user-balance-buttons.component\";\r\nimport {UserMenuBalanceLabelBox} from \"./boxes/user-menu-balance-label.box\";\r\nimport { BalanceValue } from './balance-value.component';\r\nimport { BalanceValuePrimaryBox } from './balance-value-boxes/balance-value-primary.box';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {UserMenuSectionBox} from '../user-menu/user-menu/boxes/user-menu-section.box';\r\nimport {FlexContainerBox} from '../../themes/architecture/css-helpers/flex';\r\nimport {UserMenuSeparatorBox} from '../user-menu/user-menu-items/boxes/user-menu-separator.box';\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\n\r\nexport const UserBalance: React.FC = () => {\r\n const services = useServices();\r\n return \r\n \r\n {services.translation.translate('BALANCE')}\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 {observer} from \"mobx-react\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\n\r\nexport const UserMenuItemsContainerComponent: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n const menuItems = services.userMenu.userMenuItems;\r\n\r\n return (\r\n <>\r\n {menuItems.map(menuItem => {menuItem.renderMenuItem()})}\r\n \r\n );\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const MiniControlCenterDefaultBox = styled.div`\r\n margin: 1rem 0 0 0;\r\n background: ${props => props.theme.colors.backgroundLight};\r\n min-height: 240px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {MiniControlCenterDefaultBox} from \"./mini-control-center.default.box\";\r\n\r\nexport const MiniControlCenterMrGreenBox = styled(MiniControlCenterDefaultBox)`\r\n background: ${props => props.theme.colors.brandSecondary};\r\n`;","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {MiniControlCenterDefaultBox} from \"./mini-control-center.default.box\";\r\nimport {MiniControlCenterMrGreenBox} from \"./mini-control-center.mrgreen.box\";\r\n\r\nexport const MiniControlCenterBox = styledByTheme(MiniControlCenterDefaultBox)\r\n .forMrGreen(MiniControlCenterMrGreenBox)\r\n .apply();\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 clientIpAddresses = \"orbit_clientIpAddresses\"\r\n}","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MiniControlCenterBox} from \"./boxes/mini-control-center.box\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {CONTROL_CENTER_CONTAINERS_ID} from \"../../../services/control-center/control-center.service.interface\";\r\nimport {AreaType, ControlCenterCloseSource, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {ICasinofiedApplication} from \"../../../services/casinofied/app-launcher/apps/casinofied-application.interface\";\r\nimport {UserMenuSectionBox} from \"../user-menu/boxes/user-menu-section.box\";\r\n\r\n@observer\r\nexport class MiniControlCenterComponent extends OrbitComponent {\r\n private iApplication: ICasinofiedApplication | null = null;\r\n private appLoadingInProgress = false;\r\n private cancelLoadingApp = false;\r\n private businessCorrelationID: string;\r\n private closeControlCenterReason: ControlCenterCloseSource;\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.businessCorrelationID = this.services.tools.getGuid();\r\n if (this.services.controlCenter.isEnabled && this.services.userMenu.isOpen) {\r\n this.loadControlCenterMini();\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.services.controlCenter.isEnabled) {\r\n if (!this.services.userMenu.isOpen) {\r\n // so, the userMenu has closed. good. If we have an app, dispose of it\r\n if (this.iApplication) {\r\n this.disposeApplication();\r\n } else if (this.appLoadingInProgress) {\r\n // but what if the user closed the menu before the app finished loading?\r\n this.cancelLoadingApp = true;\r\n }\r\n }\r\n if (!this.iApplication && this.services.userMenu.isOpen) {\r\n this.loadControlCenterMini();\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.disposeApplication();\r\n }\r\n\r\n loadControlCenterMini() {\r\n this.closeControlCenterReason = ControlCenterCloseSource.ClientPage;\r\n this.appLoadingInProgress = true;\r\n this.services.appLauncher.openControlCenterMini({\r\n businessCorrelationID: this.businessCorrelationID,\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterHeaderButton,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n }).then((app) => {\r\n this.iApplication = app;\r\n this.appLoadingInProgress = false;\r\n if (this.cancelLoadingApp) {\r\n this.cancelLoadingApp = false;\r\n this.disposeApplication();\r\n }\r\n }).finally(() => {\r\n this.appLoadingInProgress = false;\r\n this.cancelLoadingApp = false;\r\n });\r\n }\r\n disposeApplication() {\r\n if (this.iApplication) {\r\n this.iApplication.close({\r\n channel: {\r\n area: AreaType.UserArea,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n reason: this.closeControlCenterReason\r\n });\r\n this.iApplication = null;\r\n }\r\n }\r\n\r\n controlCenterBoxClickHandler = () => {\r\n this.closeControlCenterReason = ControlCenterCloseSource.MiniSafeZone;\r\n }\r\n\r\n render() {\r\n if (!this.services.controlCenter.isEnabled) {\r\n return null;\r\n }\r\n /* Normally why do I care if userMenu.isOpen ? After all, this component is rendered inside the userMenu and will be visible only if isOpen.\r\n Yes, BUT control center want's to be \"closed\" and \"opened\" with every close/open of the userMenu. So I add a class depending on\r\n this.services.userMenu.isOpen to trigger a componentDidMount and the magic will happen there */\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 UserMenuScrollWrapperBox = styled.div`\r\n flex: 1;\r\n padding: 1rem 0.75rem 1rem 1rem;\r\n overflow-y: auto;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0;\r\n }\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","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst ProfileMessagesDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n margin: 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 1rem 0;\r\n padding: 0;\r\n }\r\n`;\r\n\r\nconst ProfileMessagesCasino777Box = styled(ProfileMessagesDefaultBox)`\r\n padding: 0.5rem 0;\r\n background: ${({theme}) => theme.colors.brandSecondary };\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: transparent;\r\n }\r\n`;\r\n\r\nexport const ProfileMessagesBox = styledByTheme(ProfileMessagesDefaultBox)\r\n .forCasino777(ProfileMessagesCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuFakeIOSPaddingBox = styled.div`\r\n display: block;\r\n height: 100px;\r\n width: 10px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst LogOutLinkDefaultBox = styled.a`\r\n display: block;\r\n padding: 1rem 0rem;\r\n font-size: 1.4rem;\r\n line-height: 1;\r\n transition: color 0.2s ease;\r\n text-align: center;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.textContrast};\r\n }\r\n`;\r\n\r\nconst LogOutLinkCasino777Box = styled(LogOutLinkDefaultBox)`\r\n padding: 1rem 0rem;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.4rem;\r\n`;\r\n\r\nconst LogOutLinkMrGreenBox = styled(LogOutLinkDefaultBox)`\r\n &:hover {\r\n background-color: ${props => props.theme.colors.background};\r\n }\r\n`;\r\n\r\nexport const LogOutLinkBox = styledByTheme(LogOutLinkDefaultBox)\r\n .forCasino777(LogOutLinkCasino777Box)\r\n .forMrGreen(LogOutLinkMrGreenBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport { LogOutLinkBox } from './boxes/log-out-link.box';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {useServices} from '../../react-hooks/use-services.hook';\r\nimport {UserMenuSectionBox} from '../user-menu/user-menu/boxes/user-menu-section.box';\r\n\r\nexport const UserMenuLogout: React.FC = observer(() => {\r\n const services = useServices();\r\n const translator = services.translation;\r\n const userMenuService = services.userMenu;\r\n\r\n return \r\n userMenuService.doLogout()}>\r\n {translator.translate(\"LOGOUT\")}\r\n \r\n ;\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuAppVersionBox = styled.div`\r\n font-size: 1.2rem;\r\n font-weight: 400;\r\n text-align: center;\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {useServices} from '../../react-hooks/use-services.hook';\r\nimport {UserMenuSeparatorBox} from '../user-menu/user-menu-items/boxes/user-menu-separator.box';\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\nimport {UserMenuLogout} from '../user-menu-logout/user-menu-logout.component';\r\nimport {UserMenuAppVersionBox} from './boxes/user-menu-app-version.box';\r\n\r\nexport const UserMenuFooter: React.FC = observer(() => {\r\n const services = useServices();\r\n const translator = services.translation;\r\n\r\n return (<>\r\n \r\n \r\n {translator.translate(\"ABOUT_CLIENT_VERSION_TITLE\")}\r\n
    \r\n {services.clientDevice.clientVersion}\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 SaveGamesWidgetBox = styled.div`\r\n background-color: ${props => props.theme.colors.background};\r\n margin-top: 1rem;\r\n padding: 0;\r\n width: 100%;\r\n line-height: 3.75rem;\r\n\r\n align-items: center;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n \r\n border-radius: 5px;\r\n max-width: 100%;\r\n\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const SaveGamesWidgetGamesContainerBox = styled.div`\r\n display: grid;\r\n grid-template-columns: 10rem 10rem 10rem;\r\n column-gap: 1rem;\r\n row-gap: 1rem;\r\n padding: 0.5rem 0;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const SaveGamesWidgetGamesTitleBox = styled.div`\r\n text-align: center;\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: 4px 0;\r\n color: ${({theme}) => theme.colors.textContrast};\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const SaveGamesWidgetHeaderBox = styled.div`\r\n align-items: center;\r\n font-size: 1.4rem;\r\n display: flex;\r\n width: 100%;\r\n color: ${({theme}) => theme.colors.textContrast};\r\n\r\n & span:last-of-type {\r\n margin-left: auto;\r\n margin-right: 1rem;\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n }\r\n \r\n & span:first-of-type {\r\n margin: 0 1rem;\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {SaveGamesWidgetHeaderBox} from \"./boxes/save-games-widget-header.box\";\r\nimport {SwiperGamesListConfiguration} from \"../../../services/configurations/config-data-sections/arenas.configuration\";\r\n\r\nexport class SaveGamesWidgetHeaderComponent extends OrbitComponent<{}> {\r\n\r\n private _onClick() {\r\n const savedGamesSwiperConfig: SwiperGamesListConfiguration = {\r\n gamesId: this.services.games.savedGames.map(gi => gi.gameType),\r\n display: true,\r\n title: this.services.translation.translate(\"My saved games\"),\r\n useSquareIcons: true\r\n };\r\n\r\n this.services.verticalGamesList.renderList(savedGamesSwiperConfig);\r\n this.services.userMenu.closeMenu();\r\n }\r\n\r\n render() {\r\n\r\n const RightArrowIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n const SavedGamesIcon = this.services.theme.currentTheme.icons.saveGameIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate(\"My saved games\")}\r\n \r\n \r\n {this.services.translation.translate(\"ALL\")}\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 {SaveGamesWidgetBox} from \"./boxes/save-games-widget.box\";\r\nimport {SaveGamesWidgetGamesContainerBox} from \"./boxes/save-games-widget-games-container.box\";\r\nimport {GameInfo} from \"../../../services/games/game-info\";\r\nimport {GameImageComponent} from \"../../single-game/common/parts/game-image/game-image.component\";\r\nimport {GameItemImgWrapperBox} from \"../../game-item/boxes/game-item-img-wrapper.box\";\r\nimport {SaveGamesWidgetGamesTitleBox} from \"./boxes/save-games-widget-games-title.box\";\r\nimport {SaveGamesWidgetHeaderComponent} from \"./save-games-widget-header.component\";\r\n\r\ninterface SaveGamesWidgetComponentProps {\r\n savedGames: GameInfo[];\r\n}\r\n\r\nexport class SaveGamesWidgetComponent extends OrbitComponent {\r\n\r\n private _onGameClick(gameType: number) {\r\n this.services.games.gamesMap[gameType]?.open({\r\n isRealMode: true,\r\n listTitle: \"SAVED_GAMES_WIDGET\"\r\n });\r\n }\r\n\r\n render() {\r\n if (this.props.savedGames.length === 0) {\r\n return null;\r\n }\r\n\r\n if (!this.services.configuration.data.drawer.saveGamesWidget?.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this.props.savedGames.slice(0,6).map(sg =>\r\n
    \r\n this._onGameClick(sg.gameType)}>\r\n \r\n \r\n \r\n {sg.title}\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 {OmgIndicator} from \"../../profile-box-messages-indicator/indicators/omg-indicator.component\";\r\nimport {FreePlayIndicatorComponent} from \"../../profile-box-messages-indicator/indicators/freeplay-indicator.component\";\r\nimport {LoyaltyBar} from \"../../loyalty-bar/loyalty-bar.component\";\r\nimport {UserDetails} from \"../../user-details/user-details.component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {UsefulLinks} from \"../../useful-links/useful-links.component\";\r\nimport {UserBalance} from \"../../balance-box/user-balance.component\";\r\nimport {UserMenuItemsContainerComponent} from \"../user-menu-items/user-menu-items-container.component\";\r\nimport {MiniControlCenterComponent} from \"../mini-control-center/mini-control-center.component\";\r\nimport {UserMenuScrollWrapperBox} from \"./boxes/user-menu-scroll-wrapper.box\";\r\nimport { ProfileMessagesBox } from \"../../profile-box/boxes/profile-box-messages/profile-messages.box\";\r\nimport {UserMenuFakeIOSPaddingBox} from \"./boxes/user-menu-fake-ios-padding.box\";\r\nimport {UserMenuFooter} from \"../../user-menu-footer/user-menu-footer.component\";\r\nimport {FlexContainerBox, FlexFixedSizeItemBox, FlexGrowItemBox} from \"../../../themes/architecture/css-helpers/flex\";\r\nimport {SaveGamesWidgetComponent} from \"../save-games-widget/save-games-widget.component\";\r\n\r\nexport const UserMenuMobile = observer(class UserMenuMobile extends OrbitComponent {\r\n\r\n render() {\r\n // NB: the PC layout has the profile-box-messages, loyalty bar, and\r\n // dynamics boxes in the SideMenu, whereas the mobile layout has them\r\n // here in the pop-out menu.\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.device.os.isIOS && }\r\n \r\n );\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuClosePCButtonBox = styled.div`\r\n position: absolute;\r\n top: 50%;\r\n right: 0.5rem;\r\n transform: translateY(-50%);\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\n\r\nconst UserMenuCloseIconDefaultBox = styled.div`\r\n width: 1.4rem;\r\n height: 1.4rem;\r\n padding: 0.4rem;\r\n box-sizing: content-box;\r\n border: 2px solid ${({theme}) => theme.colors.boxBorderContrast};\r\n border-radius: 50%;\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n margin-right: 0.5rem;\r\n ${CssRule.For.mobile.build()} &{\r\n width: 2rem;\r\n height: 2rem;\r\n padding: 0.55rem;\r\n margin-right: 0;\r\n }\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nconst UserMenuCloseIconCasino777Box = styled(UserMenuCloseIconDefaultBox)`\r\n border: 1px solid ${({theme}) => theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n`;\r\n\r\nconst UserMenuCloseIconSiBox = styled(UserMenuCloseIconDefaultBox)`\r\n border: 2px solid ${({theme}) => theme.colors.textMiddleDark};\r\n ${CssRule.For.mobile.build()} &{\r\n color: ${({theme}) => theme.colors.textContrast};\r\n border-color: ${({theme}) => theme.colors.boxBorderContrast};\r\n }\r\n`;\r\n\r\nexport const UserMenuCloseIconBox = styledByTheme(UserMenuCloseIconDefaultBox)\r\n .forCasino777(UserMenuCloseIconCasino777Box)\r\n .forSI(UserMenuCloseIconSiBox).apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst UserMenuHeaderDefaultBox = styled.div`\r\n position: relative;\r\n flex: unset;\r\n padding: 1.4rem 0 1.4rem 0;\r\n background-color: ${({theme}) => theme.colors.background};\r\n`;\r\n\r\nconst UserMenuHeaderCasino888Box = styled(UserMenuHeaderDefaultBox)`\r\n padding: 1.6rem 0 1.7rem 0;\r\n`;\r\n\r\nconst UserMenuHeaderCasino777Box = styled(UserMenuHeaderDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.logoBackground };\r\n`;\r\n\r\nconst UserMenuHeaderMrGreenBox = styled(UserMenuHeaderDefaultBox)`\r\n padding: 1.3rem 0 1.3rem 0;\r\n`;\r\n\r\nexport const UserMenuHeaderBox = styledByTheme(UserMenuHeaderDefaultBox)\r\n .forCasino888(UserMenuHeaderCasino888Box)\r\n .forCasino777(UserMenuHeaderCasino777Box)\r\n .forMrGreen(UserMenuHeaderMrGreenBox)\r\n .forSI(UserMenuHeaderMrGreenBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {UserDetails} from \"../../user-details/user-details.component\";\r\nimport {UsefulLinks} from \"../../useful-links/useful-links.component\";\r\nimport {WelcomeUser} from \"../../welcome-user/welcome-user.component\";\r\nimport {UserBalance} from \"../../balance-box/user-balance.component\";\r\nimport { UserMenuClosePCButtonBox } from \"../close-button/boxes/user-menu-close-pc-button.box\";\r\nimport { UserMenuCloseIconBox } from \"../close-button/boxes/user-menu-close-icon.box\";\r\nimport {MiniControlCenterComponent} from \"../mini-control-center/mini-control-center.component\";\r\nimport {UserMenuHeaderBox} from \"./boxes/user-menu-header.box\";\r\nimport {UserMenuScrollWrapperBox} from \"./boxes/user-menu-scroll-wrapper.box\";\r\nimport {UserMenuFooter} from \"../../user-menu-footer/user-menu-footer.component\";\r\nimport {FlexContainerBox, FlexFixedSizeItemBox, FlexGrowItemBox} from \"../../../themes/architecture/css-helpers/flex\";\r\nimport {SaveGamesWidgetComponent} from \"../save-games-widget/save-games-widget.component\";\r\n\r\ninterface IUserMenuPcProps {\r\n closeMenu: () => void;\r\n}\r\n\r\nexport class UserMenuPc extends OrbitComponent {\r\n\r\n private _renderUserMenuHeader() {\r\n const CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\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 render() {\r\n return (\r\n <>\r\n {this._renderUserMenuHeader()}\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}\r\n","import styled from \"styled-components\";\r\nimport { flexCenterAlignItemsMixin, flexRowContainerMixin } from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const MobileMenuHeaderDefaultBox = styled.div`\r\n ${flexRowContainerMixin}\r\n ${flexCenterAlignItemsMixin}\r\n padding: 0.5rem 1.5rem;\r\n padding-top: calc(env(safe-area-inset-top) + 0.5rem);\r\n background: ${({theme}) => theme.colors.backgroundDark};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {MobileMenuHeaderDefaultBox} from \"./mobile-menu-header.default.box\";\r\n\r\nexport const MobileMenuHeaderSiBox = styled(MobileMenuHeaderDefaultBox)`\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {MobileMenuHeaderDefaultBox} from \"./mobile-menu-header.default.box\";\r\nimport {MobileMenuHeaderSiBox} from \"./mobile-menu-header.si.box\";\r\n\r\nexport const MobileMenuHeaderBox = styledByTheme(MobileMenuHeaderDefaultBox).forSI(MobileMenuHeaderSiBox).apply();","import styled from \"styled-components\";\r\nimport { flexCenterAlignItemsMixin, flexRowContainerMixin } from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst MobileBackDefaultBox = styled.div`\r\n ${flexRowContainerMixin}\r\n ${flexCenterAlignItemsMixin}\r\n padding: 5px 5px 5px 0;\r\n font-size: 1.4rem;\r\n color: ${({theme}) => theme.colors.text};\r\n`;\r\n\r\n\r\nconst MobileBackSiBox = styled(MobileBackDefaultBox)`\r\n color: ${props => props.theme.colors.brandPrimaryContrast};\r\n`\r\n\r\nexport const MobileBackBox = styledByTheme(MobileBackDefaultBox).forSI(MobileBackSiBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const MobileBackLabelBox = styled.span`\r\n padding-top: 2px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../../../themes/architecture/css-helpers/css-rule\";\r\nimport {USER_MENU_OPEN} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport interface UserMenuRootDefaultBoxProps {\r\n zIndex: number;\r\n}\r\n\r\nexport const UserMenuRootDefaultBox = styled.div`\r\n position: fixed;\r\n top: 0;\r\n display: flex;\r\n flex-direction: column;\r\n width: 37.5rem;\r\n height: 100vh;\r\n background: ${props => props.theme.colors.backgroundMiddleDark};\r\n transform: translateX(-100%);\r\n transition: transform 0.5s ease-in-out;\r\n overflow: hidden;\r\n z-index: ${props => props.zIndex};\r\n ${CssRule.For.RTL.build()} & {\r\n transform: translateX(100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n flex: 1;\r\n width: 50vw;\r\n height: 100%;\r\n right: 0;\r\n transform: translateX(100%);\r\n ${CssRule.For.RTL.build()} & {\r\n transform: translateX(-100%);\r\n right: unset;\r\n left: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n width: 100vw;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.landscape } {\r\n width: 50vw;\r\n }\r\n }\r\n\r\n //The reason we use a dedicated class and not an isOpen property for the component\r\n //is because this class will give us more CSS specificity otherwise the transform: translateX will not work corectly\r\n &.${USER_MENU_OPEN} {\r\n transform: translateX(0);\r\n /* We need to duplicate din rule for selector specificity */\r\n ${CssRule.For.RTL.build()} & {\r\n transform: translateX(0);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n /* We need to duplicate din rule for selector specificity */\r\n ${CssRule.For.RTL.build()} & {\r\n transform: translateX(0);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.landscape } {\r\n padding-right: env(safe-area-inset-right);\r\n ${CssRule.For.RTL.build()} & {\r\n padding-left: env(safe-area-inset-left);\r\n }\r\n }\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {UserMenuRootDefaultBox} from \"./user-menu-root.default.box\";\r\n\r\nexport const UserMenuRootCasino777Box = styled(UserMenuRootDefaultBox)`\r\n background: linear-gradient(#8ad0b8 25%, #cce6c9 70%, #fcf6d5);\r\n`","import {UserMenuRootDefaultBox} from \"./user-menu-root.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {UserMenuRootCasino777Box} from \"./user-menu-root.casino777.box\";\r\n\r\nexport const UserMenuRootBox = styledByTheme(UserMenuRootDefaultBox).forCasino777(UserMenuRootCasino777Box).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuWrapperDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1;\r\n overflow: hidden;\r\n padding-bottom: env(safe-area-inset-bottom, 0);\r\n\r\n &:hover {\r\n overflow-y: auto;\r\n }\r\n`","import {UserMenuWrapperDefaultBox} from \"./user-menu-wrapper.default.box\";\r\n\r\nexport const UserMenuWrapperBox = UserMenuWrapperDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const UserMenuHolderDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1;\r\n padding: 0 0 0.5rem 0;\r\n overflow: hidden;\r\n \r\n /*\r\n .cgp-rtl & {\r\n padding: 0.5rem 0 0.5rem 0.25rem;\r\n }\r\n */\r\n`","import {UserMenuHolderDefaultBox} from \"./user-menu-holder.default.box\";\r\n\r\nexport const UserMenuHolderBox = UserMenuHolderDefaultBox;","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {WelcomeUser} from \"../welcome-user/welcome-user.component\";\r\nimport {UserMenuMobile} from \"./user-menu/user-menu-mobile.component\";\r\nimport {UserMenuPc} from \"./user-menu/user-menu-pc.component\";\r\nimport { UserMenuCloseIconBox } from \"./close-button/boxes/user-menu-close-icon.box\";\r\nimport { MobileMenuHeaderBox } from \"../main-nav/boxes/mobile/mobile-menu-header.box\";\r\nimport { FlexGrowItemBox, FlexContainerBox } from \"../../themes/architecture/css-helpers/flex\";\r\nimport { MobileBackBox } from \"../main-nav/boxes/mobile/back/mobile-back.box\";\r\nimport { MobileBackLabelBox } from \"../main-nav/boxes/mobile/back/mobile-back-label.box\";\r\n\r\nimport {FreePlayContainerComponent} from \"../free-play/free-play-container.component\";\r\nimport {UserMenuRootBox} from \"./user-menu/boxes/root/user-menu-root.box\";\r\nimport {UserMenuWrapperBox} from \"./user-menu/boxes/wrapper/user-menu-wrapper.box\";\r\nimport {UserMenuHolderBox} from \"./user-menu/boxes/holder/user-menu-holder.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport classNames from \"classnames\";\r\nimport {USER_MENU_OPEN} from \"../../themes/css-global-classes\";\r\n\r\n\r\nexport const UserMenu = observer(class UserMenu extends OrbitComponent {\r\n\r\n private holderRef = React.createRef();\r\n\r\n private _renderUserMenuHeader() {\r\n\r\n if (this.services.device.isMobile) {\r\n const CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n return (\r\n \r\n \r\n {this._renderMobileBackButton()}\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 return null;\r\n }\r\n\r\n render() {\r\n if(!this.services.user.isAuthorized) {\r\n return null;\r\n }\r\n\r\n const cssClasses = classNames(CyClass('cy-user-menu'), {\r\n [USER_MENU_OPEN]: this.services.userMenu.isOpen\r\n });\r\n\r\n return (\r\n \r\n \r\n {this._renderUserMenuHeader()}\r\n \r\n {this._renderMenuContents()}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderMobileBackButton() {\r\n if(!this.services.device.isMobile)\r\n return null;\r\n if(!this.services.userMenu.isRewardsInfo)\r\n return null;\r\n\r\n const BackIcon = this.services.theme.currentTheme.icons.backIcon;\r\n return (\r\n \r\n \r\n {this.services.translation.translate(\"BACK\")}\r\n \r\n );\r\n }\r\n\r\n private _renderMenuContents() {\r\n if(this.services.userMenu.isRewardsInfo) {\r\n return ();\r\n } else if(this.services.device.isMobile) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n private _closeMenu = () => {\r\n if (this.holderRef.current) {\r\n this.holderRef.current.scrollTop = 0;\r\n }\r\n this.services.userMenu.closeMenu();\r\n }\r\n});\r\n","import {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 {VIDEO_SLIDES_ARENA} from \"../../../arena-consts\";\r\nimport {VideoSlidesArena} from \"../../../../../components/arena-host/video-slides-arena/video-slides-arena.component\";\r\nimport {UserMenu} from \"../../../../../components/user-menu/user-menu.component\";\r\nimport React from \"react\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\n\r\nexport default class VideoSlidesArenaModel implements IArenaViewModel {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n readonly allArenaGamesForFiltering: GameInfo[];\r\n readonly filteredGamesCount: number;\r\n readonly filtersConfigurationMap: ArenaFiltersConfigurationMap;\r\n readonly listsCount: number;\r\n maxGamesToShowInList: number;\r\n currentLoadedShorts = this.services.videoSlides.slideList;\r\n\r\n readonly arenaName: string = VIDEO_SLIDES_ARENA;\r\n\r\n\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return [];\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return undefined;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\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\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return undefined;\r\n }\r\n\r\n}","import {ServiceBase} from '../ServiceBase';\r\nimport {IArenasService} from './arenas.service.interface';\r\nimport {\r\n HOME_PAGE_ARENA,\r\n LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_AB_ARENA_NAME,\r\n NEW_LIVE_CASINO_ARENA_NAME, VIDEO_SLIDES_ARENA\r\n} 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\nimport {NewLiveCasinoArenaAbModel} from \"./models/arenas/new-live-casino-ab/new-live-casino-arena-ab.model\";\r\nimport VideoSlidesArenaModel from \"./models/arenas/video-slides/video-slides-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 VIDEO_SLIDES_ARENA:\r\n return new VideoSlidesArenaModel(this.services);\r\n case NEW_LIVE_CASINO_AB_ARENA_NAME:\r\n return new NewLiveCasinoArenaAbModel(arenaName, this.services, this._postLoginListsSortOrderStorage);\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, runInAction} 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\nimport {isInsideAutomation} from \"../../../utils/automation-helpers\";\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 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 } else {\r\n this._setLanguageSwitcher(null);\r\n }\r\n\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\r\n private _extractLanguageSwitcherFromConfig(langSwitcherConfig: LanguageSwitcherConfiguration) {\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 return {\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 @action.bound\r\n private _setLanguageSwitcher(langSwitcherConfig: LanguageSwitcherConfiguration): void {\r\n this.languageSwitcher = this._extractLanguageSwitcherFromConfig(langSwitcherConfig);\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._isLanguageSwitcherEnabled) {\r\n return;\r\n }\r\n\r\n if (this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher === url) {\r\n return;\r\n }\r\n\r\n\r\n if(this.services.device.hybrid.isEmbedded && !isInsideAutomation()) {\r\n if(this.languageSwitcher.isEmpty) {\r\n this._setLanguageSwitcher(this._getLanguageSwitcherConfigForHybridEmbedded());\r\n }\r\n return;\r\n }\r\n\r\n\r\n this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = url;\r\n\r\n this.services.cmsApi\r\n .getLanguageSwitcherConfiguration(url)\r\n .then(config => {\r\n if (config) {\r\n const langSwitcher = this._extractLanguageSwitcherFromConfig(config);\r\n if (!langSwitcher.isEmpty) {\r\n runInAction(() => {\r\n this.languageSwitcher = langSwitcher;\r\n });\r\n }\r\n } else {\r\n if (this.languageSwitcher.isEmpty && this.services.configuration.startupConfiguration.sdk.config.ExtraProperties.env !== \"prod\") {\r\n this._setLanguageSwitcher(this._getLanguageSwitcherConfigForTestEnvironments());\r\n }\r\n }\r\n }).catch(err => {\r\n this.services.logger.error('Failed to get language switcher from API', err);\r\n if (this.languageSwitcher.isEmpty && this.services.configuration.startupConfiguration.sdk.config.ExtraProperties.env !== \"prod\") {\r\n this._setLanguageSwitcher(this._getLanguageSwitcherConfigForTestEnvironments());\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n private _getLanguageSwitcherConfigForTestEnvironments(): LanguageSwitcherConfiguration {\r\n return this.services.theme.themeCustomizer.getLanguageSwitcherConfigForTestEnvironments();\r\n }\r\n\r\n\r\n private _getLanguageSwitcherConfigForHybridEmbedded(): LanguageSwitcherConfiguration {\r\n return {\r\n languages: [\r\n {title: \"English\", url: \"?langID=eng\"},\r\n {title: \"简体中文\", url: \"?langID=chi\"},\r\n {title: \"Deutsch\", url: \"?langID=ger\"},\r\n {title: \"Español\", url: \"?langID=spa\"},\r\n {title: \"Suomi\", url: \"?langID=fin\"},\r\n {title: \"Français\", url: \"?langID=fre\"},\r\n {title: \"日本語\", url: \"?langID=jpn\"},\r\n {title: \"Русский\", url: \"?langID=rus\"},\r\n {title: \"ภาษาไทย\", url: \"?langID=tha\"},\r\n {title: \"Portuguese\", url: \"?langID=por\"}\r\n ],\r\n countries: [],\r\n languageSettings: { \"title\": \"\", \"current\": \"\" },\r\n countrySettings: {\"title\": \"\"}\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 @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n left: -1.6rem;\r\n }\r\n`;\r\n\r\nexport const GenericSideMenuItemPreIconBox = styledByTheme(GenericSideMenuItemPreIconDefaultBox)\r\n .forSI(GenericSideMenuItemPreIconSIBox)\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 {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 styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst CrossBrandMenuItemIconDefaultBox = styled.div`\r\n box-sizing: border-box;\r\n margin: 0 2rem 0 0;\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n`;\r\n\r\n\r\nexport const CrossBrandMenuItemIconBox = styledByTheme(CrossBrandMenuItemIconDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const CrossBrandMenuItemLabelBox = styled.span`\r\n flex: 0 0 auto;\r\n text-transform: uppercase;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const CrossBrandMenuItemDefaultBox = styled.div<{menuItemKey: string}>`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 0.8rem 0;\r\n font-size: 1.4rem;\r\n line-height: 1;\r\n color: ${({theme, menuItemKey}) => menuItemKey === \"sportCrossBrandMenuItem\" ? theme.colors.sportBrandPrimary : ( menuItemKey === \"pokerCrossBrandMenuItem\" ? theme.colors.pokerBrandPrimary : theme.colors.text)};\r\n border: 2px solid ${({theme, menuItemKey}) => menuItemKey === \"sportCrossBrandMenuItem\" ? theme.colors.sportBrandPrimary : ( menuItemKey === \"pokerCrossBrandMenuItem\" ? theme.colors.pokerBrandPrimary : theme.colors.text)};;\r\n border-radius: 8px;\r\n`;\r\n\r\nexport const CrossBrandMenuItemBox = styledByTheme(CrossBrandMenuItemDefaultBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst CrossBrandMenuItemContainerDefaultBox = styled.li`\r\n display: block;\r\n`;\r\n\r\nexport const CrossBrandMenuItemContainerBox = styledByTheme(CrossBrandMenuItemContainerDefaultBox)\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 {CrossBrandMenuItemIconBox} from \"./boxes/cross-brand-menu-item-icon.box\";\r\nimport {CrossBrandMenuItemLabelBox} from \"./boxes/cross-brand-menu-item-label.box\";\r\nimport {Link} from \"../../raw-components/link/link\";\r\nimport {CrossBrandMenuItemBox} from \"./boxes/cross-brand-menu-item.box\";\r\nimport {MenuItemComponentProps} from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {CrossBrandMenuItemContainerBox} from \"./boxes/cross-brand-menu-item-container.box\";\r\nimport classNames from 'classnames';\r\nimport {CyClass} from '../../../../common/cy-classes';\r\n\r\ninterface GenericSideMenuLinkComponentProps extends MenuItemComponentProps {\r\n className?: string;\r\n}\r\n\r\n@observer\r\nexport class GenericCrossBrandAboveSearchMenuItemComponent 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 {\r\n return null;\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 \r\n {this._renderIcon()}\r\n \r\n \r\n { this.props.menuItem.text }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {GenericCrossBrandAboveSearchMenuItemComponent} from '../../../components/side-menu-rework/side-menu-above-search-group/generic-cross-brand-above-search-menu-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 GenericCrossBrandAboveSearchItemRenderer 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\nimport {GenericCrossBrandAboveSearchItemRenderer} from './menu-items/generic-cross-brand-above-search-item.renderer';\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 getCrossBrandAboveSearchItemRenderer(crossBrandKey: MenuItemKey) {\r\n let menuItemRenderer = this.services.regulation.current.menuItems.getCrossBrandsAboveSearchItem(crossBrandKey);\r\n if(menuItemRenderer) {\r\n return menuItemRenderer;\r\n }\r\n return new GenericCrossBrandAboveSearchItemRenderer(crossBrandKey, 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 styled from \"styled-components\";\r\n\r\nexport const NumberOfResultsDefaultBox = styled.span`\r\n margin: 0 0 0 1rem;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n font-size: 1.5rem;\r\n`;","import {NumberOfResultsDefaultBox} from \"./number-of-results.default.box\";\r\n\r\nexport const NumberOfResultsBox = NumberOfResultsDefaultBox;","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\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {NumberOfResultsBox} from \"./boxes/number-of-results-box/number-of-results.box\";\r\n\r\nexport interface SearchBoxTitleComponentProps {\r\n title: string;\r\n numberOfResults?: number;\r\n}\r\n\r\nexport class SearchBoxTitleComponent extends OrbitComponent {\r\n private _renderNumberOfResults = () => {\r\n if (Check.isNumber(this.props.numberOfResults)) {\r\n return ({this.props.numberOfResults});\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.services.translation.translate(this.props.title)}\r\n {this._renderNumberOfResults()}\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 margin: 1rem 0;\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 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\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst SearchInputArenaMutual = styled.input`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.textLight};\r\n font-weight: 500;\r\n\r\n &:focus {\r\n outline: none;\r\n background: ${props => props.theme.colors.backgroundLight};\r\n }\r\n border-radius: 3rem;\r\n border: 2px solid transparent;\r\n font-size: 1.5rem;\r\n`;\r\n\r\nexport const SearchInputArenaDefaultPCBox = styled(SearchInputArenaMutual)`\r\n width: 32rem;\r\n padding: 0.8rem 2rem 0.8rem 5rem;\r\n\r\n transition: width 0.2s ease;\r\n cursor: pointer;\r\n\r\n &:focus {\r\n width: 45rem;\r\n\r\n }\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\n\r\nexport const SearchInputArenaDefaultMobileBox = styled(SearchInputArenaMutual)`\r\n width: 100%;\r\n padding: 1.4rem 1rem 1.4rem 5rem;\r\n font-weight: 300;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textLight};\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 background: ${props => props.theme.colors.background};\r\n font-size: 1.5rem;\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: 0.8rem 2rem 0.8rem 4rem;\r\n font-weight: 500;\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 width: 44rem;\r\n }\r\n`;\r\nconst SearchInputAreaCasino777MobileBox = styled(SearchInputAreaMutual)`\r\n width: 100%;\r\n padding: 1.5rem 1rem 1.5rem 5rem;\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 background: transparent/* ${props => props.theme.colors.background} */;\r\n color: ${props => props.theme.colors.textLight}; \r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n border: 2px solid ${props => props.theme.colors.boxBorderLighter};\r\n border-radius: 4rem;\r\n font-size: 1.5rem;\r\n`;\r\n\r\nconst SearchInputAreaPCBox = styled(SearchInputMutual)`\r\n width: 0;\r\n padding: 0.90rem 1.8rem;\r\n font-weight: 600;\r\n \r\n transition: width 0.5s ease, padding 0.5s ease;\r\n cursor: pointer;\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 &::placeholder {\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\n\r\nconst SearchInputAreaMobileBox = styled(SearchInputMutual)`\r\n width: 100%;\r\n padding: 1.4rem 1rem 1.4rem 5.7rem;\r\n font-weight: 300;\r\n \r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`;\r\n\r\nexport const SearchInputAreaCasino888WsopBox = 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 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\nconst SearchInputArenaSIMobileBox = styled(SearchInputArenaDefaultMobileBox)`\r\n padding: 1.2rem 1rem 1.2rem 5rem;\r\n`;\r\n\r\nexport const SearchInputArenaSIBox = styledByDevice(SearchInputArenaSIPCBox, SearchInputArenaSIMobileBox);","import styled from \"styled-components\";\r\n\r\nexport const SearchInputAreaMrGreenBox = styled.input`\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: 0.85rem 1rem 0.85rem 2.6rem;\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 border-radius: 4rem;\r\n font-size: 1.5rem;\r\n\r\n &:focus {\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n width: 44rem;\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 transition: width 0.5s ease;\r\n padding: 1.2rem 5rem;\r\n border-width: 1px;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n &:focus {\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 {SearchInputAreaCasino888WsopBox} from \"./search-input-area.casino888Wsop.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(SearchInputAreaCasino888WsopBox)\r\n .forWsop(SearchInputAreaCasino888WsopBox)\r\n .forCasino777(SearchInputAreaCasino777Box)\r\n .forHarrahs(SearchInputArenaHarrahsBox)\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 styled from \"styled-components\";\r\n\r\nexport const SearchIconBoxDefault = styled.i`\r\n display: block;\r\n position: absolute;\r\n top: 50%;\r\n left: 0.95rem;\r\n transform: translateY(-50%) scaleX(-1);;\r\n width: 2rem;\r\n height: 2rem;\r\n z-index: 2;\r\n pointer-events: none;\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n left: 1.6rem;\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\nimport {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchIconCasino777Box = styled(SearchIconBoxDefault)`\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 {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchIconHarrahsBox = styled(SearchIconBoxDefault)`\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 {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchIconWSOPBox = styled(SearchIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchIconCasino777Box} from \"./search-icon.casino777.box\";\r\nimport {SearchIconHarrahsBox} from \"./search-icon.harrahs.box\";\r\nimport {SearchIconWSOPBox} from \"./search-icon.wsop.box\";\r\n\r\nexport const SearchIconBox = styledByTheme(SearchIconBoxDefault)\r\n .forCasino777(SearchIconCasino777Box)\r\n .forHarrahs(SearchIconHarrahsBox)\r\n .forWsop(SearchIconWSOPBox)\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 {SearchClearIconBox} from \"./boxes/search-clear-icon/search-clear-icon.box\";\r\nimport {SearchInputMobileBox} from \"./boxes/search-input-mobile/search-input-mobile.box\";\r\n// import {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\nimport {SearchIconBox} from '../search-input-pc/boxes/search-icon/search-icon.box';\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 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 }\r\n }\r\n);\r\n","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 {SearchIconBox} from \"./boxes/search-icon/search-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 GameSearchMrGreenMiniOrbitBox = styled(GameSearchDefaultBox)`\r\n min-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 { GameSearchMrGreenMiniOrbitBox } from \"./game-search-mr-green-mini-orbit.box\";\r\n\r\nexport const GameSearchBox = styledByTheme(GameSearchDefaultBox)\r\n .forMrGreenCis(GameSearchMrGreenMiniOrbitBox)\r\n .forMrGreenCip(GameSearchMrGreenMiniOrbitBox)\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 const themesIds = this.services.gamesTheme.findThemes(regEx);\r\n const vendorsIds = this.services.gamesVendor.findVendors(regEx);\r\n\r\n this.gamesSearchList.forEach((gameInfo) => {\r\n if (removeSpecialCharacters(gameInfo.title).match(regEx)\r\n || this._matchGameByTheme(gameInfo, themesIds)\r\n || this._matchGameByVendor(gameInfo, vendorsIds)) {\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 private _matchGameByTheme(gameInfo: GameInfo, themesIds: number[]) {\r\n for (let themeId of gameInfo.themeIds) {\r\n if (themesIds.includes(themeId)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private _matchGameByVendor(gameInfo: GameInfo, vendorsIds: number[]) {\r\n return vendorsIds.includes(gameInfo.vendorId)\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 let separatedBannersIds: {\r\n emptyBanners: CmsBannerId[];\r\n validBanners: CmsBannerId[];\r\n } = {\r\n emptyBanners: [],\r\n validBanners: []\r\n };\r\n\r\n bannersIds.reduce((acc, bId) => {\r\n if (bId.isValidCmsId()) {\r\n acc.validBanners.push(bId);\r\n } else {\r\n acc.emptyBanners.push(bId);\r\n }\r\n return acc;\r\n }, separatedBannersIds);\r\n\r\n let bannersIdsCollection = new BannersIdCollection(separatedBannersIds.validBanners);\r\n\r\n let bannersWithContent: ReadBannersResponse = [];\r\n if (separatedBannersIds.validBanners.length) {\r\n let cmsResponseData = await this.services.cmsApi.getBanners(separatedBannersIds.validBanners);\r\n //create definitions for bannersMap that we received some content\r\n 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([...separatedBannersIds.emptyBanners, ...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