{"version":3,"file":"static/js/orbit-main.9128e41b.chunk.js","mappings":"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IACA,KAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,oCAAqC,CACpC,KACA,MAED,uCAAwC,CACvC,KACA,MAED,2CAA4C,CAC3C,MACA,MAED,8CAA+C,CAC9C,MACA,MAED,mBAAoB,CACnB,OAED,sBAAuB,CACtB,OAED,qCAAsC,CACrC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,+CAAgD,CAC/C,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,iCAAkC,CACjC,MACA,MAED,oCAAqC,CACpC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,2CAA4C,CAC3C,MACA,MAED,gCAAiC,CAChC,MACA,KAED,mCAAoC,CACnC,MACA,KAED,uCAAwC,CACvC,MACA,KAED,0CAA2C,CAC1C,MACA,KAED,2BAA4B,CAC3B,MACA,MAED,8BAA+B,CAC9B,MACA,MAED,kCAAmC,CAClC,MACA,KAED,qCAAsC,CACrC,MACA,KAED,6BAA8B,CAC7B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,oCAAqC,CACpC,MACA,MAED,uCAAwC,CACvC,MACA,OAGF,SAAS2pU,EAAoB7nH,GAC5B,IAAI8nH,EAAoB52R,EAAEhzC,EAAK8hN,GAC9B,OAAOj/H,QAAQ2M,UAAU/3E,MAAK,WAC7B,IAAI7f,EAAI,IAAI4iD,MAAM,uBAAyBsnK,EAAM,KAEjD,MADAlqN,EAAEusU,KAAO,mBACHvsU,CACP,IAGD,IAAIiyU,EAAM7pU,EAAI8hN,GAAMtgM,EAAKqoT,EAAI,GAC7B,OAAOhnP,QAAQ+qD,IAAIi8L,EAAI92T,MAAM,GAAG/S,IAAI4pU,EAAoBhyU,IAAI6f,MAAK,WAChE,OAAOmyT,EAAoBpoT,EAC5B,GACD,CACAmoT,EAAoBhhP,KAAO,WAAa,OAAO58C,OAAO48C,KAAK3oF,EAAM,EACjE2pU,EAAoBnoT,GAAK,MACzBquE,EAAOi6O,QAAUH,C,wBChTjB,IAAI3pU,EAAM,CACT,6BAA8B,CAC7B,MACA,MAED,kCAAmC,CAClC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,kCAAmC,CAClC,IACA,KAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,oCAAqC,CACpC,KACA,MAED,qCAAsC,CACrC,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,gCAAiC,CAChC,MACA,MAED,iCAAkC,CACjC,MACA,MAED,gCAAiC,CAChC,MACA,KAED,2BAA4B,CAC3B,MACA,MAED,6BAA8B,CAC7B,MACA,OAGF,SAAS2pU,EAAoB7nH,GAC5B,IAAI8nH,EAAoB52R,EAAEhzC,EAAK8hN,GAC9B,OAAOj/H,QAAQ2M,UAAU/3E,MAAK,WAC7B,IAAI7f,EAAI,IAAI4iD,MAAM,uBAAyBsnK,EAAM,KAEjD,MADAlqN,EAAEusU,KAAO,mBACHvsU,CACP,IAGD,IAAIiyU,EAAM7pU,EAAI8hN,GAAMtgM,EAAKqoT,EAAI,GAC7B,OAAOD,EAAoBhyU,EAAEiyU,EAAI,IAAIpyT,MAAK,WACzC,OAAOmyT,EAAoBpoT,EAC5B,GACD,CACAmoT,EAAoBhhP,KAAO,WAAa,OAAO58C,OAAO48C,KAAK3oF,EAAM,EACjE2pU,EAAoBnoT,GAAK,MACzBquE,EAAOi6O,QAAUH,C,wBCtGjB,IAAI3pU,EAAM,CACT,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,KACA,MAED,WAAY,CACX,KACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,OAED,WAAY,CACX,OAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,KAED,WAAY,CACX,MACA,KAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,KAED,WAAY,CACX,MACA,KAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,OAGF,SAAS2pU,EAAoB7nH,GAC5B,IAAI8nH,EAAoB52R,EAAEhzC,EAAK8hN,GAC9B,OAAOj/H,QAAQ2M,UAAU/3E,MAAK,WAC7B,IAAI7f,EAAI,IAAI4iD,MAAM,uBAAyBsnK,EAAM,KAEjD,MADAlqN,EAAEusU,KAAO,mBACHvsU,CACP,IAGD,IAAIiyU,EAAM7pU,EAAI8hN,GAAMtgM,EAAKqoT,EAAI,GAC7B,OAAOhnP,QAAQ+qD,IAAIi8L,EAAI92T,MAAM,GAAG/S,IAAI4pU,EAAoBhyU,IAAI6f,MAAK,WAChE,OAAOmyT,EAAoBpoT,EAC5B,GACD,CACAmoT,EAAoBhhP,KAAO,WAAa,OAAO58C,OAAO48C,KAAK3oF,EAAM,EACjE2pU,EAAoBnoT,GAAK,MACzBquE,EAAOi6O,QAAUH,C","sources":["app-react/basic-components/blank-separator/blank-horizontal-separator.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.default.box.ts","app-react/basic-components/loading-dots/boxes/loading-dot.box.ts","app-react/basic-components/loading-dots/boxes/loading-dots.box.ts","app-react/basic-components/loading-dots/loading-dots.component.tsx","app-react/basic-components/lobby-grid/lobby-grid.default.box.ts","app-react/basic-components/lobby-grid/lobby-grid.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.default.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.casino777.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.siCis.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.box.ts","app-react/basic-components/main-screen/main-screen.component.tsx","app-react/basic-components/space-between-items-consts.ts","app-react/basic-ui-components/button/base/boxes/button.box.ts","app-react/basic-ui-components/button/base/boxes/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.delaware.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.box.ts","app-react/basic-ui-components/button/base/button-hover-colors-helpers.ts","app-react/basic-ui-components/button/base/button.component.tsx","app-react/basic-ui-components/form/select.component.tsx","app-react/basic-ui-components/icon/svg-icon/svg.icon.tsx","app-react/basic-ui-components/x-close-button/x-close-button.box.ts","app-react/components/orbit-swiper/swiper-window.component.tsx","app-react/components/arena-games-lists/arena-games-lists.component.tsx","app-react/react-hooks/use-is-in-viewport.hook.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/css-constants.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-open-at.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.defatult.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cip.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino.navbar.mrgreenCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/css-constants.ts","app-react/components/arena-host/seo-bread-crumbs/seo-breadcrumbs-container.box.ts","app-react/components/arena-host/seo-bread-crumbs/seo-bread-crumbs.component.tsx","app-react/components/balance-box/balance-value.component.tsx","app-react/components/admin-banner/boxes/admin-banner-wrapper.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-play/voucher-card-css-constants.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.default.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-click.box.ts","app-react/components/free-to-play-animated-icon/free-to-play-animated-icon.component.tsx","app-react/components/game-item/boxes/game-item-container.box.ts","app-react/components/game-item/boxes/game-item-img-wrapper.box.ts","app-react/components/game-item/boxes/game-item-fp-thumb.box.ts","app-react/components/game-item/boxes/game-item-delimiter.box.ts","app-react/components/game-item/boxes/game-item-details-wrapper.box.ts","app-react/components/game-item/boxes/game-item-title.box.ts","app-react/components/game-item/boxes/game-item-jackpot.box.ts","app-react/components/game-item/boxes/game-item-buttons-area.box.ts","app-react/components/game-item/game-item.component.tsx","app-react/components/game-jackpot/boxes/root/game-jackpot.default.box.ts","app-react/components/game-jackpot/boxes/root/game-jackpot.si.box.ts","app-react/components/game-jackpot/boxes/root/game-jackpot.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.default.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.si.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.mrgreen.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.siCis.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.box.ts","app-react/components/game-jackpot/game-jackpot.component.tsx","app-react/components/game-window/game-css-constants.ts","app-react/components/game-window/header-bar/common/boxes/close-game-button/game-header-bar-close-button.box.ts","app-react/components/geo/boxes/geo-modal-wrapper.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.default.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.si.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.cis.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.box.ts","app-react/components/header/header-consts.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.default.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.mrgreen.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.default.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.box.ts","app-react/components/header/gambling-warning/gambling-warning.component.tsx","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.default.box.ts","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.box.ts","app-react/components/header/responsible-icons/responsible-icons.component.tsx","app-react/components/header/top-header-left/regulatory-data/regulatory-data.component.tsx","app-react/components/header/welcome-buttons/header-welcome-buttons-helpers.tsx","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.default.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.harrahs.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.box.ts","app-react/components/header/welcome-buttons/anonymous-user/header-welcome-buttons-for-anonymous-user.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/mobile-container/mobile-container.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/icon/user-icon.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/bankroll/user-bankroll.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.default.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.si.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.box.ts","app-react/components/header/welcome-buttons/authorized-user/mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/pc-container/pc-container.box.ts","app-react/components/header/buttons/cashier-button/header-cashier-button.component.tsx","app-react/components/header/welcome-buttons/authorized-user/pc-view/header-welcome-buttons-for-authorized-user-pc-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/header-welcome-buttons-for-authorized-user.component.tsx","app-react/components/header/welcome-buttons/boxes/header-welcome-buttons.box.ts","app-react/components/header/welcome-buttons/header-welcome-buttons.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.consts.ts","app-react/components/link-to-offer/boxes/link-to-offer-base/link-to-offer-box-base.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.default.box.ts","app-react/components/link-to-offer/link-to-offer.component.tsx","app-react/components/lobby-header/boxes/lobby-header.default.box.ts","app-react/components/lobby-header/boxes/lobby-header.casino777.box.ts","app-react/components/lobby-header/boxes/lobby-header.si.box.ts","app-react/components/lobby-header/boxes/lobby-header.mrgreen.box.ts","app-react/components/lobby-header/boxes/lobby-header.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.default.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.si.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.mrgreen.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.default.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.casino777.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.mrgreen.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-buttons-container.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.default.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.777.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.mrgreen.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.container.box.ts","app-react/components/lobby-header/lobby-header.component.tsx","app-react/components/lottie-player/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/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/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/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/games-filter/games-filter.service.interface.ts","app-react/services/gaming-history/gaming-history-type.ts","app-react/services/gnwp/gnwp-consts.ts","app-react/services/media-query/breakpoints.ts","app-react/services/media-query/media-query-builder.ts","app-react/services/media-query/media-queries.ts","app-react/services/menu-item-action-factory/custom-actions/about-dialog.action.ts","app-react/services/menu-item-action-factory/custom-actions/cashier-upload-documents.action.ts","app-react/services/menu-item-action-factory/custom-actions/chat.action.ts","app-react/services/menu-item-action-factory/custom-actions/com-points.action.ts","app-react/services/menu-item-action-factory/custom-actions/control-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/deposit.action.ts","app-react/services/menu-item-action-factory/custom-actions/game-reminders.action.ts","app-react/services/menu-item-action-factory/custom-actions/help-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/hybrid-info.action.ts","app-react/services/menu-item-action-factory/custom-actions/inactivity-timeout-settings.action.ts","app-react/services/menu-item-action-factory/custom-actions/install-pwa.action.ts","app-react/services/menu-item-action-factory/custom-actions/loyalty-indicator.action.ts","app-react/services/menu-item-action-factory/custom-actions/my-club.action.ts","app-react/services/menu-item-action-factory/custom-actions/push-notifications-permissions-request.action.ts","app-react/services/menu-item-action-factory/custom-actions/reverse-withdrawal.action.ts","app-react/services/menu-item-action-factory/custom-actions/sign-up.action.ts","app-react/services/menu-item-action-factory/custom-actions/test-regulation-specific.action.ts","app-react/services/menu-item-action-factory/custom-actions/time-spent-reminder.action.ts","app-react/services/menu-item-action-factory/custom-actions/touch-id.action.ts","app-react/services/menu-item-action-factory/custom-actions/transaction-history.action.ts","app-react/services/menu-item-action-factory/menu-item-action-base.ts","app-react/services/menu-items-common/renderer/menu-item-renderer-base.ts","app-react/services/pixi-app/animated-icon-base-service.service.ts","app-react/services/pixi-app/pixi-spine-animation.ts","app-react/components/side-menu-rework/side-menu-items/deposit-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/deposit-side-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/loyalty-indicator-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/signup/signup-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/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/themes/architecture/asset.ts","app-react/themes/architecture/by-theme-registry.ts","app-react/themes/architecture/css-helpers/css-rule.ts","app-react/themes/architecture/css-helpers/flex.ts","app-react/themes/architecture/gray-colors.ts","app-react/themes/architecture/sections/theme-layout.interface.ts","app-react/themes/architecture/styled-by-device.tsx","app-react/themes/architecture/styled-by-theme.tsx","app-react/themes/architecture/theme-names.ts","app-react/themes/assets.ts","app-react/themes/defaults/icons/info.icon.tsx","app-react/themes/defaults/icons/search.icon.tsx","app-react/themes/definitions/casino777/base-colors.ts","app-react/themes/definitions/casino888/cis/base-colors.ts","app-react/themes/definitions/harrahs/base-colors.ts","app-react/themes/definitions/mrgreen/base-colors.ts","app-react/themes/definitions/si/base-colors.ts","app-react/themes/definitions/si/cis/base-colors.ts","app-react/themes/hex-to-rgba.ts","common/const/ab-testing-names.ts","common/const/casinofied-analytics-consts.ts","common/const/free_play_consts.ts","common/const/game_groups_consts.ts","common/const/jackpot_map_ids.ts","common/const/migration_consts.ts","common/const/responsible-gaming.ts","common/const/service-worker-constants.ts","common/const/state-of-residence-cookie_const.ts","common/const/temp_account_status.ts","common/const/wallet_balance_type.ts","common/cy-classes.ts","common/enums/game-childish-icon-mode.enum.ts","common/interfaces/orbit-component-to-sdk-adapter/components-props/time-spent-reminder-options.ts","common/utils/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/restrictions/no-game-restriction.ts","app-react/services/games/game-info.tsx","app-react/services/configurations/inject-admin-arenas.ts","app-react/services/games/games.service.ts","app-react/services/configurations/configurations.service.ts","common/const/ai-trending-list-ids-map.ts","app-react/services/user/user.service.ts","app-react/services/browser-buttons-handler/browser-buttons-handler.service.ts","app-react/services/segmentation-aggregator/segmentation-aggregator.service.ts","app-react/services/client-device/features/client-device.features.ts","app-react/services/client-device/detected/client-device.detected.ts","app-react/services/client-device/client-device.service.ts","app-react/services/device/device.service.ts","app-react/consts/seo-categories.ts","app-react/services/ai-engine/ai-engine.service.ts","app-react/services/deep-link/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.box.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.casino777.box.ts","app-react/components/single-game/video-template/single-game-video-template.component.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.default.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.box.ts","app-react/components/single-game/regular-template/single-game-regular-template.component.tsx","utils/css-class-name-builder.ts","app-react/components/single-game/jackpot-template/boxes/game/game.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game/game.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/jackpot-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/jackpot-template/single-game-jackpot-template.component.tsx","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.box.ts","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.default.box.ts","app-react/components/single-game/live-template/single-game-live-template.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/video-sound-button.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/video-tile-overlay.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.mrgreen.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video.box.ts","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/video.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile-skeleton.defaultbox.ts","app-react/components/single-game/single-game-skeleton.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-thumbnail-image/video-thumbnail-image.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section-default.box.ts","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box.tsx","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/video-tile-footer.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/video-tile.component.tsx","app-react/components/single-game/video-template/boxes/video-item-container.box.ts","app-react/components/single-game/video-template/boxes/video-item-container-default.box.ts","app-react/components/single-game/single-game.component.tsx","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.default.box.ts","app-react/services/jackpots/jackpots.service.interface.ts","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.default.box.ts","app-react/components/single-game-placeholder/single-game-placeholder.component.tsx","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.casino777.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.siCis.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.default.box.ts","app-react/components/orbit-swiper/orbit-swiper.component.tsx","app-react/components/recently-played/recently-played.component.tsx","app-react/services/arenas/models/lists/games-list-base.model.tsx","app-react/components/game-list-title/constants.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.default.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.wsop.cip.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.cis.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.default.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.box.ts","app-react/components/jackpot-widget/boxes/bg/jackpot-widget-bg.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.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/basic-ui-components/layout/spacer.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.box.tsx","app-react/components/game-list-title/boxes/list-title-text/list-title-text.default.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.casino777.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cip.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.si.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.siCis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.default.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.casino777.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cip.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.siCis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.box.ts","app-react/components/game-list-title/game-list-title.component.tsx","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.default.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.casino777.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/button/swiper-button.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons.tsx","app-react/services/arenas/models/swiper-logic-handler/swipe-logic-handler.ts","app-react/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/services/arenas/models/lists/live-casino/live-casino-list.model.tsx","app-react/components/because-you-played/because-you-played.component.tsx","app-react/services/arenas/models/lists/because-you-played/because-you-played-list.model.tsx","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.default.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.default.box.ts","app-react/services/arenas/models/swiper-logic-handler/live-stream-swipe-logic-handler.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box.ts","app-react/components/video-list-component/video-list.component.tsx","app-react/services/arenas/models/lists/video-list/default-video-list.model.tsx","app-react/services/arenas/models/lists/video-list/live-streaming-video-list.model.tsx","app-react/services/user-game-orientation/user-game-orientation.service.interface.ts","app-react/services/arenas/models/lists/video-list/static-video-list.model.tsx","app-react/services/arenas/models/lists/list-factory.ts","app-react/services/arenas/models/arenas/arena-base.model.tsx","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.si.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.box.ts","app-react/components/home-page-header-arenas/home-page-header-arena-tile.component.tsx","app-react/components/home-page-header-arenas/home-page-header-arenas.component.tsx","app-react/components/home-page/boxes/home-page-top-banner-background.box.ts","app-react/components/home-page/boxes/home-page-top-banner-divider-line.ts","app-react/components/home-page/home-page.component.tsx","app-react/services/arenas/models/arenas/home-page/home-page-arena.model.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/arena-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/title/pc-game-preview-title.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/game-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component.tsx","app-react/components/arena-host/casino-arena/casino-arena.template-types.ts","app-react/components/arena-host/casino-arena/casino-arena.component.tsx","app-react/services/arenas/models/filters-configuration-to-map.ts","app-react/services/games-filter/evaluators/game-filter-evaluator.interface.ts","app-react/services/games-filter/strategies/games-filter-strategy-base.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.default.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.mrgreen.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.si.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category-content.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-Item.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/input.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/sub-filters.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-item.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category-content.component.tsx","app-react/components/filters/advanced-filtering/filter-category/boxes/title-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/preview.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-header.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category.component.tsx","app-react/components/filters/advanced-filtering/filter-categories-list/filter-categories-list.component.tsx","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.default.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.mrgreen.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.si.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.default.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.mrgreen.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.si.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-header.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-button.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/filter-by.box.ts","app-react/components/filters/advanced-filtering/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-vendor/game-vendor-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/game-theme/game-theme-id.enum.ts","app-react/services/games-filter/filters-definitions/game-group-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/craps.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/keno.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lunge.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-shows.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/roulette.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/scratchcards.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/slots.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/other-game-group.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-roulette.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-group.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/theme/game-theme.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-theme.filters-category-definition.ts","app-react/services/storage/local-storage-keys.ts","app-react/services/games-filter/filters-categories-definitions/filter-category-definition-factory.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-games-filter.strategy.tsx","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.default.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.casino777.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.si.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.mrgreen.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.box.ts","app-react/components/filters/filter-link/boxes/filter-link.default.box.ts","app-react/components/filters/filter-link/boxes/filter-link.casino777.box.ts","app-react/components/filters/filter-link/boxes/filter-link.si.box.ts","app-react/components/filters/filter-link/boxes/filter-link.mrgreen.box.ts","app-react/components/filters/filter-link/boxes/filter-link.box.ts","app-react/components/filters/filter-link/filter-link.component.tsx","app-react/components/filters/filter-link-list/filters-games-list.default.box.ts","app-react/components/filters/filter-link-list/filters-games-list.box.ts","app-react/components/filters/filter-link-list/filter-link-list.component.tsx","app-react/components/filters/filters-games-list-mobile/boxes/popup/filters-games-mobile-popup.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/popup/menu/filters-mobile-buttons.default.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/popup/menu/filters-mobile-buttons.box.ts","app-react/components/filters/filters-games-list-mobile/filters-games-list-mobile.component.tsx","app-react/services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor.ts","app-react/services/games-filter/filters-definitions/other/other.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/other.filters-category-definition.ts","app-react/services/games-filter/arena-filters/filters/static-arena-game-filter.ts","app-react/services/games-filter/arena-filters/categories/static-arena-game-filters-category.ts","app-react/components/filters/filters-games-list-pc/boxes/filters-game-list-pc.default.box.ts","app-react/components/filters/filters-games-list-pc/boxes/filters-game-list-pc.box.ts","app-react/components/filters/filters-games-list-pc/filters-games-list-pc.component.tsx","app-react/services/games-filter/arena-filters/filters/adhoc-arena-game-filter.ts","app-react/services/games-filter/filters-definitions/company/company.filter-definitions.ts","app-react/services/games-filter/arena-filters/categories/adhoc-arena-games-filters-category.ts","app-react/services/games-filter/strategies/simple-games-filter/simple-games-filter.strategy.tsx","app-react/services/arenas/models/arenas/casino-lobby/casino-lobby-arena.model.tsx","app-react/services/arenas/models/arenas/void-arena/void-arena.model.ts","app-react/services/arenas/models/lists-sort-order-storage.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar-button.component.tsx","app-react/components/arena-host/new-live-casino-arena/new-live-casino-arena.component.tsx","app-react/services/arenas/models/arenas/new-live-casino/new-live-casino-arena.model.tsx","app-react/services/arenas/models/arenas/live-casino/live-casino-arena.model.tsx","app-react/services/arenas/arenas.service.tsx","app-react/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.tsx","app-react/services/sitemap/breadcrumbs/non-navigatable-breadcrumb.tsx","app-react/services/sitemap/breadcrumbs/navigatable-breadcrumb.tsx","app-react/services/sitemap/sitemap-node.ts","app-react/services/sitemap/sitemap.service.ts","app-react/services/marketing/marketing.service.ts","app-react/services/language/language-switcher/language-switcher-item.ts","app-react/services/language/language-switcher/language-switcher-section.ts","app-react/services/language/language-switcher/selected-language-switcher-item.ts","app-react/services/language/language.service.ts","app-react/services/side-menu/menu-items/side-menu-item-config-reader.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-image.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-pre-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/generic-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/generic-side-menu-item.renderer.tsx","app-react/services/side-menu/side-menu.service.ts","app-react/services/game-search/game-search-result.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title-mr-green-mini-orbit.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.box.ts","app-react/components/game-search/search-result/search-box-title/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.casino888.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.ballysdover.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.delawarepark.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.harrington.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-arena.si.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreen.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.box.ts","app-react/components/game-search/search-input/search-input-area/search-input-area.tsx","app-react/components/game-search/search-input/search-input-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.mrgreen.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.mrgreenCis.box.ts","app-react/components/game-search/boxes/game-search-box/game-search.box.ts","app-react/components/game-search/game-search.component.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-default-config-reader.ts","app-react/services/game-search/game-search.service.tsx","app-react/services/external-links/external-links.service.ts","app-react/services/cms/cms-api/cms-api.service.ts","app-react/components/cms-banner/banner-content/banner-content.component.tsx","app-react/services/cms/cms-banners/banner-definition/banner-definition.tsx","app-react/services/cms/cms-banners/cms-banners.service.ts","app-react/services/cms/cms-pages/cms-pages.service.ts","app-react/services/cms/cms-segmentation/cms-segmentation.service.ts","app-react/services/deep-link/unified/deep-link-action-factory/unified-deep-link-action.ts","app-react/services/deep-link/unified/deep-link-action-factory/deep-link-actions-factory-unified.strategy.ts","app-react/services/deep-link/legacy/deep-link-actions/casino-legacy-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/cashier/cashier-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/register/register-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/login/login-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/my-account/my-account-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-real/play-game-real-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-demo/play-game-demo-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/redirect/redirect-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/terminate/terminate-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/upload-document/my-account-upload-document-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/free-to-play/free-to-play-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/open-list/open-list-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/freeplay/freeplay-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/control-center/control-center-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/forgot-password/forgot-password.deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-action-factory/deep-link-actions-factory-legacy.strategy.ts","app-react/services/deep-link/deep-link-action-factory/deep-link-actions-factory.service.ts","app-react/services/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-content.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-buttons-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-button.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog-button.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-icon-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog.component.tsx","app-react/services/dialog/dialog.service.tsx","app-react/services/cross-brands/cross-brands-item-config-reader.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.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/balance-box/balance-box-buttons/boxes/button-wrapper.box.ts","app-react/components/vertical-games-list/boxes/game-image.box.ts","app-react/components/vertical-games-list/css-classes.ts","app-react/components/vertical-games-list/boxes/game-details-name.box.ts","app-react/components/vertical-games-list/boxes/game-details-jp.box.ts","app-react/components/vertical-games-list/vertical-games-list-game.component.tsx","app-react/components/vertical-games-list/boxes/header-title.box.ts","app-react/components/vertical-games-list/boxes/header-close.box.ts","app-react/components/vertical-games-list/boxes/dj-widget.box.ts","app-react/components/vertical-games-list/vertical-games-list.component.tsx","app-react/services/vertical-games-list/vertical-games-list.service.tsx","app-react/services/user-game-orientation/user-game-orientation.service.ts","app-react/services/api/api-controller-base.ts","app-react/services/api/api.service.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-option-selector.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.default.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.casino777.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-selector-container.box.ts","app-react/services/external-links/external-links-z-indexes.ts","app-react/components/geo/geo-permission-popup/geo-permission-popup.component.tsx","app-react/components/time-spent-reminder/with-balance/boxes/tsr-with-balance.box.ts","app-react/components/time-spent-reminder/with-balance/time-spent-reminder-with-balance.component.tsx","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header-title-wrapper.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-game-details.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster-background.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-title.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-message.box.ts","app-react/components/idle-recommendation/idle-recommendation.component.tsx","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list-item.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-colored-text.box.ts","app-react/components/geo/geo-install-plugin/geo-install-plugin-popup-component.tsx","app-react/components/geo/geo-freeze/geo-freeze-popup.component.tsx","app-react/components/temp-account-popup/boxes/temp-account-popup.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-number.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-text.box.ts","app-react/components/temp-account-popup/temp-account-popup.component.tsx","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-footer-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-dialog.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-info-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/help-option.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/init-biometric-dialog.component.tsx","app-react/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/components/spinner/boxes/spinner-brand/spinner-brand.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.casino777.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cip.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cis.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.mrgreen.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.box.ts","app-react/components/spinner/boxes/spinner/spinner.box.ts","app-react/components/spinner/boxes/spinner/spinner.default.box.ts","app-react/services/casinofied/app-launcher/apps/spinner/drawer-spinner.tsx","app-react/services/casinofied/app-launcher/apps/inside-drawer.application.tsx","app-react/services/casinofied/app-launcher/apps/chat/chat.application.ts","app-react/services/casinofied/app-launcher/casinofied-app-sdk-loader.ts","app-react/services/casinofied/app-launcher/components/casinofied-component-base.ts","app-react/services/casinofied/app-launcher/components/casinofied-bubble.component.tsx","app-react/services/casinofied/app-launcher/apps/adapters/unified-cashier-zoid-adapter.ts","app-react/services/casinofied/app-launcher/apps/deposit-widget/deposit-widget.application.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-title/payment-redirect-focus-title.box.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-title/payment-redirect-focus-title.default.box.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-container/payment-redirect-focus.box.ts","app-react/components/payments-redirect-focus/payments-redirect-focus.component.tsx","app-react/services/casinofied/app-launcher/apps/payments-redirect/payments-redirect.application.tsx","app-react/services/casinofied/app-launcher/apps/full-cashier/full-cashier.application.ts","app-react/services/casinofied/app-launcher/apps/cashout-widget/cashout-widget.application.ts","app-react/services/casinofied/app-launcher/apps/transaction-history/transaction-history.application.ts","app-react/services/casinofied/app-launcher/apps/customer-relations/customer-relations.application.ts","app-react/services/casinofied/app-launcher/apps/free-to-play-bonus-games/free-to-play-bonus-games.application.ts","app-react/services/casinofied/app-launcher/apps/help-centre/help-centre.application.ts","app-react/services/casinofied/app-launcher/apps/control-center/init-params-helper.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-full.application.ts","app-react/services/control-center/control-center.service.interface.ts","app-react/services/analytics/analytics-data-layer.service.interface.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-mini.application.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-analytics-helper.ts","app-react/services/casinofied/app-launcher/casinofied-app-factory.ts","app-react/services/casinofied/app-launcher/casinofied-app-launcher.service.ts","app-react/services/casinofied/action-handler/action-handler-base.ts","app-react/services/casinofied/action-handler/handlers/open-banking.action-handler.ts","app-react/services/casinofied/action-handler/handlers/upload-documents-from-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-deposit.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-withdraw.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-chat.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link-with-form-post.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-full.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/logout.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-help-center.action-handler.ts","app-react/services/casinofied/action-handler/handlers/login.action-handler.ts","app-react/services/casinofied/action-handler/handlers/registration.action-handler.ts","app-react/services/casinofied/action-handler/handlers/transaction-history.action-handler.ts","utils/case-insensitive-property-reader.ts","app-react/services/casinofied/action-handler/handlers/open-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-challenges.action-handler.ts","app-react/services/casinofied/action-handler/handlers/navigate-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-my-account.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-rich.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-mini.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-game.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-forgot-your-password.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-free-to-play.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-online-help.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/limits-toaster/limits-toaster.service.ts","app-react/services/regulation/legacy-regulation-wrapper.ts","app-react/services/regulation/germany/components/germany.regulation-components.tsx","app-react/services/regulation/germany/germany-regulation.ts","app-react/services/external-links/handlers/registration/regulations/michigan/michigan.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/michigan/michigan.external-links-handlers-factory.ts","app-react/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/regulation/denmark/components/denmark.regulation-components.tsx","app-react/services/regulation/denmark/denmark-regulation.ts","app-react/services/regulation/delaware/components/delaware.regulation-components.tsx","app-react/services/regulation/delaware/delaware.regulation.ts","app-react/services/regulation/regulation.service.ts","app-react/services/burnout/player-burnout.service.ts","app-react/services/player-offerings/player-offerings/offers/offer-base.ts","app-react/services/player-offerings/player-offerings/offers/welcome-offer.tsx","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-shell.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-colors.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-wrapper.box.ts","app-react/components/wheel-of-fortune/wheel-of-fortune.component.tsx","app-react/services/player-offerings/player-offerings/offers/wheel-of-fortune-offer.tsx","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.box.ts","app-react/services/player-offerings/player-offerings/offers/registration-offer.tsx","app-react/services/player-offerings/player-offerings.service.tsx","app-react/services/pixi-app/pixi-app-creator.ts","app-react/services/pixi-app/pixi-app.service.ts","app-react/services/free-play/providers/3rdparty/third-party-vouchers.provider.ts","app-react/services/game-animated-icons-manager/game-animated-icons-manager.service.ts","app-react/services/webgl-context-manager/webgl-context-manager.service.ts","app-react/services/exit-popup/exit-popup-consts.ts","app-react/services/exit-popup/exit-popup.service.tsx","app-react/services/tooltip/tooltip-base.service.ts","app-react/services/tooltip/tooltip-base/tooltip-modifiers.ts","app-react/services/tooltip/tooltip-base/tooltip-base.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltip.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltips.service.ts","app-react/services/gaming-history/models/paginator/history-paginator-base.model.ts","app-react/services/gaming-history/models/record/history-record-base.model.ts","app-react/services/gaming-history/models/record/user-gaming-history-record.model.ts","app-react/services/gaming-history/models/record/migrated-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/migrated-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/void-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/user-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/record/session-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/session-gaming-history-paginator.model.ts","app-react/services/gaming-history/gaming-history.service.ts","app-react/services/companies/companies.service.ts","app-react/services/because-you-played/because-you-played.service.ts","app-react/services/game-runner/running-game-browser-tab-controller.ts","app-react/services/game-runner/loading-indicators/game-loading-indicator-base.model.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/root/hybrid-embedded-game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/header/hybrid-embedded-game-loading-indicator-header.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/content/hybrid-embedded-game-loading-indicator-content.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/spinner/hybrid-embedded-game-loading-indicator-spinner.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/progress/hybrid-embedded-game-loading-indicator-progress.box.ts","app-react/themes/defaults/icons/loading-circle-large.icon.tsx","app-react/components/game-window/loading-indicators/hybrid-embedded/hybrid-embedded-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/hybrid-embedded-game-loading-indicator.model.tsx","app-react/components/game-window/loading-indicators/web-app/web-app-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/web-app-game-loading-indicator.model.tsx","app-react/services/game-runner/game-runner.service.ts","app-react/services/hybrid/hybrid.service.ts","app-react/services/video-live-stream/static-video-playing.service.ts","app-react/services/storage/session-storage.service.ts","app-react/services/storage/cookies.service.ts","app-react/services/free-play/free-play-game/free-play-game.model.ts","app-react/services/free-play/vouchers/voucher-base.model.ts","app-react/services/free-play/vouchers/free-play/free-play-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-play/jackpot-free-play-voucher.model.ts","app-react/services/free-play/vouchers/free-spins/free-spins-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-spins/jackpot-free-spins-voucher.model.ts","app-react/services/free-play/providers/vouchers-provider-base.ts","app-react/services/free-play/providers/888/888-free-play-vouchers.provider.ts","common/interfaces/crm-sdk-lib.interface.ts","app-react/services/free-play/free-play.service.ts","app-react/services/restrictions/restrictions.service.ts","app-react/services/free-to-play/free-to-play.service.ts","app-react/services/gnwp/gnwp.service.ts","app-react/services/scrip-loader/script-loader.service.ts","app-react/services/admin-banner/admin-banner.service.ts","app-react/services/session-timer/session-timer.service.ts","app-react/services/geo-location/geo-location.service.ts","app-react/services/crm/crm.service.ts","app-react/services/specific-dialogs/specific-dialogs.service.interface.ts","app-react/components/lugas/boxes/line-box.ts","app-react/components/lugas/lugas-active-popup.component.tsx","app-react/components/login-popup/boxes/login-popup.box.ts","app-react/components/login-popup/boxes/login-popup-dialog-text.box.ts","app-react/components/login-popup/login-popup.component.tsx","app-react/basic-ui-components/form/toggle-switch/boxes/checkbox/toggle-switch-checkbox.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/slider/toggle-switch-slider.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/toggle-switch.box.ts","app-react/basic-ui-components/form/toggle-switch/toggle-switch.component.tsx","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-dialog.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-info-section/modify-biometric-info-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-toggle-section/modify-biometric-toggle-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/modify-biometric-dialog.component.tsx","app-react/services/specific-dialogs/specific-dialogs.service.tsx","app-react/services/tipping-history/models/tipping-history-view-model.ts","app-react/services/tipping-history/tipping-history.service.ts","app-react/services/loyalty-indicator/models/loyalty-indicator.model.ts","app-react/services/loyalty-indicator/loyalty-indicator.service.ts","app-react/components/state-popup/boxes/state-popup-wrapper.box.ts","app-react/components/state-popup/state-popup.component.tsx","app-react/components/state-popup/boxes/state-popup-error-message.box.ts","app-react/components/state-popup/boxes/state-popup-select-wrapper.box.ts","app-react/components/state-popup/state-popup-with-dropdown.component.tsx","app-react/services/state-of-residence-identifier/state-popup-strategies-consts.ts","app-react/services/state-of-residence-identifier/state-popup-strategies.ts","app-react/services/state-of-residence-identifier/state-of-residence-identifier.service.tsx","app-react/services/login-popup/login-popup.service.ts","app-react/services/onboarding-tour/steps/welcome.step.ts","app-react/services/onboarding-tour/geometry.helper.ts","app-react/services/onboarding-tour/steps/main-menu.step.ts","app-react/services/onboarding-tour/steps/user-menu.step.ts","app-react/services/features-toggle-management/FeatureId.ts","utils/rem-to-px.ts","app-react/services/onboarding-tour/onboarding-tour.service.ts","app-react/services/nyx/nyx.service.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip.model.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/text-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.777.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/seperator.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/icon-title-text.tooltip.tsx","app-react/services/tooltip/on-boarding-tooltip/free-play/free-play.on-boarding-tooltip.model.tsx","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/icon-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/ios-add-to-home-share-icon.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/message-body-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/ios-add-to-home.component.tsx","app-react/services/tooltip/on-boarding-tooltip/pwa/ios-pwa.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/control-center/control-center.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltips.service.ts","app-react/services/player-migration/player-migration.service.ts","app-react/services/toaster/toasts-queue.ts","app-react/services/toaster/toast-helpers/toast-classnames.helper.ts","app-react/components/toaster/toasts-content/boxes/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/components/profile-box-messages-indicator/consts/indicator-layout.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/service-factory.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino888.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrington.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.ballysdover.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.wsop.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrahs.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.si.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.mrgreen.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.delaware.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.box.ts","app-react/components/user-menu/logo-box/logo-box.component.tsx","app-react/components/user-info/user-info.component.tsx","app-react/components/profile-box/profile-picture/boxes/profile-picture.box.ts","app-react/components/profile-box/profile-picture/boxes/profile-user-name.box.ts","app-react/components/profile-box/profile-picture/boxes/profile-picture-image.box.ts","app-react/components/profile-box/profile-picture/profile-picture.component.tsx","app-react/components/profile-box-messages-indicator/boxes/indicator.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-badge.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-text.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper-default.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper.777.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper.box.ts","app-react/components/profile-box-messages-indicator/profile-box-messages-indicator.component.tsx","app-react/components/profile-box-messages-indicator/indicators/omg-indicator.component.tsx","app-react/components/profile-box-messages-indicator/indicators/freeplay-indicator.component.tsx","app-react/components/profile-box/boxes/profile-messages-divider.box.ts","app-react/components/profile-box/boxes/profile-buttons.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.default.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.casino777.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.casino888.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.ballysdover.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.harrington.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.wsop.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.harrahs.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.mrgreen.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.default.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.wsop.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.harrahs.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.mrgreen.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.box.ts","app-react/components/profile-box/boxes/profile-wrapper.box.ts","app-react/components/profile-box/boxes/profile-box-messages/profile-messages.box.ts","app-react/components/profile-box/profile-box.component.tsx","app-react/components/side-menu/store-button/store-button.component.tsx","app-react/components/side-menu/boxes/menu-links-groups-container.box.ts","app-react/components/side-menu/boxes/side-menu-container.box.ts","app-react/components/side-menu/boxes/mobile-menu-item-container.box.ts","app-react/components/side-menu/boxes/mobile-menu-item-link.box.ts","app-react/components/side-menu/mobile-help-menu-item/mobile-help-center-menu-item.component.tsx","app-react/components/side-menu/mobile-lang-switcher-menu-item/boxes/mobile-lang-switcher-menu-item-selected-lang.box.ts","app-react/components/side-menu/mobile-lang-switcher-menu-item/boxes/mobile-lang-switcher-container.box.ts","app-react/components/side-menu/boxes/mobile-language-menu-item.box.ts","app-react/components/side-menu/mobile-lang-switcher-menu-item/mobile-lang-switcher-menu-item.component.tsx","app-react/components/side-menu/horizontal-ruler/side-menu-horizontal-line.box.ts","app-react/components/side-menu/boxes/mobile-menu-items-container.box.ts","app-react/components/header/top-header-right/state-selector-button/state-selector-button.component.tsx","app-react/components/side-menu/mobile-state-selector-menu-item/mobile-state-selector-menu-item.component.tsx","app-react/components/main-nav/boxes/related-sites/boxes/related-sites-wrapper.box.ts","app-react/components/main-nav/boxes/related-sites/boxes/related-site-link.box.ts","app-react/components/main-nav/boxes/related-sites/related-site.component.tsx","app-react/components/main-nav/boxes/related-sites/related-sites.component.tsx","app-react/components/side-menu/side-menu.component.tsx","app-react/components/language-switcher-dropdown/boxes/language-switcher-dropdown.default.box.ts","app-react/components/language-switcher-dropdown/boxes/language-switcher-dropdown.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/language-switcher-section-list.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/language-switcher-section-list.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-title/language-switcher-section-title.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-title/language-switcher-section-title.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/language-switcher-section-list-item.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/language-switcher-section-list-item.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-label/language-switcher-item-label.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-label/language-switcher-item-label.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-checkbox/language-switcher-item-checkbox.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-checkbox/language-switcher-item-checkbox.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/language-switcher-section.component.tsx","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-separator/language-switcher-section-separator.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-separator/language-switcher-section-separator.box.ts","app-react/components/language-switcher-dropdown/language-switcher-dropdown.component.tsx","app-react/components/main-nav/boxes/mobile/mobile-menu-header.default.box.ts","app-react/components/main-nav/boxes/mobile/mobile-menu-header.si.box.ts","app-react/components/main-nav/boxes/mobile/mobile-menu-header.box.ts","app-react/components/main-nav/boxes/mobile/back/mobile-back.box.ts","app-react/components/main-nav/boxes/mobile/back/mobile-back-label.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.default.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.casino777.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.si.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.mrgreen.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.box.ts","app-react/components/main-nav/boxes/main-nav.box.ts","app-react/components/main-nav/boxes/main-nav-content-wrapper.box.ts","app-react/components/main-nav/boxes/main-nav-menu.box.ts","app-react/components/main-nav/main-nav.component.tsx","app-react/components/loyalty-bar/loyalty-bar.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/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.box.ts","app-react/components/user-menu/mini-control-center/mini-control-center.component.tsx","app-react/components/user-menu/user-menu/boxes/user-menu-scroll-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-fake-ios-padding.box.ts","app-react/components/user-menu-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/user-menu/user-menu-mobile.component.tsx","app-react/components/welcome-user/boxes/welcome-user.box.ts","app-react/components/welcome-user/boxes/welcome-greeting.box.ts","app-react/components/welcome-user/welcome-user.component.tsx","app-react/components/user-menu/close-button/boxes/user-menu-close-pc-button.box.ts","app-react/components/user-menu/close-button/boxes/user-menu-close-icon.box.tsx","app-react/components/user-menu/user-menu/boxes/user-menu-header.box.ts","app-react/components/user-menu/user-menu/user-menu-pc.component.tsx","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.default.box.ts","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.casino777.box.ts","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.default.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.default.box.ts","app-react/components/user-menu/user-menu.component.tsx","app-react/components/header/top-header-right/help-button/help-button.component.tsx","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-list.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-list.box.ts","app-react/components/header/top-header-left/cross-brand/app-header-cross-brands.component.tsx","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.default.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.777.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/mobile-burger-menu.component.tsx","app-react/components/header/boxes/language-switcher/header-language-switcher.box.ts","app-react/components/header/top-header-right/language-switcher/header-language-switcher.component.tsx","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.default.box.ts","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.mrgreen.box.ts","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.box.ts","app-react/components/header/top-header-right/deposit/deposit-header-button.component.tsx","app-react/components/header/boxes/navbar-separator/navbar-separator.default.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.si.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.mrgreen.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.default.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.wsop.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.harrahs.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.casino777.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.si.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.box.ts","app-react/components/header/boxes/navbar-left-container/header-navbar-left-container.box.ts","app-react/components/header/boxes/navbar-left-container/header-navbar-left-container.default.box.ts","app-react/components/header/boxes/navbar-right-container/header-navbar-right-container.box.ts","app-react/components/header/boxes/navbar-right-container/header-navbar-right-container.default.box.ts","app-react/components/header/header.component.tsx","app-react/components/drawer/boxes/body/drawer-body.box.tsx","app-react/components/drawer/boxes/body/drawer-body.default.box.tsx","app-react/components/drawer/boxes/content/drawer-content.box.ts","app-react/components/drawer/drawer.component.tsx","app-react/components/overlay/boxes/overlay.component.default.box.tsx","app-react/components/overlay/boxes/overlay.component.mrgreen.box.ts","app-react/components/overlay/boxes/overlay.component.box.tsx","app-react/components/overlay/overlay.component.tsx","app-react/components/spinner/boxes/spinner-logo/spinner-logo.default.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.casino777.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cip.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.wsop.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.delawarepark.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.ballysdover.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.harrington.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cis.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.box.ts","app-react/components/spinner/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.wsop.box.ts","app-react/components/router-outlet/boxes/router-outlet.si.box.ts","app-react/components/router-outlet/boxes/router-outlet.box.ts","app-react/components/router-outlet/router-outlet.component.tsx","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.box.ts","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.default.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-items-list.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar.component.tsx","app-react/components/floating-bubbles/boxes/floating-bubbles-container.box.ts","app-react/components/floating-bubbles/boxes/floating-bubble.box.ts","app-react/components/floating-bubbles/floating-bubbles.component.tsx","app-react/components/container/boxes/main-wrapper.default.box.ts","app-react/components/container/boxes/main-wrapper.cip.box.ts","app-react/components/container/boxes/main-wrapper.mrgreenCis.box.ts","app-react/components/container/boxes/main-wrapper.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-cutout.box.ts","app-react/components/onboarding-tour/fade-in-div-on-mount.component.tsx","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/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/base/base_object.ts","sdk/src/base/base_singleton.ts","sdk/src/events/events.ts","sdk/src/exceptions/cgp_error_codes.ts","sdk/src/services/games_information/games_information_service_interface.ts","sdk/src/services/hybrid/native/native_const.js","sdk/src/services/overlay_manager/overlay_manager_levels.ts","sdk/src/services/regulation/regulation_const.ts","sdk/src/services/service_factory.ts","sdk/src/services/services_registry.ts","sdk/src/utils/date_formatter.ts","sdk/src/utils/event.ts","settings/configs/default-config.ts","settings/languages/eng.ts","utils/disposable-object.ts","app-react/services/companies/companies-models|lazy|/^/.*/.company/-model$/|chunkName: company|groupOptions: {}|namespace object","app-react/services/menu-item-action-factory/custom-actions|sync|/.+/.action/.(ts%7Ctsx)$","app-react/services/side-menu/menu-items/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/services/user-menu/menu-items/useful-links/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/themes/definitions|lazy|/^/.*/theme/.definition$/|chunkName: theme-definition|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*$/|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*/config$/|groupOptions: {}|namespace object","settings/languages|lazy|/^/.*$/|chunkName: language|groupOptions: {}|namespace object"],"sourcesContent":["import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../themes/architecture/css-helpers/flex\";\r\nimport {MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS, PC_HORIZONTAL_SPACE_BETWEEN_ITEMS} from \"../space-between-items-consts\";\r\n\r\nexport const BlankHorizontalSeparatorBox = styled.span<{multiplier?: number}>`\r\n ${flexFixedSizeItem}\r\n width: ${props => PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n @media ${props => props.theme.mediaQuery.lAndBelow} {\r\n width: ${props => MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n }\r\n`;\r\n","import {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\n\r\nexport const LayoutWrapperBox = LayoutWrapperDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../themes/architecture/styled-by-device\";\r\nimport {HOME_PAGE, LIVE_CASINO_PAGE, MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport { CssRule } from \"../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const PCBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 500px;\r\n\r\n .${HOME_PAGE} &.${MOVE_TOP}{\r\n margin-top: -13rem;\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-left: 10rem;\r\n padding-right: 10rem;\r\n padding-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &.${MOVE_TOP} {\r\n padding-left: 3rem;\r\n padding-right: 3rem;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 0;\r\n padding-right: 0;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n .${HOME_PAGE} & {\r\n &.${MOVE_TOP} {\r\n margin-top: -9rem;\r\n }\r\n\r\n ${CssRule.For.mobile.embededHybrid.build()} & {\r\n &.${MOVE_TOP} {\r\n margin-top: 1rem;\r\n margin-bottom: 0;\r\n }\r\n }\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-top: 10px;\r\n }\r\n`;\r\n\r\nexport const LayoutWrapperDefaultBox = styledByDevice(PCBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst Load = keyframes`\r\n 0%,\r\n 80%,\r\n 100% {\r\n box-shadow: 0 1.5em 0 -1.3em;\r\n }\r\n 40% {\r\n box-shadow: 0 1.5em 0 0;\r\n }\r\n`;\r\n\r\nexport const LoadingDotBox = styled.div<{animationDelay: string}>`\r\n border-radius: 50%;\r\n width: 1.6rem;\r\n height: 1.5rem;\r\n margin-left: 25px;\r\n animation: ${Load} 1.7s infinite ease-in-out;\r\n animation-delay: ${props => props.animationDelay};\r\n`","import styled from \"styled-components\";\r\n\r\n\r\nexport const LoadingDotsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n align-content: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {LoadingDotBox} from \"./boxes/loading-dot.box\";\r\nimport {LoadingDotsBox} from \"./boxes/loading-dots.box\";\r\n\r\nexport const LoadingDotsComponent = observer(class LoadingDotsComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n});","import styled from \"styled-components\";\r\n\r\nexport const LobbyGridDefaultBox = styled.div`\r\n overflow: hidden;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n max-width: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 100%;\r\n }\r\n`;","import {LobbyGridDefaultBox} from \"./lobby-grid.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyGridBox = styledByTheme(LobbyGridDefaultBox).apply();","import styled from \"styled-components\";\r\n\r\n\r\nexport const LobbyWrapperDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1.2rem;\r\n line-height: normal;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.5rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n opacity: 0;\r\n }\r\n\r\n }\r\n`;\r\n\r\nexport const LobbyWrapperWithoutBackgroundDefaultBox = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyWrapperDefaultBox} from './lobby-wrapper.default.box';\r\nimport {LOBBY_PAGE} from '../../themes/css-global-classes';\r\n\r\nexport const LobbyWrapperCasino777Box = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0;\r\n .${LOBBY_PAGE} & {\r\n &:before {\r\n display: block;\r\n opacity:1;\r\n top: 0;\r\n }\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../themes/definitions/si/cis/base-colors\";\r\nimport { LobbyWrapperWithoutBackgroundDefaultBox } from \"./lobby-wrapper.default.box\";\r\n\r\nexport const LobbyWrapperSiCisBox = styled(LobbyWrapperWithoutBackgroundDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import {LobbyWrapperDefaultBox, LobbyWrapperWithoutBackgroundDefaultBox} from \"./lobby-wrapper.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\nimport {LobbyWrapperCasino777Box} from \"./lobby-wrapper.casino777.box\";\r\nimport { LobbyWrapperSiCisBox } from \"./lobby-wrapper.siCis.box\";\r\n\r\nexport const LobbyWrapperBox = styledByTheme(LobbyWrapperDefaultBox)\r\n .forCasino777(LobbyWrapperCasino777Box)\r\n .forSI(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forMrGreen(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forSICis(LobbyWrapperSiCisBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {MAIN_SCREEN} from '../../themes/css-global-classes';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const MainScreenComponent = observer(class MainScreenComponent extends OrbitComponent {\r\n\r\n render() {\r\n //TODO - main-screen class should be removed once we convert all the components to styled-components\r\n\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n});\r\n\r\n","export function PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (15 * multiplier) + 'px';\r\n}\r\n\r\nexport function MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (5 * multiplier) + 'px';\r\n}","import styled, { css } from \"styled-components\";\r\nimport { IButtonCommonProps, IButtonColorSet, IButtonPreset } from \"../button-props.interface\";\r\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\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, I_WANT_THE_HOVER_COLORS).bgGradient ? css`\r\n background: none;\r\n ` : null}\r\n\r\n color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).text};\r\n background-color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).bg};\r\n border-color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).border};\r\n ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).bgGradient ? css`\r\n background: ${colorSet(props, I_WANT_THE_HOVER_COLORS).bgGradient};\r\n ` : null}\r\n box-shadow: ${props => (props.elevated && colorSet(props, I_WANT_THE_HOVER_COLORS).shadow) ? colorSet(props, I_WANT_THE_HOVER_COLORS).shadow : \"none\"};\r\n\r\n /* Reset the text gradient, if the hover doesn't have a text gradient */\r\n ${props => colorSet(props).textGradient && !colorSet(props, I_WANT_THE_HOVER_COLORS).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, I_WANT_THE_HOVER_COLORS).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props, I_WANT_THE_HOVER_COLORS).text};\r\n background: ${colorSet(props, I_WANT_THE_HOVER_COLORS).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`;\r\n\r\nconst I_WANT_THE_HOVER_COLORS = true;\r\nfunction colorSet(props: IButtonBoxProps, hoverSet?: boolean) {\r\n const setKey: keyof IButtonPreset[\"colors\"] = props.disabled ? \"disabled\" : (hoverSet || props.active ? \"hover\" : \"normal\");\r\n if (props.colorSet[setKey]) {\r\n return props.colorSet[setKey];\r\n }\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 styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingDelawareBox = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0em\" : \"0.2em\" };\r\n padding-bottom: 0em;\r\n \r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-top: 0em;\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\nimport {ButtonLabelPaddingDelawareBox} from \"./button-label-padding.delaware.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 .forDelawarePark(ButtonLabelPaddingDelawareBox)\r\n .apply();\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 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 computeColorSet(colorSet: IButtonColorSetDef, defaultDisabled: IButtonColor): IButtonColorSet {\r\n const hoverAdjustAmount = Check.isNumber(colorSet.hover) ? colorSet.hover : 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\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 * 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 ...colorSet,\r\n }\r\n return cset\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\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\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 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: 4.5rem;\r\n width: ${({width}) => width};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.4rem;\r\n transition: border-radius 0.2s linear, border-color 0.2s linear;\r\n background-color: ${props => props.theme.colors.backgroundMiddleDark};\r\n color: inherit;\r\n border-radius: ${({theme}) => theme.layout.border.radius};\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderLighter};\r\n &:hover {\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderContrast};;\r\n }\r\n border-width: 1px;\r\n border-style: solid;\r\n padding: 0 4rem 0 1.6rem;\r\n\r\n /* REMOVE THE DEFAULT ARROW */\r\n /* for Firefox */\r\n -moz-appearance: none;\r\n /* for Safari, Chrome, Opera */\r\n -webkit-appearance: none;\r\n /* for IE10 */\r\n &::-ms-expand {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst SelectBoxArrow = styled.div`\r\n position: absolute;\r\n right: 0.6rem;\r\n top: 0;\r\n width: 3rem;\r\n padding: 0.7rem;\r\n margin-top: 0.72rem;\r\n pointer-events: none;\r\n border-radius: 50%;\r\n\r\n transition: transform 0.2s linear;\r\n transform: rotate(90deg);\r\n`;\r\n\r\ninterface ISelectProps extends PropsWithChildren {\r\n // standard props from native html select element that will be passed directly\r\n id?: string;\r\n name?: string;\r\n value?: string | number;\r\n onChange?(event: React.ChangeEvent): void;\r\n className?: string;\r\n\r\n // custom props, not native html select element\r\n hasError?: boolean;\r\n width?: string;\r\n}\r\n\r\nexport class Select extends OrbitComponent { // React.SelectHTMLAttributes\r\n render() {\r\n let {width, ...passThroughProps} = this.props;\r\n width = width || \"auto\";\r\n const selectWidth = width !== \"auto\" ? \"100%\" : \"auto\";\r\n\r\n const ArrowIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n return \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n}","import * as React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\nimport {PropsWithChildren} from \"react\";\r\n\r\nexport enum SvgSizeUnit {\r\n Rem = \"rem\",\r\n Em = \"em\",\r\n Px = \"px\",\r\n Percent = \"%\"\r\n}\r\n\r\nexport interface ISvgIconProps extends PropsWithChildren {\r\n /**\r\n * The size of the icon.\r\n * @default 2.4\r\n */\r\n size?: number;\r\n /**\r\n * if false, the property size represents the width\r\n * if true, the property size represents the height\r\n * @default false\r\n */\r\n sizeIsHeight?: boolean;\r\n /**\r\n * Css unit: rem, em, px, %\r\n * @default rem\r\n */\r\n sizeUnit?: SvgSizeUnit;\r\n /**\r\n * Additional css,\r\n * Do not abuse this prop. You will be punished\r\n */\r\n style?: React.CSSProperties;\r\n /**\r\n * Additional class name for styling, selectors\r\n * Do not abuse this prop. You will be punished\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ISvgIconPrivateProps {\r\n /**\r\n * The aspect ratio of the icon. is expressed by the width divided by the height.\r\n * For example an icon that is 16:9 will have a ratio of 16/9 = 1.(7) ~= 1.78\r\n * Default is 1, square icon\r\n * @default 1\r\n */\r\n ratio?: number;\r\n /**\r\n * Specific svg property\r\n */\r\n viewBox?: string;\r\n /**\r\n * Some icons needs to be flipped on RTL languages, for example left arrow icon (<) must be flipped, and will look like a right arrow icon (>)\r\n */\r\n flipOnRTL?: boolean;\r\n}\r\n\r\nconst Svg = styled.svg<{flipOnRTL?: boolean}>`\r\n ${({flipOnRTL}) => flipOnRTL ? css`\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }`\r\n : null}\r\n`;\r\n\r\nexport class SvgIcon extends React.Component {\r\n render() {\r\n const sizeUnit = this.props.sizeUnit ? this.props.sizeUnit : SvgSizeUnit.Rem;\r\n const defaultSize = sizeUnit === SvgSizeUnit.Px ? 24 : (sizeUnit === SvgSizeUnit.Percent ? 100 : 2.4);\r\n const size = this.props.size ? this.props.size : defaultSize;\r\n const ratio = this.props.ratio ? this.props.ratio : 1;\r\n\r\n const width = this.props.sizeIsHeight ? (size * ratio) : size;\r\n const height = this.props.sizeIsHeight ? size : (size / ratio);\r\n\r\n const viewBox = this.props.viewBox ?? \"0 0 24 24\";\r\n const style = {\r\n display: \"block\",\r\n ...this.props.style\r\n };\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const XCloseButtonBox = styled.button`\r\n cursor: pointer;\r\n background-image: url(\"${props => props.theme.images.closeModalDialog.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`;","import {IArenaViewModel} from \"../../services/arenas/models/arenas/arena-view-model.interface\";\r\nimport React from 'react';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface SwiperWindowComponentProps {\r\n windowPosition: number;\r\n arena: IArenaViewModel;\r\n}\r\n\r\nexport const SwiperWindowComponent: React.FC = observer((props) => {\r\n return props.arena.renderList(props.windowPosition);\r\n});\r\n\r\n\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwiperWindowComponent} from \"../orbit-swiper/swiper-window.component\";\r\nimport {useServices} from \"../../react-hooks/use-services.hook\";\r\nimport {reaction} from \"mobx\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport useIsInViewPort from \"../../react-hooks/use-is-in-viewport.hook\";\r\n\r\ninterface ArenaGamesListsComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const ArenaGamesListsComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n const [listsCount, setListsCount] = useState(0);\r\n const [hasMoreLists, setHasMoreLists] = useState(true);\r\n const intersectionSpyRef = useRef(null);\r\n let isIntersectionSpyInViewport = useIsInViewPort(intersectionSpyRef);\r\n\r\n const arena = services.arenas.getArena(props.arenaName);\r\n\r\n const loadNextBatch = () => {\r\n const nextBatch = arena.getNextBatchSize(listsCount);\r\n if(nextBatch === 0) {\r\n if(hasMoreLists !== false) {\r\n setHasMoreLists(false);\r\n }\r\n } else {\r\n setListsCount(listsCount + nextBatch);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const reactionDispose = reaction(() => services.user.isAuthorized,\r\n () => {\r\n setListsCount(0);\r\n setHasMoreLists(true);\r\n });\r\n\r\n return () => {\r\n reactionDispose();\r\n }\r\n }, [services.user.isAuthorized]);\r\n\r\n useEffect(() => {\r\n\r\n const spyRectangle = intersectionSpyRef.current.getBoundingClientRect();\r\n //spyRectangle.top <= window.innerHeight is here because IntersectionObserver used by useIsInViewPort hook has a delay in detecting that the element is not in the viewport anymore.\r\n if(spyRectangle.top <= window.innerHeight && hasMoreLists && isIntersectionSpyInViewport) {\r\n loadNextBatch();\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n const range = Array.from({length: listsCount}, (x, i) => i + 1);\r\n\r\n return (\r\n\r\n \r\n {range.map(listWindowPosition => ())}\r\n\r\n
\r\n \r\n );\r\n\r\n});\r\n\r\n","import {MutableRefObject, useEffect, useState} from \"react\";\r\n\r\nexport default function useIsInViewPort(ref: MutableRefObject) {\r\n\r\n const [isIntersecting, setIntersecting] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n ([entry]) => setIntersecting(entry.intersectionRatio > 0 || entry.isIntersecting)\r\n );\r\n if(ref.current) {\r\n observer.observe(ref.current);\r\n }\r\n return () => {\r\n try {\r\n observer.disconnect()\r\n } catch (err) {\r\n console.error('Failed to disconnect observer');\r\n }\r\n }\r\n }, [ref]);\r\n\r\n return isIntersecting;\r\n}\r\n","import {LiveCasinoGridItemDefaultBox} from \"./live-casino-grid-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemBox = LiveCasinoGridItemDefaultBox;","import styled, {css} from \"styled-components\";\r\n\r\ninterface ILiveCasinoGridItemDefaultBoxProps {\r\n fluidWidth?: boolean; // when true, don't set the width, let it flow within its parent\r\n}\r\n\r\nexport const LiveCasinoGridItemDefaultBox = styled.div`\r\n box-sizing: border-box;\r\n\r\n /* Prevents CSS Transform flicker */\r\n backface-visibility: hidden;\r\n\r\n ${({fluidWidth}) => !fluidWidth && css`\r\n\r\n width: calc(100% / 5);\r\n padding: 1em 0.5em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: calc(100% / 3);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: calc(100% / 4);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 0.5em 0.25em;\r\n }\r\n `}\r\n`;","import styled from \"styled-components\";\r\n\r\nexport interface LiveCasinoGridItemInfoItemDefaultBoxProps {\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport const LiveCasinoGridItemInfoItemDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n margin: ${props => props.isLiveStreamOverlay ? '0 0.75em 0 0.75em' : '0 1em 0 0'};\r\n color: ${props => props.theme.colors.textLight};\r\n letter-spacing: 0.1rem;\r\n font-size: 1em;\r\n height: 24px;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemSIBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemMrGreenBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\nimport {LiveCasinoGridItemInfoItemSIBox} from \"./live-casino-grid-item-info-item.si.box\";\r\nimport {LiveCasinoGridItemInfoItemMrGreenBox} from \"./live-casino-grid-item-info-item.mrgreen.box\"\r\n\r\nexport const LiveCasinoGridItemInfoItemBox = styledByTheme(LiveCasinoGridItemInfoItemDefaultBox)\r\n .forSI(LiveCasinoGridItemInfoItemSIBox)\r\n .forSICis(LiveCasinoGridItemInfoItemSIBox)\r\n .forMrGreen(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .apply();","import {LiveCasinoGridItemInfobarIconDefaultBox} from \"./live-casino-grid-item-infobar-icon.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconBox = LiveCasinoGridItemInfobarIconDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconDefaultBox = styled(Image)`\r\n margin-right: 0.25em;\r\n`;","import {LiveCasinoGridItemThumbnailImageDefaultBox} from \"./live-casino-grid-item-thumbnail-image.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageBox = LiveCasinoGridItemThumbnailImageDefaultBox;","import styled from \"styled-components\";\r\nimport {ITEM_WRAPPER_BOX} from \"../../css-constants\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageDefaultBox = styled(Image)<{filterBlur?: boolean}>`\r\n width: 100%;\r\n transition: transform 0.25s ease;\r\n ${({filterBlur}) => filterBlur ? 'filter: blur(2px)' : null};\r\n .${ITEM_WRAPPER_BOX}:hover &{\r\n transform: scale(1.2);\r\n }\r\n`;","export const ITEM_WRAPPER_BOX = 'item-wrapper-box';\r\nexport const RED = 'red';\r\nexport const GREEN = 'green';","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemInfobarDefaultBox = styled.div`\r\n display: flex;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n padding: 0.5em 1em;\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.75)};\r\n position: absolute;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: -1px;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarCasino777Box = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.92)};\r\n &::before {\r\n background: transparent linear-gradient(90deg, transparent 0%, ${props => props.theme.colors.background} 33%, ${props => props.theme.colors.background} 69%, transparent 100%) 0% 0% no-repeat padding-box;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarMrGreenBox = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.colors.horizontalLineBackgroundColor, 0.6)};\r\n &::before {\r\n background: none;\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemInfobarCasino777Box } from \"./live-casino-grid-item-infobar.casino777.box\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\nimport {LiveCasinoGridItemInfobarMrGreenBox} from \"./live-casino-grid-item-infobar.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarBox = styledByTheme(LiveCasinoGridItemInfobarDefaultBox)\r\n .forCasino777(LiveCasinoGridItemInfobarCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemInfobarMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalDefaultBox = styled.div`\r\n position: absolute;\r\n top: 1em;\r\n left: 1em;\r\n padding: 0.5em 1em;\r\n line-height: 1;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundDark, 0.75)};\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.1)};\r\n border-radius: 50px;\r\n z-index: 3;\r\n\r\n > span {\r\n font-size: 1.2em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n top: 0.5em;\r\n left: 0.5em;\r\n padding: 0.5em 1em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalCasino777Box = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.colors.background, 0.95)}; /** Color.brandYellow */\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)}; /** Color.sepia */\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalMrGreenBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.brandPrimaryDark};\r\n background: ${hexToRgba(baseColors.base03, 0.80)};\r\n border: 1px solid ${hexToRgba(baseColors.gray033, 0.1)};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalSIBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundLight, 0.98)};\r\n //border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)};\r\n box-shadow: 0px 3px 9px #00000080;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemBetIntervalCasino777Box } from \"./live-casino-grid-item-bet-interval.casino777.box\";\r\nimport { LiveCasinoGridItemBetIntervalMrGreenBox } from \"./live-casino-grid-item-bet-interval.mrgreen.box\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\";\r\nimport {LiveCasinoGridItemBetIntervalSIBox} from \"./live-casino-grid-item-bet-interval.si.box\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalBox = styledByTheme(LiveCasinoGridItemBetIntervalDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetIntervalCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forSI(LiveCasinoGridItemBetIntervalSIBox)\r\n .forSICis(LiveCasinoGridItemBetIntervalSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageDefaultBox = styled.div`\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n display: flex;\r\n position: relative;\r\n flex-direction: column;\r\n flex: 1;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center;\r\n line-height: 1.25;\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.closedMessageBackground, 0.9)};\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n\r\n & > span {\r\n display: block;\r\n width: 100%;\r\n font-size: 1.6em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageCasino777Box = styled(LiveCasinoGridItemClosedMessageDefaultBox)`\r\n &::after {\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.brandSecondaryDark} 33%, ${props => props.theme.colors.brandSecondaryDark} 67%, transparent);\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\nimport {LiveCasinoGridItemClosedMessageCasino777Box} from \"./live-casino-grid-item-closed-message.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageBox = styledByTheme(LiveCasinoGridItemClosedMessageDefaultBox)\r\n .forCasino777(LiveCasinoGridItemClosedMessageCasino777Box)\r\n .apply();\r\n","import {LiveCasinoGridItemThumbnailOverlayDefaultBox} from \"./live-casino-grid-item-thumbnail-overlay.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayBox = LiveCasinoGridItemThumbnailOverlayDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayDefaultBox = styled.div`\r\n display: flex;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n`;","import {LiveCasinoGridItemThumbnailDefaultBox} from \"./live-casino-grid-item-thumbnail.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailBox = LiveCasinoGridItemThumbnailDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 56.25%; // keeps a 16:9 ratio\r\n overflow: hidden;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemWrapperDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n box-shadow: 0 0 5px ${props => props.theme.colors.boxBorderDark};\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperCasino777Box = styled(LiveCasinoGridItemWrapperDefaultBox)`\r\n box-shadow: 0 0 5px ${props => props.theme.colors.background};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\nimport { LiveCasinoGridItemWrapperCasino777Box } from \"./live-casino-grid-item-wrapper.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperBox = styledByTheme(LiveCasinoGridItemWrapperDefaultBox)\r\n .forCasino777(LiveCasinoGridItemWrapperCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemTitleDefaultBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: ${props => props.theme.colors.textLight};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n letter-spacing: 1px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleMrGreenBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n ${props => props.theme.font.presets.light}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleSIBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n font-size: 1.3em;\r\n letter-spacing: 0.48px;\r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemTitleMrGreenBox} from \"./live-casino-grid-item-title.mrgreen.box\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\nimport {LiveCasinoGridItemTitleSIBox} from \"./live-casino-grid-item-title.si.box\";\r\n\r\nexport const LiveCasinoGridItemTitleBox = styledByTheme(LiveCasinoGridItemTitleDefaultBox)\r\n .forMrGreen(LiveCasinoGridItemTitleMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemTitleMrGreenBox)\r\n .forSI(LiveCasinoGridItemTitleSIBox)\r\n .forSICis(LiveCasinoGridItemTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n height: 2em;\r\n padding: 0 1.25em;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: 400;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid;\r\n text-transform: uppercase;\r\n border-radius: 50px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.2em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundDark};\r\n background: ${props => props.theme.colors.brandSecondary};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n background: transparent;\r\n border: none;\r\n font-weight: 300;\r\n line-height: 1;\r\n font-size: 1.1em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemBetBehindButtonDefaultBox } from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonCasino777Box = styled(LiveCasinoGridItemBetBehindButtonDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n background: ${props => props.theme.colors.background};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props => props.theme.colors.backgroundActive};\r\n }\r\n\r\n ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundActive};\r\n }\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemBetBehindButtonDefaultBox} from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\nimport {LiveCasinoGridItemBetBehindButtonCasino777Box} from \"./live-casino-grid-item-bet-behind-button.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindBox = styledByTheme(LiveCasinoGridItemBetBehindButtonDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetBehindButtonCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemJackpotDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n padding: 0 1rem;\r\n align-items: center;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 50px;\r\n font-size: 1.2em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n line-height: 1;\r\n font-size: 1.1em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemJackpotDefaultBox } from \"./live-casino-grid-item-jackpot.default.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotCasino777Box = styled(LiveCasinoGridItemJackpotDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemJackpotDefaultBox} from \"./live-casino-grid-item-jackpot.default.box\";\r\nimport {LiveCasinoGridItemJackpotCasino777Box} from \"./live-casino-grid-item-jackpot.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotBox = styledByTheme(LiveCasinoGridItemJackpotDefaultBox)\r\n .forCasino777(LiveCasinoGridItemJackpotCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemOpenAtBox = styled.div`\r\n width: 100%;\r\n font-size: 2.25em;\r\n font-weight: 700;\r\n`;","import React from \"react\";\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {GameInfo, OpenGameParameters} from '../../../../../app-react/services/games/game-info';\r\nimport {OrbitComponent} from '../../../../../app-react/components/base-components/orbit-component/orbit-component';\r\nimport {ILiveTableInfo} from '../../../../services/live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveCasinoGridItemInfobarBox} from \"./boxes/infobar/live-casino-grid-item-infobar.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"./boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\nimport {LiveCasinoGridItemBetIntervalBox} from \"./boxes/bet-interval/live-casino-grid-item-bet-interval.box\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"./boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemClosedMessageBox} from \"./boxes/closed-message/live-casino-grid-item-closed-message.box\";\r\nimport {LiveCasinoGridItemThumbnailOverlayBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box\";\r\nimport {LiveCasinoGridItemThumbnailBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail.box\";\r\nimport {LiveCasinoGridItemWrapperBox} from \"./boxes/wrapper/live-casino-grid-item-wrapper.box\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {ITEM_WRAPPER_BOX} from \"./css-constants\";\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {LiveCasinoGridItemTitleBox} from \"./boxes/title/live-casino-grid-item-title.box\";\r\nimport {LiveCasinoGridItemBetBehindBox} from \"./boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box\";\r\nimport {LiveCasinoGridItemJackpotBox} from \"./boxes/infobar/jackpot/live-casino-grid-item-jackpot.box\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\nimport {LiveCasinoGridItemOpenAtBox} from \"./boxes/closed-message/live-casino-grid-item-open-at.box\";\r\nimport {TableSeatsComponent} from \"./shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"./shared-components/roulette-draws.component\";\r\nimport { FlexGrowItemBox } from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport interface ILiveCasinoArenaGridItemProps {\r\n tableId: number;\r\n gameInfo: GameInfo;\r\n listTitle: string;\r\n gameIndex: number;\r\n seoCategory: string;\r\n liveTable: ILiveTableInfo;\r\n fluidWidth?: boolean;\r\n captureGameElementRef: (element: any) => void;\r\n}\r\n\r\nexport const LiveCasinoArenaGridItem = observer(\r\n class LiveCasinoArenaGridItem extends OrbitComponent {\r\n\r\n private _openGame = (gameInfo: GameInfo) => {\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: true,\r\n pageName: this.props.seoCategory,\r\n gameIndex: this.props.gameIndex,\r\n listTitle: this.props.listTitle\r\n };\r\n\r\n gameInfo.open(openGameParams);\r\n };\r\n\r\n private _renderMinMaxBet() {\r\n const tableInfo = this.props.liveTable;\r\n let minBet: number;\r\n let maxBet: number;\r\n if(Check.isEmpty(tableInfo) || (tableInfo.MinBet === undefined || tableInfo.MaxBet === undefined)) {\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = tableInfo.MinBet;\r\n maxBet = tableInfo.MaxBet;\r\n }\r\n\r\n if(!minBet || !maxBet){\r\n this.services.logger.info(`format$$$ invalid input for gameType => ${this.props.gameInfo.gameType} ${minBet}-${maxBet}`);\r\n return;\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n this.services.device.isMobile ?\r\n this.services.currency.formatMoney(minBet, true) :\r\n this.services.currency.formatMinMaxBet(minBet, maxBet)\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderDealerName() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n const isMobilePhone = this.services.device.isMobile && !this.services.device.isTablet;\r\n\r\n if (Check.isEmpty(tableInfo) || Check.isNullOrUndefined(tableInfo.Dealer) || tableInfo.Dealer.length === 0 || isMobilePhone) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {tableInfo.Dealer}\r\n \r\n )\r\n }\r\n\r\n private _renderSeatsCount() {\r\n return ;\r\n }\r\n\r\n private _renderRouletteDraws() {\r\n return ;\r\n }\r\n\r\n private _renderJackpot() {\r\n let jpValue = this.services.jackpots.getGameJackpot(this.props.gameInfo.gameType);\r\n if (!Check.isNullOrUndefined(jpValue)) {\r\n return \r\n { this.services.currency.formatMoney(jpValue) }\r\n ;\r\n }\r\n return null;\r\n }\r\n\r\n private _renderBetBehindButton() {\r\n const tableInfo = this.props.liveTable;\r\n let tableIsFull = false;\r\n if (tableInfo.Seats && tableInfo.SeatsTaken) {\r\n tableIsFull = tableInfo.SeatsTaken.length === tableInfo.Seats;\r\n }\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.BetBehind || !tableIsFull) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n Bet behind\r\n \r\n );\r\n }\r\n\r\n private _renderGameInfobar() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderDealerName()}\r\n {this._renderSeatsCount()}\r\n \r\n {this._renderRouletteDraws()}\r\n {this._renderJackpot()}\r\n {this._renderBetBehindButton()}\r\n \r\n );\r\n }\r\n\r\n private _renderGameIsClosed() {\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate(\"LIVE_ARENA_TABLE_IS_CLOSED_MESSAGE\")}\r\n {this.props.liveTable?.OperationHoursStartTime}\r\n \r\n );\r\n }\r\n\r\n private _renderGameThumbnailImage() {\r\n const tableInfo: ILiveTableInfo = this.props.liveTable;\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n let gameTitle: string;\r\n let gameImage: string;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n gameTitle = gameInfo?.title;\r\n gameImage = gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n gameTitle = tableInfo.Name;\r\n\r\n gameImage = addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameThumbnail() {\r\n return (\r\n \r\n {this._renderGameThumbnailImage()}\r\n \r\n {this._renderMinMaxBet()}\r\n {this._renderGameInfobar()}\r\n {this._renderGameIsClosed()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle() {\r\n // Render an empty character so the div doesn't just collapse\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (tableInfo && tableInfo.Name !== undefined && tableInfo.Name.length > 0) {\r\n title = tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderGameItem() {\r\n return (\r\n \r\n this._openGame(this.props.gameInfo)} className={classNames('cy-live-casino-grid-item-inner-wrapper', ITEM_WRAPPER_BOX)}>\r\n {this._renderGameThumbnail()}\r\n {this._renderGameTitle()}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n try {\r\n return this._renderGameItem();\r\n } catch(err) {\r\n this.services.logger.error(`Failed to render LiveCasinoArenaGridItem for game ${this.props.gameInfo && this.props.gameInfo.gameType}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridDefaultBox = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n padding: 2em;\r\n font-size: 1rem;\r\n position: relative;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0.25em;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasino777Box = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: block;\r\n opacity:1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\nimport { LiveCasinoGridDefaultBox } from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasinoSICisBox = styled(LiveCasinoGridDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridMrGreenBox = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\nimport {LiveCasinoGridCasino777Box} from \"./live-casino-grid.casino777.box\";\r\nimport { LiveCasinoGridCasinoSICisBox } from \"./live-casino-grid.siCis.box\";\r\nimport {LiveCasinoGridMrGreenBox} from \"./live-casino-grid.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridBox = styledByTheme(LiveCasinoGridDefaultBox)\r\n .forCasino777(LiveCasinoGridCasino777Box)\r\n .forSICis(LiveCasinoGridCasinoSICisBox)\r\n .forMrGreen(LiveCasinoGridMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonBox = styled.div`\r\n padding-top: 56.25%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonTitleBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: rgba(0, 0, 0, 0);;\r\n overflow: hidden;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n 50% {\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n 100% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n`;","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {LiveCasinoGridBox} from \"./boxes/grid/live-casino-grid.box\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {LiveCasinoArenaGridItem} from './live-casino-arena-grid-item.component';\r\nimport {LiveCasinoGridItemSkeletonBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton.box\";\r\nimport {LiveCasinoGridItemSkeletonTitleBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box\";\r\nimport {LiveCasinoGridItemSkeletonWrapperBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box\";\r\nimport {LiveCasinoPromotionalBannerConfiguration} from '../../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {BannerComponent} from \"../../../banner/banner.component\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\nexport interface ILiveCasinoArenaGridProps {\r\n seoCategory: string;\r\n useAISortedList: boolean;\r\n promotionalBannerConfig?: LiveCasinoPromotionalBannerConfiguration;\r\n}\r\n\r\n@observer\r\nexport class LiveCasinoArenaGrid extends OrbitComponent {\r\n private _gameElementRef: HTMLDivElement | null = null;\r\n private _gridElementRef: HTMLDivElement | null = null;\r\n\r\n constructor(props: ILiveCasinoArenaGridProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get liveTabConfigs(): LiveTableTabConfiguration | null {\r\n return this.services.liveTableFeeds.currentArenaTabConfiguration;\r\n }\r\n\r\n @observable.ref\r\n private _cmsBannerPosition: number = 0;\r\n\r\n @observable.ref\r\n private _numberOfGamesPerRow: number = 0;\r\n\r\n private _numberOfGames: number = 0;\r\n\r\n private _captureGameElementRef = (gameElement: HTMLDivElement | null) => {\r\n this._gameElementRef = gameElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n private _captureGridElementRef = (gridElement: HTMLDivElement | null) => {\r\n this._gridElementRef = gridElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n @action.bound\r\n private _setCMSBannerPosition() {\r\n let cmsBannerPositionFromConfig = this._numberOfGamesPerRow * this.props?.promotionalBannerConfig?.displayRowPlace;\r\n this._cmsBannerPosition = this._numberOfGames > cmsBannerPositionFromConfig ? cmsBannerPositionFromConfig : this._numberOfGames;\r\n }\r\n\r\n private _computeNumberOfGamesInARow() {\r\n\r\n if (!this._gridElementRef || !this._gameElementRef) return;\r\n\r\n try {\r\n this._numberOfGamesPerRow = Math.round(Number(this._gridElementRef[\"offsetWidth\"]) / Number(this._gameElementRef[\"offsetWidth\"]));\r\n this._setCMSBannerPosition();\r\n } catch (error) {\r\n this.services.logger.error(\"Failed to compute number of live games in a row\", error);\r\n }\r\n }\r\n\r\n\r\n private _renderPromotionalBanner() {\r\n\r\n if (Check.isNullOrUndefined(this.props.promotionalBannerConfig)) return null;\r\n\r\n let promotionalBanner = this.liveTabConfigs?.headerConfiguration?.banners?.promotionalBanner;\r\n if (!promotionalBanner) {\r\n promotionalBanner = this.props.promotionalBannerConfig;\r\n }\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderGridSkeleton() {\r\n\r\n let skeletons = [];\r\n\r\n for (var i = 0; i < 12; i++) {\r\n skeletons.push(\r\n \r\n \r\n \r\n Loading\r\n \r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGridItem(tableId: number, gameIndex: number, key: number) {\r\n\r\n let listTitle = this.services.liveTableFeeds.currentArenaTabConfiguration?.gridConfiguration.title;\r\n\r\n //this if is a duplicate with the one in live-casino-arena-navbar-button.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n if (this.services.user.isAuthorized && listTitle === \"TOP_EVO_GAMES\") {\r\n listTitle = \"FOR_YOU_GAMES\";\r\n }\r\n const shouldRenderPromoBanner = gameIndex === (this._cmsBannerPosition - 1);\r\n\r\n return (\r\n \r\n \r\n {\r\n shouldRenderPromoBanner && this._renderPromotionalBanner()\r\n }\r\n \r\n );\r\n }\r\n\r\n private _renderGames() {\r\n\r\n let gameIds: number[] = [];\r\n\r\n\r\n if (this.liveTabConfigs) {\r\n gameIds = this.services.liveTableFeeds.getLiveGames();\r\n }\r\n\r\n if (gameIds.length === 0) {\r\n return this._renderGridSkeleton();\r\n } else {\r\n this._numberOfGames = gameIds.length;\r\n return gameIds.map((tableId, gameIndex) => this._renderGridItem(tableId, gameIndex, tableId));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [\r\n this.services.device.os.isPC,\r\n this.services.device.isTablet,\r\n this.services.device.isMobile\r\n ], () => this._setCMSBannerPosition(), {fireImmediately: true});\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderGames()}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {DrawsDefaultBox} from \"./live-casino-grid-item-draws.defatult.box\";\r\n\r\nexport const LiveCasinoGridItemDrawsBox = DrawsDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const DrawsDefaultBox = styled.div`\r\n display: flex;\r\n`;","import styled from \"styled-components\";\r\nimport {RED} from '../../../css-constants';\r\n\r\ninterface LiveCasinoGridItemDrawDefaultBoxProps {\r\n drawColor: string;\r\n}\r\n\r\nexport const LiveCasinoGridItemDrawDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 1.8em;\r\n height: 1.8em;\r\n font-size: 1.2em;\r\n font-weight: 900;\r\n border-radius: 2px;\r\n\r\n color: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n\r\n &:first-child {\r\n\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textLight : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {GREEN, RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawCasino777Box = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props =>props.theme.colors.backgroundContrast};\r\n }\r\n\r\n &.${RED} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground};\r\n }\r\n }\r\n\r\n &.${GREEN} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawMrGreenBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n return theme.colors.textContrast;\r\n }};\r\n\r\n &:first-child {\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textContrast : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textContrast;\r\n }};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSIBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemDrawDefaultBox } from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSICisBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.moneyColor};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {LiveCasinoGridItemDrawCasino777Box} from \"./live-casino-grid-item-draw.casino777.box\";\r\nimport {LiveCasinoGridItemDrawMrGreenBox} from \"./live-casino-grid-item-draw.mrgreen.box\";\r\nimport {LiveCasinoGridItemDrawSIBox} from \"./live-casino-grid-item-draw.si.box\";\r\nimport { LiveCasinoGridItemDrawSICisBox } from \"./live-casino-grid-item-draw.siCis.box\";\r\n\r\nexport const LiveCasinoGridItemDrawBox = styledByTheme(LiveCasinoGridItemDrawDefaultBox)\r\n .forCasino777(LiveCasinoGridItemDrawCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemDrawMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemDrawMrGreenBox)\r\n .forSI(LiveCasinoGridItemDrawSIBox)\r\n .forSICis(LiveCasinoGridItemDrawSICisBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {GREEN, RED} from \"../css-constants\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemDrawsBox} from \"../boxes/infobar/draws/live-casino-grid-item-draws.box\";\r\nimport {LiveCasinoGridItemDrawBox} from \"../boxes/infobar/draws/live-casino-grid-item-draw.box\";\r\n\r\ninterface IRouletteDrawsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n}\r\n\r\nconst ROULETTE_NUMBERS_MAP = {\r\n red: [\r\n \"1\", \"3\", \"5\", \"7\", \"9\", \"12\",\r\n \"14\", \"16\", \"18\", \"19\", \"21\", \"23\",\r\n \"25\", \"27\", \"30\", \"32\", \"34\", \"36\"\r\n ],\r\n green: [\"0\", \"00\"]\r\n // Black numbers are implied by default, no need to map them\r\n};\r\n\r\nexport class RouletteDrawsComponent extends OrbitComponent {\r\n\r\n private _getDrawColor(drawValue: string): string {\r\n\r\n if (ROULETTE_NUMBERS_MAP.red.includes(drawValue)) {\r\n return RED;\r\n } else if (ROULETTE_NUMBERS_MAP.green.includes(drawValue)) {\r\n return GREEN;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.BetBehind || !this.props.tableInfo.RouletteLast5Numbers || this.props.tableInfo.RouletteLast5Numbers.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.tableInfo.RouletteLast5Numbers.map((drawValue, i) =>\r\n \r\n {drawValue}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"../boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"../boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\n\r\nexport interface ITableSeatsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport class TableSeatsComponent extends OrbitComponent {\r\n\r\n private _isTableFull() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return this.props.tableInfo.SeatsTaken.length === this.props.tableInfo.Seats;\r\n } else {\r\n return this.props.tableInfo.Players === this.props.tableInfo.Seats;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _getTableIsFullText() {\r\n return this._isTableFull() ? this.services.translation.translate(this._getTableIsFullTranslationKey()) : this._getPlayersCountFormated();\r\n }\r\n\r\n private _getTableIsFullTranslationKey() {\r\n return this.services.device.isMobile ? \"LIVE_CASINO_TABLE_FULL_MOBILE\" : \"LIVE_CASINO_TABLE_FULL_PC\";\r\n }\r\n\r\n private _getSeatsIconSource() {\r\n return this._isTableFull()\r\n ? this.services.theme.currentTheme.images.liveArena.fullSeatIcon.toString()\r\n : this.services.theme.currentTheme.images.liveArena.seatIcon.toString();\r\n }\r\n\r\n private _getPlayersCountFormated() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return `${this.props.tableInfo.SeatsTaken.length}/${this.props.tableInfo.Seats}`;\r\n } else {\r\n return `${this.props.tableInfo.Players}/${this.props.tableInfo.Seats}`;\r\n }\r\n }\r\n\r\n return this.props.tableInfo.Players;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.Players === undefined) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._getTableIsFullText()}\r\n \r\n );\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoFilterButtonsDefaultBox = styled.div`\r\n display: inline-flex;\r\n align-items: flex-start;\r\n justify-content: center;\r\n z-index: 5;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width:100%;\r\n margin: 0;\r\n padding: 1px;\r\n font-size: 0.725rem;\r\n border-left: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n\r\n .sticky-navbar & {\r\n background: ${props => props.theme.colors.backgroundDark};\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {LiveCasinoFilterButtonsDefaultBox} from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasino777Box = styled(LiveCasinoFilterButtonsDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border: none;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasinoSICisBox = styled(LiveCasinoFilterButtonsDefaultBox)` \r\n border-left: none;\r\n border-right: none; \r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\nimport { LiveCasinoFilterButtonsCasino777Box } from \"./live-casino-filter-buttons.casino777.box\";\r\nimport { LiveCasinoFilterButtonsCasinoSICisBox } from \"./live-casino-filter-buttons.siCis.box\";\r\n\r\nexport const LiveCasinoFilterButtonsBox = styledByTheme(LiveCasinoFilterButtonsDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonsCasino777Box)\r\n .forSICis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .forMrGreenCis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .apply();","import styled from 'styled-components';\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport { CssRule } from \"../../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: inline-block;\r\n margin: 0 auto;\r\n`;\r\n\r\nconst PCBox = DefaultBox;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n ${CssRule.For.mobile.landscape.build()} &, ${CssRule.For.ipad.build()} & {\r\n width:100%;\r\n }\r\n`;\r\n\r\nexport const LiveCasinoNavbarScrollDefaultBox = styledByDevice(PCBox, MobileBox);","import {LiveCasinoNavbarScrollDefaultBox} from \"./live-casino-navbar-scroll.default.box\";\r\n\r\nexport const LiveCasinoNavbarScrollBox = LiveCasinoNavbarScrollDefaultBox;","import {LiveCasinoNavbarOverflowDefaultBox} from \"./live-casino-navbar-overflow.default.box\";\r\n\r\nexport const LiveCasinoNavbarOverflowBox =LiveCasinoNavbarOverflowDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoNavbarOverflowDefaultBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n overflow-y: hidden;\r\n overflow-x: scroll;\r\n\r\n // Hides the scrollbar\r\n scrollbar-width: none; //Firefox\r\n &::-webkit-scrollbar {\r\n display: none;\r\n width: 0;\r\n height: 0;\r\n } // Chrome & Safari\r\n`;","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoNavbarDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n background: ${props => props.theme.colors.background};\r\n font-size: 1rem;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1) + \"px\"};\r\n z-index: 100;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 0.85rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCipBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCasino777Box = styled(LiveCasinoNavbarDefaultBox)`\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/casino888/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarCisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.gray043};\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarDefaultBox } from \"./live-casino-navbar.default.box\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarSICisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.base07};\r\n border-bottom: none;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoNavbarMrGreenBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background-color: ${baseColors.gray033};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarCipBox } from \"./live-casino-navbar.cip.box\";\r\n\r\nexport const LiveCasinoNavbarMrGreenCisBox = styled(LiveCasinoNavbarCipBox)`\r\n border-bottom: none;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoNavbarCipBox} from \"./live-casino-navbar.cip.box\";\r\nimport {LiveCasinoNavbarCasino777Box} from \"./live-casino-navbar.casino777.box\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {LiveCasinoNavbarCisBox} from \"./live-casino-navbar.cis.box\";\r\nimport { LiveCasinoNavbarSICisBox } from \"./live-casino-navbar.siCis.box\";\r\nimport {LiveCasinoNavbarMrGreenBox} from \"./live-casino-navbar.mrgreen.box\";\r\nimport { LiveCasinoNavbarMrGreenCisBox } from \"./live-casino.navbar.mrgreenCis.box\";\r\n\r\nexport const LiveCasinoNavbarBox = styledByTheme(LiveCasinoNavbarDefaultBox)\r\n .forCip(LiveCasinoNavbarCipBox)\r\n .forCis(LiveCasinoNavbarCisBox)\r\n .forSICis(LiveCasinoNavbarSICisBox)\r\n .forWsopCip(LiveCasinoNavbarCipBox)\r\n .forCasino777(LiveCasinoNavbarCasino777Box)\r\n .forMrGreen(LiveCasinoNavbarMrGreenBox)\r\n .forMrGreenCis(LiveCasinoNavbarMrGreenCisBox)\r\n .apply();\r\n","import styled from 'styled-components';\r\n\r\ninterface ButtonsActiveIndicatorBoxProps {\r\n activeIndicatorWidth: number;\r\n activeIndicatorPosition: number;\r\n}\r\n\r\nexport const ButtonsActiveIndicatorDefaultBox = styled.div`\r\n margin: -2.5em 0 0 0;\r\n height: 4em;\r\n background: url(\"${props => props.theme.images.liveArena.activeIndicatorBg.toString()}\") center center / 100% 100% no-repeat;\r\n transition: width 0.25s ease, transform 0.25s ease;\r\n width: ${props => props.activeIndicatorWidth}px;\r\n transform: translateX(${props => props.activeIndicatorPosition}px);\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonsActiveIndicatorDefaultBox} from \"./buttons-active-indicator.default.box\";\r\n\r\nexport const ButtonsActiveIndicatorSIBox = styled(ButtonsActiveIndicatorDefaultBox)`\r\n background: none;\r\n width: 0;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonsActiveIndicatorDefaultBox} from \"./buttons-active-indicator.default.box\";\r\nimport {ButtonsActiveIndicatorSIBox} from \"./buttons-active-indicator.si.box\";\r\n\r\nexport const ButtonsActiveIndicatorBox = styledByTheme(ButtonsActiveIndicatorDefaultBox)\r\n .forSI(ButtonsActiveIndicatorSIBox)\r\n .forSICis(ButtonsActiveIndicatorSIBox)\r\n .forMrGreen(ButtonsActiveIndicatorSIBox)\r\n .apply();","import React, {RefObject} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport classNames from \"classnames\";\r\nimport {DomEventSubscription} from \"../../../../../utils/event-listener-registration\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {IStickyHandler} from \"../../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoFilterButtonsBox} from \"./boxes/live-casino-filter-buttons/live-casino-filter-buttons.box\";\r\nimport {LiveCasinoNavbarScrollBox} from \"./boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.box\";\r\nimport {LiveCasinoNavbarOverflowBox} from \"./boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.box\";\r\nimport {STICKY_NAVBAR} from \"./css-constants\";\r\nimport {LiveCasinoNavbarBox} from \"./boxes/live-casino-navbar/live-casino-navbar.box\";\r\nimport {ButtonsActiveIndicatorBox} from \"./boxes/buttons-active-indicator/buttons-active-indicator.box\";\r\nimport {LiveCasinoArenaNavbarButtonProps} from \"./live-casino-arena-navbar-button.component\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\ninterface ICasinoLiveArenaNavbarProps {\r\n configs: LiveTableTabConfiguration[];\r\n stickyHandler: IStickyHandler;\r\n FilterButtonComponent: React.ComponentType;\r\n}\r\n\r\ninterface ICasinoLiveArenaNavbarState {\r\n activeButton: HTMLElement | null;\r\n activeIndicator: {\r\n width: number;\r\n position: number;\r\n };\r\n}\r\n\r\nexport const LiveCasinoArenaNavbar = observer(class LiveCasinoArenaNavbar extends OrbitComponentWithState<\r\n ICasinoLiveArenaNavbarProps,\r\n ICasinoLiveArenaNavbarState\r\n > {\r\n private navbarRef = React.createRef();\r\n private buttonsRefs: Record> = {};\r\n private scrollContainerRef = React.createRef();\r\n\r\n private _scrollEventHandler: DomEventSubscription | null = null;\r\n private _resizeEventHandler: DomEventSubscription | null = null;\r\n\r\n constructor(props: ICasinoLiveArenaNavbarProps) {\r\n super(props);\r\n\r\n this.state = {\r\n activeButton: null,\r\n activeIndicator: {\r\n width: 0,\r\n position: 0,\r\n }\r\n };\r\n\r\n // Create a ref for each category button\r\n this.buttonsRefs = this.props.configs.toDictionary(config => config.headerConfiguration.filter, () => React.createRef())\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n\r\n if (!this.services.device.isMobile) {\r\n this._updateActiveIndicatorPosition();\r\n\r\n this._resizeEventHandler = this.services.window.subscribeTo.resize(\r\n this._updateActiveIndicatorPosition\r\n );\r\n\r\n this.reaction(() => this.services.liveTableFeeds.currentArenaTabConfiguration, () => {\r\n this._updateActiveIndicatorPosition();\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._resizeEventHandler && this._resizeEventHandler.dispose();\r\n this._scrollEventHandler && this._scrollEventHandler.dispose();\r\n this.props.stickyHandler && this.props.stickyHandler.dispose();\r\n }\r\n\r\n private _renderActiveIndicator() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onFilterClicked = async (tabId: string) => {\r\n await this.services.liveTableFeeds.setCurrentArenaTab(tabId);\r\n };\r\n\r\n\r\n\r\n private _updateActiveIndicatorPosition = () => {\r\n const activeButton = this.buttonsRefs[this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter]?.current;\r\n const scrollContainer = this.scrollContainerRef.current;\r\n\r\n // Use this width offset to make the active indicator larger than the actual button\r\n const widthOffset = 100;\r\n\r\n if (scrollContainer && activeButton) {\r\n this.setState({\r\n activeIndicator: {\r\n width: activeButton.offsetWidth + widthOffset,\r\n position:\r\n activeButton.getBoundingClientRect().left -\r\n widthOffset / 2 -\r\n scrollContainer.getBoundingClientRect().left,\r\n },\r\n });\r\n }\r\n };\r\n\r\n\r\n\r\n render() {\r\n const FilterButtonComponent = this.props.FilterButtonComponent || React.Fragment;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.props.configs.map((tabConfig) => {\r\n return (\r\n tabConfig.gridConfiguration.gamesId.length === 0 ? null :\r\n await this._onFilterClicked(tabConfig.headerConfiguration.filter)}\r\n buttonLabelRef={this.buttonsRefs[tabConfig.headerConfiguration.filter]}\r\n seoPage={tabConfig.headerConfiguration.seoPage}\r\n isActiveTab={tabConfig.headerConfiguration?.filter?.toLowerCase() === this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter?.toLowerCase()}\r\n />\r\n );\r\n\r\n })}\r\n \r\n {this._renderActiveIndicator()}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});\r\n","export const STICKY_NAVBAR = 'sticky-navbar';\r\n","import styled from \"styled-components\";\r\nimport {LOBBY_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport const SeoBreadcrumbsContainerBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin-top: 55px;\r\n }\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SeoSectionConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {CmsBannerComponent} from '../../cms-banner/cms-banner.component';\r\nimport {SeoBreadcrumbsContainerBox} from \"./seo-breadcrumbs-container.box\";\r\n\r\nexport interface SeoBreadCrumbsComponentProps {\r\n arenaName: string;\r\n config: SeoSectionConfiguration;\r\n}\r\n\r\nexport class SeoBreadCrumbsComponent extends OrbitComponent {\r\n render() {\r\n if(!this.props.config.display || this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport styled, { AnyStyledComponent } from 'styled-components';\r\nimport { BalanceType } from '../../../common/const/wallet_balance_type';\r\nimport { OrbitComponent } from \"../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IBalanceValueProps {\r\n balanceType?: BalanceType;\r\n className?: string;\r\n WrapperComponent?: AnyStyledComponent;\r\n}\r\n\r\nexport const BalanceValue = observer(class BalanceValue extends OrbitComponent {\r\n static defaultProps: Partial = {\r\n balanceType: BalanceType.BOTH,\r\n WrapperComponent: styled.span`\r\n color: ${props => props.theme.colors.moneyColor};\r\n `\r\n };\r\n render() {\r\n let bankroll = this.services.walletProxy.bankroll[this.props.balanceType!];\r\n const balanceMaxChars = 15;\r\n // Bankroll length limited by 15 chars\r\n const numberIndex = bankroll.search(/[0-9]/g);\r\n const symbolIndex = bankroll.search(/[^0-9.,]/g);\r\n let balance: string;\r\n\r\n if (numberIndex > symbolIndex) {\r\n balance = bankroll.slice(numberIndex, numberIndex + balanceMaxChars);\r\n bankroll = bankroll.slice(symbolIndex, numberIndex) + balance;\r\n } else {\r\n balance = bankroll.slice(numberIndex, Math.min(balanceMaxChars, symbolIndex - numberIndex));\r\n bankroll = balance + bankroll.slice(symbolIndex);\r\n }\r\n\r\n let WrapperComponent = this.props.WrapperComponent!;\r\n return \r\n { bankroll }\r\n ;\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\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} from \"../../../themes/css-global-classes\";\r\n\r\nexport interface IBannerContainerBoxProps {\r\n minHeight?: string;\r\n}\r\n\r\nexport const BannerContainerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow-x: hidden;\r\n\r\n .${LOBBY_PAGE} & {\r\n z-index: 2;\r\n background-color: ${props => props.theme.colors.background}\r\n }\r\n\r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n`};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {CmsBannerId} from '../../services/cms/cms-banners/cm-banner-id/cms-banner-id';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerDefinition} from '../../services/cms/cms-banners/banner-definition/empty-banner-definition';\r\nimport {IBannerDefinition} from '../../services/cms/cms-banners/banner-definition/banner-definition.interface';\r\nimport {BannerContainerBox} from \"./banner-container/banner-container.box\";\r\n\r\nexport interface CmsBannerComponentProps {\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n showPlaceholder: boolean;\r\n className?: string;\r\n minHeight?: string;\r\n}\r\n\r\nexport const CmsBannerComponent = observer(class CmsBannerComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n componentDidUpdate() {\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n private get _bannerId(): CmsBannerId {\r\n return new CmsBannerId(this.props.componentID, this.props.templateID, this.props.fallbackComponent);\r\n }\r\n\r\n private get _bannerDefinition(): IBannerDefinition {\r\n let contentDefinition = this.services.cmsBanners.bannersMap[this._bannerId.key];\r\n if (contentDefinition) {\r\n return contentDefinition;\r\n }\r\n\r\n return new EmptyBannerDefinition();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this._bannerDefinition.render({\r\n showPlaceholder: this.props.showPlaceholder,\r\n minHeight: this.props.minHeight\r\n })\r\n }\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst MobileBox = styled.div<{isHybridEmbedded: boolean}>`\r\n position: fixed;\r\n z-index:15;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 84px)' : '34px'};\r\n\r\n right: 3px;\r\n \r\n cursor: pointer;\r\n \r\n display: grid;\r\n grid-template-rows: 45px 30px;\r\n justify-items: center; \r\n`;\r\n\r\nconst PcBox = styled(MobileBox)`\r\n transform: scale(1.2);\r\n right: 20px;\r\n`;\r\n\r\nexport const DailyDealContainerBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\n\r\nconst glowRotateAnimation = keyframes`\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 20%, 25% {\r\n transform: rotate(90deg);\r\n } \r\n 45%, 50% {\r\n transform: rotate(180deg);\r\n } \r\n 70%, 75% {\r\n transform: rotate(270deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n `;\r\n\r\nexport const DailyDealChestGlowBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.glow.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 25px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 106px;\r\n width: 106px; \r\n z-index: -1;\r\n \r\n transform: rotate(30deg);\r\n animation: ${glowRotateAnimation} 4s infinite;\r\n`;\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst chestScaleAnimation = keyframes`\r\n 0% { \r\n transform: scale(1);\r\n }\r\n 40%, 50% { \r\n transform: scale(1.2);\r\n }\r\n 100% { \r\n transform: scale(1);\r\n }\r\n `;\r\n\r\n\r\nexport const DailyDealChestBox = styled.img` \r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n position: relative;\r\n height: 50px;\r\n \r\n animation: ${chestScaleAnimation} 2s infinite;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealTextStripBox = styled.span`\r\n background: url(${({theme}) => theme.images.dailyDeal.textStrip.toString()}) center no-repeat;\r\n background-size: cover;\r\n \r\n display: block;\r\n \r\n width: 120px;\r\n height: 30px;\r\n \r\n color: ${({theme}) => theme.colors.textLight};\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n \r\n padding: 2.5px 10px 0;\r\n text-align: center;\r\n font-size: 13px;\r\n line-height: 19px; \r\n}\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealChestHaloBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.halo.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 15px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 90px;\r\n width: 83px; \r\n z-index: -1;\r\n`;\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {DailyDealContainerBox} from \"./boxes/daily-deal-container.box\";\r\nimport {DailyDealChestGlowBox} from \"./boxes/daily-deal-chest-glow.box\";\r\nimport {DailyDealChestBox} from \"./boxes/daily-deal-chest.box\";\r\nimport {DailyDealTextStripBox} from \"./boxes/daily-deal-text-strip.box\";\r\nimport {DailyDealChestHaloBox} from \"./boxes/daily-deal-chest-halo.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const DailyDealComponent = observer(class DailyDealComponent extends OrbitComponent {\r\n\r\n render() {\r\n if (!this.services.dailyDeal.dailyDealCampaignId) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate(\"DAILY_DEAL_WIDGET_STRIP\") } \r\n \r\n \r\n );\r\n }\r\n\r\n private _onDailyDealClick = () => {\r\n this.services.analytics.sendAnalytics('Daily_Deal', 'Click', this.services.arenas.getCurrentArena().arenaName);\r\n this.services.dailyDeal.visitDailyDeal();\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FreePlayContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n \r\n`;\r\n\r\nconst FreePlayContainerMrGreenCisBox = styled(FreePlayContainerDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.brandPrimaryDark};\r\n`;\r\n\r\nexport const FreePlayContainerBox = styledByTheme(FreePlayContainerDefaultBox).forMrGreenCis(FreePlayContainerMrGreenCisBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBox = styled.div`\r\n width: 100%;\r\n flex-shrink: 0;\r\n position: relative;\r\n padding-top: 3.3rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.2rem;\r\n }\r\n\r\n .swiper-pagination {\r\n .swiper-pagination-bullet {\r\n background-color: white;\r\n opacity: 0.25;\r\n &.swiper-pagination-bullet-active {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n`","import styled, { css } from \"styled-components\";\r\n\r\nexport const VoucherSwiperArrowContainerBox = styled.div<{isPrev?: boolean;}>`\r\n position: absolute;\r\n width: 3rem;\r\n height: 4rem;\r\n background-size: contain;\r\n /* background-color: red; */\r\n z-index: 2;\r\n /* display: flex;\r\n flex-direction: column;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center; */\r\n font-size: 2rem;\r\n padding: 4px;\r\n cursor: pointer;\r\n top: 50%;\r\n transform: translate(0, -50%);\r\n ${({isPrev}) => isPrev ? css`\r\n left: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowPrev.toString()});\r\n ` : css`\r\n right: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowNext.toString()});\r\n `}\r\n &.swiper-button-disabled {\r\n opacity: 0.6;\r\n }\r\n`\r\n","import {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\nimport {Pagination, Navigation} from \"swiper\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {VouchersSwiperBox} from \"../../../boxes/vouchers-swiper/vouchers-swiper.box\";\r\nimport {VoucherSwiperArrowContainerBox} from \"../../../boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardComponent} from \"../voucher-card.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VouchersSwiperComponentProps {\r\n onCurrentVoucherIndexChanged: (voucherIndex: number) => void;\r\n}\r\n\r\nexport const VouchersSwiperComponent = observer(\r\n class VouchersSwiperComponent extends OrbitComponent {\r\n prevElement = React.createRef();\r\n nextElement = React.createRef();\r\n\r\n private get _vouchers(): IFreePlayVoucherViewModel[] {\r\n return this.services.freePlay.userVouchers;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {\r\n if (typeof swiper.params.navigation !== \"boolean\") {\r\n swiper.params.navigation.prevEl = this.prevElement.current;\r\n swiper.params.navigation.nextEl = this.nextElement.current;\r\n }\r\n }}\r\n onActiveIndexChange={(swiper) => {\r\n this.props.onCurrentVoucherIndexChanged(swiper.activeIndex);\r\n }}\r\n >\r\n {this._vouchers.map((v) => {\r\n return \r\n {({ isActive }) => {\r\n return \r\n }}\r\n \r\n })}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const VoucherGamesListDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n height: 100%;\r\n width: 100%;\r\n align-items: center;\r\n margin: 0.5rem 0rem 2rem;\r\n`;","import styled from \"styled-components\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListMrGreenCisBox = styled(VoucherGamesListDefaultBox)`\r\n margin: 0;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListSiBox = styled(VoucherGamesListDefaultBox)`\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\nimport { VoucherGamesListMrGreenCisBox } from \"./voucher-games-list.mrGreenCis.box\";\r\nimport { VoucherGamesListSiBox } from \"./voucher-games-list.siCis.box\";\r\n\r\nexport const VoucherGamesListBox = styledByTheme(VoucherGamesListDefaultBox)\r\n .forSICis(VoucherGamesListSiBox)\r\n .forMrGreenCis(VoucherGamesListMrGreenCisBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst VouchersSwiperTitleDefaultBox = styled.div`\r\n text-align: center;\r\n font-size: 1.3rem;\r\n padding: 5px 4px 10px 4px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst VouchersSwiperTitleSIBox = styled(VouchersSwiperTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nexport const VouchersSwiperTitleBox = styledByTheme(VouchersSwiperTitleDefaultBox)\r\n .forSI(VouchersSwiperTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBackgroundBox = styled.div`\r\n width: 100%;\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()});\r\n background-repeat: no-repeat;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()}) 0 -44px;\r\n background-size: cover;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\n\r\nconst VouchersGamesListTitleDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n padding: 10px 4px 10px 4px;\r\n width: 100%;\r\n\r\n border-bottom-width: 4px;\r\n border-bottom-style: solid;\r\n border-bottom-color: #0e0e0e;\r\n \r\n text-align: center;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasino777Box = styled(VouchersGamesListTitleDefaultBox)`\r\n border-top: 1px solid transparent;\r\n padding-top: 1.2rem;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSICisBox = styled(VouchersGamesListTitleDefaultBox)`\r\n font-size: 1.15rem;\r\n ${({theme}) => theme.font.presets.thin}\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSIBox = styled(VouchersGamesListTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenBox = styled(VouchersGamesListTitleDefaultBox)`\r\n border-bottom: 1px solid ${({theme}) => hexToRgba(theme.colors.boxBorderLighter, 0.2)};\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenCisBox = styled(VouchersGamesListTitleMrGreenBox)`\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;\r\n\r\n\r\n\r\nexport const VouchersGamesListTitleBox = styledByTheme(VouchersGamesListTitleDefaultBox)\r\n .forCasino777(VouchersGamesListTitleCasino777Box)\r\n .forSICis(VouchersGamesListTitleCasinoSICisBox)\r\n .forSI(VouchersGamesListTitleCasinoSIBox)\r\n .forMrGreen(VouchersGamesListTitleMrGreenBox)\r\n .forMrGreenCis(VouchersGamesListTitleMrGreenCisBox)\r\n .apply();","import React, {PropsWithChildren} from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {FreePlayContainerBox} from \"./boxes/container/free-play-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VouchersSwiperComponent} from \"./parts/voucher-card/swiper/vouchers-swiper.component\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {VoucherGamesListBox} from \"./boxes/voucher-games-list/voucher-games-list.box\";\r\nimport {VouchersSwiperTitleBox} from \"./boxes/vouchers-swiper/vouchers-swiper-title.box\";\r\nimport {VouchersSwiperBackgroundBox} from \"./boxes/vouchers-swiper/vouchers-swiper-background.box\";\r\nimport {VouchersGamesListTitleBox} from \"./boxes/voucher-games-list-title/voucher-games-list-title.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {GameItemComponent} from \"../game-item/game-item.component\";\r\n\r\n@observer\r\nexport class FreePlayContainerComponent extends OrbitComponent {\r\n\r\n constructor(props: PropsWithChildren) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n currentVoucherIndex = 0;\r\n\r\n @action.bound\r\n private _onCurrentVoucherChangedHandler = (voucherIndex: number) => {\r\n this.currentVoucherIndex = voucherIndex;\r\n };\r\n\r\n private _renderVoucherGames = () => {\r\n const currentVoucher = this.services.freePlay.userVouchers[this.currentVoucherIndex];\r\n if(!currentVoucher) {\r\n return null;\r\n }\r\n\r\n return (\r\n {currentVoucher.freePlayGames.map(voucherGame => {\r\n await voucherGame.play()\r\n }}\r\n style={{marginBottom: \"1.5rem\"}}\r\n />)}\r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_LIST_TITLE')}\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_GAMES_LIST_TITLE')}\r\n \r\n {this._renderVoucherGames()}\r\n \r\n )\r\n }\r\n}","import styled, {css} from \"styled-components\";\r\nimport {VOUCHER_CARD_WIDTH} from \"../../voucher-card-css-constants\";\r\n\r\nexport const VoucherCardBox = styled.div<{showCursor: boolean; }>`\r\n position: relative;\r\n\r\n width: ${VOUCHER_CARD_WIDTH};\r\n height: 170px;\r\n margin: 0 auto 26px;\r\n ${props => props.showCursor ? css`cursor: pointer` : ''};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 240px;\r\n height: 145px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideBox = styled.div<{backgroundImageUrl: string; backSideShown: boolean;}>`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n background-image: url(\"${props => props.backgroundImageUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: cover;\r\n width: 100%;\r\n box-sizing: border-box;\r\n height: 100%;\r\n transition: transform 0.6s;\r\n backface-visibility: hidden;\r\n padding: 10px 20px 20px 20px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardFaceBox = styled(VoucherCardSideBox)`\r\n align-items: center;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"180deg\" : \"0\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n line-height: 1.2;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n justify-content: center;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardFaceFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n padding-right: 15px;\r\n height: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceDetailsBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceOriginalAmountBox = styled.div`\r\n font-size: 3rem;\r\n white-space: nowrap;\r\n ${({theme}) => theme.font.presets.ultra};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceVoucherNameBox = styled.div`\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n letter-spacing: 1px;\r\n text-transform: uppercase;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.5rem;\r\n margin-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconBox = styled.div<{iconUrl: string}>`\r\n background-image: url(\"${props => props.iconUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: contain;\r\n width: 7.5em;\r\n height: 7.5em;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 6em;\r\n width: 6em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountBox = styled.span`\r\n ${({theme}) => theme.font.presets.bold};\r\n padding-left: 4px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideToggleButtonBox = styled.div`\r\n border: 1px solid;\r\n border-radius: 50%;\r\n padding: 1px;\r\n box-sizing: content-box;\r\n width: 1.4rem;\r\n height: 1.4rem;\r\n cursor: pointer;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n flex-grow: 1;\r\n height: 100%;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const VoucherCardFaceHeaderBox = styled.div<{isCloseToExpiration: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n width: 100%;\r\n font-size: 1.1rem;\r\n line-height: 1;\r\n ${\r\n props => props.isCloseToExpiration \r\n ? css`\r\n color: ${props.theme.colors.danger};\r\n ${props.theme.font.presets.bold};\r\n `\r\n : ''\r\n }\r\n`;\r\n","import {\r\n OrbitComponentWithState\r\n} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceHeaderBox} from \"../../../boxes/voucher-card/face/header/voucher-card-face-header.box\";\r\nimport React from \"react\";\r\n\r\ninterface VoucherCardFaceHeaderComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: () => void;\r\n}\r\n\r\ninterface VoucherCardFaceHeaderComponentState {\r\n expirationMessage: string;\r\n}\r\n\r\nexport class VoucherCardFaceHeaderComponent extends OrbitComponentWithState {\r\n\r\n constructor(props: VoucherCardFaceHeaderComponentProps) {\r\n super(props);\r\n this.state = {\r\n expirationMessage: props.voucher.expirationMessage\r\n };\r\n }\r\n\r\n private _expirationTimer: any = null;\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(this.props.voucher.isCloseToExpiration) {\r\n this._expirationTimer = setInterval(() => {\r\n this.setState({\r\n expirationMessage: this.props.voucher.expirationMessage\r\n })\r\n }, 1000);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._expirationTimer) {\r\n clearInterval(this._expirationTimer);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.voucher.expirationMessage}\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceBox} from \"../../../boxes/voucher-card/face/voucher-card-face.box\";\r\nimport {VoucherCardFaceContentBox} from \"../../../boxes/voucher-card/face/content/voucher-card-face-content.box\";\r\nimport {VoucherCardFaceFooterBox} from \"../../../boxes/voucher-card/face/footer/voucher-card-face-footer.box\";\r\nimport {VoucherCardFaceIconContainerBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box\";\r\nimport {\r\n VoucherCardFaceDetailsBox\r\n} from \"../../../boxes/voucher-card/face/content/details/voucher-card-face-details.box\";\r\nimport {\r\n VoucherCardFaceOriginalAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box\";\r\nimport {\r\n VoucherCardFaceVoucherNameBox\r\n} from \"../../../boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountContainerBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VoucherCardFaceIconBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VoucherCardFaceHeaderComponent} from \"./voucher-card-face-header.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardFaceComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide?: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\n\r\nexport const VoucherCardFaceComponent = observer(\r\n class VoucherCardFaceComponent extends OrbitComponent {\r\n\r\n private _renderOriginalAmount() {\r\n return (\r\n \r\n {this.props.voucher.formattedOriginalAmount || this.props.voucher.formattedCurrentBalance}\r\n \r\n )\r\n }\r\n\r\n private _renderCurrentAmount() {\r\n if(!this.props.voucher.formattedOriginalAmount) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_VOUCHER_BALANCE_PREFIX')}\r\n \r\n \r\n {this.props.voucher.formattedCurrentBalance}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let InfoIcon = this.services.theme.currentTheme.icons.infoIcon;\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {this._renderOriginalAmount()}\r\n \r\n {this.props.voucher.voucherName}\r\n \r\n {this._renderCurrentAmount()}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardBackBox = styled(VoucherCardSideBox)`\r\n align-items: flex-start;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"0\" : \"180deg\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackHeaderBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n flex-grow: 1;\r\n font-size: 1.2rem;\r\n line-height: 1.3;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardBackFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBackBox} from \"../../../boxes/voucher-card/back/voucher-card-back.box\";\r\nimport {VoucherCardBackHeaderBox} from \"../../../boxes/voucher-card/back/header/voucher-card-back-header.box\";\r\nimport {VoucherCardBackContentBox} from \"../../../boxes/voucher-card/back/content/voucher-card-back-content.box\";\r\nimport {VoucherCardBackFooterBox} from \"../../../boxes/voucher-card/back/footer/voucher-card-back-footer.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardBackComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\nexport const VoucherCardBackComponent = observer(\r\n class VoucherCardBackComponent extends OrbitComponent {\r\n render() {\r\n let CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n return (\r\n \r\n \r\n {this.props.voucher.voucherName}\r\n \r\n \r\n {this.props.voucher.voucherDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from \"react\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBox} from \"../../boxes/voucher-card/voucher-card.box\";\r\nimport {VoucherCardFaceComponent} from \"./face/voucher-card-face.component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {VoucherCardBackComponent} from \"./back/voucher-card-back.component\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\n\r\ninterface VoucherCardComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: (voucher: IFreePlayVoucherViewModel) => void;\r\n}\r\n\r\ninterface VoucherCardComponentState {\r\n showBackSide: boolean;\r\n}\r\n\r\nexport const VoucherCardComponent = observer(\r\n class VoucherCardComponent extends OrbitComponentWithState {\r\n constructor(props: VoucherCardComponentProps) {\r\n super(props);\r\n this.state = {\r\n showBackSide: false\r\n }\r\n }\r\n private _onToggleSide = () => {\r\n this.setState({\r\n showBackSide: !this.state.showBackSide\r\n });\r\n }\r\n\r\n private _onCardSideClickHandler = () => {\r\n if (this.props.onClick) {\r\n this.props.onClick(this.props.voucher);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n);","export const VOUCHER_CARD_WIDTH = '282px';","import {FreeToPlayAnimatedIconDefaultBox} from \"./free-to-play-animated-icon.default.box\";\r\n\r\nexport const FreeToPlayAnimatedIconBox = FreeToPlayAnimatedIconDefaultBox;","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayAnimatedIconDefaultBox = styled.div`\r\n position: fixed;\r\n z-index: 4;\r\n bottom: 0;\r\n right: 0; \r\n width: 150px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayClickBox = styled.div`\r\n position: fixed;\r\n cursor: pointer;\r\n z-index: 5;\r\n bottom: 0;\r\n right: 0;\r\n width: 150px;\r\n height: 123px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n height: 106px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {FreeToPlayAnimatedIconBox} from \"./boxes/free-to-play-animated-icon.box\";\r\nimport {AnimatedIconObservableTarget, AnimatedIconUnloadReason, IAnimatedIconRequestOptions} from \"../../services/pixi-app/animated-icon-base-service.service\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\nimport {FreeToPlayClickBox} from \"./boxes/free-to-play-click.box\";\r\n\r\nexport const FreeToPlayAnimatedIconComponent = observer(class FreeToPlayAnimatedIconComponent extends OrbitComponent {\r\n private iconRequestOptions = {\r\n jsonUrl: this.services.theme.currentTheme.images.f2p.freeToPlay.toString(),\r\n size: {\r\n width: 445,\r\n height: 364\r\n },\r\n timings: {\r\n delay: 2000,\r\n interval: 3000\r\n }\r\n };\r\n\r\n private iconObservableTarget: AnimatedIconObservableTarget | undefined;\r\n\r\n private _captureElementRefForIcon(element: HTMLElement | null) {\r\n // if element is null (the component was unmounted) or the element changed, then check if we have a currently running/loading animation and remove it\r\n if (!element || (this.iconObservableTarget && this.iconObservableTarget.wrapper !== element)) {\r\n // if the current animation is loading, cancel it\r\n // if the current animation is already running, stop and dispose it\r\n // animation disposer do both things, abort if loading, dispose if running\r\n if (this.iconObservableTarget && this.iconObservableTarget.animationDisposer) {\r\n this.iconObservableTarget.animationDisposer(AnimatedIconUnloadReason.REQUESTED);\r\n }\r\n }\r\n // if the element exists and is different from the previous one, then the animation must be started\r\n if (element && (!this.iconObservableTarget || this.iconObservableTarget.wrapper !== element)) {\r\n let requestOptions: Omit = this.iconRequestOptions;\r\n // update the reference\r\n this.iconObservableTarget = {\r\n ...requestOptions,\r\n wrapper: element\r\n };\r\n this.services.freeToPlay.loadFreeToPlayAnimation(this.iconObservableTarget);\r\n }\r\n // if element is null just update the reference so we know next time the capture is ran\r\n if (!element) {\r\n this.iconObservableTarget = undefined;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.services.freeToPlay.isPromotionEligible) {\r\n this._sendAnalytics(\"SHOW\");\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.services.freeToPlay.isPromotionEligible) {\r\n return null;\r\n }\r\n\r\n if (this.services.freeToPlay.isPromotionOpened) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n this._openBonusWheel()} />\r\n \r\n );\r\n }\r\n\r\n private _openBonusWheel = async () => {\r\n this._sendAnalytics(\"CLICK\");\r\n await this.services.freeToPlay.showPromotion({\r\n channel: {\r\n area: AreaType.button,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.floatingIcon\r\n }\r\n }\r\n );\r\n }\r\n\r\n private _sendAnalytics(action: string) {\r\n try {\r\n let options: ISendElasticEventOptions = {\r\n action: action,\r\n category: \"Floating_icon\",\r\n eventType: \"bonus_widget\",\r\n appID: \"F2P\",\r\n customData: {\r\n location: this.services.location.isHomePage ? 'homepage' : this.services.location.currentUri.pathName.toString(),\r\n segmentation: this.services.user.playerRMSStatus\r\n }\r\n };\r\n this.services.analytics.sendElasticInfoEvent(options, true);\r\n }\r\n catch (err) {\r\n console.log(\"Floating_icon \" + action + \" analytics report failed with error: \" + err);\r\n }\r\n }\r\n});","import styled, { css } from 'styled-components';\r\nimport {FP_VOUCHER_TYPES} from \"../../../../common/const/free_play_consts\";\r\n\r\n\r\n\r\nexport const GameItemContainerBox = styled.div<{freePlayType?: FP_VOUCHER_TYPES; hide?: boolean;}>`\r\n // cgp-game-item-container\r\n display: ${({hide}) => hide ? \"none\" : \"flex\"};\r\n ${({freePlayType, theme}) => freePlayType ? css`\r\n width: 35.5rem;\r\n ` : \"\"}\r\n\r\n /* When inside .cgp-free-play-games-list-component.cgp-fp-games-disabled apply {cursor: auto; z-index: -1;} // see games.scss in free_play */\r\n .cgp-free-play-games-list-component.cgp-fp-games-disabled & {\r\n cursor: auto;\r\n z-index: -1;\r\n }\r\n\r\n /* When also have cgp-game-item-fp class but is inside .idleRecommendation-layout apply width: 100% */\r\n .idleRecommendation-layout &.cgp-game-item-fp {\r\n width: 100%;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const GameItemImgWrapperBox = styled.div`\r\n // cgp-game-item-img-wrapper\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n position: relative;\r\n width: 12rem;\r\n flex-shrink: 0;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 11.4rem;\r\n ${CssRule.For.iPhoneVer5.build()} {\r\n width: 6.5rem;\r\n background-position: center center;\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nimport { OrbitTheme } from '../../../themes/architecture/orbit-theme.interface';\r\nimport {FP_VOUCHER_TYPES} from \"../../../../common/const/free_play_consts\";\r\n\r\nlet freePlayBgImage = (theme: OrbitTheme, freePlayType: FP_VOUCHER_TYPES) => {\r\n switch (freePlayType) {\r\n case FP_VOUCHER_TYPES.FreeSpin:\r\n return theme.images.freePlay.typeFS.toString();\r\n case FP_VOUCHER_TYPES.FreePlay:\r\n return theme.images.freePlay.typeFP.toString();\r\n case FP_VOUCHER_TYPES.FreeJackpotSpin:\r\n return theme.images.freePlay.typeJFS.toString();\r\n case FP_VOUCHER_TYPES.FreeJackpotPlay:\r\n return theme.images.freePlay.typeJFP.toString();\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const GameItemFpThumbBox = styled.div<{freePlayType?: FP_VOUCHER_TYPES, useSquareIcons?: boolean}>`\r\n position: absolute;\r\n bottom: ${({useSquareIcons}) => useSquareIcons ? \"-1.5rem\": \"0.5rem\"};\r\n right: ${({useSquareIcons}) => useSquareIcons ? \"-1.5rem\": \"-0.5rem\"};\r\n display: ${({freePlayType}) => freePlayType ? \"block\": \"none\"};\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: ${({theme, freePlayType}) => 'url(\"' + freePlayBgImage(theme, freePlayType) + '\")' };\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameItemDelimiterBox = styled.div`\r\n width: 2.5rem;\r\n margin-left: 2rem;\r\n background-size: cover;\r\n flex-shrink: 0;\r\n background-image: url(${props => '\"' + props.theme.images.verticalLineGlow.toString() + '\"'});\r\n /* Inside .idleRecommendation-layout apply: width: 1.5rem; */\r\n .idleRecommendation-layout & {\r\n width: 1.5rem;\r\n }\r\n`;","import styled from 'styled-components';\r\n\r\nexport const GameItemDetailsWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n flex-grow: 1;\r\n text-align: center;\r\n min-height: 16rem;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { styledByTheme } from '../../../themes/architecture/styled-by-theme';\r\n\r\nconst GameItemTitleDefaultBox = styled.div`\r\n margin-bottom: 0.5rem;\r\n width: 15rem;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\nconst GameItemTitleCasino777Box = styled(GameItemTitleDefaultBox)`\r\n font-size: 1.5rem;\r\n`;\r\nexport const GameItemTitleBox = styledByTheme(GameItemTitleDefaultBox).forCasino777(GameItemTitleCasino777Box).apply();\r\n","import styled from 'styled-components';\r\nimport { styledByTheme } from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const GameItemJackpotDefaultBox = styled.div`\r\n width: 15rem;\r\n margin: 5px 0;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n\r\nexport const GameItemJackpotSICisBox = styled(GameItemJackpotDefaultBox)`\r\n width: 75%;\r\n`;\r\n\r\n\r\n\r\nexport const GameItemJackpotBox = styledByTheme(GameItemJackpotDefaultBox).forSICis(GameItemJackpotSICisBox).apply();\r\n","import styled from 'styled-components';\r\n\r\nexport const GameItemButtonsAreaBox = styled.div`\r\n margin-top: 0.5rem;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../basic-ui-components/button/base/button.component';\r\nimport {GameInfo} from '../../services/games/game-info';\r\nimport {GameItemComponentProps} from '../../../common/interfaces/orbit-component-to-sdk-adapter/components-props/game-item.component-props';\r\nimport {GameItemContainerBox} from './boxes/game-item-container.box';\r\nimport {GameItemImgWrapperBox} from './boxes/game-item-img-wrapper.box';\r\nimport {GameItemFpThumbBox} from './boxes/game-item-fp-thumb.box';\r\n// import { GameItemThumbnailBox } from './boxes/game-item-thumbnail.box';\r\nimport {GameItemDelimiterBox} from './boxes/game-item-delimiter.box';\r\nimport {GameItemDetailsWrapperBox} from './boxes/game-item-details-wrapper.box';\r\nimport {GameItemTitleBox} from './boxes/game-item-title.box';\r\nimport {GameItemJackpotBox} from './boxes/game-item-jackpot.box';\r\nimport {GameItemButtonsAreaBox} from './boxes/game-item-buttons-area.box';\r\nimport {GameImageComponent} from '../single-game/common/parts/game-image/game-image.component';\r\nimport {GameJackpotComponent} from \"../game-jackpot/game-jackpot.component\";\r\n\r\n/**\r\n * This component (used for idle-recommendation toaster)\r\n * may have roughly the same functionality and/or visual\r\n * as game-popup.component.tsx\r\n * TODO: Maybe make a common component\r\n */\r\nexport class GameItemComponent extends OrbitComponent {\r\n render() {\r\n let playBtnText = this.props.playBtnText || this.services.translation.translate('PLAY');\r\n let gameInfo: GameInfo = this.services.games.gamesMap[this.props.gameType];\r\n\r\n return (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {gameInfo.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const GameJackpotDefaultBox = styled.div`\r\n width: 100%;\r\n color: ${props => props.theme.colors.moneyColor};\r\n font-weight: 600;\r\n`","import styled from \"styled-components\";\r\nimport {GameJackpotDefaultBox} from \"./game-jackpot.default.box\";\r\n\r\nexport const GameJackpotSIBox = styled(GameJackpotDefaultBox)`\r\n border-left: solid 5px ${props => props.theme.colors.brandSecondary};\r\n border-top-left-radius: 2px;\r\n border-bottom-left-radius: 2px;\r\n padding-left: 3px;\r\n`","import { GameJackpotDefaultBox } from \"./game-jackpot.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameJackpotSIBox } from \"./game-jackpot.si.box\";\r\n\r\nexport const GameJackpotBox = styledByTheme(GameJackpotDefaultBox)\r\n .forSI(GameJackpotSIBox)\r\n .forSICis(GameJackpotSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const GameJackpotValueDefaultBox = styled.div`\r\n word-break: break-all;\r\n`","import styled from \"styled-components\";\r\nimport {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\n\r\nexport const GameJackpotValueSIBox = styled(GameJackpotValueDefaultBox)`\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.moneyColor};\r\n padding: 2px 0;\r\n border-top-right-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n`;","import styled from \"styled-components\";\r\nimport {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\n\r\nexport const GameJackpotValueMrGreenBox = styled(GameJackpotValueDefaultBox)`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: bold;\r\n font-size: 16px;\r\n background: ${props => props.theme.colors.brandPrimaryDark};\r\n box-shadow: 0px 0px 0px rgba(1, 85, 54, 0.6), inset 0px 0px 20px rgba(255, 255, 255, 0.1), inset 0px 0px 10px ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.moneyColor};\r\n height: 30px;\r\n width: 140px;\r\n border-radius: 3px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n margin-bottom: 5px;\r\n margin-top: 5px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 12px;\r\n width: 108px;\r\n height: 20px;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.xs} {\r\n font-size: 10px;\r\n width: 88px;\r\n height: 20px;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { GameJackpotValueSIBox } from \"./game-jackpot-value.si.box\";\r\n\r\nexport const GameJackpotValueSICisBox = styled(GameJackpotValueSIBox)`\r\n letter-spacing: 0.44px;\r\n`;","import {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {GameJackpotValueSIBox} from \"./game-jackpot-value.si.box\";\r\nimport {GameJackpotValueMrGreenBox} from \"./game-jackpot-value.mrgreen.box\";\r\nimport { GameJackpotValueSICisBox } from \"./game-jackpot-value.siCis.box\";\r\n\r\nexport const GameJackpotValueBox = styledByTheme(GameJackpotValueDefaultBox)\r\n .forSI(GameJackpotValueSIBox)\r\n .forSICis(GameJackpotValueSICisBox)\r\n .forMrGreen(GameJackpotValueMrGreenBox)\r\n .forMrGreenCis(GameJackpotValueMrGreenBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {GameJackpotBox} from \"./boxes/root/game-jackpot.box\";\r\nimport {GameJackpotValueBox} from \"./boxes/value/game-jackpot-value.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\n\r\nexport interface GameJackpotComponentProps {\r\n gameType: number;\r\n className?: string;\r\n}\r\n\r\nexport const GameJackpotComponent = observer(\r\n class GameJackpotComponent extends OrbitComponent {\r\n render() {\r\n\r\n const jackpotValue = this.services.jackpots.getGameJackpot(this.props.gameType);\r\n if(!jackpotValue) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n {this.services.currency.formatMoney(jackpotValue)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","\r\nexport const GAME_PC_BUTTON_WIDTH = '20px';\r\nexport const GAME_PC_BUTTON_HEIGHT = '20px';\r\n\r\n\r\nexport const GAME_MOBILE_BUTTON_WIDTH = '14px';\r\nexport const GAME_MOBILE_BUTTON_HEIGHT = '14px';","import styled from \"styled-components\";\r\nimport {XCloseButtonBox} from \"../../../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\nimport {\r\n GAME_MOBILE_BUTTON_HEIGHT,\r\n GAME_MOBILE_BUTTON_WIDTH, GAME_PC_BUTTON_HEIGHT, GAME_PC_BUTTON_WIDTH\r\n} from \"../../../../game-css-constants\";\r\n\r\nexport const GameHeaderBarCloseButtonBox = styled(XCloseButtonBox)`\r\n width: ${GAME_PC_BUTTON_WIDTH};\r\n height: ${GAME_PC_BUTTON_HEIGHT};\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: ${GAME_MOBILE_BUTTON_WIDTH};\r\n height: ${GAME_MOBILE_BUTTON_HEIGHT};\r\n }\r\n`\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GeoModalWrapperBox = styled.div`\r\n max-width: 560px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-content: center;\r\n align-items: center;\r\n\r\n width: 25vw;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 82vw;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow + \" and \" + theme.mediaQuery.landscape} {\r\n width: 56vw;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HEADER_Z_INDEX} from \"../../header-consts\";\r\n\r\nexport const HeaderNavbarMobileBaseDefaultBox = styled.div`\r\n z-index: ${HEADER_Z_INDEX};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseSiBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseMrGreenBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/casino888/cis/base-colors\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseCisBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n background-color: ${baseColors.black};\r\n color: #cccccc;\r\n`;","import { HeaderNavbarMobileBaseDefaultBox } from \"./header-navbar-mobile-base.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HeaderNavbarMobileBaseSiBox } from \"./header-navbar-mobile-base.si.box\";\r\nimport {HeaderNavbarMobileBaseMrGreenBox} from \"./header-navbar-mobile-base.mrgreen.box\";\r\nimport { HeaderNavbarMobileBaseCisBox } from \"./header-navbar-mobile-base.cis.box\";\r\n\r\nexport const HeaderNavbarMobileBaseBox = styledByTheme(HeaderNavbarMobileBaseDefaultBox)\r\n .forSI(HeaderNavbarMobileBaseSiBox)\r\n .forSICis(HeaderNavbarMobileBaseCisBox)\r\n .forCis(HeaderNavbarMobileBaseCisBox)\r\n .forCip(HeaderNavbarMobileBaseCisBox)\r\n .forMrGreen(HeaderNavbarMobileBaseMrGreenBox)\r\n .apply();\r\n","export const HEADER_Z_INDEX = 105;","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseBox} from \"../../../boxes/header-navbar-mobile-base/header-navbar-mobile-base.box\";\r\nimport {HEADER_Z_INDEX} from \"../../../header-consts\";\r\n\r\nexport const RegulatoryDataDefaultBox = styled(HeaderNavbarMobileBaseBox)`\r\n display: flex;\r\n align-items: center;\r\n position: sticky;\r\n top: 0;\r\n z-index: ${HEADER_Z_INDEX + 1};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: column;\r\n width: 100%;\r\n padding: calc(env(safe-area-inset-top) + 0.5rem) 1.5rem 0.5rem 1.5rem;\r\n }\r\n\r\n .cgp-dk & {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\n\r\nexport const RegulatoryDataMrGreenBox = styled(RegulatoryDataDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\nimport {RegulatoryDataMrGreenBox} from \"./regulatory-data.mrgreen.box\";\r\n\r\nexport const RegulatoryDataBox = styledByTheme(RegulatoryDataDefaultBox)\r\n .forMrGreen(RegulatoryDataMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin: auto 0;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n font-size: 0.9rem;\r\n line-height: 1.2;\r\n\r\n a {\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n max-width: 40%;\r\n text-align: left;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n max-width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n max-width: 100%;\r\n padding: 0.25rem 0;\r\n font-size: 1rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const GamblingWarningDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GamblingWarningDefaultBox} from \"./gambling-warning.default.box\";\r\n\r\nexport const GamblingWarningBox = GamblingWarningDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from '../../raw-components/link/link';\r\nimport {GamblingWarningBox} from \"./boxes/gambling-warning.box\";\r\n\r\nexport const GamblingWarningComponent = observer(class GamblingWarningComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n let gamblingMessageConfig = this.services.configuration.data.header.gambling_message;\r\n if(!gamblingMessageConfig || !gamblingMessageConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part1')}\r\n \r\n {'Probabilità di vincita'}\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part2')}\r\n \r\n {'maggiori informazioni.'}\r\n \r\n \r\n );\r\n\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n align-items: center;\r\n`;\r\n\r\nconst Mobilebox = styled(DefaultBox)`\r\n width: 100%;\r\n padding: 0.5rem 0 0 0;\r\n justify-content: center;\r\n\r\n .cgp-dk & {\r\n justify-content: flex-start;\r\n }\r\n`;\r\n\r\nexport const ResponsibleGamingIconsDefaultBox = styledByDevice(PcBox, Mobilebox);\r\n","import {ResponsibleGamingIconsDefaultBox} from \"./responsible-gaming-icons.default.box\";\r\n\r\nexport const ResponsibleGamingIconsBox = ResponsibleGamingIconsDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {ResponsibleIconsAgeButtonConfiguration} from '../../../services/configurations/config-data-sections/header.configuration';\r\nimport {ResponsibleGamingIconsBox} from \"./boxes/responsible-gaming-icons.box\";\r\n\r\nexport const ResponsibleIconsComponent = observer(class ResponsibleIconsComponent extends OrbitComponent {\r\n\r\n private _renderAgeButton(ageButtonConfig: ResponsibleIconsAgeButtonConfiguration) {\r\n if(ageButtonConfig && ageButtonConfig.display) {\r\n return this.services.regulation.current.components.renderHeaderMinimumGamblingAge();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderResponsibleIcons() {\r\n return this.services.regulation.current.components.renderHeaderRegulationIcons();\r\n }\r\n\r\n render() {\r\n let responsibleIconsConfig = this.services.configuration.data.header.responsibleIcons;\r\n if(!responsibleIconsConfig || !responsibleIconsConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderAgeButton(responsibleIconsConfig.ageButton)}\r\n {this._renderResponsibleIcons()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {RegulatoryDataBox} from \"../../top-header-left/regulatory-data/boxes/regulatory-data.box\";\r\nimport {HeaderConfiguration} from '../../../../services/configurations/config-data-sections/header.configuration';\r\nimport {GamblingWarningComponent} from '../../gambling-warning/gambling-warning.component';\r\nimport {ResponsibleIconsComponent} from '../../responsible-icons/responsible-icons.component';\r\nimport {ClockAndLastLoginBoxComponent} from '../../../clock-and-last-login-box/clock-and-last-login-box.component';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface RegulatoryDataComponentProps {\r\n attachToHeaderService: boolean;\r\n}\r\n\r\n@observer\r\nexport class RegulatoryDataComponent extends OrbitComponent {\r\n\r\n private get _headerConfig(): HeaderConfiguration {\r\n return this.services.configuration.data.header;\r\n }\r\n\r\n private _captureHeaderUpperRef = (element: HTMLElement | null) => {\r\n if(this.props.attachToHeaderService) {\r\n this.services.header.setHeaderRegulationDataElement(element);\r\n }\r\n };\r\n\r\n private _renderMobileLastLogin() {\r\n if (this.services.device.isMobile) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getRegulatoryContent() {\r\n if (this.services.miniOrbit.isCis) {\r\n return null;\r\n }\r\n\r\n\r\n let gamblingMessageConfig = this._headerConfig.gambling_message;\r\n let responsibleIconsConfig = this._headerConfig.responsibleIcons;\r\n\r\n if (responsibleIconsConfig && responsibleIconsConfig.display) {\r\n return ;\r\n } else if (gamblingMessageConfig && gamblingMessageConfig.display) {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderMobileLastLogin()}\r\n {this._getRegulatoryContent()}\r\n \r\n );\r\n }\r\n}\r\n","import {ButtonSizeVariant} from \"../../../basic-ui-components/button/base/button-props.interface\";\r\nimport {IServiceFactory} from \"../../../services/service-factory.interface\";\r\nimport React from \"react\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\nexport function getButtonSizeVariant(services: IServiceFactory): ButtonSizeVariant {\r\n if(services.mediaQuery.lAndBelow) {\r\n return \"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 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 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}>`\r\n background-size: contain;\r\n height: 50px;\r\n width: 50px;\r\n position: fixed;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 100px)' : '50px'};\r\n right: 55px;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n z-index: 3;\r\n ${CssRule.For.mobile.build()} & {\r\n right: 40px;\r\n }\r\n ${props => props.hasCircle? css`\r\n background-repeat: no-repeat;\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n border-radius: 50%;\r\n ` : '' }\r\n`;","import styled, {css, keyframes, DefaultTheme} from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\n\r\nconst linkToOfferIconKeyframes = (props: {theme: DefaultTheme}) => keyframes`\r\n 0% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0.5)};\r\n }\r\n 60% {\r\n transform: scale(1);\r\n }\r\n 80% {\r\n transform: scale(1);\r\n box-shadow: 0 0 0 35px ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n 100% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n`;\r\n\r\nexport const LinkToOfferIconDefaultBox = styled(LinkToOfferBoxBase)`\r\n ${props => props.shouldAnimate ? css`animation: ${linkToOfferIconKeyframes} 1.2s infinite` : ''};\r\n /* temporary solution for disabling button on mobile landscape - remove once banners will support landscape mode for phones */\r\n ${CssRule.For.mobile.landscape.not.tablet.build()} & {\r\n visibility: hidden;\r\n }\r\n`;\r\n","import {LinkToOfferIconDefaultBox} from \"./link-to-offer-icon.default.box\";\r\n\r\nexport const LinkToOfferIconBox = LinkToOfferIconDefaultBox;\r\n","import {LinkToOfferDialogCloseDefaultBox} from \"./link-to-offer-dialog-close.default.box\";\r\n\r\nexport const LinkToOfferDialogCloseBox = LinkToOfferDialogCloseDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\n\r\nexport const LinkToOfferDialogCloseDefaultBox = styled(LinkToOfferBoxBase)<{zIndex?: number}>`\r\n z-index: ${props => props.zIndex ?? 201};\r\n`;\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LinkToOfferIconBox} from \"./boxes/link-to-offer-icon/link-to-offer-icon.box\";\r\nimport {LinkToOfferDialogCloseBox} from \"./boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box\";\r\nimport {LinkToOfferConfiguration} from \"../../services/configurations/config-data-sections/link-to-offer.configuration\";\r\nimport { IOffer } from '../../services/player-offerings/player-offerings.service';\r\nimport { IShowOfferOptions } from '../../services/player-offerings/player-offerings.service.interface';\r\n\r\nexport interface LinkToOfferComponentProps {\r\n linkToOfferConfig: LinkToOfferConfiguration;\r\n}\r\n\r\n\r\nexport const LinkToOfferComponent = observer(\r\n class LinkToOfferComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.playerOfferings.setWelcomeOfferConfig(this.props.linkToOfferConfig?.welcomeBonus ?? null);\r\n }\r\n\r\n render() {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n let CloseIconComponent = this.services.theme.currentTheme.icons.linkToOfferCloseIcon;\r\n\r\n return (\r\n {this._onCloseDialog()}}\r\n shouldAnimate={false}\r\n hasCircle={true}\r\n zIndex={this.services.playerOfferings.isHighPriorityOffer ? this.services.dialog.getMaxCGPOverlayZIndex() + 2: null}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n const currentOffer = this.services.playerOfferings.currentLinkToOffer;\r\n if(!currentOffer) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this._onLinkToOfferClicked(currentOffer)}}\r\n shouldAnimate={currentOffer.shouldUseLinkToOfferAnimation()}\r\n hasCircle={currentOffer.shouldUseLinkToOfferAnimation()}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n { currentOffer.render() }\r\n \r\n );\r\n }\r\n\r\n\r\n private _onLinkToOfferClicked(offer: IOffer): void {\r\n\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Open_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n\r\n const options: IShowOfferOptions = {\r\n onPopupClosed: () => {\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Close_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n }\r\n };\r\n this.services.playerOfferings.showOfferPopup(offer, options);\r\n }\r\n\r\n private _onCloseDialog = () => {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n this.services.playerOfferings.closeCurrentPopup();\r\n }\r\n };\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../themes/css-global-classes\";\r\nimport {HEADER_Z_INDEX} from \"../../header/header-consts\";\r\n\r\nexport const LobbyHeaderDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background-color: ${props => props.theme.colors.background};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1)+ \"px\"};\r\n z-index: ${HEADER_Z_INDEX - 1};\r\n\r\n padding-top: 15px;\r\n padding-bottom: 12px;\r\n margin-bottom: 10px;\r\n\r\n &.${STICKY} {\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n }\r\n }\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 10px;\r\n padding-bottom: 0;\r\n margin-bottom: 0;\r\n &.${STICKY}{\r\n width:100%;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\n\r\nexport const LobbyHeaderCasino777Box = styled(LobbyHeaderDefaultBox)`\r\n padding-bottom: 0;\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderSiBox = styled(LobbyHeaderDefaultBox)`\r\n &.${STICKY} {\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-image:none;\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {baseColors} from \"../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LobbyHeaderMrGreenBox = styled(LobbyHeaderDefaultBox)`\r\n padding-top: 2.2rem;\r\n background-color: ${baseColors.gray033};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 10px;\r\n }\r\n`;\r\n","import {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderCasino777Box} from \"./lobby-header.casino777.box\";\r\nimport {LobbyHeaderSiBox} from \"./lobby-header.si.box\";\r\nimport {LobbyHeaderMrGreenBox} from \"./lobby-header.mrgreen.box\";\r\n\r\nexport const LobbyHeaderBox = styledByTheme(LobbyHeaderDefaultBox)\r\n .forCasino777(LobbyHeaderCasino777Box)\r\n .forSI(LobbyHeaderSiBox)\r\n .forMrGreen(LobbyHeaderMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleDefaultBox = styled.h1`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n width: 100%;\r\n ${({theme}) => theme.font.presets.secondary};\r\n color: ${props => props.theme.colors.textLight};\r\n font-size: 3rem;\r\n margin: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2.2rem;\r\n &:first-of-type {\r\n margin-top: 0.5rem;\r\n }\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleSIBox = styled(LobbyHeaderTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.body};\r\n letter-spacing: 0.44rem;\r\n text-transform: uppercase;\r\n font-size: 2.2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.5rem;\r\n &:first-of-type {\r\n margin-top: 0.8rem;\r\n }\r\n margin-bottom: 1.4rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleMrGreenBox = styled(LobbyHeaderTitleDefaultBox)`\r\n margin-bottom: 1rem;\r\n font-size: 16px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n &:first-of-type {\r\n margin-top: 0.9rem;\r\n }\r\n margin-bottom: 1.9rem;\r\n }\r\n`;\r\n","import {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\nimport {LobbyHeaderTitleSIBox} from \"./lobby-header-title.si.box\";\r\nimport {LobbyHeaderTitleMrGreenBox} from \"./lobby-header-title.mrgreen.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyHeaderTitleBox = styledByTheme(LobbyHeaderTitleDefaultBox)\r\n .forSI(LobbyHeaderTitleSIBox)\r\n .forMrGreen(LobbyHeaderTitleMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {GAMING_HISTORY_PAGE, LOBBY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../../themes/css-global-classes\";\r\n\r\nconst LobbyHeaderLinePCBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n display:none;\r\n }\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, ${props => props.theme.colors.brandPrimary}, ${props => props.theme.colors.brandSecondary});\r\n }\r\n`;\r\n\r\nconst LobbyHeaderLineMobileBox = styled.div`\r\n width: 97%;\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLighter};\r\n\r\n .${STICKY} &{\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n\r\nexport const LobbyHeaderLineDefaultBox = styledByDevice(LobbyHeaderLinePCBox, LobbyHeaderLineMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nconst CommonStyles = styled.div`\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, transparent, ${props => props.theme.colors.textLight} 40%, transparent);\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n background: linear-gradient(to right, transparent, ${props => props.theme.colors.brandPrimary} 40%, transparent);\r\n }\r\n`;\r\nconst PCBox = styled(CommonStyles)`\r\n margin-top: 12px;\r\n`;\r\n\r\nconst MobileBox = CommonStyles;\r\n\r\nexport const LobbyHeaderLineCasino777Box = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\n\r\n// i don't want any divider for MrGreen so i just put an empty div\r\nexport const LobbyHeaderLineMrGreenBox = styled.div`\r\n`;\r\n","import {LobbyHeaderLineDefaultBox} from \"./lobby-header-line.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderLineCasino777Box} from \"./lobby-header-line.casino777.box\";\r\nimport {LobbyHeaderLineMrGreenBox} from \"./lobby-header-line.mrgreen.box\";\r\n\r\nexport const LobbyHeaderLineBox = styledByTheme(LobbyHeaderLineDefaultBox)\r\n .forCasino777(LobbyHeaderLineCasino777Box)\r\n .forMrGreen(LobbyHeaderLineMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n self-justify: flex-end;\r\n`;\r\n\r\nexport const LobbyHeaderButtonsContainerBox = DefaultBox;","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n padding: 4px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 3.4rem;\r\n height: 3.4rem;\r\n border: 1px solid ${props => props.theme.colors.backgroundContrast};\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n\r\n svg{\r\n height: 23px;\r\n width: 23px;\r\n }\r\n`;\r\n\r\nexport const LobbyHeaderDefaultButtonsBox = DefaultBox;","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeader777ButtonsBox = styled(LobbyHeaderDefaultButtonsBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.brandSecondaryContrast};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderMrGreenButtonsBox = styled(LobbyHeaderDefaultButtonsBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;\r\n","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\nimport {LobbyHeader777ButtonsBox} from \"./lobby-header-button.777.box\";\r\nimport {LobbyHeaderMrGreenButtonsBox} from \"./lobby-header-button.mrgreen.box\";\r\n\r\nexport const LobbyHeaderButtonsBox = styledByTheme(LobbyHeaderDefaultButtonsBox)\r\n .forCasino777(LobbyHeader777ButtonsBox)\r\n .forMrGreen(LobbyHeaderMrGreenButtonsBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleContainerBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 1rem;\r\n padding-right: 1rem;\r\n }\r\n`;\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../sticky-handler/sticky-handler.interface';\r\nimport {LobbyHeaderBox} from \"./boxes/lobby-header.box\";\r\nimport {LobbyHeaderTitleBox} from \"./boxes/title/lobby-header-title.box\";\r\nimport {LobbyHeaderLineBox} from \"./boxes/line/lobby-header-line.box\";\r\nimport classNames from 'classnames';\r\nimport {STICKY} from \"../../themes/css-global-classes\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {LobbyHeaderButtonsContainerBox} from \"./boxes/buttons/lobby-header-buttons-container.box\";\r\nimport {LobbyHeaderButtonsBox} from \"./boxes/buttons/lobby-header-button.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport { LobbyHeaderTitleContainerBox } from './boxes/title/lobby-header-title.container.box';\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {\r\n 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 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 { IPlayerProps } from '@lottiefiles/react-lottie-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('@lottiefiles/react-lottie-player').then(({ Player }) => ({ default: Player }))\r\n);\r\n\r\nexport const LottiePlayer = React.forwardRef((props: IPlayerProps, ref: any) => {\r\n const Wrapper = React.forwardRef(\r\n () => (\r\n \r\n \r\n \r\n )\r\n );\r\n return ;\r\n});\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const LoyaltyBarWrapperComponent = observer(class LoyaltyBarWrapperComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.loyaltyIndicator.init();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n});","import styled, { css } from 'styled-components';\r\n\r\nexport const dialogTextMixin = css`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const dialogHighlightedTextMixin = css`\r\n color: ${props => props.theme.colors.brandPrimary};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const DialogTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogBoldTextBox = styled(DialogTextBox)`\r\n font-weight: bold;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogHighlightedTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogHighlightedTextMixin}\r\n`;\r\n\r\nexport const ListDialogTextBox = styled.div`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n margin-top: 4rem;\r\n font-size: 1.5rem;\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogDimmedTextBox = styled.div` \r\n margin-top: 2rem;\r\n font-size: 1.4rem;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n `;","import styled from 'styled-components';\r\nimport {flexColumnContainerMixin, flexRowReverseContainerMixin} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonsWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean;}>`\r\n max-width: 289px;\r\n width: 100%;\r\n margin: 5rem auto 0;\r\n ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? flexColumnContainerMixin : flexRowReverseContainerMixin }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {flexGrowItem, flexFixedSizeItem} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean; flexBasis?: string;}>`\r\n ${flexGrowItem}\r\n width: ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? \"100%\" : \"40%\" };\r\n`;\r\n\r\nexport const ButtonSpacerDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n width: 1rem;\r\n height: 1.5rem;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkActionBox = styled.button`\r\n margin: 0 auto;\r\n\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background: transparent;\r\n padding: 5px 0px 0px;\r\n border: 0;\r\n border-radius: 0;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n text-decoration: underline;\r\n cursor: pointer;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkWrapperDefaultBox = styled.div`\r\n width: 100%;\r\n margin-top: 3rem;\r\n text-align: center;\r\n`;\r\n","import React from 'react';\r\nimport { Button } from '../../basic-ui-components/button/base/button.component';\r\nimport {ButtonsWrapperDefaultBox} from './boxes/actions/buttons-wrapper.box';\r\nimport {ButtonWrapperDefaultBox, ButtonSpacerDefaultBox} from './boxes/actions/button-wrapper.box';\r\nimport {LinkActionBox} from './boxes/actions/link-action.box';\r\nimport {LinkWrapperDefaultBox} from './boxes/actions/link-wrapper.box';\r\nimport classNames from \"classnames\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\n\r\nexport interface IModalDialogActionProps {\r\n text: string;\r\n onClick(): void;\r\n className?: string;\r\n disabled?:boolean;\r\n}\r\nexport interface IModalDialogButtonsComponentProps {\r\n buttonsOnSeparateLines?: boolean;\r\n primaryAction: IModalDialogActionProps;\r\n secondaryAction?: IModalDialogActionProps & {useWarningPreset?: boolean};\r\n linkAction?: IModalDialogActionProps;\r\n className?: string;\r\n}\r\n\r\nexport class ModalDialogActionsComponent extends React.Component {\r\n render() {\r\n return <>\r\n \r\n \r\n \r\n {this.props.primaryAction.text}\r\n \r\n \r\n {this.props.secondaryAction ? <>\r\n \r\n {this.props.secondaryAction.text}\r\n \r\n : null}\r\n \r\n {this.props.linkAction ? \r\n {this.props.linkAction.text}\r\n : null}\r\n ;\r\n }\r\n}\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IAspectRatioBoxProps {\r\n expectedWidth: number;\r\n expectedHeight: number;\r\n}\r\n\r\nconst AspectRatioBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-top: calc(${({expectedWidth, expectedHeight}) => `${expectedHeight} / ${expectedWidth} * 100%`});\r\n`;\r\n\r\ninterface IAspectRatioContentBoxProps {\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nconst AspectRatioContentBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 0;\r\n\r\n ${(props) => props.useBGColorDuringLoadAnimation && props.isLoading && `background-color: ${props.theme.colors.backgroundDark}`};\r\n\r\n animation: ${({isLoading}) => isLoading ? \"LoadingAnimation 1.5s linear 3 forwards\" : \"RevealAnimation 0.5s ease-out forwards\"};\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 1\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n @keyframes RevealAnimation {\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\ninterface IAspectRatioContainerComponentProp extends PropsWithChildren {\r\n width: number;\r\n height: number;\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nexport class AspectRatioContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {TapHandler} from '../../tap-handler/tap-handler.component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport styled from 'styled-components';\r\n\r\ninterface LinkProps extends PropsWithChildren {\r\n box?: AnyStyledComponent;\r\n id?: string;\r\n onClick?: (event?: any) => void;\r\n className?: string;\r\n href?: string;\r\n enableTap?: boolean;\r\n preventDefaultOnClick?: boolean\r\n target?: string;\r\n itemProp?: string;\r\n customProps?: {[key: string]: any};\r\n}\r\n\r\nconst DefaultBox = styled.a`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nexport class Link extends OrbitComponent {\r\n\r\n private _onClick = (event) => {\r\n\r\n if (this.services.miniOrbit.isEnabled && this.props.target === \"_blank\") {\r\n event.preventDefault();\r\n this.services.miniOrbit.openUrl(this.props.href);\r\n\r\n } else if (Check.isNullOrUndefined(this.props.preventDefaultOnClick) || this.props.preventDefaultOnClick) {\r\n event.preventDefault();\r\n }\r\n\r\n if (this.props.onClick) {\r\n this.props.onClick(event);\r\n }\r\n };\r\n\r\n private _getAnchorProps(): any {\r\n let result: any = {};\r\n\r\n if(this.props.id) {\r\n result.id = this.props.id;\r\n }\r\n if(this.props.className) {\r\n result.className = this.props.className;\r\n }\r\n\r\n if(this.props.href) {\r\n result.href = this.services.location.buildFullUri(this.props.href || '/').toString();\r\n }\r\n\r\n if(this.props.target) {\r\n result.target = this.props.target;\r\n }\r\n\r\n if(this.props.itemProp) {\r\n result.itemProp = this.props.itemProp;\r\n }\r\n\r\n if (this.props.customProps) {\r\n result.customProps = this.props.customProps;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _renderAnchor(anchorRef: any) {\r\n const Box = this.props.box || DefaultBox;\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.props.enableTap) {\r\n return this._renderAnchor(null);\r\n }\r\n\r\n let anchorRef: any = React.createRef();\r\n return (\r\n \r\n {this._renderAnchor(anchorRef)}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconDefaultBox = styled.img<{isShownInHeader: boolean, 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`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSelfExclusionButtonBox} from \"./boxes/denmark.self-exclusion-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfExclusionButtonComponent = observer(class DenmarkSelfExclusionButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_stop_spillet_icon_click');\r\n await this.services.linksNavigation.openSelfExclusion();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSelfTestButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 50px;\r\n height: 25px;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {DenmarkSelfTestButtonBox} from \"./boxes/denmark.self-test-button.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfTestButtonComponent = observer(class DenmarkSelfTestButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_rofus_icon_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkResponsibleGamingButtonsBox} from \"./boxes/denmark.responsible-gaming-buttons.box\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {DenmarkSafeToPlayButtonComponent} from \"./safe-to-play-button/denmark.safe-to-play-button.component\";\r\nimport {DenmarkSelfExclusionButtonComponent} from \"./self-exclusion/denmark.self-exclusion-button.component\";\r\nimport {DenmarkSelfTestButtonComponent} from \"./self-test-button/denmark.self-test-button.component\";\r\n\r\nexport const DenmarkResponsibleGamingButtonsComponent = observer(class DenmarkResponsibleGamingButtonsComponent extends OrbitComponent<{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 render() {\r\n return (\r\n \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.textActive};\r\n color: ${(props) => props.theme.colors.backgroundDark};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconSIBox = styled(GenericSideMenuItemIconCommonBox)`\r\n 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 .forBallysDover(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 GenericSideMenuItemHarrahsWsopBox = styled(GenericSideMenuItemDefaultBox)`\r\n ${({theme}) => theme.font.presets.regular};\r\n`;\r\n\r\nconst GenericSideMenuItemSIBox = styled(GenericSideMenuItemDefaultBox)`\r\n &:hover {\r\n background-color: ${({theme}) => theme.colors.background};\r\n };\r\n background-color: ${({theme}) => theme.colors.background};\r\n`;\r\n\r\nconst GenericSideMenuItemMrGreenBox = styled(GenericSideMenuItemDefaultBox)`\r\n &:hover {\r\n background-color: transparent;\r\n };\r\n background-color: transparent;\r\n`;\r\n\r\nexport const GenericSideMenuItemBox = styledByTheme(GenericSideMenuItemDefaultBox)\r\n .forCasino777(GenericSideMenuItemCasino777Box)\r\n .forHarrahs(GenericSideMenuItemHarrahsWsopBox)\r\n .forWsop(GenericSideMenuItemHarrahsWsopBox)\r\n .forSI(GenericSideMenuItemSIBox)\r\n .forMrGreen(GenericSideMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst ArrowSideMenuLinkDefaultIcon = styled.div<{active?: boolean}>`\r\n display: block;\r\n width: 2rem;\r\n height: 2rem;\r\n background-image: url(${({theme}) => theme.images.spriteSheet.toString()});\r\n background-repeat: no-repeat;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n\r\n background-position: -762px -651px;\r\n`;\r\n\r\nconst ArrowSideMenuLinkCasino777Icon = styled(ArrowSideMenuLinkDefaultIcon)`\r\n background-position: -611px -491px;\r\n`;\r\n\r\nexport const ArrowSideMenuLinkIcon = styledByTheme(ArrowSideMenuLinkDefaultIcon)\r\n .forCasino777(ArrowSideMenuLinkCasino777Icon)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst SideMenuItemContainerDefaultBox = styled.li`\r\n position: relative;\r\n display: block;\r\n 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 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\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n .${NEW_LIVE_CASINO_PAGE} &{\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n }\r\n }\r\n`;","import 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 {reaction} from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {PixiSpineAnimation} from \"../../services/pixi-app/pixi-spine-animation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\n@observer\r\nexport class AnimatedTopImageComponent extends OrbitComponent {\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _reactionDisposer = null;\r\n private _bannerPixiAnimation: PixiSpineAnimation = null;\r\n\r\n componentDidMount(): void {\r\n this._startAnimation();\r\n this._reactionDisposer = reaction(() =>\r\n [\r\n this.services.mediaQuery.lAndBelow,\r\n this.services.mediaQuery.sAndBelow\r\n ],\r\n (data) => {\r\n this._stopAnimation();\r\n this._startAnimation();\r\n })\r\n }\r\n\r\n\r\n componentWillUnmount(): void {\r\n this._stopAnimation();\r\n this._reactionDisposer();\r\n }\r\n\r\n private _createAnimation() {\r\n let defautSkinConfiguration = {\r\n width: 1750,\r\n height: 200,\r\n name: \"desktop\",\r\n scale: 1\r\n }\r\n\r\n if (this.services.mediaQuery.lAndBelow) {\r\n defautSkinConfiguration.width = 1024;\r\n defautSkinConfiguration.height = 165;\r\n defautSkinConfiguration.name = \"tablet\";\r\n defautSkinConfiguration.scale = 1;\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n defautSkinConfiguration.width = 414;\r\n defautSkinConfiguration.height = 105;\r\n defautSkinConfiguration.name = \"mobile\";\r\n defautSkinConfiguration.scale = 0.6;\r\n }\r\n return new PixiSpineAnimation(\r\n this.services,\r\n {\r\n width: defautSkinConfiguration.width, height: defautSkinConfiguration.height, force2DCanvasContext: true\r\n },\r\n [{name: 'slotsAnimatedBannerResource', jsonUrl: this.props.image}],\r\n {\r\n render: ({pixiApp, spineAnimations}) => {\r\n let spineAnimation = spineAnimations.slotsAnimatedBannerResource;\r\n spineAnimation.skeleton.setSkinByName(defautSkinConfiguration.name);\r\n spineAnimation.skeleton.setSlotsToSetupPose();\r\n\r\n // set the position and scale\r\n spineAnimation.x = pixiApp.screen.width / 2;\r\n spineAnimation.y = pixiApp.screen.height / 2;\r\n spineAnimation.scale.set(defautSkinConfiguration.scale);\r\n\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"intro\", false);\r\n spineAnimation.state.addAnimation(0, \"loop\", true, 0);\r\n }\r\n\r\n runAnimation();\r\n }\r\n },\r\n {\r\n width: \"100%\"\r\n }\r\n );\r\n }\r\n\r\n private async _startAnimation() {\r\n this._bannerPixiAnimation = this._createAnimation();\r\n this._bannerPixiAnimation.start();\r\n this._bannerPixiAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private _stopAnimation() {\r\n this._bannerPixiAnimation.dispose();\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n }\r\n\r\n render() {\r\n return (<>\r\n
\r\n
\r\n {/* when rendering the animated banner, on mobile, because of the canvas we cannot scroll the page when holding from the canvas element.\r\n So we put this div in front of it so when we touch the screen, the target element is the div not the canvas */}\r\n
\r\n );\r\n }\r\n}","import React, {RefObject} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {TopBannerBox} from \"./boxes/top-banner/top-banner.box\";\r\nimport {TopBannerImageBox} from \"./boxes/top-banner-image/top-banner-image.box\";\r\nimport {TopBannerLogoImageBox} from \"./boxes/top-banner-logo-image/top-banner-logo-image.box\";\r\nimport {TopBannerTitleBox} from \"./boxes/top-banner-title/top-banner-title.box\";\r\nimport {TopBannerLiveLogoBox} from \"./boxes/top-banner-live-logo/top-banner-live-logo.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {AnimatedTopImageComponent} from '../animated-top-image/animated-top-image.component';\r\n\r\nexport interface TopImageComponentProps {\r\n image: string;\r\n animatedBanner?: string;\r\n title?: string;\r\n altText?: string;\r\n className?: string;\r\n topImageRef?: RefObject;\r\n}\r\n\r\nexport const TopImageComponent = observer(class TopImageComponent extends OrbitComponent {\r\n\r\n private _renderLogoAndTitle() {\r\n if(this.props.title) {\r\n const srcLogo = this.services.device.isMobile\r\n ? this.services.theme.currentTheme.images.liveArena.casinoLiveLogoMobile.toString()\r\n : this.services.theme.currentTheme.images.liveArena.casinoLiveLogoPC.toString();\r\n return (\r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n )\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n 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 =>\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\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 toString() {\r\n return `templateID: ${this.templateID}; componentID: ${this.componentID}`;\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\n\r\nexport class CmsLink {\r\n constructor(private _anchorElement: HTMLAnchorElement, private _cmsContentRootElement: HTMLElement, private _services: IServiceFactory) {\r\n this._clickHandler = this._clickHandler.bind(this);\r\n this._anchorElement.addEventListener('click', this._clickHandler);\r\n }\r\n\r\n private _clickHandler(event) {\r\n event.preventDefault();\r\n let anchorUri = this._services.location.tryParseUrl(this._anchorElement.href);\r\n let currentUri = this._services.location.currentUri;\r\n\r\n if(currentUri.origin === anchorUri.origin\r\n && currentUri.pathName.equals(anchorUri.pathName)\r\n && !anchorUri.hash.isEmpty) { // if the anchor href refers to the current route and there is a hash in the anchor href then we need to scroll into view an element with id = #hash\r\n let element = this._cmsContentRootElement.querySelector(anchorUri.hash.toString());\r\n if(element) {\r\n element.scrollIntoView();\r\n }\r\n } else {\r\n this._services.location.push(this._anchorElement.href);\r\n }\r\n };\r\n\r\n\r\n dispose() {\r\n this._anchorElement.removeEventListener('click', this._clickHandler);\r\n }\r\n\r\n}\r\n","/**\r\n * @desc We need this to evaluate all the scripts that b2c add to the components banners and pages\r\n * @param html\r\n * @return {any}\r\n * @private\r\n */\r\nimport {isOrbitInQAMode} from '../../../../utils/qa-mode-utils';\r\nimport {isInsideAutomation} from '../../../../utils/automation-helpers';\r\n\r\nexport function evaluateScripts(html: string): void {\r\n\r\n if(!html) {\r\n return;\r\n }\r\n\r\n /**\r\n Webpack dev server returns the public/index.html instead of 404 for calls like api/pagecontent.\r\n When this happens this function basically will execute the script in the public/index.html.\r\n And that script is launcher.min.js. So basically we will try to load again orbit and sdk and this will fail.\r\n */\r\n if (0 <= html.indexOf('')) {\r\n return;\r\n }\r\n\r\n let scriptRegex = /]*>([\\s\\S]*?)<\\/script>/gm;\r\n\r\n // Remove comment from the html(so we don't run scripts in comment),\r\n html = html.replace(//g, \"\");\r\n let match = scriptRegex.exec(html);\r\n\r\n while (match) {\r\n try {\r\n evaluateScriptsWithExternalFile(match[0]);\r\n match = scriptRegex.exec(html);\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.error('Failed to load script!', match, err);\r\n }\r\n\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Evaluate scripts with external file. ex: \r\n */\r\nfunction evaluateScriptsWithExternalFile(html: string) {\r\n try {\r\n const fakeDiv = document.createElement('div');\r\n fakeDiv.innerHTML = html.trim();\r\n\r\n const scriptElements = fakeDiv.getElementsByTagName('script');\r\n const elementsLength = scriptElements ? scriptElements.length : 0;\r\n\r\n for (let index = 0; index < elementsLength; index++) {\r\n const script = document.createElement(\"script\");\r\n\r\n if (scriptElements[index]['src']) {\r\n script.src = scriptElements[index]['src'];\r\n } else {\r\n //Add try catch to B2C scripts\r\n const tryStart = \"try{\";\r\n const consoleLogFunc = (isOrbitInQAMode() ? 'warn' : 'error');\r\n const tryEnd = `}catch(e){console.${consoleLogFunc}('B2C ERROR In EXTERNAL SCRIPT, ERROR MESSAGE: ', e)}`;\r\n\r\n script.innerHTML = tryStart + scriptElements[index]['innerHTML'] + tryEnd;\r\n\r\n }\r\n\r\n document.head.appendChild(script).parentNode?.removeChild(script);\r\n }\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.log('Error in evaluateScriptsWithExternalFile function, err message:', err);\r\n }\r\n\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {CmsLink} from './cms-link';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {evaluateScripts} from \"./evaluate-scripts\";\r\n\r\nexport class CmsContentDecorator {\r\n constructor(private _element: HTMLElement, private services: IServiceFactory ) {\r\n this._evaluateScripts();\r\n this._loadCmsLinks();\r\n }\r\n\r\n private _cmsLinks: CmsLink[] = [];\r\n\r\n\r\n dispose() {\r\n this._cmsLinks.forEach(a => a.dispose());\r\n }\r\n\r\n\r\n private _evaluateScripts() {\r\n evaluateScripts(this._element.innerHTML);\r\n }\r\n\r\n\r\n private _loadCmsLinks() {\r\n let linkTags = this._element.getElementsByTagName('a');\r\n for(let i = 0; i < linkTags.length; i++) {\r\n let currentLink = linkTags[i] as HTMLAnchorElement;\r\n if (Check.isEmpty(currentLink.href) || currentLink.target === '_blank') {\r\n continue;\r\n }\r\n\r\n let anchorUri = this.services.location.tryParseUrl(currentLink.href);\r\n if(!anchorUri) {\r\n continue;\r\n }\r\n\r\n if(anchorUri.origin === this.services.location.currentUri.origin) {\r\n this._cmsLinks.push(new CmsLink(currentLink, this._element, this.services));\r\n }\r\n\r\n }\r\n }\r\n\r\n scrollIntoView(childElementSelector: string): void {\r\n try {\r\n let el = this._element.querySelector(childElementSelector);\r\n if(el) {\r\n el.scrollIntoView();\r\n }\r\n } catch (err) {\r\n this.services.logger.error(`Failed to scroll into view element with id ${childElementSelector}`, err);\r\n }\r\n\r\n }\r\n}\r\n","import React from 'react';\r\nimport {ButtonPreset} from \"../../basic-ui-components/button/base/button-props.interface\";\r\nimport { ISvgIconProps } from '../../basic-ui-components/icon/svg-icon/svg.icon';\r\nimport {OverflowProperty} from \"../../../common/types/css\";\r\n\r\nexport interface IModalDialogHandler {\r\n close(shouldApplyClosingAnimation?: boolean, isClosedDirectlyByUser?: boolean): void;\r\n zIndex: number;\r\n shouldBeClosedOnlyByUser: boolean;\r\n shouldApplyClosingAnimation: boolean;\r\n readonly isHidden: boolean;\r\n display(): void;\r\n hide(): void;\r\n}\r\n\r\nexport interface ShowModalOptions {\r\n useAutoHeight?: boolean;\r\n title?: string;\r\n icon?: React.ComponentType;\r\n onClosed?: () => void;\r\n onClosedByXButton?: ()=> void;\r\n debugInfo?: string;\r\n hideBorders?: boolean;\r\n hideCloseButton?: boolean;\r\n showOpenAndCloseAnimation?: boolean;\r\n forceTransparentBackground?: boolean;\r\n transparentBackgroundOpacity?: number;\r\n forceTransparentContentBackground?: boolean;\r\n hideDialogHeader?: boolean;\r\n forceCentralization?: boolean;\r\n disableFullscreenMobile?: boolean;\r\n applyMaxHeight?: boolean;\r\n mobileCenterHeader?: boolean;\r\n isHighPriority?: boolean;\r\n forceZOrder?:number;\r\n shouldBeClosedOnlyByUser?: boolean;\r\n forceFullscreenTablet?: boolean;\r\n headerClass?: string;\r\n showPopupAboveSecondWebViewHybrid?:boolean;\r\n noDefaultContentPadding?: boolean;\r\n renderExtraHeaderButtons?: () => React.ReactElement;\r\n overflow?: OverflowProperty;\r\n createAsHidden?: boolean;\r\n}\r\n\r\nexport enum DialogButtonClickHandleResultEnum {\r\n CloseDialogAndContinue,\r\n KeepDialogOpen\r\n}\r\n\r\nexport interface ISimpleTextModalButtonOptions {\r\n text: string;\r\n buttonPreset: ButtonPreset;\r\n onClick: () => Promise;\r\n}\r\n\r\nexport interface ISimpleTextModalOptions {\r\n text: string;\r\n title?: string;\r\n /** @deprecated Do not send an icon as a string url or as react element. Use an svg icon in the iconSvg prop */\r\n icon?: string | React.ReactElement;\r\n iconSvg?: React.ComponentType;\r\n showEmptyTitle?: boolean;\r\n hideCloseButton?: boolean;\r\n buttons?: ISimpleTextModalButtonOptions[];\r\n disableFullscreenMobile?: boolean;\r\n showPopupAboveSecondWebViewHybrid?: boolean;\r\n onClosedByXButton?: ()=> void;\r\n}\r\n\r\nexport interface IDialogService {\r\n showModal(renderContent: (dialogHandler: IModalDialogHandler) => React.ReactNode, options?: ShowModalOptions): IModalDialogHandler;\r\n showSimpleTextModal(options: ISimpleTextModalOptions): IModalDialogHandler;\r\n readonly currentDialogs: React.ReactNode[];\r\n readonly hasOpenDialogs: boolean;\r\n getMaxCGPOverlayZIndex(): number;\r\n closeAllDialogs(): void;\r\n countDialogs(opts: {includeHidden: boolean;}): number;\r\n}","import {UserController_GetPendingActionsResponse} from \"../../../api/api.service\";\r\n\r\n\r\nexport interface IPendingActionExternalLinkHandler {\r\n openPendingAction(options?: TOptions): Promise;\r\n}\r\n\r\nexport type PendingActionData = UserController_GetPendingActionsResponse[\"PendingActions\"][number];\r\n\r\nexport enum PendingActionResultEnum {\r\n ContinueCurrentFlow,\r\n BlockCurrentFlow\r\n}\r\n\r\nexport enum PendingActionTypeEnum {\r\n ResponsibleGaming = 19,\r\n ResponsibleGamingPhase2 = 22,\r\n\r\n /*\r\n Register player to regulator = 1,\r\n Demo to Real conversion = 2,\r\n Privacy policy = 3,\r\n Terms and Conditions approval = 4,\r\n Spain Full Migration = 5,\r\n Spain Only Migration = 6,\r\n Spain Only Registartion = 7,\r\n Complete Registration = 8,\r\n OPT-IN (whether the user wants Promotion Emails ) = 9,\r\n Geo Locate Mobile = 10,\r\n Players acknowledges before continuing = 11,\r\n Email Verification = 13,\r\n NEM-ID authentication required = 14,\r\n Sweden migration = 15,\r\n UK DOB Verification = 16,\r\n UK Address Verification = 17,\r\n UK View Verification Page = 18,\r\n Responsible Gaming = 19,\r\n Bonus Policy change = 20,\r\n Hesse Terms and Conditions Approval = 21,\r\n Responsible Gaming Phase 2 = 22,\r\n Retry Page = 23,\r\n Adding playing time limits = 24,\r\n ResubscribePending = 28,\r\n */\r\n}\r\n\r\nexport enum PendingActionReasonEnum {\r\n GamingCautionInteraction = 20,\r\n /*\r\n Complete real registration process = 1,\r\n Time out in registration to regulator = 2,\r\n Regulation Migration Process = 3,\r\n Short Registration Process = 4,\r\n Geo Location Detection = 5,\r\n Deposited more than the limit = 6,\r\n ThePlayerShouldVerifyHisEmailBeforeContinuing = 7,\r\n Terms and Conditions update = 8,\r\n Other = 9,\r\n DE Migration Process = 10,\r\n Danish Player should be authenticated with its NEM-ID = 11,\r\n UK account verification = 12,\r\n Gaming Caution escalation = 14,\r\n Adding playing time limits = 16,\r\n Adding playing time limits = 17,\r\n */\r\n}\r\n\r\nexport enum PendingActionIdEnum {\r\n SwedenGamingCaution = 40\r\n}","import {MarketingParams} from \"../../../../../common/interfaces/marketing-params.interface\";\r\n\r\nexport const REGISTRATION_DATA_KEY = 'storeRegistrationData';\r\n\r\nexport interface IOpenRegistrationOptions {\r\n marketingParams?: MarketingParams;\r\n}\r\n\r\nexport interface IRegistrationExternalLinkHandler {\r\n openRegistration(options?: IOpenRegistrationOptions): Promise;\r\n}","import {IGamePartsViewModel} from \"../game-parts/game-parts-view-model.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameSize} from \"../open-game-api-callers/open-game-api-response.interface\";\r\nimport {\r\n Nullable,\r\n NullableUndefinedString,\r\n UndefinedNumber\r\n} from \"../../../../../common/types/nullable-types\";\r\nimport {IRunningGameControllerViewModel} from \"../game-controller/running-game-controller.interface\";\r\nimport {IOpenHistoryGameParams} from \"../../game-runner.service.interface\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../free-play/vouchers/free-play-voucher-view-model.interface\";\r\n\r\nexport enum GameModeEnum {\r\n Demo = 0,\r\n Real = 1,\r\n History = 2\r\n}\r\n\r\nexport interface IGameSessionDataViewModel {\r\n readonly totalBets: number;\r\n readonly totalWins: number;\r\n readonly vendorGameSessionId: NullableUndefinedString;\r\n readonly regulationGameSessionId: NullableUndefinedString;\r\n readonly regulationParticipationTicketId: NullableUndefinedString;\r\n readonly netPosition: number;\r\n}\r\n\r\nexport interface IGameFreePlayContextViewModel {\r\n readonly isFreePlay: boolean;\r\n readonly isCurrentFreePlayMandatory: boolean;\r\n readonly shouldShowFreePlayHeader: boolean;\r\n readonly currentFreePlayVoucher: IFreePlayVoucherViewModel | null;\r\n readonly otherAvailableVouchersForCurrentGame: IFreePlayVoucherViewModel[];\r\n}\r\n\r\nexport interface IGameContextViewModel {\r\n readonly gameMode: GameModeEnum;\r\n readonly gameInfo: GameInfo;\r\n readonly controller: IRunningGameControllerViewModel;\r\n readonly gameParts: IGamePartsViewModel;\r\n readonly launchGameUrl: string | null;\r\n readonly gameSize: Nullable;\r\n readonly isGameResizable: boolean;\r\n readonly freePlayContext: IGameFreePlayContextViewModel;\r\n readonly historyGameParams: IOpenHistoryGameParams | undefined;\r\n readonly gameSessionData: IGameSessionDataViewModel;\r\n readonly referrerId: UndefinedNumber;\r\n readonly allowSwitchBetweenDemoAndReal: boolean;\r\n}","import {GameContextModel} from \"../../../companies/game-context/game-context.model\";\r\n\r\nexport enum GameStepsExecutionResultEnum {\r\n Continue,\r\n Cancel\r\n}\r\n\r\n\r\nexport interface IGameRunStep {\r\n readonly isEnabled: boolean;\r\n disableGameStep(): this;\r\n enableGameStep(): this;\r\n executeStep(gameContext: GameContextModel): Promise;\r\n dispose(): void;\r\n}","import {GameInfo} from '../games/game-info';\r\nimport React from \"react\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\n\r\nexport interface IFiltersGroup {\r\n text: string;\r\n filters: ActiveFilter[];\r\n isMultiSelect: boolean;\r\n}\r\n\r\nexport interface ActiveFilter {\r\n readonly id: string;\r\n readonly text: string;\r\n readonly on: boolean;\r\n readonly isDynamic: boolean;\r\n}\r\n\r\n\r\n\r\nexport enum 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","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\n\r\nexport default class SignUpAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"signUpMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMembership({\r\n marketingParams: {\r\n dl: this.config.dl\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\n/**\r\n * This class is for demonstrating how to override menu items per regulation. It should be removed when we will have a real case\r\n */\r\nexport default class TestRegulationSpecificAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"testRegulationSpecificMenuItem\", configReader, services);\r\n }\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.dialog.showSimpleTextModal({\r\n text: 'Test regulation specific menu item',\r\n title: 'test',\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterDeeplink, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class TimeSpentReminderAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"timeSpentReminderMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n deeplink: ControlCenterDeeplink.TimeSpentReminderPage,\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class TouchIdAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //this.services.sdk.openOptions('TouchId', '2');\r\n this.services.specificDialogs.showModifyBiometricDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class TransactionHistoryAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"transactionHistoryMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openTransactionHistory(\r\n {\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.transactionHistoryButton\r\n }\r\n }\r\n );\r\n }\r\n}","import {IMenuItemAction, IMenuItemExecuteOptions} from \"./menu-item-action.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader, MenuItemConfigurationExtended\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../common/types/nullable-types\";\r\n\r\nexport abstract class MenuItemActionBase implements IMenuItemAction {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n\r\n protected abstract _onClick(options?: IMenuItemExecuteOptions): Promise;\r\n\r\n async execute(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n this.services.hybrid.closeSecondWebView();\r\n this.services.drawer.right.closeDrawer();\r\n const analytics = this.config.analytics;\r\n if(analytics) {\r\n this.services.analytics.sendOrbitUserFlowEvent(analytics.category, analytics.action, analytics.label);\r\n }\r\n await this._onClick();\r\n }\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n\r\n protected get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return false;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n if(!this.config.linkId) {\r\n return null;\r\n }\r\n return this.services.linksNavigation.getLinkUrl(this.config.linkId);\r\n }\r\n\r\n}","import {IMenuItemRenderer, IRenderMenuItemOptions} from \"./menu-item.renderer.interface\";\r\nimport React from \"react\";\r\nimport {\r\n IMenuItemAction,\r\n IMenuItemExecuteOptions\r\n} from \"../../menu-item-action-factory/menu-item-action.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../../common/types/nullable-types\";\r\nimport {IconSourceConfiguration} from \"../../configurations/config-data-sections/icon-source.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader,\r\n MenuItemConfigurationExtended\r\n} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport abstract class MenuItemRendererBase implements IMenuItemRenderer {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n this.menuItemAction = this.services.menuItemActionFactory.getMenuItemAction(this.key, this.configReader);\r\n }\r\n\r\n protected abstract _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement;\r\n\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n protected _lastRenderOptions: IRenderMenuItemOptions | undefined = undefined;\r\n\r\n private get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n private readonly menuItemAction: IMenuItemAction;\r\n\r\n renderMenuItem(options?: IRenderMenuItemOptions): React.ReactElement {\r\n this._lastRenderOptions = options;\r\n return this._createReactElement(options);\r\n }\r\n\r\n execute(options?: IMenuItemExecuteOptions): Promise {\r\n if(this._lastRenderOptions?.onBeforeClick) {\r\n this._lastRenderOptions.onBeforeClick();\r\n }\r\n return this.menuItemAction.execute(options);\r\n }\r\n\r\n\r\n get text(): string {\r\n return this.services.translation.translate(this.config.text);\r\n }\r\n\r\n get sideText(): NullableUndefinedString {\r\n return null;\r\n }\r\n\r\n get imageOnlyRendering(): boolean {\r\n return this.config.imageOnlyRendering ?? false;\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this.config.display ?? true;\r\n }\r\n\r\n get display(): boolean {\r\n return this._shouldDisplay();\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return this.menuItemAction.isMatchToCurrentUrl;\r\n }\r\n\r\n get iconSource(): IconSourceConfiguration {\r\n return this.config.menuItemIconSource ?? \"themeIcons\";\r\n }\r\n\r\n get icon(): NullableUndefinedString {\r\n return this.config.menuItemIcon;\r\n }\r\n\r\n get iconAltText(): NullableUndefinedString {\r\n return this.config.menuItemIconAltText;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n return this.menuItemAction.getLinkUrl();\r\n }\r\n\r\n\r\n}","import {ServiceBase} from \"../ServiceBase\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"./pixi-spine-animation\";\r\n\r\nexport enum AnimatedIconUnloadReason {\r\n CONTEXT_LOST,\r\n VIEWPORT_EXIT,\r\n REQUESTED,\r\n GAME_OPEN\r\n}\r\n\r\nexport interface IAnimatedIconRequestOptions {\r\n jsonUrl: string;\r\n wrapper: HTMLElement;\r\n size: {width: number; height: number};\r\n timings: {delay: number; interval: number;};\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(reason: AnimatedIconUnloadReason): void;\r\n}\r\n\r\nexport type AnimatedIconObservableTarget = IAnimatedIconRequestOptions & {\r\n animation?: PixiSpineAnimation;\r\n animationDisposer?(reason: AnimatedIconUnloadReason): void;\r\n inViewport?: boolean;\r\n};\r\n\r\n\r\nexport class AnimatedIconBaseService extends ServiceBase{\r\n\r\n\r\n protected loadAnimatedIcon(options: AnimatedIconObservableTarget, resourceName: string) {\r\n if (options.animation && (options.animation.status === AnimationStatus.Loading || options.animation.status === AnimationStatus.Running)) {\r\n throw new Error(\"Animated Icon Loading in progress already for this icon. Please be patient\");\r\n }\r\n\r\n let iconPixiAnimation = new PixiSpineAnimation(this.services, {\r\n width: options.size.width, height: options.size.height,\r\n onContextLost: () => {\r\n if (options.animationDisposer) {\r\n options.animationDisposer(AnimatedIconUnloadReason.CONTEXT_LOST);\r\n }\r\n }\r\n }, [{name: resourceName, jsonUrl: options.jsonUrl}], {\r\n render: ({spineAnimations, loaderResources}) => {\r\n let spineAnimation = spineAnimations[resourceName];\r\n // get the animations\r\n const availableAnimations = loaderResources[resourceName].spineData.animations.map(a => a.name);\r\n\r\n // play animation\r\n const runAnimation = () => {\r\n // animated icons will have only one animation that we play in loop. There won't be complex timeline animations\r\n spineAnimation.state.setAnimation(0, availableAnimations[0], false);\r\n }\r\n let animationSchedule: any;\r\n\r\n spineAnimation.state.addListener({\r\n complete: (entry) => {\r\n // when animation completes, schedule the next iteration\r\n animationSchedule = setTimeout(runAnimation, options.timings.interval);\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n options.animationDisposer = (reason: AnimatedIconUnloadReason) => {\r\n if (options.onAnimationWillUnload) {\r\n options.onAnimationWillUnload(reason);\r\n }\r\n iconPixiAnimation.dispose();\r\n };\r\n\r\n return () => {\r\n clearTimeout(animationSchedule);\r\n };\r\n }\r\n }, {\r\n display: \"block\",\r\n width: \"100%\"\r\n });\r\n\r\n options.animation = iconPixiAnimation;\r\n options.animationDisposer = iconPixiAnimation.dispose;\r\n\r\n iconPixiAnimation.start().then(({status}) => {\r\n if (status === AnimationStatus.Running) {\r\n if (options.onAnimationLoad) {\r\n options.onAnimationLoad();\r\n }\r\n iconPixiAnimation.attachToDOM(options.wrapper);\r\n }\r\n }).catch((e) => {\r\n // An error occured while loading the animated icon. log the error\r\n this.services.logger.error(e);\r\n });\r\n }\r\n}","import {CSSProperties} from \"react\";\r\nimport {IServiceFactory} from \"../service-factory.interface\";\r\nimport {Spine, IPixiAppCreateOptions, Application, LoaderResource} from \"./pixi-app.service.interface\";\r\n\r\nexport interface IPixiSpineResourceDef {\r\n name: string;\r\n jsonUrl: string;\r\n}\r\n\r\ntype AnimationDef = (stuff: {pixiApp: Application, spineAnimations: Record; loaderResources: Record;}) => (void | (() => void));\r\n\r\nexport interface IAnimationRenderer {\r\n render: AnimationDef;\r\n dispose?(): void\r\n}\r\n\r\nexport enum AnimationStatus {\r\n Idle,\r\n Loading,\r\n Failed,\r\n Aborted,\r\n Running,\r\n Disposed\r\n}\r\n\r\ninterface IPixiAnimationPromiseResultSuccess {\r\n status: AnimationStatus.Running;\r\n canvas: HTMLCanvasElement;\r\n}\r\ninterface IPixiAnimationPromiseResultOther {\r\n status: AnimationStatus.Failed | AnimationStatus.Aborted | AnimationStatus.Disposed;\r\n canvas?: undefined;\r\n}\r\n\r\ntype IPixiAnimationPromiseResult = IPixiAnimationPromiseResultSuccess | IPixiAnimationPromiseResultOther;\r\n\r\nexport class PixiSpineAnimation {\r\n private pixiApp: Application;\r\n private pixiAppDisposer: () => void;\r\n private _spineAnimations: Record = {};\r\n private _loaderResources: Record = {};\r\n private disposeActions: Array<() => void> = [];\r\n private _signalAborted = false;\r\n private _status: AnimationStatus = AnimationStatus.Idle;\r\n\r\n constructor(\r\n private services: IServiceFactory,\r\n private pixiAppCreateOptions: IPixiAppCreateOptions,\r\n private resourcesUrls: IPixiSpineResourceDef[],\r\n private renderer: IAnimationRenderer,\r\n private canvasCss?: CSSProperties\r\n ) {\r\n }\r\n\r\n private initPromise: Promise = null;\r\n public start(): Promise {\r\n if (!this.initPromise) {\r\n this.initPromise = this._initialize();\r\n }\r\n return this.initPromise;\r\n }\r\n\r\n private async _initialize(): Promise {\r\n // The init started, set the status as Loading\r\n this._status = AnimationStatus.Loading;\r\n // between constructor and start, the animation could have been aborted or disposed, check it\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // create pixi app. this loads the pixi and pixi-spine libraries first time they are called\r\n let {app: pixiApp, dispose: disposePixiApp, PixiSpine, canvas} = await this.services.pixiApp.createPixiApp(this.pixiAppCreateOptions);\r\n this.pixiApp = pixiApp;\r\n this.pixiAppDisposer = disposePixiApp;\r\n\r\n const {resources} = await this.services.pixiApp.loadResources(pixiApp, this.resourcesUrls).catch((e: unknown) => {\r\n this._status = AnimationStatus.Failed;\r\n disposePixiApp();\r\n throw e;\r\n });\r\n\r\n // loading of pixi libraries and animation resources are async, I must check if someone aborted the animation meanwhile\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // Apply custom CSS to the canvas element created by pixi\r\n if (this.canvasCss) {\r\n Object.getOwnPropertyNames(this.canvasCss).forEach((styleKey) => {\r\n canvas.style[styleKey] = this.canvasCss[styleKey];\r\n });\r\n }\r\n\r\n // for all loaded resources instantiate Spine objects.\r\n // keep both raw loaded resources and Spine objects in Map or Record objects. key is the name.\r\n this.resourcesUrls.forEach((resUrl) => {\r\n this._loaderResources[resUrl.name] = resources[resUrl.name];\r\n let spineAnimation = new PixiSpine.Spine(resources[resUrl.name].spineData);\r\n this._spineAnimations[resUrl.name] = spineAnimation;\r\n pixiApp.stage.addChild(spineAnimation);\r\n });\r\n\r\n // run the specific animation instructions that are given in constructor\r\n // for now, only sync code is supported. to support async make it await\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n const renderDisposer = this.renderer.render({pixiApp, spineAnimations: this._spineAnimations, loaderResources: this._loaderResources});\r\n if (renderDisposer) {\r\n this.disposeActions.push(renderDisposer);\r\n }\r\n\r\n // in case the renderer is async then we should check again if the loading was aborted.\r\n // for now, this code is useless because for the renderer to support async code it should be something like this:\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // all done, set the status to Running and return the status (resolve)\r\n this._status = AnimationStatus.Running;\r\n\r\n return {status: AnimationStatus.Running, canvas: this.pixiApp.view};\r\n }\r\n\r\n public attachToDOM(wrapper: HTMLElement): Promise {\r\n if (!this.initPromise) {\r\n throw new Error(\"Method attachToDOM MUST be called after the method start\");\r\n }\r\n return this.initPromise.then((result) => {\r\n // At this point the status can be only Aborted or Running\r\n // Or, after disposal, the status could be Disposed\r\n if (result.status === AnimationStatus.Running) {\r\n wrapper.appendChild(result.canvas);\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n public get spineAnimations() {\r\n return this._spineAnimations;\r\n }\r\n\r\n public get loaderResources() {\r\n return this._loaderResources;\r\n }\r\n\r\n public get status() {\r\n return this._status;\r\n }\r\n\r\n /**\r\n * Dispose is the one method to be called both for disposal of the running animation and for aborting a loading one\r\n * If the animation object is newly created or loading, then the controller abort will be called.\r\n * that will cause a call to _disposeInternal from the _initialize method, as soon as the method checks the aborted flag\r\n * If the animation is running, we set the disposed status and call _disposeInternal owrselves\r\n */\r\n public dispose = () => {\r\n if (this._status === AnimationStatus.Idle || this._status === AnimationStatus.Loading) {\r\n this._signalAborted = true;\r\n } else if (this._status === AnimationStatus.Running) {\r\n this._status = AnimationStatus.Disposed;\r\n this._disposeInternal();\r\n }\r\n }\r\n\r\n private _disposeInternal = () => {\r\n while (this.disposeActions.length) {\r\n const disposeAction = this.disposeActions.pop();\r\n disposeAction();\r\n };\r\n if (this.renderer.dispose) {\r\n this.renderer.dispose();\r\n }\r\n while (this.resourcesUrls.length) {\r\n const resource = this.resourcesUrls.pop();\r\n if (this._spineAnimations[resource.name]) {\r\n this._spineAnimations[resource.name].autoUpdate = false;\r\n this._spineAnimations[resource.name].destroy();\r\n delete this._spineAnimations[resource.name];\r\n }\r\n }\r\n this.pixiAppDisposer();\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { DepositSideMenuItemBox } from \"./boxes/link/deposit/deposit-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\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 .forDelawarePark(SignupSideMenuItemCasino888Box)\r\n .forBallysDover(SignupSideMenuItemCasino888Box)\r\n .forHarrington(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 {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IThemeCustomizer} from \"./theme.service.interface\";\r\n\r\nexport class StandardThemeCustomizer implements IThemeCustomizer {\r\n constructor(protected readonly services: IServiceFactoryExtended) {}\r\n getHomePageTopBannerHeight(): string {\r\n if (this.services.homepage.headerArenasStyleIsSmallTiles) {\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"18.5rem\";\r\n }\r\n\r\n return \"29rem\";\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"25rem\";\r\n } else if (this.services.mediaQuery.lAndBelow) {\r\n return \"30rem\";\r\n }\r\n\r\n return \"47rem\";\r\n }\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {Id} from \"react-toastify\";\r\nimport {IdleRecommendationsComponentProps} from \"../../../common/interfaces/orbit-component-to-sdk-adapter/components-props/idle-recommendations.component-props\";\r\nimport {IStandardToastContentProps} from \"../../components/toaster/toasts-content/standard-toast.component\";\r\n\r\nexport interface IToastHandler {\r\n readonly toastId: Id;\r\n close(closeReason?: ToastCloseReason | string): void;\r\n}\r\n\r\ninterface IToastOptions {\r\n timeout?: TimeSpan;\r\n hideProgressBar?: boolean;\r\n className?: string;\r\n closeButton?: boolean;\r\n}\r\n\r\nexport const DEFAULT_TOAST_IMAGE = \"DEFAULT_TOAST_IMAGE\";\r\n\r\nexport enum ToastCloseReason {\r\n CloseButton = \"CloseButton\",\r\n}\r\n\r\nexport interface IToastDefinition {\r\n id?: number | string;\r\n toastOptions?: IToastOptions;\r\n renderContent: (handler: IToastHandler) => React.ReactElement;\r\n onToastShown?: () => void;\r\n displayCondition?: () => boolean;\r\n /**\r\n * @param closeReason ToastCloseReason | string | undefined\r\n * closeReason will be ToastCloseReason.CloseButton if the toast is closed from X button or undefined if it's autoClosed by the timeout or whatever you pass to the handler close method\r\n * Keep in mind that if you don't pass an argument to the close method the reason will be undefined just as in the case of timeout\r\n */\r\n onToastClosed?: (closeReason?: ToastCloseReason | string) => void;\r\n}\r\n\r\nexport interface IStandardToastDefinition extends Omit {\r\n contentProps: IStandardToastContentProps;\r\n}\r\n\r\ninterface IAnalyticsData {\r\n category: string;\r\n action: string;\r\n label?: string;\r\n}\r\n\r\nexport interface IAnalyticsOptions {\r\n analyticsData?: IAnalyticsData;\r\n}\r\n\r\n/**\r\n * TODO: When idle_recommendations_service.ts will be moved in orbit services move this method to the new service. It belongs there\r\n */\r\nexport interface IIdleRecomToastDef extends Omit {\r\n contentProps: IdleRecommendationsComponentProps;\r\n}\r\n\r\nexport interface IToasterService {\r\n readonly hasOpenToasters: boolean;\r\n showCustomToast(toastDef: IToastDefinition): IToastHandler;// Promise;\r\n showStandardToast(toastDef: IStandardToastDefinition): IToastHandler;\r\n showAckStandardToast(toastDef: IStandardToastDefinition): IToastHandler;\r\n /**\r\n * TODO: When idle_recommendations_service.ts will be moved in orbit services move this method to the new service. It belongs there\r\n */\r\n showIdleRecommendationToast(toastConfig: IIdleRecomToastDef): IToastHandler;\r\n}\r\n","import {CyClass} from \"../../../../common/cy-classes\";\r\n\r\nexport const TOOLTIP_TARGET_HEADER_BANKROLL_BUTTON_MOBILE = CyClass('cy-header-bankroll-button-mobile');\r\nexport const TOOLTIP_TARGET_FREE_PLAY_INDICATOR = CyClass('cy-free-play-indicator-button');\r\nexport const TOOLTIP_TARGET_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\n\r\nexport class GenericUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export interface IAsset {\r\n toString(): string;\r\n}\r\n\r\nexport interface AssetLocationInfo {\r\n readonly skinFullName: string;\r\n readonly serverPath: string;\r\n readonly configurationPath: string;\r\n}\r\nexport class Asset implements IAsset {\r\n constructor(private _relativePath: string, private _brandsOverrides: { [key: string]: boolean }) {\r\n }\r\n\r\n\r\n private _locationInfo: AssetLocationInfo;\r\n\r\n resolveLocation(locationInfo: AssetLocationInfo): string {\r\n this._locationInfo = locationInfo;\r\n return this.toString();\r\n }\r\n\r\n toString(): string {\r\n if(!this._locationInfo) { // this is for the asset to work on unit testing time\r\n return this._relativePath;\r\n }\r\n\r\n if (this._brandsOverrides[this._locationInfo.skinFullName]) {\r\n return this._locationInfo.configurationPath + 'assets/' + this._relativePath;\r\n }\r\n\r\n return this._locationInfo.serverPath + 'assets/' + this._relativePath;\r\n }\r\n}\r\n","import { ThemeName } from \"./theme-names\";\r\n\r\nexport class ByThemeRegistry {\r\n constructor(private _default: T) {}\r\n\r\n private _registry: Partial> = {};\r\n\r\n forCasino777(override: T): this {\r\n this._registry[ThemeName.Casino777.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCasino888(override: T): this {\r\n this._registry[ThemeName.Casino888.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCip(override: T): this {\r\n this._registry[ThemeName.Casino888Cip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsopCip(override: T): this {\r\n this._registry[ThemeName.WsopCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCis(override: T): this {\r\n this._registry[ThemeName.Casino888Cis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrahs(override: T): this {\r\n this._registry[ThemeName.Harrahs.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsop(override: T): this {\r\n this._registry[ThemeName.Wsop.forClient] = override;\r\n return this;\r\n }\r\n\r\n forBallysDover(override: T): this {\r\n this._registry[ThemeName.BallysDover.forClient] = override;\r\n return this;\r\n }\r\n\r\n forDelawarePark(override: T): this {\r\n this._registry[ThemeName.Delawarepark.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrington(override: T): this {\r\n this._registry[ThemeName.Harrington.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSI(override: T): this {\r\n this._registry[ThemeName.SI.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSICis(override: T): this {\r\n this._registry[ThemeName.SICis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreen(override: T): this {\r\n this._registry[ThemeName.MrGreen.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCis(override: T): this {\r\n this._registry[ThemeName.MrGreenCis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCip(override: T): this {\r\n this._registry[ThemeName.MrGreenCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n getRegistryItem = (themeName: ThemeName) => {\r\n return this._registry[themeName.forClient] ? this._registry[themeName.forClient] : this._default;\r\n }\r\n}\r\n","import {EMBEDDED_HYBRID, MINI_ORBIT} from '../../css-global-classes';\r\n\r\nexport class CssRule {\r\n static get For(): CssRule {\r\n return new CssRule()\r\n }\r\n private _rules: string[] = [];\r\n private negateNextRule: boolean = false;\r\n private formatRule(rule: string) {\r\n if (this.negateNextRule) {\r\n this.negateNextRule = false;\r\n return `:not(${rule})`;\r\n }\r\n return rule;\r\n }\r\n get not(): CssRule {\r\n this.negateNextRule = true\r\n return this;\r\n }\r\n get desktop(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-pc'));\r\n return this;\r\n }\r\n\r\n get ipad(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-ipad-device'));\r\n return this;\r\n }\r\n\r\n get mobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-mobile'));\r\n return this;\r\n }\r\n\r\n get notMobileOs(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-not-mobile-os'));\r\n return this;\r\n }\r\n\r\n get lowRes(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-low-resolution'));\r\n return this;\r\n }\r\n\r\n get portrait(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-portrait'));\r\n return this;\r\n }\r\n\r\n get landscape(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-landscape'));\r\n return this;\r\n }\r\n\r\n get tablet(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-tablet'));\r\n return this;\r\n }\r\n\r\n get RTL(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-rtl'));\r\n return this;\r\n }\r\n\r\n get embededHybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.${EMBEDDED_HYBRID}`));\r\n return this;\r\n }\r\n\r\n get hybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.cgp-hybrid`));\r\n return this;\r\n }\r\n\r\n get iPhoneVer5(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-5'));\r\n return this;\r\n }\r\n\r\n get iPhoneVer10(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-10'));\r\n return this;\r\n }\r\n\r\n get realMobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-real-mobile'));\r\n return this;\r\n }\r\n\r\n get miniOrbit(): CssRule {\r\n this._rules.push(this.formatRule(`.${MINI_ORBIT}`));\r\n return this;\r\n }\r\n\r\n build(): string {\r\n if(this._rules.length === 0) {\r\n return '';\r\n }\r\n\r\n return `html${this._rules.join('')}`;\r\n }\r\n}\r\n","import styled, { css } from \"styled-components\";\r\n\r\ntype FlexAlignItemsProp = \"flex-start\" | \"flex-end\" | \"stretch\" | \"center\" | \"baseline\";\r\ntype FlexJustifyContentProp = \"flex-start\" | \"flex-end\" | \"center\" | \"space-between\" | \"space-around\" | \"space-evenly\";\r\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 BallysDover = new ThemeName(\"ballysdover\", ClientThemeName.Ballysdover);\r\n public static Delawarepark = new ThemeName(\"delawarepark\", ClientThemeName.Delawarepark);\r\n public static Harrington = new ThemeName(\"harrington\", ClientThemeName.Harrington);\r\n public static SI = new ThemeName('si', ClientThemeName.SI); //sports illustrator\r\n public static SICis = new ThemeName('si/cis', ClientThemeName.SI);\r\n public static MrGreen = new ThemeName(\"mrgreen\", ClientThemeName.MrGreen);\r\n public static MrGreenCis = new ThemeName(\"mrgreen/cis\", ClientThemeName.MrGreen);\r\n public static MrGreenCip = new ThemeName(\"mrgreen/cip\", ClientThemeName.MrGreen);\r\n}","/** This is an automatically generated file.*/\nimport {Asset} from './architecture/asset';\nexport const Assets = {\n\tfonts: {\n\t\t_888_Black_eot: new Asset(\"fonts/888-Black.eot\", {}),\n\t\t_888_Black_otf: new Asset(\"fonts/888-Black.otf\", {}),\n\t\t_888_Black_svg: new Asset(\"fonts/888-Black.svg\", {}),\n\t\t_888_Black_ttf: new Asset(\"fonts/888-Black.ttf\", {}),\n\t\t_888_Black_woff: new Asset(\"fonts/888-Black.woff\", {}),\n\t\t_888_Black_woff2: new Asset(\"fonts/888-Black.woff2\", {}),\n\t\t_888_Bold_eot: new Asset(\"fonts/888-Bold.eot\", {'777_com': true}),\n\t\t_888_Bold_otf: new Asset(\"fonts/888-Bold.otf\", {'777_com': true}),\n\t\t_888_Bold_svg: new Asset(\"fonts/888-Bold.svg\", {'777_com': true}),\n\t\t_888_Bold_ttf: new Asset(\"fonts/888-Bold.ttf\", {'777_com': true}),\n\t\t_888_Bold_woff: new Asset(\"fonts/888-Bold.woff\", {'777_com': true}),\n\t\t_888_DemiBold_eot: new Asset(\"fonts/888-DemiBold.eot\", {}),\n\t\t_888_DemiBold_otf: new Asset(\"fonts/888-DemiBold.otf\", {}),\n\t\t_888_DemiBold_svg: new Asset(\"fonts/888-DemiBold.svg\", {}),\n\t\t_888_DemiBold_ttf: new Asset(\"fonts/888-DemiBold.ttf\", {}),\n\t\t_888_DemiBold_woff: new Asset(\"fonts/888-DemiBold.woff\", {}),\n\t\t_888_DemiBold_woff2: new Asset(\"fonts/888-DemiBold.woff2\", {}),\n\t\t_888_Light_eot: new Asset(\"fonts/888-Light.eot\", {}),\n\t\t_888_Light_otf: new Asset(\"fonts/888-Light.otf\", {}),\n\t\t_888_Light_svg: new Asset(\"fonts/888-Light.svg\", {}),\n\t\t_888_Light_ttf: new Asset(\"fonts/888-Light.ttf\", {}),\n\t\t_888_Light_woff: new Asset(\"fonts/888-Light.woff\", {}),\n\t\t_888_Light_woff2: new Asset(\"fonts/888-Light.woff2\", {}),\n\t\t_888_Medium_eot: new Asset(\"fonts/888-Medium.eot\", {}),\n\t\t_888_Medium_otf: new Asset(\"fonts/888-Medium.otf\", {}),\n\t\t_888_Medium_svg: new Asset(\"fonts/888-Medium.svg\", {}),\n\t\t_888_Medium_ttf: new Asset(\"fonts/888-Medium.ttf\", {}),\n\t\t_888_Medium_woff: new Asset(\"fonts/888-Medium.woff\", {}),\n\t\t_888_Medium_woff2: new Asset(\"fonts/888-Medium.woff2\", {}),\n\t\t_888_Regular_eot: new Asset(\"fonts/888-Regular.eot\", {}),\n\t\t_888_Regular_otf: new Asset(\"fonts/888-Regular.otf\", {}),\n\t\t_888_Regular_svg: new Asset(\"fonts/888-Regular.svg\", {}),\n\t\t_888_Regular_ttf: new Asset(\"fonts/888-Regular.ttf\", {}),\n\t\t_888_Regular_woff: new Asset(\"fonts/888-Regular.woff\", {}),\n\t\t_888_Regular_woff2: new Asset(\"fonts/888-Regular.woff2\", {}),\n\t\t_888_SemiCondensedBold_eot: new Asset(\"fonts/888-SemiCondensedBold.eot\", {}),\n\t\t_888_SemiCondensedBold_otf: new Asset(\"fonts/888-SemiCondensedBold.otf\", {}),\n\t\t_888_SemiCondensedBold_svg: new Asset(\"fonts/888-SemiCondensedBold.svg\", {}),\n\t\t_888_SemiCondensedBold_ttf: new Asset(\"fonts/888-SemiCondensedBold.ttf\", {}),\n\t\t_888_SemiCondensedBold_woff: new Asset(\"fonts/888-SemiCondensedBold.woff\", {}),\n\t\t_888_SemiCondensedBold_woff2: new Asset(\"fonts/888-SemiCondensedBold.woff2\", {}),\n\t\t_888_SemiCondensedDemiBold_eot: new Asset(\"fonts/888-SemiCondensedDemiBold.eot\", {}),\n\t\t_888_SemiCondensedDemiBold_otf: new Asset(\"fonts/888-SemiCondensedDemiBold.otf\", {}),\n\t\t_888_SemiCondensedDemiBold_svg: new Asset(\"fonts/888-SemiCondensedDemiBold.svg\", {}),\n\t\t_888_SemiCondensedDemiBold_ttf: new Asset(\"fonts/888-SemiCondensedDemiBold.ttf\", {}),\n\t\t_888_SemiCondensedDemiBold_woff: new Asset(\"fonts/888-SemiCondensedDemiBold.woff\", {}),\n\t\t_888_SemiCondensedDemiBold_woff2: new Asset(\"fonts/888-SemiCondensedDemiBold.woff2\", {}),\n\t\t_888_Thin_eot: new Asset(\"fonts/888-Thin.eot\", {}),\n\t\t_888_Thin_otf: new Asset(\"fonts/888-Thin.otf\", {}),\n\t\t_888_Thin_svg: new Asset(\"fonts/888-Thin.svg\", {}),\n\t\t_888_Thin_ttf: new Asset(\"fonts/888-Thin.ttf\", {}),\n\t\t_888_Thin_woff: new Asset(\"fonts/888-Thin.woff\", {}),\n\t\t_888_Thin_woff2: new Asset(\"fonts/888-Thin.woff2\", {}),\n\t\t_888_Ultra_eot: new Asset(\"fonts/888-Ultra.eot\", {}),\n\t\t_888_Ultra_otf: new Asset(\"fonts/888-Ultra.otf\", {}),\n\t\t_888_Ultra_svg: new Asset(\"fonts/888-Ultra.svg\", {}),\n\t\t_888_Ultra_ttf: new Asset(\"fonts/888-Ultra.ttf\", {}),\n\t\t_888_Ultra_woff: new Asset(\"fonts/888-Ultra.woff\", {}),\n\t\t_888_Ultra_woff2: new Asset(\"fonts/888-Ultra.woff2\", {}),\n\t\tdigital_7_mono_ttf: new Asset(\"fonts/digital_7_mono.ttf\", {}),\n\t\tLobster_Regular_eot: new Asset(\"fonts/Lobster_Regular.eot\", {'777_com': true}),\n\t\tLobster_Regular_otf: new Asset(\"fonts/Lobster_Regular.otf\", {'777_com': true}),\n\t\tLobster_Regular_svg: new Asset(\"fonts/Lobster_Regular.svg\", {'777_com': true}),\n\t\tLobster_Regular_ttf: new Asset(\"fonts/Lobster_Regular.ttf\", {'777_com': true}),\n\t\tLobster_Regular_woff: new Asset(\"fonts/Lobster_Regular.woff\", {'777_com': true}),\n\t\tLobster_Regular_woff2: new Asset(\"fonts/Lobster_Regular.woff2\", {'777_com': true}),\n\t\tOleoScript_Bold_ttf: new Asset(\"fonts/OleoScript-Bold.ttf\", {}),\n\t\toleo_script_reg_eot: new Asset(\"fonts/oleo_script_reg.eot\", {}),\n\t\toleo_script_reg_svg: new Asset(\"fonts/oleo_script_reg.svg\", {}),\n\t\toleo_script_reg_ttf: new Asset(\"fonts/oleo_script_reg.ttf\", {}),\n\t\toleo_script_reg_woff: new Asset(\"fonts/oleo_script_reg.woff\", {}),\n\t\toleo_script_reg_woff2: new Asset(\"fonts/oleo_script_reg.woff2\", {}),\n\t\toleo_script_reg_ext_woff2: new Asset(\"fonts/oleo_script_reg_ext.woff2\", {}),\n\t\tRobotoCondensed_Bold_ttf: new Asset(\"fonts/RobotoCondensed-Bold.ttf\", {}),\n\t\tTradeGothicLTStd_Bd2_otf: new Asset(\"fonts/TradeGothicLTStd-Bd2.otf\", {}),\n\t\tBello_Script_eot: new Asset(\"fonts/Bello_Script.eot\", {'777_com': true}),\n\t\tBello_Script_svg: new Asset(\"fonts/Bello_Script.svg\", {'777_com': true}),\n\t\tBello_Script_ttf: new Asset(\"fonts/Bello_Script.ttf\", {'777_com': true}),\n\t\tBello_Script_woff: new Asset(\"fonts/Bello_Script.woff\", {'777_com': true}),\n\t\tBello_Script_woff2: new Asset(\"fonts/Bello_Script.woff2\", {'777_com': true}),\n\t\tFutura_PT_Bold_eot: new Asset(\"fonts/Futura_PT_Bold.eot\", {'777_com': true}),\n\t\tFutura_PT_Bold_otf: new Asset(\"fonts/Futura_PT_Bold.otf\", {'777_com': true}),\n\t\tFutura_PT_Bold_svg: new Asset(\"fonts/Futura_PT_Bold.svg\", {'777_com': true}),\n\t\tFutura_PT_Bold_ttf: new Asset(\"fonts/Futura_PT_Bold.ttf\", {'777_com': true}),\n\t\tFutura_PT_Bold_woff: new Asset(\"fonts/Futura_PT_Bold.woff\", {'777_com': true}),\n\t\tFutura_PT_Bold_woff2: new Asset(\"fonts/Futura_PT_Bold.woff2\", {'777_com': true}),\n\t\tFutura_PT_Book_eot: new Asset(\"fonts/Futura_PT_Book.eot\", {'777_com': true}),\n\t\tFutura_PT_Book_otf: new Asset(\"fonts/Futura_PT_Book.otf\", {'777_com': true}),\n\t\tFutura_PT_Book_svg: new Asset(\"fonts/Futura_PT_Book.svg\", {'777_com': true}),\n\t\tFutura_PT_Book_ttf: new Asset(\"fonts/Futura_PT_Book.ttf\", {'777_com': true}),\n\t\tFutura_PT_Book_woff: new Asset(\"fonts/Futura_PT_Book.woff\", {'777_com': true}),\n\t\tFutura_PT_Book_woff2: new Asset(\"fonts/Futura_PT_Book.woff2\", {'777_com': true}),\n\t\tFutura_PT_Demi_eot: new Asset(\"fonts/Futura_PT_Demi.eot\", {'777_com': true}),\n\t\tFutura_PT_Demi_otf: new Asset(\"fonts/Futura_PT_Demi.otf\", {'777_com': true}),\n\t\tFutura_PT_Demi_svg: new Asset(\"fonts/Futura_PT_Demi.svg\", {'777_com': true}),\n\t\tFutura_PT_Demi_ttf: new Asset(\"fonts/Futura_PT_Demi.ttf\", {'777_com': true}),\n\t\tFutura_PT_Demi_woff: new Asset(\"fonts/Futura_PT_Demi.woff\", {'777_com': true}),\n\t\tFutura_PT_Demi_woff2: new Asset(\"fonts/Futura_PT_Demi.woff2\", {'777_com': true}),\n\t\tFutura_PT_Heavy_eot: new Asset(\"fonts/Futura_PT_Heavy.eot\", {'777_com': true}),\n\t\tFutura_PT_Heavy_otf: new Asset(\"fonts/Futura_PT_Heavy.otf\", {'777_com': true}),\n\t\tFutura_PT_Heavy_svg: new Asset(\"fonts/Futura_PT_Heavy.svg\", {'777_com': true}),\n\t\tFutura_PT_Heavy_ttf: new Asset(\"fonts/Futura_PT_Heavy.ttf\", {'777_com': true}),\n\t\tFutura_PT_Heavy_woff: new Asset(\"fonts/Futura_PT_Heavy.woff\", {'777_com': true}),\n\t\tFutura_PT_Heavy_woff2: new Asset(\"fonts/Futura_PT_Heavy.woff2\", {'777_com': true}),\n\t\tFutura_PT_Medium_eot: new Asset(\"fonts/Futura_PT_Medium.eot\", {'777_com': true}),\n\t\tFutura_PT_Medium_otf: new Asset(\"fonts/Futura_PT_Medium.otf\", {'777_com': true}),\n\t\tFutura_PT_Medium_svg: new Asset(\"fonts/Futura_PT_Medium.svg\", {'777_com': true}),\n\t\tFutura_PT_Medium_ttf: new Asset(\"fonts/Futura_PT_Medium.ttf\", {'777_com': true}),\n\t\tFutura_PT_Medium_woff: new Asset(\"fonts/Futura_PT_Medium.woff\", {'777_com': true}),\n\t\tFutura_PT_Medium_woff2: new Asset(\"fonts/Futura_PT_Medium.woff2\", {'777_com': true}),\n\t\tFuturaPTBold_otf: new Asset(\"fonts/FuturaPTBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBoldOblique_otf: new Asset(\"fonts/FuturaPTBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBook_otf: new Asset(\"fonts/FuturaPTBook.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBookOblique_otf: new Asset(\"fonts/FuturaPTBookOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBold_otf: new Asset(\"fonts/FuturaPTCondBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBoldOblique_otf: new Asset(\"fonts/FuturaPTCondBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBook_otf: new Asset(\"fonts/FuturaPTCondBook.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBookOblique_otf: new Asset(\"fonts/FuturaPTCondBookOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondExtraBold_otf: new Asset(\"fonts/FuturaPTCondExtraBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondExtraBoldOblique_otf: new Asset(\"fonts/FuturaPTCondExtraBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondMedium_otf: new Asset(\"fonts/FuturaPTCondMedium.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondMediumOblique_otf: new Asset(\"fonts/FuturaPTCondMediumOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTDemi_otf: new Asset(\"fonts/FuturaPTDemi.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTDemiOblique_otf: new Asset(\"fonts/FuturaPTDemiOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTExtraBold_otf: new Asset(\"fonts/FuturaPTExtraBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTExtraBoldOblique_otf: new Asset(\"fonts/FuturaPTExtraBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTHeavy_otf: new Asset(\"fonts/FuturaPTHeavy.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTHeavyOblique_otf: new Asset(\"fonts/FuturaPTHeavyOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTLight_otf: new Asset(\"fonts/FuturaPTLight.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTLightOblique_otf: new Asset(\"fonts/FuturaPTLightOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTMedium_otf: new Asset(\"fonts/FuturaPTMedium.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTMediumOblique_otf: new Asset(\"fonts/FuturaPTMediumOblique.otf\", {'ballysdover_de': true}),\n\t\ta_and_s_signwriter_ttf: new Asset(\"fonts/a_and_s_signwriter.ttf\", {'harrington_de': true}),\n\t\tGotham_Black_otf: new Asset(\"fonts/Gotham-Black.otf\", {'harrington_de': true}),\n\t\tGotham_BlackItalic_otf: new Asset(\"fonts/Gotham-BlackItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Bold_otf: new Asset(\"fonts/Gotham-Bold.otf\", {'harrington_de': true}),\n\t\tGotham_BoldItalic_otf: new Asset(\"fonts/Gotham-BoldItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Book_otf: new Asset(\"fonts/Gotham-Book.otf\", {'harrington_de': true}),\n\t\tGotham_BookItalic_otf: new Asset(\"fonts/Gotham-BookItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Light_otf: new Asset(\"fonts/Gotham-Light.otf\", {'harrington_de': true}),\n\t\tGotham_LightItalic_otf: new Asset(\"fonts/Gotham-LightItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Medium_otf: new Asset(\"fonts/Gotham-Medium.otf\", {'harrington_de': true}),\n\t\tGotham_MediumItalic_otf: new Asset(\"fonts/Gotham-MediumItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Thin_otf: new Asset(\"fonts/Gotham-Thin.otf\", {'harrington_de': true}),\n\t\tGotham_ThinItalic_otf: new Asset(\"fonts/Gotham-ThinItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Ultra_otf: new Asset(\"fonts/Gotham-Ultra.otf\", {'harrington_de': true}),\n\t\tGotham_UltraItalic_otf: new Asset(\"fonts/Gotham-UltraItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Black_otf: new Asset(\"fonts/GothamXNarrow-Black.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BlackItalic_otf: new Asset(\"fonts/GothamXNarrow-BlackItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Bold_otf: new Asset(\"fonts/GothamXNarrow-Bold.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BoldItalic_otf: new Asset(\"fonts/GothamXNarrow-BoldItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Book_otf: new Asset(\"fonts/GothamXNarrow-Book.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BookItalic_otf: new Asset(\"fonts/GothamXNarrow-BookItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Light_otf: new Asset(\"fonts/GothamXNarrow-Light.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_LightItalic_otf: new Asset(\"fonts/GothamXNarrow-LightItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Medium_otf: new Asset(\"fonts/GothamXNarrow-Medium.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_MediumItalic_otf: new Asset(\"fonts/GothamXNarrow-MediumItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Thin_otf: new Asset(\"fonts/GothamXNarrow-Thin.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_ThinItalic_otf: new Asset(\"fonts/GothamXNarrow-ThinItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Ultra_otf: new Asset(\"fonts/GothamXNarrow-Ultra.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_UltraItalic_otf: new Asset(\"fonts/GothamXNarrow-UltraItalic.otf\", {'harrington_de': true}),\n\t\tMontserrat_VariableFont_ttf: new Asset(\"fonts/Montserrat-VariableFont.ttf\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tIndustry_Black_eot: new Asset(\"fonts/Industry-Black.eot\", {'si_mi': true}),\n\t\tIndustry_Black_ttf: new Asset(\"fonts/Industry-Black.ttf\", {'si_mi': true}),\n\t\tIndustry_Black_woff: new Asset(\"fonts/Industry-Black.woff\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_eot: new Asset(\"fonts/Industry-BlackItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_ttf: new Asset(\"fonts/Industry-BlackItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_woff: new Asset(\"fonts/Industry-BlackItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Bold_eot: new Asset(\"fonts/Industry-Bold.eot\", {'si_mi': true}),\n\t\tIndustry_Bold_ttf: new Asset(\"fonts/Industry-Bold.ttf\", {'si_mi': true}),\n\t\tIndustry_Bold_woff: new Asset(\"fonts/Industry-Bold.woff\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_eot: new Asset(\"fonts/Industry-BoldItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_ttf: new Asset(\"fonts/Industry-BoldItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_woff: new Asset(\"fonts/Industry-BoldItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Book_eot: new Asset(\"fonts/Industry-Book.eot\", {'si_mi': true}),\n\t\tIndustry_Book_ttf: new Asset(\"fonts/Industry-Book.ttf\", {'si_mi': true}),\n\t\tIndustry_Book_woff: new Asset(\"fonts/Industry-Book.woff\", {'si_mi': true}),\n\t\tIndustry_BookItalic_eot: new Asset(\"fonts/Industry-BookItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BookItalic_ttf: new Asset(\"fonts/Industry-BookItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BookItalic_woff: new Asset(\"fonts/Industry-BookItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Demi_eot: new Asset(\"fonts/Industry-Demi.eot\", {'si_mi': true}),\n\t\tIndustry_Demi_ttf: new Asset(\"fonts/Industry-Demi.ttf\", {'si_mi': true}),\n\t\tIndustry_Demi_woff: new Asset(\"fonts/Industry-Demi.woff\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_eot: new Asset(\"fonts/Industry-DemiItalic.eot\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_ttf: new Asset(\"fonts/Industry-DemiItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_woff: new Asset(\"fonts/Industry-DemiItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Light_eot: new Asset(\"fonts/Industry-Light.eot\", {'si_mi': true}),\n\t\tIndustry_Light_ttf: new Asset(\"fonts/Industry-Light.ttf\", {'si_mi': true}),\n\t\tIndustry_Light_woff: new Asset(\"fonts/Industry-Light.woff\", {'si_mi': true}),\n\t\tIndustry_LightItalic_eot: new Asset(\"fonts/Industry-LightItalic.eot\", {'si_mi': true}),\n\t\tIndustry_LightItalic_ttf: new Asset(\"fonts/Industry-LightItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_LightItalic_woff: new Asset(\"fonts/Industry-LightItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Medium_eot: new Asset(\"fonts/Industry-Medium.eot\", {'si_mi': true}),\n\t\tIndustry_Medium_ttf: new Asset(\"fonts/Industry-Medium.ttf\", {'si_mi': true}),\n\t\tIndustry_Medium_woff: new Asset(\"fonts/Industry-Medium.woff\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_eot: new Asset(\"fonts/Industry-MediumItalic.eot\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_ttf: new Asset(\"fonts/Industry-MediumItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_woff: new Asset(\"fonts/Industry-MediumItalic.woff\", {'si_mi': true}),\n\t\tPoppins_Regular_ttf: new Asset(\"fonts/Poppins-Regular.ttf\", {'si_mi': true}),\n\t\tPoppins_SemiBold_ttf: new Asset(\"fonts/Poppins-SemiBold.ttf\", {'si_mi': true}),\n\t\tSolanoGothicMVB_Bd_ttf: new Asset(\"fonts/SolanoGothicMVB-Bd.ttf\", {'si_mi': true})\n\t},\n\timages: {\n\t\tarena_shaddow_png: new Asset(\"images/arena-shaddow.png\", {'777_com': true}),\n\t\tbroken_link_icon_png: new Asset(\"images/broken_link_icon.png\", {}),\n\t\tcasino_live_logo_mobile_png: new Asset(\"images/casino-live-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tcasino_live_logo_png: new Asset(\"images/casino-live-logo.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tcheck_png: new Asset(\"images/check.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tcheckbox_checked_png: new Asset(\"images/checkbox_checked.png\", {}),\n\t\tcheckbox_empty_png: new Asset(\"images/checkbox_empty.png\", {}),\n\t\tclose_modal_dialog_png: new Asset(\"images/close_modal_dialog.png\", {'777_com': true}),\n\t\tdeposit_header_icon_svg: new Asset(\"images/deposit_header_icon.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tempty_image_sq_gif: new Asset(\"images/empty-image-sq.gif\", {}),\n\t\tempty_image_gif: new Asset(\"images/empty-image.gif\", {}),\n\t\texclusives_list_icon_png: new Asset(\"images/exclusives_list_icon.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\tfull_screen_off_png: new Asset(\"images/full-screen-off.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tfull_screen_on_png: new Asset(\"images/full-screen-on.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tgame_default_background_png: new Asset(\"images/game_default_background.png\", {}),\n\t\thorizontal_line_glow_mobile_png: new Asset(\"images/horizontal-line-glow-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\thorizontal_line_glow_png: new Asset(\"images/horizontal-line-glow.png\", {'777_com': true}),\n\t\tidle_recomm_toaster_bg_png: new Asset(\"images/idle-recomm-toaster-bg.png\", {}),\n\t\tinfoBTN_png: new Asset(\"images/infoBTN.png\", {}),\n\t\tios_share_svg: new Asset(\"images/ios-share.svg\", {}),\n\t\tjackpot_widget_title_crown_png: new Asset(\"images/jackpot_widget_title_crown.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\tlamp_png: new Asset(\"images/lamp.png\", {}),\n\t\tlive_tables_top_border_png: new Asset(\"images/live-tables-top-border.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tparty_jackpot_logo_png: new Asset(\"images/party_jackpot_logo.png\", {}),\n\t\tplaceholder_game_icon_png: new Asset(\"images/placeholder_game_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tplaceholder_game_icon_sq_png: new Asset(\"images/placeholder_game_icon_sq.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tright_arrow_png: new Asset(\"images/right-arrow.png\", {'777_com': true}),\n\t\tshaddow_bg_png: new Asset(\"images/shaddow-bg.png\", {'777_com': true}),\n\t\tside_menu_header_decoration_png: new Asset(\"images/side-menu-header-decoration.png\", {'777_com': true}),\n\t\tsplash_page_logo_0_0_png: new Asset(\"images/splash_page_logo-0-0.png\", {}),\n\t\tsplash_page_logo_0_111_png: new Asset(\"images/splash_page_logo-0-111.png\", {'777_com': true}),\n\t\tsplash_page_logo_1_53_png: new Asset(\"images/splash_page_logo-1-53.png\", {}),\n\t\tsplash_page_logo_31_46_png: new Asset(\"images/splash_page_logo-31-46.png\", {}),\n\t\tsplash_page_logo_58_82_png: new Asset(\"images/splash_page_logo-58-82.png\", {}),\n\t\tsplash_page_logo_68_98_png: new Asset(\"images/splash_page_logo-68-98.png\", {}),\n\t\tsplash_page_logo_69_100_png: new Asset(\"images/splash_page_logo-69-100.png\", {}),\n\t\tsplash_page_logo_70_102_png: new Asset(\"images/splash_page_logo-70-102.png\", {}),\n\t\tsplash_page_logo_71_104_png: new Asset(\"images/splash_page_logo-71-104.png\", {}),\n\t\tsplash_page_logo_72_105_png: new Asset(\"images/splash_page_logo-72-105.png\", {}),\n\t\tsplash_page_logo_73_107_png: new Asset(\"images/splash_page_logo-73-107.png\", {}),\n\t\tsplash_page_logo_75_113_png: new Asset(\"images/splash_page_logo-75-113.png\", {}),\n\t\tsplash_page_logo_76_119_png: new Asset(\"images/splash_page_logo-76-119.png\", {}),\n\t\tsplash_page_logo_79_125_png: new Asset(\"images/splash_page_logo-79-125.png\", {}),\n\t\tsplash_page_logo_8_78_png: new Asset(\"images/splash_page_logo-8-78.png\", {}),\n\t\tsplash_page_logo_81_129_png: new Asset(\"images/splash_page_logo-81-129.png\", {}),\n\t\tsplash_page_logo_84_137_png: new Asset(\"images/splash_page_logo-84-137.png\", {}),\n\t\tsplash_page_logo_87_141_png: new Asset(\"images/splash_page_logo-87-141.png\", {}),\n\t\tsplash_page_logo_88_144_png: new Asset(\"images/splash_page_logo-88-144.png\", {}),\n\t\tsplash_page_logo_91_151_png: new Asset(\"images/splash_page_logo-91-151.png\", {'si_mi': true}),\n\t\tsplash_page_logo_92_152_png: new Asset(\"images/splash_page_logo-92-152.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsplash_page_logo_93_154_png: new Asset(\"images/splash_page_logo-93-154.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsplash_page_logo_cip8_0_0_png: new Asset(\"images/splash_page_logo-cip8-0-0.png\", {}),\n\t\tsplash_page_logo_cip8_1_53_png: new Asset(\"images/splash_page_logo-cip8-1-53.png\", {}),\n\t\tsplash_page_logo_cip8_31_46_png: new Asset(\"images/splash_page_logo-cip8-31-46.png\", {}),\n\t\tsplash_page_logo_cip8_58_82_png: new Asset(\"images/splash_page_logo-cip8-58-82.png\", {}),\n\t\tsplash_page_logo_cip8_71_104_png: new Asset(\"images/splash_page_logo-cip8-71-104.png\", {}),\n\t\tsplash_page_logo_cip8_73_107_png: new Asset(\"images/splash_page_logo-cip8-73-107.png\", {}),\n\t\tsplash_page_logo_cip8_75_113_png: new Asset(\"images/splash_page_logo-cip8-75-113.png\", {}),\n\t\tsplash_page_logo_cip8_76_119_png: new Asset(\"images/splash_page_logo-cip8-76-119.png\", {}),\n\t\tsplash_page_logo_cip8_79_125_png: new Asset(\"images/splash_page_logo-cip8-79-125.png\", {}),\n\t\tsplash_page_logo_cip8_8_78_png: new Asset(\"images/splash_page_logo-cip8-8-78.png\", {}),\n\t\tsplash_page_logo_cip8_81_129_png: new Asset(\"images/splash_page_logo-cip8-81-129.png\", {}),\n\t\tsplash_page_logo_cip8_84_137_png: new Asset(\"images/splash_page_logo-cip8-84-137.png\", {}),\n\t\tsplash_page_logo_cip8_87_142_png: new Asset(\"images/splash_page_logo-cip8-87-142.png\", {}),\n\t\tsplash_page_logo_cip8_88_145_png: new Asset(\"images/splash_page_logo-cip8-88-145.png\", {}),\n\t\tsplash_page_logo_cip8_png: new Asset(\"images/splash_page_logo-cip8.png\", {}),\n\t\tsplash_page_logo_cis_0_0_png: new Asset(\"images/splash_page_logo-cis-0-0.png\", {}),\n\t\tsplash_page_logo_cis_1_53_png: new Asset(\"images/splash_page_logo-cis-1-53.png\", {}),\n\t\tsplash_page_logo_cis_31_46_png: new Asset(\"images/splash_page_logo-cis-31-46.png\", {}),\n\t\tsplash_page_logo_cis_58_82_png: new Asset(\"images/splash_page_logo-cis-58-82.png\", {}),\n\t\tsplash_page_logo_cis_71_104_png: new Asset(\"images/splash_page_logo-cis-71-104.png\", {}),\n\t\tsplash_page_logo_cis_73_107_png: new Asset(\"images/splash_page_logo-cis-73-107.png\", {}),\n\t\tsplash_page_logo_cis_75_113_png: new Asset(\"images/splash_page_logo-cis-75-113.png\", {}),\n\t\tsplash_page_logo_cis_76_119_png: new Asset(\"images/splash_page_logo-cis-76-119.png\", {}),\n\t\tsplash_page_logo_cis_79_125_png: new Asset(\"images/splash_page_logo-cis-79-125.png\", {}),\n\t\tsplash_page_logo_cis_8_78_png: new Asset(\"images/splash_page_logo-cis-8-78.png\", {}),\n\t\tsplash_page_logo_cis_81_129_png: new Asset(\"images/splash_page_logo-cis-81-129.png\", {}),\n\t\tsplash_page_logo_cis_84_137_png: new Asset(\"images/splash_page_logo-cis-84-137.png\", {}),\n\t\tsplash_page_logo_cis_87_142_png: new Asset(\"images/splash_page_logo-cis-87-142.png\", {}),\n\t\tsplash_page_logo_cis_88_145_png: new Asset(\"images/splash_page_logo-cis-88-145.png\", {}),\n\t\tsplash_page_logo_cis_91_151_png: new Asset(\"images/splash_page_logo-cis-91-151.png\", {}),\n\t\tsplash_page_logo_cis_png: new Asset(\"images/splash_page_logo-cis.png\", {}),\n\t\tSpriteSheetPC1920_png: new Asset(\"images/SpriteSheetPC1920.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\ttexture_png: new Asset(\"images/texture.png\", {'777_com': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\ttop_banner_placeholder_gif: new Asset(\"images/top_banner_placeholder.gif\", {}),\n\t\tvertical_line_glow_png: new Asset(\"images/vertical-line-glow.png\", {'777_com': true}),\n\t\twww_splash_page_logo_1_111_png: new Asset(\"images/www_splash_page_logo-1-111.png\", {}),\n\t\t_3px_tile_png: new Asset(\"images/3px-tile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t_777logo_png: new Asset(\"images/777logo.png\", {'777_com': true}),\n\t\t_777logo_svg: new Asset(\"images/777logo.svg\", {'777_com': true}),\n\t\tbrilliant_png: new Asset(\"images/brilliant.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tclose_modal_dialog_hover_png: new Asset(\"images/close_modal_dialog_hover.png\", {'777_com': true}),\n\t\thistory_bg_title_png: new Asset(\"images/history_bg_title.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_content_banner_png: new Asset(\"images/home-content-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_page_top_banner_png: new Asset(\"images/home-page-top-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tinfo_img_png: new Asset(\"images/info-img.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tjackpots_bg_png: new Asset(\"images/jackpots-bg.png\", {'777_com': true}),\n\t\tlang_reg_icon_png: new Asset(\"images/lang_reg_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlang_selected_icon_png: new Asset(\"images/lang_selected_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_info_png: new Asset(\"images/letter-info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_play_png: new Asset(\"images/letter-play.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_design_png: new Asset(\"images/letter_design.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_arena_banner_png: new Asset(\"images/live-arena-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tlive_chat_png: new Asset(\"images/live-chat.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_content_banner_png: new Asset(\"images/live-content-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tnotification_off_png: new Asset(\"images/notification off.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tonly_real_money_game_warning_png: new Asset(\"images/only-real-money-game-warning.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tpay_icon_png: new Asset(\"images/pay-icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tswiper_layout_bottom_shaddow_png: new Asset(\"images/swiper-layout-bottom-shaddow.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_menu_box_icon_png: new Asset(\"images/user-menu-box-icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_png: new Asset(\"images/user.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t_888casinologo_dark_png: new Asset(\"images/888casinologo-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_mobile_svg: new Asset(\"images/888casinologo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_pc_svg: new Asset(\"images/888casinologo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_png: new Asset(\"images/888casinologo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tblackSquare_png: new Asset(\"images/blackSquare.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tdiv_lang_png: new Asset(\"images/div-lang.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tgermany_panic_icon_png: new Asset(\"images/germany_panic_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tballysdoverlogo_svg: new Asset(\"images/ballysdoverlogo.svg\", {'ballysdover_de': true}),\n\t\tballysdover_logo_svg: new Asset(\"images/ballysdover_logo.svg\", {'ballysdover_de': true}),\n\t\tdelaware_park_logo_svg: new Asset(\"images/delaware-park-logo.svg\", {'delawarepark_de': true}),\n\t\tdelawareparklogo_svg: new Asset(\"images/delawareparklogo.svg\", {'delawarepark_de': true}),\n\t\tharrahslogo_svg: new Asset(\"images/harrahslogo.svg\", {'harrahs_nj': true}),\n\t\thccasinologo_svg: new Asset(\"images/hccasinologo.svg\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\tharrington_logo_svg: new Asset(\"images/harrington-logo.svg\", {'harrington_de': true}),\n\t\tharringtonlogo_svg: new Asset(\"images/harringtonlogo.svg\", {'harrington_de': true}),\n\t\tmrgreenlogo_png: new Asset(\"images/mrgreenlogo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tmrgreenlogo_svg: new Asset(\"images/mrgreenlogo.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsi_island_resort_png: new Asset(\"images/si-island-resort.png\", {'si_mi': true}),\n\t\tsi_island_resort_svg: new Asset(\"images/si-island-resort.svg\", {'si_mi': true}),\n\t\tsi_sports_book_png: new Asset(\"images/si-sports-book.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_png: new Asset(\"images/si_logo_mobile.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_svg: new Asset(\"images/si_logo_mobile.svg\", {'si_mi': true}),\n\t\tsi_logo_pc_png: new Asset(\"images/si_logo_pc.png\", {'si_mi': true}),\n\t\tsi_logo_pc_svg: new Asset(\"images/si_logo_pc.svg\", {'si_mi': true}),\n\t\thccasinologo_png: new Asset(\"images/hccasinologo.png\", {'wsop_nj': true}),\n\t\twsoplogo_svg: new Asset(\"images/wsoplogo.svg\", {'wsop_nj': true}),\n\t\tanimated_icons_poc: {\n\t\t\tmillionaire_genie_megaways: {\n\t\t\t\tgenie_megaways_v1_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.atlas\", {}),\n\t\t\t\tgenie_megaways_v1_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.json\", {}),\n\t\t\t\tgenie_megaways_v1_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.png\", {}),\n\t\t\t\tgenie_megaways_v2_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.atlas\", {}),\n\t\t\t\tgenie_megaways_v2_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.json\", {}),\n\t\t\t\tgenie_megaways_v2_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.png\", {}),\n\t\t\t\tgenie_megaways_v3_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.atlas\", {}),\n\t\t\t\tgenie_megaways_v3_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.json\", {}),\n\t\t\t\tgenie_megaways_v3_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.png\", {}),\n\t\t\t\tgenie_megaways_v4_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.atlas\", {}),\n\t\t\t\tgenie_megaways_v4_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.json\", {}),\n\t\t\t\tgenie_megaways_v4_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.png\", {})\n\t\t\t}\n\t\t},\n\t\tarena_link_to_offer: {\n\t\t\tClose_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Close_BTN_green.svg\", {}),\n\t\t\tGift_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Gift_BTN_green.svg\", {})\n\t\t},\n\t\tbrowser_icons: {\n\t\t\tchrome_icon_PNG: new Asset(\"images/browser-icons/chrome-icon.PNG\", {}),\n\t\t\tmicrosoft_edge_png: new Asset(\"images/browser-icons/microsoft-edge.png\", {}),\n\t\t\tmozilla_firefox_png: new Asset(\"images/browser-icons/mozilla-firefox.png\", {})\n\t\t},\n\t\tburnout: {\n\t\t\tburnout_animation_atlas: new Asset(\"images/burnout/burnout_animation.atlas\", {}),\n\t\t\tburnout_animation_json: new Asset(\"images/burnout/burnout_animation.json\", {}),\n\t\t\tburnout_animation_png: new Asset(\"images/burnout/burnout_animation.png\", {}),\n\t\t\tburnout_animation_last_frame_png: new Asset(\"images/burnout/burnout_animation_last_frame.png\", {})\n\t\t},\n\t\tdaily_deal: {\n\t\t\tdaily_deal_chest_glow_png: new Asset(\"images/daily-deal/daily-deal-chest-glow.png\", {}),\n\t\t\tdaily_deal_chest_halo_png: new Asset(\"images/daily-deal/daily-deal-chest-halo.png\", {}),\n\t\t\tdaily_deal_chest_text_strip_svg: new Asset(\"images/daily-deal/daily-deal-chest-text-strip.svg\", {}),\n\t\t\tdaily_deal_chest_png: new Asset(\"images/daily-deal/daily-deal-chest.png\", {})\n\t\t},\n\t\tf2p: {\n\t\t\tfreeToPlay_atlas: new Asset(\"images/f2p/freeToPlay.atlas\", {'si_mi': true}),\n\t\t\tfreeToPlay_json: new Asset(\"images/f2p/freeToPlay.json\", {'si_mi': true}),\n\t\t\tfreeToPlay_png: new Asset(\"images/f2p/freeToPlay.png\", {'si_mi': true})\n\t\t},\n\t\tfree_play: {\n\t\t\tfp_left_arrow_png: new Asset(\"images/free-play/fp-left-arrow.png\", {}),\n\t\t\tfp_right_arrow_png: new Asset(\"images/free-play/fp-right-arrow.png\", {}),\n\t\t\tfp_step_msg_bg_png: new Asset(\"images/free-play/fp-step-msg-bg.png\", {}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/free-play/fp-vouchers-bg.png\", {}),\n\t\t\tfreeplay_bg_type_fp_png: new Asset(\"images/free-play/freeplay-bg-type-fp.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_fs_png: new Asset(\"images/free-play/freeplay-bg-type-fs.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_jfp_png: new Asset(\"images/free-play/freeplay-bg-type-jfp.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_jfs_png: new Asset(\"images/free-play/freeplay-bg-type-jfs.png\", {'777_com': true}),\n\t\t\tfreeplay_type_fp_png: new Asset(\"images/free-play/freeplay-type-fp.png\", {'777_com': true}),\n\t\t\tfreeplay_type_fs_png: new Asset(\"images/free-play/freeplay-type-fs.png\", {'777_com': true}),\n\t\t\tfreeplay_type_jfp_png: new Asset(\"images/free-play/freeplay-type-jfp.png\", {'777_com': true}),\n\t\t\tfreeplay_type_jfs_png: new Asset(\"images/free-play/freeplay-type-jfs.png\", {'777_com': true})\n\t\t},\n\t\tgames_icons_background: {\n\t\t\tBGcardandtable_png: new Asset(\"images/games-icons-background/BGcardandtable.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGGameBlack_png: new Asset(\"images/games-icons-background/BGGameBlack.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGGameBlackSquare_png: new Asset(\"images/games-icons-background/BGGameBlackSquare.png\", {'777_com': true}),\n\t\t\tBGicon_png: new Asset(\"images/games-icons-background/BGicon.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGredTiger_png: new Asset(\"images/games-icons-background/BGredTiger.png\", {'777_com': true})\n\t\t},\n\t\tgame_frame: {\n\t\t\tdemo_left_corner_png: new Asset(\"images/game_frame/demo_left_corner.png\", {'777_com': true}),\n\t\t\tdemo_right_corner_png: new Asset(\"images/game_frame/demo_right_corner.png\", {'777_com': true}),\n\t\t\tfreeplay_indicator_png: new Asset(\"images/game_frame/freeplay_indicator.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_indicator_selected_png: new Asset(\"images/game_frame/freeplay_indicator_selected.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_left_corner_png: new Asset(\"images/game_frame/freeplay_left_corner.png\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_right_corner_png: new Asset(\"images/game_frame/freeplay_right_corner.png\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_left_corner_png: new Asset(\"images/game_frame/real_left_corner.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_right_corner_png: new Asset(\"images/game_frame/real_right_corner.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tregulation_strip_clock_png: new Asset(\"images/game_frame/regulation_strip_clock.png\", {})\n\t\t},\n\t\thistory: {\n\t\t\thistory_details_left_corner_png: new Asset(\"images/history/history-details-left-corner.png\", {'777_com': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\thistory_calendar_png: new Asset(\"images/history/history_calendar.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tjackpot_widget: {\n\t\t\tcrown_png: new Asset(\"images/jackpot_widget/crown.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'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})\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,'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,'si_mi': true})\n\t\t\t},\n\t\t\thigh_noon: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/high_noon/background.png\", {'777_com': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/high_noon/logo.png\", {})\n\t\t\t},\n\t\t\thourly_captain8: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/hourly_captain8/background.png\", {}),\n\t\t\t\tbackground_landscape_png: new Asset(\"images/jackpot_widget/hourly_captain8/background_landscape.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/hourly_captain8/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tinfo_dialog: {\n\t\t\t\tmobile_png: new Asset(\"images/jackpot_widget/info_dialog/mobile.png\", {'777_com': true}),\n\t\t\t\tmobile_landscape_png: new Asset(\"images/jackpot_widget/info_dialog/mobile_landscape.png\", {'777_com': true}),\n\t\t\t\tpc_png: new Asset(\"images/jackpot_widget/info_dialog/pc.png\", {'777_com': true})\n\t\t\t},\n\t\t\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}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/live_party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/live_party/logo.png\", {})\n\t\t\t},\n\t\t\tmillionaire_genie: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/millionaire_genie/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/millionaire_genie/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tparty: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/party/background.png\", {'777_com': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/party/logo.png\", {}),\n\t\t\t\ttoaster_icon_png: new Asset(\"images/jackpot_widget/party/toaster_icon.png\", {'777_com': true}),\n\t\t\t\twinning_png: new Asset(\"images/jackpot_widget/party/winning.png\", {})\n\t\t\t},\n\t\t\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}),\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}),\n\t\t\tseat_icon_png: new Asset(\"images/live_arena/seat_icon.png\", {'777_com': true}),\n\t\t\tseat_icon_dark_png: new Asset(\"images/live_arena/seat_icon_dark.png\", {'777_com': true}),\n\t\t\tlive_arena_widget: {\n\t\t\t\tbackground_png: new Asset(\"images/live_arena/live_arena_widget/background.png\", {}),\n\t\t\t\tcapsule_end_png: new Asset(\"images/live_arena/live_arena_widget/capsule_end.png\", {'777_com': true}),\n\t\t\t\tcapsule_mid_png: new Asset(\"images/live_arena/live_arena_widget/capsule_mid.png\", {'777_com': true}),\n\t\t\t\tcapsule_start_png: new Asset(\"images/live_arena/live_arena_widget/capsule_start.png\", {'777_com': true}),\n\t\t\t\tcrown_png: new Asset(\"images/live_arena/live_arena_widget/crown.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/live_arena/live_arena_widget/logo.png\", {}),\n\t\t\t\tseparator_png: new Asset(\"images/live_arena/live_arena_widget/separator.png\", {'777_com': true})\n\t\t\t}\n\t\t},\n\t\tonboarding: {\n\t\t\tonboarding_logo_png: new Asset(\"images/onboarding/onboarding_logo.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tonboarding_logo_closing_png: new Asset(\"images/onboarding/onboarding_logo_closing.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\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\tsafe_to_play_png: new Asset(\"images/regulation_specific/denmark/safe-to-play.png\", {}),\n\t\t\t\tself_exclusion_png: new Asset(\"images/regulation_specific/denmark/self-exclusion.png\", {}),\n\t\t\t\tself_test_png: new Asset(\"images/regulation_specific/denmark/self-test.png\", {})\n\t\t\t},\n\t\t\tontario: {\n\t\t\t\tsafe_to_play_icon_svg: new Asset(\"images/regulation_specific/ontario/safe-to-play-icon.svg\", {})\n\t\t\t},\n\t\t\tsweeden: {\n\t\t\t\tsw_resp_game_limit_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit-symbol.png\", {}),\n\t\t\t\tsw_resp_game_limit_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit.png\", {}),\n\t\t\t\tsw_resp_game_panic_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic-symbol.png\", {}),\n\t\t\t\tsw_resp_game_panic_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic.png\", {}),\n\t\t\t\tsw_resp_game_self_test_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test-symbol.png\", {}),\n\t\t\t\tsw_resp_game_self_test_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test.png\", {})\n\t\t\t},\n\t\t\tus: {\n\t\t\t\tnj_rg_icon_svg: new Asset(\"images/regulation_specific/us/nj-rg-icon.svg\", {}),\n\t\t\t\tnj_us_flag_svg: new Asset(\"images/regulation_specific/us/nj-us-flag.svg\", {})\n\t\t\t}\n\t\t},\n\t\tresponsible_gambling: {\n\t\t\tage_18plus_capsule_svg: new Asset(\"images/responsible-gambling/age-18plus-capsule.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tage_18plus_flat_svg: new Asset(\"images/responsible-gambling/age-18plus-flat.svg\", {'777_com': true}),\n\t\t\tage_18plus_round_svg: new Asset(\"images/responsible-gambling/age-18plus-round.svg\", {'777_com': true}),\n\t\t\tage_21plus_flat_svg: new Asset(\"images/responsible-gambling/age-21plus-flat.svg\", {'777_com': true}),\n\t\t\tage_21plus_round_svg: new Asset(\"images/responsible-gambling/age-21plus-round.svg\", {'777_com': true,'si_mi': true}),\n\t\t\tbegambleaeare_logo_png: new Asset(\"images/responsible-gambling/begambleaeare-logo.png\", {'777_com': true}),\n\t\t\tgamecare_logo_png: new Asset(\"images/responsible-gambling/gamecare-logo.png\", {'777_com': true}),\n\t\t\tsafeZoneIcon_svg: new Asset(\"images/responsible-gambling/safeZoneIcon.svg\", {'777_com': true})\n\t\t},\n\t\tuser: {\n\t\t\tpost_login_mobile_svg: new Asset(\"images/user/post-login-mobile.svg\", {'777_com': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\twheel_of_fortune: {\n\t\t\tcolors_svg: new Asset(\"images/wheel-of-fortune/colors.svg\", {}),\n\t\t\tshell_svg: new Asset(\"images/wheel-of-fortune/shell.svg\", {'777_com': true})\n\t\t},\n\t\tarenas: {\n\t\t\tCasinoGames: {\n\t\t\t\tonline_blackjack_png: new Asset(\"images/arenas/CasinoGames/online_blackjack.png\", {'777_com': true}),\n\t\t\t\tonline_casino_games_png: new Asset(\"images/arenas/CasinoGames/online_casino_games.png\", {'777_com': true}),\n\t\t\t\tonline_jackpot_png: new Asset(\"images/arenas/CasinoGames/online_jackpot.png\", {'777_com': true}),\n\t\t\t\tonline_roulette_png: new Asset(\"images/arenas/CasinoGames/online_roulette.png\", {'777_com': true}),\n\t\t\t\tonline_slots_png: new Asset(\"images/arenas/CasinoGames/online_slots.png\", {'777_com': true})\n\t\t\t},\n\t\t\tHomePage: {\n\t\t\t\tblackjack_arena_info_png: new Asset(\"images/arenas/HomePage/blackjack_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcards_arena_info_png: new Asset(\"images/arenas/HomePage/cards_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcasino_games_arena_png: new Asset(\"images/arenas/HomePage/casino_games_arena.png\", {'777_com': true}),\n\t\t\t\tdaily_jackpots_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_arena_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tdefault_arena_png: new Asset(\"images/arenas/HomePage/default_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_png: new Asset(\"images/arenas/HomePage/live_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tnew_games_arena_png: new Asset(\"images/arenas/HomePage/new_games_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tnew_games_arena_info_png: new Asset(\"images/arenas/HomePage/new_games_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\troulette_arena_info_png: new Asset(\"images/arenas/HomePage/roulette_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tscratch_cards_arena_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena.png\", {'777_com': true}),\n\t\t\t\tscratch_cards_arena_info_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_arena_info_png: new Asset(\"images/arenas/HomePage/slots_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_jackpots_arena_png: new Asset(\"images/arenas/HomePage/slots_jackpots_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvideo_poker_arena_info_png: new Asset(\"images/arenas/HomePage/video_poker_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\t_888exclusive_arena_png: new Asset(\"images/arenas/HomePage/888exclusive_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\t_888exclusive_arena_info_png: new Asset(\"images/arenas/HomePage/888exclusive_arena_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tblackjack_arena_png: new Asset(\"images/arenas/HomePage/blackjack_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tcards_arena_png: new Asset(\"images/arenas/HomePage/cards_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tInstantWin_game_info_png: new Asset(\"images/arenas/HomePage/InstantWin_game_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/HomePage/live_arena_elite_lounge.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tlive_game_shows_arena_png: new Asset(\"images/arenas/HomePage/live_game_shows_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\troulette_arena_png: new Asset(\"images/arenas/HomePage/roulette_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tscratch_cards_arena_icon_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvideo_poker_arena_png: new Asset(\"images/arenas/HomePage/video_poker_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvisual_sport_arena_info_png: new Asset(\"images/arenas/HomePage/visual_sport_arena_info.png\", {'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tprogressive_slots_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_icon.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tprogressive_slots_arena_info_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_info.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tsi_exclusive_arena_png: new Asset(\"images/arenas/HomePage/si_exclusive_arena.png\", {'si_mi': true})\n\t\t\t},\n\t\t\tLiveArenas: {\n\t\t\t\tdefault_live_arena_png: new Asset(\"images/arenas/LiveArenas/default_live_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_baccarat_png: new Asset(\"images/arenas/LiveArenas/live_arena_baccarat.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_bj_png: new Asset(\"images/arenas/LiveArenas/live_arena_bj.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_dream_catcher_png: new Asset(\"images/arenas/LiveArenas/live_arena_dream_catcher.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/LiveArenas/live_arena_elite_lounge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_poker_png: new Asset(\"images/arenas/LiveArenas/live_arena_poker.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_roulette_png: new Asset(\"images/arenas/LiveArenas/live_arena_roulette.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true})\n\t\t\t}\n\t\t},\n\t\tavatars: {\n\t\t\tdiamond_vip: {\n\t\t\t\tmy_account_diamond_vip_png: new Asset(\"images/avatars/diamond-vip/my-account-diamond-vip.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_regular_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_regular_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tmy_account_gold_vip_png: new Asset(\"images/avatars/gold-vip/my-account-gold-vip.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_regular_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_regular_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tmy_account_vip_platinum_png: new Asset(\"images/avatars/platinum-vip/my-account-vip-platinum.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_regular_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_regular_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true})\n\t\t\t},\n\t\t\treg: {\n\t\t\t\tpost_login_hover_png: new Asset(\"images/avatars/reg/post-login-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_hover_svg: new Asset(\"images/avatars/reg/post-login-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_pressed_png: new Asset(\"images/avatars/reg/post-login-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_pressed_svg: new Asset(\"images/avatars/reg/post-login-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_png: new Asset(\"images/avatars/reg/post-login-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_svg: new Asset(\"images/avatars/reg/post-login-reg.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_hover_png: new Asset(\"images/avatars/reg/pre-login-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_hover_svg: new Asset(\"images/avatars/reg/pre-login-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_pressed_png: new Asset(\"images/avatars/reg/pre-login-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_pressed_svg: new Asset(\"images/avatars/reg/pre-login-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_png: new Asset(\"images/avatars/reg/pre-login-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_svg: new Asset(\"images/avatars/reg/pre-login-reg.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tmy_account_vip_reg_png: new Asset(\"images/avatars/reg-vip/my-account-vip-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': 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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_regular_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tMy_account_VIP_REG_icon_png: new Asset(\"images/avatars/reg-vip/My-account-VIP-REG-icon.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_icon_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-icon-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': 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_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_dk': true,'mrgreen_ger': true,'mrgreen_se': 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_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_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_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_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,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\texclusive_png: new Asset(\"images/badges/exclusive.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thot_png: new Asset(\"images/badges/hot.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_badge_png: new Asset(\"images/badges/new-badge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/badges/vip-badge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tbanners: {\n\t\t\t_777InstantWin_arena_banner_mobile_png: new Asset(\"images/banners/777InstantWin_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\t_777InstantWin_arena_banner_pc_png: new Asset(\"images/banners/777InstantWin_arena_banner_pc.png\", {'777_com': true}),\n\t\t\t_777InstantWin_arena_banner_tablet_png: new Asset(\"images/banners/777InstantWin_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_mobile_png: new Asset(\"images/banners/all_casino_games_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_pc_png: new Asset(\"images/banners/all_casino_games_arena_banner_pc.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_tablet_png: new Asset(\"images/banners/all_casino_games_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tblackjack_arena_banner_mobile_png: new Asset(\"images/banners/blackjack_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_png: new Asset(\"images/banners/blackjack_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_png: new Asset(\"images/banners/blackjack_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcasino_games_arena_banner_mobile_png: new Asset(\"images/banners/casino_games_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\tcasino_games_arena_banner_pc_png: new Asset(\"images/banners/casino_games_arena_banner_pc.png\", {'777_com': true}),\n\t\t\tcasino_games_arena_banner_tablet_png: new Asset(\"images/banners/casino_games_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tevo_lobby_banner_mobile_png: new Asset(\"images/banners/evo_lobby_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_pc_png: new Asset(\"images/banners/evo_lobby_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_tablet_png: new Asset(\"images/banners/evo_lobby_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_mobile_png: new Asset(\"images/banners/jackpot_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_pc_png: new Asset(\"images/banners/jackpot_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_tablet_png: new Asset(\"images/banners/jackpot_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tlive_arena_banner_mobile_png: new Asset(\"images/banners/live_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tlive_arena_banner_pc_png: new Asset(\"images/banners/live_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tlive_arena_banner_tablet_png: new Asset(\"images/banners/live_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_mobile_png: new Asset(\"images/banners/new_games_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_pc_png: new Asset(\"images/banners/new_games_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_tablet_png: new Asset(\"images/banners/new_games_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\troulette_arena_banner_mobile_png: new Asset(\"images/banners/roulette_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_png: new Asset(\"images/banners/roulette_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_png: new Asset(\"images/banners/roulette_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tscratch_card_arena_banner_mobile_png: new Asset(\"images/banners/scratch_card_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscratch_card_arena_banner_pc_png: new Asset(\"images/banners/scratch_card_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscratch_card_arena_banner_tablet_png: new Asset(\"images/banners/scratch_card_arena_banner_tablet.png\", {'777_com': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tslots_arena_banner_mobile_png: new Asset(\"images/banners/slots_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_pc_png: new Asset(\"images/banners/slots_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_tablet_png: new Asset(\"images/banners/slots_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_mobile_png: new Asset(\"images/banners/video_poker_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_pc_png: new Asset(\"images/banners/video_poker_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_tablet_png: new Asset(\"images/banners/video_poker_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t_888exclusive_arena_banner_mobile_png: new Asset(\"images/banners/888exclusive_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_banner_pc_png: new Asset(\"images/banners/888exclusive_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_banner_tablet_png: new Asset(\"images/banners/888exclusive_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_preview_image_png: new Asset(\"images/banners/888exclusive_arena_preview_image.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tcards_arena_banner_mobile_png: new Asset(\"images/banners/cards_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_pc_png: new Asset(\"images/banners/cards_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_tablet_png: new Asset(\"images/banners/cards_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tInstantWin_arena_banner_mobile_png: new Asset(\"images/banners/InstantWin_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_pc_png: new Asset(\"images/banners/InstantWin_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_tablet_png: new Asset(\"images/banners/InstantWin_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\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}),\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}),\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}),\n\t\t\tvirtual_sports_arena_banner_mobile_png: new Asset(\"images/banners/virtual_sports_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_pc_png: new Asset(\"images/banners/virtual_sports_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_tablet_png: new Asset(\"images/banners/virtual_sports_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tprogressive_slots_arena_banner_mobile_png: new Asset(\"images/banners/progressive_slots_arena_banner_mobile.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_pc_png: new Asset(\"images/banners/progressive_slots_arena_banner_pc.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_tablet_png: new Asset(\"images/banners/progressive_slots_arena_banner_tablet.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_mobile_png: new Asset(\"images/banners/exclusive_arena_banner_mobile.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_pc_png: new Asset(\"images/banners/exclusive_arena_banner_pc.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_tablet_png: new Asset(\"images/banners/exclusive_arena_banner_tablet.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tsi_exclusive_arena_banner_mobile_png: new Asset(\"images/banners/si_exclusive_arena_banner_mobile.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_pc_png: new Asset(\"images/banners/si_exclusive_arena_banner_pc.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_tablet_png: new Asset(\"images/banners/si_exclusive_arena_banner_tablet.png\", {'si_mi': true}),\n\t\t\tblackjack_arena_banner_mobile_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_mobile_rtl.png\", {'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_pc_rtl.png\", {'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_tablet_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_mobile_rtl_png: new Asset(\"images/banners/roulette_arena_banner_mobile_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_rtl_png: new Asset(\"images/banners/roulette_arena_banner_pc_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_rtl_png: new Asset(\"images/banners/roulette_arena_banner_tablet_rtl.png\", {'wsop_nj': true})\n\t\t},\n\t\tlogos: {\n\t\t\tsi_logo_pc_svg: new Asset(\"images/logos/si_logo_pc.svg\", {'si_mi': true}),\n\t\t\tdiamond_vip: {\n\t\t\t\tvip_diamond_logo_mobile_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_diamond_logo_mobile_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_dark_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_diamond_logo_pc_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tvip_gold_logo_mobile_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_gold_logo_mobile_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_dark_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_gold_logo_pc_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_png: new Asset(\"images/logos/gold-vip/vip-gold-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tvip_platinum_logo_mobile_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_platinum_logo_mobile_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_dark_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_platinum_logo_pc_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tvip_regular_logo_mobile_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_regular_logo_mobile_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_dark_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_regular_logo_pc_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_png: new Asset(\"images/logos/reg-vip/vip-regular-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\n\t\t},\n\t\tsdk_icons: {\n\t\t\t_18_plus_png: new Asset(\"images/sdk_icons/18_plus.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t_21_plus_png: new Asset(\"images/sdk_icons/21_plus.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_png: new Asset(\"images/sdk_icons/Close.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_hover_png: new Asset(\"images/sdk_icons/Close_hover.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfprightarrow_png: new Asset(\"images/sdk_icons/fprightarrow.png\", {'777_com': true}),\n\t\t\tfpvoucherback_png: new Asset(\"images/sdk_icons/fpvoucherback.png\", {'777_com': true}),\n\t\t\tfpVoucherBG_png: new Asset(\"images/sdk_icons/fpVoucherBG.png\", {'777_com': true}),\n\t\t\tfpvoucherfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherfreeplay.png\", {'777_com': true}),\n\t\t\tfpvoucherfreespin_png: new Asset(\"images/sdk_icons/fpvoucherfreespin.png\", {'777_com': true}),\n\t\t\tfpvoucherinfoclose_png: new Asset(\"images/sdk_icons/fpvoucherinfoclose.png\", {'777_com': true}),\n\t\t\tfpvoucherinfoopen_png: new Asset(\"images/sdk_icons/fpvoucherinfoopen.png\", {'777_com': true}),\n\t\t\tfpvoucherjackpotfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreeplay.png\", {'777_com': true}),\n\t\t\tfpvoucherjackpotfreespin_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreespin.png\", {'777_com': true}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/sdk_icons/fp_vouchers_bg.png\", {'777_com': true}),\n\t\t\tfreeplayVoucherBG_png: new Asset(\"images/sdk_icons/freeplayVoucherBG.png\", {'777_com': true}),\n\t\t\tfreeSpinsVoucherBG_png: new Asset(\"images/sdk_icons/freeSpinsVoucherBG.png\", {'777_com': true}),\n\t\t\tfull_screen_png: new Asset(\"images/sdk_icons/full_screen.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfull_screen_off_png: new Asset(\"images/sdk_icons/full_screen_off.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_fp_indicator_png: new Asset(\"images/sdk_icons/game-frame-fp-indicator.png\", {'777_com': true}),\n\t\t\tgame_frame_freeplay_mode_left_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_freeplay_mode_right_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_left_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_right_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_left_png: new Asset(\"images/sdk_icons/game_frame_real_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_right_png: new Asset(\"images/sdk_icons/game_frame_real_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgeneral_notification_png: new Asset(\"images/sdk_icons/general_notification.png\", {'777_com': true}),\n\t\t\that_png: new Asset(\"images/sdk_icons/hat.png\", {'777_com': true}),\n\t\t\thot_png: new Asset(\"images/sdk_icons/hot.png\", {'777_com': true}),\n\t\t\ticons_down_arrow_png: new Asset(\"images/sdk_icons/icons_down_arrow.png\", {'777_com': true}),\n\t\t\tjackpotplayFreePlayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreePlayVoucherBG.png\", {'777_com': true}),\n\t\t\tjackpotplayFreeSpinVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreeSpinVoucherBG.png\", {'777_com': true}),\n\t\t\tjackpotplayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayVoucherBG.png\", {'777_com': true}),\n\t\t\tleftarrow_png: new Asset(\"images/sdk_icons/leftarrow.png\", {'777_com': true}),\n\t\t\tnew_badge_png: new Asset(\"images/sdk_icons/new-badge.png\", {'777_com': true}),\n\t\t\tpassword_png: new Asset(\"images/sdk_icons/password.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\trightarrow_png: new Asset(\"images/sdk_icons/rightarrow.png\", {'777_com': true}),\n\t\t\ttoaster_information_message_png: new Asset(\"images/sdk_icons/toaster-information-message.png\", {'777_com': true}),\n\t\t\ttouchFinger_png: new Asset(\"images/sdk_icons/touchFinger.png\", {'777_com': true}),\n\t\t\tuser_png: new Asset(\"images/sdk_icons/user.png\", {'777_com': true}),\n\t\t\tusername_png: new Asset(\"images/sdk_icons/username.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/sdk_icons/vip-badge.png\", {'777_com': true}),\n\t\t\tgame_frame_bg_fp_left_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-left.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true}),\n\t\t\tgame_frame_bg_fp_right_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-right.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true}),\n\t\t\tpost_login_mobile_svg: new Asset(\"images/sdk_icons/post-login-mobile.svg\", {'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thistory_details_left_corner_png: new Asset(\"images/sdk_icons/history-details-left-corner.png\", {'si_mi': true})\n\t\t},\n\t\tstore: {\n\t\t\tstore_button_android_eng_png: new Asset(\"images/store/store-button-android-eng.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fin_png: new Asset(\"images/store/store-button-android-fin.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fre_png: new Asset(\"images/store/store-button-android-fre.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_ger_png: new Asset(\"images/store/store-button-android-ger.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_nor_png: new Asset(\"images/store/store-button-android-nor.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_por_png: new Asset(\"images/store/store-button-android-por.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_rus_png: new Asset(\"images/store/store-button-android-rus.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_spa_png: new Asset(\"images/store/store-button-android-spa.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_swe_png: new Asset(\"images/store/store-button-android-swe.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_eng_svg: new Asset(\"images/store/store-button-ios-eng.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fin_svg: new Asset(\"images/store/store-button-ios-fin.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fre_svg: new Asset(\"images/store/store-button-ios-fre.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_ger_svg: new Asset(\"images/store/store-button-ios-ger.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_nor_svg: new Asset(\"images/store/store-button-ios-nor.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_por_svg: new Asset(\"images/store/store-button-ios-por.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_rus_svg: new Asset(\"images/store/store-button-ios-rus.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_spa_svg: new Asset(\"images/store/store-button-ios-spa.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_swe_svg: new Asset(\"images/store/store-button-ios-swe.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\ttooltip: {\n\t\t\tgift_svg: new Asset(\"images/tooltip/gift.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tmini_orbit: {\n\t\t\tcip: {\n\t\t\t\texclusives_list_icon_cip_png: new Asset(\"images/mini_orbit/cip/exclusives_list_icon_cip.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\ttexture_png: new Asset(\"images/mini_orbit/cip/texture.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cip/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tjackpot_widget_title_crown_png: new Asset(\"images/mini_orbit/cip/jackpot_widget_title_crown.png\", {'wsop_nj': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'wsop_nj': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cip/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cip/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cip/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\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})\n\t\t\t\t}\n\t\t\t},\n\t\t\tcis: {\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cis/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cis/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cis/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cis/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\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})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tanimated_banners: {\n\t\t\tatmospheric_blackjack_banner_atlas: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_blackjack_banner_json: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_blackjack_banner_png: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_atlas: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_json: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_png: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_atlas: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_json: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_png: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_atlas: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_json: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_png: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_atlas: new Asset(\"images/animated-banners/atmospheric-live-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_json: new Asset(\"images/animated-banners/atmospheric-live-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_png: new Asset(\"images/animated-banners/atmospheric-live-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_atlas: new Asset(\"images/animated-banners/atmospheric-newgames-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_json: new Asset(\"images/animated-banners/atmospheric-newgames-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_png: new Asset(\"images/animated-banners/atmospheric-newgames-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_atlas: new Asset(\"images/animated-banners/atmospheric-roulette-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_json: new Asset(\"images/animated-banners/atmospheric-roulette-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_png: new Asset(\"images/animated-banners/atmospheric-roulette-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_atlas: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_json: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_png: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_atlas: new Asset(\"images/animated-banners/atmospheric-slots-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_json: new Asset(\"images/animated-banners/atmospheric-slots-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_png: new Asset(\"images/animated-banners/atmospheric-slots-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_atlas: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_json: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_png: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t}\n\t},\n\tlottie_json: {\n\t\tgeo_location_checking_json: new Asset(\"lottie-json/geo-location-checking.json\", {}),\n\t\tgeo_location_ok_json: new Asset(\"lottie-json/geo-location-ok.json\", {}),\n\t\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\tgames: {\n\t\tgame_icon_placeholder_png: new Asset(\"games/game_icon_placeholder.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tabout: {\n\t\t\teng_about_json: new Asset(\"games/about/eng_about.json\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tpreview_default_images: {\n\t\t\tdefault_game_strip_card_and_table_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_card_and_table_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_png: new Asset(\"games/preview_default_images/default_game_strip_live.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_live_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_png: new Asset(\"games/preview_default_images/default_game_strip_slots.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_slots_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t}\n\t},\n\tfallbackCMSComponent: {\n\t\tdefault_cgp_shell_css: new Asset(\"fallbackCMSComponent/default-cgp-shell.css\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tdefaultFooter_html: new Asset(\"fallbackCMSComponent/defaultFooter.html\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tharrahsFooter_html: new Asset(\"fallbackCMSComponent/harrahsFooter.html\", {'harrahs_nj': true}),\n\t\twsopFooter_html: new Asset(\"fallbackCMSComponent/wsopFooter.html\", {'wsop_nj': true})\n\t}\n};","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface IInfoIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class InfoIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface ISearchIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class SearchIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#0ea79b\", //brandTeal\r\n base01Contrast: \"#19322f\", //blackTeal\r\n base01Dark: \"#8cd1ba\", //softTeal\r\n base01Light: \"#c3e3c7\", //lightGreen\r\n\r\n base02: \"#fcf6d5\", //brandYellow\r\n base02Contrast: \"#4c1723\", //blackRed\r\n base02Dark: \"#a4867c\", //tan\r\n base02Light: \"#eadfc3\", //sepia\r\n\r\n base03: \"#bc3554\", //pink\r\n base03Contrast: \"#fcf6d5\", //brandYellow,\r\n base03Dark: \"#b01619\", //brick\r\n base03Light: \"#ff014f\", //red\r\n\r\n base04: \"#ffd683\", //peach\r\n base04Contrast: \"#4c1723\", //blackRed\r\n base04Dark: \"#ffbe0b\", //papaya\r\n base04Light: \"#ffff00\", //yellow\r\n\r\n\r\n base05: \"#7aec37\", //inchWorm\r\n base05Contrast: \"#000000\",\r\n base05Dark: \"#135823\",\r\n base05Light: \"#d5ec37\", //pear //#87ee4b\r\n\r\n logoBackground: \"#DAEBCD\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#FC6200\",\r\n base01Contrast: \"#000000\",\r\n base01Dark: \"#de5600\",\r\n base01Light: \"#fc721a\",\r\n\r\n base02: \"#ffcc02\",\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#e0b400\",\r\n base02Light: \"#ffd11a\",\r\n\r\n base03: \"#e91515\",\r\n base03Contrast: \"\",\r\n base03Dark: \"#cd1212\",\r\n base03Light: \"#eb2c2c\",\r\n\r\n base04: \"#0294f6\",\r\n base04Contrast: \"#ffffff\",\r\n base04Dark: \"#0282d8\",\r\n base04Light: \"#1b9ff7\",\r\n\r\n base05: \"#0c0c0c\",\r\n base05Contrast: \"#ffffff\",\r\n base05Dark: \"#0b0b0b\",\r\n base05Light: \"#242424\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#d62a8c\",\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#bc257b\",\r\n base01Light: \"#da3f98\",\r\n\r\n base02: \"#310a53\",\r\n base02Contrast: \"#ffffff\",\r\n base02Dark: \"#462365\",\r\n base02Light: \"#6d5c80\",\r\n\r\n base03: \"#ff014f\",\r\n base03Contrast: \"#ffffff\",\r\n base03Dark: \"#e00146\",\r\n base03Light: \"#ff1a61\",\r\n\r\n\r\n base04: \"#d5ec37\",\r\n base04Contrast: \"#180529\",\r\n base04Dark: \"#7aec37\",\r\n base04Light: \"#ffff00\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#015536\",\r\n base01Contrast: \"#262627\",\r\n base01Dark: \"#05372C\",\r\n base01Light: \"#41B169\",\r\n\r\n base02: \"#047C4C\",\r\n base02Contrast: \"\",\r\n base02Dark: \"\",\r\n base02Light: \"\",\r\n\r\n base03: \"#FFFFFF\",\r\n base03Contrast: \"\",\r\n base03Dark: \"\",\r\n base03Light: \"\",\r\n\r\n base04: \"linear-gradient(90deg, #F1C141 0%, #F9F19A 48.96%, #F1C141 100%)\",\r\n base05: \"#F12727\",\r\n gold: \"#F1C141\",\r\n yellow: \"#F9F19A\",\r\n warmWhite: \"#FFFFFFCC\",\r\n ...grayColors\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#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\n","export const CHANNEL_SOURCE = {\r\n casinoClient: 'CASINO_CLIENT',\r\n partyJackpotToaster: 'PARTY_JACKPOT_TOASTER',\r\n omg: 'OMG',\r\n myAccount: 'MY_ACCOUNT',\r\n uploadDocuments: 'UPLOAD_DOCUMENTS',\r\n registration: 'REGISTRATION',\r\n pendingPlay: 'PENDING_PLAY',\r\n pendingAction: 'PENDING_ACTION',\r\n geoLocationRetry: 'GEO_LOCATION_RETRY',\r\n geoLocation: 'GEO_LOCATION',\r\n rich: 'RICH',\r\n about_popup: 'ABOUT_POPUP',\r\n cashier:\"CASHIER\"\r\n}\r\n\r\nexport const CHANNEL_ELEMENTS = {\r\n depositButton: 'deposit_button',\r\n withdrawButton: 'withdraw_button',\r\n uploadDocumentsButton: 'upload_documents_button',\r\n transactionHistoryButton: 'transaction_history_button',\r\n retryButton: 'retry_button',\r\n plusButton: 'plus_button',\r\n urlParam: 'url_param',\r\n deepLink: 'deep_link',\r\n floatingIcon: 'floating_icon',\r\n controlCenterHeaderButton: 'safezone_header_button',\r\n controlCenterTooltip: 'control_center_tooltip',\r\n controlCenterUsefulLink: 'safezone_useful_link',\r\n gamesLimitsLobbyButton: 'games_limits_lobby_button',\r\n gamesLimitsGameButton: 'games_limits_game_button',\r\n omgAction:\"omg_action\",\r\n cashierAction:\"cashier_action\",\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_IDS = {\r\n sofRequired: 100,\r\n retryCloseDrawerMessage: 101,\r\n psRedirectFocusDialog: 102,\r\n timeSpentReminder: 104,\r\n nightLimitWarning: 105,\r\n nightLimitKick: 106,\r\n lugasCooldown:108,\r\n lugasActiveOnAnotherOperator:109,\r\n lugasLogout:110,\r\n loginMessage:112,\r\n realityCheckGermany: 113\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_NAMES = {\r\n DISRUPTIVE_WARNING_MESSAGE_NAME: \"DisruptiveWarningMessage\",\r\n DISRUPTIVE_KICKOFF_MESSAGE_NAME: \"DisruptiveKickOffMessage\",\r\n LUGAS_COOLDOWN_MESSAGE_NAME:\"LugasCoolingPeriod\",\r\n LUGAS_ACTIVE_MESSAGE_NAME:\"LugasParallelPlaying\",\r\n LUGAS_LOGOUT_MESSAGE_NAME:\"LugasLogout\",\r\n REALITY_CHECK_GERMANY_MESSAGE_NAME: \"RealityCheck\",\r\n LOGIN_MESSAGE: \"LoginMessage\"\r\n}\r\n\r\nexport const ACTION_TAKEN_NAMES = {\r\n CONFIRM_ACTION: \"confirm\",\r\n CANCEL_ACTION: \"cancel\",\r\n}","export enum FP_VOUCHER_TYPES {\r\n FreeSpin = '1',\r\n FreePlay = '2',\r\n FreeJackpotSpin = '3',\r\n FreeJackpotPlay = '4'\r\n}\r\n\r\nexport const FP_MESSAGE_MODE = {\r\n POPUP: 'popup',\r\n EMBEDDED_INTERNAL: 'embedded-internal'\r\n};\r\n","export enum GAME_GROUP {\r\n ARCADE = 209,\r\n BACCARAT = 11,\r\n BACKGAMMONN = 40,\r\n BLACKJACK = 12,\r\n CARRIBEAN_POKER = 18,\r\n CRAPS = 10,\r\n CRAZY_BLACKJACK = 20,\r\n HEAD_TO_HEAD = 207,\r\n HI_LO = 202,\r\n KENO = 16,\r\n LIVE_CASINO = 201,\r\n PAI_GOW_POKER = 17,\r\n POKER = 100,\r\n POKER_TEMPLATE_GAMES = 206,\r\n POOLS = 212,\r\n POWER_VIDEO_POKER = 19,\r\n ROULETTE = 13,\r\n ROULETTE_LIKE = 203,\r\n SCRATCH_CARD = 204,\r\n SLOT = 14,\r\n VIDEO_SLOT = 30,\r\n VIDEO_POKER = 15,\r\n VIDEO_SLOT_BONUS_GAME = 31\r\n}\r\n","export enum JackpotInternalId {\r\n Daily = 8000,\r\n Twilight = 8001,\r\n HourlyCaptain8 = 8002,\r\n MillionaireGenie = 6,\r\n AgeOfTheGodsFranchises = 200019,\r\n\r\n}\r\n\r\nexport enum JackpotType {\r\n Daily = \"Daily\",\r\n HighNoon = \"HighNoon\",\r\n Twilight = \"Twilight\",\r\n Party = \"Party\",\r\n HourlyCaptain8 = \"HourlyCaptain8\",\r\n MillionaireGenie = \"MillionaireGenie\",\r\n AgeOfGods = \"AgeOfTheGodsFranchises\",\r\n 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-profile-picture' |\r\n 'cy-menu-item' |\r\n 'cy-game-navbar-close-button' |\r\n 'cy-game-navbar-clock' |\r\n 'cy-game-stripe-clock' |\r\n 'cy-game-navbar' |\r\n 'cy-open-responsible-gaming-button' |\r\n 'cy-game-navbar-game-name' |\r\n 'cy-game-navbar-session-id' |\r\n 'cy-game-navbar-switch-to-real-label' |\r\n 'cy-game-navbar-switch-to-demo-label' |\r\n 'cy-game-navbar-game-mode-toggle' |\r\n \"cy-game-info-page-button\" |\r\n 'cy-welcome-cashier-button' |\r\n 'cy-game-navbar-fullscreen-button' |\r\n 'cy-game-regulation-stripe' |\r\n 'cy-spain-game-limit-duration-select' |\r\n 'cy-spain-game-limit-confirmation-dialog-title' |\r\n 'cy-spain-game-limit-loss-limit-select' |\r\n 'cy-spain-game-limit-interval-reminder-select' |\r\n 'cy-spain-game-limit-restriction-period-select' |\r\n 'cy-header-regulation-data'|\r\n 'cy-self-exclusion-link' |\r\n 'cy-safe-to-play' |\r\n 'cy-responsible-gaming-button' |\r\n 'cy-balance-amount-pc' |\r\n 'cy-header-bankroll-button-mobile' |\r\n 'cy-bonus-and-cash-balance' |\r\n 'cy-cache-balance' |\r\n 'cy-bonus-balance' |\r\n 'cy-login-button-text' |\r\n 'cy-register-button' |\r\n 'cy-last-login-label' |\r\n 'cy-main-nav' |\r\n 'cy-navbar-mobile-wrapper' |\r\n 'cy-session-timer' |\r\n 'cy-last-login-value' |\r\n 'cy-open-game-intermediate-page' |\r\n 'cy-regulation-game-session-id' |\r\n 'cy-regulation-participation-ticket-id' |\r\n 'cy-italy-game-limit-default-amount-option' |\r\n 'cy-italy-game-limit-other-amount-option' |\r\n 'cy-italy-game-limit-other-amount-input' |\r\n 'cy-italy-game-limit-regulatory-value' |\r\n 'cy-sweden-panic-button' |\r\n 'cy-sweden-panic-icon' |\r\n 'cy-sweden-game-limit-button' |\r\n 'cy-sweden-game-limit-icon' |\r\n 'cy-sweden-self-test-button' |\r\n 'cy-sweden-self-test-icon' |\r\n 'cy-modal-dialog-x-close-button' |\r\n 'cy-external-link-container' |\r\n 'cy-cashier-external-link-container' |\r\n 'cy-new-live-casino' |\r\n 'cy-live-casino' |\r\n 'cy-live-casino-widget-container' |\r\n 'cy-modal-main-title' |\r\n 'cy-italy-game-limit-message' |\r\n 'cy-italy-game-limit-message-section' |\r\n 'cy-italy-game-limit-error-section' |\r\n 'cy-dk-doga-icon' |\r\n 'cy-dk-stop-spillen-icon' |\r\n 'cy-dk-rofus-icon' |\r\n 'cy-clear-search-box-icon' |\r\n 'cy-found-games-list-box' |\r\n 'cy-no-found-games-box' |\r\n 'cy-found-games-more-box' |\r\n 'cy-found-games-more' |\r\n 'cy-search-game-item' |\r\n 'cy-user-cid' |\r\n 'cy-close-mobile-menu-icon' |\r\n 'cy-close-mobile-search-icon' |\r\n 'cy-game-search-input' |\r\n 'cy-search-title-box' |\r\n 'cy-game-search-box' |\r\n 'cy-suggested-links-suggested-games' |\r\n 'cy-lobby-header' |\r\n 'cy-lobby-header-title'|\r\n 'cy-navbar-right-container' |\r\n 'cy-homepage-header-arenas-container' |\r\n 'cy-homepage-top-banner-background' |\r\n 'cy-homepage-top-banner-divider' |\r\n 'cy-arena-box' |\r\n 'cy-header-arena-title' |\r\n 'cy-new-games-arena-badge' |\r\n 'cy-party-jackpot-in-game-container' |\r\n 'cy-party-jackpot-in-game-widget-amount' |\r\n 'cy-party-jackpot-welcome-popup' |\r\n 'cy-party-jackpot-welcome-popup-accept-button' |\r\n 'cy-party-jackpot-welcome-popup-decline-button' |\r\n 'cy-party-jackpot-welcome-popup-terms-and-conditions' |\r\n 'cy-reality-check-close-button' |\r\n 'cy-session-cooldown-popup' |\r\n 'cy-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-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\r\n\r\n\r\nexport function CyClass(className: CyCssClass): string {\r\n return className.toString();\r\n}\r\n\r\nexport function CySelector(className: CyCssClass): string {\r\n return '.' + className.toString();\r\n}\r\n\r\nexport function CySelectors(...classNames: CyCssClass[]): string {\r\n return classNames.map(clsName => '.' + clsName).join(' ');\r\n}\r\n","export enum GameChildishIconMode { \r\n UseDefaultIcon,\r\n UseNonChildishIcon,\r\n PreferNonChildishIcon\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\n\r\nexport enum TSR_TYPE {\r\n SESSION_TIMER,\r\n GAME_TIMER\r\n}\r\n\r\nexport type ITimeSpentReminderOptions = ISessionTimeSpentReminderComponentProps | IGameTimeSpentReminderComponentProps;\r\n\r\nexport interface ITimeSpentReminderComponentBaseProps {\r\n playingTime: TimeSpan;\r\n}\r\n\r\ninterface ISessionTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.SESSION_TIMER;\r\n}\r\n\r\ninterface IGameTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.GAME_TIMER;\r\n onStopReminders: () => void;\r\n}\r\n\r\nexport interface ITimeSpentReminderWithBalanceComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n totalNetLoss: number;\r\n isInGame: boolean;\r\n}","function 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 = 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 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};","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 {IGameRestriction} from \"./game-restriction.interface\";\r\n\r\nexport class NoGameRestriction implements IGameRestriction {\r\n isGameAllowedToPlayReal(): boolean {\r\n return true;\r\n }\r\n\r\n showUserMessage(): void {\r\n\r\n }\r\n\r\n}","import { computed, makeObservable } from 'mobx';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {IRunningGameHandler} from './running-game-handler.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {\r\n OpenGameIntermediatePageComponent\r\n} from \"../../components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component\";\r\nimport React from \"react\";\r\nimport {GameIconAnimationState} from '../../components/single-game/common/parts/game-image/game-image.component';\r\nimport {\r\n IRunningGameControllerViewModel\r\n} from \"../game-runner/interfaces/game-controller/running-game-controller.interface\";\r\nimport {GameModeEnum} from \"../game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {IOpenFreePlayGameParams} from \"../game-runner/game-runner.service.interface\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\r\nimport {NoGameRestriction} from \"../restrictions/no-game-restriction\";\r\nimport {GAME_GROUP} from \"../../../common/const/game_groups_consts\";\r\nimport {NullableNumber, NullableString} from \"../../../common/types/nullable-types\";\r\nimport {GAMES_CATEGORIES} from \"./games-categories.enum\";\r\nimport {IGameInfo} from '../../../common/const/game-info.interface';\r\nimport {GAME_VOLATILITY} from '../../../sdk/src/services/games_information/games_information_service_interface';\r\nimport {\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../analytics/analytics.service.interface\";\r\nimport { GameChildishIconMode } from '../../../common/enums/game-childish-icon-mode.enum';\r\n\r\n\r\nexport interface OpenGameParameters {\r\n isRealMode: boolean;\r\n pageName?: string;\r\n listTitle?: string;\r\n listPosition?: number;\r\n AdminListID?: number;\r\n marketingParams?: MarketingParams;\r\n gameIndex?: number;\r\n aiEngine?: string;\r\n aiSortingType?: string;\r\n AIListTypeID?: number;\r\n openFromDrawer?:boolean;\r\n showIntermediatePage?: boolean;\r\n isCalledFromIntermediatePage?: boolean;\r\n animatedIconState?: GameIconAnimationState;\r\n freePlayParams?: IOpenFreePlayGameParams;\r\n skipFreePlaySuggestion?: boolean;\r\n referrerId?: NullableNumber;\r\n}\r\n\r\n\r\n\r\nexport function gameInfoComparerByTitle(game1: GameInfo, game2: GameInfo): number {\r\n if(game1.title < game2.title) {\r\n return -1\r\n } else if(game1.title > game2.title) {\r\n return 1\r\n }\r\n\r\n return 0;\r\n}\r\n\r\n\r\nexport class GameInfo {\r\n constructor(private _rawGameData: IGameInfo,\r\n private services: IServiceFactoryExtended,\r\n private _aboutText: string) {\r\n makeObservable(this);\r\n\r\n Object.defineProperty(this._rawGameData, 'allowSwitchGameMode', {\r\n get: () => this.allowSwitchGameMode,\r\n configurable: true\r\n });\r\n }\r\n\r\n private get _isMobile(): boolean {\r\n return this.services.device.isMobile;\r\n }\r\n\r\n private get _isAuthorized(): boolean {\r\n return this.services.user.isAuthorized;\r\n }\r\n\r\n get gameType(): number {\r\n return this._rawGameData.gameType;\r\n }\r\n\r\n get title(): string {\r\n return this._rawGameData.title;\r\n }\r\n\r\n get numberOfLines(): number {\r\n return this._rawGameData.numberOfLines;\r\n }\r\n\r\n\r\n get hasJackpot(): boolean {\r\n return this._rawGameData.hasJackpot || false;\r\n }\r\n\r\n get isNewGame(): boolean {\r\n return this._hasCustomFilter('new');\r\n }\r\n\r\n get isExclusiveGame(): boolean {\r\n return this._hasCustomFilter('exclusive');\r\n }\r\n\r\n private _hasCustomFilter(filterName: string): boolean {\r\n if (!filterName) {\r\n return false;\r\n }\r\n\r\n if (!Check.isArray(this._rawGameData.filtersList)) {\r\n return false;\r\n }\r\n\r\n filterName = filterName.toLowerCase();\r\n\r\n return 0 <= this._rawGameData.filtersList.findIndex(filter => filter.toLowerCase() === filterName);\r\n\r\n }\r\n\r\n get hasBonusGames(): boolean {\r\n return this._rawGameData.hasBonusGames || false;\r\n }\r\n\r\n get numberOfDecks(): number {\r\n return this._rawGameData.numberOfDecks;\r\n }\r\n\r\n get isMultiHand(): boolean {\r\n return this._rawGameData.isMultiHand || false;\r\n }\r\n\r\n get hasFreeSpins(): boolean {\r\n return this._rawGameData.hasFreeSpins || false;\r\n }\r\n\r\n get subGroupName(): string {\r\n return this._rawGameData.subGroupName;\r\n }\r\n\r\n get isEliteLounge(): boolean {\r\n return this._rawGameData.isEliteLounge || false;\r\n }\r\n\r\n get isChildish(): boolean {\r\n return this._rawGameData.isChildish || false;\r\n }\r\n\r\n get hasSideBets(): boolean {\r\n return this._rawGameData.hasSideBets || false;\r\n }\r\n\r\n get maxBetPerSpot(): number {\r\n return this._rawGameData.maxBetPerSpot;\r\n }\r\n\r\n get allowWithdrawOnlyFromReal(): boolean {\r\n return this._rawGameData.allowWithdrawOnlyFromReal;\r\n }\r\n\r\n get hasLowStakes(): boolean {\r\n return this._hasCustomFilter('lowStakes');\r\n }\r\n\r\n get hasHighStakes(): boolean {\r\n return this._hasCustomFilter('highStakes');\r\n }\r\n\r\n get ClassicSlots(): boolean {\r\n return this._rawGameData.ClassicSlots;\r\n }\r\n\r\n get allowMinMaxBet(): boolean {\r\n let isAllowedCategory = this.isCardOrTableGame || this.isLiveCasino;\r\n\r\n return !this.hasJackpot && isAllowedCategory;\r\n }\r\n\r\n\r\n @computed\r\n get allowHoverDetails(): boolean {\r\n\r\n if (this.gameGroup === 'Live Casino') {\r\n return false;\r\n }\r\n\r\n return !this._isAuthorized || this._rawGameData.forceDemoButton;\r\n }\r\n\r\n get allowTap(): boolean {\r\n return this._isMobile;\r\n }\r\n\r\n\r\n get hasInfoPage(): boolean {\r\n if (this.infoPageURL) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowDemoButtonInSingleGame(): boolean {\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n\r\n if (this._isMobile) {\r\n return false;\r\n }\r\n\r\n\r\n return (this._rawGameData.demoSettings\r\n && this._rawGameData.demoSettings.demoCTAAnonymous\r\n && this._rawGameData.demoSettings.demoCTAAnonymous.pc);\r\n }\r\n\r\n\r\n @computed\r\n get allowDemoButtonInIntermediatePage(): boolean {\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n if (this.services.user.isAuthorized) {\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAuthorized && this._rawGameData.demoSettings.demoCTAAuthorized.mobile;\r\n }\r\n\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAnonymous && this._rawGameData.demoSettings.demoCTAAnonymous.mobile;\r\n }\r\n\r\n get infoPageURL(): string {\r\n\r\n if (!this._rawGameData.infoPageURL) {\r\n return '';\r\n }\r\n\r\n if (!this.services.siteMap.isUrlInSiteMap(this._rawGameData.infoPageURL)) {\r\n this.services.logger.debug(`Page info '${this._rawGameData.infoPageURL}' for game ${this.gameType} - ${this.title} is not in the site map`);\r\n return '';\r\n }\r\n\r\n return this._rawGameData.infoPageURL\r\n }\r\n\r\n //Can be either a live stream URL or a static video URL.\r\n get videoURL(): string {\r\n if (!this._rawGameData.videoURL) {\r\n return '';\r\n }\r\n\r\n return this._rawGameData.videoURL;\r\n }\r\n\r\n get hasVideoURL(): boolean {\r\n return Boolean(this.videoURL);\r\n }\r\n\r\n get gameGroup(): string {\r\n return this._rawGameData.gameGroup;\r\n }\r\n\r\n get gameGroupId(): GAME_GROUP {\r\n return this._rawGameData.gameGroupId;\r\n }\r\n\r\n get gameCategory(): string {\r\n if(this.isVideoSlot || this.isScratchCards) {\r\n return GAMES_CATEGORIES.SLOTS;\r\n }\r\n\r\n if(this.isLiveCasino) {\r\n return GAMES_CATEGORIES.LIVE;\r\n }\r\n\r\n if(this.isCardOrTableGame) {\r\n return GAMES_CATEGORIES.CARD_AND_TABLE;\r\n }\r\n\r\n return '';\r\n\r\n }\r\n\r\n get gameCategoryClassName(): string {\r\n return 'game-category-' + this.gameCategory;\r\n }\r\n\r\n get companyName(): string {\r\n return this._rawGameData.companyName;\r\n }\r\n\r\n get vendorId(): number {\r\n return this._rawGameData.vendorId;\r\n }\r\n\r\n get vendorName(): string {\r\n return this._rawGameData.vendorName;\r\n }\r\n\r\n private _getDefaultGameImage(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (opts.animatedIcon) {\r\n return (images.animated_square) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_square)) : '';\r\n }\r\n return this._getResolvedGameImagePath(images.hybrid_icon);\r\n }\r\n\r\n if (opts.animatedIcon) {\r\n return (images.animated_round) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_round)) : '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n private _getImageForChildishGame(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n const gameChildishMode = this.services.regulation.current.getChildishIconMode();\r\n if (gameChildishMode === GameChildishIconMode.UseDefaultIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (images.hybrid_non_childish_icon) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.hybrid_non_childish_icon);\r\n }\r\n else if (gameChildishMode === GameChildishIconMode.PreferNonChildishIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n /* Handling scenario of mode: UseNonChildishIcon, having only non_childish_icon (game is not restricted) but missing hybrid_non_childish_icon */\r\n return opts.animatedIcon ? '' : this.getGameImagePlaceHolderUrl(opts.squareIcon);\r\n }\r\n }\r\n else {\r\n if (images.non_childish_icon) {\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 & is not restricted, it means we just PreferNonChildishIcon and we are happy with default icon*/\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n }\r\n }\r\n\r\n getGameImage(options?: {squareIcon?: boolean; animatedIcon?: boolean;}): string {\r\n let opts = {\r\n squareIcon: options?.squareIcon || false,\r\n animatedIcon: options?.animatedIcon || false,\r\n }\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if(this.isChildish){\r\n return this._getImageForChildishGame(opts);\r\n }\r\n else {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n\r\n getBackgroundImage(): string {\r\n let background = this._rawGameData?.images?.background;\r\n if (!background) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(background);\r\n }\r\n\r\n private getAnimatedJsonUrl(pngImagePath: string) {\r\n if (!pngImagePath.endsWith('.png')) {\r\n this.services.logger.error(\"Animated icon path does not end in '.png': \" + pngImagePath);\r\n return '';\r\n }\r\n // we don't expect for substring '.png' to exist in other place than the end of the string, so we do a simple replace\r\n return pngImagePath.replace('.png', '.json');\r\n }\r\n\r\n getAnimatedImageTimings() {\r\n const animatedImageTimings = this._rawGameData && this._rawGameData.animatedImageTimings\r\n return {\r\n delay: animatedImageTimings?.delay || 2000,\r\n interval: animatedImageTimings?.interval || 3000,\r\n }\r\n }\r\n\r\n get gameImageInsideIntermediatePage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n get gameImageInHistoryPage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n let image: string = images.icon;\r\n if (this.services.theme.shouldUseSquareIcons && images.hybrid_icon) {\r\n image = images.hybrid_icon;\r\n }\r\n\r\n return this._getResolvedGameImagePath(image);\r\n }\r\n\r\n get badge(): string | null {\r\n return this._rawGameData.badge;\r\n }\r\n\r\n get videoThumbnailUrl(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.video_thumbnail);\r\n }\r\n\r\n @computed\r\n get badgeUrl(): string | null {\r\n if (this.badge) {\r\n return this.services.configuration.data.generalSettings.gamesSettings.gameBadgePath + this.badge + '.png';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get minBet(): number {\r\n return this._rawGameData.minBet;\r\n }\r\n\r\n get maxBet(): number {\r\n return this._rawGameData.maxBet;\r\n }\r\n\r\n get maxBetPerBrand(): number {\r\n return this._rawGameData.maxBetPerBrand;\r\n }\r\n\r\n getGameImagePlaceHolderUrl(useSquareIcon?: boolean): string {\r\n if (useSquareIcon) {\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolderSq.toString();\r\n }\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n getImageSeoAlt() {\r\n\r\n let seoValue = this.services.configuration.data?.seo?.games?.images?.alt;\r\n\r\n return this.services.translation.translate(seoValue, {\r\n gameName: this.title,\r\n categoryName: this.gameCategory\r\n });\r\n };\r\n\r\n private _getResolvedGameImagePath(imagePath: string): string {\r\n return this.services.configuration.resolveGameImagePath(imagePath);\r\n }\r\n\r\n @computed\r\n get stripImage(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._isMobile ? this._getResolvedGameImagePath(images.strip_mobile) :\r\n this._getResolvedGameImagePath(images.strip_pc);\r\n }\r\n\r\n @computed\r\n get stripeImageFallback(): string {\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let previewDefaultImage = generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesPreviewDefaultImages;\r\n\r\n if (previewDefaultImage && this.gameCategory) {\r\n //Replace the game category dash to under score (like the image name for example card-and-table category name should be default_game_strip_card_and_table)\r\n let gameCategoryWithUnderScores = this.gameCategory.replace(/-/g, '_');\r\n previewDefaultImage = previewDefaultImage.replace(/{arena-category}/g, gameCategoryWithUnderScores);\r\n //Add _mobile if we are in mobile\r\n\r\n if (this.services.device.isMobile) {\r\n return previewDefaultImage.replace('.png', '_mobile.png');\r\n }\r\n\r\n return previewDefaultImage;\r\n }\r\n\r\n return ''\r\n }\r\n\r\n get hasVideoTrailer(): boolean {\r\n return this.gameType === 130136;\r\n }\r\n\r\n get aboutText(): string {\r\n return this._aboutText;\r\n }\r\n\r\n get multiplayer(): number {\r\n return this._rawGameData.multiplayer;\r\n }\r\n\r\n get isClassicSlot(): boolean {\r\n return this._hasCustomFilter('ClassicSlots');\r\n }\r\n\r\n get hasHighVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.High;\r\n }\r\n\r\n get hasLowVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Low;\r\n }\r\n\r\n get hasMediumVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Medium;\r\n }\r\n\r\n get hasDailyJackpot(): boolean {\r\n return this._hasCustomFilter('DailyJackpot');\r\n }\r\n\r\n get hasTwilightJackpot(): boolean {\r\n return this._hasCustomFilter('TwilightJackpot');\r\n }\r\n\r\n get hasCaptain8tJackpot(): boolean {\r\n return this._hasCustomFilter('Captain8Jackpot');\r\n }\r\n\r\n get hasRedTigerJackpot(): boolean {\r\n return this._hasCustomFilter('RedTigerJackpot');\r\n }\r\n\r\n @computed\r\n get shouldShowIntermediatePage(): boolean {\r\n if (!this._isMobile) {\r\n return false;\r\n }\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this.isLiveCasino) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (this._isAuthorized) {\r\n if ((this._rawGameData?.forceIntermediatePageForAutorizedUsers) || (demoSettings && demoSettings.intermediatePageAuthorized && demoSettings.intermediatePageAuthorized.mobile)) {\r\n return true;\r\n }\r\n } else {\r\n if (demoSettings?.intermediatePageAnonymous?.mobile) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isDemoModeSupported(): boolean {\r\n return Boolean(this._rawGameData.isAnonymousSupported);\r\n }\r\n\r\n @computed\r\n get allowSwitchGameMode(): boolean {\r\n\r\n if(!this.isDemoModeSupported) {\r\n return false;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (!demoSettings) {\r\n return false;\r\n }\r\n\r\n if (this._isAuthorized) {\r\n return Boolean(demoSettings?.demoCTAAuthorized?.pc);\r\n } else {\r\n return Boolean(demoSettings?.demoCTAAnonymous?.pc);\r\n }\r\n }\r\n\r\n async open(params: OpenGameParameters): Promise {\r\n\r\n if(this._showIntermediatePage(params)) {\r\n return;\r\n }\r\n\r\n if (this._shouldRedirectToMembership(params)) {\r\n this._openMembership();\r\n return {\r\n closeGame: () => {\r\n }\r\n };\r\n }\r\n\r\n this._sendOpenGameAnalytics(params);\r\n\r\n let gameController: IRunningGameControllerViewModel | null = null;\r\n if (params.isRealMode) {\r\n if(params.marketingParams) {\r\n this.services.sdk.eventsTrigger.updateMarketingParams(params.marketingParams);\r\n }\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Real,\r\n gameInfo: this,\r\n freePlayParams: params.freePlayParams,\r\n skipFreePlaySuggestion: params.skipFreePlaySuggestion,\r\n referrerId: params.referrerId\r\n });\r\n } else {\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Demo,\r\n gameInfo: this\r\n });\r\n }\r\n\r\n return {\r\n closeGame: async () => {\r\n await gameController?.closeGame({\r\n shouldSuggestNextGame: false\r\n })\r\n }\r\n }\r\n\r\n }\r\n\r\n private _shouldRedirectToMembership(params: OpenGameParameters): boolean {\r\n return params.isRealMode && params.isCalledFromIntermediatePage\r\n && !this.services.user.isAuthorized\r\n && (this.services.cmsSegmentation.isCstatus === false);\r\n }\r\n\r\n\r\n //TODO - this should return a Promise\r\n private _showIntermediatePage(params: OpenGameParameters): boolean {\r\n if (this.shouldShowIntermediatePage && params.showIntermediatePage) {\r\n const dialogContentRenderer = ((dialogHandler) => );\r\n this.services.dialog.showModal(dialogContentRenderer, {hideCloseButton: true});\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private _openMembership() {\r\n this.services.analytics.sendOrbitMarketingEvent(OrbitMarketingEventAnalyticsCategory.Conversion, 'Play', OrbitMarketingEventAnalyticsLabel.PreGamePopUp);\r\n this.services.externalLinks.openMembership({\r\n marketingParams: {\r\n dl: \"20614\"\r\n }\r\n });\r\n }\r\n\r\n private _sendOpenGameAnalytics(params: OpenGameParameters): void {\r\n if (!params.pageName || !params.listTitle) {\r\n return;\r\n }\r\n const listTitle = this._replaceUnderscore(params.listTitle);\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: params.pageName, action: 'game_click', label: listTitle, value: this.gameType.toString(), customData: params}, true);\r\n }\r\n\r\n\r\n isAllWordsMatch(words: RegExp[]) {\r\n let text = this.title + ' ' + this.vendorName;\r\n for (let index = 0; index < words.length; index++) {\r\n if (!text.match(words[index])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n get gameArenaIcon(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.arena_icon);\r\n }\r\n\r\n /**\r\n * @description BI/BA request not to send the underscore as part of the list title since they split by underscore to get all the data on the label\r\n * @param listTitle\r\n * @private\r\n */\r\n private _replaceUnderscore(listTitle): string {\r\n return listTitle.replace(/_/g, '-');\r\n }\r\n\r\n get restriction(): IGameRestriction {\r\n\r\n if(this._rawGameData.restriction) {\r\n return this._rawGameData.restriction as IGameRestriction;\r\n }\r\n return new NoGameRestriction();\r\n }\r\n\r\n get isVideoSlot(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_SLOT\r\n || this.gameGroupId === GAME_GROUP.SLOT\r\n }\r\n\r\n //same as isCardOrTableGame() besides ARCADE, PAI_GOW_POKER, ROULETTE_LIKE\r\n get isCasinoGame() {\r\n const casinoGamesGroups = [\r\n GAME_GROUP.BACCARAT,\r\n GAME_GROUP.BLACKJACK,\r\n GAME_GROUP.CARRIBEAN_POKER,\r\n GAME_GROUP.CRAPS,\r\n GAME_GROUP.KENO,\r\n GAME_GROUP.POKER,\r\n GAME_GROUP.POKER_TEMPLATE_GAMES,\r\n GAME_GROUP.ROULETTE,\r\n GAME_GROUP.SCRATCH_CARD,\r\n GAME_GROUP.VIDEO_POKER\r\n ];\r\n\r\n return casinoGamesGroups.includes(this.gameGroupId);\r\n }\r\n\r\n get isVideoPoker(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_POKER;\r\n }\r\n\r\n get isScratchCards(): boolean {\r\n return this.gameGroupId === GAME_GROUP.SCRATCH_CARD;\r\n }\r\n\r\n get isBlackJack(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BLACKJACK;\r\n }\r\n\r\n get isRoulette(): boolean {\r\n return this.gameGroupId === GAME_GROUP.ROULETTE;\r\n }\r\n\r\n get isLiveCasino(): boolean {\r\n return this.gameGroupId === GAME_GROUP.LIVE_CASINO;\r\n }\r\n\r\n get isBaccarat(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BACCARAT;\r\n }\r\n\r\n\r\n get isCardOrTableGame(): boolean {\r\n\r\n return this.isBlackJack\r\n || this.isRoulette\r\n || this.isBaccarat\r\n || this.isVideoPoker\r\n || this.gameGroupId === GAME_GROUP.CRAPS\r\n || this.gameGroupId === GAME_GROUP.KENO\r\n || this.gameGroupId === GAME_GROUP.CARRIBEAN_POKER\r\n || this.gameGroupId === GAME_GROUP.POKER_TEMPLATE_GAMES\r\n || this.gameGroupId === GAME_GROUP.ROULETTE_LIKE\r\n || this.gameGroupId === GAME_GROUP.ARCADE\r\n || this.gameGroupId === GAME_GROUP.POWER_VIDEO_POKER\r\n || this.gameGroupId === GAME_GROUP.PAI_GOW_POKER\r\n || this.gameGroupId === GAME_GROUP.CRAZY_BLACKJACK\r\n }\r\n\r\n get externalGameCode(): NullableString {\r\n return this._rawGameData.externalGameCode;\r\n }\r\n\r\n get themeIds(): number[] {\r\n return this._rawGameData.gameThemes ?? [];\r\n }\r\n\r\n get volatility(): GAME_VOLATILITY {\r\n return this._rawGameData.volatility;\r\n }\r\n}\r\n","import {AdminArenaConfiguration} from \"../../app-bootstrap/config-interfaces/casino-startup.configurations\";\r\nimport {createStatementsDefinition} from './create-statements-definition';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nenum List_Type {\r\n Swipers = \"swipers\",\r\n Grids = \"grids\",\r\n PopularTables = \"popularTables\"\r\n}\r\n\r\nexport function injectAdminArenas(\r\n originalConfigData: any,\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration}\r\n): void {\r\n\r\n if (originalConfigData.homePage) {\r\n originalConfigData.homePage.gamesLists = getAdminArenaLists(\r\n adminArenaConfigData,\r\n HOME_PAGE_ARENA,\r\n List_Type.Swipers\r\n );\r\n }\r\n\r\n if (originalConfigData.arenas) {\r\n Object.keys(originalConfigData.arenas).forEach(arenaKey => {\r\n\r\n if (arenaKey === LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].popularTables = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.PopularTables\r\n );\r\n } else if (arenaKey === NEW_LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n else {\r\n originalConfigData.arenas[arenaKey].swiperGamesList = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Swipers\r\n );\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n\r\n });\r\n }\r\n}\r\n\r\n\r\nfunction getAdminArenaLists(\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration},\r\n arenaKey: string,\r\n listType: string\r\n) {\r\n let adminLists: unknown[] = [];\r\n if (adminArenaConfigData[arenaKey] && adminArenaConfigData[arenaKey].lists[listType]) {\r\n adminArenaConfigData[arenaKey].lists[listType].forEach(list => {\r\n let currentList = list.Metadata ?? {};\r\n\r\n currentList.display = Check.isNullOrUndefined(currentList.display) ? true : currentList.display;\r\n\r\n let segmentation = createStatementsDefinition(list.SubLists);\r\n currentList.gamesId = {};\r\n currentList.gamesId.defaultValue = segmentation.defaultValue;\r\n currentList.gamesId.statements = segmentation.statements;\r\n\r\n adminLists.push(currentList);\r\n });\r\n }\r\n\r\n return adminLists;\r\n}\r\n","import {GamesMap, IGameImageSize, IGamesService, RecentlyPlayedGames} from './games.service.interface';\r\nimport {GameInfo} from './game-info';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\n\r\nexport class GamesService extends ServiceBase implements IGamesService {\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n () => {\r\n this._updateGamesMapPromise = this._updateGamesMap()\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n\r\n this.services.sdk.events.onRecentlyPlayedGamesUpdated(this._updateRecentlyPlayedGames);\r\n }\r\n\r\n\r\n @observable.ref\r\n gamesMap: GamesMap = {};\r\n @action.bound\r\n private _setGamesMap(gamesMap: GamesMap): void {\r\n this.gamesMap = gamesMap;\r\n }\r\n\r\n @observable.ref\r\n recentlyPlayedGames: RecentlyPlayedGames = {\r\n isInitialized: false,\r\n gameTypes: []\r\n };\r\n\r\n @action.bound\r\n private _updateRecentlyPlayedGames(gameTypes: number[]): void {\r\n if(!this.recentlyPlayedGames.isInitialized\r\n || !this.services.sdk.getUtils().arraysAreEqual(this.recentlyPlayedGames.gameTypes, gameTypes)) {\r\n this.recentlyPlayedGames = {\r\n isInitialized: true,\r\n gameTypes: gameTypes\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n private async _buildGamesMap(sdkGamesInfo: any): Promise {\r\n\r\n let aboutTexts = await this._getGamesAboutTexts();\r\n\r\n let gamesMap: GamesMap = {};\r\n\r\n const usedGameTypesBySiteMap = this.services.configuration.usedGameTypesBySite.reduce((accumulator, gt) => {\r\n accumulator[gt] = true;\r\n return accumulator;\r\n }, {});\r\n\r\n Object.keys(sdkGamesInfo).forEach(gameType => {\r\n try {\r\n // filter only in-layout games\r\n if (usedGameTypesBySiteMap[gameType]) {\r\n let sdkInfo = sdkGamesInfo[gameType];\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let gameTagInfo = (generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesTags && generalSettings.gamesSettings.gamesTags[gameType]) || {};\r\n\r\n // for now, rawGameData will contain also gameTagInfo properties - which are read by adminClient settings\r\n // moreover, we'll add a new property on it regarding allowSwitchToDemo\r\n let rawGameData = Object.assign(sdkInfo, gameTagInfo);\r\n let gameInfo = new GameInfo(rawGameData, this.services, aboutTexts[gameType]);\r\n\r\n gamesMap[gameInfo.gameType] = gameInfo;\r\n \r\n }\r\n } catch(err) {\r\n this.services.logger.error(`Failed to generate GameInfo for game type ${gameType}`, err);\r\n }\r\n\r\n });\r\n\r\n return gamesMap;\r\n }\r\n\r\n private _gamesAboutTexts: {[key: string]: string} | null = null;\r\n\r\n private async _getGamesAboutTexts(): Promise<{[key: string]: string}> {\r\n if(this._gamesAboutTexts) {\r\n return this._gamesAboutTexts;\r\n }\r\n let gamesAboutTextConfigPath = this.services.configuration.data.generalSettings.gamesSettings.gamesAboutTextPath;\r\n\r\n //if there is no about path (not supported in this regulation) - we prevent the http call\r\n if(!gamesAboutTextConfigPath){\r\n this._gamesAboutTexts = {};\r\n return this._gamesAboutTexts;\r\n }\r\n\r\n let gamesAboutTextUrl = '';\r\n\r\n try {\r\n gamesAboutTextUrl = gamesAboutTextConfigPath.replace('{currentLanguage}', this.services.language.currentLanguage);\r\n let aboutTextsJson = await this.services.http.get(gamesAboutTextUrl);\r\n\r\n if(Check.isNullOrUndefined(aboutTextsJson) || Object.keys(aboutTextsJson).length === 0) {\r\n this.services.logger.warning(`No games about texts returned from ${gamesAboutTextUrl}`);\r\n }\r\n this._gamesAboutTexts = aboutTextsJson || {};\r\n\r\n return this._gamesAboutTexts!;\r\n } catch (err) {\r\n if(err && ('statusCode' in err) && err.statusCode === 404) {\r\n // NB: Ignore 404s, usually for things like spa_about.json that actually shouldn't exist.\r\n return {};\r\n }\r\n this.services.logger.error(`Failed to read games about texts from ${gamesAboutTextUrl}`, err);\r\n return {};\r\n }\r\n\r\n\r\n }\r\n\r\n private _updateGamesMapPromise: Promise = Promise.resolve();\r\n\r\n getGamesMapUpdatePromise(): Promise {\r\n return this._updateGamesMapPromise;\r\n }\r\n\r\n private async _updateGamesMap(): Promise {\r\n let usedGameTypesBySite = this.services.configuration.usedGameTypesBySite || [];\r\n if(usedGameTypesBySite.length === 0) {\r\n this.services.logger.error(`configuration.usedGameTypesBySite returned empty array`);\r\n return;\r\n }\r\n\r\n const gamesMap = await this._getGamesInfoMap(usedGameTypesBySite);\r\n\r\n this._setGamesMap(gamesMap);\r\n }\r\n\r\n async _getGamesInfoMap(gameTypes: number[]): Promise {\r\n try {\r\n let sdkGamesInfo = await this.services.sdk.getGamesInfo(gameTypes);\r\n \r\n return await this._buildGamesMap(sdkGamesInfo);\r\n } catch (err) {\r\n this.services.logger.error(`sdk.getGamesInfo failed in GamesService.getGamesInfo`, err);\r\n return {};\r\n }\r\n }\r\n\r\n async getGamesInfoMap(gameTypes: number[]): Promise {\r\n if (!gameTypes || gameTypes.length === 0) {\r\n return {};\r\n }\r\n\r\n // fill data from cache (if cache found)\r\n if (Object.keys(this.gamesMap).length > 0) {\r\n const inCacheGames = gameTypes.filter((gt) => this.gamesMap[gt]);\r\n const result = inCacheGames.reduce((acc, gt) => {acc[gt] = this.gamesMap[gt]; return acc;}, {});\r\n return result;\r\n } else {\r\n // otherwise fill it from SDK\r\n return this._getGamesInfoMap(gameTypes);\r\n }\r\n }\r\n\r\n async getGamesInfoForHistory(gameTypes: number[]): Promise {\r\n let sdkGamesInfo = await this.services.sdk.getGamesInfoForHistory(gameTypes);\r\n\r\n let gamesMap: GamesMap = {};\r\n Object.keys(sdkGamesInfo).forEach(gameType => {\r\n let rawGameData = Object.assign(sdkGamesInfo[gameType], this.gamesMap[gameType]);\r\n gamesMap[gameType] = new GameInfo(rawGameData, this.services, '')\r\n });\r\n return gamesMap;\r\n }\r\n\r\n async getGamesInfoArray(gameTypes: number[]): Promise {\r\n let gamesMap = await this.getGamesInfoMap(gameTypes);\r\n\r\n const result: GameInfo[] = [];\r\n for(let i = 0; i < gameTypes.length; i++) {\r\n const gameType = gameTypes[i];\r\n if (gamesMap[gameType]) {\r\n result.push(gamesMap[gameType]);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n async getGameInfo(gameType: number) {\r\n const gamesMap = await this.getGamesInfoMap([gameType]);\r\n if(gamesMap) {\r\n return gamesMap[gameType];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n async getCorrelatedGames(gameType: number, numberOfGames: number): Promise {\r\n try {\r\n return await this.services.sdk.getCorrelatedGames(gameType, numberOfGames);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get from SDK the correlated games for game type ${gameType}`, err);\r\n return [];\r\n }\r\n }\r\n\r\n getGameImageExpectedSizes(useSquareIcons?: boolean, animated?: boolean): IGameImageSize {\r\n if (useSquareIcons) {\r\n if (animated) {\r\n return {\r\n width: 210,\r\n height: 292\r\n };\r\n }\r\n return {\r\n width: 400,\r\n height: 555\r\n };\r\n }\r\n\r\n return {\r\n width: 210,\r\n height: 210\r\n };\r\n }\r\n}\r\n","import {ConfigurationEvaluationContext} from './evaluation/configuration-evaluation-context/configuration-evaluation-context';\r\nimport {PropertiesEvaluator} from './evaluation/properties-evaluator/properties-evaluator';\r\nimport {IConfigurationData} from './configuration-data.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IConfigurationService} from './configuration.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {LIVE_CASINO_ARENA_NAME, NEW_GAMES_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport { observable, runInAction, makeObservable } from 'mobx';\r\nimport {ApplicationStartupConfigurations} from '../../app-bootstrap/config-interfaces/application-startup.configurations';\r\nimport {IConfigurationEvaluationDataProvider} from './evaluation/configuration-evaluation-context/configuration-evaluation-data-provider.interface';\r\nimport {injectAdminArenas} from './inject-admin-arenas';\r\nimport {HomePageHeaderArena} from \"./config-data-sections/home-page.configuration\";\r\nimport {IServicesConfigurations} from './config-data-sections/services-configurations';\r\nimport {ListConfiguration, SwiperGamesListConfiguration} from \"./config-data-sections/arenas.configuration\";\r\n\r\n\r\ntype GameTypesMap = {[key: number]: number};\r\n\r\nexport class ConfigurationsService extends ServiceBase implements IConfigurationService {\r\n\r\n startupConfiguration: ApplicationStartupConfigurations;\r\n\r\n constructor(services: IServiceFactoryExtended, startupConfigs: ApplicationStartupConfigurations) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.startupConfiguration = startupConfigs;\r\n\r\n this._createConfigData();\r\n }\r\n\r\n private _getConfigEvaluationContextServices(): IConfigurationEvaluationDataProvider {\r\n return {\r\n admin: this.startupConfiguration.admin,\r\n configurationPath: this.startupConfiguration.configurationPath,\r\n getLauncherGames: () => this.services.launcher.getTestedGames(),\r\n getSegmentValue: (segmentName) => this.services.segmentation.getSegmentValue(segmentName),\r\n logger: this.services.logger\r\n };\r\n }\r\n\r\n private _createConfigData(): void {\r\n let originalConfigData = this.startupConfiguration.orbit.config;\r\n if (this.startupConfiguration.admin && this.startupConfiguration.admin.arenas) {\r\n injectAdminArenas(originalConfigData, this.startupConfiguration.admin.arenas);\r\n }\r\n\r\n let context = new ConfigurationEvaluationContext(this._getConfigEvaluationContextServices());\r\n let configEvaluator = PropertiesEvaluator.fromRoot(originalConfigData, context);\r\n let data = configEvaluator.evaluate(context);\r\n this._defineCustomConfigProperty(data,\r\n 'allGamesTypes',\r\n () => {\r\n let gameTypes: number[] = [];\r\n let gamesTags = (data.generalSettings && data.generalSettings.gamesSettings && data.generalSettings.gamesSettings.gamesTags) || {};\r\n Object.getOwnPropertyNames(gamesTags).forEach(gt => {\r\n let gameType = parseInt(gt);\r\n if (!isNaN(gameType)) {\r\n gameTypes.push(gameType);\r\n }\r\n });\r\n return gameTypes;\r\n });\r\n\r\n\r\n runInAction(() => {\r\n this.data = data as IConfigurationData;\r\n });\r\n }\r\n\r\n\r\n private _defineCustomConfigProperty(configData: unknown, propertyName: string, evaluator: () => unknown) {\r\n Object.defineProperty(configData, propertyName, {\r\n get: evaluator,\r\n configurable: false\r\n });\r\n\r\n }\r\n\r\n @observable.ref\r\n data: IConfigurationData;\r\n\r\n get userSelectedState(): string {\r\n return this.startupConfiguration.userSelectedState;\r\n }\r\n\r\n get cmsPublicationId(): number {\r\n return this.startupConfiguration.b2c.publicationId;\r\n }\r\n\r\n get usedGameTypesBySite(): number[] {\r\n\r\n let gameTypesMap = {...this._getUsedGamesByHomePage(), ...this._getUsedGamesByArenas(), ...this._getUsedGameTypesByLiveGamesArena(), ...this._getUsedGameTypesByNewLiveGamesArena()};\r\n\r\n return Object.values(gameTypesMap);\r\n }\r\n\r\n private _getUsedGamesByHomePage(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n (this.data.homePage.gamesLists || []).forEach(gamesList => {\r\n if (gamesList.display) {\r\n let gamesIds = gamesList.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n })\r\n }\r\n\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGamesByArenas(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n Object.keys(this.data.arenas).forEach(arenaName => {\r\n let arenaConfig = this.data.arenas[arenaName];\r\n // game types from swipers\r\n (arenaConfig.swiperGamesList || []).forEach(swiperConfig => {\r\n if (swiperConfig.display) {\r\n let gamesIds = swiperConfig.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n });\r\n }\r\n\r\n }\r\n });\r\n\r\n // game types from all games grid\r\n (arenaConfig.allGamesGrid || []).forEach(gamesGridConfig => {\r\n if (gamesGridConfig.display) {\r\n let gamesIds = gamesGridConfig.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n });\r\n }\r\n }\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGameTypesByLiveGamesArena(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n\r\n let liveCasinoArenaConfig = this.data.arenas[LIVE_CASINO_ARENA_NAME];\r\n if (!liveCasinoArenaConfig) {\r\n return result;\r\n }\r\n\r\n let gamesIds = liveCasinoArenaConfig.arenas && liveCasinoArenaConfig.arenas.gamesId;\r\n\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameTypeConfig => {\r\n if (gameTypeConfig.display) {\r\n result[gameTypeConfig.gameId] = gameTypeConfig.gameId;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n let popularTablesConfig = liveCasinoArenaConfig.popularTables;\r\n if (Check.isArray(popularTablesConfig)) {\r\n popularTablesConfig.forEach(tableConfig => {\r\n let tableGamesIds = tableConfig.gamesId || [];\r\n if (Check.isArray(tableGamesIds)) {\r\n tableGamesIds.forEach(gameType => result[gameType] = gameType);\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGameTypesByNewLiveGamesArena(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n\r\n let liveCasinoArenaConfig = this.data.arenas[NEW_LIVE_CASINO_ARENA_NAME];\r\n if (!liveCasinoArenaConfig) {\r\n return result;\r\n }\r\n\r\n let gamesIds = liveCasinoArenaConfig.arenas && liveCasinoArenaConfig.arenas.gamesId;\r\n\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameTypeConfig => {\r\n if (gameTypeConfig.display) {\r\n result[gameTypeConfig.gameId] = gameTypeConfig.gameId;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n let popularTablesConfig = liveCasinoArenaConfig.popularTables;\r\n if (Check.isArray(popularTablesConfig)) {\r\n popularTablesConfig.forEach(tableConfig => {\r\n let tableGamesIds = tableConfig.gamesId || [];\r\n if (Check.isArray(tableGamesIds)) {\r\n tableGamesIds.forEach(gameType => result[gameType] = gameType);\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n resolveConfigurationValue(fullPath: string): string {\r\n let objectValue: any = this.data;\r\n let fullPathArray = fullPath.split('.');\r\n\r\n for (let objectKey of fullPathArray) {\r\n objectValue = objectValue[objectKey];\r\n }\r\n\r\n return (objectValue as string) || '';\r\n }\r\n\r\n\r\n buildConfigUrl(fileName: string): string {\r\n let configurationPath = this.startupConfiguration.configurationPath;\r\n if (!configurationPath.endsWith('/')) {\r\n configurationPath += '/';\r\n }\r\n return configurationPath + fileName;\r\n }\r\n\r\n resolveGameImagePath(imageFileName: string): string {\r\n if (Check.isEmpty(imageFileName)) {\r\n return '';\r\n }\r\n\r\n let imagesBasePath = this.startupConfiguration.sdk.config.ExtraProperties.paths.gamesImages; //paths.gamesImages is used by cypress environment\r\n if (imagesBasePath) {\r\n if (!imagesBasePath.endsWith('/')) {\r\n imagesBasePath += '/';\r\n }\r\n return imagesBasePath + imageFileName;\r\n } else {\r\n let serverPath = this.startupConfiguration.sdk.config.ExtraProperties.paths.server;\r\n if (!serverPath.endsWith('/')) {\r\n serverPath += '/';\r\n }\r\n return serverPath + 'gamesImages/' + imageFileName;\r\n }\r\n }\r\n\r\n resolveJsFilePath(fileName: string): string {\r\n if (Check.isEmpty(fileName)) {\r\n return '';\r\n }\r\n let serverPath = this.startupConfiguration.sdk.config.ExtraProperties.paths.server;\r\n let path = serverPath ? serverPath : this.services.window.origin;\r\n if (!path.endsWith('/')) {\r\n path += '/';\r\n }\r\n return (path + `js/${fileName}`);\r\n }\r\n\r\n getFontsPath(): string {\r\n return new URL(this.startupConfiguration.sdk.config.ExtraProperties.paths.server + \"/assets/fonts/\").href;\r\n }\r\n\r\n getGamesListByJackpotId(id: string): SwiperGamesListConfiguration {\r\n\r\n const homePageGamesLists = this.data.homePage.gamesLists || [];\r\n for (let i = 0; i < homePageGamesLists.length; i++) {\r\n let gamesList = homePageGamesLists[i];\r\n if (gamesList.jackpotWidget?.jackpotId) {\r\n let gamesIds = gamesList.gamesId || [];\r\n if (Check.isArray(gamesIds) && gamesList.jackpotWidget.jackpotId.toString() === id) {\r\n return gamesList;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n getSelfUpdatedByNewestGamesList(): ListConfiguration {\r\n const newGameArenaConfig = this.data.arenas[NEW_GAMES_ARENA_NAME];\r\n if (!newGameArenaConfig) {\r\n return null;\r\n }\r\n\r\n const gamesLists: ListConfiguration[] = (newGameArenaConfig.swiperGamesList || []).concat(newGameArenaConfig.allGamesGrid || []);\r\n const firstSelfUpdatedByNewest = gamesLists.find(listConfig => listConfig.display && listConfig.isSelfUpdatedByNewest);\r\n return firstSelfUpdatedByNewest;\r\n }\r\n\r\n private _getCurrentArenaLists() {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n const lists = Check.isNullOrUndefined(arenaType) || arenaType === \"homePage\" ?\r\n this.data.homePage.gamesLists :\r\n this.services.configuration.data.arenas[arenaType].swiperGamesList;\r\n return lists;\r\n }\r\n\r\n getGamesListByTitle(title: string): SwiperGamesListConfiguration {\r\n const lists = this._getCurrentArenaLists();\r\n return lists?.find(list => list.title.toUpperCase() === title.toUpperCase());\r\n }\r\n\r\n getGamesListById(id: number): SwiperGamesListConfiguration {\r\n const lists = this._getCurrentArenaLists();\r\n return lists?.find(list => list.listId === id);\r\n }\r\n\r\n getHomePageHeaderArenas(): HomePageHeaderArena[] {\r\n let homePageHeaderArenas: HomePageHeaderArena[] = [];\r\n this.data.homePage.headerArenasOrder.forEach(name => {\r\n const arenaHeader = this.data.arenas[name].homepageHeader;\r\n if (arenaHeader) {\r\n homePageHeaderArenas.push(arenaHeader);\r\n }\r\n });\r\n return homePageHeaderArenas;\r\n }\r\n\r\n getHomePageHeaderArenasByUserOrientation(arenaNames: string[]): HomePageHeaderArena[] {\r\n let orderedArenas: HomePageHeaderArena[] = [];\r\n arenaNames.forEach(arenaName => {\r\n const arenaConfig: HomePageHeaderArena = this.data.arenas[arenaName] && this.data.arenas[arenaName].homepageHeader;\r\n if (arenaConfig) {\r\n orderedArenas.push(arenaConfig);\r\n }\r\n });\r\n return orderedArenas;\r\n }\r\n\r\n get servicesConfigs(): IServicesConfigurations {\r\n return this.services.sdk.getConfigs();\r\n }\r\n}\r\n","export enum LIST_TYPE_ID {\r\n STICKINESS = 0,\r\n BETS = 2,\r\n ACTIVE_USERS = 1\r\n}","import {IUserService} from './user.service.interface';\r\nimport {action, observable, makeObservable} from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UserData} from '../sdk/sdk.service.interface';\r\nimport {Check, TimeSpan} from '@sparkware/app-utils';\r\nimport {OnOauthStateChangedParams} from '../sdk/sdk-events';\r\nimport {GetPlatformTokenResponse} from \"../sdk/cgp-sdk.interface\";\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport MIGRATION from \"../../../common/const/migration_consts\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {NullableString} from '../../../common/types/nullable-types';\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 includeFreePlaySessions: false\r\n });\r\n\r\n return openSessions.sessionDetails.sum(s => s.Credit);\r\n\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.services.gnwp.getTempAccountGnwpSource();\r\n }\r\n\r\n}\r\n","import {ServiceBase} from \"../ServiceBase\";\r\nimport {IBrowserButtonsHandlerService} from \"./broswer-buttons-handler.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\nexport class BrowserButtonsHandlerService extends ServiceBase implements IBrowserButtonsHandlerService {\r\n\r\n private pushedFakeHistoryState: boolean = false;\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n this._subscribe();\r\n }\r\n\r\n private _subscribe() {\r\n // this._handleSideMenusCloseOnBackButtonClick();\r\n }\r\n\r\n private _handleSideMenusCloseOnBackButtonClick() {\r\n\r\n this.reaction(() => ({\r\n isMobileSideMenuOpen: this.services.sideMenu.isMobileMenuOpen,\r\n isUserAreaMenuOpen: this.services.userMenu.isOpen,\r\n }),\r\n ({isMobileSideMenuOpen, isUserAreaMenuOpen}) => {\r\n if(!this.pushedFakeHistoryState && (isMobileSideMenuOpen || isUserAreaMenuOpen)){\r\n this.services.location.pushWithoutValidation(this.services.window.pathname);\r\n this.pushedFakeHistoryState = true;\r\n }else if(this.pushedFakeHistoryState && !isMobileSideMenuOpen && !isUserAreaMenuOpen){\r\n this.services.location.goBack();\r\n }\r\n });\r\n\r\n this._onBackButtonClicked(() => {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n });\r\n }\r\n\r\n private _onBackButtonClicked(callback){\r\n const _callback = (e) => {\r\n this.pushedFakeHistoryState = false;\r\n callback(e);\r\n }\r\n\r\n if(Device.hybrid.inCasino){\r\n return this.services.window.subscribeTo.hardwareBackButton(_callback);\r\n }\r\n\r\n return this.services.window.subscribeTo.popstate(_callback);\r\n }\r\n}","import {ISegmentationAggregatorService} from './segmentation-aggregator.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\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 {IHybridService} 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 {ISdkMessageButtonOptions} from '../../../common/interfaces/sdk-message-button-options';\r\nimport IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\ninterface OnEventParams {\r\n eventName: string;\r\n callback: Function;\r\n context: any;\r\n}\r\n\r\ninterface SendAnalyticsParams {\r\n category: string;\r\n action: string;\r\n label: string;\r\n value: string;\r\n omitStructuredLogger?: boolean\r\n}\r\n\r\ninterface GetAIListResponse {\r\n aiGameTypesArray: number[];\r\n aiEngine: string;\r\n}\r\n\r\n\r\n\r\n\r\nexport const CGP_EVENTS_NAMES = {\r\n ON_BEFORE_OAUTH_STATE_CHANGE: 'ON_BEFORE_OAUTH_STATE_CHANGE',\r\n OAUTH_STATE_CHANGE: 'OAUTH_STATE_CHANGE',\r\n RECENTLY_PLAYED_GAMES_UPDATED: 'RECENTLY_PLAYED_GAMES_UPDATED',\r\n AUTOLOGIN_SUCCESS: 'AUTOLOGIN_SUCCESS',\r\n AUTOLOGIN_FAILED: 'AUTOLOGIN_FAILED',\r\n DEEPLINK_RECEIVED: 'DEEPLINK_RECEIVED',\r\n GAME_OPEN: 'GAME_OPEN',\r\n CLOSE_GAME: 'CLOSE_GAME',\r\n LOGIN_FORM_OPEN: 'LOGIN_FORM_OPEN',\r\n LOGIN_FORM_CLOSE: 'LOGIN_FORM_CLOSE',\r\n TOKEN_LIFETIME_EXPIRED: 'TOKEN_LIFETIME_EXPIRED',\r\n LIVE_TABLES_UPDATE: 'LIVE_TABLES_UPDATE',\r\n GAMES_QUESTIONNAIRE_COMPLETED: 'GAMES_QUESTIONNAIRE_COMPLETED',\r\n GAME_POPUP_SHOW: 'GAME_POPUP_SHOW',\r\n BALANCE_UPDATED: 'BALANCE_UPDATED',\r\n REALITY_CHECK_OPENED: 'REALITY_CHECK_OPENED',\r\n REALITY_CHECK_CLOSED: 'REALITY_CHECK_CLOSED',\r\n REGISTRATION_COMPLETED: 'REGISTRATION_COMPLETED',\r\n APP_RESUMED: 'APP_RESUMED',\r\n APP_PAUSED: 'APP_PAUSED',\r\n EXTERNAL_LINK_CLOSED: 'EXTERNAL_LINK_CLOSED',\r\n TOUCH_ID_STATE_CHANGED: 'TOUCH_ID_STATE_CHANGED',\r\n OMG_DISPLAYED: 'OMG_DISPLAYED',\r\n SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED: 'SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED',\r\n LIVE_GAME_SWITCHED: 'LIVE_GAME_SWITCHED',\r\n PROMOTIONS_CHANGED: 'PROMOTIONS_CHANGED',\r\n DEPOSIT_WIDGET_CLOSED : 'DEPOSIT_WIDGET_CLOSED',\r\n};\r\n\r\n\r\nexport interface DeviceInfo {\r\n os: {\r\n name: string;\r\n version: number;\r\n isMobileOS: boolean;\r\n isIOS: boolean;\r\n isAndroid: boolean;\r\n isPC: boolean;\r\n isMacOS: boolean;\r\n };\r\n browser: {\r\n name: string;\r\n version: number;\r\n isSafari: boolean;\r\n isChrome: boolean;\r\n isFirefox: boolean;\r\n };\r\n model: {\r\n isIphone: boolean;\r\n isIpad: boolean;\r\n };\r\n hybrid: {\r\n isHybrid: boolean;\r\n isEmbedded: boolean;\r\n inCasino: boolean\r\n };\r\n feature: {\r\n isTouch: boolean;\r\n };\r\n isProgressiveWebApp: boolean;\r\n isStandalone: boolean;\r\n\r\n /** @deprecated */\r\n isMobile(): boolean;\r\n /** @deprecated */\r\n isTablet(): boolean;\r\n}\r\n\r\nexport interface CGPEventSubscription {\r\n off();\r\n}\r\n\r\n\r\nexport interface GetAutoLoginTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface GetPlatformTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface IDailyDealCampaign {\r\n MarketingCampaignId: string;\r\n}\r\n\r\n\r\nexport interface CgpSkinInfo {\r\n getBrandName(): string;\r\n getPlatformSystemID(): number;\r\n getClientPlatform(): string;\r\n getVersion(): string;\r\n getCulture(): string;\r\n shouldEnforceHybridAppForMobileWebOnLoginAttempt(): boolean;\r\n shouldPreventOpenGameForMobileWebApp(): boolean;\r\n getMinimumAge(): number;\r\n}\r\n\r\nexport interface ISdkUtils {\r\n getGuid():string\r\n arraysAreEqual(arr1: any[], arr2: any[]): boolean;\r\n}\r\n\r\nexport interface ISdkRegulationService {\r\n isUSRegulation(): boolean;\r\n getRegulationCode(): number;\r\n getSessionCooldownConfig(): {featureEnabled: boolean; cooldownTime: string};\r\n shouldShowPlayerLimitsToaster(): boolean;\r\n getErrorMessage(errorCode: number): NullableString;\r\n forceDemoButton(): boolean;\r\n isLoginPopupEnabled(): boolean;\r\n}\r\n\r\nexport interface IOpenHistoryGameRequest {\r\n historyRecordData: GamingHistoryRecordRawData;\r\n gameType: number,\r\n gameName: string,\r\n gameRoundId: string,\r\n gameRoundDate: string;\r\n}\r\n\r\nexport interface 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(url: string, tagId?: string): Promise;\r\n getRefreshToken(): string;\r\n getCurrencyIso3(): string;\r\n readonly overlayZIndex: SdkOverlayZIndex;\r\n getGoogleClientID(): string;\r\n isInAutologin(): boolean;\r\n fireDepositWidgetClosed(): void;\r\n getToken(): ITokenInfo | null;\r\n\r\n continuePlayingCurrentGame(): void;\r\n stopCurrentGameAutoplay(): void;\r\n isDepositWidgetSupportedByHybrid(): boolean;\r\n getGeoLocationInfo(): Promise;\r\n getDownloadAppLink(): string;\r\n promptPushNotificationPermissionRequest(): void;\r\n openPopUpOnSecondWebView(content : string, timeout : number) : void;\r\n closePopUpOnSecondWebView() : void;\r\n getBurnoutAnimationZIndex(): number;\r\n readonly hybrid: IHybridService;\r\n readonly currentRegulation: ILegacyRegulation;\r\n getCurrentBrowserTabId(): string;\r\n readonly hasOpenOverlays: boolean;\r\n readonly gnwp: ISdkGnwpService;\r\n readonly scriptLoader: IScriptLoaderService;\r\n startGeoLocationOnOpenRealGame(): Promise;\r\n getButtonsForNonRetryGeoFlow(): Partial[];\r\n stopGameTimeReminders(): void;\r\n isEligibleForGameGeoRetry(): boolean;\r\n getRetryMessageButtons(analyticsLabel: string, resolve?, reject?): Partial[];\r\n startAutoRetryGeoProcess(): Promise;\r\n extractTokenProperty(tokenProperty: string);\r\n isLoginPopupEnabled(): boolean;\r\n getAccountData(): any;\r\n getTempAccountGnwpSource(): GNWP_SOURCES;\r\n openOptions(screenType: string, innerScreen?: string): void;\r\n}\r\n","import {CGP_EVENTS_NAMES, CGPEventSubscription, ICgpSdk} from './cgp-sdk.interface';\r\nimport { LiveTables } from '../live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {TimeSpan} from '@sparkware/app-utils';\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {\r\n IFreePlayVoucherData,\r\n IFreePlayVoucherDelta\r\n} from \"../../../common/interfaces/free-play/free-play-voucher-data.interface\";\r\nimport {\r\n INetPositionGameTypeData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/netposition_handler.interfaces\";\r\nimport {IOMGParsedData} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/messages_handler\";\r\nimport {IJackpotDataById} from '../../../sdk/src/services/live_feeds/jackpots/jackpot_feeds_service_interface';\r\n\r\nexport interface OnShowGamePopupCallbackParams {\r\n gameType?: number,\r\n gamePopupApprovedCallback: () => void\r\n}\r\n\r\nexport interface OnGameOpenParams {\r\n gameType: number;\r\n isReal: boolean;\r\n}\r\n\r\nexport interface OnGameCloseParams {\r\n gameType: number;\r\n isReal: boolean;\r\n isGamePlayed: boolean;\r\n showNextGameSuggestion: boolean;\r\n}\r\n\r\nexport interface OnPlayerActionParams {\r\n actionName: string;\r\n options?: any;\r\n}\r\n\r\nexport interface OnOauthStateChangedParams {\r\n loginType?: number;\r\n logoutReason?: number;\r\n kickReason?: number;\r\n fromRegistration?: boolean;\r\n}\r\n\r\nexport class SdkEvents {\r\n constructor(private CGP: ICgpSdk) {\r\n\r\n }\r\n\r\n onOAuthStateChanged(callback: (params: OnOauthStateChangedParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBeforeOAuthStateChanged(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.ON_BEFORE_OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDeepLinkReceived(callback: (deepLinkObject: any) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.DEEPLINK_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onShowGamePopup(callback: (args: OnShowGamePopupCallbackParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_POPUP_SHOW,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameOpen(callback: (params: OnGameOpenParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameClose(callback: (params?: OnGameCloseParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.CLOSE_GAME,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onPlayerAction(callback: (eventData: OnPlayerActionParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.PLAYER_ACTION,\r\n callback: (data) => callback(data || {} as OnPlayerActionParams),\r\n context: this\r\n });\r\n }\r\n\r\n onRecentlyPlayedGamesUpdated(callback: (gameTypes: number[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.RECENTLY_PLAYED_GAMES_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormOpen(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTokenLifetimeExpired(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOKEN_LIFETIME_EXPIRED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveTableFeedsUpdate(callback: (tablesData: LiveTables) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_TABLES_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamesQuestionnaireCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAMES_QUESTIONNAIRE_COMPLETED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onJackpotsByIdUpdate(callback: (jackpots: unknown) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByGameUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOT_AMOUNTS_BY_GAME_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByIdUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBalanceUpdated(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.BALANCE_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSessionTimerUpdate(callback: (data: {sessionTime: TimeSpan}) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_TIMER_UPDATE,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckOpened(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_OPENED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckClosed(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_CLOSED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onRegistrationCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REGISTRATION_COMPLETED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppPaused(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_PAUSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onExternalLinkClosed(callback: (linkSource: string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.EXTERNAL_LINK_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTouchIDActiveStateChanged(callback: (state: boolean) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOUCH_ID_STATE_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onOmgDisplayed(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OMG_DISPLAYED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBurnoutMessageReceived(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveGameSwitched(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_GAME_SWITCHED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPromotionsChanged(callback: (data: {Cid: number, IsPromotionDisplayedInClient: boolean, IndicationInClientPromotionsIds: number[]}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.PROMOTIONS_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDepositWidgetClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.DEPOSIT_WIDGET_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.HYBRID_POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchAdded(callback: (data: IFreePlayVoucherData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_ADDED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchUpdated(callback: (data: IFreePlayVoucherDelta[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchRemoved(callback: (voucherIds: string[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_REMOVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV1(callback: (percentage: number | string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV2(callback: (eventData: {statusBar: number | string; numberOfPackages: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE_V2,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseGotNewToken(callback: (eventData: {token: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.FIREBASE_GOT_NEW_TOKEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onNetPositionUpdated(callback: (gamesTypesData: INetPositionGameTypeData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_NET_POSITION_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginSessionResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOGIN_SESSION_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onUserApprovedPostLoginPopup(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.USER_APPROVE_GAME_POPUP,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseOmgReceived(callback: (omgData: IOMGParsedData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_OMG_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onReceivedToaster(callback: (params: any[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_RECEIVED_TOASTER,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSecondWebViewClose(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n}\r\n","import Event from \"../../../sdk/src/utils/event\";\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {IOmgHandlerHook} from \"../external-links/handlers/omg/omg-handler.hook.interface\";\r\n\r\nexport class SdkEventsTrigger {\r\n gameOpen(eventData: {gameType: number; isReal: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_OPEN, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal\r\n });\r\n }\r\n\r\n gameClosed(eventData: {gameType: number; isReal: boolean; isGamePlayed: boolean; showNextGameSuggestion: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.CLOSE_GAME, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal,\r\n isGamePlayed: eventData.isGamePlayed,\r\n showNextGameSuggestion: eventData.showNextGameSuggestion\r\n });\r\n }\r\n\r\n keepAlive(): void {\r\n Event.fire(SYSTEM_EVENTS.EXTEND_USER_TIME_TO_LIVE);\r\n }\r\n\r\n liveGameSwitched(): void {\r\n Event.fire(SYSTEM_EVENTS.LIVE_GAME_SWITCHED);\r\n }\r\n\r\n hybridGameLoadingIndicatorClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_CLOSED_BY_X);\r\n }\r\n\r\n updateMarketingParams(marketingParams: any): void {\r\n Event.fire(SYSTEM_EVENTS.INCOMING_MARKETING_DATA, marketingParams);\r\n }\r\n\r\n\r\n navigateToGameInWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.WEB_VIEW_NAVIGATE_GAME, url);\r\n }\r\n\r\n gameSequenceFinishedSuccess(): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_SEQUENCE_FINISH, true);\r\n }\r\n\r\n showHybridAlert(message: string): void {\r\n Event.fire(SYSTEM_EVENTS.HYBRID_ALERT, message);\r\n }\r\n\r\n locationPopupClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOCATION_POPUP_CLOSED);\r\n }\r\n\r\n registrationCompleted(params: {UserInfo: string, SourceProductPackage: string}) {\r\n Event.fire(SYSTEM_EVENTS.REGISTRATION_COMPLETED, params);\r\n }\r\n\r\n externalLinkClosed(params: {gnwpSource: GNWP_SOURCES}): void {\r\n Event.fire(SYSTEM_EVENTS.EXTERNAL_LINK_CLOSED, params.gnwpSource)\r\n }\r\n\r\n omgDisplayed(omgHook: IOmgHandlerHook): void {\r\n Event.fire(SYSTEM_EVENTS.OMG_DISPLAYED, omgHook)\r\n }\r\n\r\n closeAllSecondWebViews(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_ALL);\r\n }\r\n\r\n closeNyxSecondWebView(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_NYX);\r\n }\r\n\r\n openUrlInSecondWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_NAVIGATE_SPORT, url);\r\n }\r\n\r\n closeModifyBimetricDialog(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_STATE_CHANGED);\r\n }\r\n\r\n onInitScreenShow(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_INIT_SCREEN_SHOW);\r\n }\r\n}","import {\r\n AIRecommendations,\r\n CmsUserSignature,\r\n ISdkService,\r\n OpenGameOptions,\r\n UserData, GameRawData, DateAndTimeFormat, ITokenInfo\r\n} from './sdk.service.interface';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n DeviceInfo,\r\n GetAutoLoginTokenResponse,\r\n ICgpSdk,\r\n CgpSkinInfo,\r\n GetPlatformTokenResponse,\r\n ISdkUtils,\r\n ISdkRegulationService,\r\n 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 {IHybridService} from \"../hybrid/hybrid.service.interface\";\r\nimport {ILegacyRegulation} from \"../regulation/legacy-regulation.interface\";\r\nimport {SdkEventsTrigger} from \"./sdk-events-trigger\";\r\nimport ISdkGnwpService from \"../../../sdk/src/services/gnwp/gnwp_service_interface\";\r\nimport {IScriptLoaderService} from \"../scrip-loader/script-loader.service.interface\";\r\nimport {ISdkMessageButtonOptions} from \"../../../common/interfaces/sdk-message-button-options\";\r\nimport {IModalDialogButtonsComponentProps, IModalDialogActionProps} from \"../../components/modal-dialog/modal-dialog-actions.component\";\r\nimport IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {UndefinedString} from '../../../common/types/nullable-types';\r\n\r\nexport interface IGetAiRecommendationsOptions {\r\n maxGames?: number;\r\n filterOutRecentlyPlayedGames?: boolean;\r\n numberOfRecentlyPlayedGameToFilterOut?: number;\r\n}\r\n\r\nexport class SdkService extends ServiceBase implements ISdkService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._updateLocalStorageAccordingToCookie();\r\n\r\n this._displayHybrid();\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n () => {\r\n if (this.services.location.hasNavigationHistory) {\r\n this.CGP.routeChanged();\r\n }\r\n });\r\n }\r\n\r\n private _displayHybrid() {\r\n //F TO DO why is this here and not in the SDK ?\r\n if (Check.isFunction(this.CGP.displayHybrid)) {\r\n this.CGP.displayHybrid();\r\n }\r\n }\r\n\r\n private _events: SdkEvents = null;\r\n\r\n get events(): SdkEvents {\r\n if (!this._events) {\r\n this._events = new SdkEvents(this.CGP);\r\n }\r\n\r\n return this._events;\r\n }\r\n\r\n\r\n private get CGP(): ICgpSdk {\r\n return this.services.window.getGlobalProperty(CGP_OBJECT_NAME) as ICgpSdk;\r\n }\r\n\r\n\r\n get isAuthorized(): boolean {\r\n return this.CGP.isAuthorized();\r\n }\r\n\r\n get isLoginFromRegistration(): boolean {\r\n return this.CGP.isLoginFromRegistration();\r\n }\r\n\r\n get getCGPMaxOverlayZIndex(): number {\r\n return this.CGP.getCGPMaxOverlayZIndex();\r\n }\r\n\r\n get structuredLoggingService(): IStructuredLoggingService {\r\n return this.CGP.structuredLoggingService();\r\n }\r\n\r\n get dateAndTimeFormat(): DateAndTimeFormat {\r\n return this.CGP.getRegulationDateAndTimeFormat();\r\n }\r\n\r\n get userData(): UserData {\r\n let rawUserData = this.CGP.getUserData();\r\n let rawAccountData = (rawUserData && rawUserData.accountData) || {};\r\n\r\n\r\n return {\r\n userName: rawUserData?.userName,\r\n firstName: rawAccountData.FirstName,\r\n lastName: rawAccountData.LastName,\r\n IsVIP: this.CGP.isVIP(),\r\n DWHGameGroupOrientation: rawAccountData.DWHGameGroupOrientation, // when product are asking to do something with user Orientation, - it is not this one. use this.services.userGameOrientation.gameGroup\r\n statusGroupId: rawAccountData.StatusGroupId,\r\n GenderId: rawAccountData.genderID,\r\n timeSinceRegistration: rawAccountData.TimeSinceRegistration,\r\n cid: rawUserData?.cid,\r\n playerRMStatus: rawAccountData.PlayerRMStatus,\r\n sessionId: this.CGP.getSessionId(),\r\n registrationCountry: rawAccountData.RegistrationCountry,\r\n joinDate: rawAccountData.JoinDate,\r\n isFTD: rawAccountData.FTDSubBrand === this.getSubBrandID(),\r\n IsPromotionPermitted: rawAccountData.IsPromotionPermitted,\r\n taxId: rawAccountData.TaxId,\r\n lastLogin: rawAccountData.LastLogin,\r\n lastLoginDateInTimeZone: rawAccountData.LastLoginDateInTimeZone\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 shouldEnforceHybridAppForMobileWebOnLoginAttempt: () => this.CGP.getSkin().shouldEnforceHybridAppForMobileWebOnLoginAttempt(),\r\n shouldPreventOpenGameForMobileWebApp: () => this.CGP.getSkin().shouldPreventOpenGameForMobileWebApp(),\r\n getBrandName: () => this.CGP.getSkin().getBrandName(),\r\n getMinimumAge: () => this.CGP.getSkin().getMinimumAge()\r\n }\r\n }\r\n\r\n getUtils(): ISdkUtils {\r\n return this.CGP.getUtils();\r\n };\r\n\r\n fireOrbitInitComplete(): void {\r\n this.CGP.onOrbitInitComplete();\r\n }\r\n\r\n getEnvironment(): string {\r\n return this.CGP.getEnvironment();\r\n }\r\n\r\n pushDataToDataLayer(data: {}): void {\r\n this.CGP.pushDataToDataLayer(data);\r\n }\r\n\r\n getCountryName() {\r\n return this.CGP.getCountryName();\r\n }\r\n\r\n getCountryIso3(): string {\r\n return this.CGP.getCountryIso3();\r\n }\r\n\r\n getSupportedStates(): IStateOfResidence[] {\r\n return this.CGP.getSupportedStates();\r\n }\r\n\r\n getWrongLocationDetectionPath(): string {\r\n return this.CGP.getWrongLocationDetectionPath();\r\n }\r\n\r\n httpPost(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpPost(url, requestData);\r\n }\r\n\r\n httpGet(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpGet(url, requestData);\r\n }\r\n\r\n getConfigs(): any {\r\n return this.CGP.getConfigs();\r\n }\r\n\r\n loadScript(url: string, tagId?: string): Promise {\r\n return this.CGP.loadScript(url, tagId);\r\n }\r\n\r\n getRefreshToken(): string {\r\n return this.CGP.getRefreshToken();\r\n }\r\n\r\n getCurrencyIso3(): string {\r\n return this.CGP.getCurrencyIso3();\r\n }\r\n\r\n get overlayZIndex() {\r\n return this.CGP.overlayZIndex;\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.CGP.getGoogleClientID();\r\n }\r\n\r\n isInAutologin(): boolean {\r\n return this.CGP.isInAutologin();\r\n }\r\n\r\n fireDepositWidgetClosed(): void {\r\n this.CGP.fireDepositWidgetClosed();\r\n }\r\n\r\n get tokenInfo(): ITokenInfo | null {\r\n return this.CGP.getToken() || null;\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.CGP.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.CGP.stopCurrentGameAutoplay();\r\n }\r\n\r\n getGeoLocationInfo(): Promise {\r\n return this.CGP.getGeoLocationInfo();\r\n }\r\n\r\n getDownloadAppLink(): string {\r\n return this.CGP.getDownloadAppLink();\r\n }\r\n\r\n isDepositWidgetSupportedByHybrid(): boolean {\r\n return this.CGP.isDepositWidgetSupportedByHybrid();\r\n }\r\n\r\n promptPushNotificationPermissionRequest() {\r\n return this.CGP.promptPushNotificationPermissionRequest();\r\n }\r\n\r\n openPopUpOnSecondWebView(content: string, timeout: number): void {\r\n this.CGP.openPopUpOnSecondWebView(content, timeout);\r\n }\r\n\r\n closePopUpOnSecondWebView(): void {\r\n this.CGP.closePopUpOnSecondWebView();\r\n }\r\n\r\n getBurnoutAnimationZIndex() {\r\n return this.CGP.getBurnoutAnimationZIndex();\r\n }\r\n\r\n get hybrid(): IHybridService {\r\n return this.CGP.hybrid;\r\n }\r\n\r\n get currentRegulation(): ILegacyRegulation {\r\n return this.CGP.currentRegulation;\r\n }\r\n\r\n eventsTrigger: SdkEventsTrigger = new SdkEventsTrigger();\r\n\r\n getCurrentBrowserTabId(): string {\r\n return this.CGP.getCurrentBrowserTabId();\r\n }\r\n\r\n get hasOpenOverlays(): boolean {\r\n return this.CGP.hasOpenOverlays;\r\n }\r\n\r\n get gnwp(): ISdkGnwpService {\r\n return this.CGP.gnwp;\r\n }\r\n\r\n get scriptLoader(): IScriptLoaderService {\r\n return this.CGP.scriptLoader;\r\n }\r\n\r\n startGeoLocationOnOpenRealGame(): Promise {\r\n return this.CGP.startGeoLocationOnOpenRealGame();\r\n }\r\n\r\n private _convertButtonsToOrbitFormat(buttons) {\r\n\r\n const sdkButtonToModalButton = (sdkBtnOpts: Partial): IModalDialogActionProps => {\r\n return {\r\n text: sdkBtnOpts.name || \"\",\r\n onClick: sdkBtnOpts.callback,\r\n className: sdkBtnOpts.cssClass\r\n };\r\n };\r\n\r\n const primarySdkButton = buttons.find((sdkBtnOpts) => {\r\n return Check.isNullOrUndefined(sdkBtnOpts.type) || sdkBtnOpts.type === \"main\";\r\n });\r\n const secondarySdkButton = buttons.find((sdkBtnOpts) => {\r\n return (sdkBtnOpts.type && sdkBtnOpts.type === \"secondary\");\r\n });\r\n\r\n let modalDialogButtonsComponentProps: IModalDialogButtonsComponentProps = {} as IModalDialogButtonsComponentProps;\r\n if (primarySdkButton) {\r\n // if we detected a primary button then we are OK, use it, and if the secondary exists also, use that too\r\n modalDialogButtonsComponentProps.primaryAction = sdkButtonToModalButton(primarySdkButton);\r\n if (secondarySdkButton) {\r\n modalDialogButtonsComponentProps.secondaryAction = sdkButtonToModalButton(secondarySdkButton);\r\n }\r\n } else {\r\n // if we did not detected a primary button, use the secondary as primary because the primary is required in IModalDialogButtonsComponentProps\r\n if (secondarySdkButton) {\r\n modalDialogButtonsComponentProps.primaryAction = sdkButtonToModalButton(secondarySdkButton);\r\n } else {\r\n throw new Error(\"No button found that we can use as primary button\");\r\n }\r\n }\r\n\r\n return modalDialogButtonsComponentProps;\r\n }\r\n\r\n\r\n getButtonsForNonRetryGeoFlow(): IModalDialogButtonsComponentProps {\r\n const buttons = this.CGP.getButtonsForNonRetryGeoFlow();\r\n return this._convertButtonsToOrbitFormat(buttons);\r\n }\r\n\r\n getRetryMessageButtons(analyticsLabel: string, resolve?, reject?): IModalDialogButtonsComponentProps {\r\n const buttons = this.CGP.getRetryMessageButtons(analyticsLabel, resolve, reject);\r\n return this._convertButtonsToOrbitFormat(buttons);\r\n }\r\n\r\n stopGameTimeReminders(): void {\r\n this.CGP.stopGameTimeReminders();\r\n }\r\n\r\n isEligibleForGameGeoRetry(): boolean {\r\n return this.CGP.isEligibleForGameGeoRetry();\r\n }\r\n\r\n startAutoRetryGeoProcess(): Promise {\r\n return this.CGP.startAutoRetryGeoProcess();\r\n }\r\n\r\n extractTokenProperty(tokenProperty: string) {\r\n return this.CGP.extractTokenProperty(tokenProperty);\r\n }\r\n\r\n isLoginPopupEnabled(): boolean {\r\n return this.CGP.isLoginPopupEnabled();\r\n }\r\n\r\n getAccountData(): any {\r\n return this.CGP.getAccountData();\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.CGP.getTempAccountGnwpSource();\r\n }\r\n\r\n openOptions(screenType: string, innerScreen?: string): void {\r\n this.CGP.openOptions(screenType, innerScreen);\r\n }\r\n\r\n}","export const CGP_OBJECT_NAME = 'CGP';\r\n\r\n\r\n","import React from 'react';\r\nimport {IGamesFilterStrategy} from \"../games-filter-strategy.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GamesMap} from \"../../../games/games.service.interface\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {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\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\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\n\r\n\r\nexport interface ArenaCommonConfiguration {\r\n topImage: string;\r\n animatedTopImage?: string;\r\n title: string;\r\n seoSection: SeoSectionConfiguration;\r\n}\r\n\r\nexport interface CasinoArenaPromotionalBannerConfiguration {\r\n templateID: string;\r\n componentID: string;\r\n displayListPlace?: number;\r\n displayRowPlace?: number;\r\n displayTablePlace?: number;\r\n fallbackComponent?: string;\r\n}\r\n\r\nexport interface CasinoArenaConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner?: CasinoArenaPromotionalBannerConfiguration\r\n linkToOffer?: LinkToOfferConfiguration;\r\n filters: NullableUndefined;\r\n advancedFilters?: {\r\n categories: {\r\n id: CategoryDefinitionId;\r\n }[];\r\n };\r\n infoSideBar: InfoSideBarConfiguration;\r\n swiperGamesList: SwiperGamesListConfiguration[];\r\n allGamesGrid: ArenaGamesGridConfiguration[];\r\n orderListsByAI?: boolean;\r\n arenaType?: string;\r\n homepageHeader?: HomePageHeaderArena;\r\n}\r\n\r\nexport interface SwiperGamesListConfiguration extends ListConfiguration {\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly gamesId: number[];\r\n readonly gamesAdminRefKey?: string;\r\n readonly templateType?: string;\r\n readonly redTigerWidget?: RedTigerJackpotWidgetConfiguration;\r\n readonly 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 listId?: number; // should be mandatory??\r\n readonly shouldInjectUsernameInTitle?: boolean;\r\n readonly apiListType?: ApiListType;\r\n readonly allowedGameGroups?: GAME_GROUP[];\r\n}\r\n\r\nexport interface LiveCasinoHeaderConfiguration {\r\n display: boolean;\r\n gameId: number;\r\n image: string;\r\n}\r\n\r\nexport interface LiveCasinoPromotionalBannerConfiguration {\r\n displayTablePlace: number;\r\n displayRowPlace: number;\r\n componentID: string;\r\n templateID: string;\r\n bannerAdminPlaceholderId?: string;\r\n}\r\n\r\nexport interface LiveCasinoConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner: LiveCasinoPromotionalBannerConfiguration;\r\n linkToOffer?: LinkToOfferConfiguration\r\n arenas: {\r\n gamesId: LiveCasinoHeaderConfiguration[];\r\n },\r\n popularTables: LiveCasinoPopularTableConfiguration[];\r\n customLayout: string;\r\n}\r\n\r\nexport interface NewLiveCasinoConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner: LiveCasinoPromotionalBannerConfiguration;\r\n arenas: HeaderFilterConfiguration[],\r\n allGamesGrid: ArenaGamesGridConfiguration[];\r\n customLayout: string;\r\n useAISortedList: boolean;\r\n linkToOffer?: LinkToOfferConfiguration;\r\n}\r\n\r\nexport interface LiveCasinoPopularTableConfiguration {\r\n title: string;\r\n gamesId: number[];\r\n useAISortedList?: boolean;\r\n ignoreNumberOfGamesInAISorting?: number;\r\n}\r\n\r\nexport interface ArenaGamesGridConfiguration extends ListConfiguration {\r\n readonly listId: number;\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly useAISortedList?: boolean;\r\n readonly ignoreNumberOfGamesInAISorting?: number;\r\n readonly gamesId: number[];\r\n readonly templateType?: string;\r\n readonly gamesAdminRefKey?: string;\r\n readonly useSquareIcons?: boolean;\r\n}\r\n\r\nexport interface HeaderFilterConfiguration {\r\n display: boolean;\r\n title: string;\r\n image: string;\r\n filter: string;\r\n seoPage: string;\r\n isActiveTabDefault?: boolean;\r\n maxGamesToShow?: number;\r\n banners?: {\r\n promotionalBanner: {\r\n templateID: string,\r\n componentID: string,\r\n bannerAdminPlaceholderId?: string\r\n }\r\n }\r\n}\r\n\r\nexport type ArenaConfiguration = CasinoArenaConfiguration & LiveCasinoConfiguration & NewLiveCasinoConfiguration;\r\n\r\nexport type ArenasConfiguration = {[key: string]: ArenaConfiguration};\r\n\r\n","import styled, {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 \r\n ${props => props.useSquareIcons ? css`\r\n bottom: 0;\r\n left: 0;\r\n max-width: 40%;\r\n ` \r\n : css`\r\n top: 0;\r\n left: 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 overflow: hidden;\r\n top: ${props => props.squareGameIcon? '10px' : '0'};\r\n min-height: 4.7rem;\r\n padding: 0 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 4rem;\r\n padding: 0 0.4rem;\r\n top: ${props => props.squareGameIcon? '5px' : '0'};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n min-height: 3.6rem;\r\n }\r\n /** Glow Line Boottom **/\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowPC.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: bottom center;\r\n background-size: contain;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 40px;\r\n margin: 0 auto;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowMobile.toString()}\");\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {\r\n GameDetailsContainerDefaultBox\r\n} from './game-details-container.default.box';\r\n\r\n\r\n\r\nexport const GameDetailsContainerCasino777Box = styled(GameDetailsContainerDefaultBox)`\r\n overflow: initial;\r\n &:after {\r\n background-size: 75%;\r\n opacity: .6;\r\n height: 15px;\r\n bottom:-15px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n bottom:-18px;\r\n }\r\n }\r\n`","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameDetailsContainerCasino777Box} from './game-details-container.casino777.box';\r\n\r\nexport const GameDetailsContainerBox = styledByTheme(GameDetailsContainerDefaultBox).forCasino777(GameDetailsContainerCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 70%;\r\n text-align: center;\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n margin-bottom: 4px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n width: 100%;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\n\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountSiBox = styled(JackpotAmountDefaultBox)`\r\n font-size: ${props => props.theme.font.size.small};\r\n font-weight: 400;\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountMrgreenBox = styled(JackpotAmountDefaultBox)`\r\n width: 100%;\r\n`","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\nimport {JackpotAmountSiBox} from \"./jackpot-amount.si.box\";\r\nimport {JackpotAmountMrgreenBox} from \"./jackpot-amount.mrgreen.box\";\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox)\r\n .forCasino777(JackpotAmountCasino777Box)\r\n .forSI(JackpotAmountSiBox)\r\n .forSICis(JackpotAmountSiBox)\r\n .forMrGreen(JackpotAmountMrgreenBox)\r\n .forMrGreenCis(JackpotAmountMrgreenBox)\r\n .apply();","import {GameInfoContainerDefaultBox} from './game-info-container.default.box';\r\n\r\nexport const GameInfoContainerBox = GameInfoContainerDefaultBox;","import styled from 'styled-components';\r\nimport {ENABLE_HOVER_ANIMATION, GAME_BOX} from '../../../css-constants';\r\n\r\nexport const GameInfoContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n padding-top: 2px;\r\n width: 100%;\r\n transition: all 0.3s ease-in-out;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0;\r\n }\r\n \r\n\r\n .${GAME_BOX}:hover &{\r\n &.${ENABLE_HOVER_ANIMATION} {\r\n transform: translateY(6rem);\r\n opacity: 0;\r\n }\r\n \r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const AmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 2.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 2.0rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const TwoRowsGameTitleContainerBox = styled.div<{hasDetails: boolean}>`\r\n height: 3.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n height: 2.7rem;\r\n }\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport {observer} from 'mobx-react';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport classNames from 'classnames';\r\nimport {ENABLE_HOVER_ANIMATION, TWO_LINES_TITLE} from '../../../css-constants';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\n\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {MinMaxBetAmountBox} from '../../boxes/min-max-bet-amount/min-max-bet-amount.box';\r\nimport {InfoPageButtonComponent} from '../info-page-button/info-page-button.component';\r\nimport {GameButtonsBox} from '../../boxes/game-buttons/game-buttons.box';\r\nimport {PlayDemoButtonComponent} from '../play-demo-button/play-demo-button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\nimport {GameInfoContainerBox} from '../../boxes/game-info-container/game-info-container.box';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport { AmountContainerBox } from '../../boxes/amount-container/amount-container.box';\r\nimport { TwoRowsGameTitleContainerBox } from '../../boxes/two-rows-game-title-container/two-rows-game-title-container.box';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n squareGameIcon?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n\r\n private get _allowHoverDetails(): boolean {\r\n\r\n if (this.props.disableGameInfoHover || this.services.device.isMobile || !this.props.gameInfo.allowHoverDetails) {\r\n return false;\r\n }\r\n\r\n return Boolean(this.props.gameInfo.hasInfoPage || this.props.gameInfo.allowDemoButtonInSingleGame);\r\n }\r\n\r\n\r\n private _renderGameButtons() {\r\n if (!this._allowHoverDetails) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderAmount() {\r\n if (this.props.gameInfo.hasJackpot) {\r\n return this._renderJackpot();\r\n }\r\n\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n const hasMinMaxBets = this.props.gameInfo.allowMinMaxBet && formattedMinBaxBets;\r\n if (hasMinMaxBets) {\r\n return this._renderMinBaxBet();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _hasDetails() {\r\n return this.props.gameInfo.allowMinMaxBet || this.props.gameInfo.hasJackpot;\r\n }\r\n\r\n private _renderJackpot() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderMinBaxBet() {\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n return (\r\n \r\n {formattedMinBaxBets}\r\n \r\n );\r\n }\r\n\r\n private _renderTitle() {\r\n const hasDetails = this._hasDetails();\r\n if (this.props.hasTwoLinesTitle) {\r\n return \r\n \r\n {this.props.gameInfo.title}\r\n \r\n ;\r\n } else {\r\n return \r\n {this.props.gameInfo.title}\r\n ;\r\n }\r\n }\r\n\r\n private _renderGameInfoSection() {\r\n return (\r\n \r\n {this._renderTitle()}\r\n {this.props.hasTwoLinesTitle || this._hasDetails()?\r\n {this._renderAmount()}\r\n : null}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderGameInfoSection()}\r\n {this._renderGameButtons()}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {HOME_PAGE, LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface GameBoxProps {\r\n squareGameIcon: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n margin-top: 10px;\r\n margin-bottom: 3rem;\r\n width: calc(100% / 7);\r\n text-align: center;\r\n cursor: pointer;\r\n user-select: none;\r\n\r\n\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n justify-content: center;\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} &.${SWIPER_MODE} {\r\n width: 16.6667%;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1%;\r\n width: calc(100% / 7);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: ${props => props.squareGameIcon ? '15px' : '0'};\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0 4px;\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16.1%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 20%;\r\n &.${SWIPER_MODE} {\r\n width: 19%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 33.3333%;\r\n &.${SWIPER_MODE} {\r\n width: 31%;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game.default.box';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n margin-bottom: 5.5rem;\r\n\r\n .${SWIPER_MODE} &{\r\n height:24rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n width:14.25%;\r\n padding: 0 1%;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${SWIPER_MODE} & {\r\n height:22rem;\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${SWIPER_MODE} &{\r\n height: 18rem;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n .${SWIPER_MODE} &{\r\n height: 26rem;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport {GameDefaultBox} from \"./game.default.box\";\r\n\r\nexport const GameCisBox = styled(GameDefaultBox)`\r\n margin-bottom: 0;\r\n margin-top: 0\r\n`;","import {GameDefaultBox} from './game.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameCasino777Box} from './game.casino777.box';\r\nimport {GameCisBox} from \"./game.cis.box\";\r\n\r\n// TODO: address this any!!!!\r\nexport const GameBox: any = styledByTheme(GameDefaultBox)\r\n .forCis(GameCisBox)\r\n .forCasino777(GameCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n\r\nexport const PlayRealButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0;\r\n transition: all 0.35s ease-in-out;\r\n\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlExact} {\r\n background-position: -552px -408px;\r\n }\r\n\r\n`;","import styled from 'styled-components';\r\nimport {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\n\r\nexport const PlayRealButtonCasino777Box = styled(PlayRealButtonDefaultBox)`\r\n background-position: -195px -354px;\r\n width: 6.3rem;\r\n height: 6.3rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n background-position: -201px -358px;\r\n }\r\n`;","import {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {PlayRealButtonCasino777Box} from './play-real-button.casino777.box';\r\n\r\n\r\nexport const PlayRealButtonBox = styledByTheme(PlayRealButtonDefaultBox).forCasino777(PlayRealButtonCasino777Box).apply();\r\n","import styled, {css} from 'styled-components';\r\nimport { ORBIT_TAP } from '../../../../../themes/css-global-classes';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface GameImageContainerProps {\r\n isLoading?: boolean;\r\n squareIcon?: boolean;\r\n isCasinoGameIcon?: boolean;\r\n}\r\n\r\nfunction getPlaceholderBackground(theme, isLoading: boolean, isSquareIcon: boolean, isCasinoGameIcon: boolean): string {\r\n\r\n if (isLoading) {\r\n return theme.images.emptyImage.toString();\r\n }\r\n\r\n if (isCasinoGameIcon) {\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.cardAndTablesSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.cardAndTablesBackgroundImage.toString();\r\n }\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.defaultSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.defaultBackgroundImage.toString();\r\n}\r\n\r\n//.game-item-image\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n max-width: 21rem;\r\n margin: auto;\r\n background: url(${({theme, squareIcon, isLoading, isCasinoGameIcon}) => getPlaceholderBackground(theme, isLoading, squareIcon, isCasinoGameIcon)}) no-repeat center center;\r\n background-size: 100%;\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n background-size: 96%;\r\n `};\r\n\r\n &::after {\r\n position: absolute;\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n content: \"\";\r\n top: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n left: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n right: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n bottom: ${({squareIcon}) => squareIcon ? \"0\" : \"1.5rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n\r\n border-radius: ${({squareIcon}) => squareIcon ? \"1.5rem\" : \"35%\"};\r\n animation: LoadingAnimation 1s linear 3;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n transform: none;\r\n\r\n &.${ORBIT_TAP} {\r\n transform: scale(0.95);\r\n }\r\n\r\n ${props => props.squareIcon && css`\r\n border-radius: 8px;\r\n `};\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\n\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game-image-container.default.box';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\n\r\n\r\nfunction common(): string {\r\n return `\r\n max-width: 19rem;\r\n & > .${SINGLE_GAME_IMAGE} {\r\n top: 4px;\r\n position: relative;\r\n }\r\n `;\r\n}\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common()}\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &img {\r\n min-height: 139px\r\n .${LOBBY_PAGE} & {\r\n min-height: 125px;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common()}\r\n`;\r\n\r\nexport const GameImageContainerCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import React from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport { observer } from \"mobx-react\";\r\nimport {GameInfo} from \"../../../services/games/game-info\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileComponent} from \"../../live-streaming-tile/video-common-components/video-tile/video-tile.component\";\r\nimport {VideoItemContainerBox} from \"./boxes/video-item-container.box\";\r\nimport {IVideoPlayingService} from \"../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport enum VIDEO_ITEM_TYPE {\r\n LIVE_STREAM = 'Live-Streaming-Video-Item',\r\n STATIC = 'Static-Video-Item'\r\n}\r\n\r\nexport interface SingleGameVideoTemplateProps {\r\n gameInfo: GameInfo;\r\n intersectionTarget?: HTMLDivElement;\r\n onOpenRealGame: () => void;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n gameIndex?: number;\r\n onBringInCentralView: (gameIndex: number) => void;\r\n\r\n}\r\n\r\n@observer\r\nexport class SingleGameVideoTemplate extends OrbitComponent {\r\n\r\n constructor(props: SingleGameVideoTemplateProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n\r\n private _inSwiperIntersectionObserver: IntersectionObserver | null = null;\r\n private _viewportIntersectionObserver: IntersectionObserver | null = null;\r\n private _videoContainerElement: HTMLDivElement | null = null;\r\n @observable.ref\r\n private _isInCenterStage = false;\r\n @observable.ref\r\n private _inViewport = false;\r\n\r\n private _captureVideoContainerRef = (element: HTMLDivElement | null) => {\r\n this._videoContainerElement = element;\r\n if (!this._inSwiperIntersectionObserver || !this._viewportIntersectionObserver) {\r\n return;\r\n }\r\n if (element) {\r\n this._inSwiperIntersectionObserver.observe(element);\r\n this._viewportIntersectionObserver.observe(element);\r\n } else {\r\n this._inSwiperIntersectionObserver.unobserve(element);\r\n this._viewportIntersectionObserver.unobserve(element);\r\n }\r\n }\r\n\r\n\r\n private _triggerOnBringInCentralView(): void {\r\n if (this._inViewport && this._isInCenterStage) {\r\n this.props.onBringInCentralView(this.props.gameIndex);\r\n }\r\n }\r\n\r\n private _createSwiperIntersectionObserver(element: HTMLElement) {\r\n const intersectionObserverOptions: IntersectionObserverInit = {\r\n threshold: 0.99,\r\n root: element\r\n };\r\n if (this.services.mediaQuery.xlAndAbove) {\r\n intersectionObserverOptions.rootMargin = \"0px -33.33%\";\r\n }\r\n\r\n this._inSwiperIntersectionObserver = new IntersectionObserver(this._inSwiperIntersectionObserverCallback, intersectionObserverOptions);\r\n }\r\n\r\n private _inSwiperIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setIsInCenterStage(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setIsInCenterStage(i: boolean) {\r\n this._isInCenterStage = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroySwiperIntersectionObserver() {\r\n if (this._inSwiperIntersectionObserver) {\r\n this._inSwiperIntersectionObserver.disconnect();\r\n this._inSwiperIntersectionObserver = null;\r\n }\r\n }\r\n\r\n private _createViewportIntersectionObserver() {\r\n this._viewportIntersectionObserver = new IntersectionObserver(this._viewportIntersectionObserverCallback, {\r\n threshold: 0.99\r\n });\r\n }\r\n\r\n private _viewportIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setInViewport(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setInViewport(i: boolean) {\r\n this._inViewport = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroyViewportIntersectionObserver() {\r\n if (this._viewportIntersectionObserver) {\r\n this._viewportIntersectionObserver.disconnect();\r\n this._viewportIntersectionObserver = null;\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this._createViewportIntersectionObserver();\r\n if (this._videoContainerElement) {\r\n this._viewportIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n if (this.props.intersectionTarget) {\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n if (this._videoContainerElement) {\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroySwiperIntersectionObserver();\r\n this._destroyViewportIntersectionObserver();\r\n }\r\n\r\n componentDidUpdate(prevProps: SingleGameVideoTemplateProps) {\r\n if (this.props.intersectionTarget) {\r\n if (this.props.intersectionTarget !== prevProps.intersectionTarget) {\r\n this._destroySwiperIntersectionObserver();\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n } else {\r\n this._destroySwiperIntersectionObserver();\r\n }\r\n }\r\n\r\n private _getVideoPlayingService = (): IVideoPlayingService => {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.LIVE_STREAM) {\r\n return this.services.liveStreamPlaying;\r\n }\r\n\r\n return this.services.staticVideoPlaying;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameImageContainerCasino777Box} from './game-image-container.casino777.box';\r\n\r\nexport const GameImageContainerBox = styledByTheme(GameImageContainerDefaultBox).forCasino777(GameImageContainerCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const GameNumberBadgeDefaultBox = styled.div`\r\n font-size: 100px;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.secondary};\r\n margin-right: -30px;\r\n color: ${props => props.theme.colors.backgroundDark};\r\n z-index: 2;\r\n text-shadow: -1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n -1px 1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px 1px 0 ${props => props.theme.colors.brandPrimary};\r\n\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: -17px;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 75px;\r\n margin-right: -16px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\n\r\nexport const GameNumberBadgeMrGreenBox = styled(GameNumberBadgeDefaultBox)`\r\n font-size: 110px;\r\n font-family: \"Oleo-Script-Bold\", verdana, sans-serif;\r\n text-shadow: none;\r\n color: white;\r\n -webkit-text-fill-color: white;\r\n -webkit-text-stroke-width: 3px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.brandPrimary};\r\n`;\r\n","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\nimport {GameNumberBadgeMrGreenBox} from \"./game-number-badge.mrgreen.box\";\r\n\r\nexport const GameNumberBadgeBox = styledByTheme(GameNumberBadgeDefaultBox).forMrGreen(GameNumberBadgeMrGreenBox).apply();\r\n","import React from 'react'\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {PlayRealButtonBox} from './boxes/play-real-button/play-real-button.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameNumberBadgeBox} from \"./boxes/game-number-badge/game-number-badge.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport { GameIconAnimationState } from '../common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameRegularTemplateComponentProps {\r\n className: string;\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onMouseEnter: () => void;\r\n onMouseLeave: () => void;\r\n onOpenRealGame: () => void;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n gameIndex?: number;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const SingleGameRegularTemplateComponent = observer(\r\n class SingleGameRegularTemplateComponent extends OrbitComponent {\r\n\r\n get gameInfo(): GameInfo {\r\n return this.props.gameInfo;\r\n }\r\n\r\n private _renderPlayRealGameButton() {\r\n if(this.services.device.os.isMobileOS) {\r\n return null;\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameNumberBadge() {\r\n if(!this.props.showNumberBadge || Check.isNullOrUndefined(this.props.gameIndex)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.gameIndex+1}\r\n \r\n )\r\n }\r\n render() {\r\n return (\r\n <>\r\n\r\n {this._renderGameNumberBadge()}\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class CssClassNameBuilder {\r\n _classes: string[] = [];\r\n append(...classes): this {\r\n\r\n classes.forEach(item => {\r\n if(Check.isString(item)) {\r\n this._classes.push(item);\r\n } else if(Check.isArray(item)) {\r\n item.forEach(c => this._classes.push(String(c)));\r\n } else if (Check.isNullOrUndefined(item)) {\r\n // just ignore it\r\n } else {\r\n throw new Error('append method accepts only string or string[] as argument');\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n build() {\r\n let result = this._classes.reduce((acc, curr) => acc + ' ' + curr, '');\r\n return result.substring(1, result.length);\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 32%;\r\n margin: 10px 1% 0 0.25rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n padding-bottom: 5rem;\r\n cursor: pointer;\r\n user-select: none;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n justify-content: center;\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n flex-direction: row;\r\n justify-content: space-around;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 49%;\r\n flex-shrink: 0;\r\n padding: 0.5rem;\r\n margin-right:0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 100%;\r\n padding: 0 2em 1em;\r\n margin-left:0;\r\n margin-right:0;\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import {GameDefaultBox} from './game.default.box';\r\n\r\nexport const GameBox = GameDefaultBox;","import styled from 'styled-components';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 40%;\r\n max-width: 20rem;\r\n margin-left: 0;\r\n margin-right: 3.5rem;\r\n overflow: visible;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n\r\n &:after {\r\n content: \"\";\r\n background-image: url(\"${props => props.theme.images.verticalLineGlow.toString()}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n transform: translateX(100%);\r\n }\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n\r\n\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n }\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:after {\r\n right: -8%;\r\n width: 25px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 80%;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\n\r\nexport const GameImageContainerBox = GameImageContainerDefaultBox;","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\n\r\nexport const GameDetailsContainerBox = GameDetailsContainerDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n flex: 1 0 auto;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0;\r\n overflow: hidden;\r\n text-align: center;\r\n font-size: 1rem;\r\n align-items: flex-start;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 0.85rem;\r\n justify-content: space-between;\r\n min-height: 4rem;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n align-items: center;\r\n font-size: 0.7rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameTitleDefaultBox = styled.div`\r\n line-height: 2.5rem;\r\n font-size: 1.5em;\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n max-width: 13rem;\r\n line-height: 1.7;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n font-size: 1.9em;\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\n\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox).forCasino777(GameTitleCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 2.6em;\r\n width: 100%;\r\n margin-bottom: 4px;\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n font-size: 2.2em;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {baseColors} from \"../../../../../themes/definitions/casino777/base-colors\";\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-weight: 300;\r\n color: ${baseColors.base04Dark};\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n color: ${props => props.theme.colors.textLight};\r\n text-shadow: none;\r\n letter-spacing: .3px;\r\n -webkit-text-stroke-width: 0;\r\n -webkit-text-stroke-color: transparent;\r\n }\r\n`;\r\n","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox).forCasino777(JackpotAmountCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.gameInfo.title}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {this.services.translation.translate('HIT_THE_JACKPOT')}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {GAME_BOX_JACKPOT_TEMPLATE} from '../css-constants';\r\n\r\nexport interface SingleGameJackpotTemplateComponentProps {\r\n gameInfo: GameInfo;\r\n className: string;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const SingleGameJackpotTemplateComponent = observer(\r\n class SingleGameJackpotTemplateComponent extends OrbitComponent {\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {LiveGameContainerDefaultBox} from \"./live-game-container.default.box\";\r\n\r\nexport const LiveGameContainerBox = LiveGameContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveGameContainerDefaultBox = styled.div`\r\n\r\n flex-shrink: 0;\r\n width: calc(100% / 4);\r\n padding: 1rem 0.5rem 3rem 0.5rem;\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 1rem 0.5rem;\r\n }\r\n`;\r\n","import React from 'react'\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {LiveGameContainerBox} from './boxes/live-game-container/live-game-container.box';\r\nimport {LiveCasinoArenaGridItem} from '../../arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\n\r\nexport interface SingleGameLiveTemplateComponentProps {\r\n tableConfig: GameInfo;\r\n}\r\n\r\nexport const SingleGameLiveTemplateComponent = observer(\r\n class SingleGameLiveTemplateComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import {VideoTileDefaultBox} from \"./video-tile-default.box\";\r\n\r\nexport const VideoTileBox = VideoTileDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n box-shadow: ${props => props.theme.colors.boxBorderDark} 0px 10px 8px -6px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n border-radius: 12px;\r\n border: 0.5px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.lAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 12.5vw;\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.mAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 25vw;\r\n }\r\n`;\r\n","import {VideoOverlayItemDefaultBox} from \"./video-overlay-item.default.box\";\r\n\r\nexport const VideoOverlayItemBox = VideoOverlayItemDefaultBox;\r\n","import styled, {css} from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\ninterface ILiveStreamingOverlayItemDefaultBoxProps {\r\n capsule?: boolean;\r\n transparent?: boolean;\r\n}\r\n\r\nexport const VideoOverlayItemDefaultBox = styled.div`\r\n display: flex;\r\n background: ${({theme, transparent}) => !transparent && hexToRgba(theme.colors.background.toString(), 0.7)};\r\n\r\n\r\n ${({capsule}) => !capsule ? css`\r\n padding: 2px;\r\n border-radius: 4px;\r\n ` : css`\r\n padding: 0 0.25rem;\r\n border-radius: 2rem;\r\n `}\r\n`;\r\n","import {VideoSoundButtonDefaultBox} from \"./video-sound-button-default.box\";\r\n\r\nexport const VideoSoundButtonBox = VideoSoundButtonDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoSoundButtonDefaultBox = styled.div`\r\n padding: 0.25rem;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.9) };\r\n border-radius: 50%;\r\n`;\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoSoundButtonBox} from \"./boxes/video-sound-button.box\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoSoundButtonComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n}\r\n\r\nexport class VideoSoundButtonComponent extends OrbitComponent {\r\n private _renderIcon() {\r\n\r\n if (this.props.videoPlayingService.isVideoMuted) {\r\n const MuteIcon = this.services.theme.currentTheme.icons.muteIcon;\r\n return ;\r\n }\r\n\r\n const UnmuteIcon = this.services.theme.currentTheme.icons.unmuteIcon;\r\n return ;\r\n }\r\n\r\n private _handleClick() {\r\n this.props.videoPlayingService.toggleVideoSound();\r\n }\r\n\r\n render() {\r\n return (\r\n this._handleClick()}>\r\n {this._renderIcon()}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoOverlayItemBox} from \"../video-overlay-item/video-overlay-item.box\";\r\nimport {VideoSoundButtonComponent} from \"../video-sound-button/video-sound-button.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoTileOverlayComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n videoPlaying: boolean;\r\n bottomLeftComponent?: React.ReactNode;\r\n bottomRightComponent?: React.ReactNode;\r\n}\r\n\r\nexport class VideoTileOverlayComponent extends OrbitComponent {\r\n\r\n private _padding = \"1rem\";\r\n\r\n private _renderTopRight(): React.ReactElement {\r\n if (!this.props.videoPlaying) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderBottomLeft(): React.ReactElement {\r\n if (!this.props.bottomLeftComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomLeftComponent}\r\n \r\n );\r\n }\r\n\r\n private _renderBottomRight(): React.ReactElement {\r\n if (!this.props.bottomRightComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomRightComponent}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderTopRight()}\r\n {this._renderBottomLeft()}\r\n {this._renderBottomRight()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoTileOverlayDefaultBox} from \"./video-tile-overlay-default.box\";\r\n\r\nexport const VideoTileOverlayBox = VideoTileOverlayDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n background: rgba(0,0,0,0.5);\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoTileStaticImageOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0px;\r\n right: 0;\r\n background-color: ${props => hexToRgba(props.theme.colors.background, 0.85)};;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\nimport {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\n\r\nexport const VideoTileStaticImageOverlayMrGreenBox = styled(VideoTileStaticImageOverlayDefaultBox)`\r\n background-color: ${props => hexToRgba(props.theme.colors.backgroundMiddleDark, 0.85)};\r\n`;\r\n","import {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoTileStaticImageOverlayMrGreenBox} from \"./video-tile-static-image-overlay.mrgreen.box\";\r\n\r\nexport const VideoTileStaticImageOverlayBox = styledByTheme(VideoTileStaticImageOverlayDefaultBox)\r\n .forMrGreen(VideoTileStaticImageOverlayMrGreenBox)\r\n .apply();\r\n","import {VideoTileSkeletonContainerDefaultBox} from \"./video-tile-skeleton-container-default.box\";\r\n\r\nexport const VideoTileSkeletonContainerBox = VideoTileSkeletonContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.video`\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const VideoDefaultBox = DefaultBox;\r\n","import { VideoDefaultBox } from './video-default.box';\r\nimport { styledByTheme } from '../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const VideoBox = styledByTheme(VideoDefaultBox).apply();\r\n","import { VideoPlayButtonDefaultBox } from './video-play-button.default.box';\r\n\r\n\r\nexport const VideoPlayButtonBox = VideoPlayButtonDefaultBox;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const VideoPlayButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0.9;\r\n transform: scale(1.5);\r\n transform: translateY(0);\r\n transition: all 0.35s ease-in-out;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\ninterface LiveStreamingVideoContainerBoxProps {\r\n videoIsLoading: boolean;\r\n videoWatchTimeLimitReached: boolean;\r\n displayVideo: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n display: ${props => props.displayVideo ? 'block' : 'none'};\r\n width: 100%;\r\n height: 100%;\r\n ${props => props.videoIsLoading || props.videoWatchTimeLimitReached ? 'filter: blur(2px)' : null};\r\n`;\r\n\r\nexport const VideoContainerDefaultBox = DefaultBox;\r\n","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { VideoContainerDefaultBox } from './video-container-default.box';\r\n\r\nexport const VideoContainerBox = styledByTheme(VideoContainerDefaultBox).apply();\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { CyClass } from '../../../../../common/cy-classes';\r\nimport { OrbitComponent } from '../../../base-components/orbit-component/orbit-component';\r\nimport { IVideoPlayer } from '../../../../services/video-live-stream/video-players/video-player.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport { VideoBox } from './boxes/video.box';\r\nimport { VideoPlayButtonBox } from \"../video-play-button/video-play-button.box\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {VideoContainerBox} from '../video-container/video-container.box';\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\ninterface VideoComponentProps {\r\n gameInfo: GameInfo;\r\n muted: boolean;\r\n onError?: (hasError: boolean, retryFn?: (() => void) | undefined) => void;\r\n onLoading?: (isLoading: boolean) => void;\r\n onWatchTimeLimitReached?: (watchTimeLimitReached: boolean) => void;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n display: boolean;\r\n videoPlayingService: IVideoPlayingService;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoComponent extends OrbitComponent {\r\n @observable.ref\r\n private _videoPlayer: IVideoPlayer = null;\r\n\r\n constructor(props: VideoComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @action.bound\r\n setLiveStreamPlayer(player: IVideoPlayer) {\r\n this._videoPlayer = player;\r\n }\r\n\r\n private _videoElement: HTMLVideoElement | null = null;\r\n private _isAppVisible = true;\r\n\r\n private _captureVideoRef = (mediaElement: HTMLVideoElement | null) => {\r\n if (mediaElement) {\r\n this._videoElement = mediaElement;\r\n }\r\n }\r\n\r\n private async _createVideoPlayer() {\r\n const liveStreamPlayer = await this.props.videoPlayingService.getVideoPlayer(this.props.gameInfo, this._videoElement, this.props.isLastGametype);\r\n this.setLiveStreamPlayer(liveStreamPlayer);\r\n }\r\n\r\n private _playVideo = async () => {\r\n if (!this._videoPlayer) {\r\n await this._createVideoPlayer();\r\n }\r\n\r\n this._videoPlayer.play();\r\n }\r\n\r\n private _pauseVideo = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.pause();\r\n }\r\n }\r\n\r\n private _detectIfVideoIsInFocus = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n } else {\r\n this._pauseVideo();\r\n }\r\n }\r\n\r\n private _handlePlayVideoClick = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n this._videoPlayer.logUIAction('info', 'VideoPlayClick');\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendAnalytics(gaCategory, \"AUTOPLAY\", \"VIDEO_PLAY_CLICK\", this.props.gameInfo.gameType, true);\r\n }\r\n }\r\n\r\n private _renderPlayerControls = () => {\r\n return this._videoPlayer?.autoplayAllowed ? null : (\r\n \r\n );\r\n }\r\n\r\n @action.bound\r\n private _destroyPlayer = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.destroy();\r\n this._videoPlayer = null;\r\n }\r\n };\r\n\r\n private _retryPlay = () => {\r\n this._destroyPlayer();\r\n this._detectIfVideoIsInFocus();\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this._detectIfVideoIsInFocus();\r\n\r\n this.reaction(() => this._videoPlayer?.hasError, (hasError) => {\r\n this.props.onError(hasError, hasError ? this._retryPlay : undefined);\r\n });\r\n this.reaction(() => this._videoPlayer?.isLoading, (isLoading) => {\r\n this.props.onLoading(isLoading);\r\n });\r\n this.reaction(() => this._videoPlayer?.watchTimeLimitReached, (watchTimeLimitReached) => {\r\n this.props.onWatchTimeLimitReached(watchTimeLimitReached);\r\n });\r\n this.reaction(() => this.props.videoPlayingService.isAppVisible, (isAppVisible) => {\r\n this._isAppVisible = isAppVisible;\r\n this._detectIfVideoIsInFocus();\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: VideoComponentProps) {\r\n if (this.props.isInCenterStage !== prevProps.isInCenterStage || this.props.inViewport !== prevProps.inViewport) {\r\n this._detectIfVideoIsInFocus();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n\r\n this._destroyPlayer();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderPlayerControls()}\r\n \r\n )\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedButtonProps {\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedButton = styled.div`\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n margin-left: auto;\r\n\r\n background: rgba(255, 255, 255, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2.5s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.25;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedRectangleProps {\r\n top?: boolean;\r\n left?: boolean;\r\n right?: boolean;\r\n bottom?: boolean;\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedRectangle = styled.div`\r\n\r\n position: absolute;\r\n\r\n top: ${({top}) => top ? \"1rem\" : \"initial\"};\r\n left: ${({left}) => left ? \"1rem\" : \"initial\"};\r\n right: ${({right}) => right ? \"1rem\" : \"initial\"};\r\n bottom: ${({bottom}) => bottom ? \"1rem\" : \"initial\"};\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n\r\n background: rgba(0, 0, 0, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.5;\r\n }\r\n }\r\n`;\r\n","import {VideoTileFooterDefaultBox} from \"./video-tile-footer-default.box\";\r\n\r\nexport const VideoTileFooterBox = VideoTileFooterDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterDefaultBox = styled.div`\r\n display: flex;\r\n position: relative;\r\n padding: 2rem 1rem;\r\n align-items: center;\r\n justify-content: space-between;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n padding: 3rem 2.5rem;\r\n }\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 1px;\r\n left: 0;\r\n bottom: 0;\r\n background: linear-gradient(90deg, transparent 10%, rgba(255, 255, 255, 0.85), transparent 90%);\r\n }\r\n`;\r\n","import {VideoTileSkeletonDefaultbox} from \"./video-tile-skeleton.defaultbox\";\r\n\r\nexport const VideoTileSkeletonbox = VideoTileSkeletonDefaultbox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonDefaultbox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n`;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {Image} from \"../raw-components/image/image\";\r\nimport {GameBox} from \"../single-game/regular-template/boxes/game/game.box\";\r\nimport {GameBox as JackpotGameBox} from \"../single-game/jackpot-template/boxes/game/game.box\";\r\nimport {GameTitleBox} from \"../single-game/regular-template/boxes/game-title/game-title.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {GameImageContainerBox} from \"../single-game/regular-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameImageContainerBox as JackpotGameImageContainerBox} from \"../single-game/jackpot-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameDetailsContainerBox} from \"../single-game/regular-template/boxes/game-details-container/game-details-container.box\";\r\nimport {GameDetailsContainerBox as JackpotGameDetailsContainerBox} from \"../single-game/jackpot-template/boxes/game-details-container/game-details-container.box\";\r\nimport {AspectRatioContainerComponent} from \"../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from \"../../themes/css-global-classes\";\r\nimport {VideoTileBox} from \"../live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box\";\r\nimport {SkeletonAnimatedButton} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box\";\r\nimport {SkeletonAnimatedRectangle} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box\";\r\nimport {VideoTileFooterBox} from \"../live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box\";\r\nimport {VideoTileSkeletonbox} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox\";\r\nimport { CyClass } from \"../../../common/cy-classes\";\r\nimport { AmountContainerBox } from \"./regular-template/boxes/amount-container/amount-container.box\";\r\n\r\nconst DummyTextBox = styled.div`\r\n background: linear-gradient(90deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.25));\r\n background-size: 400px 100%;\r\n border-radius: 5px;\r\n animation: TextLoadingAnimation 1s linear infinite;\r\n\r\n @keyframes TextLoadingAnimation {\r\n 0% {\r\n background-position-x: -200px;\r\n }\r\n 100% {\r\n background-position-x: 200px;\r\n }\r\n }\r\n`;\r\n\r\nconst DummyTextBoxAbsolute = styled(DummyTextBox)`\r\n position: absolute;\r\n top: 0;\r\n left: 25%;\r\n right: 25%;\r\n bottom: 0;\r\n`;\r\n\r\ninterface IDummyTextBoxRelativeProps {\r\n small?: boolean;\r\n}\r\n\r\nconst DummyTextBoxRelative = styled(DummyTextBox)`\r\n position: relative;\r\n width: ${({small}) => small ? \"50%\" : \"80%\"};\r\n height: 2rem;\r\n margin-bottom: 1rem;\r\n`;\r\n\r\nexport interface ISingleGameSkeletonComponentProps {\r\n templateType: string;\r\n useSquareIcons: boolean;\r\n placeholderImageSrc: string;\r\n}\r\n\r\nexport class SingleGameSkeletonComponent extends OrbitComponent {\r\n\r\n private _renderRegularGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderJackpotGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderVideoSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n :\r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render () {\r\n\r\n if (this.props.templateType === JACKPOTS_ITEM) {\r\n return this._renderJackpotGameSkeleton();\r\n }\r\n\r\n if ([LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM].includes(this.props.templateType)) {\r\n return this._renderVideoSkeleton();\r\n }\r\n\r\n return this._renderRegularGameSkeleton();\r\n }\r\n}\r\n","import {VideoRetryScreenTileDefaultBox} from \"./video-retry-screen-tile-default.box\";\r\n\r\nexport const VideoRetryScreenTileBox = VideoRetryScreenTileDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoRetryScreenTileDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.6)};\r\n`;\r\n","import {VideoRetryScreenIconDefaultBox} from \"./video-retry-screen-icon-default.box\";\r\n\r\nexport const VideoRetryScreenIconBox = VideoRetryScreenIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenIconDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 5rem;\r\n height: 5rem;\r\n background: ${({theme}) => theme.colors.background.toString()};\r\n border-radius: 50%;\r\n`;\r\n","import {VideoRetryScreenTitleDefaultBox} from \"./video-retry-screen-title-default.box\";\r\n\r\nexport const VideoRetryScreenTitleBox = VideoRetryScreenTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTitleDefaultBox = styled.div`\r\n margin: 1rem 0;\r\n font-size: 2rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {VideoRetryScreenTextDefaultBox} from \"./video-retry-screen-text-default.box\";\r\n\r\nexport const VideoRetryScreenTextBox = VideoRetryScreenTextDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTextDefaultBox = styled.div`\r\n margin-bottom: 1rem;\r\n font-size: 1.6rem;\r\n line-height: 1.5;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from 'react';\r\nimport {VideoRetryScreenTileBox} from \"./video-retry-screen-boxes/video-retry-screen-tile.box\";\r\nimport {VideoRetryScreenIconBox} from \"./video-retry-screen-boxes/video-retry-screen-icon.box\";\r\nimport {SvgSizeUnit} from \"../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VideoRetryScreenTitleBox} from \"./video-retry-screen-boxes/video-retry-screen-title.box\";\r\nimport {VideoRetryScreenTextBox} from \"./video-retry-screen-boxes/video-retry-screen-text.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\n\r\nexport interface VideoRetryScreenComponentProps {\r\n retryFn: () => void;\r\n setHasError: (value: boolean, retryFn?: (() => void) | undefined) => void;\r\n}\r\n\r\nexport default class VideoRetryScreenComponent extends OrbitComponent {\r\n\r\n private _retryAndSetError = () => {\r\n if (this.props.retryFn) {\r\n this.props.retryFn();\r\n }\r\n this.props.setHasError(false);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const BrokenLinkIcon = this.services.theme.currentTheme.icons.brokenLinkIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_TITLE')}\r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_MESSAGE')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport React from 'react';\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\n\r\nexport interface VideoThumbnailImageComponentProps {\r\n onLoad: () => void;\r\n onSettled: () => void;\r\n gameInfo: GameInfo;\r\n filterBlur: boolean;\r\n}\r\n\r\nexport default class VideoThumbnailImageComponent extends OrbitComponent {\r\n\r\n //Priority for game video thumbnail image(takes the 1st that exists):\r\n // gameinfo.videoThumbnailUrl\r\n // tableinfo.TableImage\r\n // gameinfo.gameArenaIcon\r\n\r\n private _getImageSource = (): string => {\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n\r\n if (gameInfo?.videoThumbnailUrl) {\r\n return gameInfo?.videoThumbnailUrl;\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(gameInfo.gameType);\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n return gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n return addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n };\r\n\r\n render(): React.ReactNode {\r\n return ();\r\n }\r\n}\r\n","import {VideoTileBettingRangeDefaultBox} from \"./video-tile-betting-range-default.box\";\r\n\r\nexport const VideoTileBettingRangeBox = VideoTileBettingRangeDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\n\r\nexport const VideoTileBettingRangeDefaultBox = styled.div`\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n line-height: 1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n margin: 12px 0 0 0rem;\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileGameTitleDefaultBox} from \"./video-tile-game-title-default.box\";\r\n\r\nexport const VideoTileGameTitleBox = VideoTileGameTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileGameTitleDefaultBox = styled.div`\r\n text-overflow: ellipsis;\r\n font-size: 1rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n line-height: 1.1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileFooterSectionDefaultBox} from \"./video-tile-footer-section-default.box\";\r\n\r\nexport const VideoTileFooterSectionBox = VideoTileFooterSectionDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterSectionDefaultBox = styled.div<{width?: string;}>`\r\n width: ${({width}) => width ? width : \"auto\"};\r\n margin-right: 1rem;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotValueDefaultBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n margin-left: 0.5rem;\r\n`;\r\n\r\nexport const VideoListJackpotValueBox = VideoListJackpotValueDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n font-size: 1.2rem;\r\n margin-top: 5px;\r\n`;\r\n\r\nexport const VideoListJackpotContainerBox = VideoListJackpotContainerDefaultBox;","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React, {ReactNode} from 'react';\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {ILiveTableInfo} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {VideoTileBettingRangeBox} from \"../video-tile-betting-range/video-tile-betting-range.box\";\r\nimport {VideoTileGameTitleBox} from \"../video-tile-game-title/video-tile-game-title.box\";\r\nimport {VideoTileFooterBox} from \"./boxes/video-tile-footer.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {VideoTileFooterSectionBox} from \"./boxes/video-tile-footer-section.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {GameJackpotComponent} from \"../../../game-jackpot/game-jackpot.component\";\r\nimport {\r\n VideoListJackpotValueBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box\";\r\nimport {\r\n VideoListJackpotContainerBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box\";\r\n\r\nexport type VideoTileFooterType = \"jackpot\" | \"bets\";\r\n\r\nexport interface VideoTileFooterComponentProps {\r\n onClickPlay: () => void;\r\n gameInfo: GameInfo;\r\n type: VideoTileFooterType;\r\n}\r\n\r\nexport default class VideoTileFooterComponent extends OrbitComponent {\r\n\r\n //Information from GetLiveTables request feed, for live casino games only.\r\n private get _tableInfo(): ILiveTableInfo | null {\r\n return this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n }\r\n\r\n private _renderMinMaxBet(): ReactNode {\r\n\r\n let minBet: number;\r\n let maxBet: number;\r\n\r\n if(Check.isNullOrUndefined(this._tableInfo?.MinBet) || Check.isNullOrUndefined(this._tableInfo?.MaxBet)){\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = this._tableInfo.MinBet;\r\n maxBet = this._tableInfo.MaxBet;\r\n }\r\n\r\n return (\r\n \r\n {this.services.currency.formatMinMaxBet(minBet, maxBet)}\r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle(): ReactNode {\r\n\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n\r\n if (this._tableInfo?.Name?.length > 0) {\r\n title = this._tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderJackpot() {\r\n if(!this.props.gameInfo.hasJackpot) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate(\"JACKPOT\")}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderSecondaryText() {\r\n switch (this.props.type) {\r\n case \"bets\":\r\n return this._renderMinMaxBet();\r\n case \"jackpot\":\r\n return this._renderJackpot();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n return (\r\n \r\n \r\n {this._renderGameTitle()}\r\n {this._renderSecondaryText()}\r\n \r\n \r\n \r\n {this.services.translation.translate(\"PLAY_NOW\")}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { imagePreload, ImagePreloadPromiseResponse } from \"../../../../../common/utils/image-preload\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileBox} from \"./boxes/video-tile.box\";\r\nimport {AspectRatioContainerComponent} from \"../../../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {VideoTileOverlayComponent} from \"../video-tile-overlay/video-tile-overlay.component\";\r\nimport {VideoTileOverlayBox} from \"../video-tile-overlay/boxes/video-tile-overlay.box\";\r\nimport {VideoTileStaticImageOverlayBox} from \"../video-tile-static-image-overlay/video-tile-static-image-overlay.box\";\r\nimport {VideoTileSkeletonContainerBox} from \"../video-tile-skeleton-container/video-tile-skeleton-container.box\";\r\nimport {VideoComponent} from \"../video-component/video.component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {SingleGameSkeletonComponent} from \"../../../single-game/single-game-skeleton.component\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TableSeatsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\nimport VideoRetryScreenComponent from \"../video-retry-screen/video-retry-screen.component\";\r\nimport {VIDEO_ITEM_TYPE} from \"../../../single-game/video-template/single-game-video-template.component\";\r\nimport VideoThumbnailImageComponent from \"../video-thumbnail-image/video-thumbnail-image.component\";\r\nimport VideoTileFooterComponent from \"../video-tile-footer/video-tile-footer.component\";\r\nimport {\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../../../../services/analytics/analytics.service.interface\";\r\n\r\nexport interface VideoTileComponentProps {\r\n gameInfo: GameInfo;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n onOpenRealGame: () => void;\r\n videoPlayingService: IVideoPlayingService;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoTileComponent extends OrbitComponent {\r\n\r\n constructor(props: VideoTileComponentProps) {\r\n\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private _posterImageLoadPromise: Promise | undefined = undefined;\r\n\r\n @observable.ref\r\n private _hasError: boolean = false;\r\n\r\n private _retryFn: (() => void) | undefined;\r\n\r\n @action.bound\r\n setHasError(value: boolean, retryFn?: (() => void) | undefined) {\r\n this._hasError = value;\r\n this._retryFn = retryFn;\r\n }\r\n\r\n @observable.ref\r\n private _posterImageLoaded = false;\r\n\r\n @action.bound\r\n private setPosterImageLoaded(value: boolean) {\r\n this._posterImageLoaded = value;\r\n }\r\n\r\n private onPosterImageLoaded = () => {\r\n this.setPosterImageLoaded(true);\r\n }\r\n\r\n @observable.ref\r\n private _isVideoLoading: boolean = true;\r\n\r\n @observable.ref\r\n private _isFirstTimeLoading: boolean = true;\r\n\r\n @action.bound\r\n setIsVideoLoading(value: boolean) {\r\n this._isVideoLoading = value;\r\n if (value === false) {\r\n this.firstTimeLoadingDone();\r\n }\r\n }\r\n\r\n @action.bound\r\n firstTimeLoadingDone() {\r\n if (this._isFirstTimeLoading === true) {\r\n this._isFirstTimeLoading = false;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private _isWatchTimeLimitReached: boolean = false;\r\n\r\n @action.bound\r\n setIsWatchTimeLimitReached(value: boolean) {\r\n this._isWatchTimeLimitReached = value;\r\n }\r\n\r\n private _onPlayClickHandler = () => {\r\n this.props.onOpenRealGame();\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendOrbitMarketingEvent(gaCategory, 'PLAY_GAME', OrbitMarketingEventAnalyticsLabel.Click, this.props.gameInfo.gameType);\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.gameInfo.videoThumbnailUrl) {\r\n this._posterImageLoadPromise = imagePreload(this.props.gameInfo.videoThumbnailUrl);\r\n this._posterImageLoadPromise.then(this.onPosterImageLoaded);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this._posterImageLoadPromise) {\r\n this._posterImageLoadPromise = undefined;\r\n }\r\n }\r\n\r\n private _renderPlayerOverlay() {\r\n if (!this._isWatchTimeLimitReached && !this._isVideoLoading) {\r\n return null;\r\n }\r\n\r\n let statusText = '';\r\n if (this._isWatchTimeLimitReached) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_WATCH_TIME_REACHED');\r\n } else if (this._isVideoLoading) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_VIDEO_LOADING');\r\n }\r\n\r\n return {statusText};\r\n }\r\n\r\n private _renderRetryScreen() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n private _renderPlayer() {\r\n return (\r\n \r\n {/* For the video element I cannot conditionally render it for this.props.isInCenterStage because when the video reaches end and the user\r\n swipes right/left it renders again and starts again */}\r\n \r\n {((this.services.mediaQuery.xlAndAbove && !this.props.isInCenterStage) || this._hasError || (this.props.isInCenterStage && this._isFirstTimeLoading && this._posterImageLoaded)) ? this._renderVideoThumbnailImage(this._hasError && this.props.isInCenterStage) : this._renderPlayerOverlay()}\r\n {this._renderTileOverlayComponent()}\r\n {(this._hasError && this.props.isInCenterStage) ? this._renderRetryScreen() : null}\r\n \r\n );\r\n }\r\n\r\n private _renderTileOverlayComponent(): React.ReactNode {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.STATIC) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n\r\n return (\r\n }\r\n bottomRightComponent={}\r\n videoPlaying={this.props.isInCenterStage && !this._hasError}\r\n />\r\n )\r\n\r\n }\r\n\r\n private _renderVideoThumbnailImage(filterBlur: boolean) {\r\n return \r\n }\r\n\r\n private _renderFooter() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderSkeleton() {\r\n if (this._isFirstTimeLoading && !this._posterImageLoaded) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n\r\n private _renderStaticImageOverlay() {\r\n if (this.props.isInCenterStage || this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n }\r\n return ;\r\n }\r\n\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderPlayer()}\r\n {this._renderFooter()}\r\n {this._renderSkeleton()}\r\n {this._renderStaticImageOverlay()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoItemContainerDefaultBox} from \"./video-item-container-default.box\";\r\n\r\nexport const VideoItemContainerBox = VideoItemContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const VideoItemContainerDefaultBox = styled.div<{stepBackStyle: boolean;}>`\r\n width: 100%;\r\n ${flexFixedSizeItem}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 33.33%;\r\n transition: transform 0.5s ease-in-out;\r\n transform: ${({stepBackStyle}) => stepBackStyle ? \"scale(0.7)\" : \"scale(1)\"};\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SingleGameRegularTemplateComponent} from './regular-template/single-game-regular-template.component';\r\nimport {GameInfo, OpenGameParameters} from '../../services/games/game-info';\r\nimport {CssClassNameBuilder} from '../../../utils/css-class-name-builder';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_BOX, SWIPER_MODE} from './css-constants';\r\nimport {SingleGameJackpotTemplateComponent} from './jackpot-template/single-game-jackpot-template.component';\r\nimport {JACKPOTS_ITEM, LIVE_CASINO_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../themes/css-global-classes';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {SingleGameLiveTemplateComponent} from './live-template/single-game-live-template.component';\r\nimport {SingleGameVideoTemplate, VIDEO_ITEM_TYPE} from './video-template/single-game-video-template.component';\r\nimport {GameIconAnimationState} from './common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameComponentProps {\r\n gameType: number;\r\n seoCategory: string;\r\n listTitle: string;\r\n listPosition?: number,\r\n AdminListID?: number,\r\n AIListTypeID?: number;\r\n templateType?: any;\r\n gameIndex?: number;\r\n skipIntermediatePage?: boolean;\r\n disableGameInfoHover: boolean;\r\n isInsideSwiper?: boolean;\r\n aiEngine?: string;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n intersectionTarget?: HTMLDivElement;\r\n hasTwoLinesTitle?: boolean;\r\n isLastGametype?: boolean;\r\n onBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\nexport const SingleGameComponent = observer(\r\n class SingleGameComponent extends OrbitComponent {\r\n private animatedIconState: GameIconAnimationState = \"static\";\r\n\r\n get gameInfo(): GameInfo {\r\n return this.services.games.gamesMap[this.props.gameType];\r\n }\r\n\r\n private openRealGame = () => {\r\n this._openGame(true);\r\n };\r\n\r\n private openAnonymousGame = () => {\r\n this._openGame(false);\r\n };\r\n\r\n private openInfoPage = () => {\r\n this.services.location.push(this.gameInfo.infoPageURL);\r\n this.sendAnalytics(`SEO_${this.gameInfo.gameType}`);\r\n };\r\n\r\n private _openGame(openInRealMode: boolean): void {\r\n\r\n\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: openInRealMode,\r\n pageName: this.props.seoCategory,\r\n listTitle: this.props.listTitle,\r\n listPosition: this.props.listPosition,\r\n AdminListID: this.props.AdminListID,\r\n AIListTypeID: this.props.AIListTypeID,\r\n gameIndex: this.props.gameIndex,\r\n aiEngine: this.props.aiEngine,\r\n showIntermediatePage: !this.props.skipIntermediatePage,\r\n animatedIconState: this.animatedIconState\r\n };\r\n\r\n this.gameInfo.open(openGameParams)\r\n }\r\n\r\n private get _allowPreview(): boolean {\r\n return this.services.lobbyGameInfoPreview.allowGamePreview\r\n && !this.props.disableGameInfoHover;\r\n }\r\n\r\n private sendAnalytics(label: string) {\r\n this.services.analytics.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\n\r\nexport abstract class GamesListBaseModel implements IGamesListRenderer, IGamesListViewModel {\r\n constructor(protected readonly arena: IArenaToGamesListAdapter) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get listId(): number;\r\n abstract get title(): TextTranslation;\r\n abstract get forceInLayout(): boolean;\r\n abstract get templateType(): string;\r\n\r\n protected abstract get _forceRoundIcons(): boolean;\r\n protected abstract get _useSquareIcons(): boolean;\r\n protected abstract get _isAISorted(): boolean;\r\n protected abstract get _numberOfGamesToBeIgnoredInAISorting(): number | undefined;\r\n protected abstract _shouldBeDisplayed(): boolean;\r\n protected abstract _renderList(listPosition: number): React.ReactElement | null;\r\n protected abstract _getGameTypes(): number[];\r\n abstract renderListHeader(): React.ReactElement;\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this.arena.services;\r\n }\r\n\r\n get arenaName(): string {\r\n return this.arena.arenaName;\r\n }\r\n\r\n get listKey(): string {\r\n return `${this.arena.arenaName}_${this.title.translationKey}_${this.listId}`;\r\n }\r\n\r\n get aiEngine(): string {\r\n if(this.arena.aiEngine) {\r\n return this.arena.aiEngine;\r\n }\r\n\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.getAiEngine();\r\n }\r\n\r\n return \"\";\r\n }\r\n get maxGamesToShowInList(): number {\r\n return this.arena.maxGamesToShowInList;\r\n }\r\n\r\n @computed\r\n get isVisible(): boolean {\r\n return this._shouldBeDisplayed();\r\n }\r\n\r\n @computed\r\n get gameTypes(): number[] {\r\n return this._applyGameTypesTransformations(this._getGameTypes());\r\n }\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n return this._reduceGameTypes(\r\n this._sortGameTypes(\r\n this._distinctGameTypes(gameTypes)));\r\n }\r\n\r\n protected _sortGameTypes(gameTypes: number[]): number[] {\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.sortGames(gameTypes, {ignoreNumberOfGames: this._numberOfGamesToBeIgnoredInAISorting});\r\n }\r\n return gameTypes;\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n return gameTypes.filter(gt => this.services.gamesFilter.filteredGamesMap[gt])\r\n .slice(0, this.maxGamesToShowInList);\r\n }\r\n\r\n protected _distinctGameTypes(gameTypes: number[]): number[] {\r\n return [...new Set(gameTypes)];\r\n }\r\n\r\n shouldUseSquareIcons(): boolean {\r\n if(this._forceRoundIcons){\r\n return false;\r\n }\r\n\r\n return this.services.theme.shouldUseSquareIcons || this._useSquareIcons;\r\n }\r\n\r\n render(listPosition: number): React.ReactElement | null {\r\n return this._renderList(listPosition);\r\n }\r\n\r\n}","export const JACKPOT_WIDGET = 'daily-jackpot';\r\nexport const RED_TIGER_JACKPOT = 'red-tiger-jackpot';","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\nimport {EXCLUSIVES_LIST_ICON} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const ListTitleIconDefaultBox = styled.span`\r\n ${flexFixedSizeItem}\r\n display: inline-block;\r\n width: 3rem;\r\n height: 2.5rem;\r\n margin: 0 1rem 0 0;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n ${CssRule.For.mobile.build()} & {\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.dailyJackpot.toString()}\")\r\n }\r\n\r\n .${EXCLUSIVES_LIST_ICON} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.exclusive.toString()}\")\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\n\r\nexport const ListTitleIconWsopCipBox = styled(ListTitleIconDefaultBox)`\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.miniOrbit.gamesListTitleOverride.dailyJackpot.toString()}\");\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const ListTitleIconCisBox = styled.span``;","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {ListTitleIconWsopCipBox} from \"./list-title-icon.wsop.cip.box\";\r\nimport {ListTitleIconCisBox} from \"./list-title-icon.cis.box\";\r\n\r\nexport const ListTitleIconBox = styledByTheme(ListTitleIconDefaultBox)\r\n .forCis(ListTitleIconCisBox)\r\n .forWsopCip(ListTitleIconWsopCipBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div<{isClickable?: boolean}>`\r\n cursor: ${({isClickable}) => isClickable ? \"pointer\" : \"default\"};\r\n\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n`;\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget.default.box';\r\nimport {styledByTheme} from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const JackpotWidgetBox = styledByTheme(JackpotWidgetDefaultBox).apply();","import styled, {css} from 'styled-components';\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\nimport {OrbitTheme} from '../../../../themes/architecture/orbit-theme.interface';\r\n\r\nexport interface IJackpotWidgetBgBoxProps {\r\n jackpotType: JackpotType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n shouldRenderSkeleton?: boolean;\r\n}\r\n\r\nconst handleBackgroundImage = (props: IJackpotWidgetBgBoxProps, theme: OrbitTheme) => {\r\n if (props.shouldRenderSkeleton) {\r\n return 'none';\r\n }\r\n if (\r\n (props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE || props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE) &&\r\n theme.images.jackpotWidget.byType[props.jackpotType].landscape?.background\r\n ) {\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].landscape.background.toString() + ')';\r\n }\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].background.toString() + ')';\r\n}\r\n\r\nexport const JackpotWidgetBgBox = styled.div`\r\n background-image: ${props => handleBackgroundImage(props, props.theme) };\r\n background-size: cover;\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n width: 100%;\r\n height: 100%;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n\r\n border-radius: 10px;\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n flex-direction: row;\r\n align-items: center;\r\n `}\r\n\r\n animation: JackpotBackgroundLoadingAnimation 1.5s linear infinite;\r\n\r\n @keyframes JackpotBackgroundLoadingAnimation {\r\n 0% {\r\n background-color: #000000;\r\n }\r\n 50% {\r\n background-color: #171717;\r\n }\r\n 100% {\r\n background-color: #000000;\r\n }\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\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 text-transform: capitalize;\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 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 return this.props.layout || JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n render() {\r\n if (!this.props.widgetConfig || !this.props.widgetConfig.display) {\r\n return null;\r\n }\r\n\r\n const jackpotId = String(this.props.widgetConfig.jackpotId ?? JackpotInternalId.Daily);\r\n const jackpotType: JackpotType = this.props.widgetConfig.jackpotType ?? JackpotType.Daily;\r\n\r\n const jackpotHandler: IJackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n const jackpotData = (jackpotHandler?.jackpotData || {}) as IJackpotData;\r\n\r\n if (!this._shouldRenderSkeleton) {\r\n jackpotHandler.startGradual(jackpotData);\r\n }\r\n\r\n const {jackpotState, lastWinAmount} = jackpotData || {};\r\n\r\n const WrapperBox = this.props.WrapperBox || React.Fragment;\r\n\r\n const layout = this._getJackpotWidgetLayout();\r\n\r\n const themeType = this.services.jackpots.getThemeType(jackpotType);\r\n\r\n const isDailyJPWidget = this.props.widgetConfig.jackpotType === JackpotType.Daily;\r\n\r\n let amountDisplayed = jackpotState === JACKPOT_STATE.Cold ?\r\n this.services.currency.formatMoney(lastWinAmount) :\r\n this.services.currency.formatMoney(jackpotHandler?.jackpotAmount);\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 {amountDisplayed}\r\n \r\n \r\n \r\n \r\n { jackpotData.jackpotState ?\r\n (jackpotState === JACKPOT_STATE.Cold ?\r\n <>\r\n \r\n {this.services.translation.translate('JACKPOT-WIDGET-NEXT-JACKPOT')}\r\n \r\n\r\n \r\n {this.services.currency.formatMoney(jackpotHandler.jackpotAmount)}\r\n \r\n :\r\n <>\r\n \r\n {this.services.translation.translate(this._getCountDownTimerTranslationKey(jackpotState))}\r\n \r\n \r\n \r\n ) : }\r\n \r\n }\r\n \r\n \r\n \r\n ;\r\n }\r\n};\r\n","import styled from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetAspectRatioBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nconst handlePaddingTop = (layout: JACKPOT_WIDGET_LAYOUT) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n return \"58%\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n return \"25%\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n return \"123%\";\r\n }\r\n};\r\n\r\nexport const JackpotWidgetAspectRatioBox = styled.div`\r\n position: relative;\r\n padding-top: ${({layout}) => handlePaddingTop(layout)};\r\n transition: padding-top 0.5s ease-in-out;\r\n`;\r\n","import styled, {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\n\r\nexport const SpacerBox = styled.div<{height: string}>`\r\n height: ${({height}) => height};\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 {GeneralTitleDefaultBox} from './general-title.default.box';\r\nimport {GeneralTitleCasino777Box} from './general-title.casino777.box';\r\nimport {GeneralTitleCasinoSIBox} from './general-title.si.box';\r\nimport {styledByTheme} from '../../themes/architecture/styled-by-theme';\r\n\r\nexport const GeneralTitleBox = styledByTheme(GeneralTitleDefaultBox)\r\n .forCasino777(GeneralTitleCasino777Box)\r\n .forSI(GeneralTitleCasinoSIBox)\r\n .apply();\r\n\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleBox} from '../../../../basic-components/general-title/general-title.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\n\r\nexport const ListTitleTextDefaultBox = styled(GeneralTitleBox)`\r\n letter-spacing: 0.2rem;\r\n display: flex;\r\n align-items: center;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n border-left: 2px solid ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.redTigerJackpot};\r\n border-left: 2px solid #ff014f;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.6rem;\r\n padding-bottom: 0.6rem;\r\n padding-right: 0.1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\n\r\nexport const ListTitleTextCasino777Box = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextCipBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n`;","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\n\r\nexport const ListTitleTextCisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n background: none;\r\n border-left: none;\r\n padding: 0 0;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from '../../constants';\r\n\r\nexport const ListTitleTextSiBox = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n \r\n background-image: linear-gradient(to right, ${props => props.theme.colors.background} 0%, ${props => props.theme.colors.background} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: transparent;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\n\r\nexport const ListTitleTextMrGreenBox = styled(ListTitleTextDefaultBox)`\r\n background: none;\r\n border-left: 0;\r\n\r\n /* This is done to keep the alignment between the list title and the first game in the list */\r\n padding-left: calc(max(0px, 100% / 7 - 21rem) / 2);\r\n .${HOME_PAGE} & {\r\n padding-left: calc(max(0px, 100% / 6 - 21rem) / 2);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 10px;\r\n .${HOME_PAGE} & {\r\n padding-left: 10px;\r\n }\r\n }\r\n\r\n font-size: 2.4rem;\r\n letter-spacing: normal;\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: 1.6rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 0;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 0;\r\n }\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from \"../../constants\";\r\nimport { ListTitleTextDefaultBox } from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextSICisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.medium};\r\n \r\n letter-spacing: 0.56px;\r\n font-size: 14px;\r\n background-image: linear-gradient(to right, ${props => props.theme.colors.backgroundContrast} 0%, ${props => props.theme.colors.backgroundContrast} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n\r\n border-left: none;\r\n \r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {ListTitleTextCasino777Box} from './list-title-text.casino777.box';\r\nimport {ListTitleTextCipBox} from \"./list-title-text.cip.box\";\r\nimport {ListTitleTextCisBox} from \"./list-title-text.cis.box\";\r\nimport {ListTitleTextSiBox} from \"./list-title-text.si.box\";\r\nimport {ListTitleTextMrGreenBox} from \"./list-title-text.mrgreen.box\";\r\nimport { ListTitleTextSICisBox } from './list-title-text.siCis.box';\r\n\r\nexport const ListTitleTextBox = styledByTheme(ListTitleTextDefaultBox)\r\n .forCip(ListTitleTextCipBox)\r\n .forWsopCip(ListTitleTextCipBox)\r\n .forCis(ListTitleTextCisBox)\r\n .forCasino777(ListTitleTextCasino777Box)\r\n .forSI(ListTitleTextSiBox)\r\n .forSICis(ListTitleTextSICisBox)\r\n .forMrGreen(ListTitleTextMrGreenBox)\r\n .forMrGreenCis(ListTitleTextMrGreenBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const ListTitleDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n padding: 0.3rem 1.5rem;\r\n &:before {\r\n content: \"\";\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n opacity:0.5;\r\n background-repeat: no-repeat;\r\n background-position: 50% 0;\r\n background-size: contain;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 35rem;\r\n width: 100%;\r\n z-index: -1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25rem;\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleCasino777Box = styled(ListTitleDefaultBox)`\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleMrGreenBox = styled(ListTitleDefaultBox)`\r\n padding-left: 0;\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCipBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCisBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n \r\n border-top: 1.5px solid ${props => props.theme.colors.brandPrimary};\r\n background-color: ${props => props.theme.colors.background};\r\n`;\r\n","import styled from 'styled-components';\r\nimport { baseColors } from '../../../../themes/definitions/si/cis/base-colors';\r\nimport { ListTitleCisBox } from './list-title.cis.box';\r\n\r\nexport const ListTitleSICisBox = styled(ListTitleCisBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n z-index: 2;\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\nimport {ListTitleCasino777Box} from './list-title.casino777.box';\r\nimport {ListTitleMrGreenBox} from './list-title.mrgreen.box';\r\nimport {ListTitleCipBox} from './list-title.cip.box';\r\nimport {ListTitleCisBox} from \"./list-title.cis.box\";\r\nimport { ListTitleSICisBox } from './list-title.siCis.box';\r\n\r\nexport const ListTitleBox = styledByTheme(ListTitleDefaultBox)\r\n .forCasino777(ListTitleCasino777Box)\r\n .forCip(ListTitleCipBox)\r\n .forWsopCip(ListTitleCipBox)\r\n .forCis(ListTitleCisBox)\r\n .forSICis(ListTitleSICisBox)\r\n .forMrGreen(ListTitleMrGreenBox)\r\n .apply();","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {FlexGrowItemBox} from '../../themes/architecture/css-helpers/flex';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {ListTitleBox} from './boxes/list-title/list-title.box';\r\n\r\nexport interface GameListTitleComponentProps extends PropsWithChildren {\r\n className?: string;\r\n title: React.ReactElement;\r\n}\r\n\r\nexport const GameListTitleComponent = observer(\r\n class GameListTitleComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const cssClasses = classNames('cy-games-list-title', this.props.className);\r\n\r\n return (\r\n \r\n {this.props.title}\r\n {this.services.mediaQuery.mAndAbove ? : null}\r\n {this.props.children}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\nexport const SwiperButtonsDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin: 0 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\n\r\nexport const SwiperButtonsCasino777Box = styled(SwiperButtonsDefaultBox)`\r\n right:.8rem;\r\n`;","import {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\nimport {SwiperButtonsCasino777Box} from './swiper-buttons.casino777.box';\r\n\r\nexport const SwiperButtonsBox = styledByTheme(SwiperButtonsDefaultBox).forCasino777(SwiperButtonsCasino777Box).apply();","import styled, { css } from \"styled-components\";\r\n\r\nexport const SwiperButtonBox = styled.div<{isTouchDevice?: boolean}>`\r\n margin: 0 0.5rem;\r\n\r\n ${({isTouchDevice}) => isTouchDevice ? css`\r\n display: none;\r\n ` : null}\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SwiperButtonsBox} from './boxes/wrapper/swiper-buttons.box';\r\nimport {SwiperButtonBox} from './boxes/button/swiper-button.box';\r\nimport { Button } from '../../../basic-ui-components/button/base/button.component';\r\nimport {ISwipeLogicHandler} from \"../../../services/arenas/models/swiper-logic-handler/swiper-logic-handler.interface\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\n\r\nexport interface OrbitSwiperButtonsProps {\r\n analyticsAction: string;\r\n swiper: ISwipeLogicHandler;\r\n seeAllButtonUrl: string;\r\n seoCategory: string;\r\n}\r\n\r\n\r\n\r\nexport const OrbitSwiperButtons = observer(class OrbitSwiperButtons extends OrbitComponent {\r\n\r\n\r\n private onSwiperButtonPrevClick = () => {\r\n this.props.swiper.movePrevious();\r\n };\r\n\r\n private onSwiperButtonNextClick = () => {\r\n this.props.swiper.moveNext();\r\n };\r\n\r\n private _renderMoveNextAndPreviousButtons() {\r\n\r\n if (!this.props.swiper.allowNext && !this.props.swiper.allowPrevious) {\r\n return null;\r\n }\r\n\r\n const isTouchDevice = this.services.device.feature.isTouch; // device has touch\r\n\r\n return (<>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n\r\n }\r\n\r\n private seeAllClickHandler = () => {\r\n this.services.analytics.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 return \r\n \r\n {this.services.translation.translate('SEE_ALL')}\r\n \r\n ;\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderMoveNextAndPreviousButtons()}\r\n {this._renderSeeAllButton()}\r\n \r\n );\r\n }\r\n});\r\n\r\n\r\n","import { action, computed, observable, makeObservable } from 'mobx';\r\nimport { DomEventSubscription } from '../../../../../utils/event-listener-registration';\r\nimport {IServiceFactory} from '../../../service-factory.interface';\r\nimport {IGamesListViewModel} from \"../lists/games-list-view-model.interface\";\r\nimport {ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\n\r\nexport class SwipeLogicHandler implements ISwipeLogicHandler {\r\n private _resizeEventHandler: DomEventSubscription;\r\n\r\n constructor(private services: IServiceFactory,\r\n private readonly _gamesListViewModel: IGamesListViewModel) {\r\n makeObservable(this);\r\n\r\n this._isRTLLanguage = this.services.language.isRTLLanguage;\r\n }\r\n\r\n @observable.ref\r\n private _element: HTMLElement = null;\r\n\r\n @observable.ref\r\n private _currentTranslateAmount: number = 0;\r\n\r\n @action.bound\r\n setElement(element: HTMLElement) {\r\n this._unsubscribe();\r\n if(element) {\r\n this._element = element;\r\n this._setScrollWidth(element.scrollWidth);\r\n this._currentTranslateAmount = this.services.window.getElementHorizontalTranslationAmount(this._element as Element);\r\n this._subscribe();\r\n } else {\r\n this.resetScrollPosition();\r\n this._element = null;\r\n }\r\n }\r\n\r\n @action.bound\r\n resetScrollPosition() {\r\n this._currentTranslateAmount = 0;\r\n if (this._element) {\r\n this._element['style'].transform = `translate3d(0px, 0, 0)`;\r\n }\r\n }\r\n\r\n updateScrollWidth() {\r\n if (this._element) {\r\n this._setScrollWidth(this._element.scrollWidth);\r\n }\r\n }\r\n\r\n private _subscribe() {\r\n this._resizeEventHandler = this.services.window.subscribeTo.resize(() => {\r\n this.updateScrollWidth();\r\n });\r\n\r\n if(this.services.device.isMobile && this._element) {\r\n this._element.addEventListener(\"scroll\", this._onMobileSwipe);\r\n }\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._resizeEventHandler) {\r\n this._resizeEventHandler.dispose();\r\n }\r\n\r\n if(this.services.device.isMobile && this._element) {\r\n this._element.removeEventListener(\"scroll\", this._onMobileSwipe);\r\n }\r\n }\r\n\r\n private readonly _isRTLLanguage : boolean;\r\n\r\n\r\n @computed\r\n get allowPrevious(): boolean {\r\n if (this._element) {\r\n return Math.abs(this._currentTranslateAmount) >= 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowNext(): boolean {\r\n if (this._element) {\r\n return Math.abs(this._currentTranslateAmount) < this._maximumTranslationAmount - 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private get _width(): number {\r\n return this.services.window.getElementWidth(this._element);\r\n }\r\n\r\n\r\n @action.bound\r\n private _setScrollWidth(value: number): void {\r\n this._scrollWidth = value;\r\n }\r\n\r\n @observable.ref\r\n private _scrollWidth = 0;\r\n\r\n\r\n @computed\r\n private get _maximumTranslationAmount(): number {\r\n if(this._element) {\r\n return this._scrollWidth - this._width;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private _isSwiperOnTheMove = false;\r\n\r\n @action.bound\r\n private _slide(computeIncrement: (absoluteCurrentTranslationAmount: number) => number) {\r\n if(this._isSwiperOnTheMove) {\r\n return;\r\n }\r\n\r\n this._isSwiperOnTheMove = true;\r\n\r\n try {\r\n let currentTranslateAmount = this.services.window.getElementHorizontalTranslationAmount(this._element);\r\n let increment = computeIncrement(Math.abs(currentTranslateAmount));\r\n\r\n if(this._isRTLLanguage) {\r\n increment = -1 * increment;\r\n }\r\n\r\n let translateAmount = currentTranslateAmount + increment;\r\n\r\n this._element['style'].transform = `translate3d(${translateAmount}px, 0, 0)`;\r\n this._currentTranslateAmount = translateAmount;\r\n\r\n this._sendAnalytics();\r\n } finally {\r\n this._isSwiperOnTheMove = false;\r\n }\r\n }\r\n\r\n private _sendAnalytics() {\r\n this.services.analytics.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 { useServices } from '../../react-hooks/use-services.hook';\r\nimport { TitanJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/titan-jackpot-widget.configuration';\r\nimport { LottiePlayer } from '../lottie-player/lottie-player.component';\r\nimport { AnimationItem } from 'lottie-web';\r\n\r\nconst ENTER_FRAME_EVENT_NAME = 'enterFrame';\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 lottie = 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 setLottieInstance = (instance: AnimationItem): void => {\r\n if (lottie.current) {\r\n lottie.current.removeEventListener(ENTER_FRAME_EVENT_NAME, handleEnterFrame);\r\n }\r\n\r\n if (!instance) {\r\n return;\r\n }\r\n\r\n lottie.current = instance;\r\n lottie.current.addEventListener(ENTER_FRAME_EVENT_NAME, handleEnterFrame);\r\n };\r\n\r\n const handleEnterFrame = (e): void => {\r\n if (Math.round(lottie.current.currentFrame) === ANIMATION_FRAME_STOPS[getTitanJackpotIndex()]) {\r\n lottie.current.pause();\r\n\r\n services.titanJackpot.updateJackpotHandler(getCurrentJackpotId());\r\n\r\n setTimeout(() => {\r\n lottie.current.play();\r\n }, ANIMATION_PAUSE_INTERVAL);\r\n\r\n updateAnimationCounter();\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 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 {StaticSwiperListModel} from \"../static-swiper/static-swiper-list.model\";\r\n\r\nexport class LiveCasinoListModel extends StaticSwiperListModel {\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n gameTypes = super._applyGameTypesTransformations(gameTypes);\r\n return this.services.liveTableFeeds.moveGamesThatOpenSoonToTheEnd(gameTypes);\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface BecauseYouPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const BecauseYouPlayedComponent = observer(\r\n class BecauseYouPlayedComponent extends OrbitComponent {\r\n \r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => this.services.runningGame.correlatedGamesForLastPlayedRealGame,\r\n (correlatedGames) => {\r\n this.props.viewModel.swipeLogicHandler.resetScrollPosition();\r\n }\r\n );\r\n }\r\n \r\n render() {\r\n const viewModel = this.props.viewModel;\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { BecauseYouPlayedComponent } from \"../../../../../components/because-you-played/because-you-played.component\";\r\nimport { SwiperGamesListConfiguration } from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { IArenaToGamesListAdapter } from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class BecauseYouPlayedPlayedListModel extends ApiListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n this.services.runningGame.listenForLastPlayedRealGame();\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() &&\r\n this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n const lastPlayedGames = this.services.becauseYouPlayed.currentBecauseYouPlayedGames[0];\r\n if (lastPlayedGames) {\r\n return {\r\n gameName: lastPlayedGames.title\r\n }\r\n }\r\n\r\n return super._getTitleTranslationParams();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.becauseYouPlayed.currentBecauseYouPlayedGames.map(gInfo => gInfo.gameType);\r\n }\r\n\r\n\r\n\r\n protected _renderList(listPosition: number): React.ReactElement> {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {LiveStreamingListTitleDefaultBox} from \"./live-streaming-list-title.default.box\";\r\n\r\nexport const LiveStreamingListTitleBox = LiveStreamingListTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingListTitleDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {LiveStreamingTitleIconDefaultBox} from \"./live-streaming-title-icon.default.box\";\r\n\r\nexport const LiveStreamingTitleIconBox = LiveStreamingTitleIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingTitleIconDefaultBox = styled.div`\r\n padding: 0 4px;\r\n margin-right: 1rem;\r\n border-radius: 2px;\r\n letter-spacing: 0;\r\n\r\n color: ${({theme}) => theme.colors.background.toString()};\r\n background: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n\r\n animation: FlashingAnimation 2s ease infinite;\r\n\r\n @keyframes FlashingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.25;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import {IServiceFactory} from \"../../../service-factory.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {ISwipeLogicHandlerMoveNextOptions, ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ISwiperListViewModel} from \"../lists/swiper-list-view-model.interface\";\r\n\r\nexport class LiveStreamSwipeLogicHandler implements ISwipeLogicHandler {\r\n\r\n private _element: HTMLElement = null;\r\n private _touchStartX = 0;\r\n private _swipeDirection = 0;\r\n private _touchDragThreshold = 25;\r\n private _swipeTransitionCss = \"transform 0.5s ease-in-out\";\r\n\r\n constructor(private readonly _services: IServiceFactory, private readonly _gamesListViewModel: ISwiperListViewModel) {\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n allowNext: boolean = true;\r\n @observable.ref\r\n allowPrevious: boolean = true;\r\n\r\n private _subscribe() {\r\n this._unsubscribe();\r\n this._element.addEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.addEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.addEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._element) {\r\n this._element.removeEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.removeEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.removeEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n }\r\n\r\n private _handleTouchStart = (event: TouchEvent) => {\r\n this._touchStartX = event.changedTouches[0].clientX;\r\n }\r\n\r\n private _handleTouchEnd = (event: TouchEvent) => {\r\n\r\n const dragDistance = Math.abs(event.changedTouches[0].clientX - this._touchStartX);\r\n\r\n if (dragDistance < this._touchDragThreshold) return;\r\n\r\n if (event.changedTouches[0].clientX < this._touchStartX) {\r\n this.moveNext();\r\n } else {\r\n this.movePrevious();\r\n }\r\n }\r\n\r\n private _handleTransitionEnd = (event: TransitionEvent) => {\r\n\r\n /** this._element is the swiper element and\r\n * if any element inside has any kind of transitions on their transform css property...\r\n * their \"transitionend\" events will also be catched here\r\n * So we check the event target because\r\n * we want to run this handler only for events that have this._element as target */\r\n if (event.propertyName === \"transform\" && event.target === this._element) {\r\n\r\n if (this._swipeDirection < 0) {\r\n\r\n this._element.append(this._element.firstElementChild);\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n this._setIsNavigationAllowed(true);\r\n }\r\n };\r\n\r\n @action.bound\r\n private _setIsNavigationAllowed(allowed: boolean) {\r\n this.allowNext = allowed;\r\n this.allowPrevious = allowed;\r\n }\r\n\r\n setElement(element: HTMLElement): void {\r\n if (element) {\r\n this._element = element;\r\n this._element.style.overflow = \"initial\";\r\n this._subscribe();\r\n } else {\r\n this._element = null;\r\n this._unsubscribe();\r\n }\r\n }\r\n\r\n moveNext(options?: ISwipeLogicHandlerMoveNextOptions): void {\r\n\r\n if (!this.allowNext) return;\r\n\r\n options = {\r\n moveOnVideoFinished: false,\r\n ...options\r\n };\r\n\r\n this._reportSwipeToAnalytics(true, options.moveOnVideoFinished);\r\n\r\n this._swipeDirection = -1;\r\n this._element.style.transition = this._swipeTransitionCss;\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n this._setIsNavigationAllowed(false);\r\n }\r\n\r\n movePrevious(): void {\r\n\r\n if (!this.allowPrevious) return;\r\n\r\n this._reportSwipeToAnalytics(false);\r\n\r\n this._swipeDirection = 1;\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.prepend(this._element.lastElementChild);\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n\r\n this._setIsNavigationAllowed(false);\r\n\r\n requestAnimationFrame(() => {\r\n this._element.style.transition = this._swipeTransitionCss;\r\n this._element.style.transform = \"translateX(0)\";\r\n });\r\n }\r\n\r\n resetScrollPosition(): void {\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n private _currentGameIndex: NullableNumber = null;\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._currentGameIndex = gameIndex;\r\n }\r\n\r\n private _reportSwipeToAnalytics(swipeToLeft:boolean, isAutoSwipe:boolean=false): void {\r\n try {\r\n\r\n if(Check.isNullOrUndefined(this._currentGameIndex)) {\r\n return;\r\n }\r\n\r\n let nextGame;\r\n if(swipeToLeft === true){\r\n nextGame = (this._currentGameIndex + 1) % this._gamesListViewModel.gameTypes.length;\r\n }\r\n else {\r\n nextGame = (this._currentGameIndex>0) ? (this._currentGameIndex-1) : (this._gamesListViewModel.gameTypes.length-1);\r\n }\r\n\r\n let swipeFromGameId = this._gamesListViewModel.gameTypes[this._currentGameIndex];\r\n\r\n this._services.analytics.sendElasticInfoEvent({\r\n eventType:\"CGP_GENERIC_EVENT\",\r\n category: this._gamesListViewModel.arenaName,\r\n label: 'SWIPE',\r\n action: \"LIVE_CASINO_VIDEO\",\r\n customData: {\r\n swipeFromGameId:swipeFromGameId,\r\n swipeFromGameIndex:this._currentGameIndex,\r\n swipeToGameId:this._gamesListViewModel.gameTypes[nextGame],\r\n isAutoSwipe:isAutoSwipe\r\n }\r\n }, true);\r\n }\r\n catch (err){\r\n console.log(\"SWIPE analytics report failed : \" + err);\r\n }\r\n }\r\n\r\n}\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface LiveStreamingNavigationProps {\r\n isActive: boolean;\r\n}\r\n\r\nconst LiveStreamingNavigationCommonBox = styled.div`\r\n position: absolute;\r\n top: 35%;\r\n width: 3rem;\r\n height: 3rem;\r\n opacity: ${({isActive}) => isActive ? \"1\" : \"0.25\"};\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* So ... height is 100 * 0.7 */\r\n height: 70%;\r\n /* top is 100 * (1-0.7) / 2 */\r\n top: 15%;\r\n /* 23.331 is 33.33*0.7 */\r\n width: 23.331%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationPrevButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n left: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* left is 33.33*(1-0.7)/2 */\r\n left: 5%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationNextButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n right: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* right is 33.33*(1-0.7)/2 */\r\n right: 5%;\r\n }\r\n`;\r\n\r\nconst VideoCutCommonBox = styled.div`\r\n position: absolute;\r\n height: 80%;\r\n width: 2px;\r\n top: 10%;\r\n`;\r\n\r\nexport const VideoListLeftCutDefaultBox = styled(VideoCutCommonBox)`\r\n left: 8%;\r\n margin-left: -6px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n left: unset;\r\n margin-left: 0px;\r\n right: 8%;\r\n margin-right: 6px;\r\n }\r\n`;\r\nexport const VideoListRightCutDefaultBox = styled(VideoCutCommonBox)`\r\n right: 8%;\r\n margin-right: 11px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: unset;\r\n margin-right: 0px;\r\n left: 8%;\r\n margin-left: -11px;\r\n }\r\n`;\r\n","import {VideoListNavigationPrevButtonDefaultBox, VideoListNavigationNextButtonDefaultBox, VideoListLeftCutDefaultBox, VideoListRightCutDefaultBox} from \"./video-navigation.default.box\";\r\n\r\nexport const VideoListNavigationPrevButtonBox = VideoListNavigationPrevButtonDefaultBox;\r\nexport const VideoListNavigationNextButtonBox = VideoListNavigationNextButtonDefaultBox;\r\n\r\nexport const VideoListLeftCutBox = VideoListLeftCutDefaultBox;\r\nexport const VideoListRightCutBox = VideoListRightCutDefaultBox;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {IVideoListViewModel} from \"../../services/arenas/models/lists/video-list/video-list-view-model.interface\";\r\n\r\n\r\ninterface VideoListComponentProps {\r\n viewModel: IVideoListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const VideoListComponent = observer(class VideoListComponent extends OrbitComponent {\r\n\r\n // For static video list we need to know the final gametype(from UI perspective)\r\n // For the final gametype, once video finishes, we don't auto swipe to the next one(= first one).\r\n private _getLastGameType(): number {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n let index = this.services.mediaQuery.xlAndAbove ? 0 : (gameTypes.length - 1);\r\n return gameTypes[index];\r\n }\r\n\r\n private _onGameBringInCentralView = (gameIndex: number) => {\r\n this.props.viewModel.setCurrentGameIndex(gameIndex);\r\n }\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {LiveStreamSwipeLogicHandler} from \"../../swiper-logic-handler/live-stream-swipe-logic-handler\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport React from \"react\";\r\nimport {\r\n VideoListLeftCutBox, VideoListNavigationNextButtonBox,\r\n VideoListNavigationPrevButtonBox, VideoListRightCutBox\r\n} from \"../../../../../components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box\";\r\nimport {VideoListComponent} from \"../../../../../components/video-list-component/video-list.component\";\r\nimport {IVideoListViewModel} from \"./video-list-view-model.interface\";\r\n\r\nexport abstract class DefaultVideoListModel extends SwiperListBaseModel implements IVideoListViewModel {\r\n protected _swipeLogicHandler: LiveStreamSwipeLogicHandler = new LiveStreamSwipeLogicHandler(this.services, this);\r\n\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getGameTypesOffsetFromLocalStorage(): number {\r\n let storedValue = this.services.localStorage.getItem(this._offsetStorageKey);\r\n\r\n return Check.isNullOrUndefined(storedValue) ? 0 : parseInt(storedValue);\r\n }\r\n\r\n protected _offsetStorageKey: string = 'orbit-video-list-gametype-offset' + this.listConfiguration.listId;\r\n\r\n /**\r\n * This must be static. Because the ListFactory.createSwiper will be called several times, and that will create a new instance of this class.\r\n * (For every live casino video list and every time the list changes and maybe when the ai changes the list sorting)\r\n * So if this is not \"static\" at every instance creation _gameTypesOffset will be initialized with \"undefined\"\r\n * and when calling _getGameTypes the cycling will run again for every new instance.\r\n * And we want to do this only once after page load\r\n */\r\n protected static _gameTypesOffsets: Record = {};\r\n\r\n protected _cycleGamesAndIncrementOffset(baseArray: number[]) {\r\n if(Check.isNullOrUndefined(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey])) {\r\n DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] = this._getGameTypesOffsetFromLocalStorage();\r\n let newOffset = (DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] + 1) % (this.listConfiguration.gamesId.length);\r\n this.services.localStorage.setItem(this._offsetStorageKey, newOffset);\r\n }\r\n\r\n return baseArray.splice(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey]).concat(baseArray);\r\n }\r\n\r\n get gameTypes(): number[] {\r\n // gameTypes is a getter and in javascript I cannot call \"super.gameTypes\"\r\n let gTypes = this._applyGameTypesTransformations(this._getGameTypes());\r\n\r\n if (this.services.mediaQuery.xlAndAbove && gTypes.length > 2) {\r\n let lastGame = gTypes.pop();\r\n gTypes.unshift(lastGame);\r\n }\r\n return gTypes;\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n\r\n const PrevIcon = this.services.theme.currentTheme.icons.leftArrowIcon;\r\n const NextIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n\r\n return (\r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n this.swipeLogicHandler.movePrevious()}>\r\n \r\n \r\n this.swipeLogicHandler.moveNext()}>\r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._swipeLogicHandler.setCurrentGameIndex(gameIndex);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveStreamingListTitleBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box\";\r\nimport {LiveStreamingTitleIconBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box\";\r\nimport {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport class LiveStreamingVideoListModel extends DefaultVideoListModel {\r\n\r\n get templateType(): string {\r\n return LIVE_STREAMING_ITEM;\r\n }\r\n\r\n private _isLiveStreamDisabled = () => {\r\n // live stream should be rendered on mobile only, excepting CIP8, if is enable from AB and\r\n // if user is authorized or if is not authorized only if is not disabled prelogin\r\n return this.services.miniOrbit.isEnabled ||\r\n !this.services.abTestingFeatureDataProvider.isVideoLiveStreamEnabled ||\r\n this.services.liveStreamPlaying.isDisabledPrelogin\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isLiveStreamDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 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 LIVE\r\n );\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n }\r\n\r\n}\r\n","\r\nexport interface IUserGameOrientationService {\r\n readonly gameGroup: IUserGameOrientation;\r\n}\r\n\r\nexport enum GAME_ORIENTATION_IDS{\r\n SLOTS = 5003,\r\n BLACKJACK = 5001,\r\n ROULETTE = 5002,\r\n LIVE_BLACKJACK = 5009,\r\n LIVE_ROULETTE = 5010,\r\n LIVE_CASINO = 6003,\r\n CASINO_SKILL = 6001,\r\n CASINO_SOFT = 6002,\r\n CASINO_MIXT = 8001\r\n}\r\n\r\nexport interface IUserGameOrientation{\r\n groupId?: number;\r\n groupName: string;\r\n}","import {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {STATIC_VIDEO_ITEM} from \"../../../../../themes/css-global-classes\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\n\r\nexport class StaticVideoListModel extends DefaultVideoListModel {\r\n\r\n constructor(listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n\r\n this.services.staticVideoPlaying.setSwiperHandler(this.swipeLogicHandler);\r\n }\r\n\r\n get templateType(): string {\r\n return STATIC_VIDEO_ITEM;\r\n }\r\n\r\n private _isStaticVideoListDisabled = () => {\r\n return (\r\n this.services.miniOrbit.isEnabled ||\r\n this.services.staticVideoPlaying.isDisabledPrelogin ||\r\n !this.services.abTestingFeatureDataProvider.isStaticVideoListEnabled\r\n );\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isStaticVideoListDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 4;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n return gameTypes;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n return 1;\r\n }\r\n}\r\n","import {\r\n ApiListType, ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesListModel} from \"./games-list-model.interface\";\r\nimport {RecentlyPlayedListModel} from \"./recently-played/recently-played-list.model\";\r\nimport {TopPicksListModel} from \"./top-picks/top-picks-list.model\";\r\nimport {NewGamesListModel} from \"./new-games/new-games-list.model\";\r\nimport {PlayersLikeYouListModel} from \"./players-like-you/players-like-you-list.model\";\r\nimport {StaticSwiperListModel} from \"./static-swiper/static-swiper-list.model\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {GamesGridListModel} from \"./games-grid/games-grid-list.model\";\r\nimport {LiveCasinoListModel} from \"./live-casino/live-casino-list.model\";\r\nimport {LIVE_CASINO_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport { BecauseYouPlayedPlayedListModel } from \"./because-you-played/because-you-played-list.model\";\r\nimport {LiveStreamingVideoListModel} from \"./video-list/live-streaming-video-list.model\";\r\nimport {StaticVideoListModel} from \"./video-list/static-video-list.model\";\r\n\r\n\r\nexport class ListFactory {\r\n\r\n constructor(private readonly arena: IArenaToGamesListAdapter) {\r\n }\r\n createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n\r\n\r\n if(swiperConfig.templateType === LIVE_CASINO_ITEM) {\r\n return new LiveCasinoListModel(swiperConfig, this.arena);\r\n }\r\n\r\n switch (swiperConfig.apiListType) {\r\n case ApiListType.RECENTLY_PLAYED:\r\n return new RecentlyPlayedListModel(swiperConfig, this.arena);\r\n case ApiListType.TOP_PICKS:\r\n return new TopPicksListModel(swiperConfig, this.arena);\r\n case ApiListType.NEW_GAMES:\r\n return new NewGamesListModel(swiperConfig, this.arena);\r\n case ApiListType.PLAYERS_LIKE_YOU:\r\n return new PlayersLikeYouListModel(swiperConfig, this.arena);\r\n case ApiListType.LIVE_CASINO_VIDEO: // maybe rename this to LIVE_STREAMING_VIDEO,but it'd also need admin updated\r\n return new LiveStreamingVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.STATIC_VIDEO:\r\n return new StaticVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.BECAUSE_YOU_PLAYED:\r\n return new BecauseYouPlayedPlayedListModel(swiperConfig, this.arena);\r\n\r\n default:\r\n return new StaticSwiperListModel(swiperConfig, this.arena);\r\n\r\n }\r\n }\r\n\r\n createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return new GamesGridListModel(gridConfig, this.arena);\r\n }\r\n}\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"./arena-view-model.interface\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { action, computed, observable, reaction, makeObservable } from \"mobx\";\r\nimport {IArenaToGamesListAdapter} from \"./arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../lists/games-list-model.interface\";\r\nimport React from \"react\";\r\nimport {ListFactory} from \"../lists/list-factory\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ListsSortOrderStorage} from \"../lists-sort-order-storage\";\r\nimport {IGamesListRenderer} from \"../lists/games-list-renderer.interface\";\r\nimport {BannerComponent} from \"../../../../components/banner/banner.component\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../games-filter/strategies/games-filter-strategy.interface\";\r\n\r\nexport type BannerConfig = {position: number; templateID: string; componentID: string; fallbackComponent: string, bannerAdminPlaceholderId: string};\r\n\r\nexport abstract class ArenaBaseModel implements IArenaToGamesListAdapter, IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n public readonly services: IServiceFactoryExtended,\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n makeObservable(this);\r\n\r\n this._listFactory = new ListFactory(this);\r\n\r\n reaction(() => [this.services.user.isAuthorized, this.services.routing.currentRoute],\r\n async () => {\r\n await this._updateAIEngineSwipersSortOrder();\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _listFactory: ListFactory;\r\n abstract get maxSwipersToShow(): number;\r\n abstract get maxGamesToShowInList(): number;\r\n protected abstract _getSwipersConfigurations(): SwiperGamesListConfiguration[];\r\n protected abstract _getGridsConfigurations(): ArenaGamesGridConfiguration[];\r\n protected abstract _getPromotionalBannerConfig(): BannerConfig | null;\r\n abstract renderArena(): React.ReactElement | null;\r\n abstract filterGamesByArenaType(gameInfos: GameInfo[]): GameInfo[];\r\n abstract get filtersConfigurationMap(): ArenaFiltersConfigurationMap;\r\n abstract getGamesFilteringStrategy(): IGamesFilterStrategy;\r\n\r\n protected get useAdvancedFilters(): boolean {\r\n return this.services.configuration.servicesConfigs.Filters.useAdvancedFilters;\r\n }\r\n\r\n protected get _isUsingExternalAIForSwipersSorting(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n return null;\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n @observable.ref\r\n private _aiEngineListsSortOrder: Record = null;\r\n\r\n @action.bound\r\n private _setAiEngineListsSortOrder(value: Record): void {\r\n this._aiEngineListsSortOrder = value;\r\n }\r\n private async _updateAIEngineSwipersSortOrder(): Promise {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return;\r\n }\r\n if(this._aiEngineListsSortOrder) {\r\n return;\r\n }\r\n\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n\r\n if(this.services.routing.currentRoute.data?.arenaType === this.arenaName) {\r\n const listsIDs = this._getSwipersConfigurations().filter(sw => !Check.isNullOrUndefined(sw.listId))\r\n .map(sw => sw.listId.toString());\r\n if(listsIDs.length === 0) {\r\n return;\r\n }\r\n\r\n this._setAiEngineListsSortOrder(await this.services.aiEngine.getCasinoRecommendedDynamicListsForPlayer(listsIDs));\r\n }\r\n }\r\n\r\n private _movePreferredSwiperOnTop(swipers: IGamesListModel[]){\r\n const listId = this._getSwiperIdToPutOnTop();\r\n if(Check.isNullOrUndefined(listId)) {\r\n return swipers;\r\n }\r\n const listIndex = swipers.findIndex((list) => list.listId === listId);\r\n if(listIndex > 0){\r\n swipers.splice(0, 0, swipers.splice(listIndex, 1)[0]);\r\n }\r\n return swipers;\r\n }\r\n\r\n\r\n protected _sortSwipersByAI(originalSwipers: IGamesListModel[]): IGamesListModel[] {\r\n const scores = this._aiEngineListsSortOrder;\r\n if(!scores) {\r\n return originalSwipers;\r\n }\r\n\r\n const notForcedInLayoutSortedSwipers = originalSwipers.filter(s => !s.forceInLayout)\r\n .sort((s1, s2) => (scores[s2.listId] || 0) - (scores[s1.listId] || 0));\r\n\r\n let sortedSwipersConfigs: IGamesListModel[] = [];\r\n originalSwipers.forEach(gameList => {\r\n if(gameList.forceInLayout){\r\n sortedSwipersConfigs.push(gameList)\r\n } else{\r\n let mappedGameList = notForcedInLayoutSortedSwipers.shift();\r\n if(mappedGameList) {\r\n sortedSwipersConfigs.push(mappedGameList)\r\n }\r\n }\r\n });\r\n\r\n return sortedSwipersConfigs;\r\n }\r\n\r\n\r\n\r\n @computed\r\n public get allLists(): IGamesListModel[] {\r\n const result = this._createAllLists();\r\n this._sendGameListsAnalytics(result);\r\n return result;\r\n }\r\n\r\n @computed\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n let gameTypes: number[] = [];\r\n this._getGridsConfigurations().forEach(g => {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...g.gamesId\r\n ]\r\n });\r\n\r\n //use Set here to make a list of distinct game types\r\n return [...new Set(gameTypes)].map(gameType => this.services.games.gamesMap[gameType]).filter(gameInfo => gameInfo);\r\n }\r\n\r\n\r\n get filteredGamesCount(): number {\r\n let gameTypes: number[] = [];\r\n\r\n for(let list of this.allLists) {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...list.gameTypes\r\n ]\r\n }\r\n\r\n return [...new Set(gameTypes)].length;\r\n }\r\n\r\n get listsCount(): number {\r\n return this.allLists.length;\r\n }\r\n\r\n protected _createAllLists(): IGamesListModel[] {\r\n return this._appendGrids(\r\n this._limitTheNumberOfSwipers(\r\n this._saveSwipersPostLoginSortOrder(\r\n this._sortSwipersByPostLoginOrder(\r\n this._movePreferredSwiperOnTop(\r\n this._sortSwipersByAI(\r\n this._createSwipers()))))));\r\n }\r\n\r\n private _limitTheNumberOfSwipers(swipers: IGamesListModel[]): IGamesListModel[] {\r\n\r\n if(swipers.length <= this.maxSwipersToShow) {\r\n return swipers;\r\n }\r\n let result: IGamesListModel[] = [];\r\n\r\n let maxNumberOfSwipers = this.maxSwipersToShow;\r\n for(let i = 0; i < swipers.length; i++) {\r\n const list = swipers[i];\r\n if(maxNumberOfSwipers > 0 || list.forceInLayout) {\r\n result.push(list);\r\n }\r\n\r\n if(list.isVisible) {\r\n maxNumberOfSwipers--;\r\n }\r\n\r\n }\r\n\r\n return result;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n let position = listPosition;\r\n\r\n for(let list of this.allLists) {\r\n if(list.isVisible) {\r\n position--;\r\n }\r\n if(position === 0) {\r\n return this._renderListAndBanner(listPosition, list);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderListAndBanner(listPosition: number, list: IGamesListRenderer) {\r\n return (\r\n \r\n {list.render(listPosition)}\r\n {this._renderPromotionalBanner(listPosition)}\r\n \r\n )\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n if(currentListPosition > this.allLists.length) {\r\n return 0;\r\n }\r\n\r\n return 2;\r\n }\r\n\r\n protected _saveSwipersPostLoginSortOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n this._postLoginListsSortOrderStorage.saveSortOrder(this.arenaName, swipers);\r\n }\r\n return swipers;\r\n }\r\n\r\n protected _sortSwipersByPostLoginOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n return swipers;\r\n }\r\n\r\n return this._postLoginListsSortOrderStorage.sortLists(this.arenaName, swipers);\r\n }\r\n\r\n protected _createSwipers(): IGamesListModel[] {\r\n const configs = this._getSwipersConfigurations();\r\n const lists: IGamesListModel[] = [];\r\n\r\n configs.forEach((listConfig) => {\r\n lists.push(this._createSwiper(listConfig));\r\n });\r\n\r\n return lists;\r\n }\r\n\r\n protected _appendGrids(lists: IGamesListModel[]) {\r\n this._getGridsConfigurations().forEach(gridConfig => {\r\n lists.push(this._createGrid(gridConfig));\r\n });\r\n return lists;\r\n }\r\n\r\n protected _createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return this._listFactory.createGrid(gridConfig);\r\n }\r\n\r\n protected _createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n return this._listFactory.createSwiper(swiperConfig);\r\n }\r\n\r\n protected _getBannerMinHeightInPixels(listPosition: number, bannerConfig: BannerConfig | null) {\r\n if(!bannerConfig) {\r\n return 0;\r\n }\r\n\r\n const shouldRenderBanner = listPosition === bannerConfig.position\r\n || (this.allLists.length < bannerConfig.position && listPosition === this.allLists.length);\r\n if(!shouldRenderBanner) {\r\n return 0;\r\n }\r\n\r\n if(this.services.mediaQuery.sAndBelow) {\r\n return 142;\r\n }\r\n\r\n return 223;\r\n }\r\n\r\n protected _renderPromotionalBanner(listPosition: number): React.ReactElement | null {\r\n const bannerConfig = this._getPromotionalBannerConfig();\r\n const bannerMinHeight = this._getBannerMinHeightInPixels(listPosition, bannerConfig);\r\n if(bannerMinHeight === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _sendGameListsAnalytics(lists: IGamesListModel[]): IGamesListModel[] {\r\n if(!this.services.user.isAuthorized) {\r\n return lists;\r\n }\r\n\r\n if(!this._isUsingExternalAIForSwipersSorting) {\r\n return lists;\r\n }\r\n\r\n const analyticsObject = {\r\n category: 'AI_ListsDisplayed',\r\n action: lists.map(list => list.title).join(','),\r\n label: \"ML888\"\r\n };\r\n\r\n this.services.analytics.sendAnalytics(analyticsObject.category, analyticsObject.action, analyticsObject.label);\r\n\r\n return lists;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemDefaultBox = styled.div`\r\n display: inline-block;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n position: relative;\r\n margin: 0rem 3rem;\r\n padding-left: 3.6rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0rem 1.5rem;\r\n padding-left: 2rem;\r\n\r\n padding-top: 0.3rem;\r\n padding-bottom: 0.3rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const HomepageHeaderArenaMenuItemMrGreenBox = styled(HomepageHeaderArenaMenuItemDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n &:hover {\r\n color: ${baseColors.white};\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaMenuItemMrGreenBox} from \"./home-page-header-arena-menu-item.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaMenuItemBox = styledByTheme(HomepageHeaderArenaMenuItemDefaultBox)\r\n .forMrGreen(HomepageHeaderArenaMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconDefaultBox = styled.div`\r\n position: absolute;\r\n left: 0;\r\n top: 1px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n top: 3px;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemIconDefaultBox} from \"./home-page-header-arena-menu-item-icon.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconBox = styledByTheme(HomepageHeaderArenaMenuItemIconDefaultBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameDefaultBox = styled.div`\r\n position: relative;\r\n display: inline;\r\n font-size: 1.8rem;\r\n letter-spacing: 1px;\r\n padding-left: 1.2rem;\r\n ${({theme}) => theme.font.presets.body}\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n padding-left: 0.5rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemNameDefaultBox} from \"./home-page-header-arena-menu-item-name.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameBox = styledByTheme(HomepageHeaderArenaMenuItemNameDefaultBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\n\r\ninterface HomepageHeaderArenaTileBoxProps {\r\n useSmallHeaderArenas: boolean;\r\n totalItemsCount: number;\r\n}\r\n\r\nexport const HomepageHeaderArenaTileDefaultBox = styled.div`\r\n display: inline-block;\r\n width: 20%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 290px` : \"\"};\r\n transition: transform 0.4s ease-in-out;\r\n\r\n &:hover {\r\n transform: scale(1.05);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: ${({totalItemsCount}) => 100 / totalItemsCount}%;\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 5px;\r\n left: 0;\r\n width: 100%;\r\n height: 15px;\r\n background-image: url(${props => props.theme.images.headerArenaTileDropShadow.toString()});\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n transform: translateY(100%);\r\n z-index: 0;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 22%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: ${props => !props.useSmallHeaderArenas ? \"45%\" : \"31%\"};\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileSIBox = styled(HomepageHeaderArenaTileDefaultBox)`\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 252px` : \"\"};\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n &::after {\r\n display: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileCasino777Box = styled(HomepageHeaderArenaTileDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: min(${({totalItemsCount}) => 100 / totalItemsCount}%, 220px);\r\n }\r\n\r\n`;\r\n","import {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\nimport {HomepageHeaderArenaTileSIBox} from \"./home-page-header-arena-tile.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaTileCasino777Box} from \"./home-page-header-arena-tile.casino777.box\";\r\n\r\nexport const HomepageHeaderArenaTileBox = styledByTheme(HomepageHeaderArenaTileDefaultBox)\r\n .forSI(HomepageHeaderArenaTileSIBox)\r\n .forCasino777(HomepageHeaderArenaTileCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaNameDefaultBox = styled.div`\r\n position: relative;\r\n font-size: 1.4rem;\r\n text-transform: uppercase;\r\n text-align: center;\r\n letter-spacing: 1px;\r\n color: ${props => props.theme.colors.textLight};\r\n margin: 0 auto;\r\n width: fit-content;\r\n z-index: 1;\r\n overflow: hidden;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\n\r\nexport const HomepageHeaderArenaNameSIBox = styled(HomepageHeaderArenaNameDefaultBox)`\r\n position: unset;\r\n width: auto;\r\n color: ${({theme}) => theme.colors.brandPrimaryContrast};\r\n background-color: ${({theme}) => theme.colors.brandSecondaryContrast};\r\n border-bottom: 5px solid ${({theme}) => theme.colors.brandSecondaryLight};\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-size: 2.9rem;\r\n line-height: 1.2;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\nimport {HomepageHeaderArenaNameSIBox} from \"./home-page-header-arena-name.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaNameBox = styledByTheme(HomepageHeaderArenaNameDefaultBox)\r\n .forSI(HomepageHeaderArenaNameSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div<{headerArenasStyleIsMenu?: boolean;}>`\r\n position: absolute;\r\n top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.2rem\" : 0};\r\n right: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.6rem\" : 0};\r\n padding: 0 0.5rem;\r\n background: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()};\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n border-radius: 2rem;\r\n transform: translate(100%, -50%);\r\n`;\r\n\r\nexport const HomepageHeaderArenaBadgeDefaultBox = DefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { baseColors} from '../../../../themes/definitions/si/base-colors';\r\n\r\nexport const HomepageHeaderArenaBadgeSIBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.8rem;\r\n background-color: ${baseColors.base03Dark};\r\n padding: 0 0.7rem;\r\n box-shadow: 0 0 1px 1px ${props => props.theme.colors.background};\r\n border-radius: 0.5rem;\r\n transform: translate(50%, 10px);\r\n z-index: 1;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeMrGreenBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.2rem;\r\n 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: auto;\r\n overflow-y: hidden;\r\n\r\n overflow: -moz-scrollbars-none;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${({theme}) => theme.colors.background};\r\n padding: 1.8rem 0;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n margin-right: -4rem;\r\n margin-left: -4rem;\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerMrGreenBox = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.4rem;\r\n ${({headerArenasStyle, theme}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${theme.colors.backgroundContrast};\r\n ` : \"\"}\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 1.5rem 0 1.4rem;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerCasino777Box = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 12px;\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HomePageHeaderArenasContainerMrGreenBox} from \"./home-page-header-arenas-container.mrgreen.box\";\r\nimport {HomePageHeaderArenasContainerCasino777Box} from \"./home-page-header-arenas-container.casino777.box\";\r\n\r\nexport const HomePageHeaderArenasContainerBox = styledByTheme(HomePageHeaderArenasContainerDefaultBox)\r\n .forMrGreen(HomePageHeaderArenasContainerMrGreenBox)\r\n .forCasino777(HomePageHeaderArenasContainerCasino777Box)\r\n .apply();\r\n","import {HomepageHeaderArenaLinkDefaultBox} from \"./home-page-header-arena-link.default.box\";\r\n\r\nexport const HomepageHeaderArenaLinkBox = HomepageHeaderArenaLinkDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaLinkDefaultBox = styled.a`\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomepageHeaderArenaSkeletonDefaultBoxProps {\r\n isLoading: boolean;\r\n tilesSize: HeaderArenasStyle.BigTiles | HeaderArenasStyle.SmallTiles;\r\n}\r\n\r\nexport const HomepageHeaderArenaSkeletonDefaultBox = styled.div`\r\n\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n\r\n &::before {\r\n position: absolute;\r\n content: \"\";\r\n top: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"4rem\" : \"2rem\"};\r\n left: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n right: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n bottom: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"3rem\" : \"1rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n border-radius: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"40%\" : \"43%\"};\r\n \r\n animation: LoadingAnimation linear 1s 5;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonSIBox = styled(HomepageHeaderArenaSkeletonDefaultBox)`\r\n &::before {\r\n top: 0;\r\n left: 0;\r\n right: 0; \r\n bottom: 0;\r\n border-radius: 0;\r\n }\r\n`;","import {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaSkeletonSIBox} from \"./home-page-header-arena-skeleton.si.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonBox = styledByTheme(HomepageHeaderArenaSkeletonDefaultBox)\r\n .forSI(HomepageHeaderArenaSkeletonSIBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Image, ImageProps} from \"../raw-components/image/image\";\r\nimport {OrbitComponentWithState} from \"../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {AspectRatioContainerComponent} from '../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {HomepageHeaderArenaSkeletonBox} from './boxes/tiles/skeleton/home-page-header-arena-skeleton.box';\r\nimport { ByThemeRegistry } from \"../../themes/architecture/by-theme-registry\";\r\nimport {HeaderArenasStyle} from \"../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomePageHeaderArenaTileComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport class HomePageHeaderArenaTileComponent extends OrbitComponentWithState {\r\n private aspectRatioSizes: ByThemeRegistry<{width: number; height: number;}> = new ByThemeRegistry({width: 295, height: 275});\r\n\r\n constructor(props: ImageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n this.aspectRatioSizes.forSI({width: 252, height: 150});\r\n this.aspectRatioSizes.forCasino777({width: 260, height: 244});\r\n }\r\n\r\n private _handleDoneLoading() {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n this._handleDoneLoading()} />\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {Link} from '../raw-components/link/link';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {HomePageHeaderArena} from '../../services/configurations/config-data-sections/home-page.configuration';\r\nimport {HomepageHeaderArenaMenuItemBox} from \"./boxes/menu/menu-item/home-page-header-arena-menu-item.box\";\r\nimport {HomepageHeaderArenaMenuItemIconBox} from \"./boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box\";\r\nimport {HomepageHeaderArenaMenuItemNameBox} from \"./boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box\";\r\nimport {HomepageHeaderArenaTileBox} from './boxes/tiles/tile/home-page-header-arena-tile.box';\r\nimport {HomepageHeaderArenaNameBox} from './boxes/tiles/name/home-page-header-arena-name.box';\r\nimport {HomepageHeaderArenaBadgeBox} from './boxes/home-page-header-arena-badge/home-page-header-arena-badge.box';\r\nimport {HomePageHeaderArenasContainerBox} from './boxes/home-page-header-arenas-container.box';\r\nimport {HomepageHeaderArenaLinkBox} from './boxes/home-page-header-arena-link/home-page-header-arena-link.box';\r\nimport {HomePageHeaderArenaTileComponent} from \"./home-page-header-arena-tile.component\";\r\nimport {SeoConfiguration} from '../../services/configurations/config-data-sections/seo.configuration';\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\n\r\nconst NEW_GAMES_TITLE = \"NEW_GAMES\";\r\n\r\nexport const HomePageHeaderArenasComponent = observer(class HomePageHeaderArenasComponent extends OrbitComponent {\r\n private menuButtonIconMap = new Map([\r\n [\"LIVE_CASINO\", this.services.theme.currentTheme.icons.sideMenuLiveCasino],\r\n [\"SLOTS\", this.services.theme.currentTheme.icons.sideMenuSlots],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.sideMenuNewGames],\r\n [\"JACKPOTS\", this.services.theme.currentTheme.icons.sideMenuJackpots],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.sideMenuExclusive888],\r\n [\"SCRATCH_CARDS\", this.services.theme.currentTheme.icons.sideMenuScratchCards],\r\n [\"CASINO_GAMES\", this.services.theme.currentTheme.icons.sideMenuCasinoGames]\r\n ]);\r\n private _getButtonIcon(label: string) {\r\n const iconKey = label.toUpperCase().trim().replace(/(-|\\s)/g, \"_\");\r\n return this.menuButtonIconMap.has(iconKey) ? this.menuButtonIconMap.get(iconKey)! : this.services.theme.currentTheme.icons.sideMenuExclusive888;\r\n }\r\n\r\n private _getSeo(prop: keyof SeoConfiguration[\"categories\"][\"images\"], placeholder: string, dynamic: string) {\r\n\r\n let seoValue = '';\r\n let seoConfig = this.services.configuration.data.seo;\r\n\r\n if (seoConfig && seoConfig.categories && seoConfig.categories.images && seoConfig.categories.images[prop]) {\r\n seoValue = seoConfig.categories.images[prop];\r\n }\r\n\r\n return this.services.translation.translate(seoValue, {\r\n [placeholder]: this.services.translation.translate(dynamic)\r\n });\r\n }\r\n\r\n private _handleArenaAction = (action: string, index: number) => {\r\n try {\r\n const jsonAction = JSON.parse(action);\r\n\r\n if (jsonAction.action === 'game-real') {\r\n\r\n const gameInfo = this.services.games.gamesMap[jsonAction.id];\r\n\r\n gameInfo.open({\r\n isRealMode: true,\r\n gameIndex: index\r\n });\r\n }\r\n\r\n } catch (error) {\r\n this.services.logger.error(`Error in HomePageHeaderArenasComponent '_handleArenaAction', error: ${error}, value:${action}`)\r\n }\r\n };\r\n\r\n private _handleArenaRedirect = (link: string) => {\r\n /**\r\n * @desc added because of parallel actions [navigation + spinner]\r\n * F TO DO - This setTimeout was added by regev on 09/04/2018 in this commit 962fbdea53e3bc8828a215ed035fc0e9243b7a50. I should check if this really solves a performance issue.\r\n * we should keep this delay so that on mobile the user has time to see the image changing sizes upon touching, as a form of feedback\r\n */\r\n setTimeout(() => {\r\n this.services.location.push(link); // navigation is done this way, so we can have the trailing slash\r\n }, 500);\r\n };\r\n\r\n private _handleArenaClick(event: any, arena: HomePageHeaderArena, index: number): void {\r\n\r\n event.preventDefault();\r\n\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: 'Game Grid',\r\n action: 'Home',\r\n label: `${arena.title}_${index}`\r\n }\r\n\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (arena.action) {\r\n this._handleArenaAction(arena.action, index);\r\n } else if (arena.link) {\r\n this._handleArenaRedirect(arena.link);\r\n }\r\n }\r\n\r\n private _renderOneHeaderArena(arena: HomePageHeaderArena, index: number, totalItemsCount: number) {\r\n const hasNewGamesIndication = arena.title === NEW_GAMES_TITLE && this.services.homepage.newAddedGames > 0;\r\n const newGamesIndication = hasNewGamesIndication ?\r\n \r\n {this.services.homepage.newAddedGames > 10 ? '10+' : this.services.homepage.newAddedGames}\r\n \r\n : null;\r\n\r\n if (this.services.homepage.headerArenasStyleIsMenu) {\r\n const Icon = this._getButtonIcon(arena.title);\r\n return \r\n this._handleArenaClick(event, arena, index)}\r\n >\r\n \r\n \r\n {newGamesIndication}\r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n \r\n \r\n \r\n }\r\n return (\r\n this._handleArenaClick(event, arena, index)}\r\n useSmallHeaderArenas={this.services.homepage.headerArenasStyleIsSmallTiles}\r\n totalItemsCount={totalItemsCount}\r\n >\r\n {/*We need this href only for SEO*/}\r\n \r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n {newGamesIndication}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n\r\n const headerArenas = this.services.homepage.headerArenas;\r\n\r\n if (headerArenas.length === 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n {headerArenas.map((arena, index) => this._renderOneHeaderArena(arena, index, headerArenas.length))}\r\n \r\n );\r\n }\r\n});\r\n","import styled, {css} from \"styled-components\";\r\nimport { IBannerContainerBoxProps } from \"../../cms-banner/banner-container/banner-container.default.box\";\r\n\r\nexport const HomepageTopBannerBackgroundBox = styled.div`\r\n width: 100%;\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.homepageTopBannerPlaceholder.toString()}\");\r\n ${props => props.minHeight && css`\r\n min-height: calc(${props.minHeight} + 1px);\r\n `};\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageTopBannerDividerBox = styled.div`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n box-sizing: border-box;\r\n display: block;\r\n width: calc(100% - 14px);\r\n background-color: ${props => props.theme.colors.boxBorderLight};\r\n border-top: 3px solid ${props => props.theme.colors.boxBorder};\r\n margin: 4px 0 7px 7px;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {CmsBannerComponent} from '../cms-banner/cms-banner.component';\r\nimport {DailyDealComponent} from \"../daily-deal/daily-deal.component\";\r\nimport {RoutedComponent} from '../base-components/routed-component/routed.component';\r\nimport {LayoutWrapperBox} from \"../../basic-components/layout-wrapper/layout-wrapper.box\";\r\nimport {MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport classNames from \"classnames\";\r\nimport {HomePageHeaderArenasComponent} from \"../home-page-header-arenas/home-page-header-arenas.component\";\r\nimport {HomepageTopBannerBackgroundBox} from \"./boxes/home-page-top-banner-background.box\";\r\nimport {HomepageTopBannerDividerBox} from './boxes/home-page-top-banner-divider-line';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {LinkToOfferComponent} from \"../link-to-offer/link-to-offer.component\";\r\nimport {ArenaGamesListsComponent} from \"../arena-games-lists/arena-games-lists.component\";\r\nimport {HOME_PAGE_ARENA} from \"../../services/arenas/arena-consts\";\r\nimport {FreeToPlayAnimatedIconComponent} from \"../free-to-play-animated-icon/free-to-play-animated-icon.component\";\r\nimport {BannerComponent} from \"../banner/banner.component\";\r\n\r\nexport const HomePageComponent = observer(class HomePageComponent extends RoutedComponent<{}> {\r\n\r\n private _renderTopBanner() {\r\n const topBannerProps = this.services.homepage.getTopBannerProps();\r\n\r\n return (\r\n <>\r\n \r\n \r\n {this.services.homepage.headerArenasStyleIsSmallTiles && !this.services.homepage.useAdminBanner? : null}\r\n \r\n );\r\n }\r\n\r\n private _renderHomePageArenaHeaders() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return ;\r\n }\r\n\r\n private _renderSeoBanner() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n let bannerConfig = this.services.configuration.data.homePage.seoSection;\r\n if(!bannerConfig.display) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const className = classNames('cy-layout-wrapper-homepage', {\r\n [MOVE_TOP]: this.services.homepage.headerArenasStyleIsBigTiles\r\n });\r\n\r\n return (\r\n <>\r\n {this._renderTopBanner()}\r\n \r\n {this._renderHomePageArenaHeaders()}\r\n \r\n \r\n \r\n {this._renderSeoBanner()}\r\n {this._renderLinkToOffer()}\r\n \r\n );\r\n }\r\n});","import React from \"react\";\r\nimport {ArenaBaseModel} from \"../arena-base.model\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../../lists/games-list-model.interface\";\r\nimport {ListsSortOrderStorage} from \"../../lists-sort-order-storage\";\r\nimport {HomePageComponent} from \"../../../../../components/home-page/home-page.component\";\r\nimport {HOME_PAGE_ARENA, NEW_GAMES_ARENA_NAME} from \"../../../arena-consts\";\r\nimport {GAME_ORIENTATION_IDS} from \"../../../../user-game-orientation/user-game-orientation.service.interface\";\r\nimport { reaction } from \"mobx\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {ArenaFiltersConfigurationMap} from \"../arena-view-model.interface\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\n\r\nexport class HomePageArenaModel extends ArenaBaseModel {\r\n constructor(services: IServiceFactoryExtended, postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n super(HOME_PAGE_ARENA, services, postLoginListsSortOrderStorage);\r\n\r\n reaction(\r\n () => this.services.routing.currentRoute,\r\n (currentRoute) => {\r\n if (currentRoute.routeDefinition.data?.arenaType === NEW_GAMES_ARENA_NAME) {\r\n this.services.homepage.resetNewAddedGames();\r\n }\r\n }, {\r\n fireImmediately: true\r\n }\r\n );\r\n }\r\n\r\n get maxSwipersToShow(): number {\r\n return 15;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 18\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ();\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n //REQUIREMENT 1886942 - exclude live casino orientation players\r\n const gameGroupOrientation = this.services.userGameOrientation.gameGroup;\r\n if (gameGroupOrientation?.groupId && gameGroupOrientation?.groupId === GAME_ORIENTATION_IDS.LIVE_CASINO ) {\r\n return\r\n }\r\n\r\n\r\n return this.services.abTestingFeatureDataProvider.listOnTop;\r\n }\r\n\r\n protected _sortSwipersByAI(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return swipers;\r\n }\r\n\r\n return super._sortSwipersByAI(swipers);\r\n }\r\n\r\n protected _getSwipersConfigurations(): SwiperGamesListConfiguration[] {\r\n return this.services.configuration.data.homePage.gamesLists || [];\r\n }\r\n protected _getGridsConfigurations(): ArenaGamesGridConfiguration[] {\r\n return []\r\n }\r\n\r\n protected _getPromotionalBannerConfig() {\r\n const bannerConfig = this.services.configuration.data.homePage.promotionalBanner;\r\n if(!bannerConfig || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return {\r\n position: bannerConfig.displayPlace + 1,\r\n templateID: bannerConfig.templateID,\r\n componentID: bannerConfig.componentID,\r\n fallbackComponent: bannerConfig.fallbackComponent,\r\n bannerAdminPlaceholderId: bannerConfig.bannerAdminPlaceholderId\r\n };\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo;\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return {};\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ArenaPictureDefaultBox} from './arena-picture.default.box';\r\n\r\nexport const ArenaPictureBox = ArenaPictureDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n//info-image default\r\nexport const ArenaPictureDefaultBox = styled(Image)`\r\n display: block;\r\n min-height: 20rem;\r\n\r\n width: 372px;\r\n height: 200px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 282px;\r\n height: 175px;\r\n }\r\n`;\r\n\r\n","import {ArenaTitleDefaultBox} from './arena-title.default.box';\r\n\r\n\r\nexport const ArenaTitleBox = ArenaTitleDefaultBox;","import styled from 'styled-components';\r\n\r\n//info-title default\r\nexport const ArenaTitleDefaultBox = styled.div`\r\n font-size: 1.5rem;\r\n color: ${props => props.theme.colors.textLight};\r\n font-weight: 600;\r\n padding-top: 3rem;\r\n padding-left: 0.5rem;\r\n`;","import {ArenaDescriptionTextDefaultBox} from './arena-description-text.default.box';\r\n\r\nexport const ArenaDescriptionTextBox = ArenaDescriptionTextDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const ArenaDescriptionTextDefaultBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding-top: 1rem;\r\n`;","import styled, {keyframes} from 'styled-components';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nconst lobbyInfoKeyframes = keyframes`\r\n 0%{\r\n transform: translate(0, 13rem);\r\n }\r\n 25%{\r\n transform: translate(0, 15rem);\r\n }\r\n 50%{\r\n transform: translate(0, 18rem);\r\n }\r\n 100%{\r\n transform: translate(0, 22rem);\r\n }\r\n`;\r\n\r\nexport const LobbyGameInfoDefaultBox = styled.div`\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 375px;\r\n margin-right: 2.5rem;\r\n \r\n\r\n &.${STICKY} {\r\n position: fixed;\r\n animation: ${lobbyInfoKeyframes} 0.5s ease-in-out forwards;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n }\r\n\r\n`;\r\n","import {LobbyGameInfoDefaultBox} from './lobby-game-info.default.box';\r\n\r\nexport const LobbyGameInfoBox = LobbyGameInfoDefaultBox;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from 'classnames';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {ArenaPictureBox} from './boxes/arena-picture/arena-picture.box';\r\nimport {ArenaTitleBox} from './boxes/arena-title/arena-title.box';\r\nimport {ArenaDescriptionTextBox} from './boxes/arena-description-text/arena-description-text.box';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface ArenaInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport interface ArenaInfoPreviewComponentState {\r\n arenaPictureLoading: boolean;\r\n}\r\n\r\nexport const ArenaInfoPreviewComponent = observer(\r\n class ArenaInfoPreviewComponent extends OrbitComponentWithState {\r\n state: ArenaInfoPreviewComponentState = {\r\n arenaPictureLoading: false\r\n }\r\n\r\n render() {\r\n\r\n\r\n let title = this.services.translation.translate(this.props.arenaInfo.title);\r\n\r\n return (\r\n \r\n \r\n {\r\n this.setState({arenaPictureLoading: true});\r\n }}\r\n onSettled={() => {\r\n this.setState({arenaPictureLoading: false});\r\n }}\r\n />\r\n \r\n \r\n {title}\r\n \r\n \r\n {this.services.translation.translate(this.props.arenaInfo.description)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../../../common/boxes/section-title/section-title.box';\r\n\r\n\r\nexport interface PcGamePreviewTitleComponentProps {\r\n gameTitle: string;\r\n}\r\n\r\nexport const PcGamePreviewTitleComponent = observer(\r\n class PcGamePreviewTitleComponent extends OrbitComponent {\r\n\r\n //className={`game-title general-title game-preview`}\r\n render() {\r\n return (\r\n \r\n {this.props.gameTitle}\r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {TrailerOrStripeImageComponent} from '../../../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../../../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {PcGamePreviewTitleComponent} from './title/pc-game-preview-title.component';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport classNames from 'classnames';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\n\r\n\r\nexport interface GameInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameInfoPreviewComponent = observer(\r\n class GameInfoPreviewComponent extends OrbitComponent {\r\n\r\n private _onMouseEnter = () => {\r\n this.services.lobbyGameInfoPreview.pinCurrentGamePreview();\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n this.services.lobbyGameInfoPreview.unPinCurrentGamePreview();\r\n };\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n \r\n }/>\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {ArenaInfoPreviewComponent} from './parts/arena-info-preview/arena-info-preview.component';\r\nimport {GameInfoPreviewComponent} from './parts/game-info-preview/game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../../sticky-handler/sticky-handler.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport interface LobbyGamesInfoComponentProps {\r\n stickyHandler?: IStickyHandler;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport const PcGameInfoPreviewComponent = observer(\r\n class PcGameInfoPreviewComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.enableGamePreview();\r\n }\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.disableGamePreview();\r\n }\r\n }\r\n\r\n\r\n render() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n let enabledOnPC = this.services.configuration.data.generalSettings?.gamesPreviewConfig?.enabledOnPC;\r\n if(Check.isNullOrUndefined(enabledOnPC)) {\r\n enabledOnPC = true;\r\n }\r\n\r\n if(!enabledOnPC) {\r\n return null;\r\n }\r\n\r\n if (this.services.lobbyGameInfoPreview.currentPreviewedGame) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n }\r\n\r\n }\r\n);\r\n","export const ARENA_TYPES = {\r\n WIDE_ARENA: \"wide-arena\"\r\n};\r\n\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\nimport {\r\n ArenaConfiguration,\r\n} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {LobbyHeaderComponent} from '../../lobby-header/lobby-header.component';\r\nimport {PcGameInfoPreviewComponent} from '../../lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {ARENA_TYPES} from \"./casino-arena.template-types\";\r\nimport {LOBBY_PAGE} from '../../../themes/css-global-classes';\r\nimport {LobbyWrapperBox} from \"../../../basic-components/lobby-wrapper/lobby-wrapper.box\";\r\nimport {LobbyGridBox} from \"../../../basic-components/lobby-grid/lobby-grid.box\";\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {ArenaGamesListsComponent} from \"../../arena-games-lists/arena-games-lists.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\n\r\nexport interface LobbyArenaComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const CasinoArenaComponent = observer(\r\n class CasinoArenaComponent extends OrbitComponent {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n return this._stickyHandler;\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.services.dom.body.classList.remove(LOBBY_PAGE);\r\n this.stickyHandler.dispose();\r\n }\r\n\r\n private get config(): ArenaConfiguration {\r\n return this.services.arenas.getArenaConfig(this.props.arenaName);\r\n }\r\n\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n let sideBarInfo = {\r\n title: \"\",\r\n description: \"\",\r\n previewImage: \"\"\r\n };\r\n\r\n if (this.config.infoSideBar) {\r\n sideBarInfo = {\r\n title: this.config.infoSideBar.infoTitle,\r\n description: this.config.infoSideBar.infoText,\r\n previewImage: this.config.infoSideBar.infoImage\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n (this.config.arenaType !== ARENA_TYPES.WIDE_ARENA) && \r\n }\r\n {this._renderLinkToOffer()}\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {ArenaFiltersConfigurationMap} from \"./arenas/arena-view-model.interface\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\n\r\nexport function filtersConfigurationToMap(filtersConfiguration: NullableUndefined): ArenaFiltersConfigurationMap {\r\n return (filtersConfiguration ?? []).toDictionary(filterId => filterId, \r\n (filterId, index) => {\r\n return {\r\n filterId: filterId,\r\n index: index\r\n }\r\n });\r\n }\r\n","import {GameInfo} from \"../../games/game-info\";\r\n\r\nexport enum ApplyGameFilterResult {\r\n IncludeGame,\r\n ExcludeGame,\r\n NotApplicable\r\n}\r\n\r\nexport interface IGameFilterEvaluator {\r\n applyFilter(gameInfo: GameInfo, 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: 3.4rem;\r\n height: 3.4rem;\r\n border: 1px solid ${props => props.theme.colors.backgroundContrast};\r\n border-radius: 50%;\r\n margin: 0 0.5rem;\r\n stroke: ${props => props.theme.colors.backgroundContrast};\r\n\r\n &.${ACTIVE} {\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n top: -0.25rem;\r\n right: -0.25rem;\r\n width: 1rem;\r\n height: 1rem;\r\n background: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n }\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonCasino777Box = styled(FiltersMobileButtonDefaultBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n \r\n &.${ACTIVE} {\r\n &:after {\r\n top: -0.5rem;\r\n right: -0.5rem;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\n\r\nexport const FiltersMobileButtonMrGreenBox = styled(FiltersMobileButtonDefaultBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;","import {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {FiltersMobileButtonCasino777Box} from \"./filters-mobile-button.casino777.box\";\r\nimport {FiltersMobileButtonMrGreenBox} from \"./filters-mobile-button.mrgreen.box\";\r\n\r\nexport const FiltersMobileButtonBox = styledByTheme(FiltersMobileButtonDefaultBox)\r\n .forCasino777(FiltersMobileButtonCasino777Box)\r\n .forMrGreen(FiltersMobileButtonMrGreenBox).apply();","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {FiltersMobileButtonBox} from \"../../../filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\nimport React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const FiltersMobileButtonComponent = observer(class FiltersMobileButtonComponent extends OrbitComponent<{}> {\r\n\r\n private _openPopup = () => {\r\n this.services.gamesFilter.showFiltersEditor();\r\n };\r\n\r\n render(){\r\n if(!this.services.gamesFilter.isFilteringAvailable) {\r\n return null;\r\n }\r\n\r\n if(this.services.arenas.shouldHideFiltersButtonMobile()) {\r\n return null;\r\n }\r\n\r\n const FilterIcon = this.services.theme.currentTheme.icons.filterIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n});","import styled, {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 overflow-x: hidden;\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 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 }","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 ];\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","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 {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.Seasonal)),\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 LocalStorageKeys {\r\n currentRunningGameTab = 'cgp_CURRENT_RUNNING_GAME_TAB',\r\n currentRunningGameType = 'cgp_CURRENT_RUNNING_GAME_TYPE',\r\n uccMessages = 'cgp_ucc',\r\n crossBrandSpecificNavigationInfo = 'orbit_crossBrandSpecificNavigation'\r\n}","import {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 styled from \"styled-components\";\r\n\r\nexport const FiltersMobileButtonsDefaultBox = styled.div`\r\n padding-bottom: 3rem;\r\n margin-top: auto;\r\n`;","import {FiltersMobileButtonsDefaultBox} from \"./filters-mobile-buttons.default.box\";\r\n\r\nexport const FiltersMobileButtonsBox = FiltersMobileButtonsDefaultBox;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterLinkListComponent} from '../filter-link-list/filter-link-list.component';\r\nimport {FiltersGamesMobilePopupBox} from \"./boxes/popup/filters-games-mobile-popup.box\";\r\nimport {FiltersMobileButtonsBox} from \"./boxes/popup/menu/filters-mobile-buttons.box\";\r\nimport {IModalDialogHandler} from \"../../../services/dialog/dialog.service.interface\";\r\nimport { ModalDialogActionsComponent } from '../../modal-dialog/modal-dialog-actions.component';\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {\r\n ISimpleStrategyFiltersEditorViewModel\r\n} from \"../../../services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor-view-model.interface\";\r\n\r\n\r\nexport interface FiltersGamesListMobileComponentProps {\r\n dialogHandler: IModalDialogHandler;\r\n filtersEditor: ISimpleStrategyFiltersEditorViewModel;\r\n}\r\n\r\nexport const FiltersGamesListMobileComponent = observer(\r\n class FiltersGamesListMobileComponent extends OrbitComponent {\r\n\r\n\r\n private _closePopup = () => {\r\n this.props.dialogHandler.close();\r\n };\r\n\r\n private _applyFilters = async () => {\r\n await this.props.filtersEditor.applyFilters();\r\n const checkedFiltersIds = this.props.filtersEditor.visibleFilters.filter(f => f.on).map(f => f.id);\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",this.services.routing.currentRoute.data.arenaType, checkedFiltersIds.join(','));\r\n this._closePopup();\r\n };\r\n\r\n private _clearFilters = async () => {\r\n this.props.filtersEditor.visibleFilters.forEach(f => {\r\n f.on = false;\r\n });\r\n\r\n await this._applyFilters();\r\n\r\n };\r\n\r\n private _renderPopupButtons() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onToggleFilter = (filter: IArenaGameFilterEditorViewModel) => {\r\n filter.toggleFilter();\r\n }\r\n\r\n render() {\r\n\r\n if (this.props.filtersEditor.visibleFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._renderPopupButtons()}\r\n \r\n )\r\n }\r\n }\r\n);\r\n\r\n","import {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {ArenaGameFilterEditor} from \"../../arena-filters/filters/arena-game-filter-editor\";\r\nimport {ISimpleStrategyFiltersEditorViewModel} from \"./simple-strategy-filters-editor-view-model.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\n\r\nexport class SimpleStrategyFiltersEditor implements ISimpleStrategyFiltersEditorViewModel {\r\n constructor(private readonly filtersCategories: IArenaGameFiltersCategory[],\r\n private readonly services: IServiceFactoryExtended) {\r\n this._filters = this._createFiltersEditor();\r\n }\r\n\r\n private readonly _filters: ArenaGameFilterEditor[];\r\n\r\n get visibleFilters(): ArenaGameFilterEditor[] {\r\n return this._filters.filter(f => f.shouldBeDisplayed);\r\n }\r\n\r\n private _createFiltersEditor(): ArenaGameFilterEditor[] {\r\n const result: ArenaGameFilterEditor[] = [];\r\n\r\n this.filtersCategories.forEach(c => {\r\n c.availableFilters.forEach(f => {\r\n result.push(new ArenaGameFilterEditor(f));\r\n });\r\n });\r\n\r\n return this._sortFilters(result);\r\n }\r\n\r\n private _sortFilters(filters: ArenaGameFilterEditor[]): ArenaGameFilterEditor[] {\r\n\r\n //sorting the filters by the order in which they were defined in config.json\r\n const filtersConfigurations = this.services.arenas.getCurrentArena().filtersConfigurationMap;\r\n\r\n if(Check.isEmpty(filtersConfigurations)) {\r\n return filters;\r\n }\r\n\r\n return filters.sort((f1, f2) => filtersConfigurations[f1.id]?.index - filtersConfigurations[f2.id]?.index);\r\n }\r\n\r\n async applyFilters(): Promise {\r\n await this.services.gamesFilter.applyFilters(this._filters.filter(f => f.on).map(f => f.id));\r\n }\r\n\r\n}","import {GameInfo} from '../../../games/game-info';\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\n/**\r\n * This class is used to apply a filter that does something like this:\r\n * Show all games that doesn't fall in any of the other available games filters categories for the current arena\r\n */\r\n\r\nexport class OtherFilterDefinition extends GameFilterDefinitionBase {\r\n constructor(services: IServiceFactoryExtended, private readonly allOthersCategories: IArenaGameFiltersCategory[]) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get id(): string {\r\n return 'other';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n @computed\r\n get currentArenaCategories(): IArenaGameFiltersCategory[] {\r\n return this.allOthersCategories.filter(c => c.availableFilters.length > 0);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n const categoriesInCurrentArena = this.currentArenaCategories;\r\n for(let category of categoriesInCurrentArena) {\r\n if(category.isGameIncludedInThisCategory(gameInfo)) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n }\r\n\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n}\r\n","import {IArenaGameFiltersCategory} from \"../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {OtherFilterDefinition} from \"../filters-definitions/other/other.filter-definition\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class OtherFiltersCategoryDefinition implements IFilterCategoryDefinition {\r\n\r\n constructor(otherAvailableCategories: IArenaGameFiltersCategory[],\r\n private readonly services: IServiceFactoryExtended) {\r\n this.availableFilters = [\r\n new OtherFilterDefinition(services, otherAvailableCategories)\r\n ];\r\n }\r\n\r\n readonly id: CategoryDefinitionId = null;\r\n\r\n applyFilters(gameInfo: GameInfo, filters: IGameFilterDefinition[]): ApplyGameFilterResult {\r\n return this.availableFilters[0].applyFilter(gameInfo);\r\n }\r\n\r\n get title(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n readonly availableFilters: IGameFilterDefinition[];\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n\r\n readonly hasItsOwnFiltersOrder = false;\r\n}","import {ArenaGameFilterBase} from \"./arena-game-filter-base\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\n\r\nexport class StaticArenaGameFilter extends ArenaGameFilterBase{\r\n get subFilters(): IArenaGameFilter[] {\r\n return [];\r\n }\r\n}\r\n","import {Check} from \"@sparkware/app-utils\";\r\nimport {StaticArenaGameFilter} from \"../filters/static-arena-game-filter\";\r\nimport {ArenaGameFiltersCategoryBase} from \"./arena-game-filters-category-base\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IFilterCategoryDefinition} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport class StaticArenaGameFiltersCategory extends ArenaGameFiltersCategoryBase {\r\n constructor(categoryDefinition: IFilterCategoryDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(categoryDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n /**\r\n * Restrict available filters to only those that are defined in config.json for current arena\r\n */\r\n @computed\r\n get availableFilters(): IArenaGameFilter[] {\r\n return this._createFiltersForCurrentArena();\r\n }\r\n private _createFiltersForCurrentArena(): IArenaGameFilter[] {\r\n\r\n const currentArenaFiltersConfigurations = this.services.arenas.getCurrentArena().filtersConfigurationMap;\r\n if(Check.isEmpty(currentArenaFiltersConfigurations)) {\r\n return [];\r\n }\r\n\r\n return this.categoryDefinition.availableFilters\r\n .filter(f => currentArenaFiltersConfigurations[f.id])\r\n .map(f => new StaticArenaGameFilter(f, this.services));\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return null;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const FiltersGameListPcDefaultBox = styled.div`\r\n width:100%;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n padding-top: 1rem;\r\n`;","import {FiltersGameListPcDefaultBox} from \"./filters-game-list-pc.default.box\";\r\n\r\nexport const FiltersGameListPcBox = FiltersGameListPcDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterLinkListComponent} from '../filter-link-list/filter-link-list.component';\r\nimport {FiltersGameListPcBox} from \"./boxes/filters-game-list-pc.box\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {\r\n ISimpleStrategyFiltersEditorViewModel\r\n} from \"../../../services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor-view-model.interface\";\r\n\r\n\r\ninterface FiltersGamesListPcComponentProps {\r\n filtersEditor: ISimpleStrategyFiltersEditorViewModel;\r\n}\r\nexport const FiltersGamesListPcComponent = observer(\r\n class FiltersGamesListPcComponent extends OrbitComponent {\r\n\r\n\r\n private _toggleFilter = async (filter: IArenaGameFilterEditorViewModel) => {\r\n filter.toggleFilter();\r\n await this.props.filtersEditor.applyFilters();\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",this.services.routing.currentRoute.data.arenaType, filter.id);\r\n };\r\n\r\n render() {\r\n\r\n if(this.props.filtersEditor.visibleFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport class AdhocArenaGameFilter implements IArenaGameFilter {\r\n constructor(public readonly filterDefinition: IGameFilterDefinition,\r\n private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n readonly isAdhocFilter = true;\r\n\r\n get id(): string {\r\n return this.filterDefinition.id;\r\n }\r\n\r\n get text(): string {\r\n return this.filterDefinition.text;\r\n }\r\n\r\n get isApplied(): boolean {\r\n return this.services.gamesFilter.isFilterApplied(this.id);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n return this.filterDefinition.applyFilter(gameInfo);\r\n }\r\n \r\n readonly gamesCount: NullableNumber = null;\r\n\r\n readonly subFilters: IArenaGameFilter[] = [];\r\n}","import {IGameFilterDefinition} from '../game-filter-definition.interface';\r\nimport {GameInfo} from '../../../games/game-info';\r\nimport {removeSpaces} from \"../../../../../utils/string-helpers\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class CompanyFilterDefinitions implements IGameFilterDefinition {\r\n constructor(public readonly id: string,\r\n private readonly _companyName: string) {\r\n\r\n }\r\n\r\n get text(): string {\r\n return this._companyName;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(removeSpaces(gameInfo.companyName.toLowerCase()) === removeSpaces(this._companyName.toLowerCase())) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n\r\n}\r\n","import {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {Nullable, NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {AdhocArenaGameFilter} from \"../filters/adhoc-arena-game-filter\";\r\nimport {CompanyFilterDefinitions} from \"../../filters-definitions/company/company.filter-definitions\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {AND} from \"../../evaluators/and-game-filters-evaluator\";\r\nimport {CategoryDefinitionId} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {\r\n GameVendorFiltersCategoryDefinition\r\n} from \"../../filters-categories-definitions/game-vendor.filters-category-definition\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\n\r\nexport class AdhocArenaGamesFiltersCategory implements IArenaGameFiltersCategory {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n makeObservable(this);\r\n }\r\n\r\n readonly id: CategoryDefinitionId = 'adHoc';\r\n readonly title: string = 'Ad hoc filters';\r\n readonly gamesCount: NullableNumber = null;\r\n\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n\r\n if(this.availableFilters.length === 0) {\r\n return ApplyGameFilterResult.NotApplicable;\r\n }\r\n\r\n return AND(...this.availableFilters).applyFilter(gameInfo);\r\n }\r\n\r\n\r\n isGameIncludedInThisCategory(gameInfo: GameInfo): boolean {\r\n return this.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n @computed\r\n get availableFilters(): AdhocArenaGameFilter[] {\r\n return this._createDynamicFilters();\r\n }\r\n\r\n get allAppliedFiltersAndSubFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.filter(f => f.isApplied);\r\n }\r\n\r\n private _createDynamicFilters(): AdhocArenaGameFilter[] {\r\n const result: AdhocArenaGameFilter[] = [];\r\n\r\n\r\n\r\n const currentArenaFiltersConfigurations = this.services.arenas.getCurrentArena().filtersConfigurationMap;\r\n\r\n for(let appliedFilterId of this.services.gamesFilter.currentAppliedFiltersIds) {\r\n if(!currentArenaFiltersConfigurations[appliedFilterId]) {\r\n const dynamicFilterDefinition = this._createDynamicFilterById(appliedFilterId);\r\n if(dynamicFilterDefinition) {\r\n result.push(dynamicFilterDefinition);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _createDynamicFilterById(filterId: string): Nullable {\r\n const parts = filterId.split('_');\r\n if(parts.length < 2) {\r\n return null;\r\n }\r\n\r\n switch (parts[0]) {\r\n case 'vendor':\r\n const vendorsCategory = new GameVendorFiltersCategoryDefinition(this.services);\r\n const filter = vendorsCategory.getAllPreferredVendorsFilters().find(f => f.id === filterId) ?? null;\r\n if(filter) {\r\n return new AdhocArenaGameFilter(filter, this.services)\r\n } else {\r\n return null;\r\n }\r\n\r\n case 'company':\r\n return new AdhocArenaGameFilter(new CompanyFilterDefinitions(filterId, parts[1]), this.services);\r\n default:\r\n return null;\r\n\r\n }\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n}","import React from 'react';\r\nimport {\r\n FiltersGamesListMobileComponent\r\n} from \"../../../../components/filters/filters-games-list-mobile/filters-games-list-mobile.component\";\r\nimport {SimpleStrategyFiltersEditor} from \"./simple-strategy-filters-editor\";\r\nimport {GamesFilterStrategyBase} from \"../games-filter-strategy-base\";\r\nimport {OtherFiltersCategoryDefinition} from \"../../filters-categories-definitions/other.filters-category-definition\";\r\nimport {StaticArenaGameFiltersCategory} from \"../../arena-filters/categories/static-arena-game-filters-category\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {Lazy} from \"../../../../../utils/Lazy\";\r\nimport {IGameFilterEvaluator} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {OR} from \"../../evaluators/or-game-filters-evaluator\";\r\nimport {AND} from \"../../evaluators/and-game-filters-evaluator\";\r\nimport {\r\n FiltersMobileButtonComponent\r\n} from \"../../../../components/header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {\r\n 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 LiveCasinoFilterButtonIconDefaultBox = styled.div<{isActiveTab?: boolean}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 5em;\r\n width: 100%;\r\n color: ${({theme, isActiveTab}) => isActiveTab ? theme.colors.brandPrimary : theme.colors.textLight};\r\n transform: scale(${({isActiveTab}) => isActiveTab ? 1 : 0.8});\r\n transition: transform 0.25s ease;\r\n\r\n :hover {\r\n transform: scale(1);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\n\r\nexport const LiveCasinoFilterIconSIBox = styled(LiveCasinoFilterButtonIconDefaultBox)`\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\n\r\nexport const LiveCasinoFilterIconMrGreenBox = styled(LiveCasinoFilterButtonIconDefaultBox)`\r\n transform: scale(1);\r\n color: ${({theme, isActiveTab}) => isActiveTab ? theme.colors.textActive : theme.colors.textLight};\r\n`;","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\nimport {LiveCasinoFilterIconSIBox} from \"./live-casino-filter-button-icon.si.box\";\r\nimport {LiveCasinoFilterIconMrGreenBox} from \"./live-casino-filter-button-icon.mrgreen.box\";\r\n\r\nexport const LiveCasinoFilterButtonIconBox = styledByTheme(LiveCasinoFilterButtonIconDefaultBox)\r\n .forSI(LiveCasinoFilterIconSIBox)\r\n .forSICis(LiveCasinoFilterIconSIBox)\r\n .forMrGreen(LiveCasinoFilterIconMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin-top: 1em;\r\n color: ${props => props.theme.components.newLiveCasino.colors.filterButtonLabel};\r\n font-size: 1.2em;\r\n text-align: center;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n transition: color 0.25s ease;\r\n\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n \r\n &.${ACTIVE} {\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`;\r\n\r\nconst PCBox = DefaultBox;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n line-height: 1;\r\n`;\r\n\r\nexport const LiveCasinoFilterButtonLabelDefaultBox = styledByDevice(PCBox,MobileBox);","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoFilterButtonLabelCasino777Box = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n font-size: 1.6em;\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.components.newLiveCasino.colors.filterButtonLabel};\r\n ${({theme}) => theme.font.presets.bold};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/si/base-colors\";\r\n\r\nexport const LiveCasinoFilterButtonLabelSIBox = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${baseColors.base04};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoFilterButtonLabelMrGreenBox = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {LiveCasinoFilterButtonLabelCasino777Box} from \"./live-casino-filter-button-label.casino777.box\";\r\nimport {LiveCasinoFilterButtonLabelSIBox} from \"./live-casino-filter-button-label.si.box\";\r\nimport {LiveCasinoFilterButtonLabelMrGreenBox} from \"./live-casino-filter-button-label.mrgreen.box\";\r\n\r\nexport const LiveCasinoFilterButtonLabelBox = styledByTheme(LiveCasinoFilterButtonLabelDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonLabelCasino777Box)\r\n .forSI(LiveCasinoFilterButtonLabelSIBox)\r\n .forSICis(LiveCasinoFilterButtonLabelSIBox)\r\n .forMrGreen(LiveCasinoFilterButtonLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {Link} from \"../../../../../raw-components/link/link\";\r\nimport { CssRule } from \"../../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonDefaultBox = styled(Link)`\r\n display: flex;\r\n margin: 0 0.25em;\r\n padding: 1em 1em 0 1em;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-width: 88px;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0;\r\n padding: 1em;\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.filterButtonBackground};\r\n\r\n &:last-child {\r\n border: none;\r\n }\r\n\r\n ${CssRule.For.mobile.landscape.build()} &, ${CssRule.For.ipad.build()} & {\r\n flex: 1;\r\n }\r\n\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../../themes/hex-to-rgba\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonCasino777Box = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &:first-child {\r\n border-left: none;\r\n border-right: 1px solid ${({theme}) => hexToRgba(theme.colors.brandSecondary, 0.6)};\r\n }\r\n &:last-child {\r\n border-left: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.6)};\r\n border-right: none;\r\n }\r\n\r\n border-left: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.6)};\r\n border-right: 1px solid ${({theme}) => hexToRgba(theme.colors.brandSecondary, 0.6)};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonSIBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &.${ACTIVE} {\r\n background-color: ${({theme}) => theme.colors.iconBackgroundActive};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonMrGreenBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &.${ACTIVE} {\r\n box-shadow: inset 3px 0px 4px rgba(25, 25, 25, 0.7), inset -3px 0px 4px rgba(25, 25, 25, 0.7);\r\n }\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {LiveCasinoArenaNavbarButtonCasino777Box} from \"./live-casino-arena-navbar-button.casino777.box\";\r\nimport {LiveCasinoArenaNavbarButtonSIBox} from \"./live-casino-arena-navbar-button.si.box\";\r\nimport {LiveCasinoArenaNavbarButtonMrGreenBox} from \"./live-casino-arena-navbar-button.mrgreen.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonBox = styledByTheme(LiveCasinoArenaNavbarButtonDefaultBox)\r\n .forCasino777(LiveCasinoArenaNavbarButtonCasino777Box)\r\n .forSI(LiveCasinoArenaNavbarButtonSIBox)\r\n .forSICis(LiveCasinoArenaNavbarButtonSIBox)\r\n .forMrGreen(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .forMrGreenCis(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .apply();\r\n","import React, {RefObject} from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LiveCasinoFilterButtonIconBox} from \"./boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box\";\r\nimport {LiveCasinoFilterButtonLabelBox} from \"./boxes/live-casino-filter-button-label/live-casino-filter-button-label.box\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonBox} from \"./boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\n\r\nexport interface LiveCasinoArenaNavbarButtonProps {\r\n labelTranslationKey: string;\r\n filter: string;\r\n isActiveTab: boolean;\r\n seoPage: string;\r\n buttonLabelRef: RefObject;\r\n onClick: () => void;\r\n};\r\n\r\nexport const LiveCasinoArenaNavbarButton = observer(\r\n class LiveCasinoArenaNavbarButton extends OrbitComponent {\r\n\r\n private buttonIconMap = new Map([\r\n [\"TOP_EVO_GAMES\", this.services.theme.currentTheme.icons.topGamesIcon],\r\n [\"ROULETTE\", this.services.theme.currentTheme.icons.rouletteIcon],\r\n [\"POKER_GAMES\", this.services.theme.currentTheme.icons.pokerIcon],\r\n [\"BLACKJACK\", this.services.theme.currentTheme.icons.blackjackIcon],\r\n [\"BACCARAT\", this.services.theme.currentTheme.icons.baccaratIcon],\r\n [\"ELITE_LOUNGE\", this.services.theme.currentTheme.icons.eliteLoungeIcon],\r\n [\"GAME_SHOWS\", this.services.theme.currentTheme.icons.gameShowsIcon],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.newGamesIcon],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.tripleEightExclusiveIcon],\r\n [\"SPEED_GAMES\", this.services.theme.currentTheme.icons.speedGames]\r\n ]);\r\n\r\n private _getButtonIcon() {\r\n return this.buttonIconMap.get(this.props.labelTranslationKey);\r\n }\r\n\r\n private _getLabelTranslationKey(): string {\r\n //this if is a duplicate with the one in live-casino-arena-grid.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n let currentTranslationKey = this.props.labelTranslationKey;\r\n if (this.services.user.isAuthorized && currentTranslationKey === \"TOP_EVO_GAMES\") {\r\n currentTranslationKey = \"FOR_YOU_GAMES\";\r\n }\r\n\r\n return currentTranslationKey;\r\n }\r\n\r\n onFilterClicked(isActive: boolean) {\r\n if (!isActive) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Live Tab\", this._getLabelTranslationKey());\r\n this.props && this.props.onClick();\r\n }\r\n }\r\n\r\n render() {\r\n let IconComponent = this._getButtonIcon();\r\n return (\r\n this.onFilterClicked(this.props.isActiveTab)}\r\n >\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate(this._getLabelTranslationKey())}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {NewLiveCasinoConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {LiveCasinoArenaNavbar} from \"./live-casino-arena-navbar/live-casino-arena-navbar.component\";\r\nimport {LiveCasinoArenaGrid} from \"./live-casino-arena-grid/live-casino-arena-grid.component\";\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoArenaNavbarButton} from \"./live-casino-arena-navbar/live-casino-arena-navbar-button.component\";\r\nimport {LIVE_CASINO_PAGE_WRAPPER} from '../../../themes/css-global-classes';\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\nexport interface NewLiveCasinoArenaComponentProps {\r\n configs: NewLiveCasinoConfiguration;\r\n arenaName: string;\r\n}\r\n\r\nexport interface INewLiveCasinoArenaComponentState {\r\n}\r\n\r\nconst SEO_CATEGORY = 'LIVE_CASINO_NEW';\r\n\r\nexport const NewLiveCasinoArenaComponent = observer(\r\n class NewLiveCasinoArenaComponent extends OrbitComponentWithState {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n private _topImageRef = React.createRef();\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.user.isAuthorized,\r\n () => this.services.liveTableFeeds.updateAiRecommendedLiveGames(),\r\n {fireImmediately: true}\r\n );\r\n }\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler && this._topImageRef?.current) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n } else {\r\n return this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n\r\n return this._stickyHandler;\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n\r\n \r\n\r\n {\r\n this.services.liveTableFeeds.isNavbarVisible && \r\n }\r\n\r\n \r\n\r\n \r\n\r\n {this._renderLinkToOffer()}\r\n \r\n
    \r\n );\r\n\r\n\r\n }\r\n }\r\n);\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {NewLiveCasinoArenaComponent} from \"../../../../../components/arena-host/new-live-casino-arena/new-live-casino-arena.component\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {\r\n SimpleGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/simple-games-filter/simple-games-filter.strategy\";\r\n\r\nexport class NewLiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new SimpleGamesFilterStrategy(this.services);\r\n }\r\n\r\n}","import React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\nconst LiveCasinoArenaComponent = React.lazy(\r\n () => import(\"../../../../../components/arena-host/live-casino-arena/live-casino-arena.component\").then(({LiveCasinoArenaComponent}) => ({default: LiveCasinoArenaComponent}))\r\n);\r\n\r\nexport class LiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string, private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ServiceBase} from '../ServiceBase';\r\nimport {IArenasService} from './arenas.service.interface';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from './arena-consts';\r\nimport {\r\n ArenaConfiguration\r\n} from \"../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IArenaViewModel} from \"./models/arenas/arena-view-model.interface\";\r\nimport {HomePageArenaModel} from \"./models/arenas/home-page/home-page-arena.model\";\r\nimport {CasinoLobbyArenaModel} from \"./models/arenas/casino-lobby/casino-lobby-arena.model\";\r\nimport {VoidArenaModel} from \"./models/arenas/void-arena/void-arena.model\";\r\nimport {ListsSortOrderStorage} from \"./models/lists-sort-order-storage\";\r\nimport {NewLiveCasinoArenaModel} from \"./models/arenas/new-live-casino/new-live-casino-arena.model\";\r\nimport {LiveCasinoArenaModel} from \"./models/arenas/live-casino/live-casino-arena.model\";\r\n\r\n\r\nexport class ArenasService extends ServiceBase implements IArenasService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n this._postLoginListsSortOrderStorage = new ListsSortOrderStorage(services);\r\n this._loadArenas();\r\n }\r\n\r\n private _arenas: Record = {};\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage;\r\n\r\n private _loadArenas(): void {\r\n this._arenas[HOME_PAGE_ARENA] = this._createArena(HOME_PAGE_ARENA);\r\n const arenasConfigs = this.services.configuration.data.arenas;\r\n for(let arenaName in arenasConfigs) {\r\n this._arenas[arenaName] = this._createArena(arenaName);\r\n }\r\n }\r\n\r\n getArena(arenaName: string): IArenaViewModel {\r\n return this._arenas[arenaName] || new VoidArenaModel(this.services);\r\n }\r\n\r\n private _createArena(arenaName: string): IArenaViewModel | null {\r\n switch (arenaName) {\r\n case HOME_PAGE_ARENA:\r\n return new HomePageArenaModel(this.services, this._postLoginListsSortOrderStorage);\r\n case NEW_LIVE_CASINO_ARENA_NAME:\r\n return new NewLiveCasinoArenaModel(arenaName, this.services);\r\n case LIVE_CASINO_ARENA_NAME:\r\n return new LiveCasinoArenaModel(arenaName, this.services);\r\n default:\r\n return new CasinoLobbyArenaModel(arenaName, this.services, this._postLoginListsSortOrderStorage);\r\n }\r\n }\r\n\r\n getCurrentArena(): IArenaViewModel {\r\n const arenaName = this.services.routing.currentRoute.data?.arenaType;\r\n if(!arenaName) {\r\n return new VoidArenaModel(this.services);\r\n }\r\n return this.getArena(arenaName)\r\n\r\n }\r\n\r\n getArenaConfig(arenaType: string): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[arenaType];\r\n }\r\n\r\n shouldHideFiltersButtonMobile(): boolean {\r\n const arenasWithoutFilterButton: string[] = [NEW_LIVE_CASINO_ARENA_NAME];\r\n const currentRoute = this.services.routing.currentRoute;\r\n return arenasWithoutFilterButton.includes(currentRoute?.data?.arenaType);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from \"../../raw-components/link/link\";\r\n\r\nexport interface BreadcrumbsItemComponentProps {\r\n readonly title: string;\r\n position: number;\r\n readonly url?: string;\r\n onClick?: () => void;\r\n\r\n}\r\n\r\nexport const BreadcrumbsItemComponent = observer(\r\n class BreadcrumbsItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n let noLinkClass = this.props.onClick ? '' : 'no-link';\r\n return (\r\n <>\r\n \r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n \r\n {this.props.onClick ? {' > '} : null}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\nexport class NonNavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string) {\r\n }\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\n\r\nexport class NavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string, private _url: string, private services: IServiceFactoryExtended) {\r\n\r\n }\r\n\r\n private _navigate = () => {\r\n this.services.location.push(this._url);\r\n };\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","import {NonNavigatableBreadcrumb} from './breadcrumbs/non-navigatable-breadcrumb';\r\nimport {NavigatableBreadcrumb} from './breadcrumbs/navigatable-breadcrumb';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UriPath} from \"../location/uri-path/uri-path\";\r\n\r\nexport class SiteMapNode {\r\n constructor(private _title: string, private _url: string, children: any[]) {\r\n this._loadChildren(children);\r\n this._urlParts = new UriPath(_url).toArray();\r\n }\r\n\r\n private readonly _urlParts: string[];\r\n\r\n private _loadChildren(children: any[]): void {\r\n this._children = (children || []).map(ch => new SiteMapNode(ch.title, ch.url, ch.children));\r\n }\r\n\r\n\r\n private _children: SiteMapNode[] = [];\r\n get children(): SiteMapNode[] {\r\n return this._children;\r\n }\r\n\r\n createBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n\r\n for(let i = 0; i < this._urlParts.length; i++) {\r\n if(this._urlParts[i] !== requestedUrlParts[i]) {\r\n return [];\r\n }\r\n }\r\n\r\n if(this._urlParts.length === requestedUrlParts.length) {\r\n return [new NonNavigatableBreadcrumb(this._title)] //it means this is the last breadcrumb\r\n } else {\r\n let breadcrumb = new NavigatableBreadcrumb(this._title, this._url, services);\r\n\r\n return [breadcrumb, ...this._createChildrenBreadcrumbs(requestedUrlParts, services)];\r\n }\r\n }\r\n\r\n private _createChildrenBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n for(let i = 0; i < this.children.length; i++) {\r\n let childBreadcrumbs = this.children[i].createBreadcrumbs(requestedUrlParts, services);\r\n if(childBreadcrumbs.length > 0) {\r\n return childBreadcrumbs;\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n toFlatSiteMap(): {[key: string]: SiteMapNode} {\r\n let result = {};\r\n result[this._url] = this;\r\n\r\n this.children.forEach(child => {\r\n result = Object.assign(result, child.toFlatSiteMap());\r\n });\r\n\r\n return result;\r\n\r\n }\r\n}\r\n","import {ISiteMapService} from './sitemap.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SiteMapNode} from './sitemap-node';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {UriPath} from '../location/uri-path/uri-path';\r\n\r\nexport class SiteMapService extends ServiceBase implements ISiteMapService {\r\n\r\n private _root: SiteMapNode;\r\n private _flatSiteMapByUrl: {[key: string]: SiteMapNode};\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n try {\r\n this._initSiteMap();\r\n }catch (e) {\r\n this.services.logger.error(`Failed to load sitemap ${e} `);\r\n }\r\n\r\n this.reaction(\r\n () => this.services.location.currentUri,\r\n (uri) => {\r\n this._setBreadcrumbs(this._createBreadCrumbs(uri.pathName));\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _initSiteMap() {\r\n let siteMap = this.services.configuration.startupConfiguration.b2c.sitemap;\r\n this._root = new SiteMapNode(siteMap.title, siteMap.url, siteMap.children);\r\n this._flatSiteMapByUrl = this._root.toFlatSiteMap();\r\n }\r\n\r\n @observable.ref\r\n breadcrumbs: IBreadcrumb[] = [];\r\n\r\n @action.bound\r\n private _setBreadcrumbs(breadcrumbs: IBreadcrumb[]) {\r\n this.breadcrumbs = breadcrumbs;\r\n }\r\n\r\n\r\n private _createBreadCrumbs(uriPath: UriPath): IBreadcrumb[] {\r\n if(!uriPath) {\r\n return [];\r\n }\r\n\r\n if(uriPath.isEmpty) {\r\n return [];\r\n }\r\n\r\n let uriParts = uriPath.toArray();\r\n if(uriParts[0] !== '/') {\r\n uriParts = ['/', ...uriParts];\r\n }\r\n\r\n let breadcrumbs = this._root.createBreadcrumbs(uriParts, this.services);\r\n if(breadcrumbs.length < uriParts.length) {\r\n this.services.logger.warning(`URL ${uriPath} was not found in the sitemap`);\r\n return [];\r\n }\r\n\r\n if(breadcrumbs.length <= 1) {\r\n return [];\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n isUrlInSiteMap(url: string): boolean {\r\n if(this._flatSiteMapByUrl[url]) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IMarketingService} from './marketing.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {encodeUriRecursive} from '../../../utils/url-utils';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\n\r\n\r\nconst TEST_DATA_KEY = 'testdata';\r\n\r\nexport class MarketingService extends ServiceBase implements IMarketingService {\r\n\r\n private get _sCut(): any {\r\n return this.services.window.getGlobalProperty('sCut');\r\n }\r\n\r\n private get _sCutQueryParams(): string | null {\r\n let sCut = this._sCut;\r\n if(sCut) {\r\n return sCut.toString();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n appendSCutToUrl(url: string): string {\r\n if(!url) {\r\n return url;\r\n }\r\n\r\n if(!this._sCutQueryParams) {\r\n return url;\r\n }\r\n\r\n let urlParts = url.split('?');\r\n let queryParams = (urlParts[1] || '').trim();\r\n if(queryParams) {\r\n if(queryParams.endsWith('&')) {\r\n return urlParts[0] + '?' + queryParams + this._sCutQueryParams;\r\n } else {\r\n return urlParts[0] + '?' + queryParams + '&' + this._sCutQueryParams;\r\n }\r\n } else {\r\n return urlParts[0] + '?' + this._sCutQueryParams;\r\n }\r\n }\r\n\r\n private _getDlp(): string {\r\n let urlWithoutSearchAndHash = this.services.location.currentUri.getUrlWithoutSearchAndHash();\r\n if (urlWithoutSearchAndHash.includes(\"localhost\")) {\r\n urlWithoutSearchAndHash = urlWithoutSearchAndHash.replace(\"localhost\", \"casinoAOD\");\r\n }\r\n return urlWithoutSearchAndHash;\r\n }\r\n\r\n private _convertParameterToNumber(parameterName: string, parameterValue): number {\r\n let dlAsNumber = parseInt((parameterValue || '').trim());\r\n if(Check.isNumber(dlAsNumber)) {\r\n return dlAsNumber;\r\n } else {\r\n this.services.logger.error(`Cannot convert marketing parameter ${parameterName} to number because its value is ${parameterValue}`);\r\n return 999999;\r\n }\r\n }\r\n\r\n getMarketingData(marketingParams?: MarketingParams): any {\r\n let sCut = this._sCut;\r\n if(!Check.isObject(sCut)) {\r\n return {};\r\n }\r\n\r\n if(!sCut[\"all\"]) {\r\n this.services.logger.warning(`sCut.all function doesn't exists`);\r\n return {};\r\n }\r\n\r\n let sCutData = sCut[\"all\"]();\r\n\r\n if(!sCutData) {\r\n this.services.logger.warning(`sCut.all() returned ${sCutData}`);\r\n return {};\r\n }\r\n\r\n marketingParams = marketingParams || {};\r\n\r\n let additionalParams: any = {...sCutData};\r\n delete additionalParams[TEST_DATA_KEY];\r\n if(!additionalParams.wtc && marketingParams.wtc) {\r\n additionalParams.wtc = marketingParams.wtc;\r\n }\r\n\r\n\r\n let testData: any = {};\r\n\r\n try {\r\n testData = sCutData[TEST_DATA_KEY] ? JSON.parse(sCutData[TEST_DATA_KEY]) : {}\r\n } catch (err) {\r\n this.services.logger.error('Failed to parse sCut TestData');\r\n return {};\r\n }\r\n\r\n if(!testData.dl && marketingParams.dl) {\r\n testData.dl = marketingParams.dl;\r\n }\r\n\r\n if(testData.dl) {\r\n //We try to convert the dl to number to see if it is a valid number\r\n //but we must send it as a string because membership code will throw error on GetFunnelData if it will be number\r\n testData.dl = (this._convertParameterToNumber('dl', testData.dl)).toString();\r\n }\r\n\r\n testData.dlp = this._getDlp();\r\n\r\n if(additionalParams.dlp) {\r\n additionalParams.dlp = testData.dlp;\r\n }\r\n\r\n return encodeUriRecursive({\r\n sr: sCutData.sr,\r\n TestData: testData,\r\n AdditionalParams: additionalParams\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","import {LanguageSwitcherItemConfiguration} from '../../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _config: LanguageSwitcherItemConfiguration, private services: IServiceFactoryExtended) {\r\n }\r\n\r\n get title(): string {\r\n return this._config.title;\r\n }\r\n\r\n get url(): string {\r\n return this._config.url;\r\n }\r\n\r\n get isCurrent(): boolean {\r\n return false;\r\n }\r\n\r\n makeCurrent(): void {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigation','Language', this.title);\r\n\r\n this._executeOnClickJs();\r\n let url = this._config.url;\r\n\r\n if(this.services.device.hybrid.isEmbedded) {\r\n this.services.window.openSelf(url);\r\n } else {\r\n this._createCookie().then(() => {\r\n this.services.user.logout();\r\n setTimeout(() => {\r\n if(this._config.sendFunnelParameters) {\r\n url = this.services.marketing.appendSCutToUrl(url);\r\n }\r\n this.services.window.openSelf(url);\r\n }, 200);\r\n })\r\n }\r\n }\r\n\r\n private _createCookie(): Promise {\r\n if(this.services.user.isAuthorized) {\r\n return this.services.user.getAutoLoginToken()\r\n .then(token => {\r\n this.services.cookies.createDomainCookie('orbit_autologin_token', token);\r\n }).catch(() => {\r\n this.services.logger.error('Failed to get autologin token in order to switch language');\r\n });\r\n } else {\r\n return Promise.resolve();\r\n }\r\n }\r\n\r\n private _executeOnClickJs(): void {\r\n try {\r\n\r\n\r\n if (!this._config.onClickJs) {\r\n return;\r\n }\r\n\r\n if (!Check.isString(this._config.onClickJs)) {\r\n this.services.logger.error(`onClickJs is not a string for language switcher item ${this.title}`);\r\n return;\r\n }\r\n\r\n if (this._config.onClickJs.length > 50) {\r\n this.services.logger.error(`Too long callback method for language switcher item ${this.title} click event: ${this._config.onClickJs.substring(0, 50)} ...`);\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line\r\n let func = new Function(this._config.onClickJs);\r\n func();\r\n }\r\n catch (err) {\r\n this.services.logger.error(`Failed to execute onClickJs for language swithcer item ${this.title}; onClickJs: ${this._config.onClickJs}`, err);\r\n }\r\n }\r\n}\r\n\r\n\r\n","import {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherSection {\r\n constructor(private _services: IServiceFactoryExtended, private _title: string, private _fallbackTitleKey: string, private _items: ILanguageSwitcherItem[]) {\r\n\r\n }\r\n\r\n get title(): string {\r\n if(this._title) {\r\n return this._title;\r\n }\r\n\r\n return this._services.translation.translate(this._fallbackTitleKey);\r\n }\r\n\r\n get items(): ILanguageSwitcherItem[] {\r\n return this._items;\r\n }\r\n}\r\n","import {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class SelectedLanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _title: string) {\r\n\r\n }\r\n get isCurrent(): boolean {\r\n return true;\r\n }\r\n get title(): string {\r\n return this._title;\r\n }\r\n\r\n get url(): string {\r\n return '';\r\n }\r\n\r\n makeCurrent(): void {\r\n }\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {ILanguageData, ILanguageService} from './language.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {TranslatedText} from './translated-text';\r\n\r\nimport {LanguageSwitcherStructure} from './language-switcher/language-switcher-structure';\r\nimport {LanguageSwitcherItem} from './language-switcher/language-switcher-item';\r\nimport {LanguageSwitcherSection} from './language-switcher/language-switcher-section';\r\nimport {SelectedLanguageSwitcherItem} from './language-switcher/selected-language-switcher-item';\r\nimport {ILanguageSwitcherItem} from './language-switcher/language-switcher-item.interface';\r\nimport {\r\n LanguageSwitcherConfiguration,\r\n LanguageSwitcherItemConfiguration, LanguageSwitcherSectionConfiguration\r\n} from '../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\n\r\nexport class LanguageService extends ServiceBase implements ILanguageService {\r\n constructor(private _defaultLanguageData: ILanguageData, services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._loadLanguageData();\r\n\r\n if (this._isLanguageSwitcherEnabled) {\r\n this._setLanguageSwitcher(this.services.configuration.startupConfiguration.b2c.languageSwitcher);\r\n } else {\r\n this._setLanguageSwitcher(null);\r\n }\r\n\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n (uri) => {\r\n this._updateLanguageSwitcher(uri.pathName.toString());\r\n }, {\r\n fireImmediately: this.languageSwitcher.isEmpty\r\n });\r\n }\r\n\r\n private get _isLanguageSwitcherEnabled(): boolean {\r\n return Boolean(this.services.configuration.data.languageSwitcher?.display)\r\n }\r\n\r\n\r\n private _lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = '';\r\n\r\n public get isRTLLanguage(): boolean {\r\n return this.services.dom.getElementsByTagName('html')[0].classList.contains('cgp-rtl');\r\n }\r\n\r\n get currentLanguage(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso3;\r\n }\r\n\r\n get currentLanguageIso2(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso2;\r\n }\r\n\r\n\r\n private _getDefaultTexts(): TranslatedText {\r\n return this._defaultLanguageData.text || {};\r\n }\r\n\r\n\r\n private _loadLanguageData(): void {\r\n let textOverrides = this.services.configuration.startupConfiguration.orbit.lang?.text;\r\n let translatedTexts = {...this._getDefaultTexts(), ...textOverrides};\r\n\r\n this._setTranslatedTexts(translatedTexts);\r\n }\r\n\r\n\r\n @observable.ref\r\n translatedTexts: TranslatedText = {};\r\n\r\n @action.bound\r\n private _setTranslatedTexts(data: TranslatedText): void {\r\n this.translatedTexts = data;\r\n }\r\n\r\n @observable.ref\r\n languageSwitcher: LanguageSwitcherStructure;\r\n\r\n @action.bound\r\n private _setLanguageSwitcher(langSwitcherConfig: LanguageSwitcherConfiguration): void {\r\n let languagesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.languages, langSwitcherConfig && langSwitcherConfig.languageSettings, 'CHOOSE_LANG');\r\n\r\n let countriesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.countries, langSwitcherConfig && langSwitcherConfig.countrySettings, 'CHOOSE_COUNTRY')\r\n\r\n this.languageSwitcher = {\r\n languagesSection: languagesSection,\r\n countriesSection: countriesSection,\r\n isEmpty: languagesSection.items.length === 0 && countriesSection.items.length === 0\r\n };\r\n }\r\n\r\n private _extractLangSwitcherSection(itemsConfig: LanguageSwitcherItemConfiguration[], sectionConfig: LanguageSwitcherSectionConfiguration, fallbackTitleKey: string): LanguageSwitcherSection {\r\n itemsConfig = itemsConfig || [];\r\n sectionConfig = sectionConfig || {title: '', current: ''};\r\n\r\n let items: ILanguageSwitcherItem[] = [];\r\n\r\n if(sectionConfig.current && itemsConfig.length > 0) {\r\n items.push(new SelectedLanguageSwitcherItem(sectionConfig.current));\r\n }\r\n\r\n itemsConfig.forEach(cfg => {\r\n items.push(new LanguageSwitcherItem(cfg, this.services));\r\n });\r\n\r\n return new LanguageSwitcherSection(this.services,\r\n sectionConfig.title,\r\n fallbackTitleKey,\r\n items);\r\n\r\n }\r\n\r\n _updateLanguageSwitcher(url: string) {\r\n if (this.languageSwitcher.isEmpty) {\r\n return;\r\n }\r\n\r\n if(this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher !== url && !this.services.device.hybrid.isEmbedded) {\r\n this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = url;\r\n\r\n this.services.cmsApi\r\n .getLanguageSwitcherConfiguration(url)\r\n .then(config => {\r\n if (config) { this._setLanguageSwitcher(config); }\r\n });\r\n }\r\n }\r\n}\r\n","import {MenuItemsConfiguration} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemConfigReaderBase} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader-base\";\r\nimport {\r\n MenuItemAnalyticsCategoryAndLabel\r\n} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory, OrbitUserFlowAnalyticsLabel} from \"../../analytics/analytics.service.interface\";\r\n\r\n\r\nexport class SideMenuItemConfigReader extends MenuItemConfigReaderBase {\r\n\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return this.services.configuration.data.sideMenu.menuItemsOverride;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel {\r\n return {\r\n category: OrbitUserFlowAnalyticsCategory.Navigation,\r\n label: OrbitUserFlowAnalyticsLabel.NavigationMenu\r\n };\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuImageBox = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {GenericSideMenuItemDefaultBox} from \"./generic-side-menu-item.box\";\r\n\r\nconst GenericSideMenuItemPreIconDefaultBox = styled.span<{active: boolean}>`\r\n`;\r\n\r\nconst GenericSideMenuItemPreIconSIBox = styled(GenericSideMenuItemPreIconDefaultBox)`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: -1rem;\r\n width: 4px;\r\n border-radius: 0.5rem 0 0 0.5rem;\r\n\r\n background-color: ${(props) => props.active ? props.theme.colors.textActive : \"transparent\"};\r\n ${GenericSideMenuItemDefaultBox}:hover & {\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n }\r\n\r\n @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 {ISideMenuService} from './side-menu.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {SideMenuItemConfigReader} from \"./menu-items/side-menu-item-config-reader\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemRenderer} from \"../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {GenericSideMenuItemRenderer} from \"./menu-items/generic-side-menu-item.renderer\";\r\n\r\nimport {\r\n loadCustomMenuItemsRenderers\r\n} from \"../menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader\";\r\n\r\nexport class SideMenuService extends ServiceBase implements ISideMenuService, IOverlayConsumer {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n this.services.overlay.registerConsumer(this);\r\n this.menuItemConfigReader = new SideMenuItemConfigReader(services);\r\n\r\n let rendererModules = require.context('./menu-items/custom-renderers', true, /.+\\.renderer\\.(ts|tsx)$/);\r\n this._customMenuItems = loadCustomMenuItemsRenderers(rendererModules.keys().map(rendererModules), this.menuItemConfigReader, this.services);\r\n\r\n\r\n }\r\n\r\n readonly menuItemConfigReader: SideMenuItemConfigReader;\r\n private readonly _customMenuItems: Record;\r\n\r\n\r\n getMenuItem(key: MenuItemKey): IMenuItemRenderer {\r\n let menuItemRenderer = this.services.regulation.current.menuItems.getSideMenuItem(key);\r\n if(menuItemRenderer) {\r\n return menuItemRenderer;\r\n }\r\n\r\n menuItemRenderer = this._customMenuItems[key];\r\n if(menuItemRenderer) {\r\n return menuItemRenderer;\r\n }\r\n\r\n return new GenericSideMenuItemRenderer(key, this.menuItemConfigReader, this.services);\r\n }\r\n\r\n @observable.ref\r\n isMobileMenuOpen: boolean = false;\r\n\r\n @action.bound\r\n private _setIsMobileMenuOpen(shouldOpen: boolean) {\r\n this.isMobileMenuOpen = shouldOpen;\r\n }\r\n\r\n get needsOverlay(): boolean {\r\n return this.isMobileMenuOpen;\r\n }\r\n\r\n onOverlayClicked() {\r\n this.closeMobileMenu();\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return this.zIndex - 1;\r\n }\r\n\r\n get zIndex(): number {\r\n return 120;\r\n }\r\n\r\n openMobileMenu(): void {\r\n if (!this.isMobileMenuOpen) {\r\n this.services.userMenu.closeMenu();\r\n this.services.gameRunner.currentRunningGame?.closeGame({\r\n shouldSuggestNextGame: false\r\n });\r\n this._setIsMobileMenuOpen(true);\r\n }\r\n }\r\n\r\n closeMobileMenu(): void {\r\n if (this.isMobileMenuOpen) {\r\n this.services.gameSearch.closeSearchResult();\r\n this.closeMobileLanguageSwitcher();\r\n this._setIsMobileMenuOpen(false);\r\n }\r\n }\r\n\r\n\r\n\r\n @observable.ref\r\n isMobileLanguageSwitcher: boolean = false;\r\n\r\n @action.bound\r\n openMobileLanguageSwitcher(): void {\r\n this.isMobileLanguageSwitcher = true;\r\n }\r\n\r\n @action.bound\r\n closeMobileLanguageSwitcher(): void {\r\n this.isMobileLanguageSwitcher = false;\r\n }\r\n}\r\n","import {GameInfo, OpenGameParameters} from '../games/game-info';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SuggestedLinkConfiguration} from '../configurations/config-data-sections/game-search-box.configuration';\r\nimport {IMenuItemAction} from \"../menu-item-action-factory/menu-item-action.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\r\n\r\nexport interface ISearchSuggestion {\r\n readonly key: string;\r\n readonly text: string;\r\n readonly linkIconClass: string;\r\n readonly type: string;\r\n readonly gameInfo: GameInfo | null;\r\n executeAction(): void;\r\n}\r\n\r\nexport const SUGGESTED_CATEGORIES = \"Suggested_Categories\";\r\n\r\n\r\nexport class GameSuggestion implements ISearchSuggestion {\r\n constructor(private services: IServiceFactoryExtended,\r\n private _gameInfo: GameInfo,\r\n private _analyticsLabel: string,\r\n private _index?: number,\r\n private _aiSortingType?: string) {\r\n\r\n }\r\n\r\n get gameInfo(): GameInfo {\r\n return this._gameInfo;\r\n }\r\n\r\n get type(): string {\r\n return this._analyticsLabel;\r\n }\r\n\r\n get key(): string {\r\n return this._gameInfo.gameType + '_' + this._gameInfo.title;\r\n }\r\n\r\n get text(): string {\r\n return this._gameInfo.title;\r\n }\r\n\r\n get linkIconClass(): string {\r\n return this._gameInfo.gameCategory;\r\n }\r\n\r\n executeAction(): void {\r\n\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: true,\r\n pageName: 'Search',\r\n gameIndex: this._index,\r\n listTitle: this.type,\r\n aiSortingType: this._aiSortingType,\r\n showIntermediatePage: this.services.cmsSegmentation.isCstatus === false //Show intermediate page only for user with cStatus == false, TASK 1832892\r\n };\r\n\r\n this._gameInfo.open(openGameParams);\r\n }\r\n}\r\n\r\n\r\nexport class SearchLinkSuggestion implements ISearchSuggestion {\r\n constructor(private _linkConfig: SuggestedLinkConfiguration,\r\n private services: IServiceFactoryExtended,\r\n private _analyticsAction: string) {\r\n if(this._linkConfig.menuItemKey) {\r\n this._menuItem = this.services.gameSearch.getMenuItemAction(this._linkConfig.menuItemKey);\r\n }\r\n }\r\n\r\n private readonly _menuItem: IMenuItemAction | null = null;\r\n\r\n get gameInfo(): GameInfo | null{\r\n return null;\r\n }\r\n\r\n get type(): string {\r\n return this._analyticsAction;\r\n }\r\n\r\n get key(): string {\r\n return this._linkConfig.text;\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate(this._linkConfig.text);\r\n }\r\n\r\n get linkIconClass(): string {\r\n return 'link';\r\n }\r\n\r\n executeAction() {\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search, this.type, this.text);\r\n if(this._linkConfig.linkId) {\r\n this.services.linksNavigation.navigateLink({\r\n linkId: this._linkConfig.linkId,\r\n linkHash: this._linkConfig.linkHash\r\n });\r\n }\r\n else if(this._menuItem) {\r\n this._menuItem.execute({\r\n linkHash: this._linkConfig.linkHash\r\n });\r\n } else {\r\n this.services.logger.error(`Navigation for search suggestion link ${this.key} not specified`)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport class GameSearchResult {\r\n constructor(private _games: ISearchSuggestion[], private _suggestedCategories: ISearchSuggestion[], private _suggestedGames: ISearchSuggestion[]) {}\r\n\r\n get suggestedGames(): ISearchSuggestion[] {\r\n return this._suggestedGames;\r\n }\r\n\r\n get games(): ISearchSuggestion[] {\r\n return this._games;\r\n }\r\n\r\n get suggestedCategories(): ISearchSuggestion[] {\r\n return this._suggestedCategories;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchTitleDefaultBox = styled.div`\r\n margin: 1rem 0;\r\n font-size: 1.4rem;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n color: ${props => props.theme.colors.text};\r\n`;","import { baseColors } from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\nimport {SearchTitleDefaultBox} from \"./search-title.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const SearchTitleMrGreenMiniOrbitBox = styled(SearchTitleDefaultBox)`\r\n color:${baseColors.warmWhite};\r\n`;\r\n","import {SearchTitleDefaultBox} from \"./search-title.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchTitleMrGreenMiniOrbitBox} from \"./search-title-mr-green-mini-orbit.box\";\r\n\r\nexport const SearchTitleBox = styledByTheme( SearchTitleDefaultBox).forMrGreenCis(SearchTitleMrGreenMiniOrbitBox).forMrGreenCip(SearchTitleMrGreenMiniOrbitBox).apply();","import 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 SearchInputAreaCasino888Box = styledByDevice(SearchInputAreaPCBox, SearchInputAreaMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaBallysDoverPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaBallysDoverBox = styledByDevice(SearchInputAreaBallysDoverPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaDelawareParkPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaDelawareParkBox = styledByDevice(SearchInputAreaDelawareParkPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaHarringtonPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaHarringtonBox = styledByDevice(SearchInputAreaHarringtonPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputArenaSIPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 1.7px solid ${props => props.theme.colors.textMiddleDark};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n\r\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 {SearchInputAreaCasino888Box} from \"./search-input-area.casino888.box\";\r\nimport {SearchInputAreaBallysDoverBox} from \"./search-input-area.ballysdover.box\";\r\nimport {SearchInputAreaDelawareParkBox} from \"./search-input-area.delawarepark.box\";\r\nimport {SearchInputAreaHarringtonBox} from \"./search-input-area.harrington.box\";\r\nimport {SearchInputArenaSIBox} from \"./search-input-arena.si.box\";\r\nimport {SearchInputAreaMrGreenBox} from \"./search-input-area.mrgreen.box\";\r\nimport { SearchInputAreaMrGreenCisBox } from \"./search-input-area.mrgreenCis.box\";\r\n\r\n\r\nexport const SearchInputAreaBox = styledByTheme(SearchInputAreaDefaultBox)\r\n .forCasino888(SearchInputAreaCasino888Box)\r\n .forCasino777(SearchInputAreaCasino777Box)\r\n .forHarrahs(SearchInputArenaHarrahsBox)\r\n .forBallysDover(SearchInputAreaBallysDoverBox)\r\n .forDelawarePark(SearchInputAreaDelawareParkBox)\r\n .forHarrington(SearchInputAreaHarringtonBox)\r\n .forSI(SearchInputArenaSIBox)\r\n .forSICis(SearchInputArenaSIBox)\r\n .forMrGreen(SearchInputAreaMrGreenBox)\r\n .forMrGreenCis(SearchInputAreaMrGreenCisBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchInputAreaBox} from \"./boxes/search-input-area-box/search-input-area.box\";\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\n\r\nexport const SearchInputArea = observer(class SearchInputArea extends OrbitComponent<{}> {\r\n\r\n private _timeoutRef = null;\r\n private readonly HIDE_KEYBOARD_DELAY_MS: number = 2000;\r\n\r\n private _onChangeHandler = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n }\r\n\r\n private _onChangeHandlerWithBlur = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n\r\n if (this._timeoutRef) {\r\n clearTimeout(this._timeoutRef);\r\n }\r\n\r\n this._timeoutRef = setTimeout(() => {\r\n this._timeoutRef = null;\r\n if (this.services.gameSearch.currentSearchText) {\r\n this.services.gameSearch.searchInputRef.current?.blur();\r\n }\r\n }, this.HIDE_KEYBOARD_DELAY_MS);\r\n };\r\n\r\n private _onClickHandler = () => {\r\n this.services.gameSearch.openSearchResult();\r\n };\r\n\r\n render() {\r\n\r\n const onChangeHandler = this.services.device.isMobile ? this._onChangeHandlerWithBlur : this._onChangeHandler;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import 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.65rem;\r\n transform: translateY(-50%) scaleX(-1);;\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n z-index: 2;\r\n pointer-events: none;\r\n color: ${props => props.theme.colors.textLight};\r\n\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 styled from \"styled-components\";\r\nimport {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\n\r\n// because on MrGreen the border of the search input is 2px instead of 1px we must adjust the position of the icon\r\nexport const SearchIconMrGreenBox = styled(SearchIconBoxDefault)`\r\n left: 0.8rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n left: 1.6rem;\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\nimport {SearchIconMrGreenBox} from \"./search-icon.mrgreen.box\";\r\n\r\nexport const SearchIconBox = styledByTheme(SearchIconBoxDefault)\r\n .forCasino777(SearchIconCasino777Box)\r\n .forHarrahs(SearchIconHarrahsBox)\r\n .forWsop(SearchIconWSOPBox)\r\n .forMrGreen(SearchIconMrGreenBox)\r\n .forMrGreenCis(SearchIconMrGreenBox)\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 GameSearchMrGreenCisBox = styled(GameSearchDefaultBox)`\r\n height: 100%;\r\n background: linear-gradient(177.59deg, \r\n ${({theme}) => theme.colors.brandPrimary} 12.03%,\r\n ${({theme}) => theme.colors.brandPrimaryDark} 27.06%, \r\n ${({theme}) => theme.colors.brandPrimaryDark} 37.9%);\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\nimport { GameSearchMrGreenCisBox } from \"./game-search.mrgreenCis.box\";\r\n\r\nexport const GameSearchBox = styledByTheme(GameSearchDefaultBox)\r\n .forMrGreenCis(GameSearchMrGreenCisBox)\r\n .forMrGreenCip(GameSearchMrGreenCisBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SearchResultComponent} from './search-result/search-result.component';\r\nimport {SearchInputMobileComponent} from \"./search-input/search-input-mobile/search-input-mobile.component\";\r\nimport {SearchInputPCComponent} from \"./search-input/search-input-pc/search-input-pc.component\";\r\nimport {GameSearchBox} from \"./boxes/game-search-box/game-search.box\";\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\nexport interface IGameSearchComponentProps {\r\n className?: string;\r\n}\r\n\r\nexport const GameSearchComponent = observer(\r\n class GameSearchComponent extends OrbitComponent {\r\n _renderSearchInput() {\r\n return this.services.device.isMobile ? : ;\r\n }\r\n\r\n private _onUpdate = () => {\r\n this.services.gameSearch.searchResultComponentRef.current?.scrollTo(0, 0);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.gameSearch.searchInputRef?.current.addEventListener(\"input\", this._onUpdate);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.services.gameSearch.searchInputRef?.current.removeEventListener(\"input\", this._onUpdate);\r\n super.componentWillUnmount();\r\n }\r\n \r\n render() {\r\n return (\r\n \r\n {this._renderSearchInput()}\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n);\r\n","import {MenuItemConfigReaderBase} from \"./menu-item-config-reader-base\";\r\nimport {\r\n MenuItemsConfiguration\r\n} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemAnalyticsCategoryAndLabel} from \"./menu-item-config-reader.interface\";\r\n\r\nexport class MenuItemDefaultConfigReader extends MenuItemConfigReaderBase {\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return undefined;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel | null {\r\n return null;\r\n }\r\n}","import React, {createRef} from \"react\";\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGameSearchService} from './game-search.service.interface';\r\nimport {DomEventSubscription} from '../../../utils/event-listener-registration';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {\r\n SearchLinkSuggestion,\r\n GameSearchResult,\r\n GameSuggestion,\r\n ISearchSuggestion,\r\n SUGGESTED_CATEGORIES\r\n} from './game-search-result';\r\nimport {SuggestedLinkConfiguration} from '../configurations/config-data-sections/game-search-box.configuration';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo, gameInfoComparerByTitle} from '../games/game-info';\r\nimport {IModalDialogHandler} from \"../dialog/dialog.service.interface\";\r\nimport {GameSearchComponent} from \"../../components/game-search/game-search.component\";\r\nimport {removeSpecialCharacters} from \"../../../utils/string-helpers\";\r\nimport {LIST_TYPE_ID} from \"../../../common/const/ai-trending-list-ids-map\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemAction} from \"../menu-item-action-factory/menu-item-action.interface\";\r\nimport {\r\n MenuItemDefaultConfigReader\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-default-config-reader\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\r\n\r\nexport class GameSearchService extends ServiceBase implements IGameSearchService, IOverlayConsumer {\r\n\r\n private _closeMobileSideMenuOnSearchClose: boolean = false;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.overlay.registerConsumer(this);\r\n\r\n this._menuItemConfigReader = new MenuItemDefaultConfigReader(services);\r\n\r\n\r\n this.reaction(() => this.services.games.gamesMap,\r\n () => {\r\n //this is to avoid circular dependency between this service and ISearchSuggestion implementations\r\n setTimeout(() => {\r\n this._resetGamesSearchListCache();\r\n this.search(this.currentSearchText);\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => {\r\n return {\r\n trendingRecommendedGamesForPlayerByBets: this.services.aiEngine.trendingRecommendedGamesForPlayerByBets,\r\n aiRecommendedGames: this.services.aiEngine.aiRecommendedGames\r\n }\r\n },\r\n () => {\r\n if (!this.isSearchInProgress) {\r\n this._setDefaultSearchResult();\r\n }\r\n });\r\n }\r\n\r\n private readonly _menuItemConfigReader: MenuItemDefaultConfigReader;\r\n\r\n private _miniOrbitSearchBoxDialogHandler: IModalDialogHandler | null = null;\r\n\r\n private _searchInputRef: React.RefObject = createRef();\r\n private _searchComponentRef: React.RefObject = createRef();\r\n private _searchResultComponentRef: React.RefObject = createRef();\r\n\r\n private _gamesSearchListCache: GameInfo[] | null = null;\r\n private get gamesSearchList(): GameInfo[] {\r\n if (!this._gamesSearchListCache) {\r\n this._gamesSearchListCache = this._buildGamesSearchList()\r\n }\r\n\r\n return this._gamesSearchListCache;\r\n }\r\n\r\n getMenuItemAction(key: MenuItemKey): IMenuItemAction {\r\n return this.services.menuItemActionFactory.getMenuItemAction(key, this._menuItemConfigReader);\r\n }\r\n _resetGamesSearchListCache() {\r\n this._gamesSearchListCache = null;\r\n }\r\n\r\n private _buildGamesSearchList(): GameInfo[] {\r\n return Object.values(this.services.games.gamesMap).sort(gameInfoComparerByTitle);\r\n }\r\n\r\n private _openMiniOrbitSearchDialog(): void {\r\n this.services.dialog.showModal((dialogHandler) => {\r\n this._miniOrbitSearchBoxDialogHandler = dialogHandler;\r\n return ();\r\n }, {\r\n title: ' ',\r\n onClosed: () => this.closeSearchResult(),\r\n forceFullscreenTablet: true\r\n });\r\n }\r\n\r\n get needsOverlay(): boolean {\r\n return this.isSearchBoxOpened;\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n onOverlayClicked() {\r\n this.closeSearchResult();\r\n }\r\n\r\n private _openFullOrbitSearchResult() {\r\n this._disposeDocumentClickSubscription();\r\n /*\r\n * Handle search result close on document click\r\n * Wonder why we use setTimeout? From React 17 the events are bound to react-dom root element instead of window.document\r\n * Read more here: https://github.com/facebook/react/issues/20636\r\n */\r\n setTimeout(() => {\r\n this._documentClickSubscription = this.services.dom.subscribeTo.click(this._handleClickOutsideSearchComponent);\r\n });\r\n\r\n }\r\n\r\n get searchInputRef() {\r\n return this._searchInputRef;\r\n }\r\n\r\n get searchComponentRef() {\r\n return this._searchComponentRef;\r\n }\r\n\r\n get searchResultComponentRef() {\r\n return this._searchResultComponentRef;\r\n }\r\n\r\n openSearchResult(): void {\r\n if (this.isSearchBoxOpened) { //No need to open it if is already opened\r\n return;\r\n }\r\n\r\n if (this.services.miniOrbit.isEnabled) {\r\n this._openMiniOrbitSearchDialog();\r\n } else {\r\n this._openFullOrbitSearchResult();\r\n }\r\n\r\n this._setIsSearchBoxOpened(true);\r\n\r\n this.searchInputRef?.current?.focus();\r\n\r\n if (this.services.device.isMobile) {\r\n this._closeMobileSideMenuOnSearchClose = !this.services.sideMenu.isMobileMenuOpen;\r\n if (!this.services.sideMenu.isMobileMenuOpen) {\r\n this.services.sideMenu.openMobileMenu();\r\n }\r\n }\r\n\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", this.services.routing.currentRoute?.data?.arenaType || 'Header', 'Search_Open');\r\n }\r\n\r\n\r\n private _documentClickSubscription: DomEventSubscription | null = null;\r\n\r\n private _disposeDocumentClickSubscription() {\r\n if (this._documentClickSubscription) {\r\n this._documentClickSubscription.dispose();\r\n this._documentClickSubscription = null;\r\n }\r\n }\r\n\r\n\r\n private _closeMiniOrbitSearchDialog = () => {\r\n if (this._miniOrbitSearchBoxDialogHandler) {\r\n this._miniOrbitSearchBoxDialogHandler.close();\r\n this._miniOrbitSearchBoxDialogHandler = null;\r\n }\r\n };\r\n\r\n\r\n private _closeFullOrbitSearchResult = () => {\r\n this._disposeDocumentClickSubscription();\r\n };\r\n\r\n private _handleClickOutsideSearchComponent = (event) => {\r\n if (this._searchComponentRef.current && !this._searchComponentRef.current.contains(event.target)) {\r\n this.closeSearchResult();\r\n }\r\n }\r\n\r\n closeSearchResult = () => {\r\n if (!this.isSearchBoxOpened) { //if is already closed don't close it again\r\n return;\r\n }\r\n if (this.services.miniOrbit.isEnabled) {\r\n this._closeMiniOrbitSearchDialog();\r\n } else {\r\n this._closeFullOrbitSearchResult();\r\n }\r\n\r\n if (this._closeMobileSideMenuOnSearchClose) {\r\n this._closeMobileSideMenuOnSearchClose = false;\r\n this.services.sideMenu.closeMobileMenu();\r\n }\r\n\r\n this._setIsSearchBoxOpened(false);\r\n\r\n //Will called when search box close or when game is selected (And closing the results as well)\r\n if (this.isSearchInProgress)\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search, 'Entry', this.currentSearchText);\r\n\r\n this._setCurrentSearchText('');\r\n this._setDefaultSearchResult();\r\n };\r\n\r\n private _getGameSuggestion() {\r\n const gamesSuggestions: GameSuggestion[] = [];\r\n let aiSortingTypeForAnalytics: string = \"byactiveusers\";\r\n let aiGames = this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n\r\n if (!(aiGames?.length > 0)) {\r\n aiSortingTypeForAnalytics = 'config';\r\n aiGames = this.services.configuration.data.search.suggestedGames;\r\n }\r\n\r\n aiGames.forEach(gameType => {\r\n const gameInfo = this.services.games.gamesMap[gameType];\r\n\r\n if (!Check.isNullOrUndefined(gameInfo)) {\r\n gamesSuggestions.push(new GameSuggestion(this.services, gameInfo, `Suggested_Games_${aiSortingTypeForAnalytics}`, gamesSuggestions.length, aiSortingTypeForAnalytics))\r\n }\r\n });\r\n\r\n return gamesSuggestions.slice(0, 6);\r\n }\r\n\r\n private _setDefaultSearchResult() {\r\n const quickLinks = this.services.configuration.data.search.quickLinks\r\n .map(quickLinkConfig => new SearchLinkSuggestion(quickLinkConfig, this.services, 'Quick_Links'));\r\n\r\n this._setSearchResult(new GameSearchResult([], quickLinks, this._getGameSuggestion()));\r\n }\r\n\r\n @computed\r\n get isSearchInProgress(): boolean {\r\n return this.currentSearchText.length >= 2;\r\n }\r\n\r\n @observable.ref\r\n isSearchBoxOpened: boolean = false;\r\n @action.bound\r\n private _setIsSearchBoxOpened(value: boolean) {\r\n this.isSearchBoxOpened = value;\r\n }\r\n\r\n @observable.ref\r\n currentSearchText: string = '';\r\n\r\n @action.bound\r\n private _setCurrentSearchText(value: string): void {\r\n this.currentSearchText = value;\r\n }\r\n\r\n search(text: string): void {\r\n text = text || '';\r\n\r\n if (!this.isSearchBoxOpened && text.length > 0) {\r\n this.openSearchResult();\r\n }\r\n\r\n this._setCurrentSearchText(text);\r\n\r\n if (this.isSearchInProgress) { //we only search if there are at least 2 characters typed in the search box\r\n let regEx = new RegExp(removeSpecialCharacters(text), 'gi');\r\n this._setSearchResult(this._getSearchResult(regEx));\r\n } else {\r\n this._setDefaultSearchResult();\r\n }\r\n }\r\n\r\n\r\n private _getSearchResult(regEx: RegExp): GameSearchResult {\r\n let games = this._searchForGames(regEx);\r\n let suggestedCategories: ISearchSuggestion[];\r\n if (games.length === 0) {\r\n suggestedCategories = this._getDefaultSuggestedCategories();\r\n } else {\r\n suggestedCategories = this._searchForSuggestedCategories(regEx);\r\n }\r\n\r\n return new GameSearchResult(games, suggestedCategories, this._getGameSuggestion());\r\n }\r\n\r\n @observable.ref\r\n searchResult: GameSearchResult;\r\n\r\n @action.bound\r\n private _setSearchResult(value: GameSearchResult) {\r\n this.searchResult = value;\r\n }\r\n\r\n private _searchForGames(regEx: RegExp): ISearchSuggestion[] {\r\n\r\n const result: GameInfo[] = [];\r\n const gameTypeToGameInfoObj = {};\r\n 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\r\n let bannersIdsCollection = new BannersIdCollection(bannersIds);\r\n\r\n let cmsResponseData = await this.services.cmsApi.getBanners(bannersIds);\r\n //create definitions for bannersMap that we received some content\r\n let bannersWithContent = this._extractBannersWithContent(bannersIdsCollection, cmsResponseData);\r\n\r\n //for banners that we didn't receive any content try to load a default content and then merge the results\r\n let bannersIdsWithoutContent = bannersIdsCollection.exclude(bannersWithContent.map(bannerInfo => bannerInfo.id));\r\n\r\n let fallbackBanners = await this._readFallbackBanners(bannersIdsWithoutContent);\r\n\r\n return [...bannersWithContent, ...fallbackBanners];\r\n\r\n /*.catch((err) => {\r\n let msg = bannersIds.reduce((acc, curr) => acc + '\\n' + curr.toString(), '');\r\n this.services.logger.error(`Failed to load CMS banners for ${msg}`, err);\r\n return this._readFallbackBanners(bannersIds);\r\n });\r\n */\r\n }\r\n\r\n private _extractBannersWithContent(requestedBannersIdsCollection: BannersIdCollection, cmsResponseData: BannerData[]): ReadBannersResponse {\r\n if(!Check.isArray(cmsResponseData)) {\r\n return [];\r\n }\r\n\r\n return cmsResponseData\r\n .filter(bannerData => !Check.isEmpty(bannerData.Content))\r\n .map(bannerData => {\r\n let bannerId = requestedBannersIdsCollection.getOriginalBannerId(bannerData.ComponentId, bannerData.TemplateId);\r\n return {\r\n id: bannerId,\r\n definition: new BannerDefinition(bannerData.Content, bannerId)\r\n };\r\n });\r\n }\r\n\r\n private async _readFallbackBanners(bannersIds: CmsBannerId[]): Promise {\r\n if(bannersIds.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n // for bannersMap that have fallback file we try to read the default banner content and then merge with those without fallback file\r\n let bannersIdsWithFallbackFile = bannersIds.filter(id => !Check.isEmpty(id.fallbackFileName));\r\n let bannersIdsGroupedByFallbackFile = this._groupBannersIdsByFallbackFile(bannersIdsWithFallbackFile);\r\n let fileNames = Object.keys(bannersIdsGroupedByFallbackFile);\r\n\r\n\r\n let fallbackData = await this.services.cmsApi.getFallbackBanners(fileNames);\r\n\r\n let result: ReadBannersResponse = [];\r\n fileNames.forEach(file => {\r\n let bannerContent = fallbackData[file];\r\n if(bannerContent) {\r\n result = result.concat(this._createBannersDefinitionsWithContent(bannersIdsGroupedByFallbackFile[file], bannerContent));\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n\r\n private _groupBannersIdsByFallbackFile(bannersIds: CmsBannerId[]): {[key: string]: CmsBannerId[]} {\r\n let result = {};\r\n bannersIds.forEach(bannerId => {\r\n if(!result[bannerId.fallbackFileName]) {\r\n result[bannerId.fallbackFileName] = [];\r\n }\r\n\r\n result[bannerId.fallbackFileName].push(bannerId);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _createBannersDefinitionsWithContent(bannersIds: CmsBannerId[], bannerContent: string): ReadBannersResponse {\r\n return bannersIds.map(id => {\r\n let definition: IBannerDefinition;\r\n if(Check.isEmpty(bannerContent)) {\r\n definition = new EmptyBannerDefinition();\r\n } else {\r\n definition = new BannerDefinition(bannerContent, id);\r\n }\r\n\r\n return {id: id, definition: definition};\r\n });\r\n }\r\n}\r\n\r\n\r\nclass BannersIdCollection {\r\n\r\n private _originalBannersMap = {};\r\n\r\n constructor(private _originalBannersIds: CmsBannerId[]) {\r\n this._originalBannersIds.forEach(bannerId => {\r\n this._originalBannersMap[bannerId.key] = bannerId;\r\n });\r\n }\r\n\r\n getOriginalBannerId(componentId: number, templateId: number): CmsBannerId {\r\n for(let i = 0; i < this._originalBannersIds.length; i++) {\r\n let bannerId = this._originalBannersIds[i];\r\n if(bannerId.isMatch(componentId, templateId)) {\r\n return bannerId;\r\n }\r\n }\r\n \r\n throw new Error(`Cant't find original banner id for componentId=${componentId} and templateId=${templateId}`);\r\n }\r\n\r\n exclude(bannersIdsToExclude: CmsBannerId[]): CmsBannerId[] {\r\n let bannersIdsToExcludeMap = {};\r\n bannersIdsToExclude.forEach(bannerId => bannersIdsToExcludeMap[bannerId.key] = bannerId);\r\n\r\n return this._originalBannersIds.filter(bannerId => !bannersIdsToExcludeMap[bannerId.key]);\r\n }\r\n}\r\n","import {ServiceBase} from '../../ServiceBase';\r\nimport {ICmsPagesService} from './cms-pages.service.interface';\r\nimport {\r\n ICmsPageDefinition,\r\n ICmsPageDefinitionHeadTags,\r\n IInjectedHeadTag\r\n} from './page-definition/cms-page-definition.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {CmsPageData} from '../cms-api/cms-api.service.interface';\r\nimport {Uri} from '../../location/uri/uri';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {UriPath} from \"../../location/uri-path/uri-path\";\r\nimport {UriParams} from \"../../location/uri-params/uri-params\";\r\n\r\nexport const LOAD_CONTENT_FROM_DIV_PAGE_DELAY = 250;\r\n\r\nexport class CmsPagesService extends ServiceBase implements ICmsPagesService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.location.currentUri,\r\n (uri) => this._loadCmsPage(uri),\r\n { fireImmediately: true }\r\n );\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n () => this._reloadCurrentPageContent(),\r\n { fireImmediately: true }\r\n );\r\n }\r\n\r\n private _currentUri: Uri | null = null;\r\n private _isFirstLoad = true;\r\n\r\n @observable.ref\r\n currentPage: ICmsPageDefinition | null = null;\r\n injectedPageMetaTags: IInjectedHeadTag[] = [];\r\n\r\n @action.bound\r\n private _setCurrentPage(pageDefinition: ICmsPageDefinition | null) {\r\n this.currentPage = pageDefinition;\r\n }\r\n\r\n private setCurrentPageMetaTags(headerTags: ICmsPageDefinitionHeadTags[]){\r\n\r\n const prepareElementSelector = (elementType:string, attributes = {}) => {\r\n const attributesQuery = Object.keys(attributes).reduce((query, attributeName) => {\r\n if(!Check.isString(attributes[attributeName]) || attributeName === 'tag')\r\n return query;\r\n\r\n return query + `[${attributeName}=\"${attributes[attributeName]}\"]`;\r\n }, '');\r\n\r\n return elementType + attributesQuery;\r\n }\r\n\r\n const setElementAttributes = (element, attributes = {}) => {\r\n Object.keys(attributes).forEach(attributeName => {\r\n if(attributeName !== 'tag')\r\n element.setAttribute(attributeName, attributes[attributeName]);\r\n });\r\n }\r\n\r\n const addMetaTags = (headerTags: ICmsPageDefinitionHeadTags[]) => {\r\n headerTags.forEach(headerTag => {\r\n const {tag, content, href, ...rest} = headerTag;\r\n try {\r\n if(tag){\r\n let metaTag = this.services.dom.querySelector(prepareElementSelector(tag, rest)) as HTMLElement;\r\n const injectedPageMetaTagPreviousElement = metaTag;\r\n\r\n if(!metaTag){\r\n metaTag = this.services.dom.createElement(tag);\r\n this.services.dom.head.appendChild(metaTag);\r\n }\r\n\r\n this.injectedPageMetaTags.push({element: metaTag, previous: injectedPageMetaTagPreviousElement ? (injectedPageMetaTagPreviousElement.cloneNode() as HTMLElement) : undefined});\r\n setElementAttributes(metaTag, headerTag);\r\n }\r\n }catch (err){\r\n this.services.logger.error(`Failed to add metaTag: ${tag}`, err);\r\n }\r\n\r\n })\r\n }\r\n\r\n const removeMetaTags = (injectedMetaTags: IInjectedHeadTag[]) => {\r\n (injectedMetaTags || []).forEach(({element, previous}) => {\r\n if(previous){\r\n element.parentNode?.replaceChild(previous, element);\r\n }else{\r\n element.remove();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * To have more meta tags allowed to be injected from pageContent, add an other Regex here\r\n */\r\n const allowedTags = '(link.*(?:\\\\[rel=\"canonical\"]))|' +\r\n '(meta.*(?:\\\\[property=\"og:updated_time\"]))|' +\r\n '(meta.*(?:\\\\[property=\"og:description\"]))|' +\r\n '(meta.*(?:\\\\[property=\"og:url\"]))|' +\r\n '(meta.*(?:\\\\[name=\"og:title\"]))|' +\r\n '(meta.*(?:\\\\[name=\"description\"]))'\r\n ;\r\n\r\n const metaTags = (headerTags || []).filter(({tag,content, ...rest}) => {\r\n const testIfTagAllowedRegex = new RegExp(allowedTags, 'i');\r\n return testIfTagAllowedRegex.test(prepareElementSelector(tag, rest));\r\n });\r\n\r\n if(this.injectedPageMetaTags.length > 0){\r\n removeMetaTags(this.injectedPageMetaTags);\r\n this.injectedPageMetaTags = [];\r\n }\r\n\r\n addMetaTags(metaTags);\r\n }\r\n\r\n\r\n private async _reloadCurrentPageContent(): Promise {\r\n if(this.currentPage) {\r\n this._currentUri = null;\r\n try {\r\n await this._loadCmsPage(this.services.location.currentUri);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to reload CMS page ${this.currentPage.url}`, err);\r\n }\r\n }\r\n }\r\n\r\n\r\n private async _loadCmsPage(uri: Uri): Promise {\r\n\r\n if(this._currentUri && this._currentUri.pathName && uri.pathName.equals(this._currentUri.pathName)) {\r\n return;\r\n }\r\n\r\n this._currentUri = uri;\r\n\r\n try {\r\n let pageElement = this.services.dom.getElementById('page');\r\n if(this._isFirstLoad && pageElement && !this.services.routing.isOrbitRoute(uri.pathName)) {\r\n\r\n if(this.services.user.isAuthorized){\r\n //In case the user is login we must call the API and not use the DOM page since b2c need to get the XX.context to return the right segments,\r\n //But we must clean the #page div content to avoid duplicate b2c content on the page\r\n pageElement.remove();\r\n await this._loadPageContentWithSpinner(uri);\r\n } else{\r\n this._loadPageContentFromDOM(pageElement, uri);\r\n }\r\n\r\n } else {\r\n await this._loadPageContentWithSpinner(uri);\r\n }\r\n } finally {\r\n this._isFirstLoad = false;\r\n }\r\n }\r\n\r\n\r\n private async _loadPageContentWithSpinner(uri: Uri): Promise {\r\n const isB2CRoute = !this.services.routing.isOrbitRoute(uri.pathName);\r\n if(isB2CRoute) {\r\n this.services.spinner.startSpinner();\r\n }\r\n\r\n try {\r\n await this._loadCmsPageFromApi(uri)\r\n } finally {\r\n if(isB2CRoute) {\r\n this.services.spinner.stopSpinner();\r\n }\r\n }\r\n\r\n }\r\n\r\n private _loadPageContentFromDOM(pageElement: HTMLElement, uri: Uri): void {\r\n // we introduced this delay because if some of the scripts in the innerHTML contains a