{"version":3,"file":"static/js/orbit-main.d03365fa.chunk.js","mappings":"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ED,qCAAsC,CACrC,IACA,KAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,mBAAoB,CACnB,OAED,sBAAuB,CACtB,OAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,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,SAASymV,EAAoBn/H,GAC5B,IAAIo/H,EAAoB5rS,EAAE96C,EAAKsnN,GAC9B,OAAOr8L,QAAQC,UAAUrV,MAAK,WAC7B,IAAIniB,EAAI,IAAIwuD,MAAM,uBAAyBolK,EAAM,KAEjD,MADA5zN,EAAEiuR,KAAO,mBACHjuR,CACP,IAGD,IAAIizV,EAAM3mV,EAAIsnN,GAAMtnM,EAAK2mU,EAAI,GAC7B,OAAO17T,QAAQkoH,IAAIwzM,EAAIx1U,MAAM,GAAGnR,IAAI0mV,EAAoBhzV,IAAImiB,MAAK,WAChE,OAAO6wU,EAAoB1mU,EAC5B,GACD,CACAymU,EAAoBx4P,KAAO,WAAa,OAAOr6C,OAAOq6C,KAAKjuF,EAAM,EACjEymV,EAAoBzmU,GAAK,MACzBi1E,EAAO2xP,QAAUH,C,wBChRjB,IAAIzmV,EAAM,CACT,6BAA8B,CAC7B,MACA,MAED,4BAA6B,CAC5B,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,kCAAmC,CAClC,MACA,MAED,gCAAiC,CAChC,MACA,MAED,gCAAiC,CAChC,MACA,MAED,iCAAkC,CACjC,MACA,MAED,gCAAiC,CAChC,MACA,KAED,2BAA4B,CAC3B,MACA,MAED,6BAA8B,CAC7B,MACA,OAGF,SAASymV,EAAoBn/H,GAC5B,IAAIo/H,EAAoB5rS,EAAE96C,EAAKsnN,GAC9B,OAAOr8L,QAAQC,UAAUrV,MAAK,WAC7B,IAAIniB,EAAI,IAAIwuD,MAAM,uBAAyBolK,EAAM,KAEjD,MADA5zN,EAAEiuR,KAAO,mBACHjuR,CACP,IAGD,IAAIizV,EAAM3mV,EAAIsnN,GAAMtnM,EAAK2mU,EAAI,GAC7B,OAAOD,EAAoBhzV,EAAEizV,EAAI,IAAI9wU,MAAK,WACzC,OAAO6wU,EAAoB1mU,EAC5B,GACD,CACAymU,EAAoBx4P,KAAO,WAAa,OAAOr6C,OAAOq6C,KAAKjuF,EAAM,EACjEymV,EAAoBzmU,GAAK,MACzBi1E,EAAO2xP,QAAUH,C,wBClGjB,IAAIzmV,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,SAASymV,EAAoBn/H,GAC5B,IAAIo/H,EAAoB5rS,EAAE96C,EAAKsnN,GAC9B,OAAOr8L,QAAQC,UAAUrV,MAAK,WAC7B,IAAIniB,EAAI,IAAIwuD,MAAM,uBAAyBolK,EAAM,KAEjD,MADA5zN,EAAEiuR,KAAO,mBACHjuR,CACP,IAGD,IAAIizV,EAAM3mV,EAAIsnN,GAAMtnM,EAAK2mU,EAAI,GAC7B,OAAO17T,QAAQkoH,IAAIwzM,EAAIx1U,MAAM,GAAGnR,IAAI0mV,EAAoBhzV,IAAImiB,MAAK,WAChE,OAAO6wU,EAAoB1mU,EAC5B,GACD,CACAymU,EAAoBx4P,KAAO,WAAa,OAAOr6C,OAAOq6C,KAAKjuF,EAAM,EACjEymV,EAAoBzmU,GAAK,MACzBi1E,EAAO2xP,QAAUH,C","sources":["app-react/basic-components/blank-separator/blank-horizontal-separator.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.wsop.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.default.box.ts","app-react/basic-components/loading-dots/boxes/loading-dot.box.ts","app-react/basic-components/loading-dots/boxes/loading-dots.box.ts","app-react/basic-components/loading-dots/loading-dots.component.tsx","app-react/basic-components/lobby-grid/lobby-grid.default.box.ts","app-react/basic-components/lobby-grid/lobby-grid.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.default.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.casino777.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.siCis.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.wsop.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.box.ts","app-react/basic-components/main-screen/main-screen.component.tsx","app-react/basic-components/space-between-items-consts.ts","app-react/basic-ui-components/button/base/button-hover-colors-helpers.ts","app-react/basic-ui-components/button/base/boxes/button.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.default.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.mrgreen.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.box.ts","app-react/basic-ui-components/button/base/boxes/button-icon-wrapper.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.default.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.casino888.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.casino777.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.si.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.box.ts","app-react/basic-ui-components/button/skeleton/button-skeleton.box.tsx","app-react/basic-ui-components/button/base/button.component.tsx","app-react/basic-ui-components/form/select.component.tsx","app-react/basic-ui-components/icon/svg-icon/svg.icon.tsx","app-react/basic-ui-components/layout/divider/divider.box.ts","app-react/basic-ui-components/layout/spacer.box.ts","app-react/basic-ui-components/x-close-button/x-close-button.box.ts","app-react/components/orbit-swiper/swiper-window.component.tsx","app-react/components/arena-games-lists/arena-games-lists.component.tsx","app-react/react-hooks/use-is-in-viewport.hook.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/css-constants.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-open-at.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.defatult.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/wrapper/live-casino-arena-navbar-button-wrapper.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/wrapper/live-casino-arena-navbar-button-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cip.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino.navbar.mrgreenCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/css-constants.ts","app-react/components/arena-host/seo-bread-crumbs/seo-breadcrumbs-container.box.ts","app-react/components/arena-host/seo-bread-crumbs/seo-bread-crumbs.component.tsx","app-react/components/balance-box/balance-value.component.tsx","app-react/components/admin-banner/boxes/admin-banner-wrapper.default.box.ts","app-react/components/admin-banner/boxes/admin-banner-wrapper.si.box.ts","app-react/components/admin-banner/boxes/admin-banner-wrapper.box.ts","app-react/components/admin-banner/admin-banner.component.tsx","app-react/components/banner/banner.component.tsx","app-react/components/base-components/orbit-suspense/orbit-suspense.tsx","app-react/components/base-components/routed-component/routed.component.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-consts.ts","app-react/components/burnout/burnout-animation/burnout-animation-constants.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation-container.box.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation.box.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation-text.box.ts","app-react/components/burnout/burnout-animation/disposable-burnout-dependencies.ts","app-react/components/burnout/burnout-animation/burnout-animation.component.tsx","app-react/components/burnout/burnout-animation/boxes/burnout-fab.box.tsx","app-react/components/burnout/burnout-animation/burnout-animation-wrapper.component.tsx","app-react/components/clock-and-last-login-box/boxes/clock-last-login.default.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.mrgreen.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.si.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.siCis.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.default.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.si.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.box.ts","app-react/components/clock-and-last-login-box/clock-and-last-login-box.component.tsx","app-react/components/clock/boxes/clock.component.default.box.tsx","app-react/components/clock/boxes/clock.component.siCis.box.ts","app-react/components/clock/boxes/clock.component.box.tsx","app-react/components/sdk/sdk.component.tsx","app-react/components/clock/clock.component.tsx","app-react/components/cms-banner/banner-container/banner-container.box.ts","app-react/components/cms-banner/banner-container/banner-container.default.box.ts","app-react/components/cms-banner/cms-banner.component.tsx","app-react/components/daily-deal/boxes/daily-deal-container.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest-glow.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest.box.ts","app-react/components/daily-deal/boxes/daily-deal-text-strip.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest-halo.box.ts","app-react/components/daily-deal/daily-deal.component.tsx","app-react/components/free-play/boxes/container/free-play-container.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper.box.ts","app-react/components/free-play/boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box.ts","app-react/components/free-play/parts/voucher-card/swiper/vouchers-swiper.component.tsx","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.default.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.mrGreenCis.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.siCis.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper-title.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper-background.box.ts","app-react/components/free-play/boxes/voucher-games-list-title/voucher-games-list-title.box.ts","app-react/components/free-play/free-play-container.component.tsx","app-react/components/free-play/boxes/voucher-card/voucher-card.box.ts","app-react/components/free-play/boxes/voucher-card/voucher-card-side.box.ts","app-react/components/free-play/boxes/voucher-card/face/voucher-card-face.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/voucher-card-face-content.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/voucher-card-side-footer.box.ts","app-react/components/free-play/boxes/voucher-card/face/footer/voucher-card-face-footer.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/voucher-card-face-details.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/icon/voucher-card-face-icon.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box.ts","app-react/components/free-play/boxes/voucher-card/face/header/voucher-card-face-header.box.ts","app-react/components/free-play/parts/voucher-card/face/voucher-card-face-header.component.tsx","app-react/components/free-play/parts/voucher-card/face/voucher-card-face.component.tsx","app-react/components/free-play/boxes/voucher-card/back/voucher-card-back.box.ts","app-react/components/free-play/boxes/voucher-card/back/header/voucher-card-back-header.box.ts","app-react/components/free-play/boxes/voucher-card/back/content/voucher-card-back-content.box.ts","app-react/components/free-play/boxes/voucher-card/back/footer/voucher-card-back-footer.box.ts","app-react/components/free-play/parts/voucher-card/back/voucher-card-back.component.tsx","app-react/components/free-play/parts/voucher-card/voucher-card.component.tsx","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.default.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-click.box.ts","app-react/components/free-to-play-animated-icon/free-to-play-animated-icon.component.tsx","app-react/components/gambling-session/boxes/gambling-session-message.box.ts","app-react/components/gambling-session/limit-reached/gambling-session-limit-reached.component.tsx","app-react/components/gambling-session/logout/gambling-session-logout-dialog.component.tsx","app-react/components/gambling-session/session-info/boxes/gambling-session-limits-summary.box.ts","app-react/components/gambling-session/session-info/boxes/gambling-session-info.box.ts","app-react/components/gambling-session/session-info/gambling-session-info.component.tsx","app-react/components/gambling-session/setup/boxes/gambling-session-limits.box.ts","app-react/components/gambling-session/setup/boxes/drop-downs-group.box.ts","app-react/components/gambling-session/setup/parts/loss-limit-drop-down.component.tsx","app-react/components/gambling-session/setup/parts/time-limit-drop-down.component.tsx","app-react/components/gambling-session/setup/parts/interval-reminder-drop-down.component.tsx","app-react/components/gambling-session/setup/parts/restriction-periods-drop-down.component.tsx","app-react/components/gambling-session/setup/boxes/footer.box.ts","app-react/components/gambling-session/setup/boxes/drop-downs-separator.box.ts","app-react/components/gambling-session/setup/css-constants.ts","app-react/components/gambling-session/setup/boxes/regulatory-text.box.ts","app-react/components/gambling-session/setup/boxes/gambling-session-message.box.ts","app-react/components/gambling-session/setup/boxes/gambling-session-warn-message.box.ts","app-react/components/gambling-session/setup/gambling-session-setup.component.tsx","app-react/components/gambling-session/setup/boxes/drop-down-container.box.ts","app-react/components/gambling-session/setup/boxes/error-message.box.ts","app-react/components/gambling-session/setup/boxes/drop-down-label.box.ts","app-react/components/gambling-session/setup/parts/drop-down.component.tsx","app-react/components/game-item/boxes/game-item-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/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.default.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.si.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.cis.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.box.ts","app-react/components/header/header-consts.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.default.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.mrgreen.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.default.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.box.ts","app-react/components/header/gambling-warning/gambling-warning.component.tsx","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.default.box.ts","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.box.ts","app-react/components/header/responsible-icons/responsible-icons.component.tsx","app-react/components/header/top-header-left/regulatory-data/regulatory-data.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/mobile-container/mobile-container.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/icon/user-icon.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/bankroll/user-bankroll.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.default.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.si.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.box.ts","app-react/components/header/welcome-buttons/authorized-user/mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component.tsx","app-react/components/header/welcome-buttons/header-welcome-buttons-helpers.tsx","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.default.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.harrahs.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.box.ts","app-react/components/header/welcome-buttons/anonymous-user/header-welcome-buttons-for-anonymous-user.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/pc-container/pc-container.box.ts","app-react/components/header/buttons/cashier-button/header-cashier-button.component.tsx","app-react/components/header/welcome-buttons/authorized-user/pc-view/header-welcome-buttons-for-authorized-user-pc-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/header-welcome-buttons-for-authorized-user.component.tsx","app-react/components/header/welcome-buttons/boxes/header-welcome-buttons.box.ts","app-react/components/header/welcome-buttons/header-welcome-buttons.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.consts.ts","app-react/components/link-to-offer/boxes/link-to-offer-base/link-to-offer-box-base.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.default.box.ts","app-react/components/link-to-offer/link-to-offer.component.tsx","app-react/components/lobby-header/boxes/title/lobby-header-title.default.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.si.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.mrgreen.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.casino777.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.casino888Wsop.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.container.box.ts","app-react/components/lobby-header/boxes/lobby-header.default.box.ts","app-react/components/lobby-header/boxes/lobby-header.si.box.ts","app-react/components/lobby-header/boxes/lobby-header.mrgreen.box.ts","app-react/components/lobby-header/boxes/lobby-header.wsop.box.ts","app-react/components/lobby-header/boxes/lobby-header.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.default.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.casino777.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.mrgreen.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.casino888Wsop.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.si.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-buttons-container.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.default.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.casino777.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.mrgreen.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.box.ts","app-react/components/lobby-header/lobby-header.component.tsx","app-react/components/lottie-player/dot-lottie-player.component.tsx","app-react/components/loyalty-bar/loyalty-bar-wrapper.component.tsx","app-react/components/modal-dialog/boxes/text/dialog-text.box.ts","app-react/components/modal-dialog/boxes/actions/buttons-wrapper.box.ts","app-react/components/modal-dialog/boxes/actions/button-wrapper.box.ts","app-react/components/modal-dialog/boxes/actions/link-action.box.ts","app-react/components/modal-dialog/boxes/actions/link-wrapper.box.ts","app-react/components/modal-dialog/modal-dialog-actions.component.tsx","app-react/components/raw-components/aspect-ratio-container/aspect-ratio-container.component.tsx","app-react/components/raw-components/link/link.tsx","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.default.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/minimum-gambling-age.default.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/minimum-gambling-age.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.si.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/minimum-gambling-age/regulations/netherlands/boxes/netherlands-minimum-gambling-age-label.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/regulations/netherlands/netherlands.minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/minimum-gambling-age/regulations/sweden/boxes/sweden.minimum-gambling-age-icon.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/regulations/sweden/sweden.minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/boxes/denmark.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/boxes/denmark.responsible-gaming-button-base.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/safe-to-play-button/boxes/denmark.safe-to-play-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/safe-to-play-button/denmark.safe-to-play-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-exclusion/boxes/denmark.self-exclusion-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-exclusion/denmark.self-exclusion-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-test-button/boxes/denmark.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-test-button/denmark.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/responsible-gaming-button/denmark.secondary-responsible-gaming-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/responsible-gaming-button/denmark.secondary-responsible-gaming-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/denmark.responsible-gaming-buttons.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/css-classes.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup-time.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup-ok.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/panic-button-popup.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip-click-here.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip-close.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-mobile-overlay.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/responsible-gaming-buttons-germany.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/netherlands/self-test-button/boxes/netherlands.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/netherlands/self-test-button/netherlands.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/boxes/ontario.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/safe-to-play/boxes/ontario.safe-to-play-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/safe-to-play/ontario.safe-to-play-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/ontario.responsible-gaming-buttons.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/boxes/sweden.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/boxes/sweden.responsible-gaming-button-base.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-exclusion-button/boxes/sweden.self-exclusion-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-exclusion-button/sweden.self-exclusion-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/gaming-limits/boxes/sweden.gaming-limits-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/gaming-limits/sweden.gaming-limits-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-test-button/boxes/sweden.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-test-button/sweden.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/sweden.responsible-gaming-buttons.component.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item-icon.default.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item-icon.si.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.default.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.casino777.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-label.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/icons/arrow-side-menu-link.icon.ts","app-react/components/side-menu-rework/side-menu-items/boxes/side-menu-item-container.box.ts","app-react/components/side-menu-rework/side-menu-items/side-menu-item-container.component.tsx","app-react/components/single-game/common/boxes/game-image/game-image.box.ts","app-react/components/single-game/common/boxes/game-image/game-image.default.box.ts","app-react/components/single-game/common/boxes/game-image/game-image-animated.box.ts","app-react/components/single-game/common/boxes/game-image/game-image-animated.default.box.ts","app-react/components/single-game/common/parts/game-image/game-image-animated.component.tsx","app-react/components/single-game/common/parts/game-image/game-image.component.tsx","app-react/components/single-game/css-constants.ts","app-react/components/swiper/swiper.component.tsx","app-react/components/top-image/boxes/top-banner/top-banner.default.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.777.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.si.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.mrgreen.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.888.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.box.ts","app-react/components/top-image/boxes/top-banner-image/top-banner-image.box.ts","app-react/components/top-image/boxes/top-banner-image/top-banner-image.default.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.default.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.casino777.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.default.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.casino777.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.default.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.casino777.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.box.ts","app-react/components/animated-top-image/boxes/animated-top-image-wrapper.ts","app-react/components/animated-top-image/lottie-animated-top-image.component.tsx","app-react/components/animated-top-image/pixi-animated-top-image.component.tsx","app-react/components/animated-top-image/animated-top-image.component.tsx","app-react/components/top-image/top-image.component.tsx","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.default.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.cip.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.casino777.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.default.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.casino777.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.cip.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.mrgreen.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item-side-text.box.ts","app-react/components/useful-links/parts/useful-link-item/useful-link-inner-item.component.tsx","app-react/components/useful-links/parts/useful-links-list/useful-links-list.component.tsx","app-react/components/user-menu/user-menu-items/boxes/user-menu-separator.box.ts","app-react/react-hooks/use-services.hook.ts","app-react/services/ServiceBase.ts","app-react/services/analytics/analytics.service.interface.ts","app-react/services/arenas/arena-consts.ts","app-react/components/cms-banner/empty-banner/empty-banner-container.box.ts","app-react/components/cms-banner/empty-banner/empty-banner.component.tsx","app-react/services/cms/cms-banners/banner-definition/empty-banner-definition.tsx","app-react/services/cms/cms-banners/cm-banner-id/cms-banner-id.ts","app-react/services/cms/cms-content-decorator/cms-link.ts","app-react/services/cms/cms-content-decorator/evaluate-scripts.ts","app-react/services/cms/cms-content-decorator/cms-content-decorator.ts","app-react/services/dialog/dialog.service.interface.ts","app-react/services/external-links/handlers/pending-action/pending-action.external-link-handler.interface.ts","app-react/services/external-links/handlers/registration/registration.external-link-handler.interface.ts","app-react/services/game-runner/interfaces/game-context/game-context-view-model.interface.ts","app-react/services/game-runner/interfaces/game-step/game-run-step.interface.ts","app-react/services/game-vendor/game-vendor-id.enum.ts","app-react/services/games-filter/games-filter.service.interface.ts","app-react/services/gaming-history/gaming-history-type.ts","app-react/services/geo-location/strategies/geo-location.strategy.interface.ts","app-react/services/gnwp/gnwp-consts.ts","app-react/services/media-query/breakpoints.ts","app-react/services/media-query/media-query-builder.ts","app-react/services/media-query/media-queries.ts","app-react/services/menu-item-action-factory/custom-actions/about-dialog.action.ts","app-react/services/menu-item-action-factory/custom-actions/cashier-upload-documents.action.ts","app-react/services/menu-item-action-factory/custom-actions/chat.action.ts","app-react/services/menu-item-action-factory/custom-actions/com-points.action.ts","app-react/services/menu-item-action-factory/custom-actions/control-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/deposit.action.ts","app-react/services/menu-item-action-factory/custom-actions/game-reminders.action.ts","app-react/services/menu-item-action-factory/custom-actions/help-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/hybrid-info.action.ts","app-react/services/menu-item-action-factory/custom-actions/inactivity-timeout-settings.action.ts","app-react/services/menu-item-action-factory/custom-actions/install-pwa.action.ts","app-react/services/menu-item-action-factory/custom-actions/loyalty-indicator.action.ts","app-react/services/menu-item-action-factory/custom-actions/my-club.action.ts","app-react/services/menu-item-action-factory/custom-actions/push-notifications-permissions-request.action.ts","app-react/services/menu-item-action-factory/custom-actions/reverse-withdrawal.action.ts","app-react/services/menu-item-action-factory/custom-actions/sign-up.action.ts","app-react/services/menu-item-action-factory/custom-actions/test-regulation-specific.action.ts","app-react/services/menu-item-action-factory/custom-actions/time-spent-reminder.action.ts","app-react/services/menu-item-action-factory/custom-actions/touch-id.action.ts","app-react/services/menu-item-action-factory/custom-actions/transaction-history.action.ts","app-react/services/menu-item-action-factory/menu-item-action-base.ts","app-react/services/menu-items-common/renderer/menu-item-renderer-base.ts","app-react/services/pixi-app/animated-icon-base-service.service.ts","app-react/services/pixi-app/pixi-spine-animation.ts","app-react/components/side-menu-rework/side-menu-items/deposit-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/deposit-side-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/loyalty-indicator-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/signup/signup-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/signup/signup-side-menu-item-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/signup-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/sign-up-side-menu-item.renderer.tsx","app-react/services/storage/session-storage-keys.ts","app-react/services/theme/standard-theme-customizer.ts","app-react/services/toaster/toaster.service.interface.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors.ts","app-react/services/translation/translations-helper.ts","app-react/services/user-menu/menu-items/useful-links/custom-renderers/hybrid-info-menu-item.renderer.tsx","app-react/services/user-menu/menu-items/useful-links/custom-renderers/touch-id-menu-item.renderer.ts","app-react/components/useful-links/parts/useful-link-item/useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-useful-links-menu-item-renderer.tsx","app-react/services/user/games-open-sessions-kind.enum.ts","app-react/themes/architecture/asset.ts","app-react/themes/architecture/by-theme-registry.ts","app-react/themes/architecture/css-helpers/css-rule.ts","app-react/themes/architecture/css-helpers/flex.ts","app-react/themes/architecture/gray-colors.ts","app-react/themes/architecture/sections/theme-layout.interface.ts","app-react/themes/architecture/styled-by-device.tsx","app-react/themes/architecture/styled-by-theme.tsx","app-react/themes/architecture/theme-names.ts","app-react/themes/assets.ts","app-react/themes/defaults/icons/info.icon.tsx","app-react/themes/defaults/icons/search.icon.tsx","app-react/themes/definitions/casino777/base-colors.ts","app-react/themes/definitions/casino888/base-colors.ts","app-react/themes/definitions/casino888/cis/base-colors.ts","app-react/themes/definitions/harrahs/base-colors.ts","app-react/themes/definitions/mrgreen/base-colors.ts","app-react/themes/definitions/si/base-colors.ts","app-react/themes/definitions/si/cis/base-colors.ts","app-react/themes/hex-to-rgba.ts","common/const/ab-testing-names.ts","common/const/casinofied-analytics-consts.ts","common/const/free_play_consts.ts","common/const/game_groups_consts.ts","common/const/jackpot_map_ids.ts","common/const/migration_consts.ts","common/const/responsible-gaming.ts","common/const/service-worker-constants.ts","common/const/state-of-residence-cookie_const.ts","common/const/temp_account_status.ts","common/const/wallet_balance_type.ts","common/cy-classes.ts","common/enums/game-childish-icon-mode.enum.ts","common/interfaces/orbit-component-to-sdk-adapter/components-props/time-spent-reminder-options.ts","common/utils/color-util.ts","common/utils/image-preload.ts","app-react/app-bootstrap/application-startup-configurations-reader/application-startup-configurations-reader.ts","app-react/app-bootstrap/sdk-initializer/sdk-hooks-provider.ts","app-react/services/configurations/evaluation/properties-evaluator/properties-evaluator.ts","app-react/services/configurations/evaluation/statements/statements-evaluator/statements-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/object-evaluator/object-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/array-evaluator/array-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/simple-value-evaluator/simple-value-evaluator.ts","app-react/services/configurations/evaluation/statements/statement-evaluator/statement-evaluator.ts","app-react/services/configurations/evaluation/statements/logical-operators/base-logical-operator.ts","app-react/services/configurations/evaluation/statements/logical-operators/or-logical-operator/or-logical-operator.ts","app-react/services/configurations/evaluation/statements/logical-operators/and-logical-operator/and-logical-operator.ts","app-react/services/configurations/evaluation/statements/segmentation-rule/segmentation-rule.ts","app-react/services/configurations/evaluation/statements/comparison-operators/base-comparison-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/equal-operator/equal-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/not-equal-operator/not-equal-operator.ts","app-react/services/configurations/evaluation/property-level-context/property-level-context.ts","app-react/services/configurations/evaluation/property-evaluator/property-evaluator.ts","app-react/services/configurations/create-statements-definition.ts","app-react/services/configurations/evaluation/special-properties-evaluators/games-id-property-evaluator/games-id-property-evaluator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/is-falsy-operator/is-falsy-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/greater-than-operator/greater-than-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/less-than-operator/less-than-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/any-of-operator/any-of-operator.ts","app-react/services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-context.ts","app-react/services/game-preview-features-selector/preview-features/game-preview-feature.interface.ts","app-react/app-bootstrap/sdk-initializer/sdk-initializer.ts","app-react/services/qa-environment-pop-up-blocker/qa-environment-pop-up-blocker.service.constants.ts","app-react/services/qa-environment-pop-up-blocker/qa-environment-pop-up-blocker.service.ts","app-react/services/video-live-stream/video-playing-service-base.ts","app-react/services/video-live-stream/live-stream-playing.service.ts","app-react/services/translation/text-translation.ts","app-react/services/translation/translation.service.ts","app-react/services/currency/currency-symbol.interface.ts","app-react/services/currency/currency.service.ts","app-react/services/analytics/analytics.service.ts","app-react/services/lobby-game-info-preview/lobby-game-info-preview.service.ts","app-react/services/running-game/running-game.service.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.casino777.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.default.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.mrgreen.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.box.ts","app-react/components/modal-dialog/boxes/close-button/dialog-close-button.box.ts","app-react/components/modal-dialog/boxes/close-button/dialog-close-button.default.box.ts","app-react/components/modal-dialog/css-classes.ts","app-react/components/modal-dialog/boxes/header/dialog-header.default.box.ts","app-react/components/modal-dialog/boxes/header/dialog-header.cip.box.ts","app-react/components/modal-dialog/boxes/header/dialog-header.mrgreenCis.ts","app-react/components/modal-dialog/boxes/header/dialog-header.box.ts","app-react/components/modal-dialog/boxes/header-buttons/header-buttons-container.box.ts","app-react/components/modal-dialog/parts/header/dialog-header.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/title/title.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/boxes/stripe-image/stripe-image.default.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/boxes/stripe-image/stripe-image.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/game-stripe-image.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/boxes/trailer/trailer.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/boxes/trailer/trailer.default.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/game-trailer.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer-or-stripe-image.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-bool/cell-value-bool.default.box.ts","app-react/services/games/games-categories.enum.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-bool/cell-value-bool.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.mrgeen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.mrgeen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.si.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/game-feature-cell.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.mrgreen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/game-features-table.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/about/boxes/game-description-text/game-description-text.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/about/boxes/game-description-text/game-description-text.box.ts","app-react/basic-components/general-title/general-title.default.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.default.box.ts","app-react/basic-components/general-title/general-title.casino777.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.casino777.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/about/game-about.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/game-jackpot-preview/game-jackpot-preview.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/game-jackpot-preview/game-jackpot-preview.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.si.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/game-jackpot-preview.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/boxes/container/container.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/boxes/container/container.default.box.ts","app-react/basic-components/game-icon/game-icon.box.ts","app-react/basic-components/game-icon/game-icon.default.box.ts","app-react/basic-components/play-buttons/play-buttons.box.ts","app-react/basic-components/play-buttons/play-buttons.default.box.ts","app-react/basic-components/game-icon-wrapper/game-icon-wrapper.box.ts","app-react/basic-components/game-icon-wrapper/game-icon-wrapper.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/game-icon-and-play-buttons.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/boxes/intermediate-page/intermediate-page.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/intermediate-page/intermediate-page.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/stripe-image-and-buttons/stripe-image-and-buttons.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/stripe-image-and-buttons/stripe-image-and-buttons.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.casino777.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-image/warning-image.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-image/warning-image.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-text/warning-text.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-text/warning-text.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-message/warning-message.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-message/warning-message.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/only-real-money-warning.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component.tsx","app-react/services/games/game-info.tsx","app-react/services/configurations/inject-admin-arenas.ts","app-react/services/games/games.service.ts","app-react/services/configurations/configurations.service.ts","common/const/ai-trending-list-ids-map.ts","app-react/services/user/user.service.ts","app-react/services/browser-buttons-handler/browser-buttons-handler.service.ts","app-react/services/segmentation-aggregator/segmentation-aggregator.service.ts","app-react/services/client-device/features/client-device.features.ts","app-react/services/client-device/detected/client-device.detected.ts","app-react/services/client-device/client-device.service.ts","app-react/services/device/device.service.ts","app-react/consts/seo-categories.ts","app-react/services/ai-engine/ai-engine.service.ts","app-react/services/deep-link/deeplink-consts.ts","app-react/services/deep-link/deep-link.service.ts","app-react/services/sdk/cgp-sdk.interface.ts","app-react/services/sdk/sdk-events.ts","app-react/services/sdk/sdk-events-trigger.ts","app-react/services/sdk/sdk.service.ts","app-react/app-bootstrap/constants.ts","app-react/services/games-filter/strategies/no-filter/no-games-filter.strategy.ts","app-react/services/games-filter/games-filters-storage.ts","app-react/services/games-filter/games-filter.service.ts","app-react/components/useful-links/parts/useful-link-item/expandable-useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-expandable-useful-links-menu-item-renderer.tsx","app-react/services/menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader.ts","app-react/components/user-menu/user-menu-items/boxes/user-menu-items-title.box.ts","app-react/services/configurations/config-data-sections/arenas.configuration.ts","app-react/components/user-menu/user-menu/boxes/user-menu-section.box.ts","app-react/components/user-menu/user-menu-items/user-menu-item.component.tsx","app-react/services/user-menu/menu-items/user-menu-items/generic-user-user-menu-item-renderer.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-config-reader-base.ts","app-react/services/user-menu/menu-items/user-menu-item-config-reader.ts","app-react/services/user-menu/user-menu.service.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.default.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.casino777.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.box.ts","app-react/components/single-game/common/parts/game-badge/game-badge.component.tsx","app-react/components/single-game/common/parts/game-image-container.component/game-image-container.component.tsx","app-react/components/single-game/regular-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.cip.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.si.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.default.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.casino777.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.si.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.cis.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.box.ts","app-react/components/single-game/regular-template/parts/info-page-button/info-page-button.component.tsx","app-react/components/single-game/regular-template/boxes/game-buttons/game-buttons.box.ts","app-react/components/single-game/regular-template/boxes/game-buttons/game-buttons.default.box.ts","app-react/components/single-game/regular-template/parts/play-demo-button/play-demo-button.component.tsx","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.si.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/regular-template/boxes/game-info-container/game-info-container.box.ts","app-react/components/single-game/regular-template/boxes/game-info-container/game-info-container.default.box.ts","app-react/components/single-game/regular-template/boxes/amount-container/amount-container.box.ts","app-react/components/single-game/regular-template/boxes/two-rows-game-title-container/two-rows-game-title-container.box.ts","app-react/components/single-game/regular-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/regular-template/boxes/game/game.default.box.ts","app-react/components/single-game/regular-template/boxes/game/game.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game/game.cis.box.ts","app-react/components/single-game/regular-template/boxes/game/game.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.default.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.casino777.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.casino888.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.box.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.casino777.box.ts","app-react/components/single-game/video-template/single-game-video-template.component.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.default.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.wsop.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.box.ts","app-react/components/single-game/regular-template/single-game-regular-template.component.tsx","utils/css-class-name-builder.ts","app-react/components/single-game/jackpot-template/boxes/game/game.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game/game.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/jackpot-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/jackpot-template/single-game-jackpot-template.component.tsx","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.box.ts","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.default.box.ts","app-react/components/single-game/live-template/single-game-live-template.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/video-sound-button.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/video-tile-overlay.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.mrgreen.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video.box.ts","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/video.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile-skeleton.defaultbox.ts","app-react/components/single-game/single-game-skeleton.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-thumbnail-image/video-thumbnail-image.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section-default.box.ts","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box.tsx","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/video-tile-footer.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/video-tile.component.tsx","app-react/components/single-game/video-template/boxes/video-item-container.box.ts","app-react/components/single-game/video-template/boxes/video-item-container-default.box.ts","app-react/components/single-game/single-game.component.tsx","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.default.box.ts","app-react/services/jackpots/jackpots.service.interface.ts","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.default.box.ts","app-react/components/single-game-placeholder/single-game-placeholder.component.tsx","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.casino777.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.siCis.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.default.box.ts","app-react/components/orbit-swiper/orbit-swiper.component.tsx","app-react/components/recently-played/recently-played.component.tsx","app-react/services/arenas/models/lists/games-list-base.model.tsx","app-react/components/game-list-title/constants.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.default.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.wsop.cip.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.cis.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.default.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.box.ts","app-react/components/jackpot-widget/boxes/bg/jackpot-widget-bg.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.default.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.mrgreen.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.box.ts","app-react/components/jackpot-widget/boxes/amount/jackpot-widget-amount.box.ts","app-react/components/jackpot-widget/boxes/footer/jackpot-widget-footer.box.ts","app-react/components/jackpot-widget/boxes/footer/clock/label/jackpot-widget-clock-label.box.ts","app-react/components/jackpot-widget/boxes/footer/clock/box/jackpot-widget-clock.box.ts","app-react/components/jackpot-widget/jackpot-widget-clock.component.tsx","app-react/components/jackpot-widget/boxes/amount/label/jackpot-widget-amount-label.box.ts","app-react/components/jackpot-widget/boxes/footer/collecting/label/jackpot-widget-collecting-label.ts","app-react/components/jackpot-widget/boxes/footer/collecting/amount/jackpot-widget-collecting-amount.ts","app-react/components/jackpot-widget/boxes/shine/jackpot-widget-shine.box.ts","app-react/components/jackpot-widget/jackpot-widget.component.tsx","app-react/components/jackpot-widget/boxes/aspect-ratio/jackpot-widget-aspect-ratio.box.ts","app-react/components/jackpot-widget/boxes/amount/jackpot-widget-amount-container.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-element-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/jackpot-widget-amount-skeleton.box.ts","app-react/components/jackpot-widget/boxes/title/jackpot-title.box.ts","app-react/components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.box.ts","app-react/components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.default.box.ts","app-react/components/red-tiger-widget/boxes/widget/red-tiger-widget.box.ts","app-react/components/red-tiger-widget/boxes/widget/red-tiger-widget.default.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.default.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.casino777.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.box.ts","app-react/components/red-tiger-widget/boxes/frameContainer/red-tiger-widget-frame-container.default.box.ts","app-react/components/red-tiger-widget/boxes/frameContainer/red-tiger-widget-frame-container.box.ts","app-react/components/red-tiger-widget/red-tiger-widget.component.tsx","app-react/basic-components/general-title/general-title.si.box.ts","app-react/basic-components/general-title/general-title.wsop.box.ts","app-react/basic-components/general-title/general-title.box.tsx","app-react/components/game-list-title/boxes/list-title-text/list-title-text.default.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.casino777.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cip.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.si.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.siCis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.default.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.casino777.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cip.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.siCis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.box.ts","app-react/components/game-list-title/game-list-title.component.tsx","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.default.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.casino777.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/button/swiper-button.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons.tsx","app-react/services/arenas/models/swiper-logic-handler/swipe-logic-handler.ts","app-react/components/titan-jackpot-widget/titan-jackpot-animation.component.tsx","app-react/components/titan-jackpot-widget/boxes/titan-jackpot-amount-container.box.ts","app-react/components/titan-jackpot-widget/titan-jackpot-amount.component.tsx","app-react/components/titan-jackpot-widget/titan-jackpot-widget.component.tsx","app-react/services/arenas/models/lists/swiper-list-base.model.tsx","app-react/services/arenas/models/lists/api-list-base.model.tsx","app-react/services/arenas/models/lists/recently-played/recently-played-list.model.tsx","app-react/components/ai-list/top-picks.component.tsx","app-react/services/arenas/models/lists/top-picks/top-picks-list.model.tsx","app-react/components/ai-new-games-list/ai-new-games-list.component.tsx","app-react/services/arenas/models/lists/new-games/new-games-list.model.tsx","app-react/components/players-like-you/players-like-you.component.tsx","app-react/services/arenas/models/lists/players-like-you/players-like-you-list.model.tsx","app-react/services/arenas/models/lists/static-swiper/static-swiper-list.model.tsx","app-react/components/games-grid/games-grid-batch/games-grid-batch.component.tsx","app-react/components/games-grid/boxes/games-grid/games-grid.default.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.casino777.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.siCis.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.box.ts","app-react/components/games-grid/boxes/no-games-found-message/no-games-found-message.box.ts","app-react/components/games-grid/boxes/no-games-found-message/no-games-found-message.default.box.ts","app-react/components/games-grid/boxes/games-grid-container.box.ts","app-react/components/games-grid/games-grid.component.tsx","app-react/services/arenas/models/lists/games-grid/games-grid-list.model.tsx","app-react/components/because-you-played/because-you-played.component.tsx","app-react/services/arenas/models/lists/because-you-played/because-you-played-list.model.tsx","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.default.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.default.box.ts","app-react/services/arenas/models/swiper-logic-handler/live-stream-swipe-logic-handler.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box.ts","app-react/components/video-list-component/video-list.component.tsx","app-react/services/arenas/models/lists/video-list/default-video-list.model.tsx","app-react/services/arenas/models/lists/video-list/live-streaming-video-list.model.tsx","app-react/services/user-game-orientation/user-game-orientation.service.interface.ts","app-react/services/arenas/models/lists/video-list/static-video-list.model.tsx","app-react/services/arenas/models/lists/list-factory.ts","app-react/services/arenas/models/arenas/arena-base.model.tsx","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.casino888.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.wsop.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.si.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.casino888.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.wsop.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.casino888.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.caisno888.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.box.ts","app-react/components/home-page-header-arenas/home-page-header-arena-tile.component.tsx","app-react/components/home-page-header-arenas/home-page-header-arenas.component.tsx","app-react/components/home-page/boxes/home-page-top-banner-background.box.ts","app-react/components/home-page/boxes/home-page-top-banner-divider-line.ts","app-react/components/home-page/home-page.component.tsx","app-react/services/arenas/models/arenas/home-page/home-page-arena.model.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/arena-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/title/pc-game-preview-title.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/game-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component.tsx","app-react/components/arena-host/casino-arena/casino-arena.template-types.ts","app-react/components/arena-host/casino-arena/casino-arena.component.tsx","app-react/services/arenas/models/filters-configuration-to-map.ts","app-react/services/games-filter/evaluators/game-filter-evaluator.interface.ts","app-react/services/games-filter/strategies/games-filter-strategy-base.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.default.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.mrgreen.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.si.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category-content.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-Item.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/input.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/sub-filters.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-item.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category-content.component.tsx","app-react/components/filters/advanced-filtering/filter-category/boxes/title-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/preview.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-header.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category.component.tsx","app-react/components/filters/advanced-filtering/filter-categories-list/filter-categories-list.component.tsx","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.default.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.mrgreen.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.si.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.default.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.mrgreen.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.si.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-header.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-button.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/filter-by.box.ts","app-react/components/filters/advanced-filtering/boxes/filter-categories-list.box.ts","app-react/components/filters/advanced-filtering/advanced-games-filter.component.tsx","app-react/services/games-filter/strategies/advanced-filter/advanced-games-filter-drawer-renderer.tsx","app-react/services/games-filter/arena-filters/filters/arena-game-filter-editor.ts","app-react/services/games-filter/arena-filters/categories/arena-game-filters-category-editor.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-filters-analytics.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor.ts","app-react/services/games-filter/evaluators/and-game-filters-evaluator.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.default.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.casino777.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.mrgreen.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box.ts","app-react/components/header/top-header-left/filters/filters-mobile-button.component.tsx","app-react/components/filters/advanced-filtering/boxes/indicator-container.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filter-indicator.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filters.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/remove-filter-button.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filter-name.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filters-container.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/applied-filters-pc-indicator-for-advanced-filtering.component.tsx","app-react/services/games-filter/arena-filters/categories/arena-game-filters-category-base.ts","app-react/services/games-filter/arena-filters/filters/arena-game-filter-base.ts","app-react/services/games-filter/arena-filters/filters/dynamic-arena-game-filter.ts","app-react/services/games-filter/arena-filters/categories/dynamic-arena-game-filters-category.ts","app-react/services/games-filter/evaluators/or-game-filters-evaluator.ts","app-react/services/games-filter/filters-categories-definitions/filter-category-definition-base.ts","app-react/services/game-theme/game-theme-id.enum.ts","app-react/services/games-filter/filters-definitions/game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/volatility/high-volatility.filter-definition.ts","app-react/services/games-filter/filters-definitions/volatility/low-volatility.filter-definition.ts","app-react/services/games-filter/filters-definitions/volatility/medium-volatility.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/volatility.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/game-feature-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-features/one-to-twenty-five.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/twenty-five-plus.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/new-game.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/low-stake.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/high-stake.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/bonus-game.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/free-spins.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/has-side-bets.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/is-multi-hand.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-features.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-dailight-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-twilight-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-captain8-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-red-tiger-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-no-jackpot.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/has-jackpot.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/vendor/vendor.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-vendor.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/game-group-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/craps.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/keno.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lunge.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-shows.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/roulette.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/scratchcards.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/slots.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/other-game-group.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-roulette.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-group.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/theme/game-theme.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-theme.filters-category-definition.ts","app-react/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-label/live-casino-filter-button-label.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar-button.component.tsx","app-react/components/arena-host/new-live-casino-arena/new-live-casino-arena.component.tsx","app-react/services/arenas/models/arenas/new-live-casino/new-live-casino-arena.model.tsx","app-react/services/arenas/models/arenas/live-casino/live-casino-arena.model.tsx","app-react/services/arenas/models/arenas/new-live-casino-ab/new-live-casino-arena-ab.model.tsx","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.default.box.ts","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.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/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-items-list.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar.component.tsx","app-react/components/arena-host/video-slides-arena/boxes/video-slides-arena.default.box.ts","app-react/components/arena-host/video-slides-arena/boxes/video-slides-arena.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/boxes/video-slides-arena-content.default.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/boxes/video-slides-arena-content.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/boxes/video-slides-arena-swiper-component/video-slides-arena-swiper-component.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-content/video-slides-arena-content.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/boxes/video-slides-arena-header.default.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/boxes/video-slides-arena-header.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-arena-filters-indicator/boxes/video-slides-arena-filters-indicator-default.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-arena-filters-indicator/boxes/video-slides-arena-filters-indicator.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/components/video-slides-arena-filters-indicator/video-slides-arena-filters-indicator.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/boxes/video-slide-regulatory-data-component.box.ts","app-react/components/arena-host/video-slides-arena/video-slides-arena-header/video-slides-arena-header.component.tsx","app-react/components/arena-host/video-slides-arena/video-slides-arena.component.tsx","app-react/services/arenas/models/arenas/video-slides/video-slides-arena.model.tsx","app-react/services/arenas/arenas.service.tsx","app-react/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.tsx","app-react/services/sitemap/breadcrumbs/non-navigatable-breadcrumb.tsx","app-react/services/sitemap/breadcrumbs/navigatable-breadcrumb.tsx","app-react/services/sitemap/sitemap-node.ts","app-react/services/sitemap/sitemap.service.ts","app-react/services/marketing/marketing.service.ts","app-react/services/language/language-switcher/language-switcher-item.ts","app-react/services/language/language-switcher/language-switcher-section.ts","app-react/services/language/language-switcher/selected-language-switcher-item.ts","app-react/services/language/language.service.ts","app-react/services/side-menu/menu-items/side-menu-item-config-reader.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-image.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-pre-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/generic-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/generic-side-menu-item.renderer.tsx","app-react/services/side-menu/side-menu.service.ts","app-react/services/game-search/game-search-result.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title-mr-green-mini-orbit.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/number-of-results-box/number-of-results.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/number-of-results-box/number-of-results.box.ts","app-react/components/game-search/search-result/search-box-title/search-box-title.component.tsx","app-react/components/game-search/search-result/found-games/boxes/search-games-list/search-games-list.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/search-link.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.default.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.casino777.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.box.ts","app-react/components/game-search/search-result/search-game-item/boxes/search-game-item/search-game-item.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/boxes/search-match.default.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/boxes/search-match.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/highlight-search-list-item.component.tsx","app-react/components/game-search/search-result/search-game-item/boxes/search-text-wrapper/search-text-wrapper.box.ts","app-react/components/game-search/search-result/search-game-item/boxes/search-game-image-box/search-game-image.box.ts","app-react/components/game-search/search-result/search-game-item/search-game-item.component.tsx","app-react/components/game-search/search-result/suggested-games/suggested-games.component.tsx","app-react/components/game-search/search-result/found-games/boxes/more-games/more-games.box.ts","app-react/components/game-search/search-result/found-games/found-games.component.tsx","app-react/components/game-search/search-result/search-result-item/boxes/search-result-item-box/search-result-item.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-result-item-box/search-result-item.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/search-result-item.component.tsx","app-react/components/game-search/search-result/suggested-links/boxes/search-links-list/search-links-list.default.box.ts","app-react/components/game-search/search-result/suggested-links/boxes/search-links-list/search-links-list.box.ts","app-react/components/game-search/search-result/suggested-links/suggested-links.component.tsx","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.default.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.casino777.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.default.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.casino777.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.box.ts","app-react/components/game-search/search-result/search-result.component.tsx","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.default.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.casino777.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.harrahs.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.casino888Wsop.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-arena.si.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreen.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.box.ts","app-react/components/game-search/search-input/search-input-area/search-input-area.tsx","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.default.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-input-form/search-input-form.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-input-form/search-input-form.default.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.harrahs.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.wsop.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-icon/search-icon.box.ts","app-react/components/game-search/search-input/search-input-mobile/search-input-mobile.component.tsx","app-react/components/game-search/search-input/search-input-pc/search-input-pc.component.tsx","app-react/components/game-search/boxes/game-search-box/game-search.default.box.ts","app-react/components/game-search/boxes/game-search-box/game-search-mr-green-mini-orbit.box.ts","app-react/components/game-search/boxes/game-search-box/game-search.box.ts","app-react/components/game-search/game-search.component.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-default-config-reader.ts","app-react/services/game-search/game-search.service.tsx","app-react/services/external-links/external-links.service.ts","app-react/services/cms/cms-api/cms-api.service.ts","app-react/components/cms-banner/banner-content/banner-content.component.tsx","app-react/services/cms/cms-banners/banner-definition/banner-definition.tsx","app-react/services/cms/cms-banners/cms-banners.service.ts","app-react/services/cms/cms-pages/cms-pages.service.ts","app-react/services/cms/cms-segmentation/cms-segmentation.service.ts","app-react/services/deep-link/unified/deep-link-action-factory/unified-deep-link-action.ts","app-react/services/deep-link/unified/deep-link-action-factory/deep-link-actions-factory-unified.strategy.ts","app-react/services/deep-link/legacy/deep-link-actions/casino-legacy-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/cashier/cashier-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/register/register-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/login/login-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/my-account/my-account-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-real/play-game-real-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-demo/play-game-demo-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/redirect/redirect-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/terminate/terminate-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/upload-document/my-account-upload-document-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/free-to-play/free-to-play-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/open-list/open-list-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/freeplay/freeplay-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/control-center/control-center-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/forgot-password/forgot-password.deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-action-factory/deep-link-actions-factory-legacy.strategy.ts","app-react/services/deep-link/deep-link-action-factory/deep-link-actions-factory.service.ts","app-react/services/deep-link/legacy/deep-link-builders/deeplink-json-object-builder/deeplink-json-object-builder.ts","app-react/services/deep-link/legacy/deep-link-parsers/parsers/deep-link-json-object-parser/deep-link-json-object-parser.ts","app-react/services/deep-link/legacy/deep-link-parsers/deep-link-parser.service.ts","app-react/services/sdk-component-factory/sdk-component-factory.service.ts","app-react/components/sticky-handler/sticky-handler.ts","app-react/services/sticky-handler-factory/sticky-handler-factory.service.ts","app-react/services/game-preview-features-selector/preview-features/boolean-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/money-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/numeric-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/all-features.ts","app-react/services/game-preview-features-selector/game-preview-features-selector.service.ts","app-react/services/game-route-handler/game-route-handler.service.ts","app-react/app-bootstrap/launcher-overrides-reader/launcher-overrides-reader.ts","app-react/services/launcher/launcher.service.ts","app-react/services/spinner/spinner.service.ts","app-react/services/cross-brands/cross-brands.service.ts","app-react/services/homepage/homepage.service.tsx","app-react/components/mini-orbit/routing/mini-orbit-routing-definition.tsx","app-react/services/routing-configuration/routing-configuration.service.tsx","app-react/services/routing/route/orbit-route.ts","app-react/services/routing/routing.service.ts","app-react/services/overlay/overlay.service.ts","app-react/services/time/time.service.ts","app-react/services/ai-new-games-engine/ai-new-games.service.ts","app-react/services/theme/theme.service.tsx","app-react/services/mini-orbit/adapters/void/void-communication-adapter.ts","app-react/services/mini-orbit/mini-orbit.service.tsx","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.default.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.casino777.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.mrgreenCis.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.default.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.mrgreen.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.box.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-constants.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-content.default.box.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-content.box.ts","app-react/components/modal-dialog/boxes/icon-wrapper/dialog-icon-wrapper.default.box.ts","app-react/components/modal-dialog/boxes/icon-wrapper/dialog-icon-wrapper.box.ts","app-react/components/modal-dialog/modal-dialog.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-single-line-content.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-buttons-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-button.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog-button.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-icon-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-multi-line-content.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog.component.tsx","app-react/services/dialog/dialog.service.tsx","app-react/services/cross-brands/cross-brands-item-config-reader.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.si.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.box.ts","app-react/components/header/top-header-left/cross-brand/cross-brands-items/generic-cross-brands-menu-item.component.tsx","app-react/services/header/menu-items/generic-cross-brands-menu-item.renderer.tsx","app-react/services/header/header.service.ts","app-react/services/progressive-web-app/progressive-web-app.service.tsx","app-react/services/manifest/pwa-manifest.service.ts","app-react/services/manifest/pwa-manifest-constants.ts","app-react/services/mini-orbit/adapters/poker/poker-communication-adapter.ts","app-react/services/mini-orbit/adapters/sport/sport-communication-adapter.ts","app-react/services/mini-orbit/adapter-factory/mini-orbit-communication-adapter-factory.service.ts","app-react/services/live-table-feeds-service/live-table-feeds.service.interface.ts","utils/memoize.ts","app-react/services/live-table-feeds-service/live-table-feeds.service.ts","app-react/services/drawer/drawer-content-decorator.ts","app-react/services/drawer/drawer-handler.ts","app-react/services/drawer/drawer.service.ts","app-react/services/daily-deal/daily-deal.service.ts","app-react/services/jackpots/jackpot-handler/jackpot-handler.ts","app-react/services/jackpots/jackpots.service.ts","utils/ab-testing-feature-check.ts","app-react/services/ab-testing/ab-testing-feature-data-provider.service.ts","utils/gradual-increase-helper.ts","app-react/services/gradual-increase-helper-factory/gradual-increase-helper-factory.service.ts","app-react/services/control-center/control-center.service.ts","app-react/services/wallet-proxy/wallet-proxy.service.ts","app-react/components/game-popup/boxes/game-view/games-view.default.box.ts","app-react/components/game-popup/boxes/game-view/games-view.box.ts","app-react/components/game-popup/boxes/game-icon-container/game-icon-container.default.box.ts","app-react/components/game-popup/boxes/game-icon-container/game-icon-container.box.ts","app-react/components/game-popup/boxes/game-view-section/game-view-section.box.ts","app-react/components/game-popup/boxes/game-popup/game-popup.default.box.ts","app-react/components/game-popup/boxes/game-popup/game-popup.box.ts","app-react/components/game-popup/boxes/sub-title-container/sub-title-container.box.ts","app-react/components/game-popup/boxes/game-view-divider/games-view-divider.default.box.ts","app-react/components/game-popup/boxes/menu-container/menu-container.box.ts","app-react/components/game-popup/boxes/description-container/description-container.box.ts","app-react/components/side-menu/boxes/side-menu-component.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/side-menu-items-list.box.ts","app-react/components/side-menu-rework/side-menu-links-group/side-menu-links-group.component.tsx","app-react/components/game-popup/boxes/game-popup-checkbox-container/game-popup-checkbox-container.box.ts","app-react/components/game-popup/boxes/game-popup-checkbox/game-popup-checkbox.box.ts","app-react/components/game-popup/game-popup.component.tsx","app-react/services/game-popup/game-popup.service.tsx","app-react/components/time-spent-reminder/with-dropdown/time-spent-reminder-with-dropdown.component.tsx","app-react/services/analytics/analytics-data-layer.service.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown.popup.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-text.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-text.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer-remaining.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer-remaining.default.box.ts","app-react/components/session-cooldown-popup/session-cooldown-popup.component.tsx","app-react/services/session-cooldown/session-cooldown.service.tsx","app-react/services/media-query/media-query-listener.ts","app-react/services/media-query/media-query.service.ts","app-react/services/tools/tools.service.ts","app-react/components/vertical-games-list/boxes/vertical-games-list.box.ts","app-react/components/vertical-games-list/boxes/header.box.ts","app-react/components/vertical-games-list/boxes/games-list.box.ts","app-react/components/vertical-games-list/boxes/game.box.ts","app-react/components/vertical-games-list/boxes/game-details.box.ts","app-react/components/vertical-games-list/boxes/game-divider.box.ts","app-react/components/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/boxes/geo-modal-wrapper.box.ts","app-react/components/geo/geo-permission-popup/geo-permission-popup.component.tsx","app-react/components/time-spent-reminder/with-balance/boxes/tsr-with-balance.box.ts","app-react/components/time-spent-reminder/with-balance/time-spent-reminder-with-balance.component.tsx","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header-title-wrapper.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-game-details.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster-background.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-title.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-message.box.ts","app-react/components/idle-recommendation/idle-recommendation.component.tsx","app-react/components/temp-account-popup/boxes/temp-account-popup.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-number.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-text.box.ts","app-react/components/temp-account-popup/temp-account-popup.component.tsx","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-footer-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-dialog.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-info-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/help-option.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/init-biometric-dialog.component.tsx","app-react/components/login-toast/boxes/login-toast.box.ts","app-react/components/toaster/toasts-content/boxes/default-toast-image.box.ts","app-react/components/login-toast/boxes/login-toast-message/login-toast-responsible-gaming-link.box.ts","app-react/components/login-toast/login-toast.component.tsx","app-react/services/orbit-component-to-sdk-adapter/orbit-component-to-sdk-adapter.service.tsx","app-react/services/omg-proxy/omg-message-collection.ts","app-react/services/omg-proxy/omg.service.ts","app-react/services/casinofied/message-broker/message-broker.consts.ts","app-react/services/casinofied/message-broker/message-broker.service.ts","app-react/services/casinofied/casinofied-helper-functions.ts","app-react/services/casinofied/app-launcher/apps/adapters/casinofied-zoid-application-adapter.ts","app-react/services/casinofied/app-launcher/apps/adapters/casinofied-regular-application-adapter.ts","app-react/services/casinofied/app-launcher/apps/casinofied-application-base.ts","app-react/services/casinofied/app-launcher/apps/casinofied-application.interface.ts","app-react/components/on-error/boxes/on-error.box.tsx","app-react/components/on-error/boxes/on-error-default.box.tsx","app-react/components/on-error/boxes/on-error-icon.box.tsx","app-react/components/on-error/boxes/on-error-title.box.tsx","app-react/components/on-error/boxes/on-error-message.box.tsx","app-react/components/on-error/boxes/on-error-buttons.box.ts","app-react/components/on-error/on-error.component.tsx","app-react/services/casinofied/app-launcher/apps/inside-drawer.application.tsx","app-react/services/casinofied/app-launcher/apps/chat/chat.application.ts","app-react/services/casinofied/app-launcher/casinofied-app-sdk-loader.ts","app-react/services/casinofied/app-launcher/components/casinofied-component-base.ts","app-react/services/casinofied/app-launcher/components/casinofied-bubble.component.tsx","app-react/services/casinofied/app-launcher/apps/adapters/unified-cashier-zoid-adapter.ts","app-react/services/casinofied/app-launcher/apps/deposit-widget/deposit-widget.application.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-title/payment-redirect-focus-title.box.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-title/payment-redirect-focus-title.default.box.ts","app-react/components/payments-redirect-focus/boxes/payment-redirect-focus-container/payment-redirect-focus.box.ts","app-react/components/payments-redirect-focus/payments-redirect-focus.component.tsx","app-react/services/casinofied/app-launcher/apps/payments-redirect/payments-redirect.application.tsx","app-react/services/casinofied/app-launcher/apps/full-cashier/full-cashier.application.ts","app-react/services/casinofied/app-launcher/apps/cashout-widget/cashout-widget.application.ts","app-react/services/casinofied/app-launcher/apps/transaction-history/transaction-history.application.ts","app-react/services/casinofied/app-launcher/apps/customer-relations/customer-relations.application.ts","app-react/services/casinofied/app-launcher/apps/free-to-play-bonus-games/free-to-play-bonus-games.application.ts","app-react/services/casinofied/app-launcher/apps/help-centre/help-centre.application.ts","app-react/services/casinofied/app-launcher/apps/control-center/init-params-helper.ts","app-react/services/casinofied/app-launcher/apps/control-center/control-center-full.application.ts","app-react/services/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/apps/registration-widget/registration-widget.application.ts","app-react/services/casinofied/app-launcher/casinofied-app-factory.ts","app-react/services/external-links/handlers/registration/registration-marketing-data-builder.ts","app-react/services/casinofied/app-launcher/casinofied-app-launcher.service.ts","app-react/services/casinofied/action-handler/action-handler-base.ts","app-react/services/casinofied/action-handler/handlers/open-banking.action-handler.ts","app-react/services/casinofied/action-handler/handlers/upload-documents-from-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-deposit.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-withdraw.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-chat.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link-with-form-post.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-full.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/logout.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-help-center.action-handler.ts","app-react/services/casinofied/action-handler/handlers/login.action-handler.ts","app-react/services/casinofied/action-handler/handlers/registration.action-handler.ts","app-react/services/casinofied/action-handler/handlers/transaction-history.action-handler.ts","utils/case-insensitive-property-reader.ts","app-react/services/casinofied/action-handler/handlers/open-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-challenges.action-handler.ts","app-react/services/casinofied/action-handler/handlers/navigate-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-my-account.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-rich.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-mini.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-game.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-forgot-your-password.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-free-to-play.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-online-help.action-handler.ts","app-react/services/casinofied/action-handler/handlers/autologin.action-handler.ts","app-react/services/casinofied/action-handler/casinofied-action-handler.service.ts","app-react/services/floating-bubbles/floating-bubbles.service.ts","app-react/components/source-of-funds/boxes/source-of-funds.box.ts","app-react/components/source-of-funds/source-of-funds-popup.component.tsx","app-react/services/restriction-ruler/restriction-ruler.service.tsx","app-react/services/restriction-ruler/restriction-ruler.service.interface.ts","app-react/services/red-tiger/red-tiger.service.ts","app-react/services/casinofied/analytics-publisher/casinofied-analytics.service.ts","app-react/services/http/http-with-request-time-measurement.service.ts","app-react/services/ab-testing-ai-sort/ab-testing-ai-sort-games-lists.service.ts","common/utils/cashier-util.ts","app-react/services/external-links/handlers/cashier/cashier.external-link-handler.ts","app-react/services/cashier/cashier.service.ts","app-react/services/external-links/handlers/external-link-handler-base.ts","app-react/components/external-links/boxes/external-link-iframe-container.box.ts","app-react/components/external-links/boxes/external-link-close-button-wrapper.default.box.ts","app-react/components/external-links/boxes/external-link-close-button-wrapper.box.ts","app-react/components/external-links/boxes/external-link-iframe.box.ts","app-react/components/external-links/external-link-iframe.component.tsx","app-react/components/external-links/external-link-iframe-in-modal-dialog.component.tsx","app-react/services/external-links/renderers/external-link-iframe.renderer.tsx","app-react/services/external-links/handlers/external-link-in-iframe-handler-base.ts","app-react/services/external-links/handlers/registration/registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account/my-account.external-link-handler.tsx","common/enums/platform-event-type.enum.ts","app-react/services/external-links/handlers/omg/omg.external-link-handler.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-credentials-external-link-handler-base.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-user-name/forgot-user-name.external-link-handler.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-password/forgot-password.external-link-handler.ts","app-react/services/external-links/handlers/pending-login/pending-login.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers/game-limits/game-limits.external-link-handler.ts","app-react/services/external-links/handlers/contact-us/contact-us.external-link-handler.ts","app-react/services/external-links/handlers/rich/rich.external-link-handler.ts","app-react/services/external-links/handlers/help/help.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/pending-action.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/deposit/deposit-pending-action.external-link-handler.ts","app-react/services/links-navigation/regulation-hooks/regulation-link-navigation-hook.interface.ts","app-react/services/external-links/handlers/pending-action/transaction-history/transaction-history-pending-action.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/real-game-play/real-game-play-pending-action.external-link-handler.ts","app-react/services/external-links/handlers-factory/external-links-handlers-factory.ts","app-react/components/header/welcome-buttons/header-welcome-buttons-analytics-sender.ts","app-react/components/header/buttons/login-button/header-login-button.component.tsx","app-react/components/header/buttons/register-button/header-register-button.component.tsx","app-react/components/about-component/boxes/about.box.ts","app-react/components/about-component/boxes/about-info-section.box.ts","app-react/components/about-component/boxes/about-footer-section.box.ts","app-react/components/about-component/about.component.tsx","app-react/components/clock-and-last-login-box/last-login/boxes/last-login-label.box.ts","app-react/components/clock-and-last-login-box/last-login/boxes/last-login-value.box.ts","app-react/components/clock-and-last-login-box/last-login/last-login.component.tsx","app-react/services/regulation/regulation-components-common.tsx","app-react/services/menu-items-common/regulations-specific/regulation-menu-item-factory-base.ts","app-react/services/links-navigation/regulation-hooks/regulation-navigation-hook-base.ts","app-react/services/specific-dialogs/specific-dialogs.service.interface.ts","app-react/services/regulation/legacy-regulation-wrapper.ts","app-react/services/regulation/germany/components/germany.regulation-components.tsx","app-react/services/regulation/germany/germany.regulation.ts","app-react/services/external-links/handlers/registration/regulations/michigan/michigan.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/michigan/michigan.external-links-handlers-factory.ts","app-react/components/clock-and-last-login-box/session-timer/boxes/session-timer-label.box.ts","app-react/components/clock-and-last-login-box/session-timer/boxes/session-timer-value.box.ts","app-react/components/clock-and-last-login-box/session-timer/session-timer.component.tsx","app-react/components/clock-and-last-login-box/last-login-with-session-timer/last-login-with-session-timer.component.tsx","app-react/services/regulation/regulation-const.ts","app-react/services/regulation/michigan/components/michigan.regulation-components.tsx","app-react/services/menu-item-regulation-specific/michigan/side-menu/components/michigan.sport-side-menu-item.component.tsx","app-react/services/menu-item-regulation-specific/michigan/side-menu/michigan.sport-side-menu-item.renderer.tsx","app-react/services/menu-item-regulation-specific/michigan/michigan.menu-item-factory.ts","app-react/services/regulation/michigan/michigan.regulation.ts","app-react/services/regulation/ontario/components/ontario.regulation-components.tsx","app-react/services/external-links/handlers/registration/regulations/ontario/ontario.registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/ontario/ontario.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/ontario/ontario.external-links-handlers-factory.ts","app-react/services/regulation/ontario/ontario.regulation.ts","app-react/services/external-links/handlers/registration/regulations/netherlands/netherlands.registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/netherlands/netherlands.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/real-game-play/netherlands/netherlands.real-game-play-pending-action.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/netherlands/netherlands.external-links-handlers-factory.ts","app-react/services/regulation/netherland/components/netherlands.regulation-components.tsx","app-react/services/regulation/netherland/netherlands.regulation.ts","app-react/services/external-links/handlers/registration/regulations/new-jersey/new-jersey.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/new-jersey/new-jersey.external-links-handlers-factory.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play-container.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play-label.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/safe-to-play/us.safe-to-play.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.responsible-gaming.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/responsible-gaming/us.responsible-gaming.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/us.responsible-gaming-buttons.component.tsx","app-react/services/regulation/new-jersey/components/new-jersey.regulation-components.tsx","app-react/services/regulation/new-jersey/new-jersey.regulation.ts","app-react/services/external-links/handlers/registration/regulations/uk/uk.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/uk/uk.external-links-handlers-factory.ts","app-react/services/regulation/uk/uk.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/italy/italy.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/italy/italy.external-links-handlers-factory.ts","app-react/services/regulation/italy/components/italy.regulation-components.ts","app-react/services/menu-item-regulation-specific/italy/side-menu/italy.test-menu-item.renderer.tsx","app-react/services/menu-item-regulation-specific/italy/italy.menu-item-factory.ts","app-react/services/regulation/italy/italy.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/romania/romania.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/romania/romania.external-links-handlers-factory.ts","app-react/services/regulation/romania/romania.regulation.ts","app-react/services/regulation/portugal/components/portugal.regulation-components.ts","app-react/services/regulation/portugal/portugal.regulation.ts","app-react/services/regulation/sweden/components/sweden.regulation-components.tsx","app-react/services/regulation/sweden/sweden.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/denmark/denmark.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/denmark/denmark.external-links-handlers-factory.ts","app-react/services/regulation/denmark/components/denmark.regulation-components.tsx","app-react/services/regulation/denmark/denmark.regulation.ts","app-react/services/regulation/spain/spain.regulation.ts","app-react/services/limits-toaster/limits-toaster.service.ts","app-react/services/regulation/regulation.service.ts","app-react/services/burnout/player-burnout.service.ts","app-react/services/player-offerings/player-offerings/offers/offer-base.ts","app-react/services/player-offerings/player-offerings/offers/welcome-offer.tsx","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-shell.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-colors.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-wrapper.box.ts","app-react/components/wheel-of-fortune/wheel-of-fortune.component.tsx","app-react/services/player-offerings/player-offerings/offers/wheel-of-fortune-offer.tsx","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.box.ts","app-react/services/player-offerings/player-offerings/offers/registration-offer.tsx","app-react/services/player-offerings/player-offerings.service.tsx","app-react/services/pixi-app/pixi-app-creator.ts","app-react/services/pixi-app/pixi-app.service.ts","app-react/services/free-play/free-play.service.interface.ts","app-react/services/free-play/providers/3rdparty/third-party-vouchers.provider.ts","app-react/services/game-animated-icons-manager/game-animated-icons-manager.service.ts","app-react/services/webgl-context-manager/webgl-context-manager.service.ts","app-react/services/exit-popup/exit-popup-consts.ts","app-react/services/exit-popup/exit-popup.service.tsx","app-react/services/tooltip/tooltip-base.service.ts","app-react/services/tooltip/tooltip-base/tooltip-modifiers.ts","app-react/services/tooltip/tooltip-base/tooltip-base.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltip.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltips.service.ts","app-react/services/gaming-history/models/paginator/history-paginator-base.model.ts","app-react/services/gaming-history/models/record/history-record-base.model.ts","app-react/services/gaming-history/models/record/user-gaming-history-record.model.ts","app-react/services/gaming-history/models/record/migrated-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/migrated-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/void-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/user-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/record/session-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/session-gaming-history-paginator.model.ts","app-react/services/gaming-history/gaming-history.service.ts","app-react/services/companies/companies.service.ts","app-react/services/because-you-played/because-you-played.service.ts","app-react/services/game-runner/running-game-browser-tab-controller.ts","app-react/services/game-runner/loading-indicators/game-loading-indicator-base.model.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/root/hybrid-embedded-game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/header/hybrid-embedded-game-loading-indicator-header.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/content/hybrid-embedded-game-loading-indicator-content.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/spinner/hybrid-embedded-game-loading-indicator-spinner.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/progress/hybrid-embedded-game-loading-indicator-progress.box.ts","app-react/themes/defaults/icons/loading-circle-large.icon.tsx","app-react/components/game-window/loading-indicators/hybrid-embedded/hybrid-embedded-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/hybrid-embedded-game-loading-indicator.model.tsx","app-react/components/game-window/loading-indicators/web-app/web-app-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/web-app-game-loading-indicator.model.tsx","app-react/services/game-runner/game-runner.service.ts","app-react/services/hybrid/hybrid.service.ts","app-react/services/video-live-stream/static-video-playing.service.ts","app-react/services/storage/session-storage.service.ts","app-react/services/storage/cookies.service.ts","app-react/services/free-play/free-play-game/free-play-game.model.ts","app-react/services/free-play/vouchers/voucher-base.model.ts","app-react/services/free-play/vouchers/free-play/free-play-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-play/jackpot-free-play-voucher.model.ts","app-react/services/free-play/vouchers/free-spins/free-spins-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-spins/jackpot-free-spins-voucher.model.ts","app-react/services/free-play/providers/vouchers-provider-base.ts","app-react/services/free-play/providers/888/888-free-play-vouchers.provider.ts","app-react/services/geo-location/strategies/geo-comply-error-codes.ts","app-react/services/free-play/free-play.service.ts","app-react/services/restrictions/restrictions.service.ts","app-react/services/free-to-play/free-to-play.service.ts","app-react/services/gnwp/gnwp.service.ts","app-react/services/scrip-loader/script-loader.service.ts","app-react/services/admin-banner/admin-banner.service.ts","app-react/services/session-timer/session-timer.service.ts","app-react/services/geo-location/geo-location-analytics.ts","app-react/services/geo-location/geo-helpers.ts","app-react/services/geo-location/geo-runner/geo-location-dialogs-factory.tsx","app-react/services/geo-location/strategies/plugin/geo-comply-plugin-client.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list-item.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-colored-text.box.ts","app-react/components/geo/geo-install-plugin/geo-install-plugin-popup-component.tsx","app-react/services/geo-location/strategies/plugin/geo-location-plugin.strategy.tsx","app-react/components/geo/geo-freeze/geo-freeze-popup.component.tsx","app-react/components/geo/game-restriction-popup/geo-location-game-restriction-popup.component.tsx","app-react/services/geo-location/geo-runner/geo-location-runner-base.ts","app-react/services/geo-location/geo-runner/geo-kick-reasons.ts","app-react/services/geo-location/geo-runner/platform-geo-location-validator.ts","app-react/services/geo-location/geo-runner/geo-location-runner-in-casino.tsx","app-react/services/geo-location/strategies/native/geo-location-native.strategy.ts","app-react/services/geo-location/geo-runner/geo-location-runner-in-other-brands.ts","common/interfaces/crm-sdk-lib.interface.ts","app-react/services/geo-location/strategies/html5/geo-comply-html5-client.ts","app-react/services/geo-location/strategies/html5/geo-location-html5.strategy.ts","app-react/services/geo-location/geo-location.service.tsx","app-react/services/crm/crm.service.ts","sdk/src/services/player_messages_service/firebase/handlers/gambling-session_handler_interfaces.ts","app-react/components/lugas/boxes/line-box.ts","app-react/components/lugas/lugas-active-popup.component.tsx","app-react/components/login-popup/boxes/login-popup.box.ts","app-react/components/login-popup/boxes/login-popup-dialog-text.box.ts","app-react/components/login-popup/login-popup.component.tsx","app-react/basic-ui-components/form/toggle-switch/boxes/checkbox/toggle-switch-checkbox.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/slider/toggle-switch-slider.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/toggle-switch.box.ts","app-react/basic-ui-components/form/toggle-switch/toggle-switch.component.tsx","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-dialog.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-info-section/modify-biometric-info-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-toggle-section/modify-biometric-toggle-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/modify-biometric-dialog.component.tsx","app-react/services/specific-dialogs/specific-dialogs.service.tsx","app-react/services/tipping-history/models/tipping-history-view-model.ts","app-react/services/tipping-history/tipping-history.service.ts","app-react/services/loyalty-indicator/models/loyalty-indicator.model.ts","app-react/services/loyalty-indicator/loyalty-indicator.service.ts","app-react/components/state-popup/boxes/state-popup-wrapper.box.ts","app-react/components/state-popup/state-popup.component.tsx","app-react/components/state-popup/boxes/state-popup-error-message.box.ts","app-react/components/state-popup/boxes/state-popup-select-wrapper.box.ts","app-react/components/state-popup/state-popup-with-dropdown.component.tsx","app-react/services/state-of-residence-identifier/state-popup-strategies-consts.ts","app-react/services/state-of-residence-identifier/state-popup-strategies.ts","app-react/services/state-of-residence-identifier/state-of-residence-identifier.service.tsx","app-react/services/login-popup/login-popup.service.ts","app-react/services/onboarding-tour/steps/welcome.step.ts","app-react/services/onboarding-tour/geometry.helper.ts","app-react/services/onboarding-tour/steps/main-menu.step.ts","app-react/services/onboarding-tour/steps/user-menu.step.ts","app-react/services/features-toggle-management/FeatureId.ts","utils/rem-to-px.ts","app-react/services/onboarding-tour/onboarding-tour.service.ts","app-react/services/nyx/nyx.service.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip.model.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/text-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.777.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/seperator.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/icon-title-text.tooltip.tsx","app-react/services/tooltip/on-boarding-tooltip/free-play/free-play.on-boarding-tooltip.model.tsx","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/icon-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/ios-add-to-home-share-icon.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/message-body-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/ios-add-to-home.component.tsx","app-react/services/tooltip/on-boarding-tooltip/pwa/ios-pwa.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/control-center/control-center.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltips.service.ts","app-react/services/player-migration/player-migration.service.ts","app-react/services/toaster/toasts-queue.ts","app-react/services/toaster/toast-helpers/toast-classnames.helper.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-image.box.ts","app-react/components/toaster/toasts-content/standard-toast.component.tsx","app-react/services/toaster/toast-helpers/toast-analytics.helper.ts","app-react/services/toaster/toast-handler.tsx","app-react/services/toaster/firebase-toaster.service.interface.ts","app-react/services/toaster/toaster.service.tsx","app-react/services/features-toggle-management/FeaturesMaxDisplayCountMap.ts","app-react/services/features-toggle-management/features-toggle-management.service.ts","app-react/services/links-navigation/link-configuration-parser.ts","app-react/services/links-navigation/links-navigation.service.ts","app-react/services/menu-item-action-factory/link-navigation.action.ts","app-react/services/menu-item-action-factory/menu-item-action-factory.service.ts","app-react/services/bottom-navigation-bar/bottom-navigation-bar-menu-item-config-reader.ts","app-react/components/bottom-navigation-bar/boxes/menu-item/bottom-navigation-bar-menu-item.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item/bottom-navigation-bar-menu-item.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.casino777.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-icon/bottom-navigation-bar-menu-item-icon.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-icon/bottom-navigation-bar-menu-item-icon.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-item-icon.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-item.component.tsx","app-react/services/bottom-navigation-bar/menu-items/generic-bottom-navigation-bar-menu-item.renderer.tsx","app-react/services/bottom-navigation-bar/bottom-navigation-bar.service.ts","utils/json-helper.ts","app-react/services/toaster/firebase-toaster.service.tsx","app-react/services/gambling-session/gambling-session.service.interface.ts","app-react/services/titan-jackpot/titan-jackpot.service.ts","app-react/services/game-theme/game-theme-definition/game-theme-definition.ts","app-react/services/game-theme/games-theme.service.ts","app-react/services/game-vendor/game-vendor-definition.ts/game-vendor-definition.ts","app-react/services/game-vendor/games-vendor.service.ts","app-react/services/player-messages/player-messages.service.ts","app-react/components/video-slides/components/video-slide/boxes/video-slide.box.ts","app-react/components/video-slides/components/video-slide/components/video-slide-footer/boxes/video-slide-footer.box.ts","app-react/components/video-slides/components/video-slide/components/video-slide-footer/boxes/video-slide-footer-default.box.ts","app-react/components/video-slides/components/video-slide/components/video-slide-footer/boxes/video-slide-game-details/video-slide-game-details.box.ts","app-react/components/video-slides/components/video-slide/components/video-slide-footer/boxes/video-slide-game-title/video-slide-game-title.box.ts","app-react/components/video-slides/components/video-slide/components/video-slide-footer/boxes/video-slide-game-title/video-slide-game-title-default.box.ts","app-react/components/video-slides/components/video-slide/components/video-slide-footer/video-slide-footer.component.tsx","app-react/components/video-slides/components/video-slide/boxes/video-slide-container.box.ts","app-react/components/video-slides/components/video-slide/video-slide.component.tsx","app-react/services/video-slides/video-slides-renderers/video-slide.renderer.tsx","app-react/services/video-slides/video-slides-renderers/slide-base.renderer.ts","app-react/services/video-slides/video-slides.service.ts","app-react/services/web-vitals/web-vitals.service.ts","app-react/components/profile-box-messages-indicator/consts/indicator-layout.ts","app-react/services/gambling-session/gambling-session-analytics.ts","app-react/services/gambling-session/gambling-session.service.tsx","app-react/services/service-factory.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino888Wsop.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.wsop.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrahs.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.si.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.mrgreen.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.box.ts","app-react/components/user-menu/logo-box/logo-box.component.tsx","app-react/components/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.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.mrgreen.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/spinner/boxes/spinner/spinner.box.ts","app-react/components/spinner/boxes/spinner/spinner.default.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.casino777.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cip.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cis.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.mrgreen.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.box.ts","app-react/components/drawer/drawer-spinner.component.tsx","app-react/components/drawer/drawer.component.tsx","app-react/components/overlay/boxes/overlay.component.default.box.tsx","app-react/components/overlay/boxes/overlay.component.mrgreen.box.ts","app-react/components/overlay/boxes/overlay.component.box.tsx","app-react/components/overlay/overlay.component.tsx","app-react/components/spinner/boxes/spinner-logo/spinner-logo.default.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.casino777.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cip.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.wsop.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cis.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.box.ts","app-react/components/spinner/boxes/spinner-subtext/spinner-subtext.box.ts","app-react/components/spinner/boxes/spinner-subtext/spinner-subtext.default.box.ts","app-react/components/spinner/spinner.component.tsx","app-react/components/breadcrumbs/breadcrumbs.component.tsx","app-react/components/app-footer/app-footer.component.tsx","app-react/components/router-outlet/boxes/router-outlet.default.box.ts","app-react/components/router-outlet/boxes/router-outlet.casino777.box.ts","app-react/components/router-outlet/boxes/router-outlet.casino888.box.ts","app-react/components/router-outlet/boxes/router-outlet.harrahs.box.ts","app-react/components/router-outlet/boxes/router-outlet.si.box.ts","app-react/components/router-outlet/boxes/router-outlet.box.ts","app-react/components/router-outlet/router-outlet.component.tsx","app-react/components/floating-bubbles/boxes/floating-bubbles-container.box.ts","app-react/components/floating-bubbles/boxes/floating-bubble.box.ts","app-react/components/floating-bubbles/floating-bubbles.component.tsx","app-react/components/container/boxes/main-wrapper.default.box.ts","app-react/components/container/boxes/main-wrapper.cip.box.ts","app-react/components/container/boxes/main-wrapper.mrgreenCis.box.ts","app-react/components/container/boxes/main-wrapper.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-cutout.box.ts","app-react/components/onboarding-tour/fade-in-div-on-mount.component.tsx","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.default.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.casino777.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.mrgreen.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.si.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.box.ts","app-react/services/onboarding-tour/onboarding-spotlight.helper.ts","app-react/components/onboarding-tour/spotlight/boxes/spotlight-svg.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.default.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.mrgreen.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.casino777.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.box.ts","app-react/components/onboarding-tour/spotlight/onboarding-spotlight.component.tsx","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.casino777.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-main-text.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-secondary-text.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.casino777.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-content.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-close.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.888casino.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.box.ts","app-react/components/onboarding-tour/dialog/onboarding-dialog.component.tsx","app-react/components/onboarding-tour/onboarding-tour.component.tsx","app-react/components/container/container.component.tsx","app-react/components/modal-dialog/modal-dialogs-container.component.tsx","app-react/components/sdk/orbit-components-rendered-inside-sdk-container.tsx","app-react/components/burnout/player-burnout-layer.component.tsx","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.default.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.777.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.mrgreen.box.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.box.ts","app-react/components/tooltip/boxes/tooltip-close-button.box.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.default.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.box.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.default.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.777.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.mrgreen.box.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.box.ts","app-react/components/tooltip/boxes/tooltip-content.box.ts","app-react/components/tooltip/tooltip-container.component.tsx","app-react/components/game-window/loading-indicators/boxes/game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/game-loading-indicator.component.tsx","app-react/components/current-game-container/current-game-container.component.tsx","app-react/components/toaster/boxes/toaster-styles-wrapper.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.default.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.mrgreen.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.box.ts","app-react/components/toaster/toaster.component.tsx","app-react/components/app/app.component.tsx","app-react/services/storage/in-memory-local-storage.service.ts","app-react/app-bootstrap/b2c-framework-loader/b2c-framework-loader.ts","app-react/themes/select-theme.ts","app-react/orbit-api.interface.ts","app-react/b2c-adapter.ts","app-react/orbit-api.ts","main.ts","sdk/src/events/events.ts","sdk/src/exceptions/cgp_error_codes.ts","sdk/src/services/games_information/games_information_service_interface.ts","sdk/src/services/hybrid/native/native_const.ts","sdk/src/services/overlay_manager/overlay_manager_levels.ts","sdk/src/services/player_messages_service/firebase/handlers/messages_handler_interfaces.ts","sdk/src/services/player_messages_service/player_messages_consts.js","sdk/src/services/regulation/regulation_const.ts","sdk/src/utils/date_formatter.ts","sdk/src/utils/event.ts","settings/configs/default-config.ts","settings/languages/eng.ts","utils/delay.ts","utils/disposable-object.ts","app-react/services/companies/companies-models|lazy|/^/.*/.company/-model$/|chunkName: company|groupOptions: {}|namespace object","app-react/services/menu-item-action-factory/custom-actions|sync|/.+/.action/.(ts%7Ctsx)$","app-react/services/side-menu/menu-items/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/services/user-menu/menu-items/useful-links/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/themes/definitions|lazy|/^/.*/theme/.definition$/|chunkName: theme-definition|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*$/|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*/config$/|groupOptions: {}|namespace object","settings/languages|lazy|/^/.*$/|chunkName: language|groupOptions: {}|namespace object"],"sourcesContent":["import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../themes/architecture/css-helpers/flex\";\r\nimport {MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS, PC_HORIZONTAL_SPACE_BETWEEN_ITEMS} from \"../space-between-items-consts\";\r\n\r\nexport const BlankHorizontalSeparatorBox = styled.span<{multiplier?: number}>`\r\n ${flexFixedSizeItem}\r\n width: ${props => PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n @media ${props => props.theme.mediaQuery.lAndBelow} {\r\n width: ${props => MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\n\r\nexport const LayoutWrapperWsopBox = styled(LayoutWrapperDefaultBox)`\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n //top: 0;\r\n left: 0;\r\n\r\n background-image: radial-gradient(50% 50% at 55% 55%, ${({theme}) => theme.colors.logoBackground}b0, ${({theme}) => theme.colors.background} 70%);\r\n background-repeat: no-repeat;\r\n background-attachment: fixed;\r\n background-size: cover;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`","import {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\nimport {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\nimport {LayoutWrapperWsopBox} from \"./layout-wrapper.wsop.box\";\r\n\r\nexport const LayoutWrapperBox = styledByTheme(LayoutWrapperDefaultBox)\r\n .forWsop(LayoutWrapperWsopBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../themes/architecture/styled-by-device\";\r\nimport {HOME_PAGE, LIVE_CASINO_PAGE, MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport { CssRule } from \"../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const PCBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 500px;\r\n\r\n .${HOME_PAGE} &.${MOVE_TOP}{\r\n margin-top: -13rem;\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-left: 10rem;\r\n padding-right: 10rem;\r\n padding-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &.${MOVE_TOP} {\r\n padding-left: 3rem;\r\n padding-right: 3rem;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 0;\r\n padding-right: 0;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n .${HOME_PAGE} & {\r\n &.${MOVE_TOP} {\r\n margin-top: -9rem;\r\n }\r\n\r\n ${CssRule.For.mobile.embededHybrid.build()} & {\r\n &.${MOVE_TOP} {\r\n margin-top: 1rem;\r\n margin-bottom: 0;\r\n }\r\n }\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-top: 10px;\r\n }\r\n`;\r\n\r\nexport const LayoutWrapperDefaultBox = styledByDevice(PCBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst Load = keyframes`\r\n 0%,\r\n 80%,\r\n 100% {\r\n box-shadow: 0 1.5em 0 -1.3em;\r\n }\r\n 40% {\r\n box-shadow: 0 1.5em 0 0;\r\n }\r\n`;\r\n\r\nexport const LoadingDotBox = styled.div<{animationDelay: string}>`\r\n border-radius: 50%;\r\n width: 1.6rem;\r\n height: 1.5rem;\r\n margin-left: 25px;\r\n animation: ${Load} 1.7s infinite ease-in-out;\r\n animation-delay: ${props => props.animationDelay};\r\n`","import styled from \"styled-components\";\r\n\r\n\r\nexport const LoadingDotsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n align-content: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {LoadingDotBox} from \"./boxes/loading-dot.box\";\r\nimport {LoadingDotsBox} from \"./boxes/loading-dots.box\";\r\n\r\nexport const LoadingDotsComponent = observer(class LoadingDotsComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n});","import styled from \"styled-components\";\r\n\r\nexport const LobbyGridDefaultBox = styled.div`\r\n overflow: hidden;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n max-width: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 100%;\r\n }\r\n`;","import {LobbyGridDefaultBox} from \"./lobby-grid.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyGridBox = styledByTheme(LobbyGridDefaultBox).apply();","import styled from \"styled-components\";\r\n\r\n\r\nexport const LobbyWrapperDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1.2rem;\r\n line-height: normal;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n min-height: 100vh;\r\n padding-bottom: 100px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.5rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n opacity: 0;\r\n }\r\n\r\n }\r\n`;\r\n\r\nexport const LobbyWrapperWithoutBackgroundDefaultBox = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyWrapperDefaultBox} from './lobby-wrapper.default.box';\r\nimport {LOBBY_PAGE} from '../../themes/css-global-classes';\r\n\r\nexport const LobbyWrapperCasino777Box = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0;\r\n .${LOBBY_PAGE} & {\r\n &:before {\r\n display: block;\r\n opacity:1;\r\n top: 0;\r\n }\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../themes/definitions/si/cis/base-colors\";\r\nimport { LobbyWrapperWithoutBackgroundDefaultBox } from \"./lobby-wrapper.default.box\";\r\n\r\nexport const LobbyWrapperSiCisBox = styled(LobbyWrapperWithoutBackgroundDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import styled from \"styled-components\";\r\nimport { LobbyWrapperWithoutBackgroundDefaultBox } from \"./lobby-wrapper.default.box\";\r\n\r\nexport const LobbyWrapperWsopBox = styled(LobbyWrapperWithoutBackgroundDefaultBox)`\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n background-image: radial-gradient(50% 50% at 55% 55%, ${({theme}) => theme.colors.logoBackground}b0, ${({theme}) => theme.colors.background} 70%);\r\n background-repeat: no-repeat;\r\n background-attachment: fixed;\r\n background-size: cover;\r\n width: 100%;\r\n height: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: radial-gradient(50% 50% at 50% 60%, ${({theme}) => theme.colors.logoBackground}b0, ${({theme}) => theme.colors.background} 70%);\r\n display: block;\r\n opacity: 1;\r\n }\r\n`;","import {LobbyWrapperDefaultBox, LobbyWrapperWithoutBackgroundDefaultBox} from \"./lobby-wrapper.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\nimport {LobbyWrapperCasino777Box} from \"./lobby-wrapper.casino777.box\";\r\nimport { LobbyWrapperSiCisBox } from \"./lobby-wrapper.siCis.box\";\r\nimport {LobbyWrapperWsopBox} from \"./lobby-wrapper.wsop.box\";\r\n\r\nexport const LobbyWrapperBox = styledByTheme(LobbyWrapperDefaultBox)\r\n .forCasino777(LobbyWrapperCasino777Box)\r\n .forSI(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forMrGreen(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forSICis(LobbyWrapperSiCisBox)\r\n .forWsop(LobbyWrapperWsopBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {MAIN_SCREEN} from '../../themes/css-global-classes';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const MainScreenComponent = observer(class MainScreenComponent extends OrbitComponent {\r\n\r\n render() {\r\n //TODO - main-screen class should be removed once we convert all the components to styled-components\r\n\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n});\r\n\r\n","export function PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (15 * multiplier) + 'px';\r\n}\r\n\r\nexport function MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (5 * multiplier) + 'px';\r\n}","import {Check} from \"@sparkware/app-utils\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {IButtonColor, IButtonColorSet, IButtonColorSetDef} from \"./button-props.interface\";\r\n\r\nexport function hoverColor(hex: string, hoverAdjustAmount: number = 17) {\r\n try {\r\n const color = Color.fromHex(hex);\r\n // i chose 60 here because it's a value close to sqrt(35^2 + 35^2 + 35^2)\r\n if (color.distanceFrom(new Color(255, 255, 255)) < 60) {\r\n return color.darken(hoverAdjustAmount).hexa();\r\n }\r\n return color.lighten(hoverAdjustAmount).hexa();\r\n } catch (e) {\r\n console.log(e);\r\n console.log(\"HOVER COLOR WAS CALLED WITH: \", hex);\r\n return hex;\r\n }\r\n}\r\n\r\nexport function activeColor(hex: string, activeAdjustAmount: number = 17) {\r\n try {\r\n const color = Color.fromHex(hex);\r\n // i chose 60 here because it's a value close to sqrt(35^2 + 35^2 + 35^2)\r\n if (color.distanceFrom(new Color(255, 255, 255)) < 60) {\r\n return color.darken(activeAdjustAmount * 1.75).hexa();\r\n }\r\n return color.darken(activeAdjustAmount).hexa();\r\n } catch (e) {\r\n console.log(e);\r\n console.log(\"ACTIVE COLOR WAS CALLED WITH: \", hex);\r\n return hex;\r\n }\r\n}\r\n\r\nexport function hoverGradient(gradient: string, hoverAdjustAmount?: number) {\r\n const clrs = gradient.split(\"#\");\r\n if (clrs.length > 1) {\r\n for (let i = 1; i < clrs.length; i++) {\r\n const hexClr = clrs[i].substring(0, 6);\r\n // get the hover color and remove # because we will add when joining\r\n const hexHoverClr = hoverColor(hexClr, hoverAdjustAmount).substring(1);\r\n clrs[i] = hexHoverClr + clrs[i].substring(6);\r\n }\r\n return clrs.join(\"#\");\r\n }\r\n return gradient;\r\n}\r\n\r\nexport function activeGradient(gradient: string, activeAdjustAmount?: number) {\r\n const clrs = gradient.split(\"#\");\r\n if (clrs.length > 1) {\r\n for (let i = 1; i < clrs.length; i++) {\r\n const hexClr = clrs[i].substring(0, 6);\r\n // get the hover color and remove # because we will add when joining\r\n const hexActiveClr = activeColor(hexClr, activeAdjustAmount).substring(1);\r\n clrs[i] = hexActiveClr + clrs[i].substring(6);\r\n }\r\n return clrs.join(\"#\");\r\n }\r\n return gradient;\r\n}\r\n\r\nexport function computeColorSet(colorSet: IButtonColorSetDef, defaultDisabled: IButtonColor): IButtonColorSet {\r\n const hoverAdjustAmount = Check.isNumber(colorSet.hover) ? colorSet.hover : undefined;\r\n const activeAdjustAmount = Check.isNumber(colorSet.active) ? colorSet.active : undefined;\r\n if (Check.isNumber(colorSet.hover)) {\r\n // I need to clone the colorSet otherwise I will delete hover globally (colorSet is passed by reference)\r\n colorSet = {\r\n ...colorSet\r\n };\r\n delete colorSet.hover;\r\n }\r\n if (Check.isNumber(colorSet.active)) {\r\n // I need to clone the colorSet otherwise I will delete active globally (colorSet is passed by reference)\r\n colorSet = {\r\n ...colorSet\r\n };\r\n delete colorSet.active;\r\n }\r\n\r\n let hoverBgGradient = undefined;\r\n if (colorSet.normal.bgGradient) {\r\n hoverBgGradient = hoverGradient(colorSet.normal.bgGradient, hoverAdjustAmount);\r\n }\r\n const defaultHover: IButtonColor = {\r\n ...colorSet.normal,\r\n bg: hoverColor(colorSet.normal.bg, hoverAdjustAmount),\r\n border: hoverColor(colorSet.normal.border, hoverAdjustAmount),\r\n bgGradient: hoverBgGradient\r\n };\r\n \r\n let activeBgGradient = undefined;\r\n if (colorSet.normal.bgGradient) {\r\n activeBgGradient = activeGradient(colorSet.normal.bgGradient, activeAdjustAmount);\r\n }\r\n const defaultActive: IButtonColor = {\r\n ...colorSet.normal,\r\n bg: activeColor(colorSet.normal.bg, activeAdjustAmount),\r\n border: activeColor(colorSet.normal.border, activeAdjustAmount),\r\n bgGradient: activeBgGradient\r\n };\r\n /**\r\n * I get a weird Typescript bug probably because interfaces IButtonColorSet and IButtonColorSetDef.\r\n * It says that type number is not assignable to IButtonColor but defaultHover cannot be number and is not defined as number.\r\n * I cast it as any\r\n */\r\n const cset: IButtonColorSet = {\r\n disabled: defaultDisabled,\r\n hover: defaultHover as any,\r\n active: defaultActive,\r\n ...colorSet,\r\n }\r\n return cset\r\n}\r\n","import styled, { css } from \"styled-components\";\r\nimport { IButtonCommonProps, IButtonColorSet, IButtonPreset } from \"../button-props.interface\";\r\n\r\nenum ColorSetWanted {\r\n Default = 0,\r\n Hover = 1,\r\n Active = 2\r\n}\r\n\r\ninterface IButtonBoxProps extends IButtonCommonProps {\r\n colorSet: IButtonColorSet;\r\n\r\n width: number;\r\n height: number;\r\n strokeWidth: number;\r\n iconSize: number;\r\n lateralPadding: number;\r\n\r\n hasLabel: boolean;\r\n hasIcon: boolean;\r\n}\r\nexport const ButtonBox = styled.button`\r\n cursor: ${props => props.disabled ? \"default\" : \"pointer\"};\r\n user-select: none;\r\n\r\n border-radius: ${props => props.rounded ? \"100px\" : props.theme.layout.border.radius};\r\n ${props => props.margin ? css`\r\n margin: ${props.margin};\r\n ` : null};\r\n\r\n /* Override user-agent styles */\r\n background: none;\r\n outline: none;\r\n\r\n ${({theme}) => theme.font.presets.ultra};\r\n /**\r\n * This is not the actual text size.\r\n * The text size is set in the span wrapping the text, here i'm just creating a context for the em units to compute relative to this\r\n */\r\n font-size: ${props => props.noRemUnits ? \"10px\" : \"1rem\"};\r\n /**\r\n * If we have only an icon and no label, we want a square (or circle) button\r\n * that means the width = height =>\r\n * border x 2 + lateral-padding x 2 + icon_size = height =>\r\n * lateral_padding = (height - icon_size - 2 x border)/2 =>\r\n * lateral_padding = (height - icon_size)/2 - border\r\n *\r\n * If we have label (with or without icon), don't bother, put 1em or whatever value decided by design (hardcoded or from the theme)\r\n */\r\n padding: 0 ${props => {\r\n if (props.hasIcon && !props.hasLabel) {\r\n return \"calc(\"+((props.height - props.iconSize)/2)+\"em - \"+props.strokeWidth+\"px)\";\r\n } else {\r\n return props.lateralPadding + \"em\";\r\n }\r\n }};\r\n line-height: 0.8;\r\n letter-spacing: 0.05em;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n /** content-box because the border is in px. So when computing heights, paddings etc in em border is not taken in consideration */\r\n /* box-sizing: content-box;\r\n height: calc(${props => props.height }em - 2*${props => props.strokeWidth }px); */\r\n /** OOORRR */\r\n box-sizing: border-box;\r\n height: ${props => props.height}em;\r\n\r\n width: ${props => {\r\n if (props.fullWidth) {\r\n return \"100%\";\r\n }\r\n if (props.width && props.hasLabel && props.labelOverflow !== \"expand\") {\r\n return props.width+\"em\";\r\n }\r\n return \"auto\";\r\n }};\r\n ${props => props.hasLabel && props.labelOverflow === \"expand\" ? css`\r\n min-width: ${props.width+\"em\"};\r\n ` : null};\r\n transition: all 0.2s ease-in-out;\r\n\r\n border-width: ${props => props.strokeWidth}px;\r\n border-style: solid;\r\n\r\n color: ${props => colorSet(props).text};\r\n background-color: ${props => colorSet(props).bg};\r\n border-color: ${props => colorSet(props).border};\r\n box-shadow: ${props => (props.elevated && colorSet(props).shadow) ? colorSet(props).shadow : \"none\"};\r\n\r\n /** support for bgGradient because */\r\n ${props => colorSet(props).bgGradient ? css`\r\n background: ${colorSet(props).bgGradient};\r\n ` : null}\r\n\r\n /** support for textGradient because */\r\n ${props => colorSet(props).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props).text};\r\n background: ${colorSet(props).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n\r\n /* Putting the &:hover rules inside the hover media queries prevents the button to remain in hover state after pressing it.\r\n We wouldn't need this is the pressed/active state would be different from the hover state */\r\n @media ${({theme}) => theme.mediaQuery.hover } {\r\n &:hover {\r\n /* First reset the background, if the hover doesn't have a gradient bg then we don't want to show the \"normal\" state */\r\n ${props => colorSet(props).bgGradient && !colorSet(props, ColorSetWanted.Hover).bgGradient ? css`\r\n background: none;\r\n ` : null}\r\n\r\n color: ${props => colorSet(props, ColorSetWanted.Hover).text};\r\n background-color: ${props => colorSet(props, ColorSetWanted.Hover).bg};\r\n border-color: ${props => colorSet(props, ColorSetWanted.Hover).border};\r\n ${props => colorSet(props, ColorSetWanted.Hover).bgGradient ? css`\r\n background: ${colorSet(props, ColorSetWanted.Hover).bgGradient};\r\n ` : null}\r\n box-shadow: ${props => (props.elevated && colorSet(props, ColorSetWanted.Hover).shadow) ? colorSet(props, ColorSetWanted.Hover).shadow : \"none\"};\r\n\r\n /* Reset the text gradient, if the hover doesn't have a text gradient */\r\n ${props => colorSet(props).textGradient && !colorSet(props, ColorSetWanted.Hover).textGradient ? css`\r\n & span {\r\n background: none;\r\n background-size: 100%;\r\n -webkit-background-clip: unset;\r\n -moz-background-clip: unset;\r\n background-clip: unset;\r\n -webkit-text-fill-color: unset;\r\n -moz-text-fill-color: unset;\r\n }\r\n ` : null}\r\n ${props => colorSet(props, ColorSetWanted.Hover).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props, ColorSetWanted.Hover).text};\r\n background: ${colorSet(props, ColorSetWanted.Hover).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n }\r\n }\r\n\r\n &:active {\r\n /* First reset the background, if the hover doesn't have a gradient bg then we don't want to show the \"normal\" state */\r\n ${props => colorSet(props).bgGradient && !colorSet(props, ColorSetWanted.Active).bgGradient ? css`\r\n background: none;\r\n ` : null}\r\n\r\n color: ${props => colorSet(props, ColorSetWanted.Active).text};\r\n background-color: ${props => colorSet(props, ColorSetWanted.Active).bg};\r\n border-color: ${props => colorSet(props, ColorSetWanted.Active).border};\r\n ${props => colorSet(props, ColorSetWanted.Active).bgGradient ? css`\r\n background: ${colorSet(props, ColorSetWanted.Active).bgGradient};\r\n ` : null}\r\n box-shadow: ${props => (props.elevated && colorSet(props, ColorSetWanted.Active).shadow) ? colorSet(props, ColorSetWanted.Active).shadow : \"none\"};\r\n\r\n /* Reset the text gradient, if the hover doesn't have a text gradient */\r\n ${props => colorSet(props).textGradient && !colorSet(props, ColorSetWanted.Active).textGradient ? css`\r\n & span {\r\n background: none;\r\n background-size: 100%;\r\n -webkit-background-clip: unset;\r\n -moz-background-clip: unset;\r\n background-clip: unset;\r\n -webkit-text-fill-color: unset;\r\n -moz-text-fill-color: unset;\r\n }\r\n ` : null}\r\n ${props => colorSet(props, ColorSetWanted.Active).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props, ColorSetWanted.Active).text};\r\n background: ${colorSet(props, ColorSetWanted.Active).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n }\r\n`;\r\n\r\nfunction colorSet(props: IButtonBoxProps, hoverSet?: ColorSetWanted) {\r\n let setKey: keyof IButtonPreset[\"colors\"] = \"normal\";\r\n if (hoverSet === ColorSetWanted.Active || props.active) {\r\n setKey = \"active\";\r\n }\r\n if (hoverSet === ColorSetWanted.Hover) {\r\n setKey = \"hover\";\r\n }\r\n if (props.disabled) {\r\n setKey = \"disabled\";\r\n }\r\n // const setKey: keyof IButtonPreset[\"colors\"] = props.disabled ? \"disabled\" : (hoverSet || props.active ? \"hover\" : \"normal\");\r\n if (props.colorSet[setKey]) {\r\n return props.colorSet[setKey];\r\n }\r\n return props.colorSet.normal;\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface IButtonLabelProps {\r\n fontSize: number;\r\n}\r\n\r\nexport const ButtonLabelDefaultBox = styled.span`\r\n text-transform: uppercase;\r\n font-size: ${({fontSize}) => fontSize}em;\r\n\r\n /** If the label is not perfectly vertical centered please DO NOT modify this line-height use padding-top or padding-bottom in specific skin components */\r\n line-height: 1.2;\r\n /********* */\r\n max-height: 2.2em;\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\n\r\nexport const ButtonLabelMrGreenBox = styled(ButtonLabelDefaultBox)`\r\n /** I have to do this because &::first-letter works only with block-level elements, */\r\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter */\r\n display: inline-block;\r\n /**\r\n we must do the lowercase and then only first letter upper case because the translations is all upper case\r\n it's known issue that if the translation have 2 words for example: log in it will be Log in and not Log In\r\n **/\r\n text-transform: lowercase;\r\n \r\n &::first-letter {\r\n text-transform: uppercase;\r\n }\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\nimport {ButtonLabelMrGreenBox} from \"./button-label.mrgreen.box\";\r\n\r\nexport const ButtonLabelBox = styledByTheme(ButtonLabelDefaultBox)\r\n .forMrGreen(ButtonLabelMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface IButtonIconWrapperProps {\r\n reverseOnRTL?: boolean;\r\n}\r\n\r\nexport const ButtonIconWrapperBox = styled.span`\r\n ${props => props.reverseOnRTL ? css`\r\n ${CssRule.For.RTL.build()} &{\r\n transform: scaleX(-1);\r\n }\r\n ` : null}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {ButtonLabelOverflow, ButtonSizeVariant} from \"../../button-props.interface\";\r\n\r\ninterface IButtonLabelPaddingBoxProps {\r\n lateralPadding: number;\r\n sizeVariant: ButtonSizeVariant;\r\n labelOverflow: ButtonLabelOverflow;\r\n}\r\n\r\nexport const ButtonLabelPaddingDefaultBox = styled.span`\r\n ${flexAdaptiveSizeItem}\r\n \r\n padding: 0em ${({lateralPadding}) => lateralPadding}em 0em;\r\n\r\n white-space: ${({labelOverflow}) => labelOverflow === \"wrap\" ? \"unset\" : \"nowrap\"}; // use \"unset\" if you want to allow label wrap, use \"nowrap\" for expanding the button or ellipsis\r\n overflow: hidden;\r\n text-overflow: ${({labelOverflow}) => labelOverflow === \"ellipsis\" ? \"ellipsis\" : \"clip\"};\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingCasino888Box = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0.2em;\r\n padding-bottom: 0em;\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingCasino777Box = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0em;\r\n padding-bottom: 0em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-top: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0.2em\" : \"0em\" };\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingSIBox = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0em;\r\n padding-bottom: 0.1em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-bottom: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0em\" : \"0.1em\" };\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-bottom: 0;\r\n }\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\nimport {ButtonLabelPaddingCasino888Box} from \"./button-label-padding.casino888.box\";\r\nimport {ButtonLabelPaddingCasino777Box} from \"./button-label-padding.casino777.box\";\r\nimport {ButtonLabelPaddingSIBox} from \"./button-label-padding.si.box\";\r\n\r\n\r\nexport const ButtonLabelPaddingBox = styledByTheme(ButtonLabelPaddingDefaultBox)\r\n .forCasino888(ButtonLabelPaddingCasino888Box)\r\n .forCasino777(ButtonLabelPaddingCasino777Box)\r\n .forSI(ButtonLabelPaddingSIBox)\r\n .apply();\r\n","import styled, {css} from \"styled-components\";\r\n\r\ninterface IButtonSkeletonProps {\r\n fullWidth?: boolean;\r\n rounded?: boolean;\r\n margin?: React.CSSProperties[\"margin\"];\r\n width: number;\r\n height: number;\r\n strokeWidth: number;\r\n iconOnly: boolean;\r\n noRemUnits?: boolean;\r\n}\r\n\r\nexport const ButtonSkeletonBox = styled.div`\r\n /**\r\n * Here i'm just creating a context for the em units to compute relative to this\r\n */\r\n font-size: ${props => props.noRemUnits ? \"10px\" : \"1rem\"};\r\n\r\n border-radius: ${props => props.rounded ? \"100px\" : props.theme.layout.border.radius};\r\n ${props => props.margin ? css`\r\n margin: ${props.margin};\r\n ` : null};\r\n\r\n box-sizing: border-box;\r\n height: ${props => props.height}em;\r\n\r\n width: ${props => {\r\n if (props.fullWidth) {\r\n return \"100%\";\r\n }\r\n if (props.iconOnly) {\r\n return props.height+\"em\";\r\n }\r\n return props.width+\"em\";\r\n }};\r\n \r\n border-width: ${props => props.strokeWidth}px;\r\n border-style: solid;\r\n\r\n\r\n background: rgba(255, 255, 255, 0.25);\r\n animation: PulsatingAnimation 1s alternate infinite;\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.25;\r\n }\r\n }\r\n`;\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport { withTheme } from \"styled-components\";\r\nimport { OrbitTheme } from \"../../../themes/architecture/orbit-theme.interface\";\r\nimport { SvgSizeUnit } from \"../../icon/svg-icon/svg.icon\";\r\nimport { IButtonCommonProps, ButtonPreset, ButtonStroke, ButtonSizeVariant, IButtonIconProps, IButtonColorSet } from \"./button-props.interface\";\r\nimport { ButtonBox } from \"./boxes/button.box\";\r\nimport { ButtonLabelBox } from \"./boxes/label/button-label.box\";\r\nimport { ButtonIconWrapperBox } from \"./boxes/button-icon-wrapper.box\";\r\nimport { FlexShrinkItemBox } from \"../../../themes/architecture/css-helpers/flex\";\r\nimport { ButtonLabelPaddingBox } from \"./boxes/label-padding-box/button-label-padding.box\";\r\nimport { computeColorSet } from \"./button-hover-colors-helpers\";\r\nimport {ButtonSkeletonBox} from \"../skeleton/button-skeleton.box\";\r\n\r\ninterface IButtonProps extends IButtonCommonProps {\r\n preset: ButtonPreset;\r\n stroke?: ButtonStroke;\r\n icon?: IButtonIconProps;\r\n sizeVariant?: ButtonSizeVariant;\r\n className?: string;\r\n tooltip?: string;\r\n\r\n /**\r\n * theme is addded by styled-component's withTheme\r\n */\r\n theme: OrbitTheme;\r\n\r\n /* button interactions */\r\n onClick?(): void;\r\n onMouseEnter?(): void;\r\n onMouseLeave?(): void;\r\n\r\n /** skeleton */\r\n skeleton?: boolean;\r\n}\r\n\r\nconst ButtonIcon: React.FC<{IconComponent: IButtonIconProps[\"Component\"], size: number, options?: {reverseOnRTL?: boolean}}> = (props) => {\r\n if(!props.IconComponent) {\r\n return null;\r\n }\r\n\r\n const IconComponent = props.IconComponent;\r\n return \r\n \r\n \r\n};\r\n\r\nconst $Button: React.FC> = (props) => {\r\n\r\n let {\r\n children, theme, preset, icon, stroke, sizeVariant, rounded, elevated, tooltip, labelOverflow,\r\n onClick, onMouseEnter, onMouseLeave,\r\n ...otherProps\r\n } = props;\r\n let hasIcon = !!icon;\r\n let hasLabel = !!children;\r\n\r\n onClick = props.disabled ? undefined : onClick;\r\n onMouseEnter = props.disabled ? undefined : onMouseEnter;\r\n onMouseLeave = props.disabled ? undefined : onMouseLeave;\r\n\r\n let presetValues = theme.baseUIComponents.button.presets[preset];\r\n let themePresetDefaults = theme.baseUIComponents.button.defaults;\r\n\r\n const colorSet: IButtonColorSet = computeColorSet(presetValues.colors, theme.baseUIComponents.button.disabledColorSet);\r\n\r\n stroke = stroke ?? presetValues.stroke ?? themePresetDefaults.stroke;\r\n rounded = rounded ?? presetValues.rounded ?? themePresetDefaults.rounded;\r\n elevated = elevated ?? presetValues.elevated ?? themePresetDefaults.elevated;\r\n sizeVariant = sizeVariant || \"s\";\r\n labelOverflow = labelOverflow || \"expand\";\r\n\r\n let iconSize = icon && icon.size ? icon.size : \"regular\";\r\n let iconPlacement = icon && icon.placement ? icon.placement : \"left\";\r\n\r\n let strokeWidth = theme.baseUIComponents.button.strokeValues[stroke];\r\n let width = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].width;\r\n let height = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].height;\r\n let iconSizeValue = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].iconSize[iconSize];\r\n let fontSize = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].fontSize || presetValues.fontSize || themePresetDefaults.fontSize;\r\n let lateralPadding = sizeVariant === \"xs\" ? 0.6 : 1;\r\n\r\n if (props.skeleton) {\r\n return \r\n }\r\n\r\n return \r\n { icon ? (iconPlacement === \"left\" ? : ) : null }\r\n { props.children ? \r\n \r\n {props.children}\r\n \r\n : null }\r\n { icon ? (iconPlacement === \"right\" ? : ) : null }\r\n ;\r\n\r\n}\r\n\r\nexport const Button = withTheme($Button);\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\n\r\nconst SelectWrapperBox = styled.div<{width?: string;}>`\r\n display: inline-block;\r\n position: relative;\r\n width: ${({width}) => width};\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\n\r\nconst SelectBox = styled.select<{width?: string; hasError?: boolean;}>`\r\n height: 3.7rem;\r\n width: ${({width}) => width};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.275rem;\r\n transition: border-radius 0.2s linear, border-color 0.2s linear;\r\n background-color: ${props => props.theme.colors.backgroundMiddleDark};\r\n color: inherit;\r\n border-radius: ${({theme}) => theme.layout.border.radius};\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderLighter};\r\n &:hover {\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderContrast};;\r\n }\r\n border-width: 1px;\r\n border-style: solid;\r\n padding: 0 4rem 0 1.6rem;\r\n\r\n /* REMOVE THE DEFAULT ARROW */\r\n /* for Firefox */\r\n -moz-appearance: none;\r\n /* for Safari, Chrome, Opera */\r\n -webkit-appearance: none;\r\n /* for IE10 */\r\n &::-ms-expand {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst SelectBoxArrow = styled.div`\r\n position: absolute;\r\n right: 0.6rem;\r\n top: -0.3rem;\r\n width: 3rem;\r\n padding: 0.7rem;\r\n margin-top: 0.72rem;\r\n pointer-events: none;\r\n border-radius: 50%;\r\n\r\n transition: transform 0.2s linear;\r\n transform: rotate(90deg);\r\n`;\r\n\r\ninterface ISelectProps extends PropsWithChildren {\r\n // standard props from native html select element that will be passed directly\r\n id?: string;\r\n name?: string;\r\n value?: string | number;\r\n onChange?(event: React.ChangeEvent): void;\r\n className?: string;\r\n\r\n // custom props, not native html select element\r\n hasError?: boolean;\r\n width?: string;\r\n}\r\n\r\nexport class Select extends OrbitComponent { // React.SelectHTMLAttributes\r\n render() {\r\n let {width, ...passThroughProps} = this.props;\r\n width = width || \"auto\";\r\n const selectWidth = width !== \"auto\" ? \"100%\" : \"auto\";\r\n\r\n const ArrowIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n return \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n}","import * as React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\nimport {PropsWithChildren} from \"react\";\r\n\r\nexport enum SvgSizeUnit {\r\n Rem = \"rem\",\r\n Em = \"em\",\r\n Px = \"px\",\r\n Percent = \"%\"\r\n}\r\n\r\nexport interface ISvgIconProps extends PropsWithChildren {\r\n /**\r\n * The size of the icon.\r\n * @default 2.4\r\n */\r\n size?: number;\r\n /**\r\n * if false, the property size represents the width\r\n * if true, the property size represents the height\r\n * @default false\r\n */\r\n sizeIsHeight?: boolean;\r\n /**\r\n * Css unit: rem, em, px, %\r\n * @default rem\r\n */\r\n sizeUnit?: SvgSizeUnit;\r\n /**\r\n * Additional css,\r\n * Do not abuse this prop. You will be punished\r\n */\r\n style?: React.CSSProperties;\r\n /**\r\n * Additional class name for styling, selectors\r\n * Do not abuse this prop. You will be punished\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ISvgIconPrivateProps {\r\n /**\r\n * The aspect ratio of the icon. is expressed by the width divided by the height.\r\n * For example an icon that is 16:9 will have a ratio of 16/9 = 1.(7) ~= 1.78\r\n * Default is 1, square icon\r\n * @default 1\r\n */\r\n ratio?: number;\r\n /**\r\n * Specific svg property\r\n */\r\n viewBox?: string;\r\n /**\r\n * Some icons needs to be flipped on RTL languages, for example left arrow icon (<) must be flipped, and will look like a right arrow icon (>)\r\n */\r\n flipOnRTL?: boolean;\r\n /**\r\n * Used to normalize / reset the fill property. Some of the icons have black backdrop opacity without it.\r\n * alternative to wrapping the whole svg markup content in . It doesn't matter which one is used\r\n */\r\n fill?: string;\r\n}\r\n\r\nconst Svg = styled.svg<{flipOnRTL?: boolean}>`\r\n ${({flipOnRTL}) => flipOnRTL ? css`\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }`\r\n : null}\r\n`;\r\n\r\nexport class SvgIcon extends React.Component {\r\n render() {\r\n const sizeUnit = this.props.sizeUnit ? this.props.sizeUnit : SvgSizeUnit.Rem;\r\n const defaultSize = sizeUnit === SvgSizeUnit.Px ? 24 : (sizeUnit === SvgSizeUnit.Percent ? 100 : 2.4);\r\n const size = this.props.size ? this.props.size : defaultSize;\r\n const ratio = this.props.ratio ? this.props.ratio : 1;\r\n\r\n const width = this.props.sizeIsHeight ? (size * ratio) : size;\r\n const height = this.props.sizeIsHeight ? size : (size / ratio);\r\n\r\n const viewBox = this.props.viewBox ?? \"0 0 24 24\";\r\n const style = {\r\n display: \"block\",\r\n ...this.props.style\r\n };\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\n\r\nconst DividerDefaultBox = styled.div`\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 DividerCasino777Box = styled(DividerDefaultBox)`\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n`;\r\n\r\nconst DividerSiBox = styled(DividerDefaultBox)`\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n`;\r\n\r\nexport const DividerBox = styledByTheme(DividerDefaultBox)\r\n .forCasino777(DividerCasino777Box)\r\n .forSI(DividerSiBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SpacerBox = styled.div<{height: string}>`\r\n height: ${({height}) => height};\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const XCloseButtonBox = styled.button`\r\n cursor: pointer;\r\n background-image: url(\"${props => props.theme.images.closeModalDialog.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`;","import {IArenaViewModel} from \"../../services/arenas/models/arenas/arena-view-model.interface\";\r\nimport React from 'react';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface SwiperWindowComponentProps {\r\n windowPosition: number;\r\n arena: IArenaViewModel;\r\n}\r\n\r\nexport const SwiperWindowComponent: React.FC = observer((props) => {\r\n return props.arena.renderList(props.windowPosition);\r\n});\r\n\r\n\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwiperWindowComponent} from \"../orbit-swiper/swiper-window.component\";\r\nimport {useServices} from \"../../react-hooks/use-services.hook\";\r\nimport {reaction} from \"mobx\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport useIsInViewPort from \"../../react-hooks/use-is-in-viewport.hook\";\r\n\r\ninterface ArenaGamesListsComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const ArenaGamesListsComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n const [listsCount, setListsCount] = useState(0);\r\n const [hasMoreLists, setHasMoreLists] = useState(true);\r\n const intersectionSpyRef = useRef(null);\r\n let isIntersectionSpyInViewport = useIsInViewPort(intersectionSpyRef);\r\n\r\n const arena = services.arenas.getArena(props.arenaName);\r\n\r\n const loadNextBatch = () => {\r\n const nextBatch = arena.getNextBatchSize(listsCount);\r\n if(nextBatch === 0) {\r\n if(hasMoreLists !== false) {\r\n setHasMoreLists(false);\r\n }\r\n } else {\r\n setListsCount(listsCount + nextBatch);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const reactionDispose = reaction(() => services.user.isAuthorized,\r\n () => {\r\n setListsCount(0);\r\n setHasMoreLists(true);\r\n });\r\n\r\n return () => {\r\n reactionDispose();\r\n }\r\n }, [services.user.isAuthorized]);\r\n\r\n useEffect(() => {\r\n\r\n const spyRectangle = intersectionSpyRef.current.getBoundingClientRect();\r\n //spyRectangle.top <= window.innerHeight is here because IntersectionObserver used by useIsInViewPort hook has a delay in detecting that the element is not in the viewport anymore.\r\n if(spyRectangle.top <= window.innerHeight && hasMoreLists && isIntersectionSpyInViewport) {\r\n loadNextBatch();\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n const range = Array.from({length: listsCount}, (x, i) => i + 1);\r\n\r\n return (\r\n\r\n \r\n {range.map(listWindowPosition => ())}\r\n\r\n
\r\n \r\n );\r\n\r\n});\r\n\r\n","import {MutableRefObject, useEffect, useState} from \"react\";\r\n\r\nexport default function useIsInViewPort(ref: MutableRefObject) {\r\n\r\n const [isIntersecting, setIntersecting] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n ([entry]) => setIntersecting(entry.intersectionRatio > 0 || entry.isIntersecting)\r\n );\r\n if(ref.current) {\r\n observer.observe(ref.current);\r\n }\r\n return () => {\r\n try {\r\n observer.disconnect()\r\n } catch (err) {\r\n console.error('Failed to disconnect observer');\r\n }\r\n }\r\n }, [ref]);\r\n\r\n return isIntersecting;\r\n}\r\n","import {LiveCasinoGridItemDefaultBox} from \"./live-casino-grid-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemBox = LiveCasinoGridItemDefaultBox;","import styled, {css} from \"styled-components\";\r\n\r\ninterface ILiveCasinoGridItemDefaultBoxProps {\r\n fluidWidth?: boolean; // when true, don't set the width, let it flow within its parent\r\n}\r\n\r\nexport const LiveCasinoGridItemDefaultBox = styled.div`\r\n box-sizing: border-box;\r\n\r\n /* Prevents CSS Transform flicker */\r\n backface-visibility: hidden;\r\n\r\n ${({fluidWidth}) => !fluidWidth && css`\r\n\r\n width: calc(100% / 5);\r\n padding: 1em 0.5em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: calc(100% / 3);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: calc(100% / 4);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 0.5em 0.25em;\r\n }\r\n `}\r\n`;","import styled from \"styled-components\";\r\n\r\nexport interface LiveCasinoGridItemInfoItemDefaultBoxProps {\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport const LiveCasinoGridItemInfoItemDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n margin: ${props => props.isLiveStreamOverlay ? '0 0.75em 0 0.75em' : '0 1em 0 0'};\r\n color: ${props => props.theme.colors.textLight};\r\n letter-spacing: 0.1rem;\r\n font-size: 1em;\r\n height: 24px;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemSIBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemMrGreenBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\nimport {LiveCasinoGridItemInfoItemSIBox} from \"./live-casino-grid-item-info-item.si.box\";\r\nimport {LiveCasinoGridItemInfoItemMrGreenBox} from \"./live-casino-grid-item-info-item.mrgreen.box\"\r\n\r\nexport const LiveCasinoGridItemInfoItemBox = styledByTheme(LiveCasinoGridItemInfoItemDefaultBox)\r\n .forSI(LiveCasinoGridItemInfoItemSIBox)\r\n .forSICis(LiveCasinoGridItemInfoItemSIBox)\r\n .forMrGreen(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .apply();","import {LiveCasinoGridItemInfobarIconDefaultBox} from \"./live-casino-grid-item-infobar-icon.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconBox = LiveCasinoGridItemInfobarIconDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconDefaultBox = styled(Image)`\r\n margin-right: 0.25em;\r\n`;","import {LiveCasinoGridItemThumbnailImageDefaultBox} from \"./live-casino-grid-item-thumbnail-image.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageBox = LiveCasinoGridItemThumbnailImageDefaultBox;","import styled from \"styled-components\";\r\nimport {ITEM_WRAPPER_BOX} from \"../../css-constants\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageDefaultBox = styled(Image)<{filterBlur?: boolean}>`\r\n width: 100%;\r\n transition: transform 0.25s ease;\r\n ${({filterBlur}) => filterBlur ? 'filter: blur(2px)' : null};\r\n .${ITEM_WRAPPER_BOX}:hover &{\r\n transform: scale(1.2);\r\n }\r\n`;","export const ITEM_WRAPPER_BOX = 'item-wrapper-box';\r\nexport const RED = 'red';\r\nexport const GREEN = 'green';","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemInfobarDefaultBox = styled.div`\r\n display: flex;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n padding: 0.5em 1em;\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.75)};\r\n position: absolute;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: -1px;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarCasino777Box = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.92)};\r\n &::before {\r\n background: transparent linear-gradient(90deg, transparent 0%, ${props => props.theme.colors.background} 33%, ${props => props.theme.colors.background} 69%, transparent 100%) 0% 0% no-repeat padding-box;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarMrGreenBox = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.colors.horizontalLineBackgroundColor, 0.6)};\r\n &::before {\r\n background: none;\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemInfobarCasino777Box } from \"./live-casino-grid-item-infobar.casino777.box\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\nimport {LiveCasinoGridItemInfobarMrGreenBox} from \"./live-casino-grid-item-infobar.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarBox = styledByTheme(LiveCasinoGridItemInfobarDefaultBox)\r\n .forCasino777(LiveCasinoGridItemInfobarCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemInfobarMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalDefaultBox = styled.div`\r\n position: absolute;\r\n top: 1em;\r\n left: 1em;\r\n padding: 0.5em 1em;\r\n line-height: 1;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundDark, 0.75)};\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.1)};\r\n border-radius: 50px;\r\n z-index: 3;\r\n\r\n > span {\r\n font-size: 1.2em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n top: 0.5em;\r\n left: 0.5em;\r\n padding: 0.5em 1em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalCasino777Box = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.colors.background, 0.95)}; /** Color.brandYellow */\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)}; /** Color.sepia */\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalMrGreenBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.brandPrimaryDark};\r\n background: ${hexToRgba(baseColors.base03, 0.80)};\r\n border: 1px solid ${hexToRgba(baseColors.gray033, 0.1)};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalSIBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundLight, 0.98)};\r\n //border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)};\r\n box-shadow: 0px 3px 9px #00000080;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemBetIntervalCasino777Box } from \"./live-casino-grid-item-bet-interval.casino777.box\";\r\nimport { LiveCasinoGridItemBetIntervalMrGreenBox } from \"./live-casino-grid-item-bet-interval.mrgreen.box\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\";\r\nimport {LiveCasinoGridItemBetIntervalSIBox} from \"./live-casino-grid-item-bet-interval.si.box\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalBox = styledByTheme(LiveCasinoGridItemBetIntervalDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetIntervalCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forSI(LiveCasinoGridItemBetIntervalSIBox)\r\n .forSICis(LiveCasinoGridItemBetIntervalSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageDefaultBox = styled.div`\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n display: flex;\r\n position: relative;\r\n flex-direction: column;\r\n flex: 1;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center;\r\n line-height: 1.25;\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.closedMessageBackground, 0.9)};\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n\r\n & > span {\r\n display: block;\r\n width: 100%;\r\n font-size: 1.6em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageCasino777Box = styled(LiveCasinoGridItemClosedMessageDefaultBox)`\r\n &::after {\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.brandSecondaryDark} 33%, ${props => props.theme.colors.brandSecondaryDark} 67%, transparent);\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\nimport {LiveCasinoGridItemClosedMessageCasino777Box} from \"./live-casino-grid-item-closed-message.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageBox = styledByTheme(LiveCasinoGridItemClosedMessageDefaultBox)\r\n .forCasino777(LiveCasinoGridItemClosedMessageCasino777Box)\r\n .apply();\r\n","import {LiveCasinoGridItemThumbnailOverlayDefaultBox} from \"./live-casino-grid-item-thumbnail-overlay.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayBox = LiveCasinoGridItemThumbnailOverlayDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayDefaultBox = styled.div`\r\n display: flex;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n`;","import {LiveCasinoGridItemThumbnailDefaultBox} from \"./live-casino-grid-item-thumbnail.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailBox = LiveCasinoGridItemThumbnailDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 56.25%; // keeps a 16:9 ratio\r\n overflow: hidden;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemWrapperDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n box-shadow: 0 0 5px ${props => props.theme.colors.boxBorderDark};\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperCasino777Box = styled(LiveCasinoGridItemWrapperDefaultBox)`\r\n box-shadow: 0 0 5px ${props => props.theme.colors.background};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\nimport { LiveCasinoGridItemWrapperCasino777Box } from \"./live-casino-grid-item-wrapper.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperBox = styledByTheme(LiveCasinoGridItemWrapperDefaultBox)\r\n .forCasino777(LiveCasinoGridItemWrapperCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemTitleDefaultBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: ${props => props.theme.colors.textLight};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n letter-spacing: 1px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleMrGreenBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n ${props => props.theme.font.presets.light}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleSIBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n font-size: 1.3em;\r\n letter-spacing: 0.48px;\r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemTitleMrGreenBox} from \"./live-casino-grid-item-title.mrgreen.box\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\nimport {LiveCasinoGridItemTitleSIBox} from \"./live-casino-grid-item-title.si.box\";\r\n\r\nexport const LiveCasinoGridItemTitleBox = styledByTheme(LiveCasinoGridItemTitleDefaultBox)\r\n .forMrGreen(LiveCasinoGridItemTitleMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemTitleMrGreenBox)\r\n .forSI(LiveCasinoGridItemTitleSIBox)\r\n .forSICis(LiveCasinoGridItemTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n height: 2em;\r\n padding: 0 1.25em;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: 400;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid;\r\n text-transform: uppercase;\r\n border-radius: 50px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.2em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundDark};\r\n background: ${props => props.theme.colors.brandSecondary};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n background: transparent;\r\n border: none;\r\n font-weight: 300;\r\n line-height: 1;\r\n font-size: 1.1em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemBetBehindButtonDefaultBox } from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonCasino777Box = styled(LiveCasinoGridItemBetBehindButtonDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n background: ${props => props.theme.colors.background};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props => props.theme.colors.backgroundActive};\r\n }\r\n\r\n ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundActive};\r\n }\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemBetBehindButtonDefaultBox} from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\nimport {LiveCasinoGridItemBetBehindButtonCasino777Box} from \"./live-casino-grid-item-bet-behind-button.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindBox = styledByTheme(LiveCasinoGridItemBetBehindButtonDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetBehindButtonCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemJackpotDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n padding: 0 1rem;\r\n align-items: center;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 50px;\r\n font-size: 1.2em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n line-height: 1;\r\n font-size: 1.1em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemJackpotDefaultBox } from \"./live-casino-grid-item-jackpot.default.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotCasino777Box = styled(LiveCasinoGridItemJackpotDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemJackpotDefaultBox} from \"./live-casino-grid-item-jackpot.default.box\";\r\nimport {LiveCasinoGridItemJackpotCasino777Box} from \"./live-casino-grid-item-jackpot.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotBox = styledByTheme(LiveCasinoGridItemJackpotDefaultBox)\r\n .forCasino777(LiveCasinoGridItemJackpotCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemOpenAtBox = styled.div`\r\n width: 100%;\r\n font-size: 2.25em;\r\n font-weight: 700;\r\n`;","import React from \"react\";\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {GameInfo, OpenGameParameters} from '../../../../../app-react/services/games/game-info';\r\nimport {OrbitComponent} from '../../../../../app-react/components/base-components/orbit-component/orbit-component';\r\nimport {ILiveTableInfo} from '../../../../services/live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveCasinoGridItemInfobarBox} from \"./boxes/infobar/live-casino-grid-item-infobar.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"./boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\nimport {LiveCasinoGridItemBetIntervalBox} from \"./boxes/bet-interval/live-casino-grid-item-bet-interval.box\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"./boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemClosedMessageBox} from \"./boxes/closed-message/live-casino-grid-item-closed-message.box\";\r\nimport {LiveCasinoGridItemThumbnailOverlayBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box\";\r\nimport {LiveCasinoGridItemThumbnailBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail.box\";\r\nimport {LiveCasinoGridItemWrapperBox} from \"./boxes/wrapper/live-casino-grid-item-wrapper.box\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {ITEM_WRAPPER_BOX} from \"./css-constants\";\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {LiveCasinoGridItemTitleBox} from \"./boxes/title/live-casino-grid-item-title.box\";\r\nimport {LiveCasinoGridItemBetBehindBox} from \"./boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box\";\r\nimport {LiveCasinoGridItemJackpotBox} from \"./boxes/infobar/jackpot/live-casino-grid-item-jackpot.box\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\nimport {LiveCasinoGridItemOpenAtBox} from \"./boxes/closed-message/live-casino-grid-item-open-at.box\";\r\nimport {TableSeatsComponent} from \"./shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"./shared-components/roulette-draws.component\";\r\nimport { FlexGrowItemBox } from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport interface ILiveCasinoArenaGridItemProps {\r\n tableId: number;\r\n gameInfo: GameInfo;\r\n listTitle: string;\r\n gameIndex: number;\r\n seoCategory: string;\r\n liveTable: ILiveTableInfo;\r\n fluidWidth?: boolean;\r\n captureGameElementRef: (element: any) => void;\r\n}\r\n\r\nexport const LiveCasinoArenaGridItem = observer(\r\n class LiveCasinoArenaGridItem extends OrbitComponent {\r\n\r\n private _openGame = (gameInfo: GameInfo) => {\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: true,\r\n pageName: this.props.seoCategory,\r\n gameIndex: this.props.gameIndex,\r\n listTitle: this.props.listTitle\r\n };\r\n\r\n gameInfo.open(openGameParams);\r\n };\r\n\r\n private _renderMinMaxBet() {\r\n const tableInfo = this.props.liveTable;\r\n let minBet: number;\r\n let maxBet: number;\r\n if(Check.isEmpty(tableInfo) || (tableInfo.MinBet === undefined || tableInfo.MaxBet === undefined)) {\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = tableInfo.MinBet;\r\n maxBet = tableInfo.MaxBet;\r\n }\r\n\r\n if(!minBet || !maxBet){\r\n this.services.logger.info(`format$$$ invalid input for gameType => ${this.props.gameInfo.gameType} ${minBet}-${maxBet}`);\r\n return;\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n this.services.device.isMobile ?\r\n this.services.currency.formatMoney(minBet, true) :\r\n this.services.currency.formatMinMaxBet(minBet, maxBet)\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderDealerName() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n const isMobilePhone = this.services.device.isMobile && !this.services.device.isTablet;\r\n\r\n if (Check.isEmpty(tableInfo) || Check.isNullOrUndefined(tableInfo.Dealer) || tableInfo.Dealer.length === 0 || isMobilePhone) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {tableInfo.Dealer}\r\n \r\n )\r\n }\r\n\r\n private _renderSeatsCount() {\r\n return ;\r\n }\r\n\r\n private _renderRouletteDraws() {\r\n return ;\r\n }\r\n\r\n private _renderJackpot() {\r\n let jpValue = this.services.jackpots.getGameJackpot(this.props.gameInfo.gameType);\r\n if (!Check.isNullOrUndefined(jpValue)) {\r\n return \r\n { this.services.currency.formatMoney(jpValue) }\r\n ;\r\n }\r\n return null;\r\n }\r\n\r\n private _renderBetBehindButton() {\r\n const tableInfo = this.props.liveTable;\r\n let tableIsFull = false;\r\n if (tableInfo.Seats && tableInfo.SeatsTaken) {\r\n tableIsFull = tableInfo.SeatsTaken.length === tableInfo.Seats;\r\n }\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.BetBehind || !tableIsFull) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n Bet behind\r\n \r\n );\r\n }\r\n\r\n private _renderGameInfobar() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderDealerName()}\r\n {this._renderSeatsCount()}\r\n \r\n {this._renderRouletteDraws()}\r\n {this._renderJackpot()}\r\n {this._renderBetBehindButton()}\r\n \r\n );\r\n }\r\n\r\n private _renderGameIsClosed() {\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate(\"LIVE_ARENA_TABLE_IS_CLOSED_MESSAGE\")}\r\n {this.props.liveTable?.OperationHoursStartTime}\r\n \r\n );\r\n }\r\n\r\n private _renderGameThumbnailImage() {\r\n const tableInfo: ILiveTableInfo = this.props.liveTable;\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n let gameTitle: string;\r\n let gameImage: string;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n gameTitle = gameInfo?.title;\r\n gameImage = gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n gameTitle = tableInfo.Name;\r\n\r\n gameImage = addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameThumbnail() {\r\n return (\r\n \r\n {this._renderGameThumbnailImage()}\r\n \r\n {this._renderMinMaxBet()}\r\n {this._renderGameInfobar()}\r\n {this._renderGameIsClosed()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle() {\r\n // Render an empty character so the div doesn't just collapse\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (tableInfo && tableInfo.Name !== undefined && tableInfo.Name.length > 0) {\r\n title = tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderGameItem() {\r\n return (\r\n \r\n this._openGame(this.props.gameInfo)} className={classNames('cy-live-casino-grid-item-inner-wrapper', ITEM_WRAPPER_BOX)}>\r\n {this._renderGameThumbnail()}\r\n {this._renderGameTitle()}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n try {\r\n return this._renderGameItem();\r\n } catch(err) {\r\n this.services.logger.error(`Failed to render LiveCasinoArenaGridItem for game ${this.props.gameInfo && this.props.gameInfo.gameType}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridDefaultBox = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n padding: 2em;\r\n font-size: 1rem;\r\n position: relative;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0.25em;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasino777Box = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: block;\r\n opacity:1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\nimport { LiveCasinoGridDefaultBox } from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasinoSICisBox = styled(LiveCasinoGridDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridMrGreenBox = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\nimport {LiveCasinoGridCasino777Box} from \"./live-casino-grid.casino777.box\";\r\nimport { LiveCasinoGridCasinoSICisBox } from \"./live-casino-grid.siCis.box\";\r\nimport {LiveCasinoGridMrGreenBox} from \"./live-casino-grid.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridBox = styledByTheme(LiveCasinoGridDefaultBox)\r\n .forCasino777(LiveCasinoGridCasino777Box)\r\n .forSICis(LiveCasinoGridCasinoSICisBox)\r\n .forMrGreen(LiveCasinoGridMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonBox = styled.div`\r\n padding-top: 56.25%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonTitleBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: rgba(0, 0, 0, 0);;\r\n overflow: hidden;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n 50% {\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n 100% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n`;","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {LiveCasinoGridBox} from \"./boxes/grid/live-casino-grid.box\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {LiveCasinoArenaGridItem} from './live-casino-arena-grid-item.component';\r\nimport {LiveCasinoGridItemSkeletonBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton.box\";\r\nimport {LiveCasinoGridItemSkeletonTitleBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box\";\r\nimport {LiveCasinoGridItemSkeletonWrapperBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box\";\r\nimport {LiveCasinoPromotionalBannerConfiguration} from '../../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {BannerComponent} from \"../../../banner/banner.component\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\nexport interface ILiveCasinoArenaGridProps {\r\n seoCategory: string;\r\n useAISortedList: boolean;\r\n promotionalBannerConfig?: LiveCasinoPromotionalBannerConfiguration;\r\n}\r\n\r\n@observer\r\nexport class LiveCasinoArenaGrid extends OrbitComponent {\r\n private _gameElementRef: HTMLDivElement | null = null;\r\n private _gridElementRef: HTMLDivElement | null = null;\r\n\r\n constructor(props: ILiveCasinoArenaGridProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get liveTabConfigs(): LiveTableTabConfiguration | null {\r\n return this.services.liveTableFeeds.currentArenaTabConfiguration;\r\n }\r\n\r\n @observable.ref\r\n private _cmsBannerPosition: number = 0;\r\n\r\n @observable.ref\r\n private _numberOfGamesPerRow: number = 0;\r\n\r\n private _numberOfGames: number = 0;\r\n\r\n private _captureGameElementRef = (gameElement: HTMLDivElement | null) => {\r\n this._gameElementRef = gameElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n private _captureGridElementRef = (gridElement: HTMLDivElement | null) => {\r\n this._gridElementRef = gridElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n @action.bound\r\n private _setCMSBannerPosition() {\r\n let cmsBannerPositionFromConfig = this._numberOfGamesPerRow * this.props?.promotionalBannerConfig?.displayRowPlace;\r\n this._cmsBannerPosition = this._numberOfGames > cmsBannerPositionFromConfig ? cmsBannerPositionFromConfig : this._numberOfGames;\r\n }\r\n\r\n private _computeNumberOfGamesInARow() {\r\n\r\n if (!this._gridElementRef || !this._gameElementRef) return;\r\n\r\n try {\r\n this._numberOfGamesPerRow = Math.round(Number(this._gridElementRef[\"offsetWidth\"]) / Number(this._gameElementRef[\"offsetWidth\"]));\r\n this._setCMSBannerPosition();\r\n } catch (error) {\r\n this.services.logger.error(\"Failed to compute number of live games in a row\", error);\r\n }\r\n }\r\n\r\n\r\n private _renderPromotionalBanner() {\r\n\r\n if (Check.isNullOrUndefined(this.props.promotionalBannerConfig)) return null;\r\n\r\n let promotionalBanner = this.liveTabConfigs?.headerConfiguration?.banners?.promotionalBanner;\r\n if (!promotionalBanner) {\r\n promotionalBanner = this.props.promotionalBannerConfig;\r\n }\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderGridSkeleton() {\r\n\r\n let skeletons = [];\r\n\r\n for (var i = 0; i < 12; i++) {\r\n skeletons.push(\r\n \r\n \r\n \r\n Loading\r\n \r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGridItem(tableId: number, gameIndex: number, key: number) {\r\n\r\n let listTitle = this.services.liveTableFeeds.currentArenaTabConfiguration?.gridConfiguration.title;\r\n\r\n //this if is a duplicate with the one in live-casino-arena-navbar-button.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n if (this.services.user.isAuthorized && listTitle === \"TOP_EVO_GAMES\") {\r\n listTitle = \"FOR_YOU_GAMES\";\r\n }\r\n const shouldRenderPromoBanner = gameIndex === (this._cmsBannerPosition - 1);\r\n\r\n return (\r\n \r\n \r\n {\r\n shouldRenderPromoBanner && this._renderPromotionalBanner()\r\n }\r\n \r\n );\r\n }\r\n\r\n private _renderGames() {\r\n\r\n let gameIds: number[] = [];\r\n\r\n\r\n if (this.liveTabConfigs) {\r\n gameIds = this.services.liveTableFeeds.getLiveGames();\r\n }\r\n\r\n if (gameIds.length === 0) {\r\n return this._renderGridSkeleton();\r\n } else {\r\n this._numberOfGames = gameIds.length;\r\n return gameIds.map((tableId, gameIndex) => this._renderGridItem(tableId, gameIndex, tableId));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [\r\n this.services.device.os.isPC,\r\n this.services.device.isTablet,\r\n this.services.device.isMobile\r\n ], () => this._setCMSBannerPosition(), {fireImmediately: true});\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderGames()}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {DrawsDefaultBox} from \"./live-casino-grid-item-draws.defatult.box\";\r\n\r\nexport const LiveCasinoGridItemDrawsBox = DrawsDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const DrawsDefaultBox = styled.div`\r\n display: flex;\r\n`;","import styled from \"styled-components\";\r\nimport {RED} from '../../../css-constants';\r\n\r\ninterface LiveCasinoGridItemDrawDefaultBoxProps {\r\n drawColor: string;\r\n}\r\n\r\nexport const LiveCasinoGridItemDrawDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 1.8em;\r\n height: 1.8em;\r\n font-size: 1.2em;\r\n font-weight: 900;\r\n border-radius: 2px;\r\n\r\n color: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n\r\n &:first-child {\r\n\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textLight : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {GREEN, RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawCasino777Box = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props =>props.theme.colors.backgroundContrast};\r\n }\r\n\r\n &.${RED} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground};\r\n }\r\n }\r\n\r\n &.${GREEN} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawMrGreenBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n return theme.colors.textContrast;\r\n }};\r\n\r\n &:first-child {\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textContrast : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textContrast;\r\n }};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSIBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemDrawDefaultBox } from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSICisBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.moneyColor};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {LiveCasinoGridItemDrawCasino777Box} from \"./live-casino-grid-item-draw.casino777.box\";\r\nimport {LiveCasinoGridItemDrawMrGreenBox} from \"./live-casino-grid-item-draw.mrgreen.box\";\r\nimport {LiveCasinoGridItemDrawSIBox} from \"./live-casino-grid-item-draw.si.box\";\r\nimport { LiveCasinoGridItemDrawSICisBox } from \"./live-casino-grid-item-draw.siCis.box\";\r\n\r\nexport const LiveCasinoGridItemDrawBox = styledByTheme(LiveCasinoGridItemDrawDefaultBox)\r\n .forCasino777(LiveCasinoGridItemDrawCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemDrawMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemDrawMrGreenBox)\r\n .forSI(LiveCasinoGridItemDrawSIBox)\r\n .forSICis(LiveCasinoGridItemDrawSICisBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {GREEN, RED} from \"../css-constants\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemDrawsBox} from \"../boxes/infobar/draws/live-casino-grid-item-draws.box\";\r\nimport {LiveCasinoGridItemDrawBox} from \"../boxes/infobar/draws/live-casino-grid-item-draw.box\";\r\n\r\ninterface IRouletteDrawsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n}\r\n\r\nconst ROULETTE_NUMBERS_MAP = {\r\n red: [\r\n \"1\", \"3\", \"5\", \"7\", \"9\", \"12\",\r\n \"14\", \"16\", \"18\", \"19\", \"21\", \"23\",\r\n \"25\", \"27\", \"30\", \"32\", \"34\", \"36\"\r\n ],\r\n green: [\"0\", \"00\"]\r\n // Black numbers are implied by default, no need to map them\r\n};\r\n\r\nexport class RouletteDrawsComponent extends OrbitComponent {\r\n\r\n private _getDrawColor(drawValue: string): string {\r\n\r\n if (ROULETTE_NUMBERS_MAP.red.includes(drawValue)) {\r\n return RED;\r\n } else if (ROULETTE_NUMBERS_MAP.green.includes(drawValue)) {\r\n return GREEN;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.BetBehind || !this.props.tableInfo.RouletteLast5Numbers || this.props.tableInfo.RouletteLast5Numbers.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.tableInfo.RouletteLast5Numbers.map((drawValue, i) =>\r\n \r\n {drawValue}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"../boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"../boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\n\r\nexport interface ITableSeatsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport class TableSeatsComponent extends OrbitComponent {\r\n\r\n private _isTableFull() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return this.props.tableInfo.SeatsTaken.length === this.props.tableInfo.Seats;\r\n } else {\r\n return this.props.tableInfo.Players === this.props.tableInfo.Seats;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _getTableIsFullText() {\r\n return this._isTableFull() ? this.services.translation.translate(this._getTableIsFullTranslationKey()) : this._getPlayersCountFormated();\r\n }\r\n\r\n private _getTableIsFullTranslationKey() {\r\n return this.services.device.isMobile ? \"LIVE_CASINO_TABLE_FULL_MOBILE\" : \"LIVE_CASINO_TABLE_FULL_PC\";\r\n }\r\n\r\n private _getSeatsIconSource() {\r\n return this._isTableFull()\r\n ? this.services.theme.currentTheme.images.liveArena.fullSeatIcon.toString()\r\n : this.services.theme.currentTheme.images.liveArena.seatIcon.toString();\r\n }\r\n\r\n private _getPlayersCountFormated() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return `${this.props.tableInfo.SeatsTaken.length}/${this.props.tableInfo.Seats}`;\r\n } else {\r\n return `${this.props.tableInfo.Players}/${this.props.tableInfo.Seats}`;\r\n }\r\n }\r\n\r\n return this.props.tableInfo.Players;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.Players === undefined) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._getTableIsFullText()}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport {MINI_ORBIT} from \"../../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonwrapperDefaultBox = styled.div`\r\n display: inline-block;\r\n vertical-align: middle;\r\n margin: 0 0.1rem;\r\n padding: 1rem 0.5rem;\r\n\r\n &:first-child {\r\n margin-left: 0;\r\n padding-left: 0;\r\n }\r\n &:last-child {\r\n margin-right: 0;\r\n padding-right: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.2rem;\r\n .${MINI_ORBIT} & {\r\n padding-bottom: 0.2rem;\r\n }\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoArenaNavbarButtonwrapperDefaultBox} from \"./live-casino-arena-navbar-button-wrapper.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonWrapperBox = styledByTheme(LiveCasinoArenaNavbarButtonwrapperDefaultBox)\r\n .apply();\r\n","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoFilterButtonsDefaultBox = styled.div`\r\n white-space: nowrap;\r\n\r\n overflow-x: auto;\r\n overflow-y: hidden;\r\n\r\n overflow: -moz-scrollbars-none;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n z-index: 5;\r\n padding: 0 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width:100%;\r\n margin: 0;\r\n padding: 0 1rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {LiveCasinoFilterButtonsDefaultBox} from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasino777Box = styled(LiveCasinoFilterButtonsDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border: none;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasinoSICisBox = styled(LiveCasinoFilterButtonsDefaultBox)` \r\n border-left: none;\r\n border-right: none; \r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\nimport { LiveCasinoFilterButtonsCasino777Box } from \"./live-casino-filter-buttons.casino777.box\";\r\nimport { LiveCasinoFilterButtonsCasinoSICisBox } from \"./live-casino-filter-buttons.siCis.box\";\r\n\r\nexport const LiveCasinoFilterButtonsBox = styledByTheme(LiveCasinoFilterButtonsDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonsCasino777Box)\r\n .forSICis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .forMrGreenCis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .apply();","import styled from 'styled-components';\r\nimport {Color} from '../../../../../../../common/utils/color-util';\r\n\r\nexport const LiveCasinoNavbarDefaultBox = styled.div<{stickOffset: number;}>`\r\n background: ${props => props.theme.colors.background};\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1) + \"px\"};\r\n z-index: 100;\r\n\r\n padding-top: 1rem;\r\n padding-bottom: 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n }\r\n &.sticky-navbar {\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${props => Color.fromHex(props.theme.colors.backgroundDark, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCipBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCasino777Box = styled(LiveCasinoNavbarDefaultBox)`\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/casino888/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarCisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.gray043};\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarDefaultBox } from \"./live-casino-navbar.default.box\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarSICisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.base07};\r\n border-bottom: none;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoNavbarMrGreenBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background-color: ${baseColors.gray033};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarCipBox } from \"./live-casino-navbar.cip.box\";\r\n\r\nexport const LiveCasinoNavbarMrGreenCisBox = styled(LiveCasinoNavbarCipBox)`\r\n border-bottom: none;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoNavbarCipBox} from \"./live-casino-navbar.cip.box\";\r\nimport {LiveCasinoNavbarCasino777Box} from \"./live-casino-navbar.casino777.box\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {LiveCasinoNavbarCisBox} from \"./live-casino-navbar.cis.box\";\r\nimport { LiveCasinoNavbarSICisBox } from \"./live-casino-navbar.siCis.box\";\r\nimport {LiveCasinoNavbarMrGreenBox} from \"./live-casino-navbar.mrgreen.box\";\r\nimport { LiveCasinoNavbarMrGreenCisBox } from \"./live-casino.navbar.mrgreenCis.box\";\r\n\r\nexport const LiveCasinoNavbarBox = styledByTheme(LiveCasinoNavbarDefaultBox)\r\n .forCip(LiveCasinoNavbarCipBox)\r\n .forCis(LiveCasinoNavbarCisBox)\r\n .forSICis(LiveCasinoNavbarSICisBox)\r\n .forWsopCip(LiveCasinoNavbarCipBox)\r\n .forCasino777(LiveCasinoNavbarCasino777Box)\r\n .forMrGreen(LiveCasinoNavbarMrGreenBox)\r\n .forMrGreenCis(LiveCasinoNavbarMrGreenCisBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {IStickyHandler} from \"../../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoFilterButtonsBox} from \"./boxes/live-casino-filter-buttons/live-casino-filter-buttons.box\";\r\nimport {STICKY_NAVBAR} from \"./css-constants\";\r\nimport {LiveCasinoNavbarBox} from \"./boxes/live-casino-navbar/live-casino-navbar.box\";\r\nimport {LiveCasinoArenaNavbarButtonProps} from \"./live-casino-arena-navbar-button.component\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LobbyHeaderTitleBox} from \"../../../lobby-header/boxes/title/lobby-header-title.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {LobbyHeaderTitleContainerBox} from \"../../../lobby-header/boxes/title/lobby-header-title.container.box\";\r\n\r\ninterface ICasinoLiveArenaNavbarProps {\r\n title?: string;\r\n configs: LiveTableTabConfiguration[];\r\n stickyHandler: IStickyHandler;\r\n FilterButtonComponent: React.ComponentType;\r\n}\r\n\r\n@observer\r\nexport class LiveCasinoArenaNavbar extends OrbitComponent {\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.props.stickyHandler && this.props.stickyHandler.dispose();\r\n }\r\n\r\n private _onFilterClicked = async (tabId: string) => {\r\n await this.services.liveTableFeeds.setCurrentArenaTab(tabId);\r\n };\r\n\r\n\r\n render() {\r\n const FilterButtonComponent = this.props.FilterButtonComponent || React.Fragment;\r\n return (\r\n \r\n \r\n {this.props.title ? \r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n \r\n : null}\r\n \r\n {this.props.configs.map((tabConfig) => {\r\n return (\r\n tabConfig.gridConfiguration.gamesId.length === 0 ? null :\r\n await this._onFilterClicked(tabConfig.headerConfiguration.filter)}\r\n seoPage={tabConfig.headerConfiguration.seoPage}\r\n isActiveTab={tabConfig.headerConfiguration?.filter?.toLowerCase() === this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter?.toLowerCase()}\r\n />\r\n );\r\n\r\n })}\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","export const STICKY_NAVBAR = 'sticky-navbar';\r\n","import styled from \"styled-components\";\r\nimport {LOBBY_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport const SeoBreadcrumbsContainerBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin-top: 55px;\r\n }\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SeoSectionConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {CmsBannerComponent} from '../../cms-banner/cms-banner.component';\r\nimport {SeoBreadcrumbsContainerBox} from \"./seo-breadcrumbs-container.box\";\r\n\r\nexport interface SeoBreadCrumbsComponentProps {\r\n arenaName: string;\r\n config: SeoSectionConfiguration;\r\n}\r\n\r\nexport class SeoBreadCrumbsComponent extends OrbitComponent {\r\n render() {\r\n if(!this.props.config.display || this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport styled, { AnyStyledComponent } from 'styled-components';\r\nimport { BalanceType } from '../../../common/const/wallet_balance_type';\r\nimport { OrbitComponent } from \"../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IBalanceValueProps {\r\n balanceType?: BalanceType;\r\n className?: string;\r\n WrapperComponent?: AnyStyledComponent;\r\n}\r\n\r\nexport const BalanceValue = observer(class BalanceValue extends OrbitComponent {\r\n static defaultProps: Partial = {\r\n balanceType: BalanceType.BOTH,\r\n WrapperComponent: styled.span`\r\n color: ${props => props.theme.colors.moneyColor};\r\n `\r\n };\r\n render() {\r\n let bankroll = this.services.walletProxy.bankroll[this.props.balanceType!];\r\n const balanceMaxChars = 15;\r\n // Bankroll length limited by 15 chars\r\n const numberIndex = bankroll.search(/[0-9]/g);\r\n const symbolIndex = bankroll.search(/[^0-9.,]/g);\r\n let balance: string;\r\n\r\n if (numberIndex > symbolIndex) {\r\n balance = bankroll.slice(numberIndex, numberIndex + balanceMaxChars);\r\n bankroll = bankroll.slice(symbolIndex, numberIndex) + balance;\r\n } else {\r\n balance = bankroll.slice(numberIndex, Math.min(balanceMaxChars, symbolIndex - numberIndex));\r\n bankroll = balance + bankroll.slice(symbolIndex);\r\n }\r\n\r\n let WrapperComponent = this.props.WrapperComponent!;\r\n return \r\n { bankroll }\r\n ;\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const AdminBannerDefaultBox = styled.div`\r\n\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const AdminBannerSIBox = styled.div`\r\n margin-bottom: 3rem;\r\n`;","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {AdminBannerDefaultBox} from \"./admin-banner-wrapper.default.box\";\r\nimport {AdminBannerSIBox} from \"./admin-banner-wrapper.si.box\";\r\n\r\n\r\nexport const AdminBannerBox = styledByTheme(AdminBannerDefaultBox)\r\n .forSI(AdminBannerSIBox)\r\n .apply();","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {AdminBannerBox} from \"./boxes/admin-banner-wrapper.box\";\r\n\r\n\r\ndeclare global {\r\n namespace JSX {\r\n interface IntrinsicElements {\r\n \"banner-slider\": any;\r\n }\r\n }\r\n}\r\n\r\nexport interface AdminBannerComponentProps {\r\n bannerAdminPlaceholderId: string;\r\n}\r\n\r\n\r\nexport class AdminBannerComponent extends OrbitComponent {\r\n render() {\r\n const bannerSegmentation = JSON.stringify(this.services.adminBanner.getSegmentationsForAdminBanner());\r\n const bannerConfig = JSON.stringify(this.services.adminBanner.getConfigForAdminBanner(this.props.bannerAdminPlaceholderId));\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {CmsBannerComponent, CmsBannerComponentProps} from \"../cms-banner/cms-banner.component\";\r\nimport {AdminBannerComponent, AdminBannerComponentProps} from \"../admin-banner/admin-banner.component\";\r\nimport * as React from \"react\";\r\n\r\nexport interface BannerComponentProps extends CmsBannerComponentProps, AdminBannerComponentProps {\r\n}\r\n\r\nexport class BannerComponent extends OrbitComponent {\r\n\r\n _shouldUseAdminBanner(): boolean {\r\n return this.services.adminBanner.adminBannerEnabled;\r\n }\r\n\r\n render() {\r\n return this._shouldUseAdminBanner() ? : ;\r\n }\r\n}","import React, {PropsWithChildren, Suspense} from \"react\";\r\n\r\nexport class OrbitSuspense extends React.Component {\r\n render() {\r\n return
}>\r\n {this.props.children}\r\n \r\n }\r\n}\r\n","import {OrbitComponent} from '../orbit-component/orbit-component';\r\n\r\nexport class RoutedComponent extends OrbitComponent {\r\n}\r\n","export const HYBRID_EMBEDDED_NAV_MENU = 'hybrid-embedded-nav-menu';//don't delete it - we need it to get the height for the hybrid embedded","export enum AnimationDismissType {\r\n FloatingButton = 1,\r\n FadeOut = 2\r\n}\r\nexport const FADE_OUT_DURATION_IN_SECONDS = 1;\r\nexport const FLOATING_BUTTON_DURATION_IN_SECONDS = 0.8;\r\nexport const TEXT_TRANSITION_DURATION_IN_SECONDS = 0.3;\r\nexport const FAB_DISAPPEAR_DURATION_IN_SECONDS = 2;\r\n\r\n/* The native frame width as it was made by the designer. Intrinsic size of the png image. We agreed for a frame of 600px wide and 1000px tall */\r\nexport const NATIVE_ANIMATION_FRAME_WIDTH = 600;\r\n","import styled, { css } from \"styled-components\"\r\nimport { AnimationDismissType, FADE_OUT_DURATION_IN_SECONDS, FLOATING_BUTTON_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface IBurnoutAnimationContainerProps {\r\n animationEnded: boolean;\r\n dismissType: AnimationDismissType;\r\n viewportHeight: number;\r\n zIndex: number;\r\n}\r\n\r\nexport const BurnoutAnimationContainer = styled.div`\r\n /* Position the container in the viewport, covering all visible area from top to bottom */\r\n position: fixed;\r\n top: 0;\r\n height: ${({viewportHeight}) => viewportHeight}px;\r\n /* it should be as wide as it can but no wider than 800px or the height of the viewport whichever is smaller\r\n Why no wider than 100vh? Because on very wide landscape screens (landscape mobile phones for example)\r\n we want to contain the animation in a square of the size equal to the height of the screen, any bigger, it will cut top and bottom part */\r\n width: 100%;\r\n max-width: min(${({viewportHeight}) => viewportHeight}px, 100vh, 800px);\r\n /* Horizontal alignment in viewport with right and transform */\r\n right: 50%;\r\n transform: translateX(50%);\r\n /* A big z-index, to make sure it's above everything */\r\n z-index: ${({zIndex}) => zIndex};\r\n /* Allow clicks to go through the animation elements so that the user can control the gameplay for example */\r\n pointer-events: none;\r\n /* overflow: hidden; */\r\n opacity: 1;\r\n ${({animationEnded, dismissType}) => animationEnded ? (\r\n dismissType === AnimationDismissType.FadeOut ? css`\r\n transition: opacity ${FADE_OUT_DURATION_IN_SECONDS}s;\r\n opacity: 0;\r\n ` : css`\r\n transition: height ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, width ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, max-width ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, top ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, right ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, border-radius ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, opacity ${FLOATING_BUTTON_DURATION_IN_SECONDS}s;\r\n height: 60px;\r\n width: 60px;\r\n max-width: 60px;\r\n overflow: hidden;\r\n top: 75px;\r\n right: 60px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n right: 40px;\r\n }\r\n border-radius: 50%;\r\n pointer-events: auto;\r\n opacity: 0.91;\r\n `\r\n ) : ''};\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\"\r\nimport { AnimationDismissType, FLOATING_BUTTON_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface IBurnoutAnimationBoxProps {\r\n animationEnded: boolean;\r\n dismissType: AnimationDismissType;\r\n}\r\n\r\nexport const BurnoutAnimationBox = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n transform: translateY(-70%);\r\n ${({animationEnded, theme}) => animationEnded ? css`\r\n background-image: url(${theme.images.burnoutAnimation.lastFrame.toString()});\r\n background-position: 0 0;\r\n background-size: 100% 100%;\r\n ` : \"\"}\r\n\r\n /* Aspect ratio. 1000 / 600 = 1.(6) => In percentage 166.(6)% */\r\n height: 0;\r\n padding-top: calc(166.66667%);\r\n ${({animationEnded, dismissType}) => (animationEnded && dismissType === AnimationDismissType.FloatingButton) ? css`\r\n transition: transform ${FLOATING_BUTTON_DURATION_IN_SECONDS}s;\r\n transform: translateY(-90%) scale(2);\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n transform: translate(-3%, -100%) scale(2.5);\r\n }\r\n ` : \"\"}\r\n`;\r\n","import styled from \"styled-components\"\r\nimport { NATIVE_ANIMATION_FRAME_WIDTH, TEXT_TRANSITION_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface ICongratulationsTextBoxProps {\r\n animationWidth: number;\r\n show: boolean;\r\n}\r\nexport const CongratulationsTextBox = styled.div`\r\n position: absolute;\r\n z-index: 2;\r\n width: 100%;\r\n top: 66%;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n -webkit-text-stroke: 2px ${({theme}) => theme.colors.backgroundLight};\r\n ${({theme}) => theme.font.presets.ultra};\r\n\r\n font-size: ${({animationWidth}) => animationWidth * 33 / NATIVE_ANIMATION_FRAME_WIDTH}px;\r\n line-height: 1.1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: ${({animationWidth}) => animationWidth * 39 / NATIVE_ANIMATION_FRAME_WIDTH}px;\r\n letter-spacing: -0.5px;\r\n }\r\n\r\n transition: opacity ${TEXT_TRANSITION_DURATION_IN_SECONDS}s, transform ${TEXT_TRANSITION_DURATION_IN_SECONDS}s;\r\n opacity: ${({show}) => show ? 1 : 0};\r\n transform: scale(${({show}) => show ? 1 : 0.25});\r\n`;\r\n","import {DisposableObject} from \"../../../../utils/disposable-object\";\r\n\r\nexport class DisposableBurnoutAnimationDependencies extends DisposableObject {\r\n public addTimeout(handler: () => void, timeout?: number) {\r\n return super.addTimeout(handler, timeout)\r\n }\r\n}","import React from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport { AnimationDismissType, FADE_OUT_DURATION_IN_SECONDS, FLOATING_BUTTON_DURATION_IN_SECONDS, NATIVE_ANIMATION_FRAME_WIDTH } from \"./burnout-animation-constants\";\r\nimport { BurnoutAnimationContainer } from \"./boxes/burnout-animation-container.box\";\r\nimport { BurnoutAnimationBox } from \"./boxes/burnout-animation.box\";\r\nimport { CongratulationsTextBox } from \"./boxes/burnout-animation-text.box\";\r\nimport { TrackEntry } from \"../../../services/pixi-app/pixi-app.service.interface\";\r\nimport { imagePreload } from \"../../../../common/utils/image-preload\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"../../../services/pixi-app/pixi-spine-animation\";\r\nimport {DisposableBurnoutAnimationDependencies} from \"./disposable-burnout-dependencies\";\r\n\r\nconst ExitAnimationDurationByDismissType = {\r\n [AnimationDismissType.FadeOut]: FADE_OUT_DURATION_IN_SECONDS,\r\n [AnimationDismissType.FloatingButton]: FLOATING_BUTTON_DURATION_IN_SECONDS\r\n};\r\n\r\ninterface IBurnoutAnimationProps {\r\n zIndex: number;\r\n getExitAnimation(): AnimationDismissType;\r\n onExitAnimationEnd(exitAnimationType: AnimationDismissType): void;\r\n paused?: boolean;\r\n}\r\n\r\n@observer\r\nexport class BurnoutAnimation extends OrbitComponent {\r\n /* Sometimes the last frame iamge is loaded again at the end of the animation.\r\n My supposition is that when the preloaded image is not used immediately the browser assumes it will not be used so it unloads it.\r\n So I keep the reference to the image tag so the garbage collecter will not dispose the image.\r\n Apparently it works */\r\n private lastFrameCache: HTMLImageElement | null = null;\r\n\r\n private pixiBurnoutAnimation: PixiSpineAnimation;\r\n private disposableDependencies: DisposableBurnoutAnimationDependencies = new DisposableBurnoutAnimationDependencies();\r\n\r\n constructor(props: IBurnoutAnimationProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n\r\n this._viewportHeight = window.innerHeight;\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n this.pixiBurnoutAnimation = this.createAnimation();\r\n if (!this.props.paused) {\r\n this.startAnimation();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: IBurnoutAnimationProps) {\r\n\r\n if (this.props.paused !== prevProps.paused) {\r\n if (!this.props.paused) {\r\n this.startAnimation();\r\n } else {\r\n if (this._onPauseHandler) {\r\n this._onPauseHandler(!!this.props.paused);\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.lastFrameCache = null;\r\n this._onPauseHandler = null;\r\n this.disposableDependencies.dispose();\r\n this.pixiBurnoutAnimation.dispose();\r\n }\r\n\r\n @observable.ref\r\n private _dismissType = AnimationDismissType.FadeOut;\r\n @observable.ref\r\n private _hasAnimationEnded = false;\r\n @observable.ref\r\n private _showCongratsText = false;\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _animationWidth = NATIVE_ANIMATION_FRAME_WIDTH;\r\n /* In mobile, i cannot use 100vh in css because it does not consider the browser chrome (tool bar and address bars and such).\r\n So I have to do this horrible hack, I take the height from JS */\r\n private _viewportHeight = NATIVE_ANIMATION_FRAME_WIDTH;\r\n\r\n private _onPauseHandler: ((pause: boolean) => void) | null = null;\r\n\r\n private async startAnimation() {\r\n if (this.pixiBurnoutAnimation.status === AnimationStatus.Loading || this.pixiBurnoutAnimation.status === AnimationStatus.Running) {\r\n return;\r\n }\r\n this.pixiBurnoutAnimation.start();\r\n this.pixiBurnoutAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private createAnimation() {\r\n return new PixiSpineAnimation(this.services, {\r\n width: 600, height: 1000, force2DCanvasContext: true\r\n }, [{\r\n name: 'burnoutAnimationResource',\r\n jsonUrl: this.services.theme.currentTheme.images.burnoutAnimation.pixiJson.toString()\r\n }], {\r\n render: ({spineAnimations}) => {\r\n\r\n /* Animation assets are all loaded and we can play, but before that we should also preload the last frame image to avoid flicker at the end of animation */\r\n imagePreload(this.services.theme.currentTheme.images.burnoutAnimation.lastFrame.toString()).then((response) => {\r\n this.lastFrameCache = response.imageObj;\r\n });\r\n\r\n let currentAnimationTrackEntry: TrackEntry | null;\r\n\r\n this._onPauseHandler = (pause: boolean) => {\r\n // spineAnimation.autoUpdate = !pause;\r\n if (currentAnimationTrackEntry) {\r\n currentAnimationTrackEntry.timeScale = pause ? 0 : 1;\r\n }\r\n }\r\n\r\n let spineAnimation = spineAnimations['burnoutAnimationResource'];\r\n // play animation\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"1-zoom\", false);\r\n spineAnimation.state.addAnimation(0, \"2-static_close\", false, 0.3);\r\n const spineAnimationTrackEntry3 = spineAnimation.state.addAnimation(0, \"3-opening\", false, 0);\r\n spineAnimationTrackEntry3.listener = {\r\n event: (entry, event) => {\r\n if (event.stringValue === \"open_text\") {\r\n this.setShowCongratsText(true);\r\n }\r\n }\r\n };\r\n spineAnimation.state.addAnimation(0, \"4-static _open\", false, 0);\r\n spineAnimation.state.addAnimation(0, \"5-static _open_tranzition\", false, 1.5);\r\n const spineAnimationTrackEntry6 = spineAnimation.state.addAnimation(0, \"6-static _open_empty\", false, 0);\r\n spineAnimationTrackEntry6.listener = {\r\n start: (entry) => {\r\n this.setShowCongratsText(false);\r\n }\r\n };\r\n spineAnimation.state.addAnimation(0, \"7-closing\", false, 0);\r\n const finalTrackEntry = spineAnimation.state.addAnimation(0, \"8-closed\", false, 0);\r\n finalTrackEntry.listener = {\r\n complete: (entry) => {\r\n this.setDismissType(this.props.getExitAnimation());\r\n this.markAnimationEnding();\r\n\r\n this.disposableDependencies.addTimeout(() => {\r\n this._onPauseHandler = null;\r\n this.pixiBurnoutAnimation.dispose();\r\n });\r\n\r\n this.disposableDependencies.addTimeout(() => {\r\n this.lastFrameCache = null;\r\n this.props.onExitAnimationEnd(this._dismissType);\r\n }, ExitAnimationDurationByDismissType[this._dismissType] * 1000 + 100);\r\n }\r\n };\r\n }\r\n\r\n spineAnimation.state.addListener({\r\n start: (entry) => {\r\n currentAnimationTrackEntry = entry;\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n this._viewportHeight = this.services.window.innerHeight;\r\n }\r\n }, {\r\n position: \"absolute\",\r\n top: \"0\",\r\n width: \"100%\"\r\n });\r\n }\r\n\r\n @action.bound\r\n private markAnimationEnding() {\r\n this._hasAnimationEnded = true;\r\n };\r\n\r\n @action.bound\r\n private setDismissType(v: AnimationDismissType) {\r\n this._dismissType = v;\r\n }\r\n\r\n @action.bound\r\n private setShowCongratsText(v: boolean) {\r\n this._showCongratsText = v;\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n if (el) {\r\n this._animationWidth = el.getBoundingClientRect().width;\r\n }\r\n }\r\n\r\n render() {\r\n /* Delay the rendering of the animation for the time the image is preloaded.\r\n As soon we can start the animation then we can display, measure the size of the animation based on viewport and play */\r\n return \r\n \r\n \r\n {this.services.translation.translate(\"BURNOUT_MESSAGE_LINE_1\")}\r\n
\r\n {this.services.translation.translate(\"BURNOUT_MESSAGE_LINE_2\")}\r\n \r\n \r\n
;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styled, { css, keyframes } from \"styled-components\";\r\nimport { FAB_DISAPPEAR_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface IBurnoutFabProps {\r\n zIndex: number;\r\n onClick(): void;\r\n onMount(): void;\r\n removeButton?: boolean;\r\n}\r\n\r\nexport const BurnoutFab: React.FC = ({zIndex, onClick, onMount, removeButton}) => {\r\n\r\n React.useEffect(() => {\r\n onMount();\r\n }, [onMount]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst disappearAnimation = keyframes`\r\n 0% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n 50% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n 99% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 0;\r\n }\r\n 100% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 0;\r\n display: none;\r\n }\r\n`;\r\n\r\nconst pulseAnimation = keyframes`\r\n 0% {\r\n transform: translateX(50%) scale(1);\r\n }\r\n 50% {\r\n transform: translateX(50%) scale(1);\r\n }\r\n 100% {\r\n transform: translateX(50%) scale(1.1);\r\n }\r\n`;\r\n\r\nconst shadowAppear = keyframes`\r\n 0% {\r\n opacity: 0;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst BurnoutFabContainer = styled.div<{zIndex: number; removeButton?: boolean;}>`\r\n position: fixed;\r\n height: 60px;\r\n width: 60px;\r\n max-width: 60px;\r\n overflow: visible;\r\n top: 75px;\r\n right: 60px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n right: 40px;\r\n }\r\n border-radius: 50%;\r\n cursor: pointer;\r\n /* A big z-index, to make sure it's above everything */\r\n z-index: ${({zIndex}) => zIndex};\r\n transform: translateX(50%);\r\n opacity: 0.9;\r\n /* box-shadow: 0px 0px 40px ${({theme}) => theme.colors.brandSecondary}, inset 0 0 40px ${({theme}) => theme.colors.brandSecondary}; */\r\n transition: transform 0.3s, opacity 0.3s;\r\n &:hover {\r\n transform: translateX(50%) scale(1.1);\r\n opacity: 1;\r\n }\r\n &:active {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n ${({removeButton}) => removeButton ? css`\r\n animation: ${FAB_DISAPPEAR_DURATION_IN_SECONDS}s linear 0s 1 forwards running ${disappearAnimation};\r\n ` : css`\r\n animation: 1s linear 0s infinite alternate running ${pulseAnimation};\r\n &:hover {\r\n animation: 1s linear 0s infinite alternate paused ${pulseAnimation};\r\n }\r\n `}\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n z-index: -1;\r\n width: 40%;\r\n height: 40%;\r\n top: 30%;\r\n left: 30%;\r\n background: transparent;\r\n border-radius: 50%;\r\n box-shadow: 0px 0px 40px 15px ${({theme}) => theme.colors.brandPrimary};\r\n transition: opacity 0.3s;\r\n opacity: 0;\r\n animation: 2s linear 0s 1 forwards running ${shadowAppear};\r\n }\r\n`;\r\n\r\nconst BurnoutFabInner = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n background-image: url(${({theme}) => theme.images.burnoutAnimation.lastFrame.toString()});\r\n background-position: 0 0;\r\n background-size: 100% 100%;\r\n /* Aspect ratio. 1000 / 600 = 1.(6) => In percentage 166.(6)% */\r\n height: 0;\r\n padding-top: calc(166.66667%);\r\n transform: translateY(-90%) scale(2);\r\n transition: transform 0.3s;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n transform: translate(-3%, -100%) scale(2.5);\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { action, observable, runInAction, makeObservable } from \"mobx\";\r\nimport { BurnoutAnimation } from \"./burnout-animation.component\";\r\nimport { AnimationDismissType, FAB_DISAPPEAR_DURATION_IN_SECONDS } from \"./burnout-animation-constants\";\r\nimport { BurnoutFab } from \"./boxes/burnout-fab.box\";\r\nimport {ISendElasticEventOptions} from \"../../../services/analytics/analytics.service.interface\";\r\nimport {DisposableBurnoutAnimationDependencies} from \"./disposable-burnout-dependencies\";\r\n\r\ninterface IBurnoutAnimationWrapper {\r\n checkOmg(): boolean;\r\n showOmg?(): void;\r\n paused?: boolean;\r\n onSafeUnmountNotice?(): void;\r\n}\r\n\r\n@observer\r\nexport class BurnoutAnimationWrapper extends OrbitComponent {\r\n\r\n constructor(props: IBurnoutAnimationWrapper) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n private _showButton = false;\r\n @observable.ref\r\n private _animationEnded = false;\r\n @observable.ref\r\n private _removeButtonAnimation = false;\r\n private disposableDependencies: DisposableBurnoutAnimationDependencies = new DisposableBurnoutAnimationDependencies();\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.disposableDependencies.dispose();\r\n }\r\n\r\n\r\n private getExitAnimation = () => {\r\n if (this.props.checkOmg()) {\r\n return AnimationDismissType.FloatingButton;\r\n } else {\r\n return AnimationDismissType.FadeOut;\r\n }\r\n }\r\n\r\n @action.bound\r\n private onExitAnimationEnd = () => {\r\n if (this.props.checkOmg()) {\r\n this._showButton = true;\r\n } else {\r\n this.disposableDependencies.addTimeout(() => {\r\n this.recheckOmg(true);\r\n }, 2000);\r\n }\r\n this._animationEnded = true;\r\n };\r\n\r\n @action.bound\r\n private recheckOmg = (retryOnFail: boolean) => {\r\n if (this.props.checkOmg()) {\r\n this._showButton = true;\r\n } else {\r\n if (retryOnFail) {\r\n this.disposableDependencies.addTimeout(() => {\r\n this.recheckOmg(false);\r\n }, 2000);\r\n } else {\r\n // we can safely unmount this component\r\n this.props.onSafeUnmountNotice && this.props.onSafeUnmountNotice();\r\n }\r\n }\r\n };\r\n\r\n @action.bound\r\n private onClickFAB = () => {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_Marketing\",\r\n category: 'Burnout',\r\n action: 'Click_floating_icon'\r\n }\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (this.props.showOmg) {\r\n this.props.showOmg();\r\n }\r\n this._removeButtonAnimation = true;\r\n this.disposableDependencies.addTimeout(() => {\r\n runInAction(() => {\r\n this._showButton = false;\r\n // we can safely unmount this component\r\n this.props.onSafeUnmountNotice && this.props.onSafeUnmountNotice();\r\n });\r\n }, FAB_DISAPPEAR_DURATION_IN_SECONDS * 1000 + 500);\r\n };\r\n\r\n private _onMountFAB = () => {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_Marketing\",\r\n category: 'Burnout',\r\n action: 'View_floating_icon'\r\n }\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n };\r\n\r\n private _renderFAB = (zIndex: number) => {\r\n if (this._showButton) {\r\n return (\r\n \r\n )\r\n }\r\n return null;\r\n };\r\n\r\n\r\n render() {\r\n const zIndex = this.services.burnoutService.getBurnoutAnimationZIndex();\r\n /* Show the animation. If the prize is in bonus money and the omg was already received, the animation transform itself into a button.\r\n Else, the animation dissapear and I use another element as a button because\r\n it is a lot of logic inside the animation component that we don't need anymore and it might break stuff */\r\n return this._animationEnded ? this._renderFAB(zIndex) : ;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const ClockLastLoginDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n margin: auto 1.5rem 2rem 1.5rem;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n padding: 1rem 1.6rem;\r\n border-radius: 4px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: unset;\r\n margin: auto 0;\r\n align-self: flex-start;\r\n align-items: center;\r\n padding: 0;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginMrGreenBox = styled(ClockLastLoginDefaultBox)`\r\n background-color: ${props => props.theme.colors.brandPrimaryDark};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginSiBox = styled(ClockLastLoginDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.background};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n } \r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginSICisBox = styled(ClockLastLoginDefaultBox)`\r\n letter-spacing: 0.4px;\r\n`;","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockLastLoginDefaultBox } from \"./clock-last-login.default.box\";\r\nimport {ClockLastLoginMrGreenBox} from \"./clock-last-login.mrgreen.box\";\r\nimport { ClockLastLoginSiBox } from \"./clock-last-login.si.box\";\r\nimport {ClockLastLoginSICisBox} from \"./clock-last-login.siCis.box\";\r\n\r\nexport const ClockLastLoginBox = styledByTheme(ClockLastLoginDefaultBox)\r\n .forMrGreen(ClockLastLoginMrGreenBox)\r\n .forSI(ClockLastLoginSiBox)\r\n .forSICis(ClockLastLoginSICisBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LastLoginDefaultBox = styled.div`\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1.1rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n line-height: 1.2;\r\n margin: 0 0 0 1.2rem;\r\n padding: 0 0 0 1.2rem;\r\n border-left: 1px solid ${props => props.theme.colors.textMiddleDark};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 1rem;\r\n padding-bottom: 0rem;\r\n line-height: 1;\r\n }\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LastLoginDefaultBox} from \"./last-login.default.box\";\r\n\r\nexport const LastLoginSiBox = styled(LastLoginDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border-left: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n }\r\n`","import { LastLoginDefaultBox } from \"./last-login.default.box\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { LastLoginSiBox } from \"./last-login.si.box\";\r\n\r\nexport const LastLoginBox = styledByTheme(LastLoginDefaultBox)\r\n .forSI(LastLoginSiBox)\r\n .forSICis(LastLoginSiBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {ClockComponent} from '../clock/clock.component';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {ClockLastLoginBox} from \"./boxes/clock-last-login.box\";\r\nimport {LastLoginBox} from './boxes/last-login.box';\r\n\r\n\r\nexport const ClockAndLastLoginBoxComponent = observer(class ClockAndLastLoginBoxComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n if (!this.services.configuration.data.ClockAndLastLoginBox.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._renderLastLoginComponent()}\r\n \r\n );\r\n\r\n }\r\n\r\n\r\n private _renderLastLoginComponent(): any {\r\n let data = this.services.configuration.data;\r\n if (!data.ClockAndLastLoginBox.lastLoginDisplay) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.regulation.current.components.renderLastLoginComponent()}\r\n \r\n );\r\n\r\n }\r\n});\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const ClockComponentDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.2rem;\r\n line-height: 1;\r\n`;","import styled from \"styled-components\";\r\nimport { ClockComponentDefaultBox } from \"./clock.component.default.box\";\r\n\r\nexport const ClockComponentSICisBox = styled(ClockComponentDefaultBox)`\r\n letter-spacing: 0.4px;\r\n`;","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockComponentDefaultBox } from \"./clock.component.default.box\";\r\nimport { ClockComponentSICisBox } from \"./clock.component.siCis.box\";\r\n\r\nexport const ClockComponentBox = styledByTheme(ClockComponentDefaultBox)\r\n .forSICis(ClockComponentSICisBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {ISdkComponentRenderer} from '../../services/sdk-component-factory/sdk-component-factory.service.interface';\r\nimport {observer} from 'mobx-react';\r\nimport styled, {AnyStyledComponent} from 'styled-components';\r\nimport classNames from 'classnames';\r\n\r\n\r\nexport interface SdkComponentProps {\r\n componentId: string;\r\n className?: string;\r\n sdkProps?: any;\r\n box?: AnyStyledComponent | React.ComponentType;\r\n onClick?: React.MouseEventHandler;\r\n}\r\n\r\n\r\nconst DefaultBox = styled.div``;\r\n\r\nexport const SdkComponent = observer(class SdkComponent extends OrbitComponent {\r\n\r\n private _elementRef: HTMLElement | null = null;\r\n private _captureElementRef = (element: HTMLElement | null) => {\r\n this._elementRef = element;\r\n this._renderSdkComponent();\r\n };\r\n\r\n\r\n private _sdkComponentRenderer: ISdkComponentRenderer | null = null;\r\n private get sdkComponentRenderer(): ISdkComponentRenderer {\r\n if(!this._sdkComponentRenderer) {\r\n this._sdkComponentRenderer = this.services.sdkComponentFactory.createComponentRenderer(this.props.componentId);\r\n }\r\n return this._sdkComponentRenderer;\r\n }\r\n\r\n private _disposeSdkComponent() {\r\n this.sdkComponentRenderer.dispose();\r\n }\r\n\r\n private _renderSdkComponent() {\r\n\r\n //first we destroy the old component if there is one.\r\n this._disposeSdkComponent();\r\n\r\n if(!this._elementRef) {\r\n return;\r\n }\r\n\r\n this.sdkComponentRenderer.render(this._elementRef, this.props.sdkProps);\r\n }\r\n\r\n componentDidUpdate(prevProps: SdkComponentProps, prevState: any, snapshot: any) {\r\n if(JSON.stringify(prevProps?.sdkProps) !== JSON.stringify(this.props.sdkProps)) {\r\n this._renderSdkComponent();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._disposeSdkComponent();\r\n }\r\n\r\n render() {\r\n let Box: AnyStyledComponent | React.ComponentType = DefaultBox;\r\n if(this.props.box) {\r\n Box = this.props.box;\r\n }\r\n return (\r\n this._passOnClick(e)}>\r\n \r\n );\r\n }\r\n\r\n private _passOnClick(e: React.MouseEvent) {\r\n if(this.props.onClick)\r\n this.props.onClick(e);\r\n }\r\n});\r\n\r\n","import React from 'react';\r\nimport {SdkComponent} from \"../sdk/sdk.component\";\r\nimport {ClockComponentBox} from \"./boxes/clock.component.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {AnyStyledComponent} from \"styled-components\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface ClockComponentProps {\r\n format?: string\r\n box?: AnyStyledComponent | React.ComponentType;\r\n className?: string;\r\n}\r\n\r\nexport class ClockComponent extends OrbitComponent{\r\n render() {\r\n const sdkProps = {\r\n datetime: this.props.format\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {BannerContainerDefaultBox} from \"./banner-container.default.box\";\r\n\r\nexport const BannerContainerBox = BannerContainerDefaultBox;","import styled, {css} from \"styled-components\";\r\nimport {LOBBY_PAGE, NEW_LIVE_AB_CASINO_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport interface IBannerContainerBoxProps {\r\n minHeight?: string;\r\n}\r\n\r\nexport const BannerContainerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow-x: hidden;\r\n\r\n .${LOBBY_PAGE} & {\r\n z-index: 2;\r\n background-color: ${props => props.theme.colors.background}\r\n }\r\n \r\n .${NEW_LIVE_AB_CASINO_PAGE} & {\r\n margin-bottom: 4rem;\r\n }\r\n \r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n`};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {CmsBannerId} from '../../services/cms/cms-banners/cm-banner-id/cms-banner-id';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerDefinition} from '../../services/cms/cms-banners/banner-definition/empty-banner-definition';\r\nimport {IBannerDefinition} from '../../services/cms/cms-banners/banner-definition/banner-definition.interface';\r\nimport {BannerContainerBox} from \"./banner-container/banner-container.box\";\r\n\r\nexport interface CmsBannerComponentProps {\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n showPlaceholder: boolean;\r\n className?: string;\r\n minHeight?: string;\r\n}\r\n\r\nexport const CmsBannerComponent = observer(class CmsBannerComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n componentDidUpdate() {\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n private get _bannerId(): CmsBannerId {\r\n return new CmsBannerId(this.props.componentID, this.props.templateID, this.props.fallbackComponent);\r\n }\r\n\r\n private get _bannerDefinition(): IBannerDefinition {\r\n let contentDefinition = this.services.cmsBanners.bannersMap[this._bannerId.key];\r\n if (contentDefinition) {\r\n return contentDefinition;\r\n }\r\n\r\n return new EmptyBannerDefinition();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this._bannerDefinition.render({\r\n showPlaceholder: this.props.showPlaceholder,\r\n minHeight: this.props.minHeight\r\n })\r\n }\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst MobileBox = styled.div<{isHybridEmbedded: boolean}>`\r\n position: fixed;\r\n z-index:15;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 84px)' : '34px'};\r\n\r\n right: 3px;\r\n \r\n cursor: pointer;\r\n \r\n display: grid;\r\n grid-template-rows: 45px 30px;\r\n justify-items: center; \r\n`;\r\n\r\nconst PcBox = styled(MobileBox)`\r\n transform: scale(1.2);\r\n right: 20px;\r\n`;\r\n\r\nexport const DailyDealContainerBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\n\r\nconst glowRotateAnimation = keyframes`\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 20%, 25% {\r\n transform: rotate(90deg);\r\n } \r\n 45%, 50% {\r\n transform: rotate(180deg);\r\n } \r\n 70%, 75% {\r\n transform: rotate(270deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n `;\r\n\r\nexport const DailyDealChestGlowBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.glow.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 25px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 106px;\r\n width: 106px; \r\n z-index: -1;\r\n \r\n transform: rotate(30deg);\r\n animation: ${glowRotateAnimation} 4s infinite;\r\n`;\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst chestScaleAnimation = keyframes`\r\n 0% { \r\n transform: scale(1);\r\n }\r\n 40%, 50% { \r\n transform: scale(1.2);\r\n }\r\n 100% { \r\n transform: scale(1);\r\n }\r\n `;\r\n\r\n\r\nexport const DailyDealChestBox = styled.img` \r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n position: relative;\r\n height: 50px;\r\n \r\n animation: ${chestScaleAnimation} 2s infinite;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealTextStripBox = styled.span`\r\n background: url(${({theme}) => theme.images.dailyDeal.textStrip.toString()}) center no-repeat;\r\n background-size: cover;\r\n \r\n display: block;\r\n \r\n width: 120px;\r\n height: 30px;\r\n \r\n color: ${({theme}) => theme.colors.textLight};\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n \r\n padding: 2.5px 10px 0;\r\n text-align: center;\r\n font-size: 13px;\r\n line-height: 19px; \r\n}\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealChestHaloBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.halo.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 15px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 90px;\r\n width: 83px; \r\n z-index: -1;\r\n`;\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {DailyDealContainerBox} from \"./boxes/daily-deal-container.box\";\r\nimport {DailyDealChestGlowBox} from \"./boxes/daily-deal-chest-glow.box\";\r\nimport {DailyDealChestBox} from \"./boxes/daily-deal-chest.box\";\r\nimport {DailyDealTextStripBox} from \"./boxes/daily-deal-text-strip.box\";\r\nimport {DailyDealChestHaloBox} from \"./boxes/daily-deal-chest-halo.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const DailyDealComponent = observer(class DailyDealComponent extends OrbitComponent {\r\n\r\n render() {\r\n if (!this.services.dailyDeal.dailyDealCampaignId) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate(\"DAILY_DEAL_WIDGET_STRIP\") } \r\n \r\n \r\n );\r\n }\r\n\r\n private _onDailyDealClick = () => {\r\n this.services.analytics.sendAnalytics('Daily_Deal', 'Click', this.services.arenas.getCurrentArena().arenaName);\r\n this.services.dailyDeal.visitDailyDeal();\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FreePlayContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n \r\n`;\r\n\r\nconst FreePlayContainerMrGreenCisBox = styled(FreePlayContainerDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.brandPrimaryDark};\r\n`;\r\n\r\nexport const FreePlayContainerBox = styledByTheme(FreePlayContainerDefaultBox).forMrGreenCis(FreePlayContainerMrGreenCisBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBox = styled.div`\r\n width: 100%;\r\n flex-shrink: 0;\r\n position: relative;\r\n padding-top: 3.3rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.2rem;\r\n }\r\n\r\n .swiper-pagination {\r\n .swiper-pagination-bullet {\r\n background-color: white;\r\n opacity: 0.25;\r\n &.swiper-pagination-bullet-active {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n`","import styled, { css } from \"styled-components\";\r\n\r\nexport const VoucherSwiperArrowContainerBox = styled.div<{isPrev?: boolean;}>`\r\n position: absolute;\r\n width: 3rem;\r\n height: 4rem;\r\n background-size: contain;\r\n /* background-color: red; */\r\n z-index: 2;\r\n /* display: flex;\r\n flex-direction: column;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center; */\r\n font-size: 2rem;\r\n padding: 4px;\r\n cursor: pointer;\r\n top: 50%;\r\n transform: translate(0, -50%);\r\n ${({isPrev}) => isPrev ? css`\r\n left: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowPrev.toString()});\r\n ` : css`\r\n right: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowNext.toString()});\r\n `}\r\n &.swiper-button-disabled {\r\n opacity: 0.6;\r\n }\r\n`\r\n","import {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {SwiperSlide} from \"swiper/react\";\r\nimport {Pagination, Navigation} from 'swiper/modules';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {VouchersSwiperBox} from \"../../../boxes/vouchers-swiper/vouchers-swiper.box\";\r\nimport {VoucherSwiperArrowContainerBox} from \"../../../boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardComponent} from \"../voucher-card.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {SwiperComponent} from \"../../../../swiper/swiper.component\";\r\n\r\ninterface VouchersSwiperComponentProps {\r\n onCurrentVoucherIndexChanged: (voucherIndex: number) => void;\r\n}\r\n\r\nexport const VouchersSwiperComponent = observer(\r\n class VouchersSwiperComponent extends OrbitComponent {\r\n prevElement = React.createRef();\r\n nextElement = React.createRef();\r\n\r\n private get _vouchers(): IFreePlayVoucherViewModel[] {\r\n return this.services.freePlay.userVouchers;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {\r\n if (typeof swiper.params.navigation !== \"boolean\") {\r\n swiper.params.navigation.prevEl = this.prevElement.current;\r\n swiper.params.navigation.nextEl = this.nextElement.current;\r\n }\r\n }}\r\n onActiveIndexChange={(swiper) => {\r\n this.props.onCurrentVoucherIndexChanged(swiper.activeIndex);\r\n }}\r\n >\r\n {this._vouchers.map((v) => {\r\n return \r\n {({ isActive }) => {\r\n return \r\n }}\r\n \r\n })}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const VoucherGamesListDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n height: 100%;\r\n width: 100%;\r\n align-items: center;\r\n margin: 0.5rem 0rem 2rem;\r\n`;","import styled from \"styled-components\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListMrGreenCisBox = styled(VoucherGamesListDefaultBox)`\r\n margin: 0;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListSiBox = styled(VoucherGamesListDefaultBox)`\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\nimport { VoucherGamesListMrGreenCisBox } from \"./voucher-games-list.mrGreenCis.box\";\r\nimport { VoucherGamesListSiBox } from \"./voucher-games-list.siCis.box\";\r\n\r\nexport const VoucherGamesListBox = styledByTheme(VoucherGamesListDefaultBox)\r\n .forSICis(VoucherGamesListSiBox)\r\n .forMrGreenCis(VoucherGamesListMrGreenCisBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst VouchersSwiperTitleDefaultBox = styled.div`\r\n text-align: center;\r\n font-size: 1.3rem;\r\n padding: 5px 4px 10px 4px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst VouchersSwiperTitleSIBox = styled(VouchersSwiperTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nexport const VouchersSwiperTitleBox = styledByTheme(VouchersSwiperTitleDefaultBox)\r\n .forSI(VouchersSwiperTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBackgroundBox = styled.div`\r\n width: 100%;\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()});\r\n background-repeat: no-repeat;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()}) 0 -44px;\r\n background-size: cover;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\n\r\nconst VouchersGamesListTitleDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n padding: 10px 4px 10px 4px;\r\n width: 100%;\r\n\r\n border-bottom-width: 4px;\r\n border-bottom-style: solid;\r\n border-bottom-color: #0e0e0e;\r\n \r\n text-align: center;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasino777Box = styled(VouchersGamesListTitleDefaultBox)`\r\n border-top: 1px solid transparent;\r\n padding-top: 1.2rem;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSICisBox = styled(VouchersGamesListTitleDefaultBox)`\r\n font-size: 1.15rem;\r\n ${({theme}) => theme.font.presets.thin}\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSIBox = styled(VouchersGamesListTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenBox = styled(VouchersGamesListTitleDefaultBox)`\r\n border-bottom: 1px solid ${({theme}) => hexToRgba(theme.colors.boxBorderLighter, 0.2)};\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenCisBox = styled(VouchersGamesListTitleMrGreenBox)`\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;\r\n\r\n\r\n\r\nexport const VouchersGamesListTitleBox = styledByTheme(VouchersGamesListTitleDefaultBox)\r\n .forCasino777(VouchersGamesListTitleCasino777Box)\r\n .forSICis(VouchersGamesListTitleCasinoSICisBox)\r\n .forSI(VouchersGamesListTitleCasinoSIBox)\r\n .forMrGreen(VouchersGamesListTitleMrGreenBox)\r\n .forMrGreenCis(VouchersGamesListTitleMrGreenCisBox)\r\n .apply();","import React, {PropsWithChildren} from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {FreePlayContainerBox} from \"./boxes/container/free-play-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VouchersSwiperComponent} from \"./parts/voucher-card/swiper/vouchers-swiper.component\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {VoucherGamesListBox} from \"./boxes/voucher-games-list/voucher-games-list.box\";\r\nimport {VouchersSwiperTitleBox} from \"./boxes/vouchers-swiper/vouchers-swiper-title.box\";\r\nimport {VouchersSwiperBackgroundBox} from \"./boxes/vouchers-swiper/vouchers-swiper-background.box\";\r\nimport {VouchersGamesListTitleBox} from \"./boxes/voucher-games-list-title/voucher-games-list-title.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {GameItemComponent} from \"../game-item/game-item.component\";\r\n\r\n@observer\r\nexport class FreePlayContainerComponent extends OrbitComponent {\r\n\r\n constructor(props: PropsWithChildren) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n currentVoucherIndex = 0;\r\n\r\n @action.bound\r\n private _onCurrentVoucherChangedHandler = (voucherIndex: number) => {\r\n this.currentVoucherIndex = voucherIndex;\r\n };\r\n\r\n private _renderVoucherGames = () => {\r\n const currentVoucher = this.services.freePlay.userVouchers[this.currentVoucherIndex];\r\n if(!currentVoucher) {\r\n return null;\r\n }\r\n\r\n return (\r\n {currentVoucher.freePlayGames.map(voucherGame => {\r\n await voucherGame.play()\r\n }}\r\n style={{marginBottom: \"1.5rem\"}}\r\n />)}\r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_LIST_TITLE')}\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_GAMES_LIST_TITLE')}\r\n \r\n {this._renderVoucherGames()}\r\n \r\n )\r\n }\r\n}","import styled, {css} from \"styled-components\";\r\n\r\nexport const VoucherCardBox = styled.div<{showCursor: boolean; }>`\r\n position: relative;\r\n\r\n width: 31rem;\r\n height: 18rem;\r\n margin: 0 auto 3rem;\r\n ${props => props.showCursor ? css`cursor: pointer` : ''};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 26rem;\r\n height: 15rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n width: 33rem;\r\n } \r\n\r\n @media ${({theme}) => theme.mediaQuery.xxl + \" and \" + theme.mediaQuery.lowHeight} {\r\n width: 33rem;\r\n } \r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst VoucherCardDefaultSideBox = styled.div<{backgroundImageUrl: string; backSideShown: boolean;}>`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n background-image: url(\"${props => props.backgroundImageUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: cover;\r\n color: ${({ theme }) => theme.colors.textContrast};\r\n width: 100%;\r\n box-sizing: border-box;\r\n height: 100%;\r\n transition: transform 0.6s;\r\n backface-visibility: hidden;\r\n padding: 10px 20px 20px 20px;\r\n`;\r\n\r\nconst VoucherCard777SideBox = styled(VoucherCardDefaultSideBox)`\r\n color: unset;\r\n`;\r\n\r\nexport const VoucherCardSideBox = styledByTheme(VoucherCardDefaultSideBox).forCasino777(VoucherCard777SideBox).apply();","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardFaceBox = styled(VoucherCardSideBox)`\r\n align-items: center;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"180deg\" : \"0\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n line-height: 1.2;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n justify-content: center;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardFaceFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n padding-right: 15px;\r\n height: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceDetailsBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceOriginalAmountBox = styled.div`\r\n font-size: 3rem;\r\n white-space: nowrap;\r\n ${({theme}) => theme.font.presets.ultra};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceVoucherNameBox = styled.div`\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n letter-spacing: 1px;\r\n text-transform: uppercase;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.5rem;\r\n margin-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconBox = styled.div<{iconUrl: string}>`\r\n background-image: url(\"${props => props.iconUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: contain;\r\n width: 7.5em;\r\n height: 7.5em;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 6em;\r\n width: 6em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountBox = styled.span`\r\n ${({theme}) => theme.font.presets.bold};\r\n padding-left: 4px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideToggleButtonBox = styled.div`\r\n border: 1px solid;\r\n border-radius: 50%;\r\n padding: 1px;\r\n box-sizing: content-box;\r\n width: 1.4rem;\r\n height: 1.4rem;\r\n cursor: pointer;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n flex-grow: 1;\r\n height: 100%;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const VoucherCardFaceHeaderBox = styled.div<{isCloseToExpiration: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n width: 100%;\r\n font-size: 1.1rem;\r\n line-height: 1;\r\n ${\r\n props => props.isCloseToExpiration \r\n ? css`\r\n color: ${props.theme.colors.danger};\r\n ${props.theme.font.presets.bold};\r\n `\r\n : ''\r\n }\r\n`;\r\n","import {\r\n OrbitComponentWithState\r\n} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceHeaderBox} from \"../../../boxes/voucher-card/face/header/voucher-card-face-header.box\";\r\nimport React from \"react\";\r\n\r\ninterface VoucherCardFaceHeaderComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: () => void;\r\n}\r\n\r\ninterface VoucherCardFaceHeaderComponentState {\r\n expirationMessage: string;\r\n}\r\n\r\nexport class VoucherCardFaceHeaderComponent extends OrbitComponentWithState {\r\n\r\n constructor(props: VoucherCardFaceHeaderComponentProps) {\r\n super(props);\r\n this.state = {\r\n expirationMessage: props.voucher.expirationMessage\r\n };\r\n }\r\n\r\n private _expirationTimer: any = null;\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(this.props.voucher.isCloseToExpiration) {\r\n this._expirationTimer = setInterval(() => {\r\n this.setState({\r\n expirationMessage: this.props.voucher.expirationMessage\r\n })\r\n }, 1000);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._expirationTimer) {\r\n clearInterval(this._expirationTimer);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.voucher.expirationMessage}\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceBox} from \"../../../boxes/voucher-card/face/voucher-card-face.box\";\r\nimport {VoucherCardFaceContentBox} from \"../../../boxes/voucher-card/face/content/voucher-card-face-content.box\";\r\nimport {VoucherCardFaceFooterBox} from \"../../../boxes/voucher-card/face/footer/voucher-card-face-footer.box\";\r\nimport {VoucherCardFaceIconContainerBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box\";\r\nimport {\r\n VoucherCardFaceDetailsBox\r\n} from \"../../../boxes/voucher-card/face/content/details/voucher-card-face-details.box\";\r\nimport {\r\n VoucherCardFaceOriginalAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box\";\r\nimport {\r\n VoucherCardFaceVoucherNameBox\r\n} from \"../../../boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountContainerBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VoucherCardFaceIconBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VoucherCardFaceHeaderComponent} from \"./voucher-card-face-header.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardFaceComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide?: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\n\r\nexport const VoucherCardFaceComponent = observer(\r\n class VoucherCardFaceComponent extends OrbitComponent {\r\n\r\n private _renderOriginalAmount() {\r\n return (\r\n \r\n {this.props.voucher.formattedOriginalAmount || this.props.voucher.formattedCurrentBalance}\r\n \r\n )\r\n }\r\n\r\n private _renderCurrentAmount() {\r\n if(!this.props.voucher.formattedOriginalAmount) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_VOUCHER_BALANCE_PREFIX')}\r\n \r\n \r\n {this.props.voucher.formattedCurrentBalance}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let InfoIcon = this.services.theme.currentTheme.icons.infoIcon;\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {this._renderOriginalAmount()}\r\n \r\n {this.props.voucher.voucherName}\r\n \r\n {this._renderCurrentAmount()}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardBackBox = styled(VoucherCardSideBox)`\r\n align-items: flex-start;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"0\" : \"180deg\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackHeaderBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n flex-grow: 1;\r\n font-size: 1.2rem;\r\n line-height: 1.3;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardBackFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBackBox} from \"../../../boxes/voucher-card/back/voucher-card-back.box\";\r\nimport {VoucherCardBackHeaderBox} from \"../../../boxes/voucher-card/back/header/voucher-card-back-header.box\";\r\nimport {VoucherCardBackContentBox} from \"../../../boxes/voucher-card/back/content/voucher-card-back-content.box\";\r\nimport {VoucherCardBackFooterBox} from \"../../../boxes/voucher-card/back/footer/voucher-card-back-footer.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardBackComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\nexport const VoucherCardBackComponent = observer(\r\n class VoucherCardBackComponent extends OrbitComponent {\r\n render() {\r\n let CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n return (\r\n \r\n \r\n {this.props.voucher.voucherName}\r\n \r\n \r\n {this.props.voucher.voucherDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from \"react\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBox} from \"../../boxes/voucher-card/voucher-card.box\";\r\nimport {VoucherCardFaceComponent} from \"./face/voucher-card-face.component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {VoucherCardBackComponent} from \"./back/voucher-card-back.component\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\n\r\ninterface VoucherCardComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: (voucher: IFreePlayVoucherViewModel) => void;\r\n}\r\n\r\ninterface VoucherCardComponentState {\r\n showBackSide: boolean;\r\n}\r\n\r\nexport const VoucherCardComponent = observer(\r\n class VoucherCardComponent extends OrbitComponentWithState {\r\n constructor(props: VoucherCardComponentProps) {\r\n super(props);\r\n this.state = {\r\n showBackSide: false\r\n }\r\n }\r\n private _onToggleSide = () => {\r\n this.setState({\r\n showBackSide: !this.state.showBackSide\r\n });\r\n }\r\n\r\n private _onCardSideClickHandler = () => {\r\n if (this.props.onClick) {\r\n this.props.onClick(this.props.voucher);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n);","import {FreeToPlayAnimatedIconDefaultBox} from \"./free-to-play-animated-icon.default.box\";\r\n\r\nexport const FreeToPlayAnimatedIconBox = FreeToPlayAnimatedIconDefaultBox;","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayAnimatedIconDefaultBox = styled.div<{isBottomNavBarEnabled?: boolean}>`\r\n position: fixed;\r\n z-index: 4;\r\n bottom: 0;\r\n right: 0; \r\n width: 150px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n bottom: ${props => props.isBottomNavBarEnabled ? \"calc(env(safe-area-inset-bottom) + 53px)\" : \"0px\"}\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayClickBox = styled.div`\r\n position: fixed;\r\n cursor: pointer;\r\n z-index: 5;\r\n bottom: 0;\r\n right: 0;\r\n width: 150px;\r\n height: 123px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n height: 106px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {FreeToPlayAnimatedIconBox} from \"./boxes/free-to-play-animated-icon.box\";\r\nimport {AnimatedIconObservableTarget, AnimatedIconUnloadReason, IAnimatedIconRequestOptions} from \"../../services/pixi-app/animated-icon-base-service.service\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\nimport {FreeToPlayClickBox} from \"./boxes/free-to-play-click.box\";\r\n\r\nexport const FreeToPlayAnimatedIconComponent = observer(class FreeToPlayAnimatedIconComponent extends OrbitComponent {\r\n private iconRequestOptions = {\r\n jsonUrl: this.services.theme.currentTheme.images.f2p.freeToPlay.toString(),\r\n size: {\r\n width: 445,\r\n height: 364\r\n },\r\n timings: {\r\n delay: 2000,\r\n interval: 3000\r\n }\r\n };\r\n\r\n private iconObservableTarget: AnimatedIconObservableTarget | undefined;\r\n\r\n private _captureElementRefForIcon(element: HTMLElement | null) {\r\n // if element is null (the component was unmounted) or the element changed, then check if we have a currently running/loading animation and remove it\r\n if (!element || (this.iconObservableTarget && this.iconObservableTarget.wrapper !== element)) {\r\n // if the current animation is loading, cancel it\r\n // if the current animation is already running, stop and dispose it\r\n // animation disposer do both things, abort if loading, dispose if running\r\n if (this.iconObservableTarget && this.iconObservableTarget.animationDisposer) {\r\n this.iconObservableTarget.animationDisposer(AnimatedIconUnloadReason.REQUESTED);\r\n }\r\n }\r\n // if the element exists and is different from the previous one, then the animation must be started\r\n if (element && (!this.iconObservableTarget || this.iconObservableTarget.wrapper !== element)) {\r\n let requestOptions: Omit = this.iconRequestOptions;\r\n // update the reference\r\n this.iconObservableTarget = {\r\n ...requestOptions,\r\n wrapper: element\r\n };\r\n this.services.freeToPlay.loadFreeToPlayAnimation(this.iconObservableTarget);\r\n }\r\n // if element is null just update the reference so we know next time the capture is ran\r\n if (!element) {\r\n this.iconObservableTarget = undefined;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.services.freeToPlay.isPromotionEligible) {\r\n this._sendAnalytics(\"SHOW\");\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.services.freeToPlay.isPromotionEligible) {\r\n return null;\r\n }\r\n\r\n if (this.services.freeToPlay.isPromotionOpened) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n this._openBonusWheel()} />\r\n \r\n );\r\n }\r\n\r\n private _openBonusWheel = async () => {\r\n this._sendAnalytics(\"CLICK\");\r\n await this.services.freeToPlay.showPromotion({\r\n channel: {\r\n area: AreaType.button,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.floatingIcon\r\n }\r\n }\r\n );\r\n }\r\n\r\n private _sendAnalytics(action: string) {\r\n try {\r\n let options: ISendElasticEventOptions = {\r\n action: action,\r\n category: \"Floating_icon\",\r\n eventType: \"bonus_widget\",\r\n appID: \"F2P\",\r\n customData: {\r\n location: this.services.location.isHomePage ? 'homepage' : this.services.location.currentUri.pathName.toString(),\r\n segmentation: this.services.user.playerRMSStatus\r\n }\r\n };\r\n this.services.analytics.sendElasticInfoEvent(options, true);\r\n }\r\n catch (err) {\r\n console.log(\"Floating_icon \" + action + \" analytics report failed with error: \" + err);\r\n }\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const GamblingSessionMessageBaseBox = styled.div`\r\n text-align: center;\r\n padding-bottom: 10px;\r\n font-weight: 700;\r\n`","import {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {Button} from \"../../../basic-ui-components/button/base/button.component\";\r\nimport {DividerBox} from \"../../../basic-ui-components/layout/divider/divider.box\";\r\nimport {SpacerBox} from \"../../../basic-ui-components/layout/spacer.box\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {IModalDialogHandler} from \"../../../services/dialog/dialog.service.interface\";\r\nimport {GamblingSessionMessageBaseBox} from \"../boxes/gambling-session-message.box\";\r\nimport {GamblingSessionLimitSummaryBox} from \"../session-info/boxes/gambling-session-limits-summary.box\";\r\nimport {GamblingSessionInfoComponent} from \"../session-info/gambling-session-info.component\";\r\n\r\nexport enum LimitType {\r\n Loss,\r\n Time,\r\n IntervalReminder\r\n}\r\n\r\ninterface IGamblingSessionLimitReachedComponentProps {\r\n sessionDuration: TimeSpan;\r\n limitType: LimitType;\r\n totalBets: number;\r\n totalWins: number;\r\n dialogHandler: IModalDialogHandler;\r\n\r\n sessionLimitTimestamp: string;\r\n}\r\n\r\nexport const GamblingSessionLimitReachedComponent: React.FC = (props) => {\r\n const services = useServices();\r\n let mainTextKey = \"GAMBLING_SESSION_INTERVAL_REMINDER_TEXT\";\r\n if (props.limitType === LimitType.Loss) {\r\n mainTextKey = 'GAMBLING_SESSION_LOSS_LIMIT_REACHED_TEXT';\r\n }\r\n if (props.limitType === LimitType.Time) {\r\n mainTextKey = 'GAMBLING_SESSION_TIME_LIMIT_REACHED_TEXT';\r\n }\r\n return (\r\n \r\n \r\n { services.translation.translate(mainTextKey, {\r\n gamblingSessionLimitTimestamp: props.sessionLimitTimestamp\r\n }) }\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n );\r\n};","import {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {SpacerBox} from \"../../../basic-ui-components/layout/spacer.box\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {IModalDialogHandler} from \"../../../services/dialog/dialog.service.interface\";\r\nimport {ModalDialogActionsComponent} from \"../../modal-dialog/modal-dialog-actions.component\";\r\nimport {GamblingSessionLimitSummaryBox} from \"../session-info/boxes/gambling-session-limits-summary.box\";\r\nimport {GamblingSessionInfoComponent} from \"../session-info/gambling-session-info.component\";\r\n\r\ninterface IGamblingSessionLogoutDialogProps {\r\n dialogHandler: IModalDialogHandler;\r\n sessionDuration: TimeSpan;\r\n totalBets: number;\r\n totalWins: number;\r\n onLogout(): void;\r\n onCancel(): void;\r\n}\r\n\r\nexport const GamblingSessionLogoutDialog: React.FC = (props) => {\r\n const services = useServices();\r\n return (\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n );\r\n}","import styled from \"styled-components\";\r\n\r\nexport const GamblingSessionLimitSummaryBox = styled.div`\r\n font-size: 1.5rem;\r\n line-height: 1.75rem;\r\n padding: 15px;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 600px;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {dialogHighlightedTextMixin, dialogTextMixin} from \"../../../modal-dialog/boxes/text/dialog-text.box\";\r\n\r\nexport const GamblingSessionInfoWrapperBox = styled.div`\r\n margin-bottom: 1.5rem;\r\n`;\r\n\r\nexport const GamblingSessionInfoTextBox = styled.div`\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const GamblingSessionInfoValueBox = styled.div`\r\n ${dialogHighlightedTextMixin}\r\n`;\r\n","import React from 'react';\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\nimport {GamblingSessionInfoTextBox, GamblingSessionInfoValueBox, GamblingSessionInfoWrapperBox} from \"./boxes/gambling-session-info.box\";\r\n\r\ninterface IGamblingSessionInfoProps {\r\n sessionDuration: TimeSpan;\r\n totalBets: number;\r\n totalWins: number;\r\n}\r\n\r\nexport const GamblingSessionInfoComponent: React.FC = (props) => {\r\n const services = useServices();\r\n return (<>\r\n \r\n {services.translation.translate(\"GAMBLING_SESSION_DATA_DURATION\")}\r\n {props.sessionDuration.toHoursAndMinutesString()}\r\n \r\n\r\n \r\n {services.translation.translate(\"GAMBLING_SESSION_DATA_WIN_LOSS_SUMMARY\")}\r\n {services.currency.formatMoney(props.totalWins - props.totalBets)}\r\n \r\n\r\n \r\n {services.translation.translate(\"GAMBLING_SESSION_DATA_TOTAL_BETS\")}\r\n {services.currency.formatMoney(props.totalBets)}\r\n \r\n );\r\n}","import styled from \"styled-components\";\r\n\r\nexport const GamblingSessionLimitsBox = styled.div`\r\n font-size: 1.275rem;\r\n line-height: 1.7rem;\r\n padding: 15px;\r\n @media ${({theme}) => theme.mediaQuery.sAndAbove} {\r\n max-width: 600px;\r\n }\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DropDownsGroupBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n width: 100%;\r\n margin: 20px 0 15px 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n flex-direction: column;\r\n }\r\n \r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface LossLimitDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n errorMessage?: string;\r\n}\r\n\r\nexport const LossLimitDropDownComponent = observer(\r\n class LossLimitDropDownComponent extends OrbitComponent {\r\n\r\n private _getLossLimits(): DropDownItem[] {\r\n let bankroll = this.services.walletProxy.totalBankroll;\r\n\r\n const translateLossLimit = (percent: number, lossAmount: number): string => {\r\n return this.services.translation.translate('GAMBLING_SESSION_LOSS_LIMIT_VALUE', {\r\n percent: percent,\r\n loss: this.services.currency.formatMoney(lossAmount)\r\n })\r\n }\r\n\r\n if (bankroll < 100) {\r\n return [\r\n {\r\n value: bankroll,\r\n text: translateLossLimit(100, bankroll)\r\n }\r\n ]\r\n }\r\n\r\n const percentages = parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.LossLimitPercentages);\r\n\r\n return percentages.map(p => {\r\n return {\r\n percent: p,\r\n value: Math.floor(p * bankroll / 100)\r\n }\r\n }).filter(lossLimit => lossLimit.value >= 100)\r\n .map(lossLimit => {\r\n return {\r\n value: lossLimit.value,\r\n text: translateLossLimit(lossLimit.percent, lossLimit.value)\r\n }\r\n });\r\n }\r\n\r\n private _onItemSelectedHandler = async (value: NullableNumber): Promise => {\r\n this.props.onItemSelected(value);\r\n return {\r\n cancel: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {Check, TimeSpan} from \"@sparkware/app-utils\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {TranslationsHelper} from \"../../../../services/translation/translations-helper\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../../../services/dialog/dialog.service.interface\";\r\n\r\ninterface TimeLimitDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n errorMessage?: string;\r\n className?: string;\r\n}\r\n\r\nexport const TimeLimitDropDownComponent = observer(\r\n class TimeLimitDropDownComponent extends OrbitComponent {\r\n\r\n private get _translations(): TranslationsHelper {\r\n return new TranslationsHelper(this.services.translation);\r\n }\r\n\r\n private _translateTimeSpan(timeSpan: TimeSpan): string {\r\n return timeSpan.totalMinutes < 60 ? this._translations.minutes(timeSpan.totalMinutes) : this._translations.hours(timeSpan.totalHours)\r\n }\r\n\r\n private _parseMaxDurations(): number[] {\r\n if(this.services.device.os.isMobileOS) {\r\n return parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.MaxDurationsInMinutesForMobile);\r\n } else {\r\n return parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.MaxDurationsInMinutesForPC);\r\n }\r\n }\r\n\r\n private _getDropDownItems(): DropDownItem[] {\r\n return this._parseMaxDurations().map(minutes => {\r\n const timeSpan = TimeSpan.fromMinutes(minutes);\r\n return {\r\n value: timeSpan.totalSeconds,\r\n text: this._translateTimeSpan(timeSpan)\r\n };\r\n });\r\n }\r\n private _onItemSelectedHandler = (value: NullableNumber): Promise => {\r\n return new Promise((resolve) => {\r\n\r\n const cancelSelection = () => {\r\n resolve({\r\n cancel: true\r\n });\r\n }\r\n\r\n const acceptSelection = () => {\r\n resolve({\r\n cancel: false\r\n });\r\n this.props.onItemSelected(value);\r\n }\r\n\r\n if(Check.isNullOrUndefined(value) || value !== Math.min(...this._parseMaxDurations())) {\r\n acceptSelection();\r\n } else {\r\n this.services.dialog.showSimpleTextModal({\r\n hideCloseButton: true,\r\n title: this.services.translation.translate('ATTENTION'),\r\n text: this.services.translation.translate('GAMBLING_SESSION_LIMIT_TIME_LOSS_CONFIRMATION_TEXT', {time: this._translateTimeSpan(TimeSpan.fromMinutes(value))})\r\n + '\\n\\n\\n'\r\n + this.services.translation.translate('GAMBLING_SESSION_LIMIT_TIME_LOSS_CONFIRMATION_QUESTION'),\r\n\r\n buttons: [\r\n {\r\n text: this.services.translation.translate('NO'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n cancelSelection();\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'no');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: this.services.translation.translate('YES'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n acceptSelection();\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'yes');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n ]\r\n })\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {TranslationsHelper} from \"../../../../services/translation/translations-helper\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface IntervalReminderDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n}\r\n\r\nexport const IntervalReminderDropDownComponent = observer(\r\n class IntervalReminderDropDownComponent extends OrbitComponent {\r\n\r\n private get _translations(): TranslationsHelper {\r\n return new TranslationsHelper(this.services.translation);\r\n }\r\n\r\n private _getReminderIntervals(): DropDownItem[] {\r\n const values = parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.IntervalReminderInMinutes)\r\n .map(minutes => TimeSpan.fromMinutes(minutes))\r\n return values.map(val => {\r\n return {\r\n value: val.totalSeconds,\r\n text: val.totalMinutes < 60 ? this._translations.minutes(val.totalMinutes) : this._translations.hours(val.totalHours)\r\n };\r\n });\r\n }\r\n\r\n private _onItemSelectedHandler = async (value: NullableNumber): Promise => {\r\n this.props.onItemSelected(value);\r\n return {\r\n cancel: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DropDownComponent, DropDownItem, IDropDownSelectionResult} from \"./drop-down.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {TranslationsHelper} from \"../../../../services/translation/translations-helper\";\r\nimport {parseCommaSeparatedNumbers} from \"../../../../../utils/string-helpers\";\r\nimport {Check, TimeSpan} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../../../services/dialog/dialog.service.interface\";\r\n\r\n\r\ninterface RestrictionPeriodsDropDownComponentProps {\r\n onItemSelected: (value: NullableNumber) => void;\r\n}\r\n\r\nexport const RestrictionPeriodsDropDownComponent = observer(\r\n class RestrictionPeriodsDropDownComponent extends OrbitComponent {\r\n\r\n private get _translations(): TranslationsHelper {\r\n return new TranslationsHelper(this.services.translation);\r\n }\r\n\r\n private _translateTimeSpan = (time: TimeSpan): string => {\r\n if(time.totalMinutes < 60) {\r\n return this._translations.minutes(time.totalMinutes);\r\n }\r\n\r\n if(time.totalHours < 24) {\r\n return this._translations.hours(time.totalHours);\r\n }\r\n\r\n if(time.totalDays === 7) {\r\n return this._translations.week();\r\n }\r\n\r\n if(time.totalDays === 30 || time.totalDays === 31) {\r\n return this._translations.month();\r\n }\r\n\r\n return this._translations.days(time.totalDays);\r\n }\r\n\r\n private _getReminderIntervals(): DropDownItem[] {\r\n const values = parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.RestrictionPeriodsInMinutes)\r\n .map(minutes => TimeSpan.fromMinutes(minutes))\r\n return values.map(val => {\r\n return {\r\n value: val.totalSeconds,\r\n text: this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESTRICTION_PERIOD_VALUE',{time: this._translateTimeSpan(val)})\r\n };\r\n });\r\n }\r\n\r\n private _onItemSelectedHandler = (value: NullableNumber): Promise => {\r\n return new Promise((resolve) => {\r\n\r\n const cancelSelection = () => {\r\n resolve({\r\n cancel: true,\r\n overrideValueOnCancel: null\r\n });\r\n this.props.onItemSelected(null);\r\n }\r\n\r\n const acceptSelection = () => {\r\n resolve({\r\n cancel: false\r\n });\r\n this.props.onItemSelected(value);\r\n }\r\n\r\n if(Check.isNullOrUndefined(value)) {\r\n acceptSelection();\r\n this.props.onItemSelected(value);\r\n } else {\r\n this.services.dialog.showSimpleTextModal({\r\n hideCloseButton: true,\r\n title: this.services.translation.translate('ATTENTION'),\r\n text: this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESTRICTION_BLOCK_CONFIRMATION_TEXT', {time: this._translateTimeSpan(TimeSpan.fromSeconds(value))})\r\n + '\\n\\n\\n'\r\n + this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESTRICTION_BLOCK_CONFIRMATION_QUESTION'),\r\n\r\n buttons: [\r\n {\r\n text: this.services.translation.translate('NO'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n cancelSelection();\r\n // TODO: SPAIN_DECREE - change analytics\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'no');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: this.services.translation.translate('YES'),\r\n buttonPreset: 'info',\r\n onClick: async () => {\r\n acceptSelection();\r\n // TODO: SPAIN_DECREE - change analytics\r\n this.services.analytics.sendAnalytics('spain_limit_window_minimal_time_message', 'yes');\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n\r\n ]\r\n })\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const FooterBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\n\r\nexport const DropDownsSeparatorBox = styled.div`\r\n width: 50px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n display: none;\r\n }\r\n`;\r\n","export const GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK = 'gambling-session-limits-responsible-gaming-link';","import styled from \"styled-components\";\r\nimport {GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK} from \"../css-constants\";\r\n\r\nexport const RegulatoryTextBox = styled.div`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n font-size: 1.3rem;\r\n white-space: pre-line;\r\n padding-top: 15px;\r\n \r\n \r\n > .${GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK} {\r\n color: ${props => props.theme.colors.brandPrimary};\r\n text-decoration-line: underline;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {GamblingSessionMessageBaseBox} from \"../../boxes/gambling-session-message.box\";\r\n\r\nexport const GamblingSessionMessageBox = styled(GamblingSessionMessageBaseBox)`\r\n max-width: 250px;\r\n margin: 0 auto;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {GamblingSessionMessageBaseBox} from \"../../boxes/gambling-session-message.box\";\r\n\r\nexport const GamblingSessionWarnMessageBox = styled(GamblingSessionMessageBaseBox)`\r\n color: ${({theme}) => theme.colors.buttonWarning};\r\n text-transform: uppercase;\r\n`","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {GamblingSessionLimitsBox} from \"./boxes/gambling-session-limits.box\";\r\nimport {IGamblingSessionLimitsSetup} from '../../../services/gambling-session/gambling-session-limits-setup.interface';\r\nimport {IModalDialogHandler} from '../../../services/dialog/dialog.service.interface';\r\nimport {DropDownsGroupBox} from \"./boxes/drop-downs-group.box\";\r\nimport {NullableNumber, NullableString} from '../../../../common/types/nullable-types';\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {Check, TimeSpan} from \"@sparkware/app-utils\";\r\nimport {LossLimitDropDownComponent} from \"./parts/loss-limit-drop-down.component\";\r\nimport {TimeLimitDropDownComponent} from \"./parts/time-limit-drop-down.component\";\r\nimport {IntervalReminderDropDownComponent} from \"./parts/interval-reminder-drop-down.component\";\r\nimport {RestrictionPeriodsDropDownComponent} from \"./parts/restriction-periods-drop-down.component\";\r\nimport {FooterBox} from \"./boxes/footer.box\";\r\nimport {Button} from '../../../basic-ui-components/button/base/button.component';\r\nimport {parseCommaSeparatedNumbers} from '../../../../utils/string-helpers';\r\nimport {DropDownsSeparatorBox} from \"./boxes/drop-downs-separator.box\";\r\nimport {RegulatoryTextBox} from \"./boxes/regulatory-text.box\";\r\nimport {GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK} from './css-constants';\r\nimport {GamblingSessionMessageBox} from './boxes/gambling-session-message.box';\r\nimport {GamblingSessionWarnMessageBox} from './boxes/gambling-session-warn-message.box';\r\nimport {DividerBox} from '../../../basic-ui-components/layout/divider/divider.box';\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\ninterface IGamblingSessionSetupProps {\r\n onSetLimits: (gameLimits: IGamblingSessionLimitsSetup) => void;\r\n dialogHandler: IModalDialogHandler;\r\n lastBetActivity?: NullableString;\r\n}\r\n\r\ninterface IGamblingSessionLimitsInternalData {\r\n lossLimitAmount: number;\r\n sessionDurationLimit: number;\r\n reminderInterval: number;\r\n restrictionPeriod?: number;\r\n}\r\n\r\ninterface IGamblingSessionSetupState {\r\n selectedLimits: Partial;\r\n isValidationEnabled: boolean;\r\n lossLimitsErrorMessage: NullableString;\r\n timeLimitsErrorMessage: NullableString;\r\n}\r\n\r\n\r\n\r\n@observer\r\nexport class GamblingSessionSetupComponent extends OrbitComponentWithState {\r\n\r\n constructor(props: IGamblingSessionSetupProps) {\r\n super(props);\r\n this.state = {\r\n selectedLimits: {},\r\n isValidationEnabled: false,\r\n lossLimitsErrorMessage: null,\r\n timeLimitsErrorMessage: null\r\n }\r\n }\r\n\r\n private _onAfterValidationEnabled = () => {\r\n\r\n if(!this._performValidation()) {\r\n return;\r\n }\r\n\r\n this.props.dialogHandler.close();\r\n\r\n let intervalReminder = this.state.selectedLimits.reminderInterval;\r\n if(Check.isNullOrUndefined(intervalReminder)) {\r\n intervalReminder = TimeSpan.fromMinutes(parseCommaSeparatedNumbers(this.services.configuration.servicesConfigs.Regulation.Spain.IntervalReminderInMinutes)[0]).totalSeconds;\r\n }\r\n\r\n this.props.onSetLimits({\r\n lossLimitAmount: this.state.selectedLimits.lossLimitAmount,\r\n sessionDurationLimit: TimeSpan.fromSeconds(this.state.selectedLimits.sessionDurationLimit),\r\n reminderInterval: TimeSpan.fromSeconds(intervalReminder),\r\n restrictionPeriod: TimeSpan.fromSeconds(this.state.selectedLimits.restrictionPeriod)\r\n });\r\n }\r\n\r\n private _onContinue = () => {\r\n\r\n this.setState({\r\n isValidationEnabled: true\r\n }, () => this._onAfterValidationEnabled());\r\n\r\n }\r\n\r\n private _performValidation(): boolean {\r\n if(!this.state.isValidationEnabled) {\r\n return true;\r\n }\r\n\r\n const errorMessages: Pick = {\r\n lossLimitsErrorMessage: null,\r\n timeLimitsErrorMessage: null\r\n };\r\n\r\n if(Check.isNullOrUndefined(this.state.selectedLimits.lossLimitAmount)) {\r\n errorMessages.lossLimitsErrorMessage = this.services.translation.translate('GAMBLING_SESSION_LOSS_LIMIT_REQUIRED_ERROR');\r\n }\r\n\r\n if(Check.isNullOrUndefined(this.state.selectedLimits.sessionDurationLimit)) {\r\n errorMessages.timeLimitsErrorMessage = this.services.translation.translate('GAMBLING_SESSION_TIME_LIMIT_REQUIRED_ERROR');\r\n }\r\n\r\n this.setState({\r\n ...this.state,\r\n ...errorMessages\r\n });\r\n\r\n return !Boolean(errorMessages.lossLimitsErrorMessage || errorMessages.timeLimitsErrorMessage);\r\n }\r\n\r\n private _onTimeLimitSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n sessionDurationLimit: value ? value : null\r\n }\r\n }, () => this._performValidation());\r\n\r\n\r\n }\r\n\r\n private _onGameLimitSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n lossLimitAmount: value\r\n }\r\n }, () => this._performValidation());\r\n }\r\n\r\n private _onIntervalReminderSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n reminderInterval: value ? value : null\r\n }\r\n });\r\n }\r\n\r\n private _onRestrictionPeriodSelected = (value: NullableNumber) => {\r\n this.setState({\r\n selectedLimits: {\r\n ...this.state.selectedLimits,\r\n restrictionPeriod: value ? value : null\r\n }\r\n });\r\n }\r\n\r\n private _getRegulatoryText() {\r\n const responsibleGamingLinkText = this.services.translation.translate('GAMBLING_SESSION_LIMIT_RESPONSIBLE_GAMING_LINK');\r\n return this.services.translation.translate('GAMBLING_SESSION_LIMIT_REGULATORY_TEXT', {\r\n responsibleGamblingLink: `${responsibleGamingLinkText}`\r\n });\r\n }\r\n\r\n private _captureRegulatoryTextElement = (element: HTMLElement) => {\r\n const linkElement = element?.querySelector(`.${GAMBLING_SESSION_LIMITS_RESPONSIBLE_GAMING_LINK}`);\r\n linkElement?.addEventListener('click', () => {\r\n this.services.linksNavigation.openResponsibleGaming();\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.services.translation.translate('GAMBLING_SESSION_MESSAGE')}\r\n \r\n \r\n {this.services.translation.translate('GAMBLING_SESSION_WARN_MESSAGE')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n { this.props.lastBetActivity &&\r\n {this.services.translation.translate('GAMBLING_SESSION_LAST_BET', {lastBetDate: this.props.lastBetActivity})}\r\n }\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const DropDownContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const ErrorMessageBox = styled.div<{visible: boolean}>`\r\n color: ${props => props.theme.colors.danger};\r\n visibility: ${props => props.visible ? 'visible' : 'hidden'};\r\n min-height: 17px;\r\n padding: 0 0 0 4px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DropDownLabelBox = styled.label`\r\n padding: 0 0 7px 0;\r\n`","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DropDownContainerBox} from \"../boxes/drop-down-container.box\";\r\nimport {ErrorMessageBox} from \"../boxes/error-message.box\";\r\nimport {DropDownLabelBox} from \"../boxes/drop-down-label.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {Select} from \"../../../../basic-ui-components/form/select.component\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\n\r\nexport interface DropDownItem {\r\n value: NullableNumber;\r\n text: string;\r\n}\r\n\r\nexport interface IDropDownSelectionResult {\r\n cancel: boolean;\r\n overrideValueOnCancel?: NullableNumber;\r\n}\r\n\r\ninterface SpainGameLimitDropDownComponentProps {\r\n label: string;\r\n items: DropDownItem[];\r\n nullItemText?: string;\r\n onItemSelected: (value: NullableNumber) => Promise;\r\n errorMessage?: string;\r\n className?: string;\r\n}\r\n\r\ninterface SpainGameLimitDropDownComponentState {\r\n selectedOption: NullableNumber;\r\n}\r\n\r\n@observer\r\nexport class DropDownComponent extends OrbitComponentWithState {\r\n constructor(props: SpainGameLimitDropDownComponentProps) {\r\n super(props);\r\n this.state = {\r\n selectedOption: null\r\n };\r\n }\r\n\r\n private _onChange = async (eventData: any) => {\r\n let value: NullableNumber = null;\r\n if(eventData.target.value !== \"0\") {\r\n value = parseInt(eventData.target.value);\r\n }\r\n\r\n const selectionResult = await this.props.onItemSelected(value);\r\n if(selectionResult.cancel) {\r\n if(Check.isUndefined(selectionResult.overrideValueOnCancel)) {\r\n this.setState({\r\n selectedOption: this.state.selectedOption\r\n });\r\n } else {\r\n this.setState({\r\n selectedOption: selectionResult.overrideValueOnCancel\r\n });\r\n }\r\n\r\n } else {\r\n this.setState({\r\n selectedOption: value\r\n });\r\n }\r\n }\r\n\r\n private _renderErrorMessage = () => {\r\n return (\r\n \r\n {this.props.errorMessage}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n\r\n const items: DropDownItem[] = [...this.props.items];\r\n\r\n if(this.props.nullItemText) {\r\n items.splice(0, 0, {\r\n value: 0,\r\n text: this.props.nullItemText\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.props.label}\r\n \r\n \r\n {this._renderErrorMessage()}\r\n \r\n )\r\n }\r\n}","import styled, { 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\nimport {HEADER_Z_INDEX} from \"../../header-consts\";\r\n\r\nexport const HeaderNavbarMobileBaseDefaultBox = styled.div`\r\n z-index: ${HEADER_Z_INDEX};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseSiBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseMrGreenBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/casino888/cis/base-colors\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseCisBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n background-color: ${baseColors.black};\r\n color: #cccccc;\r\n`;","import { HeaderNavbarMobileBaseDefaultBox } from \"./header-navbar-mobile-base.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HeaderNavbarMobileBaseSiBox } from \"./header-navbar-mobile-base.si.box\";\r\nimport {HeaderNavbarMobileBaseMrGreenBox} from \"./header-navbar-mobile-base.mrgreen.box\";\r\nimport { HeaderNavbarMobileBaseCisBox } from \"./header-navbar-mobile-base.cis.box\";\r\n\r\nexport const HeaderNavbarMobileBaseBox = styledByTheme(HeaderNavbarMobileBaseDefaultBox)\r\n .forSI(HeaderNavbarMobileBaseSiBox)\r\n .forSICis(HeaderNavbarMobileBaseCisBox)\r\n .forCis(HeaderNavbarMobileBaseCisBox)\r\n .forCip(HeaderNavbarMobileBaseCisBox)\r\n .forMrGreen(HeaderNavbarMobileBaseMrGreenBox)\r\n .apply();\r\n","export const HEADER_Z_INDEX = 105;","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseBox} from \"../../../boxes/header-navbar-mobile-base/header-navbar-mobile-base.box\";\r\nimport {HEADER_Z_INDEX} from \"../../../header-consts\";\r\n\r\nexport const RegulatoryDataDefaultBox = styled(HeaderNavbarMobileBaseBox)`\r\n display: flex;\r\n align-items: center;\r\n position: sticky;\r\n top: 0;\r\n z-index: ${HEADER_Z_INDEX + 1};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: column;\r\n width: 100%;\r\n padding: calc(env(safe-area-inset-top) + 0.5rem) 1.5rem 0.5rem 1.5rem;\r\n }\r\n\r\n .cgp-dk & {\r\n flex-direction: column;\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\n\r\nexport const RegulatoryDataMrGreenBox = styled(RegulatoryDataDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\nimport {RegulatoryDataMrGreenBox} from \"./regulatory-data.mrgreen.box\";\r\n\r\nexport const RegulatoryDataBox = styledByTheme(RegulatoryDataDefaultBox)\r\n .forMrGreen(RegulatoryDataMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin: auto 0;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n font-size: 0.9rem;\r\n line-height: 1.2;\r\n\r\n a {\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n max-width: 40%;\r\n text-align: left;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n max-width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n max-width: 100%;\r\n padding: 0.25rem 0;\r\n font-size: 1rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const GamblingWarningDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GamblingWarningDefaultBox} from \"./gambling-warning.default.box\";\r\n\r\nexport const GamblingWarningBox = GamblingWarningDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from '../../raw-components/link/link';\r\nimport {GamblingWarningBox} from \"./boxes/gambling-warning.box\";\r\n\r\nexport const GamblingWarningComponent = observer(class GamblingWarningComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n let gamblingMessageConfig = this.services.configuration.data.header.gambling_message;\r\n if(!gamblingMessageConfig || !gamblingMessageConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part1')}\r\n \r\n {'Probabilità di vincita'}\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part2')}\r\n \r\n {'maggiori informazioni.'}\r\n \r\n \r\n );\r\n\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n align-items: center;\r\n`;\r\n\r\nconst Mobilebox = styled(DefaultBox)`\r\n width: 100%;\r\n padding: 0.5rem 0 0 0;\r\n justify-content: center;\r\n\r\n .cgp-dk & {\r\n //justify-content: flex-start;\r\n }\r\n`;\r\n\r\nexport const ResponsibleGamingIconsDefaultBox = styledByDevice(PcBox, Mobilebox);\r\n","import {ResponsibleGamingIconsDefaultBox} from \"./responsible-gaming-icons.default.box\";\r\n\r\nexport const ResponsibleGamingIconsBox = ResponsibleGamingIconsDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {ResponsibleIconsAgeButtonConfiguration} from '../../../services/configurations/config-data-sections/header.configuration';\r\nimport {ResponsibleGamingIconsBox} from \"./boxes/responsible-gaming-icons.box\";\r\n\r\nexport const ResponsibleIconsComponent = observer(class ResponsibleIconsComponent extends OrbitComponent {\r\n\r\n private _renderAgeButton(ageButtonConfig: ResponsibleIconsAgeButtonConfiguration) {\r\n if(ageButtonConfig && ageButtonConfig.display) {\r\n return this.services.regulation.current.components.renderHeaderMinimumGamblingAge();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderResponsibleIcons() {\r\n return this.services.regulation.current.components.renderHeaderRegulationIcons();\r\n }\r\n\r\n render() {\r\n let responsibleIconsConfig = this.services.configuration.data.header.responsibleIcons;\r\n if(!responsibleIconsConfig || !responsibleIconsConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderAgeButton(responsibleIconsConfig.ageButton)}\r\n {this._renderResponsibleIcons()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {RegulatoryDataBox} from \"../../top-header-left/regulatory-data/boxes/regulatory-data.box\";\r\nimport {HeaderConfiguration} from '../../../../services/configurations/config-data-sections/header.configuration';\r\nimport {GamblingWarningComponent} from '../../gambling-warning/gambling-warning.component';\r\nimport {ResponsibleIconsComponent} from '../../responsible-icons/responsible-icons.component';\r\nimport {ClockAndLastLoginBoxComponent} from '../../../clock-and-last-login-box/clock-and-last-login-box.component';\r\nimport {observer} from \"mobx-react\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface RegulatoryDataComponentProps {\r\n attachToHeaderService: boolean;\r\n className?: string;\r\n}\r\n\r\n@observer\r\nexport class RegulatoryDataComponent extends OrbitComponent {\r\n\r\n private get _headerConfig(): HeaderConfiguration {\r\n return this.services.configuration.data.header;\r\n }\r\n\r\n private _captureHeaderUpperRef = (element: HTMLElement | null) => {\r\n if (this.props.attachToHeaderService) {\r\n this.services.header.setHeaderRegulationDataElement(element);\r\n }\r\n };\r\n\r\n private _renderMobileLastLogin() {\r\n if (this.services.device.isMobile) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getRegulatoryContent() {\r\n if (this.services.miniOrbit.isCis) {\r\n return null;\r\n }\r\n\r\n\r\n let gamblingMessageConfig = this._headerConfig.gambling_message;\r\n let responsibleIconsConfig = this._headerConfig.responsibleIcons;\r\n\r\n if (responsibleIconsConfig && responsibleIconsConfig.display) {\r\n return ;\r\n } else if (gamblingMessageConfig && gamblingMessageConfig.display) {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderMobileLastLogin()}\r\n {this._getRegulatoryContent()}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const MobileContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n min-width: 80px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const UserIconBox = styled.div`\r\n width: 20px;\r\n height: 20px;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-image: url(\"${props => props.theme.images.user.welcomePostLoginMobile.toString()}\");\r\n color: ${props => props.theme.colors.brandSecondary};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const UserBankrollBox = styled.div`\r\n font-size: 1.3rem;\r\n color: ${props => props.theme.colors.moneyColor};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const FreePlayDotIndicatorDefaultBox = styled.div`\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n right: 20px;\r\n top: 10px;\r\n background-color: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n`","import styled from \"styled-components\";\r\nimport {FreePlayDotIndicatorDefaultBox} from \"./free-play-dot-indicator.default\";\r\n\r\nexport const FreePlayDotIndicatorSIBox = styled(FreePlayDotIndicatorDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.buttonDark};\r\n }\r\n`","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {FreePlayDotIndicatorDefaultBox} from \"./free-play-dot-indicator.default\";\r\nimport {FreePlayDotIndicatorSIBox} from \"./free-play-dot-indicator.si.box\";\r\n\r\nexport const FreePlayDotIndicatorBox = styledByTheme(FreePlayDotIndicatorDefaultBox)\r\n .forSI(FreePlayDotIndicatorSIBox)\r\n .apply();","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MobileContainerBox} from \"../boxes/mobile-container/mobile-container.box\";\r\nimport {UserIconBox} from \"../boxes/icon/user-icon.box\";\r\nimport {UserBankrollBox} from \"../boxes/bankroll/user-bankroll.box\";\r\nimport React from \"react\";\r\nimport {FreePlayDotIndicatorBox} from \"../boxes/free-play-dot-indicator/free-play-dot-indicator.box\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {\r\n TOOLTIP_TARGET_HEADER_BANKROLL_BUTTON_MOBILE\r\n} from \"../../../../../services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent extends OrbitComponent {\r\n private _onClick = () => {\r\n this.services.userMenu.openMenu();\r\n };\r\n\r\n private _renderFreePlayIndicator = () => {\r\n if(!this.services.freePlay.hasVouchers) {\r\n return null;\r\n }\r\n return (\r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderFreePlayIndicator()}\r\n \r\n {this.services.currency.formatMoney(this.services.walletProxy.totalBankroll)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {ButtonSizeVariant} from \"../../../basic-ui-components/button/base/button-props.interface\";\r\nimport {IServiceFactory} from \"../../../services/service-factory.interface\";\r\nimport React from \"react\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\nexport function getButtonSizeVariant(services: IServiceFactory): ButtonSizeVariant {\r\n if(services.mediaQuery.lAndBelow) {\r\n return \"xs\";\r\n } else {\r\n return \"m\";\r\n }\r\n}\r\n\r\nexport function getButtonsSeparator(services: IServiceFactory): React.ReactElement {\r\n return ()\r\n}","import styled from \"styled-components\";\r\n\r\nexport const AnonymousButtonsContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {AnonymousButtonsContainerDefaultBox} from \"./anonymous-buttons-container.default.box\";\r\n\r\nexport const AnonymousButtonsContainerHarrahsBox = styled(AnonymousButtonsContainerDefaultBox)`\r\n flex-direction: row-reverse;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {AnonymousButtonsContainerDefaultBox} from \"./anonymous-buttons-container.default.box\";\r\nimport {AnonymousButtonsContainerHarrahsBox} from \"./anonymous-buttons-container.harrahs.box\";\r\n\r\nexport const AnonymousButtonsContainerBox = styledByTheme(AnonymousButtonsContainerDefaultBox)\r\n .forHarrahs(AnonymousButtonsContainerHarrahsBox)\r\n .apply();\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {AnonymousButtonsContainerBox} from \"./boxes/buttons-container/anonymous-buttons-container.box\";\r\nimport React from \"react\";\r\nimport {getButtonsSeparator} from \"../header-welcome-buttons-helpers\";\r\nimport {\r\n IGameContextViewModel\r\n} from \"../../../../services/game-runner/interfaces/game-context/game-context-view-model.interface\";\r\n\r\ninterface HeaderWelcomeButtonsForAnonymousUserComponentProps {\r\n gameContext?: IGameContextViewModel;\r\n}\r\n\r\nexport const HeaderWelcomeButtonsForAnonymousUserComponent = observer(\r\n class HeaderWelcomeButtonsForAnonymousUserComponent extends OrbitComponent {\r\n\r\n render() {\r\n const separator = getButtonsSeparator(this.services);\r\n return (\r\n \r\n {separator}\r\n {this.services.regulation.current.components.renderHeaderRegisterButton({gameContext: this.props.gameContext})}\r\n {separator}\r\n {this.services.regulation.current.components.renderHeaderLoginButton({gameContext: this.props.gameContext})}\r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const PCContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {getButtonSizeVariant} from \"../../welcome-buttons/header-welcome-buttons-helpers\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType, CashierSessionType} from \"@sparkware/uc-sdk-core\";\r\n\r\n\r\nexport const HeaderCashierButtonComponent = observer(class HeaderCashierButtonComponent extends OrbitComponent {\r\n private _onCashierClick = async () => {\r\n await this.services.cashier.openCashier({\r\n sessionType: CashierSessionType.FullCashier,\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.Header,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n }\r\n render() {\r\n return (\r\n \r\n {this.services.translation.translate('CASHIER')}\r\n \r\n )\r\n }\r\n});","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {PCContainerBox} from \"../boxes/pc-container/pc-container.box\";\r\nimport {getButtonsSeparator} from \"../../header-welcome-buttons-helpers\";\r\nimport {HeaderCashierButtonComponent} from \"../../../buttons/cashier-button/header-cashier-button.component\";\r\nimport React from \"react\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserPcViewComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserPcViewComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n {getButtonsSeparator(this.services)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent} from \"./mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserPcViewComponent} from \"./pc-view/header-welcome-buttons-for-authorized-user-pc-view.component\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserComponent extends OrbitComponent {\r\n render() {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const HeaderWelcomeButtonsBox = styled.div`\r\n \r\n`","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {HeaderWelcomeButtonsForAnonymousUserComponent} from \"./anonymous-user/header-welcome-buttons-for-anonymous-user.component\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserComponent} from \"./authorized-user/header-welcome-buttons-for-authorized-user.component\";\r\nimport {\r\n IGameContextViewModel\r\n} from \"../../../services/game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {HeaderWelcomeButtonsBox} from \"./boxes/header-welcome-buttons.box\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\ninterface HeaderWelcomeButtonsComponentProps {\r\n gameContext?: IGameContextViewModel;\r\n}\r\nexport const HeaderWelcomeButtonsComponent = observer(\r\n class HeaderWelcomeButtonsComponent extends OrbitComponent {\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this.services.user.isAuthorized\r\n ? ()\r\n : ()\r\n }\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport React from \"react\";\r\nimport {INSIDE_ORBIT_MENU_CONTAINER} from \"./inside-orbit-menu-container.consts\";\r\nimport {isInsideAutomation} from '../../../utils/automation-helpers';\r\n\r\n\r\nexport class InsideOrbitMenuContainerComponent extends OrbitComponent<{}> {\r\n render() {\r\n if(isInsideAutomation()) {\r\n return null;\r\n }\r\n return
\r\n }\r\n}","export const INSIDE_ORBIT_MENU_CONTAINER = 'inside-orbit-menu-container';","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const LinkToOfferBoxBase = styled.div<{shouldAnimate: boolean, hasCircle: boolean, isHybridEmbedded: boolean, isBottomNavBarEnabled?: boolean}>`\r\n background-size: contain;\r\n height: 50px;\r\n width: 50px;\r\n position: fixed;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 100px)' : (props.isBottomNavBarEnabled ? '80px' : '50px')};\r\n right: 55px;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n z-index: 3;\r\n ${CssRule.For.mobile.build()} & {\r\n right: 40px;\r\n }\r\n ${props => props.hasCircle? css`\r\n background-repeat: no-repeat;\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n border-radius: 50%;\r\n ` : '' }\r\n`;","import styled, {css, keyframes, DefaultTheme} from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\n\r\nconst linkToOfferIconKeyframes = (props: {theme: DefaultTheme}) => keyframes`\r\n 0% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0.5)};\r\n }\r\n 60% {\r\n transform: scale(1);\r\n }\r\n 80% {\r\n transform: scale(1);\r\n box-shadow: 0 0 0 35px ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n 100% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n`;\r\n\r\nexport const LinkToOfferIconDefaultBox = styled(LinkToOfferBoxBase)`\r\n ${props => props.shouldAnimate ? css`animation: ${linkToOfferIconKeyframes} 1.2s infinite` : ''};\r\n /* temporary solution for disabling button on mobile landscape - remove once banners will support landscape mode for phones */\r\n ${CssRule.For.mobile.landscape.not.tablet.build()} & {\r\n visibility: hidden;\r\n }\r\n`;\r\n","import {LinkToOfferIconDefaultBox} from \"./link-to-offer-icon.default.box\";\r\n\r\nexport const LinkToOfferIconBox = LinkToOfferIconDefaultBox;\r\n","import {LinkToOfferDialogCloseDefaultBox} from \"./link-to-offer-dialog-close.default.box\";\r\n\r\nexport const LinkToOfferDialogCloseBox = LinkToOfferDialogCloseDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\n\r\nexport const LinkToOfferDialogCloseDefaultBox = styled(LinkToOfferBoxBase)<{zIndex?: number}>`\r\n z-index: ${props => props.zIndex ?? 201};\r\n`;\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LinkToOfferIconBox} from \"./boxes/link-to-offer-icon/link-to-offer-icon.box\";\r\nimport {LinkToOfferDialogCloseBox} from \"./boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box\";\r\nimport {LinkToOfferConfiguration} from \"../../services/configurations/config-data-sections/link-to-offer.configuration\";\r\nimport { IOffer } from '../../services/player-offerings/player-offerings.service';\r\nimport { IShowOfferOptions } from '../../services/player-offerings/player-offerings.service.interface';\r\n\r\nexport interface LinkToOfferComponentProps {\r\n linkToOfferConfig: LinkToOfferConfiguration;\r\n}\r\n\r\n\r\nexport const LinkToOfferComponent = observer(\r\n class LinkToOfferComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.playerOfferings.setWelcomeOfferConfig(this.props.linkToOfferConfig?.welcomeBonus ?? null);\r\n }\r\n\r\n render() {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n let CloseIconComponent = this.services.theme.currentTheme.icons.linkToOfferCloseIcon;\r\n\r\n return (\r\n {this._onCloseDialog()}}\r\n shouldAnimate={false}\r\n hasCircle={true}\r\n zIndex={this.services.playerOfferings.isHighPriorityOffer ? this.services.dialog.getMaxCGPOverlayZIndex() + 2: null}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n const currentOffer = this.services.playerOfferings.currentLinkToOffer;\r\n if(!currentOffer) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this._onLinkToOfferClicked(currentOffer)}}\r\n shouldAnimate={currentOffer.shouldUseLinkToOfferAnimation()}\r\n hasCircle={currentOffer.shouldUseLinkToOfferAnimation()}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n isBottomNavBarEnabled={this.services.abTestingFeatureDataProvider.isWebappBottomNavigationEnabled}\r\n >\r\n { currentOffer.render() }\r\n \r\n );\r\n }\r\n\r\n\r\n private _onLinkToOfferClicked(offer: IOffer): void {\r\n\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Open_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n\r\n const options: IShowOfferOptions = {\r\n onPopupClosed: () => {\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Close_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n }\r\n };\r\n this.services.playerOfferings.showOfferPopup(offer, options);\r\n }\r\n\r\n private _onCloseDialog = () => {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n this.services.playerOfferings.closeCurrentPopup();\r\n }\r\n };\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleDefaultBox = styled.h1`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n width: 100%;\r\n ${({theme}) => theme.font.presets.secondary};\r\n color: ${props => props.theme.colors.textLight};\r\n font-size: 3rem;\r\n margin: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleSIBox = styled(LobbyHeaderTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.6rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleMrGreenBox = styled(LobbyHeaderTitleDefaultBox)`\r\n font-size: 2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleCasino777Box = styled(LobbyHeaderTitleDefaultBox)`\r\n font-size: 2.2rem;\r\n color: ${({theme}) => theme.colors.moneyColor};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleCasino888WsopBox = styled(LobbyHeaderTitleDefaultBox)`\r\n font-family: ${({theme}) => theme.font.family.primary};\r\n ${({theme}) => theme.font.presets.bold}\r\n font-size: 2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\nimport {LobbyHeaderTitleSIBox} from \"./lobby-header-title.si.box\";\r\nimport {LobbyHeaderTitleMrGreenBox} from \"./lobby-header-title.mrgreen.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderTitleCasino777Box} from \"./lobby-header-title.casino777.box\";\r\nimport {LobbyHeaderTitleCasino888WsopBox} from \"./lobby-header-title.casino888Wsop.box\";\r\n\r\nexport const LobbyHeaderTitleBox = styledByTheme(LobbyHeaderTitleDefaultBox)\r\n .forCasino888(LobbyHeaderTitleCasino888WsopBox)\r\n .forWsop(LobbyHeaderTitleCasino888WsopBox)\r\n .forCasino777(LobbyHeaderTitleCasino777Box)\r\n .forSI(LobbyHeaderTitleSIBox)\r\n .forMrGreen(LobbyHeaderTitleMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE_WRAPPER} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderTitleContainerBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n min-height: 4rem;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 1rem;\r\n padding-right: 1rem;\r\n margin-bottom: 1rem;\r\n }\r\n\r\n .${LIVE_CASINO_PAGE_WRAPPER} & {\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-bottom: 0;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../themes/css-global-classes\";\r\nimport {HEADER_Z_INDEX} from \"../../header/header-consts\";\r\n\r\nexport const LobbyHeaderDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background-color: ${props => props.theme.colors.background};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1)+ \"px\"};\r\n z-index: ${HEADER_Z_INDEX - 1};\r\n\r\n padding-top: 1.4rem;\r\n padding-bottom: 1.4rem;\r\n margin-bottom: 10px;\r\n transition: background-color 0.2s linear;\r\n\r\n &.${STICKY} {\r\n background-color: ${props => Color.fromHex(props.theme.colors.backgroundDark, 0.85).hexa()};\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${props => Color.fromHex(props.theme.colors.backgroundDark, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\r\n }\r\n }\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1rem;\r\n padding-bottom: 0;\r\n margin-bottom: 0;\r\n &.${STICKY}{\r\n width:100%;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {baseColors} from \"../../../themes/definitions/si/base-colors\";\r\n\r\nexport const LobbyHeaderSiBox = styled(LobbyHeaderDefaultBox)`\r\n &.${STICKY} {\r\n background-color: ${Color.fromHex(baseColors.gray023, 0.85).hexa()};\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${Color.fromHex(baseColors.gray023, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {baseColors} from \"../../../themes/definitions/mrgreen/base-colors\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderMrGreenBox = styled(LobbyHeaderDefaultBox)`\r\n background-color: ${baseColors.gray033};\r\n &.${STICKY} {\r\n background-color: ${Color.fromHex(baseColors.gray033, 0.85).hexa()};\r\n @supports (backdrop-filter: blur(6px)) {\r\n background-color: ${Color.fromHex(baseColors.black, 0.5).hexa()};\r\n backdrop-filter: blur(10px);\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nexport const LobbyHeaderWsopBox = styled(LobbyHeaderDefaultBox)`\r\n background-color: #00000099;\r\n`","import {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderSiBox} from \"./lobby-header.si.box\";\r\nimport {LobbyHeaderMrGreenBox} from \"./lobby-header.mrgreen.box\";\r\nimport {LobbyHeaderWsopBox} from \"./lobby-header.wsop.box\";\r\n\r\nexport const LobbyHeaderBox = styledByTheme(LobbyHeaderDefaultBox)\r\n .forSI(LobbyHeaderSiBox)\r\n .forMrGreen(LobbyHeaderMrGreenBox)\r\n .forWsop(LobbyHeaderWsopBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, LOBBY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderLineDefaultBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n display:none;\r\n }\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, ${props => props.theme.colors.brandPrimary}, ${props => props.theme.colors.brandSecondary});\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 97%;\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLighter};\r\n\r\n .${STICKY} &{\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderLineCasino777Box = styled.div`\r\n display: none;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\n// i don't want any divider for MrGreen so i just put an empty div\r\nexport const LobbyHeaderLineMrGreenBox = styled.div`\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {STICKY} from \"../../../../themes/css-global-classes\";\r\nimport {LobbyHeaderLineDefaultBox} from \"./lobby-header-line.default.box\";\r\n\r\nexport const LobbyHeaderLineCasino888WsopBox = styled(LobbyHeaderLineDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n \r\n /** Duplicated these rules for specificity. otherwise the ones from the base class will apply. */\r\n .${STICKY} &{\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\n// i don't want any divider for SI so i just put an empty div\r\nexport const LobbyHeaderLineSIBox = styled.div`\r\n`;\r\n","import {LobbyHeaderLineDefaultBox} from \"./lobby-header-line.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderLineCasino777Box} from \"./lobby-header-line.casino777.box\";\r\nimport {LobbyHeaderLineMrGreenBox} from \"./lobby-header-line.mrgreen.box\";\r\nimport {LobbyHeaderLineCasino888WsopBox} from \"./lobby-header-line.casino888Wsop.box\";\r\nimport {LobbyHeaderLineSIBox} from \"./lobby-header-line.si.box\";\r\n\r\nexport const LobbyHeaderLineBox = styledByTheme(LobbyHeaderLineDefaultBox)\r\n .forCasino888(LobbyHeaderLineCasino888WsopBox)\r\n .forWsop(LobbyHeaderLineCasino888WsopBox)\r\n .forCasino777(LobbyHeaderLineCasino777Box)\r\n .forMrGreen(LobbyHeaderLineMrGreenBox)\r\n .forSI(LobbyHeaderLineSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n self-justify: flex-end;\r\n`;\r\n\r\nexport const LobbyHeaderButtonsContainerBox = DefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderButtonDefaultBox = styled.div`\r\n padding: 4px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 4rem;\r\n height: 4rem;\r\n border: 2px solid ${props => props.theme.colors.textContrast}80;\r\n color: ${props => props.theme.colors.textContrast};\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderButtonDefaultBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderButtonCasino777Box = styled(LobbyHeaderButtonDefaultBox)`\r\n border: 2px solid ${props => props.theme.colors.moneyColor}80;\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.moneyColor};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderButtonDefaultBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderButtonMrGreenBox = styled(LobbyHeaderButtonDefaultBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;\r\n","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderButtonDefaultBox} from \"./lobby-header-button.default.box\";\r\nimport {LobbyHeaderButtonCasino777Box} from \"./lobby-header-button.casino777.box\";\r\nimport {LobbyHeaderButtonMrGreenBox} from \"./lobby-header-button.mrgreen.box\";\r\n\r\nexport const LobbyHeaderButtonsBox = styledByTheme(LobbyHeaderButtonDefaultBox)\r\n .forCasino777(LobbyHeaderButtonCasino777Box)\r\n .forMrGreen(LobbyHeaderButtonMrGreenBox).apply();","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../sticky-handler/sticky-handler.interface';\r\nimport {LobbyHeaderBox} from \"./boxes/lobby-header.box\";\r\nimport {LobbyHeaderTitleBox} from \"./boxes/title/lobby-header-title.box\";\r\nimport {LobbyHeaderLineBox} from \"./boxes/line/lobby-header-line.box\";\r\nimport classNames from 'classnames';\r\nimport {STICKY} from \"../../themes/css-global-classes\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {LobbyHeaderButtonsContainerBox} from \"./boxes/buttons/lobby-header-buttons-container.box\";\r\nimport {LobbyHeaderButtonsBox} from \"./boxes/buttons/lobby-header-button.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport { LobbyHeaderTitleContainerBox } from './boxes/title/lobby-header-title.container.box';\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {\r\n IFilterIndicatorRenderingOptions,\r\n FilterIndicatorRenderingLocation\r\n} from \"../../services/games-filter/games-filter.service.interface\";\r\n\r\nexport interface LobbyHeaderComponentProps extends PropsWithChildren{\r\n stickyHandler: IStickyHandler;\r\n title: string;\r\n showSearchIcon: boolean;\r\n arenaFiltersRenderingOptions?: Nullable;\r\n}\r\n\r\nexport const LobbyHeaderComponent = observer(\r\n class LobbyHeaderComponent extends OrbitComponent {\r\n\r\n private handleSearchClick = () => {\r\n this.services.gameSearch.openSearchResult();\r\n }\r\n\r\n private _renderFiltersIndicatorUnderTheTitle() {\r\n const renderingOptions = this.services.gamesFilter.renderFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== FilterIndicatorRenderingLocation.BelowArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n private _renderFiltersIndicatorNextToTheTitle() {\r\n const renderingOptions = this.services.gamesFilter.renderFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== FilterIndicatorRenderingLocation.NextToArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n private _onCaptureElement = (el: HTMLElement | null) => {\r\n this.props.stickyHandler.updateElement(el);\r\n }\r\n\r\n render() {\r\n\r\n const isMobile = this.services.device.isMobile;\r\n const lobbyHeaderClasses = classNames('cy-lobby-header', {\r\n [STICKY]: this.props.stickyHandler.isSticky\r\n });\r\n\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n //console.log('HeaderHeight: ' + this.services.header.headerHeight);\r\n return (\r\n \r\n \r\n {this.props.title &&\r\n \r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n {this._renderFiltersIndicatorNextToTheTitle()}\r\n \r\n { isMobile &&\r\n \r\n {\r\n this.props.showSearchIcon &&\r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n {this.services.gamesFilter.renderMobileFiltersIndicator()}\r\n
\r\n }\r\n
\r\n }\r\n {this._renderFiltersIndicatorUnderTheTitle()}\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import { Props as IDotLottiePlayerProps } from '@dotlottie/react-player';\r\nimport React from 'react';\r\nimport { OrbitSuspense } from '../base-components/orbit-suspense/orbit-suspense';\r\n\r\nconst Player = React.lazy(\r\n () => import('@dotlottie/react-player').then(({ DotLottiePlayer }) => ({ default: DotLottiePlayer }))\r\n);\r\n\r\nexport const DotLottiePlayer = React.forwardRef((props: IDotLottiePlayerProps, ref: any) => {\r\n return \r\n \r\n ;\r\n});\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const LoyaltyBarWrapperComponent = observer(class LoyaltyBarWrapperComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.loyaltyIndicator.init();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n});","import styled, { css } from 'styled-components';\r\n\r\nexport const dialogTextMixin = css`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const dialogHighlightedTextMixin = css`\r\n color: ${props => props.theme.colors.brandPrimary};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const DialogTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogBoldTextBox = styled(DialogTextBox)`\r\n font-weight: bold;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogHighlightedTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogHighlightedTextMixin}\r\n`;\r\n\r\nexport const ListDialogTextBox = styled.div`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n margin-top: 4rem;\r\n font-size: 1.5rem;\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogDimmedTextBox = styled.div` \r\n margin-top: 2rem;\r\n font-size: 1.4rem;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n `;","import styled from 'styled-components';\r\nimport {flexColumnContainerMixin, flexRowReverseContainerMixin} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonsWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean; margin?: string}>`\r\n width: 100%;\r\n margin: ${({margin}) => margin ? margin : \"5rem auto 0\" };\r\n ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? flexColumnContainerMixin : flexRowReverseContainerMixin }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {flexGrowItem, flexFixedSizeItem} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonWrapperBox = styled.div<{buttonsOnSeparateLines?: boolean; flexBasis?: string;}>`\r\n ${flexGrowItem}\r\n width: ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? \"100%\" : \"40%\" };\r\n`;\r\n\r\nexport const ButtonSpacerDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n width: 1rem;\r\n height: 1.5rem;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkActionBox = styled.button`\r\n margin: 0 auto;\r\n\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background: transparent;\r\n padding: 5px 0px 0px;\r\n border: 0;\r\n border-radius: 0;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n text-decoration: underline;\r\n cursor: pointer;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkWrapperDefaultBox = styled.div`\r\n width: 100%;\r\n margin-top: 3rem;\r\n text-align: center;\r\n`;\r\n","import React from 'react';\r\nimport { Button } from '../../basic-ui-components/button/base/button.component';\r\nimport {ButtonsWrapperDefaultBox} from './boxes/actions/buttons-wrapper.box';\r\nimport {ButtonWrapperBox, ButtonSpacerDefaultBox} from './boxes/actions/button-wrapper.box';\r\nimport {LinkActionBox} from './boxes/actions/link-action.box';\r\nimport {LinkWrapperDefaultBox} from './boxes/actions/link-wrapper.box';\r\nimport classNames from \"classnames\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\n\r\nexport interface IModalDialogActionProps {\r\n text: string;\r\n onClick(): void;\r\n className?: string;\r\n disabled?:boolean;\r\n}\r\nexport interface IModalDialogButtonsComponentProps {\r\n buttonsOnSeparateLines?: boolean;\r\n primaryAction: IModalDialogActionProps;\r\n secondaryAction?: IModalDialogActionProps & {useWarningPreset?: boolean};\r\n linkAction?: IModalDialogActionProps;\r\n className?: string;\r\n margin?: string;\r\n}\r\n\r\nexport class ModalDialogActionsComponent extends React.Component {\r\n render() {\r\n return <>\r\n \r\n \r\n \r\n {this.props.primaryAction.text}\r\n \r\n \r\n {this.props.secondaryAction ? <>\r\n \r\n {this.props.secondaryAction.text}\r\n \r\n : null}\r\n \r\n {this.props.linkAction ? \r\n {this.props.linkAction.text}\r\n : null}\r\n ;\r\n }\r\n}\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IAspectRatioBoxProps {\r\n expectedWidth: number;\r\n expectedHeight: number;\r\n}\r\n\r\nconst AspectRatioBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-top: calc(${({expectedWidth, expectedHeight}) => `${expectedHeight} / ${expectedWidth} * 100%`});\r\n`;\r\n\r\ninterface IAspectRatioContentBoxProps {\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nconst AspectRatioContentBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 0;\r\n\r\n ${(props) => props.useBGColorDuringLoadAnimation && props.isLoading && `background-color: ${props.theme.colors.backgroundDark}`};\r\n\r\n animation: ${({isLoading}) => isLoading ? \"LoadingAnimation 1.5s linear 3 forwards\" : \"RevealAnimation 0.5s ease-out forwards\"};\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 1\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n @keyframes RevealAnimation {\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\ninterface IAspectRatioContainerComponentProp extends PropsWithChildren {\r\n width: number;\r\n height: number;\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nexport class AspectRatioContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {TapHandler} from '../../tap-handler/tap-handler.component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport styled from 'styled-components';\r\n\r\ninterface LinkProps extends PropsWithChildren {\r\n box?: AnyStyledComponent;\r\n id?: string;\r\n onClick?: (event?: any) => void;\r\n className?: string;\r\n href?: string;\r\n enableTap?: boolean;\r\n preventDefaultOnClick?: boolean\r\n target?: string;\r\n itemProp?: string;\r\n customProps?: {[key: string]: any};\r\n}\r\n\r\nconst DefaultBox = styled.a`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nexport class Link extends OrbitComponent {\r\n\r\n private _onClick = (event) => {\r\n\r\n if (this.services.miniOrbit.isEnabled && this.props.target === \"_blank\") {\r\n event.preventDefault();\r\n this.services.miniOrbit.openUrl(this.props.href);\r\n\r\n } else if (Check.isNullOrUndefined(this.props.preventDefaultOnClick) || this.props.preventDefaultOnClick) {\r\n event.preventDefault();\r\n }\r\n\r\n if (this.props.onClick) {\r\n this.props.onClick(event);\r\n }\r\n };\r\n\r\n private _getAnchorProps(): any {\r\n let result: any = {};\r\n\r\n if(this.props.id) {\r\n result.id = this.props.id;\r\n }\r\n if(this.props.className) {\r\n result.className = this.props.className;\r\n }\r\n\r\n if(this.props.href) {\r\n result.href = this.services.location.buildFullUri(this.props.href || '/').toString();\r\n }\r\n\r\n if(this.props.target) {\r\n result.target = this.props.target;\r\n }\r\n\r\n if(this.props.itemProp) {\r\n result.itemProp = this.props.itemProp;\r\n }\r\n\r\n if (this.props.customProps) {\r\n result.customProps = this.props.customProps;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _renderAnchor(anchorRef: any) {\r\n const Box = this.props.box || DefaultBox;\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.props.enableTap) {\r\n return this._renderAnchor(null);\r\n }\r\n\r\n let anchorRef: any = React.createRef();\r\n return (\r\n \r\n {this._renderAnchor(anchorRef)}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconDefaultBox = styled.img<{isShownInHeader: boolean, isWide?: boolean}>`\r\n height: ${props=> props.isWide === true ? \"33px\" : \"27px\"};\r\n width: ${props => props.isWide === true ? \"96px\" : (props.isShownInHeader === true ? \"35px\" : \"27px\")};\r\n min-width: ${props => props.isWide === true ? \"96px\" : \"initial\"};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeDefaultBox = styled.div<{isShownInHeader: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.hover}{\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n &:active {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {MinimumGamblingAgeDefaultBox} from \"./minimum-gambling-age.default.box\";\r\n\r\nexport const MinimumGamblingAgeBox = styledByTheme(MinimumGamblingAgeDefaultBox)\r\n .apply();","import {MinimumGamblingAgeIconDefaultBox} from \"./minimum-gambling-age-icon.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconSiBox = styled(MinimumGamblingAgeIconDefaultBox)`\r\n height: 40px;\r\n width: 40px;\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {MinimumGamblingAgeIconDefaultBox} from \"./minimum-gambling-age-icon.default.box\";\r\nimport {MinimumGamblingAgeIconSiBox} from \"./minimum-gambling-age-icon.si.box\";\r\n\r\nexport const MinimumGamblingAgeIconBox = styledByTheme(MinimumGamblingAgeIconDefaultBox).forSI(MinimumGamblingAgeIconSiBox).apply();","import React, {PropsWithChildren} from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeBox} from \"./boxes/minimum-gambling-age.box\";\r\nimport {MinimumGamblingAgeIconBox} from \"./boxes/icon/minimum-gambling-age-icon.box\";\r\nimport classNames from 'classnames';\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\ninterface MinimumGamblingAgeComponentProps extends PropsWithChildren {\r\n className?: string;\r\n iconBox?: React.ComponentType;\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const MinimumGamblingAgeComponent = observer(\r\n class MinimumGamblingAgeComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_responsible_gaming_click');\r\n await this.services.linksNavigation.openResponsibleGaming();\r\n }\r\n\r\n private _getIconType(): string {\r\n return this.services.configuration.data.header.responsibleIcons?.ageButton?.iconType;\r\n }\r\n\r\n private _getIcon(): string {\r\n const age = this.services.regulation.current.responsibleGamingAge;\r\n switch (this._getIconType()) {\r\n case 'wide':\r\n return this.services.theme.currentTheme.images.regulationSpecific.denmark.age18PlusWide.toString();\r\n case 'flat':\r\n if(age === 21) {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age21PlusFlat.toString();\r\n } else {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusFlat.toString();\r\n }\r\n case 'capsule':\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusCapsule.toString();\r\n default:\r\n if(age === 21) {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age21PlusRound.toString();\r\n } else {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusRound.toString();\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const url = this._getIcon();\r\n const IconBox = this.props.iconBox ?? MinimumGamblingAgeIconBox;\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\n\r\nexport const NetherlandsMinimumGamblingAgeLabelBox = styled.div`\r\n color: ${props => props.theme.colors.textLight};\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeComponent} from \"../../minimum-gambling-age.component\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {NetherlandsMinimumGamblingAgeLabelBox} from \"./boxes/netherlands-minimum-gambling-age-label.box\";\r\n\r\ninterface NetherlandsMinimumGamblingAgeComponentProps {\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const NetherlandsMinimumGamblingAgeComponent = observer(class NetherlandsMinimumGamblingAgeComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n \r\n Speel bewust\r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {MinimumGamblingAgeIconDefaultBox} from \"../../../boxes/icon/minimum-gambling-age-icon.default.box\";\r\n\r\nexport const SwedenMinimumGamblingAgeIconBox = styled(MinimumGamblingAgeIconDefaultBox)<{isShownInHeader: boolean}>`\r\n height: ${props => props.isShownInHeader === true ? \"2.5rem\" : \"23px\"};\r\n width: ${props => props.isShownInHeader === true ? \"auto\" : \"35px\"};\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeComponent} from \"../../minimum-gambling-age.component\";\r\nimport {SwedenMinimumGamblingAgeIconBox} from \"./boxes/sweden.minimum-gambling-age-icon.box\";\r\n\r\ninterface SwedenMinimumGamblingAgeComponentProps {\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const SwedenMinimumGamblingAgeComponent = observer(class SwedenMinimumGamblingAgeComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\n\r\nexport const DenmarkResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DenmarkResponsibleGamingButtonBaseBox = styled.button<{imageUrl: string}>`\r\n background-image: url(\"${props => props.imageUrl}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.hover}{\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n &:active {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n`","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSafeToPlayButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 40px;\r\n height: 40px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 25px;\r\n height: 25px;\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSafeToPlayButtonBox} from \"./boxes/denmark.safe-to-play-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSafeToPlayButtonComponent = observer(class DenmarkSafeToPlayButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_doga_icon_click');\r\n await this.services.linksNavigation.openSafeToPlay();\r\n }\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSelfExclusionButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 50px;\r\n height: 25px;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSelfExclusionButtonBox} from \"./boxes/denmark.self-exclusion-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfExclusionButtonComponent = observer(class DenmarkSelfExclusionButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_stop_spillet_icon_click');\r\n await this.services.linksNavigation.openSelfExclusion();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\nimport {styledByDevice} from \"../../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 120px;\r\n height: 20px;\r\n`;\r\n\r\n\r\nconst PcBox = DefaultBox;\r\nconst MobileBox = styled(DefaultBox)`\r\n width: 90px;\r\n height: 15px;\r\n`;\r\n\r\nexport const DenmarkSelfTestButtonBox = styledByDevice(PcBox, MobileBox);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {DenmarkSelfTestButtonBox} from \"./boxes/denmark.self-test-button.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfTestButtonComponent = observer(class DenmarkSelfTestButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_rofus_icon_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSecondaryResponsibleGamingButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 72px;\r\n height: 35px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 48px;\r\n height: 23px;\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSecondaryResponsibleGamingButtonBox} from \"./denmark.secondary-responsible-gaming-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSecondaryResponsibleGamingButtonComponent = observer(class DenmarkSafeToPlayButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n await this.services.linksNavigation.openSecondaryResponsibleGaming();\r\n }\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkResponsibleGamingButtonsBox} from \"./boxes/denmark.responsible-gaming-buttons.box\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {DenmarkSafeToPlayButtonComponent} from \"./safe-to-play-button/denmark.safe-to-play-button.component\";\r\nimport {DenmarkSelfExclusionButtonComponent} from \"./self-exclusion/denmark.self-exclusion-button.component\";\r\nimport {DenmarkSelfTestButtonComponent} from \"./self-test-button/denmark.self-test-button.component\";\r\nimport {\r\n DenmarkSecondaryResponsibleGamingButtonComponent\r\n} from \"./responsible-gaming-button/denmark.secondary-responsible-gaming-button.component\";\r\n\r\nexport const DenmarkResponsibleGamingButtonsComponent = observer(class DenmarkResponsibleGamingButtonsComponent extends OrbitComponent<{hideSelfExclusionLinks?: boolean}> {\r\n\r\n private _renderSelfExclusionButtons() {\r\n if (this.props.hideSelfExclusionLinks) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderSecondaryResponsibleGamblingIcon() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderSecondaryResponsibleGamblingIcon()}\r\n \r\n {this._renderSelfExclusionButtons()}\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const PanicButtonSVGIconClassName = \"panic-button-svg-icon\";\r\n\r\nexport const PanicButtonBox = styled.div`\r\n width: 15.7rem;\r\n height: 2.7rem;\r\n\r\n &.${ACTIVE} {\r\n &::after{\r\n display: block;\r\n }\r\n }\r\n\r\n .${PanicButtonSVGIconClassName} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n \r\n &::before {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n top: 3.9rem;\r\n width: 15rem;\r\n height: 0.8rem;\r\n background: transparent;\r\n }\r\n\r\n &::after{\r\n display: none;\r\n content: \" \";\r\n position: relative;\r\n left: 3rem;\r\n top: -0.3rem;\r\n width: 1px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: transparent transparent ${({theme}) => theme.colors.backgroundContrast} transparent;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow}{\r\n @media ${({theme}) => theme.mediaQuery.portrait}{\r\n left: 7.5rem;\r\n }\r\n }\r\n }\r\n`;\r\n","export const IN_DETAILED_HISTORY= 'in-detailed-history';\r\nexport const IN_GAME = \"in-game\";","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {IN_DETAILED_HISTORY} from \"../css-classes\";\r\n\r\nexport const PanicButtonTooltipBox = styled.div`\r\n display: none;\r\n background-color: white;\r\n text-align: center;\r\n border-radius: 0.3rem;\r\n padding: 0.5rem;\r\n margin-top: 0.7rem;\r\n cursor: default;\r\n\r\n position: absolute !important;\r\n z-index: 107;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.textDark};\r\n\r\n &.${ACTIVE} {\r\n display: block;\r\n }\r\n\r\n &.${IN_DETAILED_HISTORY} {\r\n @media ${({theme}) => theme.mediaQuery.sAndAbove}{\r\n @media ${({theme}) => theme.mediaQuery.landscape}{\r\n left: initial;\r\n transform: translateX(-58%);\r\n }\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow}{\r\n @media ${({theme}) => theme.mediaQuery.portrait}{\r\n left: 1rem;\r\n width: calc(100% - 2rem);\r\n box-sizing: border-box;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n padding: 0.5rem 1rem 0.5rem 1rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupBox = styled.div`\r\n display:flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 5rem 5rem 0;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.5rem;\r\n color: ${({theme}) => theme.colors.textLight};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n padding: 5rem 2rem 0 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupTimeBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary}; \r\n padding-left: 0.5rem;\r\n padding-right: 0.5rem;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupOkBox = styled.div`\r\n width: 100%;\r\n margin-top: 5rem;\r\n`;","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {PanicButtonPopupBox} from \"./boxes/panic-button-popup.box\";\r\nimport React from 'react';\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {IModalDialogHandler} from \"../../../../../services/dialog/dialog.service.interface\";\r\nimport {PanicButtonPopupTimeBox} from \"./boxes/panic-button-popup-time.box\";\r\nimport {PanicButtonPopupOkBox} from \"./boxes/panic-button-popup-ok.box\";\r\nimport { DialogTextBox } from \"../../../../modal-dialog/boxes/text/dialog-text.box\";\r\nimport { ModalDialogActionsComponent } from \"../../../../modal-dialog/modal-dialog-actions.component\";\r\n\r\ninterface PanicButtonPopupComponentProps{\r\n textMessage1:string,\r\n textMessage2:string,\r\n textMessage3:string,\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport class PanicButtonPopupComponent extends OrbitComponent{\r\n\r\n private _getTime():string{\r\n const now = new Date();\r\n return new TimeSpan(0,now.getHours(),now.getMinutes()).toString();\r\n }\r\n\r\n private _closeDialog = () => {\r\n this.props.dialogHandler.close();\r\n }\r\n\r\n render(){\r\n return (\r\n \r\n {this.props.textMessage1}\r\n \r\n {this.props.textMessage2}\r\n {this._getTime()}\r\n {this.props.textMessage3}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const TooltipClickHereBox = styled.span`\r\n text-decoration: underline;\r\n font-weight: bold;\r\n padding-left: 0.5rem;\r\n padding-right: 0.5rem;\r\n cursor: pointer;\r\n margin-bottom: 0;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonTooltipCloseBox = styled.div`\r\n position: absolute;\r\n right: 0.2rem;\r\n top: 0.1rem;\r\n width: 1rem;\r\n height: 1rem;\r\n cursor: pointer;\r\n \r\n &::before, &::after {\r\n position: absolute;\r\n content: ' ';\r\n height: 1rem;\r\n width: 0.1rem;\r\n background-color: black;\r\n }\r\n &::before {\r\n transform: rotate(45deg);\r\n }\r\n &::after {\r\n transform: rotate(-45deg);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const PanicButtonMobileOverlayBox = styled.div`\r\n display: none;\r\n position:absolute;\r\n width: 100vw;\r\n height: 100vh;\r\n background-color:rgba(0, 0, 0, 0);\r\n top:0;\r\n left:0;\r\n z-index: 106;\r\n \r\n &.${ACTIVE}{\r\n display: block;\r\n }\r\n`;","import React from 'react';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {PanicButtonBox, PanicButtonSVGIconClassName} from \"./boxes/panic-button.box\";\r\nimport {PanicButtonTooltipBox} from \"./boxes/panic-button-tooltip.box\";\r\nimport classNames from 'classnames';\r\nimport {observer} from \"mobx-react\";\r\nimport {PanicButtonPopupComponent} from \"./panic-button-popup.component\";\r\nimport {TooltipClickHereBox} from \"./boxes/panic-button-tooltip-click-here\";\r\nimport {OrbitComponentWithState} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\nimport {IN_DETAILED_HISTORY} from \"./css-classes\";\r\nimport {GermanyResponsibleGamingButtonPlacement} from \"../../../../../../common/const/responsible-gaming\";\r\nimport {PanicButtonTooltipCloseBox} from \"./boxes/panic-button-tooltip-close.box\";\r\nimport {PanicButtonMobileOverlayBox} from \"./boxes/panic-button-mobile-overlay.box\";\r\n\r\ninterface TooltipState {\r\n isTooltipVisible: boolean\r\n}\r\n\r\nexport interface ResponsibleGamingButtonsGermanyComponentProps {\r\n placement: GermanyResponsibleGamingButtonPlacement\r\n}\r\n\r\nexport const ResponsibleGamingButtonsGermanyComponent = observer(\r\n class ResponsibleGamingButtonsGermanyComponent extends OrbitComponentWithState {\r\n state: TooltipState = {\r\n isTooltipVisible: false\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({\r\n isTooltipVisible: false\r\n })\r\n }\r\n\r\n private _restrictUser(): void {\r\n this.setState({isTooltipVisible: false});\r\n this.services.user.panicRestrictUser().then((data) => {\r\n console.log(data);\r\n this._openPopup();\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n this._sendAnalytics(\"activate\");\r\n }\r\n\r\n private _openPopup() {\r\n this.services.dialog.showModal((dialogHandler) =>\r\n ,\r\n {\r\n title: this.services.translation.translate(\"panic_restriction_popup_title\"),\r\n shouldBeClosedOnlyByUser: true,\r\n hideCloseButton: true,\r\n isHighPriority: true\r\n })\r\n }\r\n\r\n private _onMouseEnterPanicBtn() {\r\n if(!this.services.device.os.isMobileOS){\r\n this.setState({isTooltipVisible: true});\r\n this._sendAnalytics(\"click\");\r\n }\r\n }\r\n\r\n private _onMouseLeavePanicBtn() {\r\n if(!this.services.device.os.isMobileOS) {\r\n this.setState({isTooltipVisible: false});\r\n }\r\n }\r\n\r\n private _closeToolTip(event) {\r\n event.stopPropagation();\r\n this.setState({isTooltipVisible: false});\r\n }\r\n\r\n private onClickPanicBtn() {\r\n if (!this.state.isTooltipVisible) {\r\n this.setState({isTooltipVisible: true});\r\n this._sendAnalytics(\"click\");\r\n }\r\n }\r\n\r\n private _sendAnalytics(label: string) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Header\", \"Icon_panic_\" + label);\r\n }\r\n\r\n private _renderCloseBtn() {\r\n if (!this.services.mediaQuery.hover) {\r\n return this._closeToolTip(event)} />\r\n }\r\n return null;\r\n }\r\n\r\n private _renderTooltipClickHere() {\r\n if (this.services.mediaQuery.sAndBelow && this.services.mediaQuery.portrait) {\r\n return (
{this._getTooltipBox()}
);\r\n } else {\r\n return this._getTooltipBox();\r\n }\r\n }\r\n\r\n private _getTooltipBox() {\r\n return this._restrictUser()}>klicken Sie hier.\r\n }\r\n\r\n private _renderMobileOverlay() {\r\n if (this.services.device.os.isMobileOS) {\r\n return this._closeToolTip(event)} />\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n const PanicButtonIcon = this.services.theme.currentTheme.icons.panicButtonRegulationIcon;\r\n return (\r\n \r\n this._onMouseEnterPanicBtn()}\r\n onMouseLeave={() => this._onMouseLeavePanicBtn()}\r\n onClick={() => this.onClickPanicBtn()}>\r\n \r\n \r\n
\r\n Um eine 24-stündige Spielpause einzulegen,\r\n {this._renderTooltipClickHere()}\r\n {this._renderCloseBtn()}\r\n
\r\n \r\n
\r\n {this._renderMobileOverlay()}\r\n
\r\n )\r\n }\r\n });","import styled from \"styled-components\";\r\n\r\nexport const NetherlandsSelfTestButtonBox = styled.button`\r\n width: 105px;\r\n height: 32px;\r\n cursor: pointer;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {NetherlandsSelfTestButtonBox} from \"./boxes/netherlands.self-test-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const NetherlandsSelfTestButtonComponent = observer(class NetherlandsSelfTestButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_ksa_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const OntarioResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\ninterface OntarioSafeToPlayButtonBoxProps {\r\n isShownInHeader: boolean\r\n}\r\n\r\nexport const OntarioSafeToPlayButtonBox = styled.button`\r\n width: 175px;\r\n height: 35px;\r\n background-image: url(\"${props => props.theme.images.regulationSpecific.ontario.safeToPlayButton.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n cursor: pointer;\r\n ${props => !props.isShownInHeader && css`background-position: center center`}\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25px;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n background-position: center center\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OntarioSafeToPlayButtonBox} from \"./boxes/ontario.safe-to-play-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\ninterface OntarioSafeToPlayButtonComponentProps{\r\n isShownInHeader: boolean\r\n}\r\n\r\nexport const OntarioSafeToPlayButtonComponent = observer(class OntarioSafeToPlayButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_ontario_safe_to_play_icon_click');\r\n await this.services.linksNavigation.openSafeToPlay();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OntarioResponsibleGamingButtonsBox} from \"./boxes/ontario.responsible-gaming-buttons.box\";\r\nimport {OntarioSafeToPlayButtonComponent} from \"./safe-to-play/ontario.safe-to-play-button.component\";\r\n\r\ninterface OntarioResponsibleGamingButtonsComponentProps{\r\n isShownInHeader?: boolean\r\n}\r\n\r\nexport const OntarioResponsibleGamingButtonsComponent = observer(class OntarioResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const SwedenResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const SwedenResponsibleGamingButtonSBGIconClassName = \"sweden-responsible-gaming-button-svg-icon\";\r\n\r\nexport const SwedenResponsibleGamingButtonBaseBox = styled.button<{useIconsOnly: boolean}>`\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n cursor: pointer;\r\n\r\n @media ${({theme}) => theme.mediaQuery.hover}{\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n &:active {\r\n opacity: 0.5;\r\n }\r\n }\r\n \r\n .${SwedenResponsibleGamingButtonSBGIconClassName} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n \r\n ${props => props.useIconsOnly\r\n ? css`\r\n width: 25px;\r\n height: 24px;\r\n `\r\n : css`\r\n width: 100px;\r\n height: 30px;\r\n `\r\n }\r\n`","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenSelfExclusionButtonBoxProps{\r\n isShownInHeader:boolean;\r\n useIconsOnly: boolean;\r\n}\r\n\r\nexport const SwedenSelfExclusionButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)`\r\n ${props => props.isShownInHeader ? css`\r\n width: 8.5rem;\r\n height: 2.5rem;\r\n `: null}\r\n \r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenSelfExclusionButtonBox} from \"./boxes/sweden.self-exclusion-button.box\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenPanicButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\n\r\nexport const SwedenSelfExclusionButtonComponent = observer(\r\n class SwedenSelfExclusionButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_panic_click');\r\n\r\n await this.services.linksNavigation.openSelfExclusion();\r\n };\r\n\r\n render() {\r\n const SelfExclusionIcon = this.services.theme.currentTheme.icons.selfExclusionRegulationIcon;\r\n const SelfExclusionSymbolIcon = this.services.theme.currentTheme.icons.selfExclusionRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n }}\r\n);","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\nexport const SwedenGamingLimitsButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)<{useIconsOnly: boolean, isShownInHeader: boolean}>`\r\n ${props => props.useIconsOnly\r\n ? css`\r\n width: 26px;\r\n height: 22px;\r\n `\r\n : css`\r\n width: 120px;\r\n `\r\n }\r\n \r\n ${props => props.isShownInHeader ? css`\r\n width: 10rem;\r\n height: 2.5rem;\r\n `: null}\r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenGamingLimitsButtonBox} from \"./boxes/sweden.gaming-limits-button.box\";\r\nimport {CHANNEL_ELEMENTS} from \"../../../../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenGamingLimitsButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\n\r\nexport const SwedenGamingLimitsButtonComponent = observer(\r\n class SwedenGamingLimitsButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_deposit_limits_click');\r\n\r\n await this.services.externalLinks.openGameLimits({\r\n channelArea:AreaType.button,\r\n channelElement:CHANNEL_ELEMENTS.gamesLimitsGameButton,\r\n source: ControlCenterOpenSource.RgPolicy\r\n });\r\n }\r\n\r\n render() {\r\n const GamingLimitIcon = this.services.theme.currentTheme.icons.gamingLimitRegulationIcon;\r\n const GamingLimitSymbolIcon = this.services.theme.currentTheme.icons.gamingLimitRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n\r\n }\r\n }\r\n);","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\nexport const SwedenSelfTestButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)<{useIconsOnly: boolean, isShownInHeader: boolean}>`\r\n ${props => props.isShownInHeader ? css`\r\n width: 8.5rem;\r\n height: 2.5rem;\r\n `: null}\r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenSelfTestButtonBox} from \"./boxes/sweden.self-test-button.box\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenSelfTestButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\nexport const SwedenSelfTestButtonComponent = observer(\r\n class SwedenSelfTestButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_self_test_click');\r\n this.services.analytics.sendElasticInfoEvent({\r\n eventType: 'sweden_self_test',\r\n category: 'Navigation',\r\n action: 'Header',\r\n label: 'Icon_self_test_click'\r\n },true);\r\n\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n\r\n render() {\r\n const SelfTestIcon = this.services.theme.currentTheme.icons.selfTestRegulationIcon;\r\n const SelfTestSymbolIcon = this.services.theme.currentTheme.icons.selfTestRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwedenResponsibleGamingButtonsBox} from \"./boxes/sweden.responsible-gaming-buttons.box\";\r\nimport {SwedenSelfExclusionButtonComponent} from \"./self-exclusion-button/sweden.self-exclusion-button.component\";\r\nimport {SwedenGamingLimitsButtonComponent} from \"./gaming-limits/sweden.gaming-limits-button.component\";\r\nimport {SwedenSelfTestButtonComponent} from \"./self-test-button/sweden.self-test-button.component\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\ninterface SwedenResponsibleGamingButtonsComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader?: boolean;\r\n}\r\nexport const SwedenResponsibleGamingButtonsComponent = observer(\r\n class SwedenResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n let spaceMultiplier;\r\n if(this.props.useIconsOnly) {\r\n spaceMultiplier = 2;\r\n } else if(this.props.isShownInHeader){\r\n spaceMultiplier = 0.5;\r\n } else {\r\n spaceMultiplier = 1;\r\n }\r\n\r\n\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {GenericSideMenuItemIconBox} from \"../generic/generic-side-menu-item-icon.box\";\r\n\r\nexport const DepositSideMenuItemIconDefaultBox = styled(GenericSideMenuItemIconBox)`\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {DepositSideMenuItemIconDefaultBox} from \"./deposit-side-menu-item-icon.default.box\";\r\n\r\n\r\nexport const DepositSideMenuItemIconSiBox = styled(DepositSideMenuItemIconDefaultBox)`\r\n color: ${({theme}) => theme.colors.textActive};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {DepositSideMenuItemIconSiBox} from \"./deposit-side-menu-item-icon.si.box\";\r\nimport {DepositSideMenuItemIconDefaultBox} from \"./deposit-side-menu-item-icon.default.box\";\r\n\r\nexport const DepositSideMenuItemIconBox = styledByTheme(DepositSideMenuItemIconDefaultBox)\r\n .forSI(DepositSideMenuItemIconSiBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {GenericSideMenuItemBox} from \"../generic/generic-side-menu-item.box\";\r\n\r\nexport const DepositSideMenuItemDefaultBox = styled(GenericSideMenuItemBox)`\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {DepositSideMenuItemDefaultBox} from \"./deposit-side-menu-item.default.box\";\r\n\r\n\r\nexport const DepositSideMenuItemCasino777Box = styled(DepositSideMenuItemDefaultBox)`\r\n color: ${props => props.theme.colors.moneyColor};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {DepositSideMenuItemCasino777Box} from \"./deposit-side-menu-item.casino777.box\";\r\nimport {DepositSideMenuItemDefaultBox} from \"./deposit-side-menu-item.default.box\";\r\n\r\n\r\n\r\nexport const DepositSideMenuItemBox = styledByTheme(DepositSideMenuItemDefaultBox)\r\n .forCasino777(DepositSideMenuItemCasino777Box)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst GenericSideMenuItemIconCommonBox = styled.div<{active?: boolean}>`\r\n box-sizing: border-box;\r\n margin: 0 1rem 0 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0 2rem 0 0;\r\n }\r\n\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n padding: 0.2rem;\r\n transition: color 0.2s ease, background-color 0.2s ease, border-bottom 0.2s ease;\r\n`;\r\n\r\nconst GenericSideMenuItemIconDefaultBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.backgroundDark};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconCasino777Box = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${({theme}) => theme.colors.backgroundActive};\r\n color: ${(props) => props.theme.colors.textActive};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconHarrahsBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.brandSecondary};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconWsopBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.logoBackground};\r\n color: ${(props) => props.theme.colors.textActive};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconSIBox = styled(GenericSideMenuItemIconCommonBox)`\r\n color: ${(props) => props.active ? props.theme.colors.textLight : props.theme.colors.textMiddleDark};\r\n`;\r\n\r\nconst GenericSideMenuItemIconMrGreenBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n color: ${(props) => props.theme.colors.textActive};\r\n background-color: transparent;\r\n ` : null}\r\n`;\r\n\r\n\r\nexport const GenericSideMenuItemIconBox = styledByTheme(GenericSideMenuItemIconDefaultBox)\r\n .forCasino777(GenericSideMenuItemIconCasino777Box)\r\n .forHarrahs(GenericSideMenuItemIconHarrahsBox)\r\n .forWsop(GenericSideMenuItemIconWsopBox)\r\n .forSI(GenericSideMenuItemIconSIBox)\r\n .forMrGreen(GenericSideMenuItemIconMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuItemLabelBox = styled.span`\r\n flex: 1 0 auto;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const GenericSideMenuItemDefaultBox = styled.div<{active?: boolean}>`\r\n display: flex;\r\n align-items: center;\r\n padding: 0.8rem 0;\r\n font-size: 1.4rem;\r\n line-height: 1;\r\n color: ${({theme, active}) => active ? theme.colors.textActive: theme.colors.text};\r\n transition: color 0.2s ease;\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 0.6rem 0;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.regular};\r\n padding: 1rem 0;\r\n color: ${({theme, active}) => active ? theme.colors.textActive: theme.colors.textLight};\r\n font-weight: 300;\r\n }\r\n &:hover {\r\n color: ${({theme}) => theme.colors.textHover};\r\n }\r\n`;\r\n\r\nconst GenericSideMenuItemCasino777Box = styled(GenericSideMenuItemDefaultBox)`\r\n color: ${({theme, active}) => active ? theme.colors.backgroundActive: theme.colors.text};\r\n`;\r\n\r\nconst GenericSideMenuItemHarrahsBox = styled(GenericSideMenuItemDefaultBox)`\r\n ${({theme}) => theme.font.presets.regular};\r\n`;\r\n\r\nconst GenericSideMenuItemWsopBox = styled(GenericSideMenuItemDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-weight: ${({theme, active}) => active ? 600: 300};\r\n }\r\n`;\r\n\r\nexport const GenericSideMenuItemBox = styledByTheme(GenericSideMenuItemDefaultBox)\r\n .forCasino777(GenericSideMenuItemCasino777Box)\r\n .forHarrahs(GenericSideMenuItemHarrahsBox)\r\n .forWsop(GenericSideMenuItemWsopBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst ArrowSideMenuLinkDefaultIcon = styled.div<{active?: boolean}>`\r\n display: block;\r\n width: 2rem;\r\n height: 2rem;\r\n background-image: url(${({theme}) => theme.images.spriteSheet.toString()});\r\n background-repeat: no-repeat;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n\r\n background-position: -762px -651px;\r\n`;\r\n\r\nconst ArrowSideMenuLinkCasino777Icon = styled(ArrowSideMenuLinkDefaultIcon)`\r\n background-position: -611px -491px;\r\n`;\r\n\r\nexport const ArrowSideMenuLinkIcon = styledByTheme(ArrowSideMenuLinkDefaultIcon)\r\n .forCasino777(ArrowSideMenuLinkCasino777Icon)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst SideMenuItemContainerDefaultBox = styled.li`\r\n position: relative;\r\n display: block;\r\n border: none;\r\n margin: 1px 1.2rem 0 1.2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0 1.6rem;\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: absolute;\r\n top: -2px;\r\n left: 0;\r\n width: 100%;\r\n\r\n box-sizing: content-box;\r\n height: 1px;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n margin-bottom: 1px;\r\n }\r\n\r\n &:first-child {\r\n margin-top: 0;\r\n &::before {\r\n display: none;\r\n }\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerCasino777Box = styled(SideMenuItemContainerDefaultBox)`\r\n &::before {\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerMrGreenBox = styled(SideMenuItemContainerDefaultBox)`\r\n &::before {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerSiBox = styled(SideMenuItemContainerDefaultBox)`\r\n &::before {\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n }\r\n`;\r\n\r\nexport const SideMenuItemContainerBox = styledByTheme(SideMenuItemContainerDefaultBox)\r\n .forCasino777(SideMenuItemContainerCasino777Box)\r\n .forMrGreen(SideMenuItemContainerMrGreenBox)\r\n .forSI(SideMenuItemContainerSiBox)\r\n .apply();\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { SideMenuItemContainerBox } from \"./boxes/side-menu-item-container.box\";\r\nimport { CyClass } from \"../../../../common/cy-classes\";\r\nimport classNames from 'classnames';\r\n\r\n\r\ninterface SideMenuItemContainerComponentProps extends PropsWithChildren {\r\n className?: string;\r\n onClick?: () => void;\r\n}\r\n\r\n\r\n@observer\r\nexport class SideMenuItemContainerComponent extends OrbitComponent {\r\n render() {\r\n\r\n return \r\n { this.props.children }\r\n ;\r\n }\r\n}\r\n","import {GameImageDefaultBox} from './game-image.default.box';\r\n\r\nexport const GameImageBox = GameImageDefaultBox;","import styled, { css } from 'styled-components';\r\nimport { GAME_BOX_JACKPOT_TEMPLATE } from '../../../css-constants';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const commonGameImageCssMixin = css`\r\n position: absolute;\r\n width: 100%;\r\n\r\n .${GAME_BOX_JACKPOT_TEMPLATE} & {\r\n max-width: 20rem;\r\n }\r\n`;\r\n\r\nexport const GameImageDefaultBox = styled(Image)<{hide?: boolean; squareIcon?: boolean;}>`\r\n opacity: ${({hide}) => hide ? 0: 1};\r\n ${commonGameImageCssMixin}\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Normally, the radius is taken care in game-image-container.default.box, but for Safari, where we encountered the bug solved above\r\n * the image is rendered in a separate layer and ignores the border radius of the parent\r\n */\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n @media ${props.theme.mediaQuery.lAndBelow} {\r\n border-radius: 8px;\r\n }\r\n `};\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n`;\r\n","import {GameImageAnimatedDefaultBox} from './game-image-animated.default.box';\r\n\r\nexport const GameImageAnimatedBox = GameImageAnimatedDefaultBox;","import styled from 'styled-components';\r\nimport { commonGameImageCssMixin } from '../game-image/game-image.default.box';\r\n\r\nconst DefaultBox = styled.div`\r\n ${commonGameImageCssMixin};\r\n height: 100%;\r\n`;\r\n\r\nexport const GameImageAnimatedDefaultBox = DefaultBox;","import React from 'react';\r\nimport { OrbitComponent } from '../../../../base-components/orbit-component/orbit-component';\r\nimport { GameImageAnimatedBox } from '../../boxes/game-image/game-image-animated.box';\r\nimport { IGameAnimatedIconRegistrationResult } from '../../../../../services/game-animated-icons-manager/game-animated-icons-manager.service.interface';\r\n\r\ninterface IGameImageComponentProps {\r\n animationJsonUrl: string;\r\n animationTiming: {\r\n delay: number;\r\n interval: number;\r\n }\r\n width: number;\r\n height: number;\r\n useSquareIcons?: boolean;\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(): void;\r\n}\r\n\r\nexport class GameImageAnimatedComponent extends OrbitComponent {\r\n private animatedImageWrapper: HTMLElement | null = null;\r\n private pixiAnimationRegistration: IGameAnimatedIconRegistrationResult | null = null;\r\n\r\n private _captureAnimatedImageElementRef = (element: HTMLElement) => {\r\n this.animatedImageWrapper = element;\r\n // cancelAnimationRequest\r\n if (this.pixiAnimationRegistration) {\r\n this.pixiAnimationRegistration.unregister();\r\n this.pixiAnimationRegistration = null;\r\n }\r\n if (element) {\r\n // requestAnimation\r\n this.loadPixiAnimatedIcon();\r\n }\r\n this.animatedImageWrapper = element;\r\n };\r\n\r\n private async loadPixiAnimatedIcon() {\r\n this.pixiAnimationRegistration = this.services.gameAnimatedIconsManager.register({\r\n jsonUrl: this.props.animationJsonUrl,\r\n size: {\r\n width: this.props.width, height: this.props.height\r\n },\r\n wrapper: this.animatedImageWrapper,\r\n timings: this.props.animationTiming,\r\n onAnimationLoad: this.props.onAnimationLoad,\r\n onAnimationWillUnload: this.props.onAnimationWillUnload\r\n });\r\n }\r\n\r\n render() {\r\n return \r\n }\r\n}\r\n","import React from 'react';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {GameImageBox} from '../../boxes/game-image/game-image.box';\r\nimport {GameImageAnimatedComponent} from './game-image-animated.component';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\n\r\nexport type GameIconAnimationState = \"ab-disabled\" | \"unavailable\" | \"static\" | \"animated\";\r\n\r\nexport interface GameIconComponentProps {\r\n gameInfo: GameInfo;\r\n useSquareIcons?: boolean;\r\n useLazyLoading?: boolean;\r\n onLoad?(): void;\r\n onLoadStart?(): void;\r\n onSettled?(): void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n}\r\n\r\nexport interface GameIconComponentState {\r\n loadingAnimation?: boolean;\r\n animationJsonUrl?: string;\r\n hideStaticImage?: boolean;\r\n}\r\n\r\nexport const GameImageComponent = observer(\r\n class GameImageComponent extends OrbitComponentWithState {\r\n constructor(props: GameIconComponentProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(!this.state.animationJsonUrl ? \"unavailable\" : \"static\");\r\n }\r\n }\r\n\r\n private _loadAnimatedIconTimeout = null;\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._loadAnimatedIconTimeout) {\r\n clearTimeout(this._loadAnimatedIconTimeout);\r\n this._loadAnimatedIconTimeout = null;\r\n }\r\n }\r\n private onSettled = () => {\r\n this.setState({loadingAnimation: false});\r\n if (this.props.onSettled) {\r\n this.props.onSettled();\r\n }\r\n this.attemptLoadAnimatedIcon();\r\n };\r\n\r\n private attemptLoadAnimatedIcon = () => {\r\n this._loadAnimatedIconTimeout = setTimeout(() => {\r\n let data = this.props.gameInfo.getGameImage({squareIcon: this._shouldUseSquareIcons(), animatedIcon: true});\r\n if (data) {\r\n this.setState({animationJsonUrl: data});\r\n }\r\n this._loadAnimatedIconTimeout = null;\r\n }, this.props.gameInfo.getAnimatedImageTimings().delay || 0);\r\n };\r\n\r\n private onAnimationLoad = () => {\r\n this.setState({hideStaticImage: true});\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(\"animated\");\r\n }\r\n };\r\n\r\n private onAnimationWillUnload = () => {\r\n this.setState({hideStaticImage: false});\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(\"static\");\r\n }\r\n };\r\n\r\n private _shouldUseSquareIcons = () => {\r\n if (Check.isNullOrUndefined(this.props.useSquareIcons)) {\r\n return this.services.theme.shouldUseSquareIcons;\r\n }\r\n return this.props.useSquareIcons;\r\n }\r\n\r\n render() {\r\n const seoAlt = this.props.gameInfo.getImageSeoAlt();\r\n const imgUrl = this.props.gameInfo.getGameImage({squareIcon: this._shouldUseSquareIcons()});\r\n const useLazyLoad = Check.isNullOrUndefined(this.props.useLazyLoading) ? true : this.props.useLazyLoading;\r\n\r\n return \r\n { this.state.animationJsonUrl ? : null }\r\n {\r\n this.setState({loadingAnimation: true});\r\n }}\r\n onLoad={this.props.onLoad}\r\n onSettled={this.onSettled}\r\n />\r\n ;\r\n }\r\n }\r\n);\r\n","export const GAME_BOX = 'game-box';\r\nexport const GAME_BOX_JACKPOT_TEMPLATE = 'game-box-jackpot-template';\r\nexport const TWO_LINES_TITLE = 'two-lines-title';\r\nexport const GAME_GROUP_LIVE_CASINO = 'game-group-live-casino';\r\nexport const ENABLE_HOVER_ANIMATION = 'enable-hover-animation';\r\nexport const SWIPER_MODE = 'swiper-mode'; //.orbit-slider-slide\r\nexport const GAME_IMAGE_CONTAINER = 'game-image-container';\r\nexport const GRID_GAMES_LIST = 'grid-games-list'; //TODO - I should do something with this when I will refactor games grid list\r\nexport const SINGLE_GAME_IMAGE = 'single-game-image';\r\n","import React from 'react';\r\nimport {SwiperProps, SwiperRef} from \"swiper/swiper-react\";\r\nimport {Swiper} from \"swiper/react\";\r\nimport 'swiper/css';\r\nimport 'swiper/css/navigation';\r\nimport 'swiper/css/pagination';\r\nimport 'swiper/css/virtual';\r\n\r\nexport const SwiperComponent: React.FC = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n );\r\n})\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, NEW_LIVE_CASINO_PAGE, TIPPING_HISTORY_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n transition: all 0.03s ease-in-out;\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(204 / 1712 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} &, .${GAMING_HISTORY_PAGE} &, .${TIPPING_HISTORY_PAGE} &{\r\n padding-bottom: calc(122 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${GAMING_HISTORY_PAGE} &, .${TIPPING_HISTORY_PAGE} &{\r\n padding-bottom: calc(77 / 600 * 100%);\r\n }\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(77 / 414 * 100%);\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\r\n */\r\nexport const TopBanner777Box = styled.div`\r\n position: relative;\r\n width: 100%;\r\n padding-bottom: calc(250 / 1750 * 100%);\r\n \r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1690 * 100%);\r\n }\r\n \r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-bottom: calc(215 / 1024 * 100%);\r\n \r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(155 / 414 * 100%);\r\n \r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(77 / 375 * 100%);\r\n }\r\n }\r\n \r\n`;","import styled from \"styled-components\";\r\nimport { TopBannerDefaultBox } from './top-banner.default.box'\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\r\n */\r\nexport const TopBannerSIBox = styled(TopBannerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(100 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(100 / 414 * 100%);\r\n }\r\n }\r\n\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\r\n */\r\nexport const TopBannerMrGreenBox = styled(TopBannerDefaultBox)`\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\n\r\n/**\r\n * After all banners will be replaced with ones of the same size remove this code\r\n * PC 1750 x 200 / Mobile 414 x 105\r\n * @deprecated\r\n */\r\nexport const TopBannerCasino888Box = styled(TopBannerDefaultBox)`\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n }\r\n }\r\n`;\r\n","import {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBanner777Box} from \"./top-banner.777.box\";\r\nimport {TopBannerSIBox} from \"./top-banner.si.box\";\r\nimport {TopBannerMrGreenBox} from \"./top-banner.mrgreen.box\";\r\nimport {TopBannerCasino888Box} from \"./top-banner.888.box\";\r\n\r\nexport const TopBannerBox = styledByTheme(TopBannerDefaultBox)\r\n .forCasino888(TopBannerCasino888Box)\r\n .forCasino777(TopBanner777Box)\r\n .forSI(TopBannerSIBox)\r\n .forMrGreen(TopBannerMrGreenBox)\r\n .apply();","import {TopBannerImageDefaultBox} from \"./top-banner-image.default.box\";\r\n\r\nexport const TopBannerImageBox = TopBannerImageDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../raw-components/image/image\";\r\n\r\nexport const TopBannerImageDefaultBox = styled(Image)`\r\n position: absolute;\r\n width: 100%;\r\n height: auto;\r\n bottom: 0;\r\n`;","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport { Image } from \"../../../raw-components/image/image\";\r\n\r\nconst PCBox = styled(Image)``;\r\n\r\nconst MobileBox = styled(Image)`\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n max-height: 40px;\r\n }\r\n`;\r\n\r\nexport const TopBannerLogoImageDefaultBox = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerLogoImageDefaultBox} from \"./top-banner-logo-image.default.box\";\r\n\r\nexport const TopBannerLogoImageCasino777Box = styled(TopBannerLogoImageDefaultBox)`\r\n .${LIVE_CASINO_PAGE} &{\r\n display:none;\r\n }\r\n`;","import {TopBannerLogoImageDefaultBox} from \"./top-banner-logo-image.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerLogoImageCasino777Box} from \"./top-banner-logo-image.casino777.box\";\r\n\r\nexport const TopBannerLogoImageBox = styledByTheme(TopBannerLogoImageDefaultBox).forCasino777(TopBannerLogoImageCasino777Box).apply() ;\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.h1`\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n`;\r\n\r\nconst PCBox = styled(DefaultBox)`\r\n font-size: 2rem;\r\n text-transform: capitalize;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n font-size: 1.8rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n\r\nexport const TopBannerTitleDefaultBox = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerTitleDefaultBox} from \"./top-banner-title.default.box\";\r\n\r\nexport const TopBannerTitleCasino777Box = styled(TopBannerTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.bold};\r\n .${LIVE_CASINO_PAGE} &{\r\n display:none;\r\n }\r\n`;\r\n","import {TopBannerTitleDefaultBox} from \"./top-banner-title.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerTitleCasino777Box} from \"./top-banner-title.casino777.box\";\r\n\r\nexport const TopBannerTitleBox = styledByTheme(TopBannerTitleDefaultBox).forCasino777(TopBannerTitleCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const TopBannerLiveLogoDefaultBox = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n justify-content: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {TopBannerLiveLogoDefaultBox} from \"./top-banner-live-logo.default.box\";\r\n\r\nexport const TopBannerLiveLogoCasino777Box = styled(TopBannerLiveLogoDefaultBox)`\r\n`;","import {TopBannerLiveLogoDefaultBox} from \"./top-banner-live-logo.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerLiveLogoCasino777Box} from \"./top-banner-live-logo.casino777.box\";\r\n\r\nexport const TopBannerLiveLogoBox = styledByTheme(TopBannerLiveLogoDefaultBox).forCasino777(TopBannerLiveLogoCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const AnimatedTopImageWrapper = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n`;\r\n\r\nexport const AnimatedTopImageScrollHandler = styled(AnimatedTopImageWrapper)`\r\n z-index: 5;\r\n`;\r\n","import React, {useMemo} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DotLottiePlayer} from \"../lottie-player/dot-lottie-player.component\";\r\nimport {AnimatedTopImageWrapper} from \"./boxes/animated-top-image-wrapper\";\r\n\r\nconst LottieTopImageWrapper = styled(AnimatedTopImageWrapper)`\r\n svg {\r\n display: block;\r\n }\r\n`;\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\nexport const LottieAnimatedTopImageComponent: React.FC = observer((props) => {\r\n const styles = useMemo(() => ({}), []);\r\n return \r\n \r\n ;\r\n});\r\n","import {reaction} from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {PixiSpineAnimation} from \"../../services/pixi-app/pixi-spine-animation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {AnimatedTopImageScrollHandler, AnimatedTopImageWrapper} from \"./boxes/animated-top-image-wrapper\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\n@observer\r\nexport class PixiAnimatedTopImageComponent extends OrbitComponent {\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _reactionDisposer = null;\r\n private _bannerPixiAnimation: PixiSpineAnimation = null;\r\n\r\n componentDidMount(): void {\r\n this._startAnimation();\r\n this._reactionDisposer = reaction(() =>\r\n [\r\n this.services.mediaQuery.lAndBelow,\r\n this.services.mediaQuery.sAndBelow\r\n ],\r\n (data) => {\r\n this._stopAnimation();\r\n this._startAnimation();\r\n })\r\n }\r\n\r\n\r\n componentWillUnmount(): void {\r\n this._stopAnimation();\r\n this._reactionDisposer();\r\n }\r\n\r\n private _createAnimation() {\r\n let defautSkinConfiguration = {\r\n width: 1750,\r\n height: 200,\r\n name: \"desktop\",\r\n scale: 1\r\n }\r\n\r\n if (this.services.mediaQuery.lAndBelow) {\r\n defautSkinConfiguration.width = 1024;\r\n defautSkinConfiguration.height = 165;\r\n defautSkinConfiguration.name = \"tablet\";\r\n defautSkinConfiguration.scale = 1;\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n defautSkinConfiguration.width = 414;\r\n defautSkinConfiguration.height = 105;\r\n defautSkinConfiguration.name = \"mobile\";\r\n defautSkinConfiguration.scale = 0.6;\r\n }\r\n return new PixiSpineAnimation(\r\n this.services,\r\n {\r\n width: defautSkinConfiguration.width, height: defautSkinConfiguration.height, force2DCanvasContext: true\r\n },\r\n [{name: 'slotsAnimatedBannerResource', jsonUrl: this.props.image}],\r\n {\r\n render: ({pixiApp, spineAnimations}) => {\r\n let spineAnimation = spineAnimations.slotsAnimatedBannerResource;\r\n spineAnimation.skeleton.setSkinByName(defautSkinConfiguration.name);\r\n spineAnimation.skeleton.setSlotsToSetupPose();\r\n\r\n // set the position and scale\r\n spineAnimation.x = pixiApp.screen.width / 2;\r\n spineAnimation.y = pixiApp.screen.height / 2;\r\n spineAnimation.scale.set(defautSkinConfiguration.scale);\r\n\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"intro\", false);\r\n spineAnimation.state.addAnimation(0, \"loop\", true, 0);\r\n }\r\n\r\n runAnimation();\r\n }\r\n },\r\n {\r\n width: \"100%\"\r\n }\r\n );\r\n }\r\n\r\n private async _startAnimation() {\r\n this._bannerPixiAnimation = this._createAnimation();\r\n this._bannerPixiAnimation.start();\r\n this._bannerPixiAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private _stopAnimation() {\r\n this._bannerPixiAnimation.dispose();\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n }\r\n\r\n render() {\r\n return (<>\r\n \r\n {/* when rendering the animated banner, on mobile, because of the canvas we cannot scroll the page when holding from the canvas element.\r\n So we put this div in front of it so when we touch the screen, the target element is the div not the canvas */}\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport { LottieAnimatedTopImageComponent } from \"./lottie-animated-top-image.component\";\r\nimport {PixiAnimatedTopImageComponent} from \"./pixi-animated-top-image.component\";\r\nimport {AnimatedTopImageConfiguration} from \"../../services/configurations/config-data-sections/arenas.configuration\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n imageAnimationConfig: AnimatedTopImageConfiguration;\r\n}\r\n@observer\r\nexport class AnimatedTopImageComponent extends OrbitComponent {\r\n render() {\r\n if (this.props.imageAnimationConfig.engine === \"pixi\") {\r\n return \r\n }\r\n return \r\n }\r\n}","import React, {RefObject} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {TopBannerBox} from \"./boxes/top-banner/top-banner.box\";\r\nimport {TopBannerImageBox} from \"./boxes/top-banner-image/top-banner-image.box\";\r\nimport {TopBannerLogoImageBox} from \"./boxes/top-banner-logo-image/top-banner-logo-image.box\";\r\nimport {TopBannerTitleBox} from \"./boxes/top-banner-title/top-banner-title.box\";\r\nimport {TopBannerLiveLogoBox} from \"./boxes/top-banner-live-logo/top-banner-live-logo.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {AnimatedTopImageComponent} from '../animated-top-image/animated-top-image.component';\r\nimport {AnimatedTopImageConfiguration} from '../../services/configurations/config-data-sections/arenas.configuration';\r\n\r\nexport interface TopImageComponentProps {\r\n image: string;\r\n animatedBanner?: AnimatedTopImageConfiguration;\r\n title?: string;\r\n altText?: string;\r\n className?: string;\r\n topImageRef?: RefObject;\r\n}\r\n\r\nexport const TopImageComponent = observer(class TopImageComponent extends OrbitComponent {\r\n\r\n private _renderLogoAndTitle() {\r\n if(this.props.title) {\r\n const srcLogo = this.services.device.isMobile\r\n ? this.services.theme.currentTheme.images.liveArena.casinoLiveLogoMobile.toString()\r\n : this.services.theme.currentTheme.images.liveArena.casinoLiveLogoPC.toString();\r\n return (\r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n )\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n if (!this.props.image || (this.services.gamesFilter.isFilterOn && this.services.mediaQuery.sAndBelow)) {\r\n return null;\r\n }\r\n\r\n // TODO: maybe get also an image placeholder to enable lazy loading\r\n return (\r\n \r\n \r\n {this.props.animatedBanner ?\r\n \r\n :\r\n }\r\n {this._renderLogoAndTitle()}\r\n \r\n \r\n )\r\n\r\n }\r\n});\r\n","import styled from 'styled-components';\r\n\r\nexport const UsefulLinksListDefaultBox = styled.ul`\r\n background-color: ${props => props.theme.colors.background};\r\n list-style-type: none;\r\n text-align: left;\r\n margin: -2px 0;\r\n padding: 0;\r\n width: 100%;\r\n`;\r\n","import styled from 'styled-components';\r\nimport {UsefulLinksListDefaultBox} from './useful-links-list.default.box';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const UsefulLinksListCipBox = styled(UsefulLinksListDefaultBox)`\r\n border-radius: 10px;\r\n text-align: center;\r\n padding: 10px;\r\n \r\n ${CssRule.For.mobile.tablet.build()} & {\r\n padding: 0;\r\n border-radius: 0;\r\n min-width: 50rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {UsefulLinksListDefaultBox} from './useful-links-list.default.box';\r\n\r\nexport const UsefulLinksListCasino777Box = styled(UsefulLinksListDefaultBox)`\r\n background: none;\r\n`;","import {UsefulLinksListDefaultBox} from './useful-links-list.default.box';\r\nimport {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {UsefulLinksListCipBox} from './useful-links-list.cip.box';\r\nimport {UsefulLinksListCasino777Box} from './useful-links-list.casino777.box';\r\n\r\nexport const UsefulLinksListBox = styledByTheme(UsefulLinksListDefaultBox)\r\n .forCasino777(UsefulLinksListCasino777Box)\r\n .forCip(UsefulLinksListCipBox)\r\n .forWsopCip(UsefulLinksListCipBox)\r\n .forCis(UsefulLinksListCipBox)\r\n .apply();","import styled from 'styled-components';\r\nimport {flexRowContainerMixin} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const UsefulLinksItemDefaultBox = styled.div<{active?: boolean}>`\r\n ${flexRowContainerMixin}\r\n align-items: center;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n color: ${props => props.active ? props.theme.colors.textActive : props.theme.colors.text};\r\n font-size: 1.4rem;\r\n \r\n &:hover {\r\n color: ${props => props.theme.colors.textHover};\r\n }\r\n\r\n height: 3.75rem;\r\n line-height: 3.75rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: flex;\r\n align-items: center;\r\n height: 4.5rem;\r\n line-height: 4.5rem;\r\n color: ${props => props.active ? props.theme.colors.textActive : props.theme.colors.textLight};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {UsefulLinksItemDefaultBox} from './useful-links-item.default.box';\r\n\r\nexport const UsefulLinksItemCasino777Box = styled(UsefulLinksItemDefaultBox)`\r\n color: ${props => props.active ? props.theme.colors.textContrast : props.theme.colors.text};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.textContrast};\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.body}\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {UsefulLinksItemDefaultBox} from './useful-links-item.default.box';\r\n\r\nexport const UsefulLinksItemCipBox = styled(UsefulLinksItemDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 0;\r\n text-transform: uppercase;\r\n ${({theme}) => theme.font.presets.medium};\r\n &:first-child {\r\n margin-top: 0;\r\n border-top: 0;\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {UsefulLinksItemDefaultBox} from \"./useful-links-item.default.box\";\r\n\r\n\r\nexport const UsefulLinksItemMrGreenBox = styled(UsefulLinksItemDefaultBox)`\r\n &:hover {\r\n background-color: ${props => props.theme.colors.background};\r\n }\r\n`;\r\n","import {UsefulLinksItemDefaultBox} from './useful-links-item.default.box';\r\nimport {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {UsefulLinksItemCasino777Box} from './useful-links-item.casino777.box';\r\nimport {UsefulLinksItemCipBox} from './useful-links-item.cip.box';\r\nimport {UsefulLinksItemMrGreenBox} from \"./useful-links-item.mrgreen.box\";\r\n\r\nexport const UsefulLinksItemBox = styledByTheme(UsefulLinksItemDefaultBox)\r\n .forCasino777(UsefulLinksItemCasino777Box)\r\n .forCip(UsefulLinksItemCipBox)\r\n .forWsopCip(UsefulLinksItemCipBox)\r\n .forCis(UsefulLinksItemCipBox) // TODO: see here!!!!!!\r\n .forMrGreen(UsefulLinksItemMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const UsefulLinksItemSideTextBox = styled.div`\r\n display: inline-block;\r\n margin-right: 2rem;\r\n`;","import React, {PropsWithChildren} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {UsefulLinksItemBox} from \"../../boxes/useful-links-item/useful-links-item.box\";\r\nimport {get} from 'lodash';\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {Image} from \"../../../raw-components/image/image\";\r\nimport {UsefulLinksItemSideTextBox} from \"../../boxes/useful-links-item/useful-links-item-side-text.box\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UserMenuSeparatorBox} from '../../../user-menu/user-menu-items/boxes/user-menu-separator.box';\r\nimport {FlexFixedSizeItemBox, FlexGrowItemBox} from '../../../../themes/architecture/css-helpers/flex';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {GenericSideMenuItemIconBox} from '../../../side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-icon.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\ninterface IUsefulLinkInnerItemComponentProps extends MenuItemComponentProps {\r\n className?: string;\r\n // false - collapsed state, arrow down // true - expanded state, arrow up // undefined or null - normal state, arrow to the right\r\n expandedArrowIcon?: boolean | undefined | null;\r\n onClick(): void;\r\n}\r\n\r\nexport const UsefulLinkInnerItemComponent: React.FC> = observer((props) => {\r\n const services = useServices();\r\n\r\n\r\n const _renderIcon = () => {\r\n if(!props.menuItem.iconSource || !props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n switch (props.menuItem.iconSource) {\r\n case \"themeIcons\":\r\n const Icon = services.theme.currentTheme.icons[props.menuItem.icon];\r\n if(!Icon) {\r\n services.logger.error(`Menu item ${props.menuItem.key} has configured icon ${props.menuItem.icon} which does not exist in currentTheme.icons`)\r\n return null;\r\n }\r\n return ();\r\n // break;\r\n case \"themeImages\":\r\n const imageURI = get(services.theme.currentTheme.images, props.menuItem.icon, '');\r\n if(!imageURI) {\r\n services.logger.error(`Menu item ${props.menuItem.key} has configured icon ${props.menuItem.icon} which does not exist in currentTheme.images`)\r\n return null;\r\n }\r\n return ({props.menuItem.iconAltText)\r\n // break;\r\n case \"url\":\r\n default:\r\n return ({props.menuItem.iconAltText)\r\n // break;\r\n }\r\n }\r\n\r\n const renderContent = () => {\r\n if(props.menuItem.imageOnlyRendering) {\r\n return _renderIcon();\r\n } else {\r\n return (\r\n <>\r\n \r\n {_renderIcon()}\r\n \r\n \r\n {props.menuItem.text}\r\n \r\n {props.menuItem.sideText && ({props.menuItem.sideText})}\r\n \r\n )\r\n }\r\n }\r\n\r\n const ForwardIcon = services.theme.currentTheme.icons.forwardIcon;\r\n let iconStyle = {};\r\n if (!Check.isNullOrUndefined(props.expandedArrowIcon)) {\r\n iconStyle = {\r\n transition: \"transform 0.12s ease-out\",\r\n transform: \"rotate(\" + (props.expandedArrowIcon ? \"-\" : \"\") + \"90deg)\" \r\n };\r\n }\r\n\r\n return (\r\n
  • \r\n {!!props.showSeparator && }\r\n \r\n {renderContent()}\r\n {!props.menuItem.imageOnlyRendering && \r\n \r\n }\r\n \r\n {props.children}\r\n
  • \r\n );\r\n\r\n});","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {UsefulLinksListBox} from '../../boxes/useful-links-list/useful-links-list.box';\r\nimport {observer} from 'mobx-react';\r\nimport {styled} from '@mui/material';\r\n\r\nexport interface UsefulLinksListComponentProps {\r\n onItemClick?: () => void;\r\n // this will be UserMenuSectionBox in general except for mini orbit where it is gonna be MiniOrbitUsefulLinksListBox\r\n linksGroupWrapperBox?: React.ComponentType<{className?: string}>;\r\n linksGroupWrapperClassName?: string;\r\n}\r\n\r\n@observer\r\nexport class UsefulLinksListComponent extends OrbitComponent {\r\n render() {\r\n const LinksGroupWrapperBox = this.props.linksGroupWrapperBox ? this.props.linksGroupWrapperBox : styled.div``;\r\n return this.services.userMenu.usefulLinksMenuItems.map((list, index) =>\r\n \r\n \r\n { list.map((menuItem, index) => menuItem.renderMenuItem({onBeforeClick: this.props.onItemClick, showSeparator: !!index}) )}\r\n \r\n \r\n )\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {baseColors} from \"../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nconst UserMenuSeparatorDefaultBox = styled.div`\r\n box-sizing: content-box;\r\n height: 1px;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n margin-bottom: 1px;\r\n`;\r\n\r\nconst UserMenuSeparatorCasino777Box = styled(UserMenuSeparatorDefaultBox)`\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n`;\r\n\r\nconst UserMenuSeparatorMrGreenBox = styled(UserMenuSeparatorDefaultBox)`\r\n background-color: ${baseColors.gray233};\r\n opacity: 0.2;\r\n`;\r\n\r\nconst UserMenuSeparatorSIBox = styled(UserMenuSeparatorDefaultBox)`\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n`;\r\n\r\nexport const UserMenuSeparatorBox = styledByTheme(UserMenuSeparatorDefaultBox)\r\n .forCasino777(UserMenuSeparatorCasino777Box)\r\n .forMrGreen(UserMenuSeparatorMrGreenBox)\r\n .forSI(UserMenuSeparatorSIBox)\r\n .apply()","import {IServiceFactory} from \"../services/service-factory.interface\";\r\nimport {useContext} from \"react\";\r\nimport {OrbitContext} from \"../orbit-context\";\r\n\r\nexport function useServices(): IServiceFactory {\r\n return useContext(OrbitContext).services;\r\n}","import {IServiceFactoryExtended} from './service-factory-extended.interface';\r\nimport {IReactionOptions} from \"mobx\";\r\nimport {reaction as mobxReaction, IReactionDisposer, IReactionPublic} from 'mobx'\r\n\r\nexport class ServiceBase {\r\n constructor(private _serviceFactory: IServiceFactoryExtended) {\r\n }\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this._serviceFactory;\r\n }\r\n\r\n private _reactions: IReactionDisposer[] = [];\r\n\r\n private _getClassName(): string {\r\n const thisProto = Object.getPrototypeOf(this);\r\n if(thisProto.constructor.name) {\r\n return thisProto.constructor.name;\r\n } else {\r\n return thisProto.constructor.CLASS;\r\n }\r\n }\r\n\r\n reaction(expression: (r: IReactionPublic) => T, effect: (arg: T, prev: FireImmediately extends true ? T | undefined : T, r: IReactionPublic) => void, opts?: IReactionOptions): void {\r\n this._reactions.push(mobxReaction(expression, effect, opts));\r\n }\r\n\r\n protected getABFeatureData(): any{\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n return this.services.sdk.getAbTestingDataForFeature(this._getClassName());\r\n }\r\n\r\n\r\n dispose() {\r\n this._reactions.forEach(disposer => disposer());\r\n }\r\n}\r\n","import {IElasticEventData, IStructuredLogger} from '../../../common/interfaces/structured-logging-service-interface';\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\n\r\nexport enum OrbitUserFlowAnalyticsCategory {\r\n Navigation = 'Navigation',\r\n PWA = 'PWA',\r\n Search = 'Search',\r\n}\r\n\r\nexport enum OrbitUserFlowAnalyticsLabel {\r\n AppHeader = \"AppHeader\",\r\n NavigationMenu = 'NavMenu',\r\n UserArea = 'UserArea',\r\n BottomNavigationBar = 'BottomNavBar',\r\n ShowMore = 'Show_More'\r\n}\r\n\r\nexport type OrbitUserFlowAnalyticsAction = MenuItemKey\r\n | string\r\n | 'myAccountButton' | 'withdrawButton' | 'depositButton'\r\n | 'Entry';\r\n\r\nexport enum OrbitMarketingEventAnalyticsCategory {\r\n Conversion = 'Conversion',\r\n Communications = 'Communications',\r\n}\r\n\r\nexport enum OrbitMarketingEventAnalyticsLabel {\r\n PreGamePopUp = 'PreGamePopUp',\r\n DemoRegPopup = 'DemoRegPopup',\r\n VideoPlayback = 'VIDEO_PLAYBACK',\r\n Error = 'ERROR',\r\n Click = 'CLICK',\r\n}\r\n\r\nexport type OrbitMarketingEventAnalyticsAction = MenuItemKey\r\n | string\r\n | 'Play' | 'Show'\r\n | 'IN_VIEW' | 'LIMIT_REACH' | 'AUTOPLAY' | 'PLAY' | 'PLAY_GAME' | 'SOUND_CLICK'\r\n | 'Open_Floating_Button' | 'Close_Floating_Button' | 'View_Floating_Button';\r\n\r\nexport enum OrbitAIFeatureAnalyticsCategory {\r\n AIArenaIconsDisplayed = 'AI_ArenaIconsDisplayed',\r\n CorrelatedGamePopUp = 'CorrelatedGamePopUp'\r\n}\r\n\r\nexport type OrbitAIFeatureAnalyticsAction = MenuItemKey\r\n | string\r\n | 'Game_Unavailable'\r\n\r\n\r\nexport interface ISendElasticEventOptions {\r\n eventType: string;\r\n category: string;\r\n action: string;\r\n label?: string;\r\n value?: string;\r\n customData?: object;\r\n appID?: string;\r\n}\r\n\r\nexport interface IAnalyticsService {\r\n sendAnalytics(category: string, action?: string, label?: string, value?: any, omitStructuredLogger?: boolean): void;\r\n sendTechnicalEvent(action: string, label?: string, value?: any): void;\r\n sendElasticInfoEvent(options: ISendElasticEventOptions, sendToDWH?: boolean): void;\r\n sendOrbitUserFlowEvent(category: string | OrbitUserFlowAnalyticsCategory, action: OrbitUserFlowAnalyticsAction, label?: string | OrbitUserFlowAnalyticsLabel, value?: any): void;\r\n sendOrbitMarketingEvent(category: string | OrbitMarketingEventAnalyticsCategory, action: OrbitMarketingEventAnalyticsAction, label?: string | OrbitMarketingEventAnalyticsLabel, value?: any): void;\r\n sendOrbitAIFeatureEvent(category: string | OrbitAIFeatureAnalyticsCategory, action: OrbitAIFeatureAnalyticsAction, label?: string, value?: any): void;\r\n getLogger(eventData?: IElasticEventData): IStructuredLogger;\r\n getGoogleClientID(): string;\r\n}\r\n\r\n\r\n\r\n","export const LIVE_CASINO_ARENA_NAME = 'liveCasino';\r\nexport const NEW_LIVE_CASINO_ARENA_NAME = 'newLiveCasino';\r\nexport const NEW_LIVE_CASINO_AB_ARENA_NAME = 'newLiveCasinoAB';\r\nexport const CIP_ALL_GAMES_ARENA_NAME = 'cipAllGames';\r\nexport const SLOTS_ARENA_NAME = 'slots';\r\nexport const CASINO_GAMES_ARENA_NAME = 'casinoGames';\r\nexport const JACKPOTS_ARENA_NAME = 'jackpots';\r\nexport const EXCLUSIVE_ARENA_NAME = 'exclusive888Games';\r\nexport const SCRATCH_CARDS_ARENA_NAME = 'scratchCards';\r\nexport const VIDEO_POKER_ARENA_NAME = 'videoPoker';\r\nexport const INSTANT_WIN_GAMES_ARENA_NAME = 'instantWinGames';\r\nexport const BLACKJACK_ARENA_NAME = 'blackjack';\r\nexport const VIRTUAL_SPORT_ARENA_NAME = 'virtualSport';\r\nexport const ROULETTE_ARENA_NAME = 'roulette';\r\nexport const PROGRESSIVE_SLOTS_ARENA_NAME = 'progressiveSlots';\r\nexport const NEW_GAMES_ARENA_NAME = 'newGames';\r\nexport const HOME_PAGE_ARENA = 'homePage';\r\nexport const VIDEO_SLIDES_ARENA = 'videoSlidesArena';\r\n\r\nexport const ALL_ARENAS = Array.of(\r\n LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_AB_ARENA_NAME,\r\n CIP_ALL_GAMES_ARENA_NAME,\r\n SLOTS_ARENA_NAME,\r\n CASINO_GAMES_ARENA_NAME,\r\n JACKPOTS_ARENA_NAME,\r\n EXCLUSIVE_ARENA_NAME,\r\n SCRATCH_CARDS_ARENA_NAME,\r\n VIDEO_POKER_ARENA_NAME,\r\n INSTANT_WIN_GAMES_ARENA_NAME,\r\n BLACKJACK_ARENA_NAME,\r\n VIRTUAL_SPORT_ARENA_NAME,\r\n ROULETTE_ARENA_NAME,\r\n PROGRESSIVE_SLOTS_ARENA_NAME,\r\n NEW_GAMES_ARENA_NAME,\r\n HOME_PAGE_ARENA,\r\n);\r\n","import styled, {css} from \"styled-components\";\r\nimport {IBannerContainerBoxProps} from \"../banner-container/banner-container.default.box\";\r\n\r\nexport const EmptyBannerContainerBox = styled.div`\r\n width: 100%;\r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n `};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerContainerBox} from \"./empty-banner-container.box\";\r\n\r\nexport class EmptyBannerComponentProps {\r\n showPlaceholder: boolean;\r\n minHeight: string;\r\n}\r\n\r\n\r\nexport const EmptyBannerComponent = observer(\r\n class EmptyBannerComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(this.props.showPlaceholder && !this.services.device.hybrid.isEmbedded) {\r\n return ()\r\n }\r\n return null;\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {BannerRenderProps, IBannerDefinition} from './banner-definition.interface';\r\nimport {EmptyBannerComponent} from '../../../../components/cms-banner/empty-banner/empty-banner.component';\r\n\r\nexport class EmptyBannerDefinition implements IBannerDefinition {\r\n\r\n render(props: BannerRenderProps): React.ReactNode {\r\n return ()\r\n }\r\n}\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\nexport class CmsBannerId {\r\n constructor(private _componentID: string, private _templateID: string, private _fallbackFileName: string | null) {\r\n }\r\n\r\n isMatch(componentId: number, templateId: number): boolean {\r\n return this._areEqual(componentId, this.componentID)\r\n && this._areEqual(templateId, this.templateID);\r\n }\r\n\r\n private _areEqual(val1: any, val2: any): boolean {\r\n val1 = Check.isNullOrUndefined(val1) ? '' : val1.toString();\r\n val2 = Check.isNullOrUndefined(val2) ? '' : val2.toString();\r\n\r\n return val1 === val2;\r\n }\r\n\r\n get key(): string {\r\n return `${this.componentID}_${this.templateID}_${this._fallbackFileName ?? 'null'}`;\r\n }\r\n\r\n get componentID(): any {\r\n return this._componentID;\r\n }\r\n\r\n get templateID(): any {\r\n return this._templateID;\r\n }\r\n\r\n get fallbackFileName(): string {\r\n return this._fallbackFileName;\r\n }\r\n\r\n toString() {\r\n return `templateID: ${this.templateID}; componentID: ${this.componentID}`;\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\n\r\nexport class CmsLink {\r\n constructor(private _anchorElement: HTMLAnchorElement, private _cmsContentRootElement: HTMLElement, private _services: IServiceFactory) {\r\n this._clickHandler = this._clickHandler.bind(this);\r\n this._anchorElement.addEventListener('click', this._clickHandler);\r\n }\r\n\r\n private _clickHandler(event) {\r\n event.preventDefault();\r\n let anchorUri = this._services.location.tryParseUrl(this._anchorElement.href);\r\n let currentUri = this._services.location.currentUri;\r\n\r\n if(currentUri.origin === anchorUri.origin\r\n && currentUri.pathName.equals(anchorUri.pathName)\r\n && !anchorUri.hash.isEmpty) { // if the anchor href refers to the current route and there is a hash in the anchor href then we need to scroll into view an element with id = #hash\r\n let element = this._cmsContentRootElement.querySelector(anchorUri.hash.toString());\r\n if(element) {\r\n element.scrollIntoView();\r\n }\r\n } else {\r\n this._services.location.push(this._anchorElement.href);\r\n }\r\n };\r\n\r\n\r\n dispose() {\r\n this._anchorElement.removeEventListener('click', this._clickHandler);\r\n }\r\n\r\n}\r\n","/**\r\n * @desc We need this to evaluate all the scripts that b2c add to the components banners and pages\r\n * @param html\r\n * @return {any}\r\n * @private\r\n */\r\nimport {isOrbitInQAMode} from '../../../../utils/qa-mode-utils';\r\nimport {isInsideAutomation} from '../../../../utils/automation-helpers';\r\n\r\nexport function evaluateScripts(html: string): void {\r\n\r\n if(!html) {\r\n return;\r\n }\r\n\r\n /**\r\n Webpack dev server returns the public/index.html instead of 404 for calls like api/pagecontent.\r\n When this happens this function basically will execute the script in the public/index.html.\r\n And that script is launcher.min.js. So basically we will try to load again orbit and sdk and this will fail.\r\n */\r\n if (0 <= html.indexOf('')) {\r\n return;\r\n }\r\n\r\n let scriptRegex = /]*>([\\s\\S]*?)<\\/script>/gm;\r\n\r\n // Remove comment from the html(so we don't run scripts in comment),\r\n html = html.replace(//g, \"\");\r\n let match = scriptRegex.exec(html);\r\n\r\n while (match) {\r\n try {\r\n evaluateScriptsWithExternalFile(match[0]);\r\n match = scriptRegex.exec(html);\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.error('Failed to load script!', match, err);\r\n }\r\n\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Evaluate scripts with external file. ex: \r\n */\r\nfunction evaluateScriptsWithExternalFile(html: string) {\r\n try {\r\n const fakeDiv = document.createElement('div');\r\n fakeDiv.innerHTML = html.trim();\r\n\r\n const scriptElements = fakeDiv.getElementsByTagName('script');\r\n const elementsLength = scriptElements ? scriptElements.length : 0;\r\n\r\n for (let index = 0; index < elementsLength; index++) {\r\n const script = document.createElement(\"script\");\r\n\r\n if (scriptElements[index]['src']) {\r\n script.src = scriptElements[index]['src'];\r\n } else {\r\n //Add try catch to B2C scripts\r\n const tryStart = \"try{\";\r\n const consoleLogFunc = (isOrbitInQAMode() ? 'warn' : 'error');\r\n const tryEnd = `}catch(e){console.${consoleLogFunc}('B2C ERROR In EXTERNAL SCRIPT, ERROR MESSAGE: ', e)}`;\r\n\r\n script.innerHTML = tryStart + scriptElements[index]['innerHTML'] + tryEnd;\r\n\r\n }\r\n\r\n document.head.appendChild(script).parentNode?.removeChild(script);\r\n }\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.log('Error in evaluateScriptsWithExternalFile function, err message:', err);\r\n }\r\n\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {CmsLink} from './cms-link';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {evaluateScripts} from \"./evaluate-scripts\";\r\n\r\nexport class CmsContentDecorator {\r\n constructor(private _element: HTMLElement, private services: IServiceFactory ) {\r\n this._evaluateScripts();\r\n this._loadCmsLinks();\r\n }\r\n\r\n private _cmsLinks: CmsLink[] = [];\r\n\r\n\r\n dispose() {\r\n this._cmsLinks.forEach(a => a.dispose());\r\n }\r\n\r\n\r\n private _evaluateScripts() {\r\n evaluateScripts(this._element.innerHTML);\r\n }\r\n\r\n\r\n private _loadCmsLinks() {\r\n let linkTags = this._element.getElementsByTagName('a');\r\n for(let i = 0; i < linkTags.length; i++) {\r\n let currentLink = linkTags[i] as HTMLAnchorElement;\r\n if (Check.isEmpty(currentLink.href) || currentLink.target === '_blank') {\r\n continue;\r\n }\r\n\r\n let anchorUri = this.services.location.tryParseUrl(currentLink.href);\r\n if(!anchorUri) {\r\n continue;\r\n }\r\n\r\n if(anchorUri.origin === this.services.location.currentUri.origin) {\r\n this._cmsLinks.push(new CmsLink(currentLink, this._element, this.services));\r\n }\r\n\r\n }\r\n }\r\n\r\n scrollIntoView(childElementSelector: string): void {\r\n try {\r\n let el = this._element.querySelector(childElementSelector);\r\n if(el) {\r\n el.scrollIntoView();\r\n }\r\n } catch (err) {\r\n this.services.logger.error(`Failed to scroll into view element with id ${childElementSelector}`, err);\r\n }\r\n\r\n }\r\n}\r\n","import React from 'react';\r\nimport {ButtonPreset} from \"../../basic-ui-components/button/base/button-props.interface\";\r\nimport { ISvgIconProps } from '../../basic-ui-components/icon/svg-icon/svg.icon';\r\nimport {OverflowProperty} from \"../../../common/types/css\";\r\n\r\nexport interface IModalDialogHandler {\r\n close(shouldApplyClosingAnimation?: boolean, isClosedDirectlyByUser?: boolean): void;\r\n zIndex: number;\r\n shouldBeClosedOnlyByUser: boolean;\r\n shouldApplyClosingAnimation: boolean;\r\n readonly isHidden: boolean;\r\n display(): void;\r\n hide(): void;\r\n}\r\n\r\nexport interface ShowModalOptions {\r\n useAutoHeight?: boolean;\r\n title?: string;\r\n icon?: React.ComponentType;\r\n onClosed?: () => void;\r\n onClosedByXButton?: ()=> void;\r\n onHide?: () => void;\r\n onDisplay?: () => void;\r\n debugInfo?: string;\r\n hideBorders?: boolean;\r\n hideCloseButton?: boolean;\r\n showOpenAndCloseAnimation?: boolean;\r\n forceTransparentBackground?: boolean;\r\n transparentBackgroundOpacity?: number;\r\n forceTransparentContentBackground?: boolean;\r\n hideDialogHeader?: boolean;\r\n forceCentralization?: boolean;\r\n disableFullscreenMobile?: boolean;\r\n applyMaxHeight?: boolean;\r\n mobileCenterHeader?: boolean;\r\n isHighPriority?: boolean;\r\n forceZOrder?:number;\r\n shouldBeClosedOnlyByUser?: boolean;\r\n forceFullscreenTablet?: boolean;\r\n headerClass?: string;\r\n showPopupAboveSecondWebViewHybrid?:boolean;\r\n noDefaultContentPadding?: boolean;\r\n renderExtraHeaderButtons?: () => React.ReactElement;\r\n overflow?: OverflowProperty;\r\n createAsHidden?: boolean;\r\n}\r\n\r\nexport enum DialogButtonClickHandleResultEnum {\r\n CloseDialogAndContinue,\r\n KeepDialogOpen\r\n}\r\n\r\nexport interface ISimpleTextModalButtonOptions {\r\n text: string;\r\n buttonPreset: ButtonPreset;\r\n onClick: () => Promise;\r\n}\r\n\r\nexport interface ISimpleTextModalOptions {\r\n text: string | string[];\r\n title?: string;\r\n /** @deprecated Do not send an icon as a string url or as react element. Use an svg icon in the iconSvg prop */\r\n icon?: string | React.ReactElement;\r\n iconSvg?: React.ComponentType;\r\n showEmptyTitle?: boolean;\r\n hideCloseButton?: boolean;\r\n buttons?: ISimpleTextModalButtonOptions[];\r\n disableFullscreenMobile?: boolean;\r\n showPopupAboveSecondWebViewHybrid?: boolean;\r\n onClosedByXButton?: ()=> void;\r\n onClosed?: () => void;\r\n shouldBeClosedOnlyByUser?: boolean;\r\n}\r\n\r\nexport interface IDialogService {\r\n showModal(renderContent: (dialogHandler: IModalDialogHandler) => React.ReactNode, options?: ShowModalOptions): IModalDialogHandler;\r\n showSimpleTextModal(options: ISimpleTextModalOptions): IModalDialogHandler;\r\n readonly currentDialogs: React.ReactNode[];\r\n readonly hasOpenDialogs: boolean;\r\n getMaxCGPOverlayZIndex(): number;\r\n closeAllDialogs(): void;\r\n countDialogs(opts: {includeHidden: boolean;}): number;\r\n}","import {UserController_GetPendingActionsResponse} from \"../../../api/api.service\";\r\n\r\n\r\nexport interface IPendingActionExternalLinkHandler {\r\n openPendingAction(options?: TOptions): Promise;\r\n}\r\n\r\nexport type PendingActionData = UserController_GetPendingActionsResponse[\"PendingActions\"][number];\r\n\r\nexport enum PendingActionResultEnum {\r\n ContinueCurrentFlow,\r\n BlockCurrentFlow\r\n}\r\n\r\nexport enum PendingActionTypeEnum {\r\n ResponsibleGaming = 19,\r\n ResponsibleGamingPhase2 = 22,\r\n\r\n /*\r\n Register player to regulator = 1,\r\n Demo to Real conversion = 2,\r\n Privacy policy = 3,\r\n Terms and Conditions approval = 4,\r\n Spain Full Migration = 5,\r\n Spain Only Migration = 6,\r\n Spain Only Registartion = 7,\r\n Complete Registration = 8,\r\n OPT-IN (whether the user wants Promotion Emails ) = 9,\r\n Geo Locate Mobile = 10,\r\n Players acknowledges before continuing = 11,\r\n Email Verification = 13,\r\n NEM-ID authentication required = 14,\r\n Sweden migration = 15,\r\n UK DOB Verification = 16,\r\n UK Address Verification = 17,\r\n UK View Verification Page = 18,\r\n Responsible Gaming = 19,\r\n Bonus Policy change = 20,\r\n Hesse Terms and Conditions Approval = 21,\r\n Responsible Gaming Phase 2 = 22,\r\n Retry Page = 23,\r\n Adding playing time limits = 24,\r\n ResubscribePending = 28,\r\n */\r\n}\r\n\r\nexport enum PendingActionReasonEnum {\r\n GamingCautionInteraction = 20,\r\n /*\r\n Complete real registration process = 1,\r\n Time out in registration to regulator = 2,\r\n Regulation Migration Process = 3,\r\n Short Registration Process = 4,\r\n Geo Location Detection = 5,\r\n Deposited more than the limit = 6,\r\n ThePlayerShouldVerifyHisEmailBeforeContinuing = 7,\r\n Terms and Conditions update = 8,\r\n Other = 9,\r\n DE Migration Process = 10,\r\n Danish Player should be authenticated with its NEM-ID = 11,\r\n UK account verification = 12,\r\n Gaming Caution escalation = 14,\r\n Adding playing time limits = 16,\r\n Adding playing time limits = 17,\r\n */\r\n}\r\n\r\nexport enum PendingActionIdEnum {\r\n SwedenGamingCaution = 40\r\n}","import {MarketingParams} from \"../../../../../common/interfaces/marketing-params.interface\";\r\nimport {IChannel} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport const REGISTRATION_DATA_KEY = 'storeRegistrationData';\r\n\r\nexport interface IOpenRegistrationOptions {\r\n channel: IChannel;\r\n businessCorrelationID?: string;\r\n marketingParams?: MarketingParams;\r\n promoCode?: string;\r\n}\r\n\r\nexport interface IRegistrationExternalLinkHandler {\r\n openRegistration(options?: IOpenRegistrationOptions): Promise;\r\n}","import {IGamePartsViewModel} from \"../game-parts/game-parts-view-model.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameSize} from \"../open-game-api-callers/open-game-api-response.interface\";\r\nimport {\r\n Nullable,\r\n NullableUndefinedString,\r\n UndefinedNumber\r\n} from \"../../../../../common/types/nullable-types\";\r\nimport {IRunningGameControllerViewModel} from \"../game-controller/running-game-controller.interface\";\r\nimport {IOpenHistoryGameParams} from \"../../game-runner.service.interface\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../free-play/vouchers/free-play-voucher-view-model.interface\";\r\n\r\nexport enum GameModeEnum {\r\n Demo = 0,\r\n Real = 1,\r\n History = 2\r\n}\r\n\r\nexport interface IGameSessionDataViewModel {\r\n readonly totalBets: number;\r\n readonly totalWins: number;\r\n readonly bankroll: number;\r\n readonly vendorGameSessionId: NullableUndefinedString;\r\n readonly regulationGameSessionId: NullableUndefinedString;\r\n readonly regulationParticipationTicketId: NullableUndefinedString;\r\n readonly netPosition: number;\r\n}\r\n\r\nexport interface IGameFreePlayContextViewModel {\r\n readonly isFreePlay: boolean;\r\n readonly isCurrentFreePlayMandatory: boolean;\r\n readonly shouldShowFreePlayHeader: boolean;\r\n readonly currentFreePlayVoucher: IFreePlayVoucherViewModel | null;\r\n readonly otherAvailableVouchersForCurrentGame: IFreePlayVoucherViewModel[];\r\n}\r\n\r\nexport interface IGameContextViewModel {\r\n readonly gameMode: GameModeEnum;\r\n readonly gameInfo: GameInfo;\r\n readonly controller: IRunningGameControllerViewModel;\r\n readonly gameParts: IGamePartsViewModel;\r\n readonly launchGameUrl: string | null;\r\n readonly gameSize: Nullable;\r\n readonly isGameResizable: boolean;\r\n readonly freePlayContext: IGameFreePlayContextViewModel;\r\n readonly historyGameParams: IOpenHistoryGameParams | undefined;\r\n readonly gameSessionData: IGameSessionDataViewModel;\r\n readonly referrerId: UndefinedNumber;\r\n readonly allowSwitchBetweenDemoAndReal: boolean;\r\n}","import {GameContextModel} from \"../../../companies/game-context/game-context.model\";\r\n\r\nexport enum GameStepsExecutionResultEnum {\r\n Continue,\r\n Cancel\r\n}\r\n\r\n\r\nexport interface IGameRunStep {\r\n readonly isEnabled: boolean;\r\n disableGameStep(): this;\r\n enableGameStep(): this;\r\n executeStep(gameContext: GameContextModel): Promise;\r\n dispose(): void;\r\n}","export enum GameVendorId {\r\n V_888 = 1,\r\n V_CTXM = 2,\r\n V_vsGaming = 3,\r\n V_Electracade = 4,\r\n V_LNW = 5,\r\n V_Rival = 6,\r\n V_Dynamite = 7,\r\n V_Ashgaming = 8,\r\n V_Crypto = 9,\r\n V_BlueSq = 10,\r\n V_Bellfruit = 11,\r\n V_Sportech = 12,\r\n V_Netent = 13,\r\n V_Evolution = 14,\r\n V_WagerWorks = 15,\r\n V_Betlow = 16,\r\n V_Fremantle = 17,\r\n V_Gamesq = 18,\r\n V_DSL = 19,\r\n V_Ponsbic = 20,\r\n V_Blueprint = 21,\r\n V_Endemol = 22,\r\n V_Mazooma = 23,\r\n V_Genesis = 24,\r\n V_RevolverGaming = 25,\r\n V_Kambi = 26,\r\n V_NetEnt = 27,\r\n V_LNW2 = 28,\r\n V_Ingenuity = 29,\r\n V_PlayTech = 30,\r\n V_UniversalStudios = 31,\r\n V_IGT = 32,\r\n V_Elk = 33,\r\n V_Thunderkick = 34,\r\n V_Merkur = 35,\r\n V_NextGenBigTime = 36,\r\n V_Sigma = 37,\r\n V_Wizard = 38,\r\n V_Quickspin = 39,\r\n V_GamesGlobal = 40,\r\n V_Yggdrasil = 41,\r\n V_Amatic = 42,\r\n V_BallyWulff = 43,\r\n V_Skilzz = 44,\r\n V_LightningBox = 46,\r\n V_RedTiger = 47,\r\n V_Pragmatic = 48,\r\n V_NorthernLight = 49,\r\n V_H5 = 50,\r\n V_RubyPlay = 51,\r\n V_NextGenChanceInteractive = 52,\r\n V_PlayNGo = 53,\r\n V_AGS = 54,\r\n V_Gamevy = 55,\r\n V_Eyecon = 56,\r\n V_Greentube = 57,\r\n V_iSoftBet = 58,\r\n V_Playson = 59,\r\n V_Spectate = 60,\r\n V_Inspired = 61,\r\n V_PGSoft = 62,\r\n V_Skywind = 63,\r\n V_Habanero = 64,\r\n V_MGA = 65,\r\n V_RFranco = 66,\r\n V_4theplayer = 67,\r\n V_Realistic = 68,\r\n V_Oryx = 69,\r\n V_ReelPlay = 70,\r\n V_GamingRealms = 71,\r\n V_Hacksaw = 72,\r\n V_PushGaming = 73,\r\n V_WMG = 74,\r\n V_1x2 = 75,\r\n V_GoldenRace = 76,\r\n V_Leap = 77,\r\n V_Core = 78,\r\n V_ReelNRG = 79,\r\n V_IronDog = 80,\r\n V_Authentic = 81,\r\n V_Gamomat = 82,\r\n V_EGT = 83,\r\n V_Endorphina = 84,\r\n V_Betsoft = 85,\r\n V_Playzido = 86,\r\n V_RedRake = 87,\r\n V_PlayzidoOthers = 88,\r\n V_TomHorn = 89,\r\n V_NeoGames = 90,\r\n V_BFGames = 91,\r\n V_Kalamba = 92,\r\n V_GiveMe = 93,\r\n V_GoldenHero = 94,\r\n V_2by2 = 95,\r\n V_PlankGaming = 96,\r\n V_BulletproofGames = 97,\r\n V_Ainsworth = 98,\r\n V_Everi = 99,\r\n V_Wazdan = 100,\r\n V_PlayzidoReelplay = 101,\r\n V_Gong = 102,\r\n V_NoLimitCity = 103,\r\n V_DWG = 104,\r\n V_TripleCherry = 105,\r\n V_Spearhead = 106,\r\n V_Spinomenal = 107,\r\n V_Spribe = 108,\r\n V_CIRSA = 109,\r\n V_Funfair = 110,\r\n V_GreenJade = 111,\r\n V_NazionaleElectronica = 112,\r\n V_Booming = 113,\r\n V_Darwin = 114,\r\n V_Betixon = 115,\r\n V_NetGaming = 116,\r\n V_BGaming = 117,\r\n V_BlueHorn = 118,\r\n V_SpinPlay = 119,\r\n V_Arcadia = 120,\r\n V_Stakelogic = 121,\r\n V_Live5 = 122,\r\n V_Swintt = 123,\r\n V_Edict = 124,\r\n V_GameArt = 125,\r\n V_LadyLuck = 126,\r\n V_SmartSoft = 127,\r\n V_Spinberry = 128,\r\n V_TopSpin = 129,\r\n V_eZugi = 130,\r\n V_IndigoMagic = 131,\r\n V_AtomicLabs = 132,\r\n V_Bluberi = 133,\r\n V_RAW = 134,\r\n V_Reevo = 135,\r\n V_WhiteHat = 136,\r\n V_Galaxis = 137,\r\n V_Synot = 138,\r\n V_EGTDigital = 139\r\n }","import {GameInfo} from '../games/game-info';\r\nimport React from \"react\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\n\r\nexport interface IFiltersGroup {\r\n text: string;\r\n filters: ActiveFilter[];\r\n isMultiSelect: boolean;\r\n}\r\n\r\nexport interface ActiveFilter {\r\n readonly id: string;\r\n readonly text: string;\r\n readonly on: boolean;\r\n readonly isDynamic: boolean;\r\n}\r\n\r\n\r\n\r\nexport enum FilterIndicatorRenderingLocation {\r\n BelowArenaTitle,\r\n NextToArenaTitle\r\n}\r\nexport interface IFilterIndicatorRenderingOptions {\r\n reactElement: React.ReactElement;\r\n location: FilterIndicatorRenderingLocation;\r\n}\r\n\r\nexport interface IGamesFilterService {\r\n\r\n readonly filteredGamesMap: Record;\r\n readonly isFilterOn: boolean;\r\n readonly currentAppliedFiltersIds: string[];\r\n readonly isFilteringAvailable: boolean;\r\n isFilterApplied(filterId: string): boolean;\r\n applyFilters(filterIds: string[]): Promise;\r\n clearFilters(): Promise;\r\n renderMobileFiltersIndicator(): React.ReactElement;\r\n renderFiltersIndicator(): Nullable;\r\n showFiltersEditor(): void;\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number;\r\n}\r\n","export enum GamingHistoryType {\r\n UserHistory = 1,\r\n SessionHistory = 2\r\n}\r\n","import {IModalDialogHandler} from \"../../dialog/dialog.service.interface\";\r\nimport {GeoComplyFailureReason} from \"./geo-comply-error-codes\";\r\nimport {GeoLocationAnalytics} from \"../geo-location-analytics\";\r\nimport {IGeoRestrictionsUpdateEventParams} from \"../../sdk/sdk-events\";\r\n\r\nexport enum GeoLocationReason {\r\n Login = 'Login',\r\n Periodic = 'Periodic',\r\n Retry = 'Retry',\r\n //AutoRetry = 'Auto Retry',\r\n OpenRealGame= 'OPEN_REAL_GAME'\r\n};\r\n\r\n\r\nexport interface IGeoLocationStrategyRunParams {\r\n licenseKey: string;\r\n licenseWebKey: string;\r\n locationTransactionId: string;\r\n mobileNumber: string;\r\n reason: GeoLocationReason;\r\n progressIndicator?: IModalDialogHandler;\r\n analytics: GeoLocationAnalytics;\r\n\r\n}\r\n\r\nexport interface IGeoComplyError {\r\n errorCode: number;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface IGeoComplyFailure {\r\n geoComplyError?: IGeoComplyError;\r\n additionalFailureReason: GeoComplyFailureReason;\r\n}\r\n\r\nexport interface IGeoComplyResponse {\r\n data?: string;\r\n failure?: IGeoComplyFailure;\r\n}\r\n\r\nexport enum GeoValidationResult {\r\n Fail,\r\n Pass\r\n}\r\n\r\nexport interface IGeoRunResult {\r\n geoComplyFailure?: IGeoComplyFailure;\r\n validationResult: GeoValidationResult;\r\n kickParams?: IGeoRestrictionsUpdateEventParams;\r\n\r\n}\r\n\r\nexport interface IGeoLocationStrategy {\r\n runGeoLocation(params: IGeoLocationStrategyRunParams): Promise;\r\n dispose(): void;\r\n}","enum GNWP_SOURCES {\r\n CASHIER = 'cashier',\r\n CONTACT_US = 'contact_us',\r\n MEMBERSHIP = 'membership',\r\n FORGOT_PASSWORD = 'forgot_password',\r\n FORGOT_USERNAME = 'forgot_username',\r\n MY_ACCOUNT = 'my_account',\r\n OMG = 'omg',\r\n SPORT = 'sport',\r\n RICH = 'rich',\r\n PENDING_LOGIN = 'pending_login',\r\n PENDING_PLAY = 'pending_play',\r\n DOCUMENT_UPLOAD = 'upload_document',\r\n HELP = 'help',\r\n PENDING_APP = 'pending_app',\r\n POKER = 'poker',\r\n LIVE_CHAT = 'live_chat'\r\n}\r\n\r\nexport {GNWP_SOURCES};\r\n","/** Upper limits (non-inclusive) for media breakpoints */\r\nexport const breakpoints = {\r\n xsMax: 401,\r\n sMax: 768,\r\n mMax: 1024,\r\n lMax: 1280,\r\n xlMax: 1480\r\n};\r\n","export enum MediaType {\r\n All = \"all\",\r\n Screen = \"screen\",\r\n Print = \"print\",\r\n Speech = \"speech\",\r\n OnlyScreen = \"only screen\"\r\n}\r\nexport enum MediaOrientation {\r\n Portrait = \"portrait\",\r\n Landscape = \"landscape\"\r\n}\r\nexport enum MediaPointer {\r\n Fine = \"fine\",\r\n Coarse = \"coarse\",\r\n None = \"none\"\r\n}\r\n\r\nexport class MediaQueryBuilder {\r\n static get For(): MediaQueryBuilder {\r\n return new MediaQueryBuilder();\r\n }\r\n private _rules: string[] = [];\r\n private _mediaType: MediaType | undefined;\r\n\r\n mediaType(m: MediaType): MediaQueryBuilder {\r\n this._mediaType = m;\r\n return this;\r\n }\r\n minWidth(w: number): MediaQueryBuilder {\r\n this._rules.push(`(min-width: ${w}px)`);\r\n return this;\r\n }\r\n maxWidth(w: number): MediaQueryBuilder {\r\n this._rules.push(`(max-width: ${w}px)`);\r\n return this;\r\n }\r\n minHeight(h: number): MediaQueryBuilder {\r\n this._rules.push(`(min-height: ${h}px)`);\r\n return this;\r\n }\r\n maxHeight(h: number): MediaQueryBuilder {\r\n this._rules.push(`(max-height: ${h}px)`);\r\n return this;\r\n }\r\n orientation(o: MediaOrientation): MediaQueryBuilder {\r\n this._rules.push(`(orientation: ${o})`);\r\n return this;\r\n }\r\n hover(t: boolean) {\r\n this._rules.push(`(hover: ${t ? 'hover' : 'none'})`);\r\n return this;\r\n }\r\n anyHover(t: boolean) {\r\n this._rules.push(`(any-hover: ${t ? 'hover' : 'none'})`);\r\n return this;\r\n }\r\n pointer(precision?: MediaPointer) {\r\n if (precision) {\r\n this._rules.push(`(pointer: ${precision})`);\r\n } else {\r\n this._rules.push(`(pointer)`);\r\n }\r\n return this;\r\n }\r\n anyPointer(precision?: MediaPointer) {\r\n if (precision) {\r\n this._rules.push(`(any-pointer: ${precision})`);\r\n } else {\r\n this._rules.push(`(any-pointer)`);\r\n }\r\n return this;\r\n }\r\n build(): string {\r\n let rules = [...this._rules];\r\n if (this._mediaType) {\r\n rules.unshift(this._mediaType);\r\n }\r\n return rules.join(' and ');\r\n }\r\n}","import { breakpoints } from \"./breakpoints\";\r\nimport { IMediaQueries } from \"./media-queries.interface\";\r\nimport { MediaOrientation, MediaPointer, MediaQueryBuilder } from \"./media-query-builder\";\r\n\r\nlet { xsMax, sMax, mMax, lMax, xlMax } = breakpoints;\r\n\r\nexport const mediaQueries: IMediaQueries = {\r\n xs: MediaQueryBuilder.For.maxWidth(xsMax - 1).build(),\r\n\r\n sAndBelow: MediaQueryBuilder.For.maxWidth(sMax - 1).build(),\r\n sExact: MediaQueryBuilder.For.minWidth(xsMax).maxWidth(sMax - 1).build(),\r\n sAndAbove: MediaQueryBuilder.For.minWidth(xsMax).build(),\r\n\r\n mAndBelow: MediaQueryBuilder.For.maxWidth(mMax - 1).build(),\r\n mExact: MediaQueryBuilder.For.minWidth(sMax).maxWidth(mMax - 1).build(),\r\n mAndAbove: MediaQueryBuilder.For.minWidth(sMax).build(),\r\n\r\n lAndBelow: MediaQueryBuilder.For.maxWidth(lMax - 1).build(),\r\n lExact: MediaQueryBuilder.For.minWidth(mMax).maxWidth(lMax - 1).build(),\r\n lAndAbove: MediaQueryBuilder.For.minWidth(mMax).build(),\r\n\r\n xlAndBelow: MediaQueryBuilder.For.maxWidth(xlMax - 1).build(),\r\n xlExact: MediaQueryBuilder.For.minWidth(lMax).maxWidth(xlMax - 1).build(),\r\n xlAndAbove: MediaQueryBuilder.For.minWidth(lMax).build(),\r\n\r\n xxl: MediaQueryBuilder.For.minWidth(xlMax).build(),\r\n\r\n portrait: MediaQueryBuilder.For.orientation(MediaOrientation.Portrait).build(),\r\n landscape: MediaQueryBuilder.For.orientation(MediaOrientation.Landscape).build(),\r\n\r\n lowHeight: MediaQueryBuilder.For.maxHeight(900).build(),\r\n\r\n hover: MediaQueryBuilder.For.hover(true).build(),\r\n hoverNone: MediaQueryBuilder.For.hover(false).build(),\r\n\r\n anyHover: MediaQueryBuilder.For.anyHover(true).build(),\r\n anyHoverNone: MediaQueryBuilder.For.anyHover(false).build(),\r\n\r\n pointer: MediaQueryBuilder.For.pointer().build(),\r\n pointerFine: MediaQueryBuilder.For.pointer(MediaPointer.Fine).build(),\r\n pointerCoarse: MediaQueryBuilder.For.pointer(MediaPointer.Coarse).build(),\r\n pointerNone: MediaQueryBuilder.For.pointer(MediaPointer.None).build(),\r\n\r\n anyPointer: MediaQueryBuilder.For.anyPointer().build(),\r\n anyPointerFine: MediaQueryBuilder.For.anyPointer(MediaPointer.Fine).build(),\r\n anyPointerCoarse: MediaQueryBuilder.For.anyPointer(MediaPointer.Coarse).build(),\r\n anyPointerNone: MediaQueryBuilder.For.anyPointer(MediaPointer.None).build()\r\n}\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class AboutDialogAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"aboutDialogMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.orbitComponentInsideSdkProvider.showAboutDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport default class CashierUploadDocumentsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"cashierUploadDocumentsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openUploadDocumentsFromCashier();\r\n }\r\n}","import {AppIdentifiers, AreaType, ChatOpenMode} from \"@sparkware/uc-sdk-core\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemActionBase} from \"../menu-item-action-base\";\r\n\r\n\r\nexport default class ChatAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"chatMenuItem\",configReader, services);\r\n }\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openChat( {\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n appSpecificParameters: {\r\n openMode: ChatOpenMode.Chat,\r\n },\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n element: this.key,\r\n source: AppIdentifiers.CasinoClient\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MyAccountTab} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class ComPointsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"compPointsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMyAccount({\r\n tabId: MyAccountTab.ComPoints\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class ControlCenterAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"controlCenterMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class DepositAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"depositMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openDeposit({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.NavigationMenu,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class GameRemindersAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"gameRemindersMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n\r\n this.services.sdk.openOptions('ReminderSettings');\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AppIdentifiers, AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class HelpCenterAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"helpCenterMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openContactUs({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n element: AppIdentifiers.CRHelpCenter,\r\n source: AppIdentifiers.CasinoClient\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../dialog/dialog.service.interface\";\r\n\r\nexport default class HybridInfoAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"hybridInfoMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n const hybridInfo = await this.services.hybrid.getInfoForDisplay();\r\n this.services.dialog.showSimpleTextModal({\r\n title: 'Info',\r\n text: hybridInfo,\r\n buttons: [\r\n {\r\n text: 'Close',\r\n buttonPreset: 'special',\r\n onClick: async () => {\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: 'Mail to',\r\n buttonPreset: 'primary',\r\n onClick: async () => {\r\n this.services.hybrid.openMail(hybridInfo);\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n ]\r\n })\r\n await this.services.orbitComponentInsideSdkProvider.showAboutDialog();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class InactivityTimeoutSettingsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"inactivityTimeoutSettingsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n this.services.sdk.openOptions('InactivityTimeoutSettings');\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class InstallPwaAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"installPWAMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.progressiveWebApp.prompt();\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class LoyaltyIndicatorAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"loyaltyIndicatorMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //nothing to do here\r\n }\r\n\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {MyAccountTab} from \"@sparkware/uc-sdk-core\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class MyClubAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"myClubMenuItem\", configReader, services)\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMyAccount({\r\n tabId: MyAccountTab.LCChallenges\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nexport default class PushNotificationsPermissionsRequestAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"pushNotificationsPermissionsRequest\", configReader, services)\r\n }\r\n\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sdk.promptPushNotificationPermissionRequest();\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CashierSessionType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class ReverseWithdrawalAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"reverseWithdrawalMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openOldCashier({sessionType: CashierSessionType.ReverseWithdrawal});\r\n }\r\n}\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\n\r\nexport default class SignUpAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"signUpMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMembership({\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.registerButton\r\n },\r\n marketingParams: {\r\n dl: this.config.dl\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\n/**\r\n * This class is for demonstrating how to override menu items per regulation. It should be removed when we will have a real case\r\n */\r\nexport default class TestRegulationSpecificAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"testRegulationSpecificMenuItem\", configReader, services);\r\n }\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.dialog.showSimpleTextModal({\r\n text: 'Test regulation specific menu item',\r\n title: 'test',\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterDeeplink, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class TimeSpentReminderAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"timeSpentReminderMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n deeplink: ControlCenterDeeplink.TimeSpentReminderPage,\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class TouchIdAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //this.services.sdk.openOptions('TouchId', '2');\r\n this.services.specificDialogs.showModifyBiometricDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class TransactionHistoryAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"transactionHistoryMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openTransactionHistory(\r\n {\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.transactionHistoryButton\r\n }\r\n }\r\n );\r\n }\r\n}","import {IMenuItemAction, IMenuItemExecuteOptions} from \"./menu-item-action.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader, MenuItemConfigurationExtended\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../common/types/nullable-types\";\r\n\r\nexport abstract class MenuItemActionBase implements IMenuItemAction {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n\r\n protected abstract _onClick(options?: IMenuItemExecuteOptions): Promise;\r\n\r\n async execute(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n this.services.hybrid.closeSecondWebView();\r\n this.services.drawer.right.closeDrawer();\r\n const analytics = this.config.analytics;\r\n if(analytics) {\r\n this.services.analytics.sendOrbitUserFlowEvent(analytics.category, analytics.action, analytics.label);\r\n }\r\n await this._onClick();\r\n }\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n\r\n protected get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return false;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n if(!this.config.linkId) {\r\n return null;\r\n }\r\n return this.services.linksNavigation.getLinkUrl(this.config.linkId);\r\n }\r\n\r\n}","import {IMenuItemRenderer, IRenderMenuItemOptions} from \"./menu-item.renderer.interface\";\r\nimport React from \"react\";\r\nimport {\r\n IMenuItemAction,\r\n IMenuItemExecuteOptions\r\n} from \"../../menu-item-action-factory/menu-item-action.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../../common/types/nullable-types\";\r\nimport {IconSourceConfiguration} from \"../../configurations/config-data-sections/icon-source.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader,\r\n MenuItemConfigurationExtended\r\n} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport abstract class MenuItemRendererBase implements IMenuItemRenderer {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n this.menuItemAction = this.services.menuItemActionFactory.getMenuItemAction(this.key, this.configReader);\r\n }\r\n\r\n protected abstract _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement;\r\n\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n protected _lastRenderOptions: IRenderMenuItemOptions | undefined = undefined;\r\n\r\n private get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n private readonly menuItemAction: IMenuItemAction;\r\n\r\n renderMenuItem(options?: IRenderMenuItemOptions): React.ReactElement {\r\n this._lastRenderOptions = options;\r\n return this._createReactElement(options);\r\n }\r\n\r\n execute(options?: IMenuItemExecuteOptions): Promise {\r\n if(this._lastRenderOptions?.onBeforeClick) {\r\n this._lastRenderOptions.onBeforeClick();\r\n }\r\n return this.menuItemAction.execute(options);\r\n }\r\n\r\n\r\n get text(): string {\r\n return this.services.translation.translate(this.config.text);\r\n }\r\n\r\n get sideText(): NullableUndefinedString {\r\n return null;\r\n }\r\n\r\n get imageOnlyRendering(): boolean {\r\n return this.config.imageOnlyRendering ?? false;\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this.config.display ?? true;\r\n }\r\n\r\n get display(): boolean {\r\n return this._shouldDisplay();\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return this.menuItemAction.isMatchToCurrentUrl;\r\n }\r\n\r\n get iconSource(): IconSourceConfiguration {\r\n return this.config.menuItemIconSource ?? \"themeIcons\";\r\n }\r\n\r\n get icon(): NullableUndefinedString {\r\n return this.config.menuItemIcon;\r\n }\r\n\r\n get iconAltText(): NullableUndefinedString {\r\n return this.config.menuItemIconAltText;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n return this.menuItemAction.getLinkUrl();\r\n }\r\n\r\n\r\n}","import {ServiceBase} from \"../ServiceBase\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"./pixi-spine-animation\";\r\n\r\nexport enum AnimatedIconUnloadReason {\r\n CONTEXT_LOST,\r\n VIEWPORT_EXIT,\r\n REQUESTED,\r\n GAME_OPEN\r\n}\r\n\r\nexport interface IAnimatedIconRequestOptions {\r\n jsonUrl: string;\r\n wrapper: HTMLElement;\r\n size: {width: number; height: number};\r\n timings: {delay: number; interval: number;};\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(reason: AnimatedIconUnloadReason): void;\r\n}\r\n\r\nexport type AnimatedIconObservableTarget = IAnimatedIconRequestOptions & {\r\n animation?: PixiSpineAnimation;\r\n animationDisposer?(reason: AnimatedIconUnloadReason): void;\r\n inViewport?: boolean;\r\n};\r\n\r\n\r\nexport class AnimatedIconBaseService extends ServiceBase{\r\n\r\n\r\n protected loadAnimatedIcon(options: AnimatedIconObservableTarget, resourceName: string) {\r\n if (options.animation && (options.animation.status === AnimationStatus.Loading || options.animation.status === AnimationStatus.Running)) {\r\n throw new Error(\"Animated Icon Loading in progress already for this icon. Please be patient\");\r\n }\r\n\r\n let iconPixiAnimation = new PixiSpineAnimation(this.services, {\r\n width: options.size.width, height: options.size.height,\r\n onContextLost: () => {\r\n if (options.animationDisposer) {\r\n options.animationDisposer(AnimatedIconUnloadReason.CONTEXT_LOST);\r\n }\r\n }\r\n }, [{name: resourceName, jsonUrl: options.jsonUrl}], {\r\n render: ({spineAnimations, loaderResources}) => {\r\n let spineAnimation = spineAnimations[resourceName];\r\n // get the animations\r\n const availableAnimations = loaderResources[resourceName].spineData.animations.map(a => a.name);\r\n\r\n // play animation\r\n const runAnimation = () => {\r\n // animated icons will have only one animation that we play in loop. There won't be complex timeline animations\r\n spineAnimation.state.setAnimation(0, availableAnimations[0], false);\r\n }\r\n let animationSchedule: any;\r\n\r\n spineAnimation.state.addListener({\r\n complete: (entry) => {\r\n // when animation completes, schedule the next iteration\r\n animationSchedule = setTimeout(runAnimation, options.timings.interval);\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n options.animationDisposer = (reason: AnimatedIconUnloadReason) => {\r\n if (options.onAnimationWillUnload) {\r\n options.onAnimationWillUnload(reason);\r\n }\r\n iconPixiAnimation.dispose();\r\n };\r\n\r\n return () => {\r\n clearTimeout(animationSchedule);\r\n };\r\n }\r\n }, {\r\n display: \"block\",\r\n width: \"100%\"\r\n });\r\n\r\n options.animation = iconPixiAnimation;\r\n options.animationDisposer = iconPixiAnimation.dispose;\r\n\r\n iconPixiAnimation.start().then(({status}) => {\r\n if (status === AnimationStatus.Running) {\r\n if (options.onAnimationLoad) {\r\n options.onAnimationLoad();\r\n }\r\n iconPixiAnimation.attachToDOM(options.wrapper);\r\n }\r\n }).catch((e) => {\r\n // An error occured while loading the animated icon. log the error\r\n this.services.logger.error(e);\r\n });\r\n }\r\n}","import {CSSProperties} from \"react\";\r\nimport {IServiceFactory} from \"../service-factory.interface\";\r\nimport {Spine, IPixiAppCreateOptions, Application, LoaderResource} from \"./pixi-app.service.interface\";\r\n\r\nexport interface IPixiSpineResourceDef {\r\n name: string;\r\n jsonUrl: string;\r\n}\r\n\r\ntype AnimationDef = (stuff: {pixiApp: Application, spineAnimations: Record; loaderResources: Record;}) => (void | (() => void));\r\n\r\nexport interface IAnimationRenderer {\r\n render: AnimationDef;\r\n dispose?(): void\r\n}\r\n\r\nexport enum AnimationStatus {\r\n Idle,\r\n Loading,\r\n Failed,\r\n Aborted,\r\n Running,\r\n Disposed\r\n}\r\n\r\ninterface IPixiAnimationPromiseResultSuccess {\r\n status: AnimationStatus.Running;\r\n canvas: HTMLCanvasElement;\r\n}\r\ninterface IPixiAnimationPromiseResultOther {\r\n status: AnimationStatus.Failed | AnimationStatus.Aborted | AnimationStatus.Disposed;\r\n canvas?: undefined;\r\n}\r\n\r\ntype IPixiAnimationPromiseResult = IPixiAnimationPromiseResultSuccess | IPixiAnimationPromiseResultOther;\r\n\r\nexport class PixiSpineAnimation {\r\n private pixiApp: Application;\r\n private pixiAppDisposer: () => void;\r\n private _spineAnimations: Record = {};\r\n private _loaderResources: Record = {};\r\n private disposeActions: Array<() => void> = [];\r\n private _signalAborted = false;\r\n private _status: AnimationStatus = AnimationStatus.Idle;\r\n\r\n constructor(\r\n private services: IServiceFactory,\r\n private pixiAppCreateOptions: IPixiAppCreateOptions,\r\n private resourcesUrls: IPixiSpineResourceDef[],\r\n private renderer: IAnimationRenderer,\r\n private canvasCss?: CSSProperties\r\n ) {\r\n }\r\n\r\n private initPromise: Promise = null;\r\n public start(): Promise {\r\n if (!this.initPromise) {\r\n this.initPromise = this._initialize();\r\n }\r\n return this.initPromise;\r\n }\r\n\r\n private async _initialize(): Promise {\r\n // The init started, set the status as Loading\r\n this._status = AnimationStatus.Loading;\r\n // between constructor and start, the animation could have been aborted or disposed, check it\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // create pixi app. this loads the pixi and pixi-spine libraries first time they are called\r\n let {app: pixiApp, dispose: disposePixiApp, PixiSpine, canvas} = await this.services.pixiApp.createPixiApp(this.pixiAppCreateOptions);\r\n this.pixiApp = pixiApp;\r\n this.pixiAppDisposer = disposePixiApp;\r\n\r\n const {resources} = await this.services.pixiApp.loadResources(pixiApp, this.resourcesUrls).catch((e: unknown) => {\r\n this._status = AnimationStatus.Failed;\r\n disposePixiApp();\r\n throw e;\r\n });\r\n\r\n // loading of pixi libraries and animation resources are async, I must check if someone aborted the animation meanwhile\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // Apply custom CSS to the canvas element created by pixi\r\n if (this.canvasCss) {\r\n Object.getOwnPropertyNames(this.canvasCss).forEach((styleKey) => {\r\n canvas.style[styleKey] = this.canvasCss[styleKey];\r\n });\r\n }\r\n\r\n // for all loaded resources instantiate Spine objects.\r\n // keep both raw loaded resources and Spine objects in Map or Record objects. key is the name.\r\n this.resourcesUrls.forEach((resUrl) => {\r\n this._loaderResources[resUrl.name] = resources[resUrl.name];\r\n let spineAnimation = new PixiSpine.Spine(resources[resUrl.name].spineData);\r\n this._spineAnimations[resUrl.name] = spineAnimation;\r\n pixiApp.stage.addChild(spineAnimation);\r\n });\r\n\r\n // run the specific animation instructions that are given in constructor\r\n // for now, only sync code is supported. to support async make it await\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n const renderDisposer = this.renderer.render({pixiApp, spineAnimations: this._spineAnimations, loaderResources: this._loaderResources});\r\n if (renderDisposer) {\r\n this.disposeActions.push(renderDisposer);\r\n }\r\n\r\n // in case the renderer is async then we should check again if the loading was aborted.\r\n // for now, this code is useless because for the renderer to support async code it should be something like this:\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // all done, set the status to Running and return the status (resolve)\r\n this._status = AnimationStatus.Running;\r\n\r\n return {status: AnimationStatus.Running, canvas: this.pixiApp.view};\r\n }\r\n\r\n public attachToDOM(wrapper: HTMLElement): Promise {\r\n if (!this.initPromise) {\r\n throw new Error(\"Method attachToDOM MUST be called after the method start\");\r\n }\r\n return this.initPromise.then((result) => {\r\n // At this point the status can be only Aborted or Running\r\n // Or, after disposal, the status could be Disposed\r\n if (result.status === AnimationStatus.Running) {\r\n wrapper.appendChild(result.canvas);\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n public get spineAnimations() {\r\n return this._spineAnimations;\r\n }\r\n\r\n public get loaderResources() {\r\n return this._loaderResources;\r\n }\r\n\r\n public get status() {\r\n return this._status;\r\n }\r\n\r\n /**\r\n * Dispose is the one method to be called both for disposal of the running animation and for aborting a loading one\r\n * If the animation object is newly created or loading, then the controller abort will be called.\r\n * that will cause a call to _disposeInternal from the _initialize method, as soon as the method checks the aborted flag\r\n * If the animation is running, we set the disposed status and call _disposeInternal owrselves\r\n */\r\n public dispose = () => {\r\n if (this._status === AnimationStatus.Idle || this._status === AnimationStatus.Loading) {\r\n this._signalAborted = true;\r\n } else if (this._status === AnimationStatus.Running) {\r\n this._status = AnimationStatus.Disposed;\r\n this._disposeInternal();\r\n }\r\n }\r\n\r\n private _disposeInternal = () => {\r\n while (this.disposeActions.length) {\r\n const disposeAction = this.disposeActions.pop();\r\n disposeAction();\r\n };\r\n if (this.renderer.dispose) {\r\n this.renderer.dispose();\r\n }\r\n while (this.resourcesUrls.length) {\r\n const resource = this.resourcesUrls.pop();\r\n if (this._spineAnimations[resource.name]) {\r\n this._spineAnimations[resource.name].autoUpdate = false;\r\n this._spineAnimations[resource.name].destroy();\r\n delete this._spineAnimations[resource.name];\r\n }\r\n }\r\n this.pixiAppDisposer();\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { DepositSideMenuItemBox } from \"./boxes/link/deposit/deposit-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\nimport {DepositSideMenuItemIconBox} from \"./boxes/link/deposit/deposit-side-menu-item-icon.box\";\r\n\r\nexport class DepositSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n const DepositIcon = this.services.theme.currentTheme.icons.wallet;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.menuItem.text }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n onClick = async () => {\r\n await this.props.menuItem.execute();\r\n };\r\n}\r\n","import React from 'react';\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {\r\n DepositSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/deposit-side-menu-item.component\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\n\r\nexport default class DepositSideMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('depositMenuItem', configReader, services);\r\n }\r\n \r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {LoyaltyBarWrapperComponent} from \"../../loyalty-bar/loyalty-bar-wrapper.component\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class LoyaltyIndicatorSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {\r\n LoyaltyIndicatorSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component\";\r\n\r\nexport default class LoyaltyIndicatorMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('loyaltyIndicatorMenuItem', configReader, services);\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { DepositSideMenuItemBox } from \"../deposit/deposit-side-menu-item.box\";\r\n\r\nconst SignupSideMenuItemCasino888Box = styled(DepositSideMenuItemBox)`\r\n font-size: 1.6rem;\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n`;\r\n\r\nexport const SignupSideMenuItemBox = styledByTheme(DepositSideMenuItemBox)\r\n .forCasino888(SignupSideMenuItemCasino888Box)\r\n .apply();\r\n","// import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { DepositSideMenuItemIconBox } from \"../deposit/deposit-side-menu-item-icon.box\";\r\n\r\n// const SignupSideMenuItemIconSiBox = styled(DepositSideMenuItemIconBox)`\r\n// font-size: 1.6rem;\r\n// color: ${({theme}) => theme.colors.moneyColor };\r\n// `;\r\n\r\nexport const SignupSideMenuItemIconBox = styledByTheme(DepositSideMenuItemIconBox)\r\n // .forSI(SignupSideMenuItemIconSiBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { SignupSideMenuItemBox } from \"./boxes/link/signup/signup-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\nimport {SignupSideMenuItemIconBox} from \"./boxes/link/signup/signup-side-menu-item-icon.box\";\r\n\r\nexport class SignupSideMenuItemComponent extends OrbitComponent {\r\n\r\n onClickHandler = async () => {\r\n await this.props.menuItem.execute()\r\n };\r\n\r\n render() {\r\n const DepositIcon = this.services.theme.currentTheme.icons.registerUser;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.menuItem.text}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n}\r\n","import React from \"react\";\r\nimport {\r\n SignupSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/signup-side-menu-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\n\r\nexport default class SignUpSideMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('signUpMenuItem', configReader, services);\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export enum SessionStorageKeys {\r\n currentGameParams = 'OrbitCurrentGameParams'\r\n}","import {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IThemeCustomizer} from \"./theme.service.interface\";\r\n\r\nexport class StandardThemeCustomizer implements IThemeCustomizer {\r\n constructor(protected readonly services: IServiceFactoryExtended) {}\r\n getHomePageTopBannerHeight(): string {\r\n if (this.services.homepage.headerArenasStyleIsSmallTiles) {\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"22rem\";\r\n }\r\n\r\n return \"29rem\";\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"25rem\";\r\n } else if (this.services.mediaQuery.lAndBelow) {\r\n return \"30rem\";\r\n }\r\n\r\n return \"47rem\";\r\n }\r\n}\r\n","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 {ITranslationService} from \"./translation.service.interface\";\r\n\r\nexport class TranslationsHelper {\r\n constructor(private readonly translation: ITranslationService) {\r\n }\r\n\r\n minutes(value: number): string {\r\n if (value === 1) {\r\n return this.translation.translate('ONE_MINUTE');\r\n }\r\n return this.translation.translate('X_MINUTES', {x: value});\r\n }\r\n\r\n hours(value: number): string {\r\n if(value === 1) {\r\n return this.translation.translate('ONE_HOUR');\r\n }\r\n return this.translation.translate('X_HOURS', {x: value});\r\n }\r\n\r\n days(value: number): string {\r\n\r\n if(value === 1) {\r\n return this.translation.translate('ONE_DAY');\r\n }\r\n return this.translation.translate('X_DAYS', {x: value});\r\n }\r\n\r\n week(): string {\r\n return this.translation.translate('ONE_WEEK');\r\n }\r\n\r\n month(): string {\r\n return this.translation.translate('ONE_MONTH');\r\n }\r\n}","import {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\n\r\nexport default class HybridInfoMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('hybridInfoMenuItem', configReader, services);\r\n }\r\n protected _shouldDisplay(): boolean {\r\n return super._shouldDisplay() && this.services.hybrid.isDebugMode();\r\n }\r\n}","import {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {makeObservable, observable, runInAction} from \"mobx\";\r\nimport {NullableUndefinedString} from \"../../../../../../common/types/nullable-types\";\r\n\r\nexport default class TouchIdMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.sdk.events.onTouchIDActiveStateChanged(() => this._updateTouchIdStatus());\r\n\r\n if(this.services.device.hybrid.inCasino) {\r\n this._updateTouchIdStatus();\r\n }\r\n }\r\n\r\n private async _updateTouchIdStatus(): Promise {\r\n\r\n\r\n try {\r\n const isEnabled = await this.services.hybrid.isDeviceTouchEnable();\r\n\r\n runInAction(() => {\r\n this._enabled = Boolean(isEnabled);\r\n });\r\n\r\n if(isEnabled) {\r\n const isFeatureOn = await this.services.hybrid.getTouchIDFeaturer().getTokenAndCheckEnable();\r\n runInAction(() => {\r\n if(Boolean(isFeatureOn)) {\r\n this._extraText = 'On';\r\n } else {\r\n this._extraText = 'Off';\r\n }\r\n });\r\n }\r\n } catch (err) {\r\n this.services.logger.error('Failed to check touch ID feature', err);\r\n }\r\n\r\n\r\n }\r\n\r\n @observable.ref\r\n private _enabled: boolean = false;\r\n\r\n @observable.ref\r\n private _extraText: NullableUndefinedString = null;\r\n\r\n get sideText(): NullableUndefinedString {\r\n return this._extraText;\r\n\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this._enabled && super._shouldDisplay() && this.services.device.hybrid.inCasino;\r\n }\r\n}","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\n\r\nexport const UsefulLinkItemComponent: React.FC = observer((props) => {\r\n const onClickHandler = async () => {\r\n await props.menuItem.execute();\r\n }\r\n\r\n return \r\n});","import React from 'react';\r\nimport {UsefulLinkItemComponent} from '../../../../components/useful-links/parts/useful-link-item/useful-link-item.component';\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport classNames from 'classnames';\r\n\r\nexport class GenericUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export enum GamesOpenSessionsKind\r\n{\r\n Real = 0,\r\n FreePlay = 1,\r\n All = 2\r\n}","export interface IAsset {\r\n toString(): string;\r\n}\r\n\r\nexport interface AssetLocationInfo {\r\n readonly skinFullName: string;\r\n readonly serverPath: string;\r\n readonly configurationPath: string;\r\n}\r\nexport class Asset implements IAsset {\r\n constructor(private _relativePath: string, private _brandsOverrides: { [key: string]: boolean }) {\r\n }\r\n\r\n\r\n private _locationInfo: AssetLocationInfo;\r\n\r\n resolveLocation(locationInfo: AssetLocationInfo): string {\r\n this._locationInfo = locationInfo;\r\n return this.toString();\r\n }\r\n\r\n toString(): string {\r\n if(!this._locationInfo) { // this is for the asset to work on unit testing time\r\n return this._relativePath;\r\n }\r\n\r\n if (this._brandsOverrides[this._locationInfo.skinFullName]) {\r\n return this._locationInfo.configurationPath + 'assets/' + this._relativePath;\r\n }\r\n\r\n return this._locationInfo.serverPath + 'assets/' + this._relativePath;\r\n }\r\n}\r\n","import { ThemeName } from \"./theme-names\";\r\n\r\nexport class ByThemeRegistry {\r\n constructor(private _default: T) {}\r\n\r\n private _registry: Partial> = {};\r\n\r\n forCasino777(override: T): this {\r\n this._registry[ThemeName.Casino777.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCasino888(override: T): this {\r\n this._registry[ThemeName.Casino888.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCip(override: T): this {\r\n this._registry[ThemeName.Casino888Cip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsopCip(override: T): this {\r\n this._registry[ThemeName.WsopCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCis(override: T): this {\r\n this._registry[ThemeName.Casino888Cis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrahs(override: T): this {\r\n this._registry[ThemeName.Harrahs.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsop(override: T): this {\r\n this._registry[ThemeName.Wsop.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSI(override: T): this {\r\n this._registry[ThemeName.SI.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSICis(override: T): this {\r\n this._registry[ThemeName.SICis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreen(override: T): this {\r\n this._registry[ThemeName.MrGreen.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCis(override: T): this {\r\n this._registry[ThemeName.MrGreenCis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCip(override: T): this {\r\n this._registry[ThemeName.MrGreenCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n getRegistryItem = (themeName: ThemeName) => {\r\n return this._registry[themeName.forClient] ? this._registry[themeName.forClient] : this._default;\r\n }\r\n}\r\n","import {EMBEDDED_HYBRID, MINI_ORBIT} from '../../css-global-classes';\r\n\r\nexport class CssRule {\r\n static get For(): CssRule {\r\n return new CssRule()\r\n }\r\n private _rules: string[] = [];\r\n private negateNextRule: boolean = false;\r\n private formatRule(rule: string) {\r\n if (this.negateNextRule) {\r\n this.negateNextRule = false;\r\n return `:not(${rule})`;\r\n }\r\n return rule;\r\n }\r\n get not(): CssRule {\r\n this.negateNextRule = true\r\n return this;\r\n }\r\n get desktop(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-pc'));\r\n return this;\r\n }\r\n\r\n get ipad(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-ipad-device'));\r\n return this;\r\n }\r\n\r\n get mobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-mobile'));\r\n return this;\r\n }\r\n\r\n get notMobileOs(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-not-mobile-os'));\r\n return this;\r\n }\r\n\r\n get lowRes(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-low-resolution'));\r\n return this;\r\n }\r\n\r\n get portrait(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-portrait'));\r\n return this;\r\n }\r\n\r\n get landscape(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-landscape'));\r\n return this;\r\n }\r\n\r\n get tablet(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-tablet'));\r\n return this;\r\n }\r\n\r\n get RTL(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-rtl'));\r\n return this;\r\n }\r\n\r\n get embededHybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.${EMBEDDED_HYBRID}`));\r\n return this;\r\n }\r\n\r\n get hybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.cgp-hybrid`));\r\n return this;\r\n }\r\n\r\n get iPhoneVer5(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-5'));\r\n return this;\r\n }\r\n\r\n get iPhoneVer10(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-10'));\r\n return this;\r\n }\r\n\r\n get realMobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-real-mobile'));\r\n return this;\r\n }\r\n\r\n get miniOrbit(): CssRule {\r\n this._rules.push(this.formatRule(`.${MINI_ORBIT}`));\r\n return this;\r\n }\r\n\r\n build(): string {\r\n if(this._rules.length === 0) {\r\n return '';\r\n }\r\n\r\n return `html${this._rules.join('')}`;\r\n }\r\n}\r\n","import styled, { css } from \"styled-components\";\r\n\r\ntype FlexAlignItemsProp = \"flex-start\" | \"flex-end\" | \"stretch\" | \"center\" | \"baseline\";\r\ntype FlexJustifyContentProp = \"flex-start\" | \"flex-end\" | \"center\" | \"space-between\" | \"space-around\" | \"space-evenly\";\r\ntype FlexDirection = \"column\" | \"column-reverse\" | \"row\" | \"row-reverse\";\r\n\r\n/* styled components css interpolations */\r\n\r\nexport const flexRowContainerMixin = css`\r\n display: flex;\r\n flex-direction: row;\r\n`;\r\nexport const flexRowReverseContainerMixin = css`\r\n display: flex;\r\n flex-direction: row-reverse;\r\n`;\r\nexport const flexColumnContainerMixin = css`\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const flexAlignItemsMixin = (props: {alignItems?: FlexAlignItemsProp;}) => css`\r\n align-items: ${props.alignItems || \"unset\"};\r\n`;\r\nexport const flexJustifyContentMixin = (props: {justifyContent?: FlexJustifyContentProp;}) => css`\r\n justify-content: ${props.justifyContent || \"unset\"};\r\n`;\r\nexport const flexCenterAlignItemsMixin = css`\r\n ${flexAlignItemsMixin({alignItems: \"center\"})}\r\n`;\r\n\r\nexport const flexGrowItem = (props: {flexBasis?: string;}) => css`\r\n flex: 1 0 ${props.flexBasis || \"auto\"};\r\n`;\r\nexport const flexShrinkItem = (props: {flexBasis?: string; flexShrink?: number;}) => css`\r\n flex: 0 ${props.flexShrink || \"1\"} ${props.flexBasis || \"auto\"};\r\n`;\r\nexport const flexFixedSizeItem = css`\r\n flex: 0 0 auto;\r\n`;\r\nexport const flexAdaptiveSizeItem = css`\r\n flex: 1 1 auto;\r\n`;\r\n\r\n/* styled based components, to be used as is or as Base to be extended */\r\n\r\nexport const FlexFixedSizeItemBox = styled.div`\r\n ${flexFixedSizeItem}\r\n`;\r\n\r\nexport const FlexGrowItemBox = styled.div`\r\n ${flexGrowItem}\r\n`;\r\n\r\nexport const FlexShrinkItemBox = styled.div`\r\n ${flexShrinkItem}\r\n`;\r\n\r\nexport const FlexAdaptiveSizeItemBox = styled.div`\r\n ${flexAdaptiveSizeItem}\r\n`;\r\n\r\nexport const FlexContainerBox = styled.div<{\r\n alignItems?: FlexAlignItemsProp;\r\n justifyContent?: FlexJustifyContentProp;\r\n direction?: FlexDirection;\r\n}>`\r\n ${({direction}) => direction === \"column\" ? flexColumnContainerMixin : flexRowContainerMixin};\r\n ${flexAlignItemsMixin}\r\n ${flexJustifyContentMixin}\r\n`;\r\n","export const grayColors = {\r\n black: \"#000000\",\r\n gray013: \"#0d0d0d\",\r\n gray023: \"#171717\",\r\n gray033: \"#212121\",\r\n gray043: \"#2b2b2b\",\r\n gray053: \"#353535\",\r\n gray063: \"#3f3f3f\",\r\n gray073: \"#494949\",\r\n gray083: \"#535353\",\r\n gray093: \"#5d5d5d\",\r\n gray103: \"#676767\",\r\n gray113: \"#717171\",\r\n gray123: \"#7b7b7b\",\r\n gray133: \"#858585\",\r\n gray143: \"#8f8f8f\",\r\n gray153: \"#999999\",\r\n gray163: \"#a3a3a3\",\r\n gray173: \"#adadad\",\r\n gray183: \"#b7b7b7\",\r\n gray193: \"#c1c1c1\",\r\n gray203: \"#cbcbcb\",\r\n gray213: \"#d5d5d5\",\r\n gray223: \"#dfdfdf\",\r\n gray233: \"#e9e9e9\",\r\n gray243: \"#f3f3f3\",\r\n gray253: \"#fdfdfd\",\r\n white: \"#ffffff\",\r\n transparent: \"transparent\"\r\n}","\r\nexport enum HeaderArenasStyle {\r\n BigTiles,\r\n SmallTiles,\r\n Menu\r\n }\r\n\r\nexport interface IThemeLayout {\r\n headerArenasStyle?: HeaderArenasStyle;\r\n border: {\r\n radius: string;\r\n };\r\n}","import React from 'react';\r\nimport {StyledComponent} from 'styled-components';\r\nimport {OrbitTheme} from './orbit-theme.interface';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport function styledByDevice, O extends object = {}>(\r\n pc: StyledComponent, mobile: StyledComponent\r\n): StyledComponent {\r\n\r\n let ComponentDefinition = observer(class extends OrbitComponent{\r\n render() {\r\n let Component = null;\r\n\r\n if(this.services.device.isMobile) {\r\n Component = mobile;\r\n } else {\r\n Component = pc;\r\n }\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n });\r\n\r\n\r\n let finalComponent = React.forwardRef((props, ref) => );\r\n\r\n return (finalComponent as any) as StyledComponent;\r\n}","import React from 'react';\r\nimport { StyledComponent } from 'styled-components';\r\nimport { OrbitTheme } from './orbit-theme.interface';\r\nimport { OrbitComponent } from '../../components/base-components/orbit-component/orbit-component';\r\nimport { ByThemeRegistry } from './by-theme-registry';\r\n\r\nclass StyledByTheme, O extends object = {}>\r\n extends ByThemeRegistry> {\r\n\r\n apply(): StyledComponent {\r\n const getRegistryItem = this.getRegistryItem;\r\n let ComponentDefinition = class extends OrbitComponent{\r\n render() {\r\n let Component: any = getRegistryItem(this.services.theme.themeName);\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n };\r\n\r\n let finalComponent = React.forwardRef((props, ref) => );\r\n\r\n return (finalComponent as any) as StyledComponent;\r\n }\r\n}\r\n\r\n\r\nexport function styledByTheme<\r\n C extends keyof JSX.IntrinsicElements | React.ComponentType,\r\n O extends object = {}\r\n>(defaultComponent: StyledComponent): StyledByTheme {\r\n return new StyledByTheme(defaultComponent);\r\n}\r\n","import {ClientThemeName} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport class ThemeName {\r\n constructor(public readonly forClient: string,\r\n public readonly forWidgets: ClientThemeName) {\r\n }\r\n\r\n public static Casino888 = new ThemeName('casino888', ClientThemeName.Casino888);\r\n public static Casino888Cip = new ThemeName(\"casino888/cip\", ClientThemeName.Casino888);\r\n public static Casino888Cis = new ThemeName(\"casino888/cis\", ClientThemeName.Casino888);\r\n public static Casino777 = new ThemeName(\"casino777\", ClientThemeName.Casino777);\r\n\r\n public static Harrahs = new ThemeName(\"harrahs\", ClientThemeName.Harrahs)\r\n public static Wsop = new ThemeName('wsop', ClientThemeName.WSOP);\r\n public static WsopCip = new ThemeName(\"wsop/cip\", ClientThemeName.WSOP);\r\n public static SI = new ThemeName('si', ClientThemeName.SI); //sports illustrator\r\n public static SICis = new ThemeName('si/cis', ClientThemeName.SI);\r\n public static MrGreen = new ThemeName(\"mrgreen\", ClientThemeName.MrGreen);\r\n public static MrGreenCis = new ThemeName(\"mrgreen/cis\", ClientThemeName.MrGreen);\r\n public static MrGreenCip = new ThemeName(\"mrgreen/cip\", ClientThemeName.MrGreen);\r\n}","/** This is an automatically generated file.*/\nimport {Asset} from './architecture/asset';\nexport const Assets = {\n\tfallbackCMSComponent: {\n\t\tdefault_cgp_shell_css: new Asset(\"fallbackCMSComponent/default-cgp-shell.css\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\tdefaultFooter_html: new Asset(\"fallbackCMSComponent/defaultFooter.html\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\tharrahsFooter_html: new Asset(\"fallbackCMSComponent/harrahsFooter.html\", {'harrahs_nj': true}),\n\t\twsopFooter_html: new Asset(\"fallbackCMSComponent/wsopFooter.html\", {'wsop_nj': true})\n\t},\n\tfonts: {\n\t\t_888_Black_eot: new Asset(\"fonts/888-Black.eot\", {}),\n\t\t_888_Black_otf: new Asset(\"fonts/888-Black.otf\", {}),\n\t\t_888_Black_svg: new Asset(\"fonts/888-Black.svg\", {}),\n\t\t_888_Black_ttf: new Asset(\"fonts/888-Black.ttf\", {}),\n\t\t_888_Black_woff: new Asset(\"fonts/888-Black.woff\", {}),\n\t\t_888_Black_woff2: new Asset(\"fonts/888-Black.woff2\", {}),\n\t\t_888_Bold_eot: new Asset(\"fonts/888-Bold.eot\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_otf: new Asset(\"fonts/888-Bold.otf\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_svg: new Asset(\"fonts/888-Bold.svg\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_ttf: new Asset(\"fonts/888-Bold.ttf\", {'777_com': true,'777_uk': true}),\n\t\t_888_Bold_woff: new Asset(\"fonts/888-Bold.woff\", {'777_com': true,'777_uk': true}),\n\t\t_888_DemiBold_eot: new Asset(\"fonts/888-DemiBold.eot\", {}),\n\t\t_888_DemiBold_otf: new Asset(\"fonts/888-DemiBold.otf\", {}),\n\t\t_888_DemiBold_svg: new Asset(\"fonts/888-DemiBold.svg\", {}),\n\t\t_888_DemiBold_ttf: new Asset(\"fonts/888-DemiBold.ttf\", {}),\n\t\t_888_DemiBold_woff: new Asset(\"fonts/888-DemiBold.woff\", {}),\n\t\t_888_DemiBold_woff2: new Asset(\"fonts/888-DemiBold.woff2\", {}),\n\t\t_888_Light_eot: new Asset(\"fonts/888-Light.eot\", {}),\n\t\t_888_Light_otf: new Asset(\"fonts/888-Light.otf\", {}),\n\t\t_888_Light_svg: new Asset(\"fonts/888-Light.svg\", {}),\n\t\t_888_Light_ttf: new Asset(\"fonts/888-Light.ttf\", {}),\n\t\t_888_Light_woff: new Asset(\"fonts/888-Light.woff\", {}),\n\t\t_888_Light_woff2: new Asset(\"fonts/888-Light.woff2\", {}),\n\t\t_888_Medium_eot: new Asset(\"fonts/888-Medium.eot\", {}),\n\t\t_888_Medium_otf: new Asset(\"fonts/888-Medium.otf\", {}),\n\t\t_888_Medium_svg: new Asset(\"fonts/888-Medium.svg\", {}),\n\t\t_888_Medium_ttf: new Asset(\"fonts/888-Medium.ttf\", {}),\n\t\t_888_Medium_woff: new Asset(\"fonts/888-Medium.woff\", {}),\n\t\t_888_Medium_woff2: new Asset(\"fonts/888-Medium.woff2\", {}),\n\t\t_888_Regular_eot: new Asset(\"fonts/888-Regular.eot\", {}),\n\t\t_888_Regular_otf: new Asset(\"fonts/888-Regular.otf\", {}),\n\t\t_888_Regular_svg: new Asset(\"fonts/888-Regular.svg\", {}),\n\t\t_888_Regular_ttf: new Asset(\"fonts/888-Regular.ttf\", {}),\n\t\t_888_Regular_woff: new Asset(\"fonts/888-Regular.woff\", {}),\n\t\t_888_Regular_woff2: new Asset(\"fonts/888-Regular.woff2\", {}),\n\t\t_888_SemiCondensedBold_eot: new Asset(\"fonts/888-SemiCondensedBold.eot\", {}),\n\t\t_888_SemiCondensedBold_otf: new Asset(\"fonts/888-SemiCondensedBold.otf\", {}),\n\t\t_888_SemiCondensedBold_svg: new Asset(\"fonts/888-SemiCondensedBold.svg\", {}),\n\t\t_888_SemiCondensedBold_ttf: new Asset(\"fonts/888-SemiCondensedBold.ttf\", {}),\n\t\t_888_SemiCondensedBold_woff: new Asset(\"fonts/888-SemiCondensedBold.woff\", {}),\n\t\t_888_SemiCondensedBold_woff2: new Asset(\"fonts/888-SemiCondensedBold.woff2\", {}),\n\t\t_888_SemiCondensedDemiBold_eot: new Asset(\"fonts/888-SemiCondensedDemiBold.eot\", {}),\n\t\t_888_SemiCondensedDemiBold_otf: new Asset(\"fonts/888-SemiCondensedDemiBold.otf\", {}),\n\t\t_888_SemiCondensedDemiBold_svg: new Asset(\"fonts/888-SemiCondensedDemiBold.svg\", {}),\n\t\t_888_SemiCondensedDemiBold_ttf: new Asset(\"fonts/888-SemiCondensedDemiBold.ttf\", {}),\n\t\t_888_SemiCondensedDemiBold_woff: new Asset(\"fonts/888-SemiCondensedDemiBold.woff\", {}),\n\t\t_888_SemiCondensedDemiBold_woff2: new Asset(\"fonts/888-SemiCondensedDemiBold.woff2\", {}),\n\t\t_888_Thin_eot: new Asset(\"fonts/888-Thin.eot\", {}),\n\t\t_888_Thin_otf: new Asset(\"fonts/888-Thin.otf\", {}),\n\t\t_888_Thin_svg: new Asset(\"fonts/888-Thin.svg\", {}),\n\t\t_888_Thin_ttf: new Asset(\"fonts/888-Thin.ttf\", {}),\n\t\t_888_Thin_woff: new Asset(\"fonts/888-Thin.woff\", {}),\n\t\t_888_Thin_woff2: new Asset(\"fonts/888-Thin.woff2\", {}),\n\t\t_888_Ultra_eot: new Asset(\"fonts/888-Ultra.eot\", {}),\n\t\t_888_Ultra_otf: new Asset(\"fonts/888-Ultra.otf\", {}),\n\t\t_888_Ultra_svg: new Asset(\"fonts/888-Ultra.svg\", {}),\n\t\t_888_Ultra_ttf: new Asset(\"fonts/888-Ultra.ttf\", {}),\n\t\t_888_Ultra_woff: new Asset(\"fonts/888-Ultra.woff\", {}),\n\t\t_888_Ultra_woff2: new Asset(\"fonts/888-Ultra.woff2\", {}),\n\t\tBello_Script_eot: new Asset(\"fonts/Bello_Script.eot\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_svg: new Asset(\"fonts/Bello_Script.svg\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_ttf: new Asset(\"fonts/Bello_Script.ttf\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_woff: new Asset(\"fonts/Bello_Script.woff\", {'777_com': true,'777_uk': true}),\n\t\tBello_Script_woff2: new Asset(\"fonts/Bello_Script.woff2\", {'777_com': true,'777_uk': true}),\n\t\tdigital_7_mono_ttf: new Asset(\"fonts/digital_7_mono.ttf\", {}),\n\t\tFutura_PT_Bold_eot: new Asset(\"fonts/Futura_PT_Bold.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_otf: new Asset(\"fonts/Futura_PT_Bold.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_svg: new Asset(\"fonts/Futura_PT_Bold.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_ttf: new Asset(\"fonts/Futura_PT_Bold.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_woff: new Asset(\"fonts/Futura_PT_Bold.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Bold_woff2: new Asset(\"fonts/Futura_PT_Bold.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_eot: new Asset(\"fonts/Futura_PT_Book.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_otf: new Asset(\"fonts/Futura_PT_Book.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_svg: new Asset(\"fonts/Futura_PT_Book.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_ttf: new Asset(\"fonts/Futura_PT_Book.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_woff: new Asset(\"fonts/Futura_PT_Book.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Book_woff2: new Asset(\"fonts/Futura_PT_Book.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_eot: new Asset(\"fonts/Futura_PT_Demi.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_otf: new Asset(\"fonts/Futura_PT_Demi.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_svg: new Asset(\"fonts/Futura_PT_Demi.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_ttf: new Asset(\"fonts/Futura_PT_Demi.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_woff: new Asset(\"fonts/Futura_PT_Demi.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Demi_woff2: new Asset(\"fonts/Futura_PT_Demi.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_eot: new Asset(\"fonts/Futura_PT_Heavy.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_otf: new Asset(\"fonts/Futura_PT_Heavy.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_svg: new Asset(\"fonts/Futura_PT_Heavy.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_ttf: new Asset(\"fonts/Futura_PT_Heavy.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_woff: new Asset(\"fonts/Futura_PT_Heavy.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Heavy_woff2: new Asset(\"fonts/Futura_PT_Heavy.woff2\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_eot: new Asset(\"fonts/Futura_PT_Medium.eot\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_otf: new Asset(\"fonts/Futura_PT_Medium.otf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_svg: new Asset(\"fonts/Futura_PT_Medium.svg\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_ttf: new Asset(\"fonts/Futura_PT_Medium.ttf\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_woff: new Asset(\"fonts/Futura_PT_Medium.woff\", {'777_com': true,'777_uk': true}),\n\t\tFutura_PT_Medium_woff2: new Asset(\"fonts/Futura_PT_Medium.woff2\", {'777_com': true,'777_uk': true}),\n\t\tIndustry_Black_eot: new Asset(\"fonts/Industry-Black.eot\", {'si_mi': true}),\n\t\tIndustry_Black_ttf: new Asset(\"fonts/Industry-Black.ttf\", {'si_mi': true}),\n\t\tIndustry_Black_woff: new Asset(\"fonts/Industry-Black.woff\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_eot: new Asset(\"fonts/Industry-BlackItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_ttf: new Asset(\"fonts/Industry-BlackItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_woff: new Asset(\"fonts/Industry-BlackItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Bold_eot: new Asset(\"fonts/Industry-Bold.eot\", {'si_mi': true}),\n\t\tIndustry_Bold_ttf: new Asset(\"fonts/Industry-Bold.ttf\", {'si_mi': true}),\n\t\tIndustry_Bold_woff: new Asset(\"fonts/Industry-Bold.woff\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_eot: new Asset(\"fonts/Industry-BoldItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_ttf: new Asset(\"fonts/Industry-BoldItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_woff: new Asset(\"fonts/Industry-BoldItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Book_eot: new Asset(\"fonts/Industry-Book.eot\", {'si_mi': true}),\n\t\tIndustry_Book_ttf: new Asset(\"fonts/Industry-Book.ttf\", {'si_mi': true}),\n\t\tIndustry_Book_woff: new Asset(\"fonts/Industry-Book.woff\", {'si_mi': true}),\n\t\tIndustry_BookItalic_eot: new Asset(\"fonts/Industry-BookItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BookItalic_ttf: new Asset(\"fonts/Industry-BookItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BookItalic_woff: new Asset(\"fonts/Industry-BookItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Demi_eot: new Asset(\"fonts/Industry-Demi.eot\", {'si_mi': true}),\n\t\tIndustry_Demi_ttf: new Asset(\"fonts/Industry-Demi.ttf\", {'si_mi': true}),\n\t\tIndustry_Demi_woff: new Asset(\"fonts/Industry-Demi.woff\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_eot: new Asset(\"fonts/Industry-DemiItalic.eot\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_ttf: new Asset(\"fonts/Industry-DemiItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_woff: new Asset(\"fonts/Industry-DemiItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Light_eot: new Asset(\"fonts/Industry-Light.eot\", {'si_mi': true}),\n\t\tIndustry_Light_ttf: new Asset(\"fonts/Industry-Light.ttf\", {'si_mi': true}),\n\t\tIndustry_Light_woff: new Asset(\"fonts/Industry-Light.woff\", {'si_mi': true}),\n\t\tIndustry_LightItalic_eot: new Asset(\"fonts/Industry-LightItalic.eot\", {'si_mi': true}),\n\t\tIndustry_LightItalic_ttf: new Asset(\"fonts/Industry-LightItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_LightItalic_woff: new Asset(\"fonts/Industry-LightItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Medium_eot: new Asset(\"fonts/Industry-Medium.eot\", {'si_mi': true}),\n\t\tIndustry_Medium_ttf: new Asset(\"fonts/Industry-Medium.ttf\", {'si_mi': true}),\n\t\tIndustry_Medium_woff: new Asset(\"fonts/Industry-Medium.woff\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_eot: new Asset(\"fonts/Industry-MediumItalic.eot\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_ttf: new Asset(\"fonts/Industry-MediumItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_woff: new Asset(\"fonts/Industry-MediumItalic.woff\", {'si_mi': true}),\n\t\tLobster_Regular_eot: new Asset(\"fonts/Lobster_Regular.eot\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_otf: new Asset(\"fonts/Lobster_Regular.otf\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_svg: new Asset(\"fonts/Lobster_Regular.svg\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_ttf: new Asset(\"fonts/Lobster_Regular.ttf\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_woff: new Asset(\"fonts/Lobster_Regular.woff\", {'777_com': true,'777_uk': true}),\n\t\tLobster_Regular_woff2: new Asset(\"fonts/Lobster_Regular.woff2\", {'777_com': true,'777_uk': true}),\n\t\tMontserrat_VariableFont_ttf: new Asset(\"fonts/Montserrat-VariableFont.ttf\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\toleo_script_reg_ext_woff2: new Asset(\"fonts/oleo_script_reg_ext.woff2\", {}),\n\t\toleo_script_reg_eot: new Asset(\"fonts/oleo_script_reg.eot\", {}),\n\t\toleo_script_reg_svg: new Asset(\"fonts/oleo_script_reg.svg\", {}),\n\t\toleo_script_reg_ttf: new Asset(\"fonts/oleo_script_reg.ttf\", {}),\n\t\toleo_script_reg_woff: new Asset(\"fonts/oleo_script_reg.woff\", {}),\n\t\toleo_script_reg_woff2: new Asset(\"fonts/oleo_script_reg.woff2\", {}),\n\t\tOleoScript_Bold_ttf: new Asset(\"fonts/OleoScript-Bold.ttf\", {}),\n\t\tPoppins_Regular_ttf: new Asset(\"fonts/Poppins-Regular.ttf\", {'si_mi': true}),\n\t\tPoppins_SemiBold_ttf: new Asset(\"fonts/Poppins-SemiBold.ttf\", {'si_mi': true}),\n\t\tRobotoCondensed_Bold_ttf: new Asset(\"fonts/RobotoCondensed-Bold.ttf\", {}),\n\t\tSolanoGothicMVB_Bd_ttf: new Asset(\"fonts/SolanoGothicMVB-Bd.ttf\", {'si_mi': true}),\n\t\tTradeGothicLTStd_Bd2_otf: new Asset(\"fonts/TradeGothicLTStd-Bd2.otf\", {})\n\t},\n\tgames: {\n\t\tgame_icon_placeholder_png: new Asset(\"games/game_icon_placeholder.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tabout: {\n\t\t\teng_about_json: new Asset(\"games/about/eng_about.json\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tpreview_default_images: {\n\t\t\tdefault_game_strip_card_and_table_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_card_and_table_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_live_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_png: new Asset(\"games/preview_default_images/default_game_strip_live.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_slots_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_png: new Asset(\"games/preview_default_images/default_game_strip_slots.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t}\n\t},\n\timages: {\n\t\t_3px_tile_png: new Asset(\"images/3px-tile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t_777logo_png: new Asset(\"images/777logo.png\", {'777_com': true,'777_uk': true}),\n\t\t_777logo_svg: new Asset(\"images/777logo.svg\", {'777_com': true,'777_uk': true}),\n\t\t_888casinologo_dark_png: new Asset(\"images/888casinologo-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t_888casinologo_mobile_svg: new Asset(\"images/888casinologo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t_888casinologo_pc_svg: new Asset(\"images/888casinologo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t_888casinologo_png: new Asset(\"images/888casinologo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tarena_shaddow_png: new Asset(\"images/arena-shaddow.png\", {'777_com': true,'777_uk': true}),\n\t\tblackSquare_png: new Asset(\"images/blackSquare.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\tbrilliant_png: new Asset(\"images/brilliant.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tbroken_link_icon_png: new Asset(\"images/broken_link_icon.png\", {}),\n\t\tcasino_live_logo_mobile_png: new Asset(\"images/casino-live-logo-mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\tcasino_live_logo_png: new Asset(\"images/casino-live-logo.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tcheck_png: new Asset(\"images/check.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tcheckbox_checked_png: new Asset(\"images/checkbox_checked.png\", {}),\n\t\tcheckbox_empty_png: new Asset(\"images/checkbox_empty.png\", {}),\n\t\tclose_modal_dialog_hover_png: new Asset(\"images/close_modal_dialog_hover.png\", {'777_com': true,'777_uk': true}),\n\t\tclose_modal_dialog_png: new Asset(\"images/close_modal_dialog.png\", {'777_com': true,'777_uk': true}),\n\t\tdeposit_header_icon_svg: new Asset(\"images/deposit_header_icon.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tdiv_lang_png: new Asset(\"images/div-lang.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\tempty_image_sq_gif: new Asset(\"images/empty-image-sq.gif\", {}),\n\t\tempty_image_gif: new Asset(\"images/empty-image.gif\", {}),\n\t\texclusives_list_icon_png: new Asset(\"images/exclusives_list_icon.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tfull_screen_off_png: new Asset(\"images/full-screen-off.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tfull_screen_on_png: new Asset(\"images/full-screen-on.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tgame_default_background_png: new Asset(\"images/game_default_background.png\", {}),\n\t\tgermany_panic_icon_png: new Asset(\"images/germany_panic_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tharrahslogo_svg: new Asset(\"images/harrahslogo.svg\", {'harrahs_nj': true}),\n\t\thccasinologo_png: new Asset(\"images/hccasinologo.png\", {'wsop_nj': true}),\n\t\thccasinologo_svg: new Asset(\"images/hccasinologo.svg\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\thistory_bg_title_png: new Asset(\"images/history_bg_title.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_content_banner_png: new Asset(\"images/home-content-banner.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_page_top_banner_png: new Asset(\"images/home-page-top-banner.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\thorizontal_line_glow_mobile_png: new Asset(\"images/horizontal-line-glow-mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\thorizontal_line_glow_png: new Asset(\"images/horizontal-line-glow.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\tidle_recomm_toaster_bg_png: new Asset(\"images/idle-recomm-toaster-bg.png\", {}),\n\t\tinfo_img_png: new Asset(\"images/info-img.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tinfoBTN_png: new Asset(\"images/infoBTN.png\", {}),\n\t\tios_share_svg: new Asset(\"images/ios-share.svg\", {}),\n\t\tjackpot_widget_title_crown_png: new Asset(\"images/jackpot_widget_title_crown.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\tjackpots_bg_png: new Asset(\"images/jackpots-bg.png\", {'777_com': true,'777_uk': true}),\n\t\tlamp_png: new Asset(\"images/lamp.png\", {}),\n\t\tlang_reg_icon_png: new Asset(\"images/lang_reg_icon.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlang_selected_icon_png: new Asset(\"images/lang_selected_icon.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_design_png: new Asset(\"images/letter_design.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_info_png: new Asset(\"images/letter-info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_play_png: new Asset(\"images/letter-play.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_arena_banner_png: new Asset(\"images/live-arena-banner.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\tlive_chat_png: new Asset(\"images/live-chat.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_content_banner_png: new Asset(\"images/live-content-banner.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_tables_top_border_png: new Asset(\"images/live-tables-top-border.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tmrgreenlogo_png: new Asset(\"images/mrgreenlogo.png\", {'mrgreen_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\tnotification_off_png: new Asset(\"images/notification off.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tonly_real_money_game_warning_png: new Asset(\"images/only-real-money-game-warning.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\tparty_jackpot_logo_png: new Asset(\"images/party_jackpot_logo.png\", {}),\n\t\tpay_icon_png: new Asset(\"images/pay-icon.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tplaceholder_game_icon_sq_png: new Asset(\"images/placeholder_game_icon_sq.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tplaceholder_game_icon_png: new Asset(\"images/placeholder_game_icon.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tright_arrow_png: new Asset(\"images/right-arrow.png\", {'777_com': true,'777_uk': true}),\n\t\tshaddow_bg_png: new Asset(\"images/shaddow-bg.png\", {'777_com': true,'777_uk': true}),\n\t\tsi_logo_mobile_png: new Asset(\"images/si_logo_mobile.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_svg: new Asset(\"images/si_logo_mobile.svg\", {'si_mi': true}),\n\t\tsi_logo_pc_png: new Asset(\"images/si_logo_pc.png\", {'si_mi': true}),\n\t\tsi_logo_pc_svg: new Asset(\"images/si_logo_pc.svg\", {'si_mi': true}),\n\t\tsi_island_resort_png: new Asset(\"images/si-island-resort.png\", {'si_mi': true}),\n\t\tsi_island_resort_svg: new Asset(\"images/si-island-resort.svg\", {'si_mi': true}),\n\t\tsi_sports_book_png: new Asset(\"images/si-sports-book.png\", {'si_mi': true}),\n\t\tside_menu_header_decoration_png: new Asset(\"images/side-menu-header-decoration.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\tsplash_page_logo_0_0_png: new Asset(\"images/splash_page_logo-0-0.png\", {}),\n\t\tsplash_page_logo_0_111_png: new Asset(\"images/splash_page_logo-0-111.png\", {'777_com': true,'777_uk': true}),\n\t\tsplash_page_logo_1_53_png: new Asset(\"images/splash_page_logo-1-53.png\", {}),\n\t\tsplash_page_logo_31_46_png: new Asset(\"images/splash_page_logo-31-46.png\", {}),\n\t\tsplash_page_logo_58_82_png: new Asset(\"images/splash_page_logo-58-82.png\", {}),\n\t\tsplash_page_logo_68_98_png: new Asset(\"images/splash_page_logo-68-98.png\", {}),\n\t\tsplash_page_logo_69_100_png: new Asset(\"images/splash_page_logo-69-100.png\", {}),\n\t\tsplash_page_logo_70_102_png: new Asset(\"images/splash_page_logo-70-102.png\", {}),\n\t\tsplash_page_logo_71_104_png: new Asset(\"images/splash_page_logo-71-104.png\", {}),\n\t\tsplash_page_logo_72_105_png: new Asset(\"images/splash_page_logo-72-105.png\", {}),\n\t\tsplash_page_logo_73_107_png: new Asset(\"images/splash_page_logo-73-107.png\", {}),\n\t\tsplash_page_logo_75_113_png: new Asset(\"images/splash_page_logo-75-113.png\", {}),\n\t\tsplash_page_logo_76_119_png: new Asset(\"images/splash_page_logo-76-119.png\", {}),\n\t\tsplash_page_logo_79_125_png: new Asset(\"images/splash_page_logo-79-125.png\", {}),\n\t\tsplash_page_logo_8_78_png: new Asset(\"images/splash_page_logo-8-78.png\", {}),\n\t\tsplash_page_logo_81_129_png: new Asset(\"images/splash_page_logo-81-129.png\", {}),\n\t\tsplash_page_logo_84_137_png: new Asset(\"images/splash_page_logo-84-137.png\", {}),\n\t\tsplash_page_logo_87_141_png: new Asset(\"images/splash_page_logo-87-141.png\", {}),\n\t\tsplash_page_logo_88_144_png: new Asset(\"images/splash_page_logo-88-144.png\", {}),\n\t\tsplash_page_logo_91_151_png: new Asset(\"images/splash_page_logo-91-151.png\", {'si_mi': true}),\n\t\tsplash_page_logo_92_152_png: new Asset(\"images/splash_page_logo-92-152.png\", {'mrgreen_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,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tswiper_layout_bottom_shaddow_png: new Asset(\"images/swiper-layout-bottom-shaddow.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\ttexture_png: new Asset(\"images/texture.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\ttop_banner_placeholder_gif: new Asset(\"images/top_banner_placeholder.gif\", {}),\n\t\tuser_menu_box_icon_png: new Asset(\"images/user-menu-box-icon.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_png: new Asset(\"images/user.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\tvertical_line_glow_png: new Asset(\"images/vertical-line-glow.png\", {'777_com': true,'777_uk': true}),\n\t\twsoplogo_svg: new Asset(\"images/wsoplogo.svg\", {'wsop_nj': true}),\n\t\twww_splash_page_logo_1_111_png: new Asset(\"images/www_splash_page_logo-1-111.png\", {}),\n\t\tanimated_banners: {\n\t\t\tblackjack_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/blackjack_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tblackjack_arena_banner_pc_lottie: new Asset(\"images/animated-banners/blackjack_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tcasinogames_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/casinogames_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tcasinogames_arena_banner_pc_lottie: new Asset(\"images/animated-banners/casinogames_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/exclusive_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_pc_lottie: new Asset(\"images/animated-banners/exclusive_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/jackpot_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_pc_lottie: new Asset(\"images/animated-banners/jackpot_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tlivecasino_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/livecasino_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tlivecasino_arena_banner_pc_lottie: new Asset(\"images/animated-banners/livecasino_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tnewgames_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/newgames_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tnewgames_arena_banner_pc_lottie: new Asset(\"images/animated-banners/newgames_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\troulette_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/roulette_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\troulette_arena_banner_pc_lottie: new Asset(\"images/animated-banners/roulette_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tscratchcards_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/scratchcards_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tscratchcards_arena_banner_pc_lottie: new Asset(\"images/animated-banners/scratchcards_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tslots_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/slots_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tslots_arena_banner_pc_lottie: new Asset(\"images/animated-banners/slots_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tvideopoker_arena_banner_mobile_lottie: new Asset(\"images/animated-banners/videopoker_arena_banner_mobile.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tvideopoker_arena_banner_pc_lottie: new Asset(\"images/animated-banners/videopoker_arena_banner_pc.lottie\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t},\n\t\tanimated_icons_poc: {\n\t\t\tmillionaire_genie_megaways: {\n\t\t\t\tgenie_megaways_v1_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.atlas\", {}),\n\t\t\t\tgenie_megaways_v1_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.json\", {}),\n\t\t\t\tgenie_megaways_v1_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.png\", {}),\n\t\t\t\tgenie_megaways_v2_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.atlas\", {}),\n\t\t\t\tgenie_megaways_v2_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.json\", {}),\n\t\t\t\tgenie_megaways_v2_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.png\", {}),\n\t\t\t\tgenie_megaways_v3_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.atlas\", {}),\n\t\t\t\tgenie_megaways_v3_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.json\", {}),\n\t\t\t\tgenie_megaways_v3_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.png\", {}),\n\t\t\t\tgenie_megaways_v4_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.atlas\", {}),\n\t\t\t\tgenie_megaways_v4_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.json\", {}),\n\t\t\t\tgenie_megaways_v4_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.png\", {})\n\t\t\t}\n\t\t},\n\t\tarena_link_to_offer: {\n\t\t\tClose_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Close_BTN_green.svg\", {}),\n\t\t\tGift_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Gift_BTN_green.svg\", {})\n\t\t},\n\t\tarenas: {\n\t\t\tCasinoGames: {\n\t\t\t\tonline_blackjack_png: new Asset(\"images/arenas/CasinoGames/online_blackjack.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_casino_games_png: new Asset(\"images/arenas/CasinoGames/online_casino_games.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_jackpot_png: new Asset(\"images/arenas/CasinoGames/online_jackpot.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_roulette_png: new Asset(\"images/arenas/CasinoGames/online_roulette.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tonline_slots_png: new Asset(\"images/arenas/CasinoGames/online_slots.png\", {'777_com': true,'777_uk': true})\n\t\t\t},\n\t\t\tHomePage: {\n\t\t\t\t_888exclusive_arena_info_png: new Asset(\"images/arenas/HomePage/888exclusive_arena_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\t_888exclusive_arena_png: new Asset(\"images/arenas/HomePage/888exclusive_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\t_888exclusive_header_arena_icon_png: new Asset(\"images/arenas/HomePage/888exclusive_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tblackjack_arena_info_png: new Asset(\"images/arenas/HomePage/blackjack_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tblackjack_arena_png: new Asset(\"images/arenas/HomePage/blackjack_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tblackjack_header_arena_icon_png: new Asset(\"images/arenas/HomePage/blackjack_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tcards_arena_info_png: new Asset(\"images/arenas/HomePage/cards_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcards_arena_png: new Asset(\"images/arenas/HomePage/cards_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tcasino_games_arena_png: new Asset(\"images/arenas/HomePage/casino_games_arena.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tcasino_games_header_arena_icon_png: new Asset(\"images/arenas/HomePage/casino_games_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tcasinogames_header_arena_icon_png: new Asset(\"images/arenas/HomePage/casinogames_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tdaily_jackpots_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_arena_icon.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tdaily_jackpots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tdefault_arena_png: new Asset(\"images/arenas/HomePage/default_arena.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tdefault_header_arena_icon_png: new Asset(\"images/arenas/HomePage/default_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\texclusive_header_arena_icon_png: new Asset(\"images/arenas/HomePage/exclusive_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tgame_show_header_arena_icon_png: new Asset(\"images/arenas/HomePage/game_show_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tInstantWin_game_info_png: new Asset(\"images/arenas/HomePage/InstantWin_game_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tjackpots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/jackpots_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/HomePage/live_arena_elite_lounge.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tlive_arena_png: new Asset(\"images/arenas/HomePage/live_arena.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tlive_casino_header_arena_icon_png: new Asset(\"images/arenas/HomePage/live_casino_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tlive_game_shows_arena_png: new Asset(\"images/arenas/HomePage/live_game_shows_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tlivecasino_header_arena_icon_png: new Asset(\"images/arenas/HomePage/livecasino_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tlivegameshows_header_arena_icon_png: new Asset(\"images/arenas/HomePage/livegameshows_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tnew_games_arena_info_png: new Asset(\"images/arenas/HomePage/new_games_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tnew_games_arena_png: new Asset(\"images/arenas/HomePage/new_games_arena.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tnewgames_header_arena_icon_png: new Asset(\"images/arenas/HomePage/newgames_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tprogressive_slots_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_icon.png\", {'harrahs_nj': true}),\n\t\t\t\tprogressive_slots_arena_info_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_info.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tprogressive_slots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tpromotions_header_arena_icon_png: new Asset(\"images/arenas/HomePage/promotions_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\troulette_arena_info_png: new Asset(\"images/arenas/HomePage/roulette_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\troulette_arena_png: new Asset(\"images/arenas/HomePage/roulette_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\troulette_header_arena_icon_png: new Asset(\"images/arenas/HomePage/roulette_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tscrach_cards_header_arena_icon_png: new Asset(\"images/arenas/HomePage/scrach_cards_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tscratch_cards_arena_icon_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tscratch_cards_arena_info_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tscratch_cards_arena_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tscratchcards_header_arena_icon_png: new Asset(\"images/arenas/HomePage/scratchcards_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tsi_exclusive_arena_png: new Asset(\"images/arenas/HomePage/si_exclusive_arena.png\", {'si_mi': true}),\n\t\t\t\tslots_arena_info_png: new Asset(\"images/arenas/HomePage/slots_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_header_arena_icon_png: new Asset(\"images/arenas/HomePage/slots_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\tslots_jackpots_arena_png: new Asset(\"images/arenas/HomePage/slots_jackpots_arena.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tvideo_poker_arena_info_png: new Asset(\"images/arenas/HomePage/video_poker_arena_info.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvideo_poker_arena_png: new Asset(\"images/arenas/HomePage/video_poker_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true}),\n\t\t\t\tvideo_poker_header_arena_icon_png: new Asset(\"images/arenas/HomePage/video_poker_header_arena_icon.png\", {'wsop_nj': true}),\n\t\t\t\tvideopoker_header_arena_icon_png: new Asset(\"images/arenas/HomePage/videopoker_header_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tvisual_sport_arena_info_png: new Asset(\"images/arenas/HomePage/visual_sport_arena_info.png\", {'si_mi': true})\n\t\t\t},\n\t\t\tLiveArenas: {\n\t\t\t\tdefault_live_arena_png: new Asset(\"images/arenas/LiveArenas/default_live_arena.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_baccarat_png: new Asset(\"images/arenas/LiveArenas/live_arena_baccarat.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_bj_png: new Asset(\"images/arenas/LiveArenas/live_arena_bj.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_dream_catcher_png: new Asset(\"images/arenas/LiveArenas/live_arena_dream_catcher.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/LiveArenas/live_arena_elite_lounge.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_poker_png: new Asset(\"images/arenas/LiveArenas/live_arena_poker.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_roulette_png: new Asset(\"images/arenas/LiveArenas/live_arena_roulette.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true})\n\t\t\t}\n\t\t},\n\t\tavatars: {\n\t\t\tdiamond_vip: {\n\t\t\t\tmy_account_diamond_vip_png: new Asset(\"images/avatars/diamond-vip/my-account-diamond-vip.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_regular_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_regular_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-selected-pressed.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_pressed_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_regular_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_regular_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tmy_account_gold_vip_png: new Asset(\"images/avatars/gold-vip/my-account-gold-vip.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_regular_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-selected-pressed.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_gold_vip_avatar_pressed_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_regular_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tmy_account_vip_platinum_png: new Asset(\"images/avatars/platinum-vip/my-account-vip-platinum.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_regular_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_regular_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_selected_pressed_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-selected-pressed.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_pressed_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_regular_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_regular_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\treg: {\n\t\t\t\tpost_login_hover_png: new Asset(\"images/avatars/reg/post-login-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_hover_svg: new Asset(\"images/avatars/reg/post-login-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_pressed_png: new Asset(\"images/avatars/reg/post-login-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_pressed_svg: new Asset(\"images/avatars/reg/post-login-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_png: new Asset(\"images/avatars/reg/post-login-reg.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_svg: new Asset(\"images/avatars/reg/post-login-reg.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_hover_png: new Asset(\"images/avatars/reg/pre-login-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_hover_svg: new Asset(\"images/avatars/reg/pre-login-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_pressed_png: new Asset(\"images/avatars/reg/pre-login-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_pressed_svg: new Asset(\"images/avatars/reg/pre-login-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_png: new Asset(\"images/avatars/reg/pre-login-reg.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_svg: new Asset(\"images/avatars/reg/pre-login-reg.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tMy_account_VIP_REG_icon_png: new Asset(\"images/avatars/reg-vip/My-account-VIP-REG-icon.png\", {'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tmy_account_vip_reg_png: new Asset(\"images/avatars/reg-vip/my-account-vip-reg.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_icon_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-icon-selected-pressed.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_regular_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_regular_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-selected-pressed.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-hover.png\", {'mrgreen_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_icon_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_hover_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-pressed.png\", {'mrgreen_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,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\texclusive_png: new Asset(\"images/badges/exclusive.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thot_png: new Asset(\"images/badges/hot.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_badge_png: new Asset(\"images/badges/new-badge.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/badges/vip-badge.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tbanners: {\n\t\t\t_777InstantWin_arena_banner_mobile_png: new Asset(\"images/banners/777InstantWin_arena_banner_mobile.png\", {'777_com': true,'777_uk': true}),\n\t\t\t_777InstantWin_arena_banner_pc_png: new Asset(\"images/banners/777InstantWin_arena_banner_pc.png\", {'777_com': true,'777_uk': true}),\n\t\t\t_777InstantWin_arena_banner_tablet_png: new Asset(\"images/banners/777InstantWin_arena_banner_tablet.png\", {'777_com': true,'777_uk': true}),\n\t\t\t_888exclusive_arena_banner_mobile_png: new Asset(\"images/banners/888exclusive_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t_888exclusive_arena_banner_pc_png: new Asset(\"images/banners/888exclusive_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t_888exclusive_arena_banner_tablet_png: new Asset(\"images/banners/888exclusive_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t_888exclusive_arena_preview_image_png: new Asset(\"images/banners/888exclusive_arena_preview_image.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tall_casino_games_arena_banner_mobile_png: new Asset(\"images/banners/all_casino_games_arena_banner_mobile.png\", {'777_com': true,'777_uk': true}),\n\t\t\tall_casino_games_arena_banner_pc_png: new Asset(\"images/banners/all_casino_games_arena_banner_pc.png\", {'777_com': true,'777_uk': true}),\n\t\t\tall_casino_games_arena_banner_tablet_png: new Asset(\"images/banners/all_casino_games_arena_banner_tablet.png\", {'777_com': true,'777_uk': true}),\n\t\t\tblackjack_arena_banner_mobile_png: new Asset(\"images/banners/blackjack_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_png: new Asset(\"images/banners/blackjack_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_png: new Asset(\"images/banners/blackjack_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tcards_arena_banner_mobile_png: new Asset(\"images/banners/cards_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_pc_png: new Asset(\"images/banners/cards_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_tablet_png: new Asset(\"images/banners/cards_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tcasino_games_arena_banner_mobile_png: new Asset(\"images/banners/casino_games_arena_banner_mobile.png\", {'777_com': true,'777_uk': true}),\n\t\t\tcasino_games_arena_banner_pc_png: new Asset(\"images/banners/casino_games_arena_banner_pc.png\", {'777_com': true,'777_uk': true}),\n\t\t\tcasino_games_arena_banner_tablet_png: new Asset(\"images/banners/casino_games_arena_banner_tablet.png\", {'777_com': true,'777_uk': true}),\n\t\t\tevo_lobby_banner_mobile_png: new Asset(\"images/banners/evo_lobby_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_pc_png: new Asset(\"images/banners/evo_lobby_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_tablet_png: new Asset(\"images/banners/evo_lobby_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_mobile_png: new Asset(\"images/banners/exclusive_arena_banner_mobile.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_pc_png: new Asset(\"images/banners/exclusive_arena_banner_pc.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_tablet_png: new Asset(\"images/banners/exclusive_arena_banner_tablet.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tInstantWin_arena_banner_mobile_png: new Asset(\"images/banners/InstantWin_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_pc_png: new Asset(\"images/banners/InstantWin_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_tablet_png: new Asset(\"images/banners/InstantWin_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tjackpot_arena_banner_mobile_png: new Asset(\"images/banners/jackpot_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_pc_png: new Asset(\"images/banners/jackpot_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_tablet_png: new Asset(\"images/banners/jackpot_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tlive_arena_banner_mobile_png: new Asset(\"images/banners/live_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tlive_arena_banner_pc_png: new Asset(\"images/banners/live_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tlive_arena_banner_tablet_png: new Asset(\"images/banners/live_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tlive_casino_arena_banner_mobile_png: new Asset(\"images/banners/live_casino_arena_banner_mobile.png\", {'wsop_nj': true}),\n\t\t\tlive_casino_arena_banner_pc_png: new Asset(\"images/banners/live_casino_arena_banner_pc.png\", {'wsop_nj': true}),\n\t\t\tnew_evo_lobby_banner_mobile_png: new Asset(\"images/banners/new_evo_lobby_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\tnew_evo_lobby_banner_pc_png: new Asset(\"images/banners/new_evo_lobby_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\tnew_evo_lobby_banner_tablet_png: new Asset(\"images/banners/new_evo_lobby_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\tnew_games_arena_banner_mobile_png: new Asset(\"images/banners/new_games_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_games_arena_banner_pc_png: new Asset(\"images/banners/new_games_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_games_arena_banner_tablet_png: new Asset(\"images/banners/new_games_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tprogressive_slots_arena_banner_mobile_png: new Asset(\"images/banners/progressive_slots_arena_banner_mobile.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_pc_png: new Asset(\"images/banners/progressive_slots_arena_banner_pc.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_tablet_png: new Asset(\"images/banners/progressive_slots_arena_banner_tablet.png\", {'harrahs_nj': true}),\n\t\t\tpromotions_arena_banner_mobile_png: new Asset(\"images/banners/promotions_arena_banner_mobile.png\", {'wsop_nj': true}),\n\t\t\tpromotions_arena_banner_pc_png: new Asset(\"images/banners/promotions_arena_banner_pc.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_mobile_png: new Asset(\"images/banners/roulette_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_png: new Asset(\"images/banners/roulette_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_png: new Asset(\"images/banners/roulette_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscrach_card_arena_banner_mobile_png: new Asset(\"images/banners/scrach_card_arena_banner_mobile.png\", {'wsop_nj': true}),\n\t\t\tscrach_card_arena_banner_pc_png: new Asset(\"images/banners/scrach_card_arena_banner_pc.png\", {'wsop_nj': true}),\n\t\t\tscratch_card_arena_banner_mobile_png: new Asset(\"images/banners/scratch_card_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscratch_card_arena_banner_pc_png: new Asset(\"images/banners/scratch_card_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscratch_card_arena_banner_tablet_png: new Asset(\"images/banners/scratch_card_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_mobile_png: new Asset(\"images/banners/si_exclusive_arena_banner_mobile.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_pc_png: new Asset(\"images/banners/si_exclusive_arena_banner_pc.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_tablet_png: new Asset(\"images/banners/si_exclusive_arena_banner_tablet.png\", {'si_mi': true}),\n\t\t\tslots_arena_banner_mobile_png: new Asset(\"images/banners/slots_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_pc_png: new Asset(\"images/banners/slots_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_tablet_png: new Asset(\"images/banners/slots_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tvideo_poker_arena_banner_mobile_png: new Asset(\"images/banners/video_poker_arena_banner_mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_pc_png: new Asset(\"images/banners/video_poker_arena_banner_pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_tablet_png: new Asset(\"images/banners/video_poker_arena_banner_tablet.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_mobile_png: new Asset(\"images/banners/virtual_sports_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_pc_png: new Asset(\"images/banners/virtual_sports_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_tablet_png: new Asset(\"images/banners/virtual_sports_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true})\n\t\t},\n\t\tbrowser_icons: {\n\t\t\tchrome_icon_PNG: new Asset(\"images/browser-icons/chrome-icon.PNG\", {}),\n\t\t\tmicrosoft_edge_png: new Asset(\"images/browser-icons/microsoft-edge.png\", {}),\n\t\t\tmozilla_firefox_png: new Asset(\"images/browser-icons/mozilla-firefox.png\", {})\n\t\t},\n\t\tburnout: {\n\t\t\tburnout_animation_last_frame_png: new Asset(\"images/burnout/burnout_animation_last_frame.png\", {}),\n\t\t\tburnout_animation_atlas: new Asset(\"images/burnout/burnout_animation.atlas\", {}),\n\t\t\tburnout_animation_json: new Asset(\"images/burnout/burnout_animation.json\", {}),\n\t\t\tburnout_animation_png: new Asset(\"images/burnout/burnout_animation.png\", {})\n\t\t},\n\t\tdaily_deal: {\n\t\t\tdaily_deal_chest_glow_png: new Asset(\"images/daily-deal/daily-deal-chest-glow.png\", {}),\n\t\t\tdaily_deal_chest_halo_png: new Asset(\"images/daily-deal/daily-deal-chest-halo.png\", {}),\n\t\t\tdaily_deal_chest_text_strip_svg: new Asset(\"images/daily-deal/daily-deal-chest-text-strip.svg\", {}),\n\t\t\tdaily_deal_chest_png: new Asset(\"images/daily-deal/daily-deal-chest.png\", {})\n\t\t},\n\t\tf2p: {\n\t\t\tfreeToPlay_atlas: new Asset(\"images/f2p/freeToPlay.atlas\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tfreeToPlay_json: new Asset(\"images/f2p/freeToPlay.json\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true}),\n\t\t\tfreeToPlay_png: new Asset(\"images/f2p/freeToPlay.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true})\n\t\t},\n\t\tfree_play: {\n\t\t\tfp_left_arrow_png: new Asset(\"images/free-play/fp-left-arrow.png\", {}),\n\t\t\tfp_right_arrow_png: new Asset(\"images/free-play/fp-right-arrow.png\", {}),\n\t\t\tfp_step_msg_bg_png: new Asset(\"images/free-play/fp-step-msg-bg.png\", {}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/free-play/fp-vouchers-bg.png\", {}),\n\t\t\tfreeplay_bg_type_fp_png: new Asset(\"images/free-play/freeplay-bg-type-fp.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_bg_type_fs_png: new Asset(\"images/free-play/freeplay-bg-type-fs.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\tfreeplay_bg_type_jfp_png: new Asset(\"images/free-play/freeplay-bg-type-jfp.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_bg_type_jfs_png: new Asset(\"images/free-play/freeplay-bg-type-jfs.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_type_fp_png: new Asset(\"images/free-play/freeplay-type-fp.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_type_fs_png: new Asset(\"images/free-play/freeplay-type-fs.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_type_jfp_png: new Asset(\"images/free-play/freeplay-type-jfp.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_type_jfs_png: new Asset(\"images/free-play/freeplay-type-jfs.png\", {'777_com': true,'777_uk': true})\n\t\t},\n\t\tgame_frame: {\n\t\t\tdemo_left_corner_png: new Asset(\"images/game_frame/demo_left_corner.png\", {'777_com': true,'777_uk': true}),\n\t\t\tdemo_right_corner_png: new Asset(\"images/game_frame/demo_right_corner.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplay_indicator_selected_png: new Asset(\"images/game_frame/freeplay_indicator_selected.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_indicator_png: new Asset(\"images/game_frame/freeplay_indicator.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_left_corner_png: new Asset(\"images/game_frame/freeplay_left_corner.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tfreeplay_right_corner_png: new Asset(\"images/game_frame/freeplay_right_corner.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\treal_left_corner_png: new Asset(\"images/game_frame/real_left_corner.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_right_corner_png: new Asset(\"images/game_frame/real_right_corner.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tregulation_strip_clock_png: new Asset(\"images/game_frame/regulation_strip_clock.png\", {})\n\t\t},\n\t\tgames_icons_background: {\n\t\t\tBGcardandtable_png: new Asset(\"images/games-icons-background/BGcardandtable.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true}),\n\t\t\tBGGameBlack_png: new Asset(\"images/games-icons-background/BGGameBlack.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true}),\n\t\t\tBGGameBlackSquare_png: new Asset(\"images/games-icons-background/BGGameBlackSquare.png\", {'777_com': true,'777_uk': true}),\n\t\t\tBGicon_png: new Asset(\"images/games-icons-background/BGicon.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true}),\n\t\t\tBGredTiger_png: new Asset(\"images/games-icons-background/BGredTiger.png\", {'777_com': true,'777_uk': true})\n\t\t},\n\t\thistory: {\n\t\t\thistory_calendar_png: new Asset(\"images/history/history_calendar.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thistory_details_left_corner_png: new Asset(\"images/history/history-details-left-corner.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tjackpot_widget: {\n\t\t\tcrown_png: new Asset(\"images/jackpot_widget/crown.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tage_of_gods: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/age_of_gods/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/age_of_gods/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true})\n\t\t\t},\n\t\t\tdaily: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/daily/background.png\", {'777_com': true,'777_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/daily/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true})\n\t\t\t},\n\t\t\thigh_noon: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/high_noon/background.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/high_noon/logo.png\", {})\n\t\t\t},\n\t\t\thourly_captain8: {\n\t\t\t\tbackground_landscape_png: new Asset(\"images/jackpot_widget/hourly_captain8/background_landscape.png\", {}),\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/hourly_captain8/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/hourly_captain8/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true})\n\t\t\t},\n\t\t\tinfo_dialog: {\n\t\t\t\tmobile_landscape_png: new Asset(\"images/jackpot_widget/info_dialog/mobile_landscape.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tmobile_png: new Asset(\"images/jackpot_widget/info_dialog/mobile.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tpc_png: new Asset(\"images/jackpot_widget/info_dialog/pc.png\", {'777_com': true,'777_uk': true})\n\t\t\t},\n\t\t\tjackpot_king: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/jackpot_king/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/jackpot_king/logo.png\", {})\n\t\t\t},\n\t\t\tlive_party: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/live_party/background.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/live_party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/live_party/logo.png\", {})\n\t\t\t},\n\t\t\tmillionaire_genie: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/millionaire_genie/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/millionaire_genie/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true})\n\t\t\t},\n\t\t\tparty: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/party/background.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/party/logo.png\", {}),\n\t\t\t\ttoaster_icon_png: new Asset(\"images/jackpot_widget/party/toaster_icon.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\twinning_png: new Asset(\"images/jackpot_widget/party/winning.png\", {})\n\t\t\t},\n\t\t\ttitan: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/titan/background.png\", {})\n\t\t\t},\n\t\t\ttwilight: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/twilight/background.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/twilight/logo.png\", {})\n\t\t\t},\n\t\t\tvegas_millions: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/vegas_millions/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/vegas_millions/logo.png\", {})\n\t\t\t}\n\t\t},\n\t\tlive_arena: {\n\t\t\tactive_indicator_bg_png: new Asset(\"images/live_arena/active_indicator_bg.png\", {}),\n\t\t\tdealer_icon_png: new Asset(\"images/live_arena/dealer_icon.png\", {'777_com': true,'777_uk': true}),\n\t\t\tseat_icon_dark_png: new Asset(\"images/live_arena/seat_icon_dark.png\", {'777_com': true,'777_uk': true}),\n\t\t\tseat_icon_png: new Asset(\"images/live_arena/seat_icon.png\", {'777_com': true,'777_uk': true}),\n\t\t\tlive_arena_widget: {\n\t\t\t\tbackground_png: new Asset(\"images/live_arena/live_arena_widget/background.png\", {}),\n\t\t\t\tcapsule_end_png: new Asset(\"images/live_arena/live_arena_widget/capsule_end.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tcapsule_mid_png: new Asset(\"images/live_arena/live_arena_widget/capsule_mid.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tcapsule_start_png: new Asset(\"images/live_arena/live_arena_widget/capsule_start.png\", {'777_com': true,'777_uk': true}),\n\t\t\t\tcrown_png: new Asset(\"images/live_arena/live_arena_widget/crown.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/live_arena/live_arena_widget/logo.png\", {}),\n\t\t\t\tseparator_png: new Asset(\"images/live_arena/live_arena_widget/separator.png\", {'777_com': true,'777_uk': true})\n\t\t\t}\n\t\t},\n\t\tlogos: {\n\t\t\tsi_logo_pc_svg: new Asset(\"images/logos/si_logo_pc.svg\", {'si_mi': true}),\n\t\t\tdiamond_vip: {\n\t\t\t\tvip_diamond_logo_mobile_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_mobile_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_dark_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tvip_diamond_logo_pc_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_diamond_logo_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tvip_gold_logo_mobile_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_mobile_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_dark_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tvip_gold_logo_pc_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_png: new Asset(\"images/logos/gold-vip/vip-gold-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_gold_logo_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tvip_platinum_logo_mobile_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_mobile_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_dark_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tvip_platinum_logo_pc_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_platinum_logo_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tvip_regular_logo_mobile_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_mobile_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_dark_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true}),\n\t\t\t\tvip_regular_logo_pc_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_png: new Asset(\"images/logos/reg-vip/vip-regular-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_regular_logo_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\n\t\t},\n\t\tmini_orbit: {\n\t\t\tcip: {\n\t\t\t\texclusives_list_icon_cip_png: new Asset(\"images/mini_orbit/cip/exclusives_list_icon_cip.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tjackpot_widget_title_crown_png: new Asset(\"images/mini_orbit/cip/jackpot_widget_title_crown.png\", {'wsop_nj': true}),\n\t\t\t\ttexture_png: new Asset(\"images/mini_orbit/cip/texture.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cip/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tnew_games_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/new_games_icon.png\", {'wsop_nj': true}),\n\t\t\t\t\tprogressive_slots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/progressive_slots_icon.png\", {'wsop_nj': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'wsop_nj': true}),\n\t\t\t\t\tvideo_poker_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/video_poker_icon.png\", {'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cip/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cip/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cip/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\ttooltip: {\n\t\t\t\t\tgift_svg: new Asset(\"images/mini_orbit/cip/tooltip/gift.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true})\n\t\t\t\t}\n\t\t\t},\n\t\t\tcis: {\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cis/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cis/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cis/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cis/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\ttooltip: {\n\t\t\t\t\tgift_svg: new Asset(\"images/mini_orbit/cis/tooltip/gift.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonboarding: {\n\t\t\tonboarding_logo_closing_png: new Asset(\"images/onboarding/onboarding_logo_closing.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tonboarding_logo_png: new Asset(\"images/onboarding/onboarding_logo.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tregulation_specific: {\n\t\t\tdenmark: {\n\t\t\t\t_18plus_wide_png: new Asset(\"images/regulation_specific/denmark/18plus_wide.png\", {}),\n\t\t\t\tresponsible_gaming_svg: new Asset(\"images/regulation_specific/denmark/responsible_gaming.svg\", {}),\n\t\t\t\tsafe_to_play_png: new Asset(\"images/regulation_specific/denmark/safe-to-play.png\", {}),\n\t\t\t\tself_exclusion_png: new Asset(\"images/regulation_specific/denmark/self-exclusion.png\", {}),\n\t\t\t\tself_test_png: new Asset(\"images/regulation_specific/denmark/self-test.png\", {})\n\t\t\t},\n\t\t\tontario: {\n\t\t\t\tsafe_to_play_icon_svg: new Asset(\"images/regulation_specific/ontario/safe-to-play-icon.svg\", {})\n\t\t\t},\n\t\t\tsweeden: {\n\t\t\t\tsw_resp_game_limit_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit-symbol.png\", {}),\n\t\t\t\tsw_resp_game_limit_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit.png\", {}),\n\t\t\t\tsw_resp_game_panic_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic-symbol.png\", {}),\n\t\t\t\tsw_resp_game_panic_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic.png\", {}),\n\t\t\t\tsw_resp_game_self_test_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test-symbol.png\", {}),\n\t\t\t\tsw_resp_game_self_test_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test.png\", {})\n\t\t\t},\n\t\t\tus: {\n\t\t\t\tnj_rg_icon_svg: new Asset(\"images/regulation_specific/us/nj-rg-icon.svg\", {}),\n\t\t\t\tnj_us_flag_svg: new Asset(\"images/regulation_specific/us/nj-us-flag.svg\", {})\n\t\t\t}\n\t\t},\n\t\tresponsible_gambling: {\n\t\t\tage_18plus_capsule_svg: new Asset(\"images/responsible-gambling/age-18plus-capsule.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tage_18plus_flat_svg: new Asset(\"images/responsible-gambling/age-18plus-flat.svg\", {'777_com': true,'777_uk': true}),\n\t\t\tage_18plus_round_svg: new Asset(\"images/responsible-gambling/age-18plus-round.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tage_21plus_flat_svg: new Asset(\"images/responsible-gambling/age-21plus-flat.svg\", {'777_com': true,'777_uk': true}),\n\t\t\tage_21plus_round_svg: new Asset(\"images/responsible-gambling/age-21plus-round.svg\", {'777_com': true,'777_uk': true,'si_mi': true}),\n\t\t\tbegambleaeare_logo_png: new Asset(\"images/responsible-gambling/begambleaeare-logo.png\", {'777_com': true,'777_uk': true}),\n\t\t\tgamecare_logo_png: new Asset(\"images/responsible-gambling/gamecare-logo.png\", {'777_com': true,'777_uk': true}),\n\t\t\tsafeZoneIcon_svg: new Asset(\"images/responsible-gambling/safeZoneIcon.svg\", {'777_com': true,'777_uk': true})\n\t\t},\n\t\tsdk_icons: {\n\t\t\t_18_plus_png: new Asset(\"images/sdk_icons/18_plus.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t_21_plus_png: new Asset(\"images/sdk_icons/21_plus.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_hover_png: new Asset(\"images/sdk_icons/Close_hover.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_png: new Asset(\"images/sdk_icons/Close.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/sdk_icons/fp_vouchers_bg.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfprightarrow_png: new Asset(\"images/sdk_icons/fprightarrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherback_png: new Asset(\"images/sdk_icons/fpvoucherback.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpVoucherBG_png: new Asset(\"images/sdk_icons/fpVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherfreeplay.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherfreespin_png: new Asset(\"images/sdk_icons/fpvoucherfreespin.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherinfoclose_png: new Asset(\"images/sdk_icons/fpvoucherinfoclose.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherinfoopen_png: new Asset(\"images/sdk_icons/fpvoucherinfoopen.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherjackpotfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreeplay.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfpvoucherjackpotfreespin_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreespin.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeplayVoucherBG_png: new Asset(\"images/sdk_icons/freeplayVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfreeSpinsVoucherBG_png: new Asset(\"images/sdk_icons/freeSpinsVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tfull_screen_off_png: new Asset(\"images/sdk_icons/full_screen_off.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfull_screen_png: new Asset(\"images/sdk_icons/full_screen.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_freeplay_mode_left_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_left.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_freeplay_mode_right_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_right.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_left_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_left.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_right_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_right.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_left_png: new Asset(\"images/sdk_icons/game_frame_real_mode_left.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_right_png: new Asset(\"images/sdk_icons/game_frame_real_mode_right.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_bg_fp_left_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-left.png\", {'harrahs_nj': true,'si_mi': true}),\n\t\t\tgame_frame_bg_fp_right_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-right.png\", {'harrahs_nj': true,'si_mi': true}),\n\t\t\tgame_frame_fp_indicator_png: new Asset(\"images/sdk_icons/game-frame-fp-indicator.png\", {'777_com': true,'777_uk': true}),\n\t\t\tgeneral_notification_png: new Asset(\"images/sdk_icons/general_notification.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\t\that_png: new Asset(\"images/sdk_icons/hat.png\", {'777_com': true,'777_uk': true}),\n\t\t\thistory_details_left_corner_png: new Asset(\"images/sdk_icons/history-details-left-corner.png\", {'si_mi': true}),\n\t\t\thot_png: new Asset(\"images/sdk_icons/hot.png\", {'777_com': true,'777_uk': true}),\n\t\t\ticons_down_arrow_png: new Asset(\"images/sdk_icons/icons_down_arrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\tjackpotplayFreePlayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreePlayVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tjackpotplayFreeSpinVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreeSpinVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tjackpotplayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayVoucherBG.png\", {'777_com': true,'777_uk': true}),\n\t\t\tleftarrow_png: new Asset(\"images/sdk_icons/leftarrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\tnew_badge_png: new Asset(\"images/sdk_icons/new-badge.png\", {'777_com': true,'777_uk': true}),\n\t\t\tpassword_png: new Asset(\"images/sdk_icons/password.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tpost_login_mobile_svg: new Asset(\"images/sdk_icons/post-login-mobile.svg\", {'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\trightarrow_png: new Asset(\"images/sdk_icons/rightarrow.png\", {'777_com': true,'777_uk': true}),\n\t\t\ttoaster_information_message_png: new Asset(\"images/sdk_icons/toaster-information-message.png\", {'777_com': true,'777_uk': true,'wsop_nj': true}),\n\t\t\ttouchFinger_png: new Asset(\"images/sdk_icons/touchFinger.png\", {'777_com': true,'777_uk': true}),\n\t\t\tuser_png: new Asset(\"images/sdk_icons/user.png\", {'777_com': true,'777_uk': true}),\n\t\t\tusername_png: new Asset(\"images/sdk_icons/username.png\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/sdk_icons/vip-badge.png\", {'777_com': true,'777_uk': true})\n\t\t},\n\t\tstore: {\n\t\t\tstore_button_android_eng_png: new Asset(\"images/store/store-button-android-eng.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fin_png: new Asset(\"images/store/store-button-android-fin.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fre_png: new Asset(\"images/store/store-button-android-fre.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_ger_png: new Asset(\"images/store/store-button-android-ger.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_nor_png: new Asset(\"images/store/store-button-android-nor.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_por_png: new Asset(\"images/store/store-button-android-por.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_rus_png: new Asset(\"images/store/store-button-android-rus.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_spa_png: new Asset(\"images/store/store-button-android-spa.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_swe_png: new Asset(\"images/store/store-button-android-swe.png\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_eng_svg: new Asset(\"images/store/store-button-ios-eng.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fin_svg: new Asset(\"images/store/store-button-ios-fin.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fre_svg: new Asset(\"images/store/store-button-ios-fre.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_ger_svg: new Asset(\"images/store/store-button-ios-ger.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_nor_svg: new Asset(\"images/store/store-button-ios-nor.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_por_svg: new Asset(\"images/store/store-button-ios-por.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_rus_svg: new Asset(\"images/store/store-button-ios-rus.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_spa_svg: new Asset(\"images/store/store-button-ios-spa.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_swe_svg: new Asset(\"images/store/store-button-ios-swe.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\ttooltip: {\n\t\t\tgift_svg: new Asset(\"images/tooltip/gift.svg\", {'777_com': true,'777_uk': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'888casino_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tuser: {\n\t\t\tpost_login_mobile_svg: new Asset(\"images/user/post-login-mobile.svg\", {'777_com': true,'777_uk': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\twheel_of_fortune: {\n\t\t\tcolors_svg: new Asset(\"images/wheel-of-fortune/colors.svg\", {}),\n\t\t\tshell_svg: new Asset(\"images/wheel-of-fortune/shell.svg\", {'777_com': true,'777_uk': true})\n\t\t}\n\t},\n\tlottie_json: {\n\t\tgeo_location_checking_json: new Asset(\"lottie-json/geo-location-checking.json\", {}),\n\t\tgeo_location_ok_json: new Asset(\"lottie-json/geo-location-ok.json\", {}),\n\t\ttitan_jackpot_json: new Asset(\"lottie-json/titan-jackpot.json\", {})\n\t},\n\tvideos: {\n\t\tharmonium_mp4: new Asset(\"videos/harmonium.mp4\", {})\n\t}\n};","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface IInfoIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class InfoIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface ISearchIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class SearchIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#0ea79b\", //brandTeal\r\n base01Contrast: \"#19322f\", //blackTeal\r\n base01Dark: \"#8cd1ba\", //softTeal\r\n base01Light: \"#c3e3c7\", //lightGreen\r\n\r\n base02: \"#fcf6d5\", //brandYellow\r\n base02Contrast: \"#4c1723\", //blackRed\r\n base02Dark: \"#a4867c\", //tan\r\n base02Light: \"#eadfc3\", //sepia\r\n\r\n base03: \"#bc3554\", //pink\r\n base03Contrast: \"#fcf6d5\", //brandYellow,\r\n base03Dark: \"#b01619\", //brick\r\n base03Light: \"#ff014f\", //red\r\n\r\n base04: \"#ffd683\", //peach\r\n base04Contrast: \"#4c1723\", //blackRed\r\n base04Dark: \"#ffbe0b\", //papaya\r\n base04Light: \"#ffff00\", //yellow\r\n\r\n\r\n base05: \"#7aec37\", //inchWorm\r\n base05Contrast: \"#000000\",\r\n base05Dark: \"#135823\",\r\n base05Light: \"#d5ec37\", //pear //#87ee4b\r\n\r\n logoBackground: \"#DAEBCD\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#7ff800\", //brandGreen\r\n base01Contrast: \"#000000\",\r\n base01Dark: \"#7aec37\", //inchWorm\r\n base01Light: \"#d2f800\", //limeGreen\r\n\r\n base02: \"#fce403\", //turbo\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#ffff00\", //yellow\r\n base02Light: \"#d5ec37\", //pear\r\n\r\n base03: \"#ff014f\", //red\r\n base03Contrast: \"#ffffff\",\r\n base03Dark: \"#e00146\",\r\n base03Light: \"#ff1a61\",\r\n\r\n ...grayColors\r\n}\r\n","import {grayColors} from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#FC6200\",\r\n base01Contrast: \"#000000\",\r\n base01Dark: \"#de5600\",\r\n base01Light: \"#fc721a\",\r\n\r\n base02: \"#ffcc02\",\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#e0b400\",\r\n base02Light: \"#ffd11a\",\r\n\r\n base03: \"#e91515\",\r\n base03Contrast: \"\",\r\n base03Dark: \"#cd1212\",\r\n base03Light: \"#eb2c2c\",\r\n\r\n base04: \"#0294f6\",\r\n base04Contrast: \"#ffffff\",\r\n base04Dark: \"#0282d8\",\r\n base04Light: \"#1b9ff7\",\r\n\r\n base05: \"#0c0c0c\",\r\n base05Contrast: \"#ffffff\",\r\n base05Dark: \"#0b0b0b\",\r\n base05Light: \"#242424\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#d62a8c\",\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#bc257b\",\r\n base01Light: \"#da3f98\",\r\n\r\n base02: \"#310a53\",\r\n base02Contrast: \"#ffffff\",\r\n base02Dark: \"#462365\",\r\n base02Light: \"#6d5c80\",\r\n\r\n base03: \"#ff014f\",\r\n base03Contrast: \"#ffffff\",\r\n base03Dark: \"#e00146\",\r\n base03Light: \"#ff1a61\",\r\n\r\n\r\n base04: \"#d5ec37\",\r\n base04Contrast: \"#180529\",\r\n base04Dark: \"#7aec37\",\r\n base04Light: \"#ffff00\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#015536\",\r\n base01Contrast: \"#262627\",\r\n base01Dark: \"#05372C\",\r\n base01Light: \"#41B169\",\r\n\r\n base02: \"#047C4C\",\r\n base02Contrast: \"\",\r\n base02Dark: \"\",\r\n base02Light: \"\",\r\n\r\n base03: \"#FFFFFF\",\r\n base03Contrast: \"\",\r\n base03Dark: \"\",\r\n base03Light: \"\",\r\n\r\n base04: \"linear-gradient(90deg, #F1C141 0%, #F9F19A 48.96%, #F1C141 100%)\",\r\n base05: \"#F12727\",\r\n gold: \"#F1C141\",\r\n yellow: \"#F9F19A\",\r\n warmWhite: \"#FFFFFFCC\",\r\n ...grayColors\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#e63422\", //red\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#ca2e1e\",\r\n base01Light: \"#e94838\",\r\n\r\n base02: \"#7ff800\", //brandGreen\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#7aec37\", //inchWorm\r\n base02Light: \"#d2f800\", //limeGreen\r\n\r\n base03: \"#fce403\", //turbo\r\n base03Contrast: \"#000000\",\r\n base03Dark: \"#ffff00\", //yellow\r\n base03Light: \"#d5ec37\", //pear\r\n\r\n base04: \"#c81503\",\r\n\r\n ...grayColors\r\n};","import { grayColors } from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#c81503\", //red si cis\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#ca2e1e\",\r\n base01Light: \"#e94838\",\r\n base01LightMedium: \"#e63422\",\r\n\r\n base02: \"#7ff800\", //brandGreen\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#7aec37\", //inchWorm\r\n base02Light: \"#d2f800\", //limeGreen\r\n\r\n base03: \"#fce403\", //turbo\r\n base03Contrast: \"#000000\",\r\n base03Dark: \"#ffff00\", //yellow\r\n base03Light: \"#d5ec37\", //pear\r\n\r\n base04: \"#c81503\",\r\n\r\n base05: \"#c1c1c18f\",\r\n\r\n base06: \"#828282\",\r\n\r\n base07: \"#e3e3e3\",\r\n\r\n base08: \"#707372\",\r\n\r\n base08Shadow: \"#000000bf\",\r\n\r\n base09: \"#b2b2b2\",\r\n\r\n base10: \"#272727\",\r\n\r\n ...grayColors\r\n};","export function hexToRgba(hex: string, opacity: number = 1): string {\r\n var c;\r\n if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){\r\n c = hex.substring(1).split('');\r\n if(c.length === 3){\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\r\n }\r\n c = '0x'+c.join('');\r\n return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',' + opacity +')';\r\n }\r\n throw new Error('Bad color Hex code');\r\n}","export const FEATURE_GAME_RECOMMENDATIONS = 'GameRecommendations';\r\nexport const FEATURE_ROUTE_OVERWRITE = \"AbRouteOverwrite\";\r\nexport const FEATURE_DEPOSIT_WIDGET = \"DepositWidget\"; //used only on backend side\r\nexport const FEATURE_CASHOUT_WIDGET = \"CashoutWidget\"; //used only on backend side\r\nexport const FEATURE_TRANSACTION_HISTORY_WIDGET = \"TransactionHistoryWidget\";\r\nexport const FEATURE_NAME_CONTROL_CENTER_TOGGLE = \"AbTestingSafeZoneToggle\";\r\nexport const FEATURE_NAME_LIST_ON_TOP = \"ListOnTop\";\r\nexport const FEATURE_NAME_PARTY_JACKPOTS = \"PartyJackpots\";\r\nexport const FEATURE_NAME_SEARCH_GAME_SUGGESTED_BY_AI = \"SearchGameSuggestionByAI\";\r\nexport const FEATURE_NAME_PLAYERS_LIKE_YOU_GAMES_LIST_TYPE_ID = \"PlayersLikeYouGamesListTypeId\";\r\nexport const FEATURE_NAME_VIDEO_LIVE_STREAM = \"LiveStreamEnabled\";\r\nexport const FEATURE_NAME_STATIC_VIDEO_LIST = \"StaticVideoListEnabled\";\r\nexport const FEATURE_NAME_AI_SORT_GAME_LIST = \"AbTestingAiSortGamesLists\";\r\nexport const FEATURE_NAME_BECAUSE_YOU_PLAYED_LIST = \"BecauseYouPlayedListEnabled\";\r\nexport const FEATURE_NAME_MOBILE_HEADER_SEARCH_BUTTON = \"MobileHeaderSearchButton\";\r\nexport const FEATURE_NAME_ONBOARDING_TOUR = \"OnboardingTourActivated\";\r\nexport const FEATURE_NAME_REGISTRATION_WIDGET = \"RegistrationWidget\";\r\nexport const FEATURE_NAME_WEBAPP_BOTTOM_NAVIGATION = \"WebappBottomNavigation\";\r\n","export const CHANNEL_SOURCE = {\r\n casinoClient: 'CASINO_CLIENT',\r\n partyJackpotToaster: 'PARTY_JACKPOT_TOASTER',\r\n omg: 'OMG',\r\n myAccount: 'MY_ACCOUNT',\r\n uploadDocuments: 'UPLOAD_DOCUMENTS',\r\n registration: 'REGISTRATION',\r\n pendingPlay: 'PENDING_PLAY',\r\n pendingAction: 'PENDING_ACTION',\r\n geoLocationRetry: 'GEO_LOCATION_RETRY',\r\n geoLocation: 'GEO_LOCATION',\r\n rich: 'RICH',\r\n about_popup: 'ABOUT_POPUP',\r\n cashier:\"CASHIER\"\r\n}\r\n\r\nexport const CHANNEL_ELEMENTS = {\r\n depositButton: 'deposit_button',\r\n withdrawButton: 'withdraw_button',\r\n uploadDocumentsButton: 'upload_documents_button',\r\n transactionHistoryButton: 'transaction_history_button',\r\n retryButton: 'retry_button',\r\n plusButton: 'plus_button',\r\n urlParam: 'url_param',\r\n deepLink: 'deep_link',\r\n floatingIcon: 'floating_icon',\r\n controlCenterHeaderButton: 'safezone_header_button',\r\n controlCenterTooltip: 'control_center_tooltip',\r\n controlCenterUsefulLink: 'safezone_useful_link',\r\n gamesLimitsLobbyButton: 'games_limits_lobby_button',\r\n gamesLimitsGameButton: 'games_limits_game_button',\r\n omgAction:\"omg_action\",\r\n cashierAction:\"cashier_action\",\r\n registerButton: \"register_button\"\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_IDS = {\r\n sofRequired: 100,\r\n retryCloseDrawerMessage: 101,\r\n psRedirectFocusDialog: 102,\r\n timeSpentReminder: 104,\r\n nightLimitWarning: 105,\r\n nightLimitKick: 106,\r\n lugasCooldown:108,\r\n lugasActiveOnAnotherOperator:109,\r\n lugasLogout:110,\r\n loginMessage:112,\r\n realityCheckGermany: 113,\r\n SDNetLossAdvanceWarning: 115,\r\n SDTimeLimitAdvanceWarning: 116,\r\n SDNetLossLimitsReached: 117,\r\n SDTimeLimitsReached: 118,\r\n SDRealityCheck: 119,\r\n SDResult: 120,\r\n SDSetLimitPopUp: 121\r\n}\r\n\r\nexport function getDisplayMessageName(messageId: number): string {\r\n switch (messageId) {\r\n case DISPLAY_MESSAGE_IDS.SDSetLimitPopUp:\r\n return \"SDSetLimitPopUp\";\r\n case DISPLAY_MESSAGE_IDS.SDNetLossAdvanceWarning:\r\n return \"SDNetLossAdvanceWarning\";\r\n case DISPLAY_MESSAGE_IDS.SDTimeLimitAdvanceWarning:\r\n return \"SDTimeLimitAdvanceWarning\";\r\n case DISPLAY_MESSAGE_IDS.SDNetLossLimitsReached:\r\n return \"SDNetLossLimitsReached\";\r\n case DISPLAY_MESSAGE_IDS.SDTimeLimitsReached:\r\n return \"SDTimeLimitsReached\";\r\n case DISPLAY_MESSAGE_IDS.SDRealityCheck:\r\n return \"SDRealityCheck\";\r\n case DISPLAY_MESSAGE_IDS.SDResult:\r\n return \"SDResult\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_NAMES = {\r\n DISRUPTIVE_WARNING_MESSAGE_NAME: \"DisruptiveWarningMessage\",\r\n DISRUPTIVE_KICKOFF_MESSAGE_NAME: \"DisruptiveKickOffMessage\",\r\n LUGAS_COOLDOWN_MESSAGE_NAME:\"LugasCoolingPeriod\",\r\n LUGAS_ACTIVE_MESSAGE_NAME:\"LugasParallelPlaying\",\r\n LUGAS_LOGOUT_MESSAGE_NAME:\"LugasLogout\",\r\n REALITY_CHECK_GERMANY_MESSAGE_NAME: \"RealityCheck\",\r\n LOGIN_MESSAGE: \"LoginMessage\"\r\n}\r\n\r\nexport const ACTION_TAKEN_NAMES = {\r\n CONFIRM_ACTION: \"confirm\",\r\n CANCEL_ACTION: \"cancel\",\r\n}\r\n\r\n","export enum FP_VOUCHER_TYPES {\r\n FreeSpin = '1',\r\n FreePlay = '2',\r\n FreeJackpotSpin = '3',\r\n FreeJackpotPlay = '4'\r\n}\r\n\r\nexport const FP_MESSAGE_MODE = {\r\n POPUP: 'popup',\r\n EMBEDDED_INTERNAL: 'embedded-internal'\r\n};\r\n","export enum GAME_GROUP {\r\n ARCADE = 209,\r\n BACCARAT = 11,\r\n BACKGAMMONN = 40,\r\n BLACKJACK = 12,\r\n CARRIBEAN_POKER = 18,\r\n CRAPS = 10,\r\n CRAZY_BLACKJACK = 20,\r\n HEAD_TO_HEAD = 207,\r\n HI_LO = 202,\r\n KENO = 16,\r\n LIVE_CASINO = 201,\r\n PAI_GOW_POKER = 17,\r\n POKER = 100,\r\n POKER_TEMPLATE_GAMES = 206,\r\n POOLS = 212,\r\n POWER_VIDEO_POKER = 19,\r\n ROULETTE = 13,\r\n ROULETTE_LIKE = 203,\r\n SCRATCH_CARD = 204,\r\n SLOT = 14,\r\n VIDEO_SLOT = 30,\r\n VIDEO_POKER = 15,\r\n VIDEO_SLOT_BONUS_GAME = 31\r\n}\r\n","export enum JackpotInternalId {\r\n Daily = 8000,\r\n Twilight = 8001,\r\n HourlyCaptain8 = 8002,\r\n MillionaireGenie = 6,\r\n AgeOfTheGodsFranchises = 200019,\r\n\r\n}\r\n\r\nexport enum JackpotType {\r\n Daily = \"Daily\",\r\n HighNoon = \"HighNoon\",\r\n Twilight = \"Twilight\",\r\n Party = \"Party\",\r\n HourlyCaptain8 = \"HourlyCaptain8\",\r\n MillionaireGenie = \"MillionaireGenie\",\r\n AgeOfGods = \"AgeOfTheGodsFranchises\",\r\n Titan = \"Titan\",\r\n VegasMillions = \"VegasMillions\",\r\n JackpotKing = \"JackpotKing\"\r\n}\r\n\r\nexport enum JACKPOT_STATE {\r\n Cold = 1,\r\n Regular = 2,\r\n Hot = 3,\r\n OffHours = 4 // used only for Hourly Party Jackpots for now\r\n}\r\n","const MIGRATION = {\r\n PLAYER_MIGRATED_COOKIE : \"player_migrated\",\r\n LOADED_WITH_MIGRATION_TOKEN_SESSION_STORAGE_KEY: \"loadedWithMigrationToken\",\r\n MIGRATION_SOURCE_QUERY_PARAM: \"utm_source\",\r\n MIGRATION_SOURCE_QUERY_PARAM_VALUE: 'player_migration',\r\n MIGRATION_TOKEN_QUERY_PARAM: \"utm_content\",\r\n BUSINESS_CORRELATION_ID_QUERY_PARAM: \"utm_id\"\r\n};\r\n\r\nexport default MIGRATION;","\r\nexport enum GermanyResponsibleGamingButtonPlacement {\r\n inGame = 0,\r\n inDetailedHistory = 1,\r\n inHeader = 2\r\n}","export const QA_ENV_URBAN_DEFAULT_SETTINGS = {\r\n defaultIcon: 'https://mirage-orbit-latest-eu.888casino.com/configurations/888casino_com/assets/images/888casinologo-mobile.svg',\r\n defaultTitle: '888Casino',\r\n defaultActionURL: 'https://mirage-orbit-latest-eu.888casino.com',\r\n appKey: '64FbuTbIS9aQUIwB0cWoMA',\r\n token: 'MTo2NEZidVRiSVM5YVFVSXdCMGNXb01BOkFVRXNxa2hEUE5rZUtTOW1DLVdvR3hwMHNjdHEtNF9xLXJ1M3ZGazVJWEU',\r\n vapidPublicKey: 'BJOvGd2nCaeEGqqKnsJJhWmJzMvJqO4t3wSCqzVJ6uhHWw3891tqJhs8muo958dtbggZe4vM122EtKE9HkvUf9U='\r\n};\r\n\r\nexport const PWA_PROMPT_EVENT = \"pwaPromptEvent\";\r\nexport const PWA_PROMPT_CALLBACK = \"pwaPromptCallback\";\r\nexport const PWA_INSTALLED_CALLBACK = \"pwaInstalledCallback\";\r\nexport const PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY = \"orbit-pwa-should-auto-popup\";\r\n\r\n","//This is the cookie name used in unified.\r\nexport const STATE_OF_RESIDENCE_COOKIE_KEY: string = 'userSelectedState';\r\n","const TEMP_ACCOUNT_STATUS = {\r\n APPROVED: 'APPROVED',\r\n DOCUMENTS_NOT_RECEIVED: 'DOCUMENTS_NOT_RECEIVED',\r\n PENDING_VERIFICATION: 'PENDING_VERIFICATION'\r\n};\r\nexport {TEMP_ACCOUNT_STATUS};","export enum BalanceType {\r\n CASH = \"cash\",\r\n BONUS = \"bonus\",\r\n BOTH = \"both\"\r\n}\r\n","export type CyCssClass =\r\n 'cy-main-screen' |\r\n 'cy-brand-switch-list' |\r\n 'cy-brand-switch-list-item' |\r\n 'cy-menu-link' |\r\n 'cy-spinner' |\r\n 'cy-game-iframe' |\r\n 'cy-single-game-regular-template' |\r\n 'cy-game-image-container' |\r\n 'cy-play-real-game-button' |\r\n 'cy-play-demo-game-button' |\r\n 'cy-modal' |\r\n 'cy-modal-content' |\r\n 'cy-reality-check-options' |\r\n 'cy-modal-dialog-buttons-area' |\r\n 'cy-welcome-component' |\r\n 'cy-balance-box' |\r\n 'cy-balance-box-amount' |\r\n 'cy-profile-box' |\r\n 'cy-cashier-button' |\r\n 'cy-clock' |\r\n 'cy-game-window' |\r\n 'cy-logout-link' |\r\n 'cy-burger-button' |\r\n 'cy-profile-box-login-button' |\r\n 'cy-menu-links-group' |\r\n 'cy-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-gambling-session-limit-duration-select' |\r\n 'cy-spain-game-limit-confirmation-dialog-title' |\r\n 'cy-spain-game-limit-loss-limit-select' |\r\n 'cy-gambling-session-limit-loss-limit-select' |\r\n 'cy-spain-game-limit-interval-reminder-select' |\r\n 'cy-gambling-session-limit-interval-reminder-select' |\r\n 'cy-spain-game-limit-restriction-period-select' |\r\n 'cy-gambling-session-limit-restriction-period-select' |\r\n 'cy-header-regulation-data'|\r\n 'cy-self-exclusion-link' |\r\n 'cy-safe-to-play' |\r\n 'cy-responsible-gaming-button' |\r\n 'cy-balance-amount-pc' |\r\n 'cy-header-bankroll-button-mobile' |\r\n 'cy-bonus-and-cash-balance' |\r\n 'cy-cache-balance' |\r\n 'cy-bonus-balance' |\r\n 'cy-login-button-text' |\r\n 'cy-register-button' |\r\n 'cy-last-login-label' |\r\n 'cy-main-nav' |\r\n 'cy-navbar-mobile-wrapper' |\r\n 'cy-session-timer' |\r\n 'cy-last-login-value' |\r\n 'cy-open-game-intermediate-page' |\r\n 'cy-regulation-game-session-id' |\r\n 'cy-regulation-participation-ticket-id' |\r\n 'cy-italy-game-limit-default-amount-option' |\r\n 'cy-italy-game-limit-other-amount-option' |\r\n 'cy-italy-game-limit-other-amount-input' |\r\n 'cy-italy-game-limit-regulatory-value' |\r\n 'cy-sweden-panic-button' |\r\n 'cy-sweden-panic-icon' |\r\n 'cy-sweden-game-limit-button' |\r\n 'cy-sweden-game-limit-icon' |\r\n 'cy-sweden-self-test-button' |\r\n 'cy-sweden-self-test-icon' |\r\n 'cy-modal-dialog-x-close-button' |\r\n 'cy-external-link-container' |\r\n 'cy-cashier-external-link-container' |\r\n 'cy-new-live-casino' |\r\n 'cy-live-casino' |\r\n 'cy-live-casino-widget-container' |\r\n 'cy-modal-main-title' |\r\n 'cy-italy-game-limit-message' |\r\n 'cy-italy-game-limit-message-section' |\r\n 'cy-italy-game-limit-error-section' |\r\n 'cy-dk-doga-icon' |\r\n 'cy-dk-stop-spillen-icon' |\r\n 'cy-dk-rofus-icon' |\r\n 'cy-clear-search-box-icon' |\r\n 'cy-found-games-list-box' |\r\n 'cy-no-found-games-box' |\r\n 'cy-found-games-more-box' |\r\n 'cy-found-games-more' |\r\n 'cy-search-game-item' |\r\n 'cy-user-cid' |\r\n 'cy-close-mobile-menu-icon' |\r\n 'cy-close-mobile-search-icon' |\r\n 'cy-game-search-input' |\r\n 'cy-search-title-box' |\r\n 'cy-game-search-box' |\r\n 'cy-suggested-links-suggested-games' |\r\n 'cy-lobby-header' |\r\n 'cy-lobby-header-title'|\r\n 'cy-navbar-right-container' |\r\n 'cy-homepage-header-arenas-container' |\r\n 'cy-homepage-top-banner-background' |\r\n 'cy-homepage-top-banner-divider' |\r\n 'cy-arena-box' |\r\n 'cy-header-arena-title' |\r\n 'cy-new-games-arena-badge' |\r\n 'cy-party-jackpot-in-game-container' |\r\n 'cy-party-jackpot-in-game-widget-amount' |\r\n 'cy-party-jackpot-welcome-popup' |\r\n 'cy-party-jackpot-welcome-popup-accept-button' |\r\n 'cy-party-jackpot-welcome-popup-decline-button' |\r\n 'cy-party-jackpot-welcome-popup-terms-and-conditions' |\r\n 'cy-reality-check-close-button' |\r\n 'cy-session-cooldown-popup' |\r\n 'cy-session-cooldown-remaining' |\r\n 'cy-game-popup' |\r\n 'cy-game-popup-not-now-button' |\r\n 'cy-game-popup-open-real-button' |\r\n 'cy-game-popup-game-title' |\r\n 'cy-homepage-arenas-header' |\r\n 'cy-layout-wrapper-homepage'|\r\n 'cy-layout-wrapper-miniorbit-homepage' |\r\n 'cy-lobby-wrapper-miniorbit-arena' |\r\n 'cy-panic-button-germany' |\r\n 'cy-tooltip-click-here' |\r\n 'cy-modal-dialog-content' |\r\n 'cy-tooltip-box' |\r\n 'cy-history-more-details' |\r\n 'cy-details-history-header' |\r\n 'cy-useful-links-list' |\r\n 'cy-mini-orbit-useful-links-list' |\r\n 'cy-tooltip-close' |\r\n 'cy-remainder-select' |\r\n 'cy-more-info' |\r\n 'cy-free-play-indicator-button' |\r\n 'cy-deposit-button' |\r\n 'cy-user-menu-close-btn' |\r\n 'cy-free-play-voucher-container' |\r\n 'cy-free-play-games-container' |\r\n 'cy-free-play-game-item' |\r\n 'cy-drop-down-box' |\r\n 'cy-gaming-history-record' |\r\n 'cy-gaming-history-game-name' |\r\n 'cy-gaming-history-game-image' |\r\n 'cy-gaming-history-play-date' |\r\n 'cy-gaming-history-bet-value' |\r\n 'cy-gaming-history-winning-value' |\r\n 'cy-gaming-history-bankroll-value' |\r\n 'cy-gaming-history-free-play-winning' |\r\n 'cy-gaming-history-free-play-current-amount' |\r\n 'cy-gaming-history-amount-description' |\r\n 'cy-gaming-history-amount-value' |\r\n 'cy-gaming-history-round-id' |\r\n 'cy-migrated-gaming-history-round-id' |\r\n 'cy-gaming-history-session-id' |\r\n 'cy-gaming-history-participation-id' |\r\n 'cy-gaming-history-days-selector' |\r\n 'cy-gaming-history-big-win-message' |\r\n 'cy-gaming-history-loading-trigger' |\r\n 'cy-tipping-history-record' |\r\n 'cy-tipping-history-game-name' |\r\n 'cy-tipping-history-game-image' |\r\n 'cy-tipping-history-tip-id' |\r\n 'cy-tipping-history-play-date' |\r\n 'cy-tipping-history-tip-value' |\r\n 'cy-tipping-history-bankroll-value' |\r\n 'cy-tipping-history-days-selector' |\r\n 'cy-tipping-history-loading-trigger' |\r\n 'cy-tipping-history-amount-description' |\r\n 'cy-tipping-history-amount-value' |\r\n 'cy-skip-intermediate-page' |\r\n 'cy-orbit-swiper' |\r\n 'cy-swiper-button-prev' |\r\n 'cy-swiper-button-next' |\r\n 'cy-uk-malta-reality-check-title' |\r\n 'cy-live-casino-grid' |\r\n 'cy-live-casino-grid-item' |\r\n 'cy-live-casino-grid-item-infobar-game-seats-count-text' |\r\n 'cy-live-casino-grid-item-title' |\r\n 'cy-live-casino-grid-item-bet-interval' |\r\n 'cy-live-casino-grid-item-infobar-draws' |\r\n 'cy-live-casino-grid-item-infobar-dealer-name' |\r\n 'cy-live-casino-grid-item-infobar-bet-behind' |\r\n 'cy-live-casino-widget-amount' |\r\n 'cy-live-casino-widget-description' |\r\n 'cy-live-casino-filter-buttons' |\r\n 'cy-history-free-play-message' |\r\n 'cy-user-menu' |\r\n 'cy-games-list-title' |\r\n 'cy-games-title-text' |\r\n 'cy-orbit-swiper-wrapper' |\r\n 'cy-orbit-swiper-games-list' |\r\n 'cy-see-all-link' |\r\n 'cy-recently-played' |\r\n 'cy-help-mobile-link' |\r\n 'cy-filter-link' |\r\n 'cy-open-filters-button' |\r\n 'cy-apply-filters-button' |\r\n 'cy-clear-filters-button' |\r\n 'cy-side-menu' |\r\n 'cy-mini-orbit-side-menu-open-button' |\r\n 'cy-right-drawer' |\r\n 'cy-overlay' |\r\n 'cy-registration-popup-content' |\r\n 'cy-vertical-games-list' |\r\n 'cy-vertical-games-list-close-btn' |\r\n 'cy-lang-switcher-back' |\r\n 'cy-language-switcher-dropdown' |\r\n 'cy-lang-switch-label' |\r\n 'cy-lang-switch-current-lang' |\r\n 'cy-toast-container' |\r\n 'cy-toast' |\r\n 'cy-modal-dialog' |\r\n 'cy-modal-dialog-header' |\r\n 'cy-modal-dialog-consumer-content' |\r\n 'cy-source-of-funds-open-chat-btn' |\r\n 'cy-language-switcher-button' |\r\n 'cy-cms-banner-container' |\r\n 'cy-temp-account-days-number' |\r\n 'cy-temp-account-message-body' |\r\n 'cy-omg-indicator' |\r\n 'cy-jackpot-widget' |\r\n 'cy-cgp-red-tiger-widget-click-detector' |\r\n 'cy-game-jackpot-amount' |\r\n 'cy-useful-links-section' |\r\n 'cy-useful-links-item' |\r\n 'cy-useful-links-li-item' |\r\n 'cy-useful-links-item-expandable' |\r\n 'cy-useful-links-item-side-text' |\r\n 'cy-cgp-about-area' |\r\n 'cy-lobby-grid-arena' |\r\n 'cy-link-to-offer-banner-box' |\r\n 'cy-link-to-offer-wheel-of-fortune' |\r\n 'cy-link-to-offer-dialog-close-box' |\r\n 'cy-open-membership-deeplink' |\r\n 'cy-open-cashier-deeplink' |\r\n 'cy-link-to-offer-icon-box'|\r\n 'cy-games-grid-container' |\r\n 'cy-orbit-swiper-streaming-tile' |\r\n 'cy-orbit-swiper-streaming-tile-footer' |\r\n 'cy-cross-brand-link' |\r\n 'cy-arenas-header-button' |\r\n 'cy-live-video-item' |\r\n 'cy-players-like-you' |\r\n 'cy-because-you-played' |\r\n 'cy-game-title' |\r\n 'cy-lists-intersection-observer-target' |\r\n 'cy-inactivity-timeout-select' |\r\n 'cy-about-session-balance-amount' |\r\n 'cy-about-help-link' |\r\n 'cy-filters-games-list' |\r\n 'cy-game-net-position-value' |\r\n 'cy-game-duration-value' |\r\n 'cy-deposit-widget' |\r\n 'cy-deposit-widget-init-params' |\r\n 'cy-payments-redirect-focus' |\r\n 'cy-uk-tsr-main-text-box' |\r\n 'cy-withdraw-button' |\r\n 'cy-cashout-widget' |\r\n 'cy-cashout-widget-init-params' |\r\n 'cy-top-picks-list' |\r\n 'cy-arenas-header' |\r\n 'cy-logo' |\r\n 'cy-main-wrapper' |\r\n 'cy-clock-component' |\r\n 'cy-game-navbar-free-play-indicator' |\r\n 'cy-free-play-vouchers-container' |\r\n 'cy-header-menu-gift-button' |\r\n 'cy-overlay-content' |\r\n 'cy-user-menu-user-details' |\r\n 'cy-state-select-approve-button' |\r\n 'cy-wrong-app-message' |\r\n 'cy-swiper-buttons' |\r\n 'cy-burnout-animation-container' |\r\n 'cy-burnout-gift-button' |\r\n 'cy-tooltip-container' |\r\n 'cy-logo-container' |\r\n 'cy-navbar-container' |\r\n 'cy-user-profile-messages-indicator' |\r\n 'cy-free-play-indicator-dot' |\r\n 'cy-help-widget-app' |\r\n 'cy-header-help-button' |\r\n 'cy-form-post-form' |\r\n 'cy-free-to-play-click-box' |\r\n 'cy-modal-dialog-link' |\r\n 'cy-italy-other-limit-radio' |\r\n 'cy-standard-limit-radio' |\r\n 'cy-jackpot-widget-collecting-amount' |\r\n 'cy-jackpot-widget-amount'|\r\n 'cy-transaction-history-init-params' |\r\n 'cy-transaction-history-widget' |\r\n 'cy-netherlands-ksa-button' |\r\n 'cy-vouchers-previous-button' |\r\n 'cy-vouchers-next-button' |\r\n 'cy-voucher-card-face' |\r\n 'cy-voucher-card-back' |\r\n 'cy-game-restriction-geo-location-primary-button' |\r\n 'cy-game-restriction-geo-location-secondary-button' |\r\n 'cy-header-control-center-button' |\r\n 'cy-control-center-mini-app' |\r\n 'cy-control-center-mini-widget-init-params' |\r\n 'cy-control-center-full-app' |\r\n 'cy-control-center-full-title' |\r\n 'cy-control-center-full-widget-init-params' |\r\n 'cy-header-state-selector-button' |\r\n 'cy-state-select-dropdown' |\r\n 'cy-state-select-other-button' |\r\n 'cy-login-popup-approve-button' |\r\n 'cy-login-modal-content' |\r\n 'cy-login-popup-total-stakes' |\r\n 'cy-login-popup-net-position' |\r\n 'cy-advanced-filters' |\r\n 'cy-applied-advanced-filters-indicator' |\r\n 'cy-applied-advanced-filter-name' |\r\n 'cy-remove-advanced-filter-x-button' |\r\n 'cy-close-advanced-filters-x-button' |\r\n 'cy-mobile-header-search-button' |\r\n 'cy-daily-deal-box' |\r\n 'cy-hybrid-embedded-nav-menu' |\r\n 'cy-hybrid-embedded-nav-menu-list' |\r\n 'cy-hybrid-menu-item' |\r\n 'cy-free-play-on-boarding-tooltip' |\r\n 'cy-control-center-on-boarding-tooltip' |\r\n 'cy-my-account-external-link-container' |\r\n 'cy-registration-external-link-container' |\r\n 'cy-omg-external-link-container' |\r\n 'cy-forgot-password-external-link-container' |\r\n 'cy-forgot-username-external-link-container' |\r\n 'cy-deposit-pending-action-external-link-container' |\r\n 'cy-transaction-history-pending-action-external-link-container' |\r\n 'cy-pending-play-external-link-container' |\r\n 'cy-pending-login-external-link-container' |\r\n 'cy-rich-external-link-container' |\r\n 'cy-upload-documents-external-link-container' |\r\n 'cy-cross-brand-list' |\r\n 'cy-onboarding-tour' |\r\n 'cy-biometric-login-toggle' |\r\n 'cy-game-number-badge' |\r\n 'cy-search-results-number' |\r\n 'cy-search-title-text' |\r\n 'cy-useful-links-sub-items-list' |\r\n 'cy-useful-links-subitem' |\r\n 'cy-games-filter-category' |\r\n 'cy-game-filter-item' |\r\n 'cy-registration-widget' |\r\n 'cy-tsr-session-balance-amount' |\r\n 'cy-tsr-wagered-amount' |\r\n 'cy-dk-secondary-rg-icon' |\r\n 'cy-gambling-session-profit-loss' |\r\n 'cy-gambling-session-total-bets' |\r\n 'cy-gambling-session-duration' |\r\n 'cy-last-bet-date' |\r\n 'cy-game-footer-bar';\r\n\r\n\r\n\r\nexport function CyClass(className: CyCssClass): string {\r\n return className.toString();\r\n}\r\n\r\nexport function CySelector(className: CyCssClass): string {\r\n return '.' + className.toString();\r\n}\r\n\r\nexport function CySelectors(...classNames: CyCssClass[]): string {\r\n return classNames.map(clsName => '.' + clsName).join(' ');\r\n}\r\n","export enum GameChildishIconMode { \r\n UseDefaultIcon,\r\n UseNonChildishIcon,\r\n UseLessNonChildishIcon,\r\n PreferNonChildishIcon,\r\n PreferLessNonChildishIcon\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\n\r\nexport enum TSR_TYPE {\r\n SESSION_TIMER,\r\n GAME_TIMER\r\n}\r\n\r\nexport type ITimeSpentReminderOptions = ISessionTimeSpentReminderComponentProps | IGameTimeSpentReminderComponentProps;\r\n\r\nexport interface ITimeSpentReminderComponentBaseProps {\r\n playingTime: TimeSpan;\r\n}\r\n\r\ninterface ISessionTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.SESSION_TIMER;\r\n}\r\n\r\ninterface IGameTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.GAME_TIMER;\r\n onStopReminders: () => void;\r\n}\r\n\r\nexport interface ITimeSpentReminderWithBalanceComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n totalNetLoss: number;\r\n isInGame: boolean;\r\n amountWagered?: number; // only for Malta currently\r\n subtitle?: string; // only for Malta currently\r\n}","import {Check} from \"@sparkware/app-utils\";\r\n\r\nfunction hexToDec(h: string) {\r\n return parseInt(h, 16);\r\n}\r\n\r\nfunction decToHex(n: number) {\r\n let h = n.toString(16);\r\n if (h.length === 1) {\r\n return '0' + h;\r\n }\r\n return h;\r\n}\r\n\r\nfunction clamp(value: number, min: number, max: number) {\r\n return Math.min(Math.max(value, min), max)\r\n}\r\n\r\n// https://css-tricks.com/converting-color-spaces-in-javascript/\r\nexport function rgbToHsl(r: number, g: number, b: number) {\r\n // Make r, g, and b fractions of 1\r\n r = r / 255;\r\n g = g / 255;\r\n b = b / 255;\r\n\r\n // Find greatest and smallest channel values\r\n let cmin = Math.min(r,g,b),\r\n cmax = Math.max(r,g,b),\r\n delta = cmax - cmin,\r\n h = 0,\r\n s = 0,\r\n l = 0;\r\n \r\n // Calculate hue\r\n // No difference\r\n if (delta === 0)\r\n h = 0;\r\n // Red is max\r\n else if (cmax === r)\r\n h = ((g - b) / delta) % 6;\r\n // Green is max\r\n else if (cmax === g)\r\n h = (b - r) / delta + 2;\r\n // Blue is max\r\n else\r\n h = (r - g) / delta + 4;\r\n\r\n h = Math.round(h * 60);\r\n\r\n // Make negative hues positive behind 360°\r\n if (h < 0)\r\n h += 360;\r\n \r\n // Calculate lightness\r\n l = (cmax + cmin) / 2;\r\n\r\n // Calculate saturation\r\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\r\n \r\n // Multiply l and s by 100\r\n s = +(s * 100).toFixed(1);\r\n l = +(l * 100).toFixed(1);\r\n\r\n // return \"hsl(\" + h + \",\" + s + \"%,\" + l + \"%)\";\r\n return {\r\n hue: h,\r\n saturation: s,\r\n lightness: l\r\n };\r\n}\r\n\r\nexport function hslToRgb(h: number, s: number, l: number) {\r\n // Must be fractions of 1\r\n s /= 100;\r\n l /= 100;\r\n\r\n let c = (1 - Math.abs(2 * l - 1)) * s,\r\n x = c * (1 - Math.abs((h / 60) % 2 - 1)),\r\n m = l - c/2,\r\n r = 0,\r\n g = 0,\r\n b = 0;\r\n \r\n if (0 <= h && h < 60) {\r\n r = c; g = x; b = 0; \r\n } else if (60 <= h && h < 120) {\r\n r = x; g = c; b = 0;\r\n } else if (120 <= h && h < 180) {\r\n r = 0; g = c; b = x;\r\n } else if (180 <= h && h < 240) {\r\n r = 0; g = x; b = c;\r\n } else if (240 <= h && h < 300) {\r\n r = x; g = 0; b = c;\r\n } else if (300 <= h && h < 360) {\r\n r = c; g = 0; b = x;\r\n }\r\n r = Math.round((r + m) * 255);\r\n g = Math.round((g + m) * 255);\r\n b = Math.round((b + m) * 255);\r\n return {\r\n red: r,\r\n green: g,\r\n blue: b\r\n };\r\n}\r\n\r\nexport class Color {\r\n public readonly red: number;\r\n public readonly gre: number;\r\n public readonly blu: number;\r\n public readonly opa: number;\r\n\r\n static fromHex(hex: string, opacity?: number) {\r\n if (hex === \"transparent\") {\r\n return Color.transparent();\r\n }\r\n /**\r\n * A valid hex can be formed from 3, 4, 6 or 8 characters from 0 to F, case insensitive.\r\n * The long form (8 characters also contains opacity), 00 (numeric 0) is fully transparent, FF (numeric 255) is fully opaque\r\n * Short format hex, 3 characters for example #4A9 is the short form for #44AA99\r\n * Short format hexa, 4 characters for example #4A9B is the short form for #44AA99BB\r\n */\r\n if (!/^#?(([A-Fa-f0-9]{3}){1,2}|(([A-Fa-f0-9]{4}){1,2}))$/.test(hex)) {\r\n throw new Error('Bad color Hex code');\r\n }\r\n if (hex[0] === \"#\") hex = hex.substring(1);\r\n let c: string[] = hex.split('');\r\n if (c.length === 3) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\r\n }\r\n if (c.length === 4) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2], c[3], c[3]];\r\n }\r\n const red = hexToDec('' + c[0] + c[1]);\r\n const gre = hexToDec('' + c[2] + c[3]);\r\n const blu = hexToDec('' + c[4] + c[5]);\r\n const opa255 = c.length === 8 ? hexToDec('' + c[6] + c[7]) : 255;\r\n const opa = (!Check.isNullOrUndefined(opacity)) ? opacity : (Math.round(10000 * opa255 / 255) / 10000);\r\n return new Color(red, gre, blu, opa);\r\n }\r\n\r\n static transparent() {\r\n return new Color(127, 127, 127, 0);\r\n }\r\n\r\n constructor(r: number, g: number, b: number, o: number = 1) {\r\n this.red = clamp(r, 0, 255);\r\n this.gre = clamp(g, 0, 255);\r\n this.blu = clamp(b, 0, 255);\r\n this.opa = clamp(o, 0, 1);\r\n }\r\n\r\n rgb() {\r\n return 'rgba(' + [this.red, this.gre, this.blu].join(', ') + ')';\r\n }\r\n\r\n rgba() {\r\n return 'rgba(' + [this.red, this.gre, this.blu, this.opa].join(', ') + ')';\r\n }\r\n\r\n hex(withHashtag = true) {\r\n return (withHashtag ? '#' : '') + decToHex(this.red) + decToHex(this.gre) + decToHex(this.blu);\r\n }\r\n\r\n hexa(withHashtag = true) {\r\n return (withHashtag ? '#' : '') + decToHex(this.red) + decToHex(this.gre) + decToHex(this.blu) + decToHex(Math.round(this.opa * 255));\r\n }\r\n\r\n /**\r\n * I am computing the distance between 2 colors using a simple Euclidian distance in RGB space even if RGB is not perceptually uniform,\r\n * because I only want to see how dark or how light a color is, to determine if I can lighten or darken it for the hover effect.\r\n * https://colorjs.io/docs/color-difference.html\r\n * In RGB space, the greatest distance possible is 441.6729559300637 from white (255, 255, 255) to black (0, 0, 0).\r\n * \r\n * So, for the hover effect, if the button is white, I cannot lighen the color white so I will darken it (making it a light gray)\r\n * \r\n * Another way of determining how bright or dark a color is, is to convert rgb to hsl space and use lightness\r\n * which we know is a percentual value (from 0 to 100%)\r\n * \r\n * Usage:\r\n * To compute the distance from black: color.distanceFrom(new Color(0, 0, 0))\r\n * To compute the distance from white: color.distanceFrom(new Color(255, 255, 255))\r\n */\r\n distanceFrom(c: Color) {\r\n return Math.sqrt(Math.pow(c.red - this.red, 2) + Math.pow(c.gre - this.gre, 2) + Math.pow(c.blu - this.blu, 2));\r\n }\r\n\r\n private adjustColorLightness(amount: number) {\r\n if (this.opa === 0) {\r\n if (amount > 0) {\r\n return new Color(255, 255, 255, amount / 100);\r\n }\r\n if (amount < 0) {\r\n return new Color(0, 0, 0, amount / 100);\r\n }\r\n }\r\n // return new Color(this.red + amount, this.gre + amount, this.blu + amount);\r\n const hslData = rgbToHsl(this.red, this.gre, this.blu);\r\n hslData.lightness = clamp(hslData.lightness + amount, 0, 100);\r\n const rgbData = hslToRgb(hslData.hue, hslData.saturation, hslData.lightness);\r\n return new Color(rgbData.red, rgbData.green, rgbData.blue, this.opa);\r\n }\r\n\r\n lighten(amount: number) {\r\n return this.adjustColorLightness(Math.abs(amount));\r\n }\r\n\r\n darken(amount: number) {\r\n return this.adjustColorLightness(-Math.abs(amount));\r\n }\r\n\r\n private adjustColorSaturation(amount: number) {\r\n const hslData = rgbToHsl(this.red, this.gre, this.blu);\r\n hslData.saturation = clamp(hslData.saturation + amount, 0, 100);\r\n const rgbData = hslToRgb(hslData.hue, hslData.saturation, hslData.lightness);\r\n return new Color(rgbData.red, rgbData.green, rgbData.blue, this.opa);\r\n }\r\n\r\n saturate(amount: number) {\r\n return this.adjustColorSaturation(Math.abs(amount));\r\n }\r\n\r\n desaturate(amount: number) {\r\n return this.adjustColorSaturation(-Math.abs(amount));\r\n }\r\n\r\n private adjustTransparency(amount: number) {\r\n const opacity = clamp(this.opa + amount, 0, 1);\r\n return new Color(this.red, this.gre, this.blu, opacity);\r\n }\r\n\r\n fadeIn(amount: number) {\r\n return this.adjustTransparency(Math.abs(amount));\r\n }\r\n \r\n fadeOut(amount: number) {\r\n return this.adjustTransparency(-Math.abs(amount));\r\n }\r\n}","import { TimeSpan } from \"@sparkware/app-utils\";\r\n\r\nexport interface ImagePreloadPromiseResponse {\r\n error: string | null;\r\n backgroundUrl: string;\r\n imageObj: HTMLImageElement;\r\n}\r\n\r\nexport function imagePreload(src: string, timeout?: TimeSpan) {\r\n timeout = timeout || TimeSpan.fromMinutes(2);\r\n return new Promise((res, rej) => {\r\n let image = new Image();\r\n image.onload = () => {\r\n clearTimeout(timeoutRejection);\r\n res({error: null, backgroundUrl: src, imageObj: image});\r\n };\r\n image.onerror = ()=> {\r\n rej({\r\n error: 'Could not load image on path => ' + src,\r\n backgroundUrl: src\r\n });\r\n };\r\n const timeoutRejection = setTimeout(() => {\r\n rej({\r\n error: 'Timeout. Could not load image on path => ' + src,\r\n backgroundUrl: src\r\n });\r\n }, timeout.totalMilliseconds);\r\n image.src = src;\r\n });\r\n}\r\n\r\nexport function imagePreloadWithDefault(src: string | null | undefined, defaultPath: string) {\r\n if (src) {\r\n return imagePreload(src).catch(() => {\r\n return imagePreload(defaultPath);\r\n });\r\n } else {\r\n return imagePreload(defaultPath);\r\n }\r\n}\r\n","import {\r\n CasinoStartupConfigurations,\r\n OrbitStartupConfigurations\r\n} from '../config-interfaces/casino-startup.configurations';\r\nimport {ApplicationStartupConfigurations} from '../config-interfaces/application-startup.configurations';\r\nimport {B2CStartupConfigurations} from '../config-interfaces/b2c-startup.configurations';\r\nimport {LauncherOverridesReader} from '../launcher-overrides-reader/launcher-overrides-reader';\r\nimport {LauncherOverrides} from '../config-interfaces/launcher-overrides';\r\nimport {IWindowService} from '../../services/window/window.service.interface';\r\nimport {IHttpService} from '../../services/http/http.service.interface';\r\nimport {ILoggerService} from '../../services/logger/logger.service.interface';\r\nimport {mockApplicationStartupConfigs} from '../../../utils/automation-helpers';\r\nimport {ALL_CONFIGS_KEY} from \"../../../app-consts\";\r\nimport {IConfigurationData} from \"../../services/configurations/configuration-data.interface\";\r\n\r\nconst overrideJson = require('json-override');\r\n\r\nexport class ApplicationStartupConfigurationsReader {\r\n constructor(private _defaultOrbitConfigurations: any,\r\n private _window: IWindowService,\r\n private _launcherOverridesReader: LauncherOverridesReader,\r\n private _http: IHttpService,\r\n private _logger: ILoggerService) {\r\n\r\n\r\n }\r\n\r\n private _launcherOverrides: LauncherOverrides | null;\r\n private _b2cConfigurations: B2CStartupConfigurations;\r\n private _skinFullName: string;\r\n\r\n async readApplicationConfigurations(): Promise {\r\n this._launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n this._b2cConfigurations = this._getB2CConfigurations();\r\n\r\n let casinoConfigurations = await this._getCasinoConfigurations();\r\n this._skinFullName = (`${casinoConfigurations.skin}_${casinoConfigurations.skinOverride}`).toLowerCase();\r\n const configs: ApplicationStartupConfigurations = {\r\n configurationPath: this._getConfigPath(casinoConfigurations),\r\n orbitServer: casinoConfigurations.sdk.config.ExtraProperties.paths.server,\r\n skin: casinoConfigurations.skin,\r\n skinOverride: casinoConfigurations.skinOverride,\r\n skinFullName: this._skinFullName,\r\n country: casinoConfigurations.country,\r\n orbit: casinoConfigurations.orbit,\r\n sdk: casinoConfigurations.sdk,\r\n admin: casinoConfigurations.adminConfig,\r\n b2c: this._b2cConfigurations,\r\n userSelectedState: casinoConfigurations.userSelectedState\r\n };\r\n\r\n return mockApplicationStartupConfigs(configs);\r\n }\r\n\r\n private _getConfigPath(casinoConfigurations: CasinoStartupConfigurations): string {\r\n\r\n let server = casinoConfigurations.sdk.config.ExtraProperties.paths.server;\r\n if(!server.endsWith('/')) {\r\n server += '/';\r\n }\r\n\r\n return server + `configurations/${this._skinFullName}`;\r\n }\r\n\r\n\r\n private async _getCasinoConfigurations(): Promise {\r\n let casinoConfigurations: CasinoStartupConfigurations = this._window.getGlobalProperty(ALL_CONFIGS_KEY);\r\n const skin = casinoConfigurations.skin.toLowerCase();\r\n const skinOverride = casinoConfigurations.skinOverride.toLowerCase();\r\n const lang = this._b2cConfigurations.language.iso3.toLowerCase();\r\n\r\n casinoConfigurations.orbit.config = await this._loadOrbitConfigFile(skin, skinOverride);\r\n casinoConfigurations.orbit.lang = await this._tryLoadOrbitLanguageOverrideFile(skin, skinOverride, lang);\r\n casinoConfigurations = await this._applyOrbitConfigsOverrides(casinoConfigurations);\r\n casinoConfigurations = this._applySdkConfigOverrides(casinoConfigurations);\r\n return casinoConfigurations;\r\n\r\n }\r\n\r\n private async _loadOrbitConfigFile(skin: string, skinOverride: string): Promise {\r\n try {\r\n const configModule = await import(`../../../settings/configs/${skin}/overrides/${skinOverride}/config`);\r\n\r\n return configModule.default;\r\n } catch (err) {\r\n this._logger.error(`Failed to load orbit configuration file for skin ${skin}/${skinOverride}`, err);\r\n throw err;\r\n }\r\n\r\n }\r\n\r\n private async _tryLoadOrbitLanguageOverrideFile(skin: string, skinOverride: string, languageIso3: string): Promise {\r\n try {\r\n const langOverrideModule = await import(`../../../settings/configs/${skin}/overrides/${skinOverride}/languages/${languageIso3}`);\r\n return langOverrideModule.default;\r\n } catch (err) {\r\n this._logger.debug(`There is no override file for language ${languageIso3} in skin ${skin}/${skinOverride}`, err);\r\n }\r\n\r\n }\r\n\r\n\r\n async _applyOrbitConfigsOverrides(casinoConfigurations: CasinoStartupConfigurations): Promise {\r\n casinoConfigurations.orbit.config = overrideJson(this._defaultOrbitConfigurations, casinoConfigurations.orbit.config);\r\n if(this._launcherOverrides && this._launcherOverrides.orbit && this._launcherOverrides.orbit.configs) {\r\n overrideJson(casinoConfigurations.orbit.config, this._launcherOverrides.orbit.configs);\r\n }\r\n return casinoConfigurations;\r\n }\r\n\r\n\r\n\r\n private _applySdkConfigOverrides(casinoConfigurations: CasinoStartupConfigurations): CasinoStartupConfigurations {\r\n\r\n if(!(casinoConfigurations.sdk && casinoConfigurations.sdk.config)) { // if SDK configs are not here it probably means the app is loaded from a fallback file\r\n return casinoConfigurations;\r\n }\r\n\r\n overrideJson(casinoConfigurations, {\r\n sdk: {\r\n config: (this._launcherOverrides && this._launcherOverrides.sdk) || {}\r\n }\r\n });\r\n\r\n overrideJson(casinoConfigurations, {\r\n sdk: {\r\n config: {\r\n Language: {\r\n iso3: this._b2cConfigurations.language.iso3,\r\n iso2: this._b2cConfigurations.language.iso2\r\n }\r\n }\r\n }\r\n });\r\n\r\n let orbitLang = casinoConfigurations.orbit.lang;\r\n if(orbitLang && orbitLang.text && orbitLang.text.SDKTexts) {\r\n overrideJson(casinoConfigurations.sdk.config.Language.text, orbitLang.text.SDKTexts);\r\n }\r\n\r\n return casinoConfigurations;\r\n }\r\n\r\n\r\n\r\n\r\n private _applyB2COverrides(b2cConfigs: B2CStartupConfigurations): B2CStartupConfigurations {\r\n\r\n if(this._launcherOverrides?.orbit) {\r\n let languageIso3Override = this._launcherOverrides.orbit.language;\r\n let languageIso2Override = this._launcherOverrides.orbit.iso2;\r\n\r\n if(languageIso3Override) {\r\n b2cConfigs.language = {...b2cConfigs.language, iso3: languageIso3Override};\r\n }\r\n\r\n if(languageIso2Override) {\r\n b2cConfigs.language = {...b2cConfigs.language, iso2: languageIso2Override};\r\n }\r\n\r\n let publicationIdOverride = this._launcherOverrides.orbit.publicationID;\r\n if(publicationIdOverride) {\r\n b2cConfigs.publicationId = publicationIdOverride;\r\n }\r\n }\r\n\r\n\r\n let segmentsOverrides = this._launcherOverrides?.webData?.segments;\r\n\r\n if(segmentsOverrides) {\r\n b2cConfigs.segments = {...b2cConfigs.segments, ...segmentsOverrides};\r\n }\r\n\r\n return b2cConfigs;\r\n }\r\n\r\n private _getB2CConfigurations() : B2CStartupConfigurations {\r\n let b2cConfigs = this._window.getGlobalProperty('webData') || {} as B2CStartupConfigurations;\r\n\r\n b2cConfigs.language = b2cConfigs.language || {};\r\n b2cConfigs.language.iso3 = b2cConfigs.language.iso3 || 'eng';\r\n b2cConfigs.language.iso2 = b2cConfigs.language.iso2 || 'en';\r\n\r\n\r\n if(this._launcherOverrides) {\r\n return this._applyB2COverrides(b2cConfigs);\r\n }\r\n\r\n return b2cConfigs;\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import ISdkHooksProvider from './sdk-hooks-provider.interface';\r\nimport {MINI_CIP_BASE_ROUTE, MINI_CIS_BASE_ROUTE} from '../../services/mini-orbit/mini-orbit-consts';\r\nimport {Uri} from '../../services/location/uri/uri';\r\nimport {IServiceFactoryExtended} from '../../services/service-factory-extended.interface';\r\nimport {IOrbitComponentToSdkAdapterService} from '../../../common/interfaces/orbit-component-to-sdk-adapter/orbit-component-to-sdk-adapter.service.interface';\r\nimport {ICashierService} from \"../../../common/interfaces/cashier.service.interface\";\r\nimport {IGameRunnerProxy} from \"../../../common/interfaces/game-runner-proxy.interface\";\r\nimport {ICasinofiedAnalyticsService} from \"../../../common/interfaces/casinofied-analytics-proxy.interface\";\r\nimport {IExternalLinksProxy} from \"../../../common/interfaces/external-links-proxy.interface\";\r\nimport {\r\n ICasinofiedAppLauncherService\r\n} from \"../../services/casinofied/app-launcher/casinofied-app-launcher.service.interface\";\r\nimport IPlayerMigration from \"../../../common/interfaces/player-migration.interface\";\r\nimport {IToasterProxy} from '../../../common/interfaces/toaster_proxy_service_interface';\r\nimport {ILinksNavigationService} from \"../../services/links-navigation/links-navigation.service.interface\";\r\nimport {ISpinnerService} from \"../../../common/interfaces/spinner.service.interface\";\r\n\r\nexport class SdkHooksProvider implements ISdkHooksProvider {\r\n services: IServiceFactoryExtended;\r\n\r\n redirectProxy(url: string): void {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n if (this.services) {\r\n //SDK is using this function to do redirects,\r\n //but we must do redirect only if the URL is an absolut URL.\r\n //If is a relative one like /gaming_history/ then we just need to do local routing\r\n if (this.services.window.isAbsolutUrl(url)) {\r\n this.services.location.redirect(url);\r\n } else {\r\n this.services.location.push(url);\r\n }\r\n } else {\r\n window.location.href = url;\r\n }\r\n };\r\n\r\n openInNewWindowHook(): (url: string) => void | null {\r\n if (this.services?.miniOrbit.isEnabled) {\r\n return this.services.miniOrbit.openUrl;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n isMiniCip(): boolean {\r\n return this._isMiniOrbit(MINI_CIP_BASE_ROUTE);\r\n }\r\n\r\n isMiniCis(): boolean {\r\n return this._isMiniOrbit(MINI_CIS_BASE_ROUTE);\r\n }\r\n\r\n private _isMiniOrbit(basePath: string): boolean {\r\n if (!this.services) {\r\n return false;\r\n }\r\n\r\n const uri = new Uri(new URL(window.location.href));\r\n return uri.pathName.getBase().toString().toLowerCase() === basePath;\r\n }\r\n\r\n getGameTypesMappingForSdk(): Record {\r\n if (!this.services) {\r\n return null;\r\n }\r\n\r\n const mapperData: Record = {};\r\n this.services?.configuration?.usedGameTypesBySite?.forEach(gameType => {\r\n mapperData[gameType] = {};\r\n });\r\n\r\n return mapperData;\r\n };\r\n\r\n getHeaderRegulationDataElement(): HTMLElement {\r\n return this.services?.header?.getHeaderRegulationDataElement();\r\n }\r\n\r\n resolveGameImagePath(imageFilePath: string): string {\r\n return this.services?.configuration?.resolveGameImagePath(imageFilePath);\r\n }\r\n\r\n getOrbitComponentToSdkAdapter(): IOrbitComponentToSdkAdapterService {\r\n return (this.services.orbitComponentInsideSdkProvider as any) as IOrbitComponentToSdkAdapterService;\r\n }\r\n\r\n getCashierService(): ICashierService {\r\n return this.services.cashier;\r\n }\r\n\r\n getGameRunnerService(): IGameRunnerProxy {\r\n return (this.services.gameRunner as any) as IGameRunnerProxy;\r\n }\r\n\r\n getCasinofiedAnalyticsService(): ICasinofiedAnalyticsService {\r\n return this.services.casinofiedAnalytics;\r\n }\r\n\r\n getSpinnerService(): ISpinnerService {\r\n return this.services.spinner;\r\n }\r\n\r\n\r\n getPlayerMigrationService(): IPlayerMigration {\r\n return this.services.playerMigration;\r\n }\r\n\r\n getExternalLinksProxyService(): IExternalLinksProxy {\r\n return this.services.externalLinks;\r\n }\r\n\r\n getToasterProxyService(): IToasterProxy {\r\n return this.services.toaster;\r\n }\r\n\r\n getCasinofiedAppLauncher(): ICasinofiedAppLauncherService {\r\n return this.services.appLauncher;\r\n }\r\n\r\n getLinksNavigationService(): ILinksNavigationService {\r\n return this.services.linksNavigation;\r\n }\r\n}","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class PropertiesEvaluator {\r\n constructor(private _propertiesEvaluators: IPropertyEvaluator[]) {\r\n }\r\n\r\n private _config: unknown = null;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isNullOrUndefined(this._config)) {\r\n let config = {};\r\n\r\n this._propertiesEvaluators.forEach(propEvaluator => {\r\n Object.defineProperty(config, propEvaluator.propertyName, {\r\n get: () => propEvaluator.evaluate(context),\r\n set: () => {\r\n /*TODO - this setter is here because since we upgrade to mobx 6 it throws an error in underscore.ts in mergeDeep function which is called in config_service getConfig. We won't need this when all SDK code will be moved to orbit*/\r\n },\r\n configurable: false,\r\n enumerable: true\r\n });\r\n });\r\n\r\n this._config = config;\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n static fromRoot(rootObject: object, context: IConfigurationEvaluationContext): PropertiesEvaluator {\r\n let rootProps = Object.keys(rootObject).map(propName => context.createPropertyEvaluator(propName, rootObject));\r\n return new PropertiesEvaluator(rootProps);\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IValueEvaluator} from '../../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IStatementEvaluator} from '../statement-evaluator/statement-evaluator.interface';\r\n\r\nexport class StatementsEvaluator implements IValueEvaluator {\r\n constructor(private _statementsEvaluators: IStatementEvaluator[], private _defaultValue: any) {\r\n }\r\n\r\n get defaultValue() {\r\n return this._defaultValue;\r\n }\r\n\r\n get evaluators(): IStatementEvaluator[] {\r\n return this._statementsEvaluators\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n for(let i = 0, len = this.evaluators.length; i < len; i++) {\r\n let statementEvaluator = this.evaluators[i];\r\n let evaluatedValue = statementEvaluator.evaluate(context);\r\n if(!Check.isNullOrUndefined(evaluatedValue)) {\r\n return this._applyValueTransformation(context, evaluatedValue);\r\n }\r\n }\r\n\r\n return this._applyValueTransformation(context, this.defaultValue);\r\n }\r\n\r\n private _applyValueTransformation(context: IConfigurationEvaluationContext, value) {\r\n return context.parsePropertyValue(value).evaluate(context)\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {PropertiesEvaluator} from '../../properties-evaluator/properties-evaluator';\r\nimport {IPropertyEvaluator} from '../../property-evaluator/property-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class ObjectEvaluator implements IValueEvaluator {\r\n constructor(private _object: object) {\r\n }\r\n\r\n get obj() {\r\n return this._object;\r\n }\r\n\r\n private _evaluatedValue: unknown = undefined;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isUndefined(this._evaluatedValue)) {\r\n let properties: IPropertyEvaluator[] = [];\r\n\r\n Object.keys(this.obj).forEach(propertyName => {\r\n properties.push(context.createPropertyEvaluator(propertyName, this.obj));\r\n });\r\n\r\n let configEvaluator = new PropertiesEvaluator(properties);\r\n this._evaluatedValue = configEvaluator.evaluate(context);\r\n }\r\n\r\n return this._evaluatedValue;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\n\r\nexport class ArrayEvaluator implements IValueEvaluator {\r\n constructor(private _itemsEvaluators: IValueEvaluator[]) {\r\n }\r\n\r\n get evaluators(): IValueEvaluator[] {\r\n return this._itemsEvaluators;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n return this.evaluators.map((item, index) => item.evaluate(context.createPropertyContext(index.toString())));\r\n }\r\n\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class SimpleValueEvaluator implements IValueEvaluator {\r\n constructor(private _value: any) {\r\n }\r\n\r\n get value(): any {\r\n return this._value;\r\n }\r\n\r\n private _evaluatedValue = undefined;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isUndefined(this._evaluatedValue)) {\r\n this._evaluatedValue = context.applyValueTransformation(context.getCurrentPropertyPath(), this.value);\r\n }\r\n return this._evaluatedValue;\r\n }\r\n}\r\n\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IStatementEvaluator} from './statement-evaluator.interface';\r\n\r\n\r\n\r\nexport class StatementEvaluator implements IStatementEvaluator {\r\n constructor(private _statementDefinition: any) {\r\n }\r\n\r\n get definition(): any {\r\n return this._statementDefinition;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n let rules = (this.definition.rules || []).map(rule => context.createSegmentationRule(rule));\r\n let logicalOperator = context.createLogicalOperator(this.definition.condition || 'AND', rules);\r\n if(logicalOperator.evaluate(context)) {\r\n return this.definition.value;\r\n }\r\n return null;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {ILogicalOperator} from './logical-operator.interface/logical-operator.interface';\r\nimport {ISegmentationRule} from '../segmentation-rule/segmentation-rule.interface';\r\n\r\nexport abstract class BaseLogicalOperator implements ILogicalOperator {\r\n\r\n constructor(private _rules: ISegmentationRule[]) {\r\n\r\n }\r\n\r\n get rules(): ISegmentationRule[] {\r\n return this._rules;\r\n }\r\n\r\n abstract evaluate(context: IConfigurationEvaluationContext): boolean;\r\n}\r\n","import {BaseLogicalOperator} from '../base-logical-operator';\r\nimport {IConfigurationEvaluationContext} from '../../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\n\r\nexport class OrLogicalOperator extends BaseLogicalOperator {\r\n\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n for(let i = 0, len = this.rules.length; i < len; i++) {\r\n let rule = this.rules[i];\r\n if(rule.evaluate(context)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {BaseLogicalOperator} from '../base-logical-operator';\r\nimport {IConfigurationEvaluationContext} from '../../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\n\r\nexport class AndLogicalOperator extends BaseLogicalOperator {\r\n\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n if(this.rules.length === 0) {\r\n return false;\r\n }\r\n\r\n for(let i = 0, len = this.rules.length; i < len; i++) {\r\n let rule = this.rules[i];\r\n if(!rule.evaluate(context)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {ISegmentationRule} from './segmentation-rule.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class SegmentationRule implements ISegmentationRule {\r\n constructor(private _ruleDefinition: any) {\r\n }\r\n\r\n get definition(): any {\r\n return this._ruleDefinition;\r\n }\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n if(Check.isArray(this.definition.rules)) {\r\n let innerRules = this.definition.rules.map(rule => context.createSegmentationRule(rule));\r\n let logicalOperator = context.createLogicalOperator(this.definition.condition || 'AND', innerRules);\r\n return logicalOperator.evaluate(context);\r\n } else {\r\n let operator = context.createComparisonOperator(this.definition.operator);\r\n let segmentValue = context.getSegmentValue(this.definition.id);\r\n return operator.compare(segmentValue, this.definition.value)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import {IComparisonOperator} from './comparison-operator.interface/comparison-operator.interface';\r\n\r\nexport abstract class BaseComparisonOperator implements IComparisonOperator {\r\n\r\n abstract compare(value1: unknown, value2: unknown): boolean;\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\n\r\nexport class EqualOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if(this._isBooleanAsString(value1) || this._isBooleanAsString(value2)) {\r\n return value1?.toString() === value2?.toString();\r\n }\r\n // eslint-disable-next-line\r\n return value1 == value2;\r\n }\r\n\r\n private _isBooleanAsString(value: any) {\r\n if (value === 'true' || value === 'false') {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {EqualOperator} from '../equal-operator/equal-operator';\r\n\r\nexport class NotEqualOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown) {\r\n return !(new EqualOperator().compare(value1, value2));\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IComparisonOperator} from '../statements/comparison-operators/comparison-operator.interface/comparison-operator.interface';\r\nimport {ISegmentationRule} from '../statements/segmentation-rule/segmentation-rule.interface';\r\nimport {ILogicalOperator} from '../statements/logical-operators/logical-operator.interface/logical-operator.interface';\r\nimport {IStatementEvaluator} from '../statements/statement-evaluator/statement-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\n\r\n\r\nexport class PropertyLevelContext implements IConfigurationEvaluationContext {\r\n constructor(private _originalContext: IConfigurationEvaluationContext, private _currentPropertyName) {\r\n\r\n }\r\n\r\n createComparisonOperator(operatorName: string): IComparisonOperator {\r\n return this._originalContext.createComparisonOperator(operatorName);\r\n }\r\n\r\n createLogicalOperator(logicalOperatorName: string, rules: ISegmentationRule[]): ILogicalOperator {\r\n return this._originalContext.createLogicalOperator(logicalOperatorName, rules);\r\n }\r\n\r\n createSegmentationRule(ruleDefinition: any): ISegmentationRule {\r\n return this._originalContext.createSegmentationRule(ruleDefinition);\r\n }\r\n\r\n createStatementEvaluator(statementDefinition: any): IStatementEvaluator {\r\n return this._originalContext.createStatementEvaluator(statementDefinition);\r\n }\r\n\r\n getSegmentValue(name: string): any {\r\n return this._originalContext.getSegmentValue(name);\r\n }\r\n\r\n parsePropertyValue(value: any): IValueEvaluator {\r\n return this._originalContext.parsePropertyValue(value);\r\n }\r\n\r\n\r\n getCurrentPropertyPath(): string {\r\n return this._originalContext.getCurrentPropertyPath() + '/' + this._currentPropertyName;\r\n }\r\n\r\n createPropertyContext(propertyName: string): IConfigurationEvaluationContext {\r\n return new PropertyLevelContext(this, propertyName);\r\n }\r\n\r\n applyValueTransformation(propertyPath: string, value: any): any {\r\n return this._originalContext.applyValueTransformation(propertyPath, value);\r\n }\r\n\r\n createPropertyEvaluator(propertyName: string, propertyOwner: object): IPropertyEvaluator {\r\n return this._originalContext.createPropertyEvaluator(propertyName, propertyOwner);\r\n }\r\n\r\n getLauncherGames(): number[] {\r\n return this._originalContext.getLauncherGames();\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IPropertyEvaluator} from './property-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\n\r\n\r\n\r\nexport class PropertyEvaluator implements IPropertyEvaluator {\r\n constructor(private _propertyName: string, private _valueEvaluator: IValueEvaluator) {\r\n\r\n }\r\n\r\n get propertyName(): string {\r\n return this._propertyName;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n\r\n let propertyContext = context.createPropertyContext(this.propertyName);\r\n\r\n try {\r\n return this._valueEvaluator.evaluate(propertyContext);\r\n } catch (err) {\r\n throw new Error(`Failed to evaluate property ${propertyContext.getCurrentPropertyPath()}; ${err}`);\r\n }\r\n\r\n }\r\n}\r\n","// BEWARE: In this file there are similar namings. Don't confuse them\r\n// TODO: Find better namings for interfaces and variables and eliminate implicit any's\r\ninterface IStatementsDefinition {\r\n defaultValue: unknown[];\r\n statements: unknown[];\r\n}\r\ninterface IStatementDefinition {\r\n condition: string;\r\n value: any,\r\n rules: unknown[]\r\n}\r\n\r\nexport function createStatementsDefinition(subLists: any): any {\r\n let statementsDefinition: IStatementsDefinition = {\r\n defaultValue: [],\r\n statements: []\r\n };\r\n\r\n if(!subLists) {\r\n return statementsDefinition;\r\n }\r\n\r\n subLists.forEach(sublist => {\r\n if (!sublist.Segment) {\r\n // the sublist with Segment null or undefined is considered to be the default value\r\n statementsDefinition.defaultValue = sublist.Games;\r\n } else {\r\n let statementDefinition: IStatementDefinition = {\r\n condition: \"AND\",\r\n value: sublist.Games,\r\n rules: []\r\n };\r\n\r\n sublist.Segment.forEach(segment => {\r\n statementDefinition.rules.push(_createStatementsRule(segment));\r\n });\r\n\r\n statementsDefinition.statements.push(statementDefinition);\r\n }\r\n });\r\n\r\n return statementsDefinition;\r\n}\r\n\r\nfunction _createStatementsRule(segment: any): any {\r\n return {\r\n id: segment.name,\r\n operator: \"=\",\r\n value:\r\n segment.value === 1 || segment.value === true || segment.value === \"true\"\r\n ? true\r\n : false // Admin sends 1 for true and 2 for false.\r\n };\r\n}\r\n","import { IPropertyEvaluator } from '../../property-evaluator/property-evaluator.interface';\r\nimport { IConfigurationEvaluationContext } from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport { createStatementsDefinition } from '../../../../../../app-react/services/configurations/create-statements-definition'\r\n\r\nexport class GamesIdPropertyEvaluator implements IPropertyEvaluator {\r\n constructor(private _owner: any, private _adminConfig: any) {\r\n\r\n }\r\n\r\n get owner(): any {\r\n return this._owner;\r\n }\r\n\r\n get adminConfig(): any {\r\n return this._adminConfig;\r\n }\r\n\r\n get propertyName(): string {\r\n return 'gamesId'\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n let propertyContext = context.createPropertyContext(this.propertyName);\r\n\r\n let gamesAdminRefKey = this.owner.gamesAdminRefKey;\r\n\r\n //F TO DO - log if gamesAdminRefKey is missing\r\n\r\n let subLists = this.adminConfig && this.adminConfig.listsv2 && this.adminConfig.listsv2[gamesAdminRefKey];\r\n\r\n let gameTypes: number[] = [];\r\n if (!subLists) {\r\n //F TO DO - log if sub-lists is missing\r\n gameTypes = context.parsePropertyValue(this.owner[this.propertyName]).evaluate(propertyContext);\r\n } else {\r\n gameTypes = context.parsePropertyValue(createStatementsDefinition(subLists)).evaluate(propertyContext);\r\n }\r\n\r\n let launcherGames = context.getLauncherGames() || [];\r\n\r\n if (launcherGames.length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n return [...launcherGames, ...gameTypes];\r\n }\r\n}\r\n","import {BaseComparisonOperator} from \"../base-comparison-operator\";\r\n\r\nexport class IsFalsyOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown): boolean {\r\n return !((value1 || '').toString() === (value2 || '').toString());\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ILoggerService} from '../../../../../logger/logger.service.interface';\r\n\r\nexport class GreaterThanOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService){\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if (!Check.isNumber(value1) || !Check.isNumber(value2)) {\r\n this._logger.error(`Greater Than Operator: Values should be numbers! value1=${value1}; value2=${value2}`);\r\n }\r\n\r\n return value1 > value2;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ILoggerService} from '../../../../../logger/logger.service.interface';\r\n\r\nexport class LessThanOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService) {\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if (!Check.isNumber(value1) || !Check.isNumber(value2)) {\r\n this._logger.error(`Less Than Operator: Values should be numbers! value1=${value1}; value2=${value2}`);\r\n }\r\n return value1 < value2;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from \"../base-comparison-operator\";\r\nimport {ILoggerService} from \"../../../../../logger/logger.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {EqualOperator} from \"../equal-operator/equal-operator\";\r\n\r\nexport class AnyOfOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService){\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if(!Check.isArray(value2)) {\r\n this._logger.error(`Any Of Operator: The second parameter should be an array! value2=${value2}`);\r\n return new EqualOperator().compare(value1, value2);\r\n }\r\n\r\n return value2.includes(value1);\r\n }\r\n}","import {StatementsEvaluator} from '../statements/statements-evaluator/statements-evaluator';\r\nimport {ObjectEvaluator} from '../value-evaluators/object-evaluator/object-evaluator';\r\nimport {ArrayEvaluator} from '../value-evaluators/array-evaluator/array-evaluator';\r\nimport {SimpleValueEvaluator} from '../value-evaluators/simple-value-evaluator/simple-value-evaluator';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IConfigurationEvaluationContext} from './configuration-evaluation-context.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IStatementEvaluator} from '../statements/statement-evaluator/statement-evaluator.interface';\r\nimport {StatementEvaluator} from '../statements/statement-evaluator/statement-evaluator';\r\nimport {ILogicalOperator} from '../statements/logical-operators/logical-operator.interface/logical-operator.interface';\r\nimport {ISegmentationRule} from '../statements/segmentation-rule/segmentation-rule.interface';\r\nimport {OrLogicalOperator} from '../statements/logical-operators/or-logical-operator/or-logical-operator';\r\nimport {AndLogicalOperator} from '../statements/logical-operators/and-logical-operator/and-logical-operator';\r\nimport {SegmentationRule} from '../statements/segmentation-rule/segmentation-rule';\r\nimport {IComparisonOperator} from '../statements/comparison-operators/comparison-operator.interface/comparison-operator.interface';\r\nimport {NotEqualOperator} from '../statements/comparison-operators/not-equal-operator/not-equal-operator';\r\nimport {EqualOperator} from '../statements/comparison-operators/equal-operator/equal-operator';\r\nimport {PropertyLevelContext} from '../property-level-context/property-level-context';\r\nimport {PropertyEvaluator} from '../property-evaluator/property-evaluator';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\nimport {GamesIdPropertyEvaluator} from '../special-properties-evaluators/games-id-property-evaluator/games-id-property-evaluator';\r\nimport {IsFalsyOperator} from \"../statements/comparison-operators/is-falsy-operator/is-falsy-operator\";\r\nimport {IConfigurationEvaluationDataProvider} from './configuration-evaluation-data-provider.interface';\r\nimport {GreaterThanOperator} from \"../statements/comparison-operators/greater-than-operator/greater-than-operator\";\r\nimport {LessThanOperator} from \"../statements/comparison-operators/less-than-operator/less-than-operator\";\r\nimport {AnyOfOperator} from \"../statements/comparison-operators/any-of-operator/any-of-operator\";\r\nimport {isInsideAutomation} from '../../../../../utils/automation-helpers';\r\n\r\n\r\nexport function updateAssetPath(assetPath: string, configurationPath: string): string {\r\n return assetPath.replace(/{assetsPath}/gi, configurationPath + '/assets');\r\n}\r\n\r\nexport class ConfigurationEvaluationContext implements IConfigurationEvaluationContext {\r\n constructor(private dataProvider: IConfigurationEvaluationDataProvider) {\r\n\r\n }\r\n\r\n\r\n\r\n getSegmentValue(name: string): any {\r\n return this.dataProvider.getSegmentValue(name);\r\n }\r\n\r\n parsePropertyValue(value: any): IValueEvaluator {\r\n if(Check.isObject(value)) {\r\n if(this._hasStatementsOrDefaultValue(value)) {\r\n return new StatementsEvaluator(this._createStatementsEvaluators(value.statements), value.defaultValue);\r\n } else {\r\n return new ObjectEvaluator(value);\r\n }\r\n } else if(Check.isArray(value)) {\r\n return new ArrayEvaluator(value.map(item => this.parsePropertyValue(item)));\r\n } else {\r\n return new SimpleValueEvaluator(value);\r\n }\r\n }\r\n\r\n private _createStatementsEvaluators(statementsDefinitions): IStatementEvaluator[] {\r\n return (statementsDefinitions || []).map(statementDefinition => this.createStatementEvaluator(statementDefinition))\r\n }\r\n\r\n createStatementEvaluator(statementDefinition: any): IStatementEvaluator {\r\n return new StatementEvaluator(statementDefinition);\r\n }\r\n\r\n createLogicalOperator(logicalOperatorName: string, rules: ISegmentationRule[]): ILogicalOperator {\r\n switch (logicalOperatorName.toUpperCase()) {\r\n case 'OR':\r\n return new OrLogicalOperator(rules);\r\n case 'AND':\r\n return new AndLogicalOperator(rules);\r\n default: {\r\n throw new Error(`Unrecognized logical operator ${logicalOperatorName} for statement`);\r\n }\r\n }\r\n }\r\n\r\n createSegmentationRule(ruleDefinition: any): ISegmentationRule {\r\n return new SegmentationRule(ruleDefinition);\r\n }\r\n\r\n createComparisonOperator(operatorName: string): IComparisonOperator {\r\n switch (operatorName.toLowerCase()) {\r\n case 'equal':\r\n case '=':\r\n return new EqualOperator();\r\n case 'not_equal':\r\n case 'not equal':\r\n case '!=':\r\n return new NotEqualOperator();\r\n case 'is_falsy':\r\n case 'is falsy':\r\n return new IsFalsyOperator();\r\n case 'greater_than':\r\n return new GreaterThanOperator(this.dataProvider.logger);\r\n case 'less_than':\r\n return new LessThanOperator(this.dataProvider.logger);\r\n case \"any_of\":\r\n return new AnyOfOperator(this.dataProvider.logger);\r\n default:\r\n throw new Error(`Can't handle comparison operator ${operatorName}`);\r\n }\r\n }\r\n\r\n private _hasStatementsOrDefaultValue(obj: unknown): obj is {statements?: unknown, defaultValue?: unknown} {\r\n if(!Check.isNullOrUndefined(obj['statements'])\r\n || !Check.isNullOrUndefined(obj['defaultValue'])) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getCurrentPropertyPath(): string {\r\n return '';\r\n }\r\n\r\n createPropertyContext(propertyName: string): IConfigurationEvaluationContext {\r\n return new PropertyLevelContext(this, propertyName);\r\n }\r\n\r\n applyValueTransformation(propertyPath: string, value: any): any {\r\n if(!Check.isString(value)) {\r\n return value;\r\n }\r\n return updateAssetPath(value, this.dataProvider.configurationPath);\r\n }\r\n\r\n createPropertyEvaluator(propertyName: string, propertyOwner: any): IPropertyEvaluator {\r\n switch (propertyName) {\r\n case 'gamesId':\r\n return new GamesIdPropertyEvaluator(propertyOwner, this.dataProvider.admin);\r\n case 'gamesSettings':\r\n let propertyValue = propertyOwner.gamesSettings;\r\n if (propertyOwner.gamesSettings && propertyOwner.gamesSettings.gamesTags) {\r\n propertyValue = {...propertyValue, gamesTags: this._mergeGamesFromLauncher(propertyOwner.gamesSettings.gamesTags)}\r\n } else {\r\n propertyValue = {...propertyValue, gamesTags: this._mergeGamesFromLauncher(this.dataProvider.admin && this.dataProvider.admin.gamesTags)}\r\n }\r\n return new PropertyEvaluator(propertyName, this.parsePropertyValue(propertyValue));\r\n default:\r\n return new PropertyEvaluator(propertyName, this.parsePropertyValue(propertyOwner[propertyName]));\r\n }\r\n }\r\n\r\n\r\n private _mergeGamesFromLauncher(existingGamesTags: any): any {\r\n\r\n const demoSettings = {\r\n demoCTAAnonymous: {pc: true, mobile: true},\r\n demoCTAAuthorized: {pc: true, mobile: true},\r\n intermediatePageAnonymous: {pc: true, mobile: true},\r\n intermediatePageAuthorized: {pc: true, mobile: true}\r\n };\r\n\r\n existingGamesTags = existingGamesTags || {};\r\n\r\n if(isInsideAutomation()) {\r\n Object.keys(existingGamesTags).forEach(gameType => {\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n });\r\n }\r\n\r\n let launcherGameTypes = this.getLauncherGames();\r\n\r\n launcherGameTypes.forEach(gameType => {\r\n if(existingGamesTags[gameType]) {\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n } else {\r\n existingGamesTags[gameType] = {};\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n }\r\n });\r\n\r\n return existingGamesTags;\r\n }\r\n\r\n getLauncherGames(): number[] {\r\n return this.dataProvider.getLauncherGames() || [];\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {GameInfo} from '../../games/game-info';\r\n\r\nexport enum PreviewFeatureType {\r\n description = 1,\r\n check = 2\r\n}\r\n\r\nexport interface PreviewFeatureEvaluationResult {\r\n title: string;\r\n value: any;\r\n type: PreviewFeatureType;\r\n}\r\nexport interface IGamePreviewFeature {\r\n readonly name: string;\r\n evaluate(services: IServiceFactory, gameInfo: GameInfo): PreviewFeatureEvaluationResult;\r\n}\r\n","import {ApplicationStartupConfigurations} from '../config-interfaces/application-startup.configurations';\r\nimport {LauncherOverridesReader} from '../launcher-overrides-reader/launcher-overrides-reader';\r\nimport {IWindowService} from '../../services/window/window.service.interface';\r\nimport {IConfigurationEvaluationDataProvider} from '../../services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-data-provider.interface';\r\nimport {PropertiesEvaluator} from '../../services/configurations/evaluation/properties-evaluator/properties-evaluator';\r\nimport {\r\n ConfigurationEvaluationContext\r\n} from '../../services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-context';\r\nimport {ILoggerService} from '../../services/logger/logger.service.interface';\r\nimport {CGP_OBJECT_NAME} from '../constants';\r\nimport ISdkHooksProvider from './sdk-hooks-provider.interface';\r\nimport {IThemeDefinition} from \"../../services/theme/theme-definition.interface\";\r\n\r\nconst overrideJson = require('json-override');\r\n\r\nexport class SdkInitializer {\r\n constructor(private _applicationConfiguration: ApplicationStartupConfigurations,\r\n private _sdkHooksProvider: ISdkHooksProvider,\r\n private _launcherOverridesReader: LauncherOverridesReader,\r\n private _windowService: IWindowService,\r\n private _theme: IThemeDefinition,\r\n private _logger: ILoggerService) {\r\n\r\n }\r\n\r\n init(): Promise {\r\n\r\n return import(/* webpackChunkName: \"cgp-sdk\" */ '../../../sdk/src/core/api').then(module => module.API).then(API => {\r\n window['LOG_LEVEL'] = this._applicationConfiguration.sdk.config.Logger.logLevel || 'INFO';\r\n const sdkApi = new API(this._applicationConfiguration.sdk.config);\r\n let sdkConfigOverrides: any = this.getSdkConfigOverrides();\r\n\r\n return new Promise(resolve => {\r\n let onInitCompleteCallback = () => {\r\n window[CGP_OBJECT_NAME] = sdkApi;\r\n resolve();\r\n };\r\n\r\n sdkApi.initialize(sdkConfigOverrides, onInitCompleteCallback);\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n private getSdkConfigOverrides() {\r\n let sdkConfigOverrides = {\r\n Country: this.getCountryServiceOverrides(),\r\n Skin: this.getSkinServiceOverrides(),\r\n Game: this.getGameServiceOverrides(),\r\n Integration: this.getIntegrationServiceOverrides(),\r\n Themes: this.getThemesServiceOverrides(),\r\n Http2: this.getHttp2ServiceOverrides(),\r\n JackpotToasters: this.getJackpotToastersServiceOverrides(),\r\n OrbitComponentRender: this.getOrbitComponentRenderOverrides(),\r\n CashierProxy: this.getCashierProxyOverrides(),\r\n GameRunnerProxy: this.getGameRunnerProxyOverrides(),\r\n CasinofiedAnalyticsProxy: this.getCasinofiedAnalyticsProxyOverrides(),\r\n ExternalLinksProxy: this.getExternalLinksProxyOverrides(),\r\n ToasterProxy: this.getToasterProxyOverrides(),\r\n CasinofiedAppLauncherProxy: this.getCasinofiedAppLauncherProxyOverrides(),\r\n PlayerMigrationProxy: this.getPlayerMigrationProxyOverrides(),\r\n LinksNavigationProxy: this.getLinksNavigationProxyOverrides(),\r\n SpinnerProxy: this.getSpinnerServiceProxyOverrides()\r\n };\r\n\r\n overrideJson(sdkConfigOverrides, this._evaluateSdkConfigsInsideOrbit());\r\n return sdkConfigOverrides;\r\n }\r\n\r\n private getJackpotToastersServiceOverrides(): any {\r\n return {\r\n toasterImage: this._theme.shellTheme.images.jackpotWidget.generic.crown.toString()\r\n };\r\n }\r\n\r\n private getCountryServiceOverrides(): any {\r\n return {\r\n country: this._applicationConfiguration.country,\r\n };\r\n }\r\n\r\n private getSkinServiceOverrides(): any {\r\n return this._applicationConfiguration.orbit?.config?.SDK?.Skin || {};\r\n }\r\n\r\n private _evaluateSdkConfigsInsideOrbit(): any {\r\n let sdkConfigsInsideOrbit = this._applicationConfiguration.orbit && this._applicationConfiguration.orbit.config && this._applicationConfiguration.orbit.config.SDK;\r\n if(!sdkConfigsInsideOrbit) {\r\n return {};\r\n }\r\n\r\n let segments: Record = {\r\n env: this._applicationConfiguration.sdk.config.ExtraProperties.env\r\n };\r\n\r\n let configEvaluationDataProvider: IConfigurationEvaluationDataProvider = {\r\n configurationPath: this._applicationConfiguration.configurationPath,\r\n getSegmentValue: (segmentName => segments[segmentName]),\r\n getLauncherGames: () => [],\r\n admin: this._applicationConfiguration.admin,\r\n logger: this._logger\r\n };\r\n\r\n let context = new ConfigurationEvaluationContext(configEvaluationDataProvider);\r\n let evaluator = PropertiesEvaluator.fromRoot(sdkConfigsInsideOrbit, context);\r\n return evaluator.evaluate(context);\r\n }\r\n\r\n private getGameServiceOverrides(): any {\r\n\r\n let result: any = {\r\n resolveGameImagePath: (imageFilePath: string) => this._sdkHooksProvider.resolveGameImagePath(imageFilePath)\r\n };\r\n\r\n result.gameDefaultIcon = this._theme.mainContentTheme.images.gameDefaultIcon.toString();\r\n result.backgroundDefault = this._theme.mainContentTheme.images.gameDefaultBackground.toString();\r\n\r\n return result;\r\n }\r\n\r\n private _waitForMapperCGP = (resolve: (value?: unknown) => void) => {\r\n let mapperData = this._sdkHooksProvider.getGameTypesMappingForSdk();\r\n if(mapperData) {\r\n resolve(mapperData);\r\n } else {\r\n setTimeout(() => this._waitForMapperCGP(resolve), 5);\r\n }\r\n };\r\n\r\n private _gameTypeMapper() {\r\n return new Promise(resolve => {\r\n this._waitForMapperCGP(resolve);\r\n });\r\n };\r\n\r\n private _getHeaderRegulationDataElement() {\r\n return new Promise(resolve => {\r\n this._waitForHeaderRegulationDataElement(resolve);\r\n });\r\n };\r\n\r\n private _waitForHeaderRegulationDataElement = (resolve: (value?: unknown) => void) => {\r\n let headerRegulationDataElement = this._sdkHooksProvider.getHeaderRegulationDataElement();\r\n this.waitForElement(headerRegulationDataElement, resolve);\r\n };\r\n\r\n waitForElement(element: HTMLElement, resolve: (value?: unknown) => void) {\r\n if(element) {\r\n resolve(element);\r\n } else {\r\n setTimeout(() => this._waitForHeaderRegulationDataElement(resolve), 5);\r\n }\r\n }\r\n\r\n private getIntegrationServiceOverrides(): any {\r\n let launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n\r\n return {\r\n gameTypeMapper: this._gameTypeMapper.bind(this),\r\n proxyLink: (url: string) => this._sdkHooksProvider.redirectProxy(url),\r\n openInNewWindowHook: () => this._sdkHooksProvider.openInNewWindowHook(),\r\n isMiniCipFunc: () => this._sdkHooksProvider.isMiniCip(),\r\n isMiniCisFunc: () => this._sdkHooksProvider.isMiniCis(),\r\n headerRegulationDataElement: this._getHeaderRegulationDataElement.bind(this),\r\n CMSSource: launcherOverrides?.orbit?.cmsSource\r\n };\r\n }\r\n\r\n private getThemesServiceOverrides(): any {\r\n let sdkTheme = this._theme.shellTheme?.sdk;\r\n if (sdkTheme) {\r\n return sdkTheme;\r\n }\r\n return {}\r\n }\r\n\r\n private getHttp2ServiceOverrides(): any {\r\n let result: any = {};\r\n let launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n if(launcherOverrides?.sdk?.api) {\r\n result.origin = launcherOverrides.sdk.api;\r\n }\r\n\r\n result.skin = this._applicationConfiguration.skin;\r\n result.skinOverride = this._applicationConfiguration.skinOverride;\r\n result.useCountryAsState = Boolean(launcherOverrides?.orbit?.useCountryAsState)\r\n return result;\r\n }\r\n\r\n private getOrbitComponentRenderOverrides(): any {\r\n return {\r\n getOrbitComponentToSdkAdapter: () => this._sdkHooksProvider.getOrbitComponentToSdkAdapter()\r\n }\r\n }\r\n\r\n private getCashierProxyOverrides(): any {\r\n return {\r\n getCashierService: () => this._sdkHooksProvider.getCashierService()\r\n };\r\n }\r\n\r\n private getGameRunnerProxyOverrides(): any {\r\n return {\r\n getGameRunnerService: () => this._sdkHooksProvider.getGameRunnerService()\r\n };\r\n }\r\n\r\n private getCasinofiedAnalyticsProxyOverrides(): any {\r\n return {\r\n getCasinofiedAnalyticsService: () => this._sdkHooksProvider.getCasinofiedAnalyticsService()\r\n };\r\n }\r\n\r\n private getSpinnerServiceProxyOverrides(): any {\r\n return {\r\n getSpinnerService: () => this._sdkHooksProvider.getSpinnerService()\r\n };\r\n }\r\n\r\n\r\n private getPlayerMigrationProxyOverrides(): any {\r\n return {\r\n getPlayerMigrationService: () => this._sdkHooksProvider.getPlayerMigrationService()\r\n };\r\n }\r\n\r\n private getExternalLinksProxyOverrides() {\r\n return {\r\n externalLinksService: () => this._sdkHooksProvider.getExternalLinksProxyService()\r\n }\r\n }\r\n\r\n private getCasinofiedAppLauncherProxyOverrides() {\r\n return {\r\n casinofiedAppLauncher: () => this._sdkHooksProvider.getCasinofiedAppLauncher()\r\n }\r\n }\r\n\r\n private getToasterProxyOverrides() {\r\n return {\r\n toasterService: () => this._sdkHooksProvider.getToasterProxyService()\r\n }\r\n }\r\n\r\n private getLinksNavigationProxyOverrides() {\r\n return {\r\n linksNavigation: () => this._sdkHooksProvider.getLinksNavigationService()\r\n };\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","export const QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE:string = 'dontShowEnvironmentPopUpBlockerAgain';","import { QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE } from './qa-environment-pop-up-blocker.service.constants';\r\nimport { ServiceBase } from './../ServiceBase';\r\nimport { IQAEnvironmentPopUpBlockerService } from './qa-environment-pop-up-blocker.service.interface';\r\nconst md5 = require('md5');\r\n\r\nexport class QAEnvironmentPopUpBlockerService extends ServiceBase implements IQAEnvironmentPopUpBlockerService {\r\n\r\n validatePassword(password) {\r\n if (md5(password) === this.services.configuration.servicesConfigs.QAEnvironmentPopUp.validationKey) {\r\n this._setCookie();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private _setCookie() {\r\n let expirationDate:Date = new Date();\r\n expirationDate.setMonth(expirationDate.getMonth() + 3);\r\n this.services.cookies.createCookie(QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE, 'true', expirationDate);\r\n }\r\n\r\n}","import { Check } from '@sparkware/app-utils';\r\nimport { observable, action, computed, makeObservable } from 'mobx';\r\nimport { ServiceBase } from '../ServiceBase';\r\nimport { IVideoPlayer } from './video-players/video-player.interface';\r\nimport { IServiceFactoryExtended } from '../service-factory-extended.interface';\r\nimport { IVideoPlayingService } from './video-playing.service.interface';\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport {ISwipeLogicHandler} from \"../arenas/models/swiper-logic-handler/swiper-logic-handler.interface\";\r\n\r\nexport abstract class VideoPlayingServiceBase extends ServiceBase implements IVideoPlayingService {\r\n\r\n public abstract gaCategory: string;\r\n\r\n @observable.ref\r\n isSupported: boolean = null;\r\n\r\n @action.bound\r\n private _setIsSupported(isSupported: boolean): void {\r\n this.isSupported = isSupported;\r\n }\r\n\r\n @observable.ref\r\n isVideoMuted: boolean = true;\r\n\r\n @action.bound\r\n private _setIsVideoMuted(isVideoMuted: boolean): void {\r\n this.isVideoMuted = isVideoMuted;\r\n }\r\n\r\n @observable.ref\r\n isAppVisible: boolean = true;\r\n\r\n @action.bound\r\n private _setIsAppVisible(isAppVisible: boolean): void {\r\n this.isAppVisible = isAppVisible;\r\n }\r\n\r\n @computed\r\n get isDisabledPrelogin(): boolean {\r\n if (this.services.user.isAuthorized) {\r\n return false;\r\n }\r\n\r\n const currentRegulationCode = this.services.regulation.getRegulationCode();\r\n const disableForRegulationPreLogin = this.services.configuration.servicesConfigs.LiveVideoStream.disableForRegulationPreLogin[currentRegulationCode];\r\n return !Check.isNullOrUndefined(disableForRegulationPreLogin) && disableForRegulationPreLogin;\r\n }\r\n\r\n //Swiper Handler for the orbit swiper handling the current playing video.\r\n //This implementation breaks if in the future there will be > 1 swipers playing the same type of video in the same page.\r\n //But for now, we need this to swipe to & start the next video after the current one finishes playing.\r\n private _swiperHandler: ISwipeLogicHandler | null = null;\r\n\r\n public setSwiperHandler(value: ISwipeLogicHandler): void {\r\n this._swiperHandler = value;\r\n }\r\n\r\n public getSwiperHandler(): ISwipeLogicHandler | null {\r\n return this._swiperHandler;\r\n }\r\n\r\n constructor (services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._init();\r\n this.services.sdk.events.onAppPaused(() => {\r\n this._setIsAppVisible(false);\r\n });\r\n this.services.sdk.events.onAppResumed(() => {\r\n this._setIsAppVisible(true);\r\n });\r\n services.sdk.events.onGameOpen(() => {\r\n this._setIsVideoMuted(true);\r\n });\r\n }\r\n\r\n private async _init() {\r\n const isSupported = await this._checkIfSupported();\r\n\r\n if (!isSupported) {\r\n this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(this.gaCategory)\r\n .addAction('VideoStreamNotSupported')\r\n .info();\r\n }\r\n\r\n this._setIsSupported(isSupported);\r\n }\r\n\r\n protected abstract _checkIfSupported(): Promise;\r\n\r\n public abstract getVideoPlayer(gameInfo: GameInfo, videoReference: HTMLVideoElement): Promise;\r\n\r\n toggleVideoSound() {\r\n this._setIsVideoMuted(!this.isVideoMuted);\r\n this.services.analytics.sendOrbitMarketingEvent(this.gaCategory, 'SOUND_CLICK', `${this.isVideoMuted ? \"OFF\" : \"ON\"}`);\r\n }\r\n}","import {VideoPlayingServiceBase} from \"./video-playing-service-base\";\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport {IVideoPlayer} from \"./video-players/video-player.interface\";\r\n\r\nexport const LIVE_STREAM_WATCH_TIME_LIMIT: number = 120000;\r\n\r\nexport class LiveStreamPlayingService extends VideoPlayingServiceBase {\r\n\r\n public gaCategory = \"ORBIT_LIVE_STREAM\";\r\n\r\n protected async _checkIfSupported() {\r\n const LiveStreamNativePlayer = await import(/* webpackChunkName: \"live-stream-player-native\"*/ './video-players/live-stream-players/native/video-live-stream-player-native').then(module => module.LiveStreamNativePlayer);\r\n if (LiveStreamNativePlayer.isSupported()) {\r\n return true;\r\n }\r\n\r\n const LiveStreamHlsPlayer = await import(/* webpackChunkName: \"live-stream-player-hls\"*/ './video-players/live-stream-players/hls/video-live-stream-player-hls').then(module => module.LiveStreamHlsPlayer);\r\n return LiveStreamHlsPlayer.isSupported();\r\n }\r\n\r\n async getVideoPlayer(gameInfo: GameInfo, videoReference: HTMLVideoElement, dontAutoSwipe?: boolean): Promise {\r\n\r\n const gameType = gameInfo.gameType;\r\n const streamSource = gameInfo.videoURL;\r\n\r\n //In the future, this should be coming from admin as well.\r\n const watchTimeLimit = LIVE_STREAM_WATCH_TIME_LIMIT;\r\n\r\n const LiveStreamNativePlayer = await import(/* webpackChunkName: \"live-stream-player-native\"*/ './video-players/live-stream-players/native/video-live-stream-player-native').then(module => module.LiveStreamNativePlayer);\r\n\r\n // We need to check also if not android because Evo live stream games not working on android real device because they use WAF and they don't get referer in android native.\r\n if (LiveStreamNativePlayer.isSupported() && !this.services.device.os.isAndroid) {\r\n return new LiveStreamNativePlayer(this.services, gameType, videoReference, streamSource, watchTimeLimit);\r\n }\r\n\r\n const LiveStreamHlsPlayer = await import(/* webpackChunkName: \"live-stream-player-hls\"*/'./video-players/live-stream-players/hls/video-live-stream-player-hls').then(module => module.LiveStreamHlsPlayer);\r\n if (LiveStreamHlsPlayer.isSupported()) {\r\n return new LiveStreamHlsPlayer(this.services, gameType, videoReference, streamSource, watchTimeLimit);\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {ITranslationService} from \"./translation.service.interface\";\r\n\r\nexport class TextTranslation {\r\n constructor(private readonly translationService: ITranslationService,\r\n public readonly translationKey: string,\r\n private readonly _parameters?: any) {\r\n }\r\n\r\n get translation(): string {\r\n return this.translationService.translate(this.translationKey, this._parameters);\r\n }\r\n\r\n}","import {ITranslationService} from './translation.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {TextTranslation} from \"./text-translation\";\r\n\r\nexport class TranslationService extends ServiceBase implements ITranslationService {\r\n\r\n get langData(): any {\r\n return this.services.language.translatedTexts;\r\n }\r\n\r\n translate(key: string, parameters?: any): string {\r\n try {\r\n let translatedPhrase = '';\r\n\r\n if (this.langData && key !== '') {\r\n if (this.langData[key]) {\r\n translatedPhrase = this.langData[key];\r\n } else {\r\n\r\n this.services.logger.debug(`Missing translation for ${key} in language ${this.services.language.currentLanguage}`);\r\n\r\n return key;\r\n }\r\n }\r\n return this._resolveBraces(translatedPhrase, parameters);\r\n } catch (err) {\r\n console.log('error in transform function, error message: ', err);\r\n return '';\r\n }\r\n }\r\n\r\n getTranslation(key: string, parameters?: any): TextTranslation {\r\n return new TextTranslation(this, key, parameters);\r\n }\r\n\r\n private _resolveBraces(str: string, value = null) {\r\n\r\n if('' === str)\r\n return str;\r\n\r\n if (Check.isObject(value)) {\r\n Object.keys(value).forEach(key => str = str.replace(`{${key}}`, value[key]));\r\n }\r\n else {\r\n\r\n let objectKeys = str.match(/[^{]+(?=\\})/g) || []; //array of object keys that have to be replaced (looking for {foo})\r\n\r\n for (let objectKey of objectKeys) {\r\n if (value) {\r\n str = str.replace(`{${objectKey}}`, value);\r\n } else {\r\n //if we didn't get value we will look the key in the config\r\n str = str.replace(`{${objectKey}}`, this.services.configuration.resolveConfigurationValue(objectKey));\r\n }\r\n }\r\n\r\n }\r\n return str;\r\n\r\n }\r\n}\r\n","export const CURRENCY_SYMBOLS: Record = {\r\n CAD: 'C$',\r\n NOK: 'Kr.',\r\n USD: '$',\r\n EUR: '€',\r\n GBP: '£',\r\n DKK: 'Kr.',\r\n SEK: 'kr',\r\n RON: 'RON',\r\n BRL: 'R$'\r\n};","import {ICurrencyService} from './currency.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {CURRENCY_SYMBOLS} from \"./currency-symbol.interface\";\r\n\r\nexport class CurrencyService extends ServiceBase implements ICurrencyService {\r\n\r\n formatMoney(value: number, withDecimal?: boolean): string {\r\n return this.services.sdk.formatMoney(value, withDecimal);\r\n }\r\n\r\n // TODO: Check if formatMinMaxBet can be called with undefined/null\r\n // after switching to strictNullCheck and repair the signature and code\r\n formatMinMaxBet(minBet: number, maxBet: number): string | null {\r\n if(minBet && maxBet) {\r\n return this.formatMoney(minBet, true) + ' - ' + this.formatMoney(maxBet, true);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get currencyIso3(): string {\r\n return this.services.sdk.getCurrencyIso3();\r\n }\r\n\r\n get getCurrencySymbol(): string {\r\n return CURRENCY_SYMBOLS[this.currencyIso3] || this.currencyIso3;\r\n }\r\n}\r\n","import {\r\n ISendElasticEventOptions,\r\n IAnalyticsService,\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsAction,\r\n OrbitUserFlowAnalyticsLabel,\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel,\r\n OrbitMarketingEventAnalyticsAction,\r\n OrbitAIFeatureAnalyticsCategory,\r\n OrbitAIFeatureAnalyticsAction\r\n} from './analytics.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IElasticEventData, IStructuredLogger} from '../../../common/interfaces/structured-logging-service-interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class AnalyticsService extends ServiceBase implements IAnalyticsService {\r\n\r\n sendAnalytics(\r\n category: string,\r\n action: string | undefined = undefined,\r\n label: string | undefined = undefined,\r\n value: string | undefined = undefined,\r\n omitStructuredLogger?: boolean\r\n ) {\r\n this.services.sdk.sendAnalytics(category, action, label, value, omitStructuredLogger);\r\n }\r\n\r\n\r\n sendTechnicalEvent(action: string, label?: string, value?: any): void {\r\n this.sendAnalytics('[Technical-event]', action, label, value);\r\n }\r\n\r\n sendOrbitUserFlowEvent(category: string | OrbitUserFlowAnalyticsCategory, action: OrbitUserFlowAnalyticsAction, label?: string | OrbitUserFlowAnalyticsLabel, value?: any): void {\r\n try {\r\n let data:ISendElasticEventOptions ={\r\n eventType:\"Orbit_User_Flow\",\r\n category:category,\r\n action:action,\r\n label:label,\r\n value: value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n }\r\n catch (err){\r\n console.log(\"Error on Orbit sendOrbitUserFlowEvent : \" + err);\r\n }\r\n }\r\n\r\n sendOrbitMarketingEvent(category: string | OrbitMarketingEventAnalyticsCategory, action: OrbitMarketingEventAnalyticsAction, label?: string | OrbitMarketingEventAnalyticsLabel, value?: any): void {\r\n try {\r\n let data:ISendElasticEventOptions ={\r\n eventType:\"Orbit_Marketing\",\r\n category:category,\r\n action:action,\r\n label:label,\r\n value:value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n }\r\n catch (err){\r\n console.log(\"Error on Orbit sendOrbitMarketingEvent : \" + err);\r\n }\r\n }\r\n\r\n sendOrbitAIFeatureEvent(category: string | OrbitAIFeatureAnalyticsCategory, action: OrbitAIFeatureAnalyticsAction, label?: string, value?: any): void {\r\n try {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: category,\r\n action: action,\r\n label: label,\r\n value: value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n } catch (err) {\r\n console.log(\"Error on Orbit sendOrbitAIFeatureEvent : \" + err);\r\n }\r\n }\r\n\r\n sendElasticInfoEvent(options: ISendElasticEventOptions, sendToDWH?: boolean) {\r\n const logger: IStructuredLogger = this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(options.category)\r\n .addAction(options.action)\r\n .addLabel(options.label)\r\n .addValue(options.value)\r\n .addCustomData(options.customData);\r\n\r\n if (!Check.isNullOrUndefined(options.appID)) {\r\n logger.setAppID(options.appID);\r\n }\r\n\r\n if (sendToDWH) {\r\n logger.setEventType(options.eventType,'Log', 'Analytics');\r\n }\r\n else {\r\n logger.setEventType(options.eventType, 'Log');\r\n }\r\n\r\n logger.info();\r\n }\r\n\r\n getLogger(eventData?: IElasticEventData): IStructuredLogger {\r\n return this.services.sdk.structuredLoggingService.getLogger(eventData);\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.services.sdk.getGoogleClientID();\r\n }\r\n}\r\n","import {ILobbyGameInfoPreviewService} from './lobby-game-info-preview.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo} from '../games/game-info';\r\n\r\nconst TIME_TO_HANDLE_SET_GAME_PREVIEW = 800;\r\nconst TIME_TO_HANDLE_CLEAR_GAME_PREVIEW = 5000;\r\n\r\n\r\nexport class LobbyGameInfoPreviewService extends ServiceBase implements ILobbyGameInfoPreviewService {\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(() => this.services.device.isMobile,\r\n () => this._resetGamePreview());\r\n\r\n this.reaction(() => this.services.routing.currentRoute,\r\n () => this._resetGamePreview());\r\n }\r\n\r\n @observable.ref\r\n currentPreviewedGame: GameInfo = null;\r\n\r\n @action.bound\r\n private _setCurrentPreviewedGame(gameType: number | null): void {\r\n if (gameType) {\r\n this.currentPreviewedGame = this.services.games.gamesMap[gameType];\r\n } else {\r\n this.currentPreviewedGame = null;\r\n }\r\n\r\n }\r\n\r\n\r\n private _setGamePreviewTimeout;\r\n private _clearGamePreviewTimeout;\r\n\r\n\r\n enableGamePreview(): void {\r\n this._allowPreview = true;\r\n }\r\n\r\n disableGamePreview(): void {\r\n this._allowPreview = false;\r\n }\r\n\r\n private _allowPreview = false;\r\n get allowGamePreview(): boolean {\r\n return this._allowPreview && !this.services.device.isMobile;\r\n }\r\n\r\n private _currentGamePreviewPinned = false;\r\n\r\n pinCurrentGamePreview() {\r\n this._currentGamePreviewPinned = true;\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n }\r\n\r\n unPinCurrentGamePreview() {\r\n this._currentGamePreviewPinned = false;\r\n // basically when unPinCurrentGamePreview is called it means user mouse leave from the game preview\r\n this.clearGamePreview();\r\n }\r\n\r\n\r\n public setGamePreview(gameType: number): void {\r\n if(!this.allowGamePreview) {\r\n return;\r\n }\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n clearTimeout(this._setGamePreviewTimeout);\r\n this._setGamePreviewTimeout = setTimeout(() => {\r\n this._setCurrentPreviewedGame(gameType);\r\n }, TIME_TO_HANDLE_SET_GAME_PREVIEW);\r\n }\r\n\r\n public clearGamePreview(): void {\r\n if(!this.allowGamePreview) {\r\n return;\r\n }\r\n\r\n clearTimeout(this._setGamePreviewTimeout);\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n this._clearGamePreviewTimeout = setTimeout(() => {\r\n !this._currentGamePreviewPinned && this._setCurrentPreviewedGame(null);\r\n }, TIME_TO_HANDLE_CLEAR_GAME_PREVIEW);\r\n }\r\n\r\n private _resetGamePreview() {\r\n clearTimeout(this._setGamePreviewTimeout);\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n this._setCurrentPreviewedGame(null);\r\n }\r\n\r\n\r\n}\r\n","import { action, observable, makeObservable } from 'mobx';\r\nimport { GameInfo } from '../games/game-info';\r\nimport { OnGameCloseParams, OnGameOpenParams } from '../sdk/sdk-events';\r\nimport { ServiceBase } from '../ServiceBase';\r\nimport { IRunningGameService } from './running-game.service.interface';\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\n\r\nexport class RunningGameService extends ServiceBase implements IRunningGameService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get isGameRunning(): boolean {\r\n return this.services.sdk.isGameRunning();\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.services.sdk.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.services.sdk.stopCurrentGameAutoplay();\r\n }\r\n\r\n closeRunningGame(): void {\r\n this.services.gameRunner.currentRunningGame?.closeGame({\r\n shouldSuggestNextGame: false\r\n });\r\n }\r\n\r\n @observable.ref\r\n lastPlayedRealGame: GameInfo = null;\r\n\r\n @observable.ref\r\n correlatedGamesForLastPlayedRealGame: GameInfo[] = [];\r\n\r\n private _listenForLastRealGame = false;\r\n\r\n\r\n @action.bound\r\n _setLastPlayedRealGame(lastGameInfo: GameInfo) {\r\n this.lastPlayedRealGame = lastGameInfo;\r\n }\r\n\r\n @action.bound\r\n _setCorrelatedGamesForLastPlayedRealGame(gameInfos: GameInfo[]) {\r\n this.correlatedGamesForLastPlayedRealGame = gameInfos;\r\n }\r\n\r\n listenForLastPlayedRealGame() {\r\n if (this._listenForLastRealGame) {\r\n return;\r\n }\r\n\r\n this.services.sdk.events.onGameClose((closeOptions: OnGameCloseParams) => {\r\n // showNextGameSuggestion should be filled as true when player itself closes the game (press on X button)\r\n if (closeOptions.isReal && closeOptions.isGamePlayed && closeOptions.showNextGameSuggestion) {\r\n this.setLastPlayedRealGame(closeOptions.gameType);\r\n }\r\n });\r\n\r\n this._listenForLastRealGame = true;\r\n }\r\n\r\n async setLastPlayedRealGame(gameType: number): Promise {\r\n const lastGameInfo = await this.services.games.getGameInfo(gameType);\r\n const correlatedGames = await this.services.games.getCorrelatedGames(gameType, 50);\r\n let gameInfosArray = (await this.services.games.getGamesInfoArray(correlatedGames)) || [];\r\n\r\n this._setLastPlayedRealGame(lastGameInfo);\r\n this._setCorrelatedGamesForLastPlayedRealGame(gameInfosArray);\r\n }\r\n\r\n private _listenForLastOpenDemoGame = false;\r\n\r\n @observable.ref\r\n lastOpenDemoGame: GameInfo = null;\r\n\r\n listenForLastOpenDemoGame() {\r\n if (this._listenForLastOpenDemoGame) {\r\n return;\r\n }\r\n\r\n this.services.sdk.events.onGameOpen((options: OnGameOpenParams) => {\r\n if (!options.isReal) {\r\n this.setLastOpenDemoGame(options.gameType);\r\n }\r\n });\r\n\r\n this._listenForLastOpenDemoGame = true;\r\n }\r\n\r\n async setLastOpenDemoGame(gameType: number): Promise {\r\n const gameInfo = await this.services.games.getGameInfo(gameType);\r\n this._setLastOpenDemoGame(gameInfo);\r\n }\r\n\r\n @action.bound\r\n _setLastOpenDemoGame(lastGameInfo: GameInfo) {\r\n this.lastOpenDemoGame = lastGameInfo;\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n//info-mobile\r\nexport const GameInfoButtonDefaultBox = styled.div`\r\n padding-right: 20px;\r\n margin-right: 15px;\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n cursor: pointer;\r\n`;","import styled from 'styled-components';\r\nimport {GameInfoButtonDefaultBox} from './game-info-button.default.box';\r\n\r\n\r\nexport const GameInfoButtonCasino777Box = styled(GameInfoButtonDefaultBox)`\r\n border-right: 1px solid $transparent;\r\n`;","import {GameInfoButtonDefaultBox} from './game-info-button.default.box';\r\nimport {GameInfoButtonCasino777Box} from './game-info-button.casino777.box';\r\nimport {styledByTheme} from '../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const GameInfoButtonBox = styledByTheme(GameInfoButtonDefaultBox).forCasino777(GameInfoButtonCasino777Box).apply();","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n flex-grow: 1;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.body};\r\n line-height: normal;\r\n text-transform: capitalize;\r\n font-size: 1.4em;\r\n letter-spacing: 0.98px;\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n text-align: center;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogTitleDefaultBox = styledByDevice(PcBox, MobileBox);","import {DialogTitleDefaultBox} from \"./dialog-title.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const DialogTitleMrGreenBox = styled(DialogTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n`;","import {DialogTitleDefaultBox} from './dialog-title.default.box';\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {DialogTitleMrGreenBox} from \"./dialog-title.mrgreen.box\";\r\n\r\nexport const DialogTitleBox = styledByTheme(DialogTitleDefaultBox)\r\n .forMrGreen(DialogTitleMrGreenBox)\r\n .forMrGreenCis(DialogTitleMrGreenBox)\r\n .apply();","import {DialogCloseButtonDefaultBox} from './dialog-close-button.default.box';\r\n\r\nexport const DialogCloseButtonBox = DialogCloseButtonDefaultBox;","import styled from 'styled-components';\r\nimport {XCloseButtonBox} from \"../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\nexport const DialogCloseButtonDefaultBox = styled(XCloseButtonBox)`\r\n width: ${props => props.theme.components.modalDialog.closeButtonSize};\r\n height: ${props => props.theme.components.modalDialog.closeButtonSize};\r\n`;","export const APPLY_BORDERS = 'apply-borders';\r\nexport const APPLY_ANIMATION = 'apply-animation';\r\nexport const MOBILE_CENTERED_HEADER = 'mobile-centered-header';\r\nexport const FORCE_TRANSPARENT_BACKGROUND = 'force-transparent-background';\r\nexport const FORCE_TRANSPARENT_CONTENT_BACKGROUND = 'force-transparent-content-background';\r\nexport const DISABLE_FULLSCREEN_MOBILE = 'disable-fullscreen-mobile';\r\nexport const FORCE_CENTRALIZATION = 'force-centralization';\r\nexport const APPLY_MAX_HEIGHT = 'apply-max-height';\r\nexport const FORCE_FULLSCREEN_TABLET = 'force-fullscreen-tablet';\r\nexport const APPLY_MODAL_CLOSING_ANIMATION = 'apply-modal-closing-animation';","import styled from 'styled-components';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {MOBILE_CENTERED_HEADER} from \"../../css-classes\";\r\n\r\nexport interface DialogHeaderDefaultBoxProps {\r\n className?: string;\r\n height?: number;\r\n}\r\n\r\nexport const DialogHeaderDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n padding: 10px 15px;\r\n min-height: 30px;\r\n height: ${props => Check.isNullOrUndefined(props.height) ? 'auto' : props.height + 'px'};\r\n width: 100%;\r\n\r\n &.${MOBILE_CENTERED_HEADER} .dialog-header-title {\r\n text-align: center;\r\n margin: 0;\r\n }\r\n\r\n border-top-left-radius: 7px;\r\n border-top-right-radius: 7px;\r\n`;","import styled from 'styled-components';\r\nimport {DialogHeaderDefaultBox} from './dialog-header.default.box';\r\n\r\nexport const DialogHeaderCipBox = styled(DialogHeaderDefaultBox)`\r\n position: relative;\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, white, transparent);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { DialogHeaderDefaultBox } from \"./dialog-header.default.box\";\r\n\r\nexport const DialogHeaderMrGreenCisBox = styled(DialogHeaderDefaultBox)`\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n`;","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {DialogHeaderDefaultBox} from './dialog-header.default.box';\r\nimport {DialogHeaderCipBox} from './dialog-header.cip.box';\r\nimport { DialogHeaderMrGreenCisBox } from './dialog-header.mrgreenCis';\r\n\r\nexport const DialogHeaderBox = styledByTheme(DialogHeaderDefaultBox)\r\n .forCip(DialogHeaderCipBox)\r\n .forWsopCip(DialogHeaderCipBox)\r\n .forMrGreenCis(DialogHeaderMrGreenCisBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const HeaderButtonsContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-end;\r\n position: absolute;\r\n right: 10px;\r\n \r\n`","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {DialogHeaderBox} from '../../boxes/header/dialog-header.box';\r\nimport {DialogTitleBox} from '../../boxes/title/dialog-title.box';\r\nimport {DialogCloseButtonBox} from '../../boxes/close-button/dialog-close-button.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {HeaderButtonsContainerBox} from \"../../boxes/header-buttons/header-buttons-container.box\";\r\n\r\nexport interface ModalDialogHeaderComponentProps extends PropsWithChildren {\r\n title?: string;\r\n hideCloseButton?: boolean;\r\n onCloseButtonClick?: () => void;\r\n className?: string;\r\n renderExtraButtons?: () => React.ReactElement;\r\n}\r\nexport class DialogHeaderComponent extends OrbitComponent {\r\n\r\n private _renderTitle() {\r\n if(!this.props.title) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this.props.title}\r\n );\r\n }\r\n\r\n private _renderCloseButton() {\r\n if(this.props.hideCloseButton) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderExtraButtons() {\r\n if(this.props.renderExtraButtons) {\r\n return this.props.renderExtraButtons();\r\n }\r\n return null;\r\n }\r\n\r\n private _renderButtons() {\r\n if(this.props.hideCloseButton && !this.props.renderExtraButtons) {\r\n return null;\r\n }\r\n return (\r\n \r\n {this._renderExtraButtons()}\r\n {this._renderCloseButton()}\r\n \r\n )\r\n\r\n }\r\n\r\n private _renderContent() {\r\n if (this.props.children) {\r\n return this.props.children\r\n }\r\n\r\n return (\r\n <>\r\n {this._renderTitle()}\r\n {this._renderButtons()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if(!this.props.title && this.props.hideCloseButton && !this.props.children) {\r\n return null;\r\n }\r\n\r\n let height: number | null = null;\r\n\r\n return (\r\n \r\n {this._renderContent()}\r\n \r\n )\r\n }\r\n\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../../services/dialog/dialog.service.interface';\r\nimport {GameInfoButtonBox} from './boxes/game-info-button/game-info-button.box';\r\nimport {DialogTitleBox} from '../../../modal-dialog/boxes/title/dialog-title.box';\r\nimport {DialogCloseButtonBox} from '../../../modal-dialog/boxes/close-button/dialog-close-button.box';\r\nimport {Image} from '../../../raw-components/image/image';\r\nimport {DialogHeaderComponent} from '../../../modal-dialog/parts/header/dialog-header.component';\r\n\r\nexport interface MobileGamePreviewTitleComponentProps {\r\n gameInfo: GameInfo;\r\n arenaName?: string;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport const TitleComponent = observer(\r\n class TitleComponent extends OrbitComponent {\r\n\r\n _openGameInfo = () => {\r\n const gameInfo = this.props.gameInfo;\r\n this._closeInfoMobile();\r\n\r\n if (this.props.arenaName) {\r\n //TODO: Do we need it?\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this.props.arenaName, action: \"Open_Game_Info\", label: `SEO_${gameInfo.gameType}`}, true);\r\n }\r\n\r\n this.services.location.push(gameInfo.infoPageURL);\r\n };\r\n\r\n _closeInfoMobile = () => {\r\n this.props.dialogHandler?.close();\r\n };\r\n\r\n private _renderOpenInfoButton(gameInfo: GameInfo) {\r\n\r\n if (Check.isEmpty(gameInfo.infoPageURL) || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n {gameInfo.title}\r\n {this._renderOpenInfoButton(gameInfo)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../../../../themes/architecture/styled-by-device';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n\r\n//.info-image-wrapper + info-image\r\n\r\nconst DefaultBox = styled(Image)`\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin-bottom: 1.1rem;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n width: 375px;\r\n height: 121px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n height: 92px;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n opacity: 0.7;\r\n`;\r\n\r\nexport const StripeImageDefaultBox = styledByDevice(PcBox, MobileBox);","import {StripeImageDefaultBox} from './stripe-image.default.box';\r\n\r\nexport const StripeImageBox = StripeImageDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {StripeImageBox} from './boxes/stripe-image/stripe-image.box';\r\n\r\nexport interface GameImagePreviewComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameStripeImageComponent = observer(\r\n class GameStripeImageComponent extends OrbitComponent {\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n let imageSrc = gameInfo.stripImage ? gameInfo.stripImage : gameInfo.stripeImageFallback;\r\n // I noticed that sometimes react doesn't re render this component even if a different gameInfo is provided.\r\n // Setting key={gameInfo.gameType} seems to overcome this issue\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import {TrailerDefaultBox} from './trailer.default.box';\r\n\r\nexport const TrailerBox = TrailerDefaultBox;","import styled from 'styled-components';\r\n\r\n//.info-video-wrapper + info-movie\r\nexport const TrailerDefaultBox = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n margin-bottom: 1.1rem;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {GameStripeImageComponent} from '../stripe-image/game-stripe-image.component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {TrailerBox} from './boxes/trailer/trailer.box';\r\n\r\nexport interface GameTrailerPreviewComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\nexport const GameTrailerComponent = observer(\r\n class GameTrailerComponent extends OrbitComponent {\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n //we used here key={gameInfo.gameType} to make react re render the component when a different gameInfo is provided\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import * as React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameStripeImageComponent} from './stripe-image/game-stripe-image.component';\r\nimport {GameTrailerComponent} from './trailer/game-trailer.component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\n\r\nexport interface GameImageContainerComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const TrailerOrStripeImageComponent = observer(\r\n class TrailerOrStripeImageComponent extends OrbitComponent {\r\n render() {\r\n if (this.props.gameInfo.hasVideoTrailer) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\n//check-div\r\nexport const CellValueBoolDefaultBox = styled.div`\r\n width: 13px;\r\n height: 13px;\r\n float: right;\r\n background-image: url(\"${props => props.theme.images.checkMark.toString()}\");\r\n background-repeat: no-repeat;\r\n`;","export enum GAMES_CATEGORIES {\r\n SLOTS = 'slots',\r\n CARD_AND_TABLE = 'card-and-table',\r\n LIVE = 'live'\r\n};\r\n","import {CellValueBoolDefaultBox} from './cell-value-bool.default.box';\r\n\r\nexport const CellValueBoolBox = CellValueBoolDefaultBox;","import styled from 'styled-components';\r\n\r\n//game-info-text\r\nexport const CellValueTextDefaultBox = styled.span`\r\n float: right;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;","import styled from 'styled-components';\r\nimport {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\n\r\nexport const CellValueTextCasino777Box = styled(CellValueTextDefaultBox)`\r\n color: ${props => props.theme.colors.dangerDark};\r\n`;","import styled from 'styled-components';\r\nimport {baseColors} from '../../../../../../../../themes/definitions/mrgreen/base-colors';\r\nimport {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\n\r\nexport const CellValueTextMrGreenBox = styled(CellValueTextDefaultBox)`\r\n color: ${baseColors.white};\r\n`;","import {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\nimport {CellValueTextCasino777Box} from './cell-value-text.casino777.box';\r\nimport {CellValueTextMrGreenBox} from './cell-value-text.mrgeen.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const CellValueTextBox = styledByTheme(CellValueTextDefaultBox)\r\n.forCasino777(CellValueTextCasino777Box)\r\n.forMrGreen(CellValueTextMrGreenBox)\r\n.apply();","import styled from 'styled-components';\r\n\r\nexport const CellTitleDefaultBox = styled.span`\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.body};\r\n`;","import styled from 'styled-components';\r\nimport {CellTitleDefaultBox} from './cell-title.default.box';\r\n\r\nexport const CellTitleMrGreenBox = styled(CellTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n`;","import styled from 'styled-components';\r\nimport {CellTitleDefaultBox} from './cell-title.default.box';\r\n\r\nexport const CellTitleSiBox = styled(CellTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import {CellTitleDefaultBox} from './cell-title.default.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\nimport {CellTitleMrGreenBox} from './cell-title.mrgeen.box'\r\nimport {CellTitleSiBox} from \"./cell-title.si.box\";\r\n\r\nexport const CellTitleBox = styledByTheme(CellTitleDefaultBox)\r\n .forMrGreen(CellTitleMrGreenBox)\r\n .forSI(CellTitleSiBox)\r\n .forSICis(CellTitleSiBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {PreviewFeatureType} from '../../../../../../services/game-preview-features-selector/preview-features/game-preview-feature.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {CellValueBoolBox} from './boxes/cell-value-bool/cell-value-bool.box';\r\nimport {CellValueTextBox} from './boxes/cell-value-text/cell-value-text.box';\r\nimport {CellTitleBox} from './boxes/cell-title/cell-title.box';\r\n\r\nexport interface GameFeaturePreviewCellComponentProps{\r\n title: string;\r\n type: PreviewFeatureType,\r\n value: any\r\n}\r\n\r\nexport class GameFeatureCellComponent extends OrbitComponent {\r\n\r\n private _renderNoInfo() {\r\n return (-);\r\n }\r\n private _renderCheckbox() {\r\n if(this.props.value) {\r\n return ();\r\n }\r\n\r\n return this._renderNoInfo();\r\n }\r\n\r\n private _renderDescription() {\r\n if(Check.isEmpty(this.props.value)) {\r\n return this._renderNoInfo();\r\n }\r\n\r\n return ({this.props.value});\r\n }\r\n\r\n\r\n private _renderValue() {\r\n if(this.props.type === PreviewFeatureType.check) {\r\n return this._renderCheckbox();\r\n }\r\n\r\n return this._renderDescription();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.title}\r\n {this._renderValue()}\r\n \r\n );\r\n\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n//game-info game-preview\r\n\r\nexport const TableContainerDefaultBox = styled.table`\r\n padding: 0 8px;\r\n border-radius: 5px;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.textLight};\r\n & tbody {\r\n border: none;\r\n background: transparent;\r\n }\r\n\r\n & td {\r\n width: 50%;\r\n padding-right: 15px;\r\n height: 3.5rem;\r\n\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorder};\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n }\r\n\r\n & tr {\r\n background-color: transparent;\r\n height: 30px;\r\n &:first-child {\r\n td {\r\n border-top: none;\r\n }\r\n }\r\n &:last-child {\r\n td {\r\n border-bottom: none;\r\n }\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {TableContainerDefaultBox} from './table-container.default.box';\r\nimport {hexToRgba} from '../../../../../../../../themes/hex-to-rgba';\r\n\r\nexport const TableContainerBoxCasino777Box = styled(TableContainerDefaultBox)`\r\n font-size: 1.6rem;\r\n font-weight: 400;\r\n \r\n & td { \r\n border-bottom: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.5)};\r\n height:4rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {baseColors} from '../../../../../../../../themes/definitions/mrgreen/base-colors';\r\nimport {TableContainerDefaultBox} from './table-container.default.box';\r\n\r\nexport const TableContainerBoxMrGreenBox = styled(TableContainerDefaultBox)`\r\n & tr { \r\n &:nth-of-type(odd){\r\n background: transparent;\r\n }\r\n }\r\n\r\n & td {\r\n border-bottom: 1px solid ${baseColors.white};\r\n border-top: none\r\n }\r\n`;","import {TableContainerDefaultBox} from './table-container.default.box';\r\nimport {TableContainerBoxCasino777Box} from './table-container.casino777.box';\r\nimport {TableContainerBoxMrGreenBox} from './table-container.mrgreen.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const TableContainerBox = styledByTheme(TableContainerDefaultBox)\r\n.forCasino777(TableContainerBoxCasino777Box)\r\n.forMrGreen(TableContainerBoxMrGreenBox)\r\n.apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {PreviewFeatureEvaluationResult} from '../../../../../../services/game-preview-features-selector/preview-features/game-preview-feature.interface';\r\nimport {splitArrayToChunks} from '../../../../../../../utils/array-helper';\r\nimport {GameFeatureCellComponent} from '../cell/game-feature-cell.component';\r\nimport {TableContainerBox} from './boxes/table-container/table-container.box';\r\n\r\n\r\nexport interface GameFeaturesPreviewTableComponentProps {\r\n features: PreviewFeatureEvaluationResult[]\r\n}\r\n\r\nexport class GameFeaturesTableComponent extends OrbitComponent {\r\n\r\n private _renderGameInfoTableRow(cells: PreviewFeatureEvaluationResult[]) {\r\n let key = cells.reduce((acc, curr) => curr.title + '_' + acc, '');\r\n return (\r\n \r\n {cells.map(cell => ())}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if(this.props.features.length === 0) {\r\n return null;\r\n }\r\n\r\n let chunks = splitArrayToChunks(this.props.features, 2);\r\n\r\n return (\r\n \r\n \r\n {chunks.map(chunk => this._renderGameInfoTableRow(chunk))}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const GameDescriptionDefaultTextBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.text};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding: 0 1rem 2rem;\r\n`;","import {GameDescriptionDefaultTextBox} from './game-description-text.default.box';\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const GameDescriptionSIBox = styled(GameDescriptionDefaultTextBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n`;\r\n\r\nexport const GameDescriptionTextBox = styledByTheme(GameDescriptionDefaultTextBox).forSI(GameDescriptionSIBox).apply();","import styled from 'styled-components';\r\nimport { flexAdaptiveSizeItem } from '../../themes/architecture/css-helpers/flex';\r\nimport { styledByDevice } from '../../themes/architecture/styled-by-device';\r\n\r\n\r\n\r\nconst DefaultBox = styled.h2`\r\n position: relative;\r\n min-width: 28rem;\r\n max-width: 82.5%;\r\n text-transform: uppercase;\r\n padding: 1rem 2rem;\r\n font-size: 1.5rem;\r\n line-height: normal;\r\n margin: 0;\r\n background: ${props => props.theme.components.generalTitle.colors.background};\r\n border-left: 3px solid ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.brandPrimary};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: .9rem 2rem;\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n min-width: 65%;\r\n max-width: 100%;\r\n padding: .8rem 2rem;\r\n font-size: 1.2rem;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${flexAdaptiveSizeItem}\r\n min-width: 0;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GeneralTitleDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {GeneralTitleDefaultBox} from '../../../../../basic-components/general-title/general-title.default.box';\r\n\r\n//.general-title\r\nexport const DefaultBox = styled(GeneralTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n border-left: 2px solid ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.bold};\r\n\r\n margin: 0;\r\n margin-bottom: 10px;\r\n`;\r\n\r\n\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n font-size: 1.2rem;\r\n padding-left: 0.8rem;\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n font-size: 1.4rem;\r\n padding-left: 2rem;\r\n`;\r\n\r\nexport const SectionTitleDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport { PcBox as BasePcBox, MobileBox as BaseMobileBox } from './general-title.default.box';\r\nimport { CssRule } from '../../themes/architecture/css-helpers/css-rule';\r\nimport { styledByDevice } from '../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.secondary};\r\n padding-left:4.5rem;\r\n text-transform: capitalize;\r\n padding-top:.6rem;\r\n padding-bottom:.6rem;\r\n font-size:2rem;\r\n font-weight: 300;\r\n border-left: none;\r\n z-index:0;\r\n clip-path: polygon(0 0, 10px 50%, 0 100%, 100% 100%, 100% 0);\r\n ${CssRule.For.RTL.build()} & {\r\n clip-path: polygon(0 0, 0 100%, 100% 100%, calc(100% - 10px) 50%, 100% 0);\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${({theme}) => theme.images.spriteSheet.toString()}\");\r\n height: 20px;\r\n width: 20px;\r\n top: 10px;\r\n left: 16px;\r\n background-position: -176px -766px;\r\n background-repeat: no-repeat;\r\n z-index:-1;\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n }\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 1rem 5.5rem;\r\n font-size:2rem;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n padding: .5rem 4rem;\r\n font-size: 1.6rem;\r\n &:before{\r\n background-position: -176px -819px;\r\n }\r\n`;\r\n\r\nexport const GeneralTitleCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleCasino777Box} from '../../../../../basic-components/general-title/general-title.casino777.box';\r\n\r\n\r\nexport const SectionTitleCasino777Box = styled(GeneralTitleCasino777Box)`\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: uppercase;\r\n font-size: 1.6rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -155px -861px;\r\n height: 40px;\r\n &:before{\r\n content: none;\r\n }\r\n`;","import {SectionTitleDefaultBox} from './section-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SectionTitleCasino777Box} from './section-title.casino777.box';\r\n\r\nexport const SectionTitleBox = styledByTheme(SectionTitleDefaultBox).forCasino777(SectionTitleCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {GameDescriptionTextBox} from './boxes/game-description-text/game-description-text.box';\r\nimport {SectionTitleBox} from '../../boxes/section-title/section-title.box';\r\n\r\nexport interface GameAboutTextComponentProps {\r\n aboutText: string\r\n}\r\n\r\nexport class GameAboutComponent extends OrbitComponent {\r\n render() {\r\n if(Check.isEmpty(this.props.aboutText)) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {this.services.translation.translate('ABOUT')}\r\n \r\n \r\n {this.props.aboutText}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameJackpotPreviewDefaultBox} from './game-jackpot-preview.default.box';\r\n\r\nexport const GameJackpotPreviewBox = GameJackpotPreviewDefaultBox;","import styled from 'styled-components';\r\n\r\n//game-info-jackpot game-preview\r\nexport const GameJackpotPreviewDefaultBox = styled.div`\r\n width: 100%;\r\n`;","import styled from 'styled-components';\r\nimport {GameJackpotComponent} from \"../../../../../../game-jackpot/game-jackpot.component\";\r\n\r\n//game-info-amount game-info-text\r\nexport const JackpotAmountPreviewDefaultBox = styled(GameJackpotComponent)`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 2.4rem;\r\n font-weight: 800;\r\n text-align: inherit;\r\n margin-top: -4px;\r\n margin-bottom: 5px;\r\n padding: 0 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n font-size: 2.2rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\nimport {baseColors} from '../../../../../../../themes/definitions/casino777/base-colors';\r\n\r\nexport const JackpotAmountPreviewCasino777Box = styled(JackpotAmountPreviewDefaultBox)`\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n color: ${baseColors.base04Dark};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\n\r\nexport const JackpotAmountPreviewCasinoSIBox = styled(JackpotAmountPreviewDefaultBox)`\r\n padding: 0 0.5rem;\r\n`;\r\n","import {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\nimport {JackpotAmountPreviewCasino777Box} from './jackpot-amount-preview.casino777.box';\r\nimport {styledByTheme} from '../../../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountPreviewCasinoSIBox} from \"./jackpot-amount-preview.si.box\";\r\n\r\nexport const JackpotAmountPreviewBox = styledByTheme(JackpotAmountPreviewDefaultBox)\r\n .forCasino777(JackpotAmountPreviewCasino777Box)\r\n .forSI(JackpotAmountPreviewCasinoSIBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../boxes/section-title/section-title.box';\r\nimport {GameJackpotPreviewBox} from './boxes/game-jackpot-preview/game-jackpot-preview.box';\r\nimport {JackpotAmountPreviewBox} from './boxes/jackpot-amount-preview/jackpot-amount-preview.box';\r\n\r\nexport interface GameJackpotPreviewComponentProps {\r\n gameType: number;\r\n}\r\n\r\nexport class GameJackpotPreviewComponent extends OrbitComponent {\r\n\r\n render() {\r\n //className={'game-info-jackpot game-preview'}\r\n return (\r\n \r\n \r\n {this.services.translation.translate('GAME_JACKPOT')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n width: 100%;\r\n`;\r\n\r\nconst PcBox = DefaultBox;\r\nconst MobileBox = styled(DefaultBox)`\r\n padding: 0 10px 20px;\r\n`;\r\n\r\nexport const GamePreviewInfoContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import {GamePreviewInfoContainerDefaultBox} from './game-preview-info-container.default.box';\r\n\r\nexport const GamePreviewInfoContainerBox = GamePreviewInfoContainerDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameFeaturesTableComponent} from './features/table/game-features-table.component';\r\nimport {GameAboutComponent} from './about/game-about.component';\r\nimport {GameJackpotPreviewComponent} from './jackpot/game-jackpot-preview.component';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\nimport {GamePreviewInfoContainerBox} from './game-preview-info-container.box';\r\n//import {RelatedGamesComponent} from './related-games/related-games.component';\r\n\r\nexport interface GameInfoWrapperComponentProps {\r\n gameInfo: GameInfo;\r\n gameTitleComponent: React.ReactNode | null;\r\n}\r\nexport class GamePreviewInfoContainerComponent extends OrbitComponent {\r\n\r\n private _renderJackpotPreview(gameInfo: GameInfo) {\r\n\r\n if(!gameInfo.hasJackpot){\r\n return null;\r\n }\r\n\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n\r\n let shouldRenderJackpotPreview = generalSettings?.gamesPreviewConfig?.shouldDisplayJackpot;\r\n\r\n if (Check.isNullOrUndefined(shouldRenderJackpotPreview) || shouldRenderJackpotPreview)\r\n {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n {this.props.gameTitleComponent}\r\n \r\n \r\n {this._renderJackpotPreview(gameInfo)}\r\n {/**/}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {ContainerDefaultBox} from './container.default.box';\r\n\r\nexport const ContainerBox = ContainerDefaultBox;\r\n\r\n","import styled from 'styled-components';\r\n\r\n\r\n/**\r\n ContainerDefaultBox is placed over TrailerOrStripeImageComponent using position absolute.\r\n We do this because TrailerOrStripeImageComponent has opacity 0.5\r\n and we can't put ContainerDefaultBox inside TrailerOrStripeImageComponent because will inherit that opacity\r\n */\r\n\r\n\r\nexport const ContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n","import {GameIconDefaultBox} from './game-icon.default.box';\r\n\r\nexport const GameIconBox = GameIconDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../components/raw-components/image/image';\r\n\r\n//game-info-icon\r\nexport const GameIconDefaultBox = styled(Image)`\r\n display: block;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n`;\r\n\r\n","import {PlayButtonsDefaultBox} from './play-buttons.default.box';\r\n\r\nexport const PlayButtonsBox = PlayButtonsDefaultBox;","import styled from 'styled-components';\r\n\r\n\r\nexport const PlayButtonsDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-end;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n margin-right: 10px;\r\n margin-left: 10px;\r\n`;\r\n","import {GameIconWrapperDefaultBox} from './game-icon-wrapper.default.box';\r\n\r\nexport const GameIconWrapperBox = GameIconWrapperDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameIconWrapperDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xs} {\r\n padding-left: 15px;\r\n width: 80%;\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo, OpenGameParameters} from '../../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../../services/dialog/dialog.service.interface';\r\nimport {ContainerBox} from './boxes/container/container.box';\r\nimport {GameIconBox} from '../../../../basic-components/game-icon/game-icon.box';\r\nimport {PlayButtonsBox} from '../../../../basic-components/play-buttons/play-buttons.box';\r\nimport {GameIconWrapperBox} from '../../../../basic-components/game-icon-wrapper/game-icon-wrapper.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {Button} from '../../../../basic-ui-components/button/base/button.component';\r\n\r\nexport interface MobileDemoAndPlayComponentProps {\r\n gameInfo: GameInfo;\r\n openGameParams: OpenGameParameters;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport const GameIconAndPlayButtonsComponent = observer(\r\n class GameIconAndPlayButtonsComponent extends OrbitComponent {\r\n\r\n private _openRealGame = () => {\r\n this.props.dialogHandler.close();\r\n this.props.gameInfo.open({...this.props.openGameParams, isRealMode: true});\r\n };\r\n\r\n private _openDemoGame = () => {\r\n this.props.dialogHandler.close();\r\n this.props.gameInfo.open({...this.props.openGameParams, isRealMode: false});\r\n };\r\n\r\n private _renderDemoButton(gameInfo: GameInfo) {\r\n if (!gameInfo.allowDemoButtonInIntermediatePage) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n { this.services.translation.translate('DEMO') }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n const gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('PLAY')}\r\n \r\n
    \r\n {this._renderDemoButton(gameInfo)}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const IntermediatePageDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n background-image: url(${props => props.theme.images.texture.toString()}); \r\n ${CssRule.For.mobile.tablet.build()} & {\r\n max-width: 54rem;\r\n height: auto;\r\n }\r\n \r\n`;\r\n\r\n","import {IntermediatePageDefaultBox} from './intermediate-page.default.box';\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport styled from \"styled-components\";\r\n\r\nconst IntermediatePageSIBox = styled(IntermediatePageDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n`;\r\n\r\nexport const IntermediatePageBox = styledByTheme(IntermediatePageDefaultBox).forSI(IntermediatePageSIBox).apply();","import {StripeImageAndButtonsDefaultBox} from './stripe-image-and-buttons.default.box';\r\n\r\nexport const StripeImageAndButtonsBox = StripeImageAndButtonsDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const StripeImageAndButtonsDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 220px;\r\n margin-bottom: 0.5rem;\r\n`;","import styled from 'styled-components';\r\n/**\r\n GradientBox is placed over TrailerOrStripeImageComponent using position absolute.\r\n We do this because TrailerOrStripeImageComponent has opacity 0.5\r\n and we can't put GradientBox inside TrailerOrStripeImageComponent because will inherit that opacity\r\n */\r\nexport const GradientDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: linear-gradient(to bottom, transparent 46%, ${props => props.theme.colors.background} 100%); \r\n`;","import styled from \"styled-components\";\r\nimport {GradientDefaultBox} from \"./gradient.default.box\";\r\nimport {hexToRgba} from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const GradientCasino777Box = styled(GradientDefaultBox)`\r\n background: linear-gradient(to bottom, ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.3)}, ${props => hexToRgba(props.theme.colors.background, 0.6)});\r\n`","import {GradientDefaultBox} from './gradient.default.box';\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GradientCasino777Box} from \"./gradient.casino777.box\";\r\n\r\nexport const GradientBox = styledByTheme(GradientDefaultBox).forCasino777(GradientCasino777Box).apply();","import {WarningImageDefaultBox} from \"./warning-image.default.box\";\r\n\r\nexport const WarningImageBox = WarningImageDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const WarningImageDefaultBox = styled(Image)`\r\n margin: 10px 5px 5px 15px;\r\n`;","import {WarningTextDefaultBox} from \"./warning-text.default.box\";\r\n\r\nexport const WarningTextBox = WarningTextDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const WarningTextDefaultBox = styled.span`\r\n font-size: 1.2rem;\r\n width: calc(100% - 50px);\r\n display: inline-block;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n`;\r\n","import {WarningMessageDefaultBox} from \"./warning-message.default.box\";\r\n\r\nexport const WarningMessageBox = WarningMessageDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const WarningMessageDefaultBox = styled.div`\r\n position: relative;\r\n height: 40px;\r\n background-color: black;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {WarningImageBox} from \"./boxes/warning-image/warning-image.box\";\r\nimport {WarningTextBox} from \"./boxes/warning-text/warning-text.box\";\r\nimport {WarningMessageBox} from \"./boxes/warning-message/warning-message.box\";\r\n\r\nexport class RealMoneyOnlyWarningComponent extends OrbitComponent<{}>{\r\n render() {\r\n return(\r\n \r\n \r\n {this.services.translation.translate('REAL_MONEY_GAME')}\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo, OpenGameParameters} from '../../../services/games/game-info';\r\nimport {TitleComponent} from './title/title.component';\r\nimport {TrailerOrStripeImageComponent} from '../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../services/dialog/dialog.service.interface';\r\nimport {GameIconAndPlayButtonsComponent} from './game-icon-and-play-buttons/game-icon-and-play-buttons.component';\r\nimport {IntermediatePageBox} from './boxes/intermediate-page/intermediate-page.box';\r\nimport {StripeImageAndButtonsBox} from './boxes/stripe-image-and-buttons/stripe-image-and-buttons.box';\r\nimport {GradientBox} from './boxes/gradient/gradient.box';\r\nimport {RealMoneyOnlyWarningComponent} from \"./only-real-money-warning/only-real-money-warning.component\";\r\n\r\nexport interface OpenGameIntermediatePageComponentProps {\r\n gameInfo: GameInfo;\r\n openGameParams: OpenGameParameters;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\n\r\nexport const OpenGameIntermediatePageComponent = observer(\r\n class OpenGameIntermediatePageComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.device.isMobile,\r\n (isMobile) => {\r\n if(!isMobile) { // this is for when you switch from mobile to PC in the emulator or when you resize de browser window\r\n this.props.dialogHandler.close();\r\n }\r\n });\r\n }\r\n\r\n _renderOnlyRealMoneyWarning() {\r\n return this.props.gameInfo.allowWithdrawOnlyFromReal ? () : null;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderOnlyRealMoneyWarning()}\r\n \r\n \r\n {/*GameIconAndPlayButtonsComponent and GradientBox uses position absolute to place itself over the TrailerOrStripeImageComponent because TrailerOrStripeImageComponent box has opacity 0.5 */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n }\r\n }\r\n);","import { computed, makeObservable } from 'mobx';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {IRunningGameHandler} from './running-game-handler.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {\r\n OpenGameIntermediatePageComponent\r\n} from \"../../components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component\";\r\nimport React from \"react\";\r\nimport {GameIconAnimationState} from '../../components/single-game/common/parts/game-image/game-image.component';\r\nimport {\r\n IRunningGameControllerViewModel\r\n} from \"../game-runner/interfaces/game-controller/running-game-controller.interface\";\r\nimport {GameModeEnum} from \"../game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {IOpenFreePlayGameParams} from \"../game-runner/game-runner.service.interface\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\r\nimport {GAME_GROUP} from \"../../../common/const/game_groups_consts\";\r\nimport {NullableNumber, NullableString} from \"../../../common/types/nullable-types\";\r\nimport {GAMES_CATEGORIES} from \"./games-categories.enum\";\r\nimport {IGameInfo} from '../../../common/const/game-info.interface';\r\nimport {GAME_VOLATILITY} from '../../../sdk/src/services/games_information/games_information_service_interface';\r\nimport {\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../analytics/analytics.service.interface\";\r\nimport { GameChildishIconMode } from '../../../common/enums/game-childish-icon-mode.enum';\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\n\r\n\r\nexport interface OpenGameParameters {\r\n isRealMode: boolean;\r\n pageName?: string;\r\n listTitle?: string;\r\n listPosition?: number;\r\n AdminListID?: number;\r\n marketingParams?: MarketingParams;\r\n gameIndex?: number;\r\n aiEngine?: string;\r\n aiSortingType?: string;\r\n AIListTypeID?: number;\r\n openFromDrawer?:boolean;\r\n showIntermediatePage?: boolean;\r\n isCalledFromIntermediatePage?: boolean;\r\n animatedIconState?: GameIconAnimationState;\r\n freePlayParams?: IOpenFreePlayGameParams;\r\n skipFreePlaySuggestion?: boolean;\r\n referrerId?: NullableNumber;\r\n}\r\n\r\n\r\n\r\nexport function gameInfoComparerByTitle(game1: GameInfo, game2: GameInfo): number {\r\n if(game1.title < game2.title) {\r\n return -1\r\n } else if(game1.title > game2.title) {\r\n return 1\r\n }\r\n\r\n return 0;\r\n}\r\n\r\n\r\nexport class GameInfo {\r\n constructor(private _rawGameData: IGameInfo,\r\n private services: IServiceFactoryExtended,\r\n private _aboutText: string) {\r\n makeObservable(this);\r\n\r\n Object.defineProperty(this._rawGameData, 'allowSwitchGameMode', {\r\n get: () => this.allowSwitchGameMode,\r\n configurable: true\r\n });\r\n }\r\n\r\n private get _isMobile(): boolean {\r\n return this.services.device.isMobile;\r\n }\r\n\r\n private get _isAuthorized(): boolean {\r\n return this.services.user.isAuthorized;\r\n }\r\n\r\n get gameType(): number {\r\n return this._rawGameData.gameType;\r\n }\r\n\r\n get title(): string {\r\n return this._rawGameData.title;\r\n }\r\n\r\n get numberOfLines(): number {\r\n return this._rawGameData.numberOfLines;\r\n }\r\n\r\n\r\n get hasJackpot(): boolean {\r\n return this._rawGameData.hasJackpot || false;\r\n }\r\n\r\n get isNewGame(): boolean {\r\n return this._hasCustomFilter('new');\r\n }\r\n\r\n get isExclusiveGame(): boolean {\r\n return this._hasCustomFilter('exclusive');\r\n }\r\n\r\n private _hasCustomFilter(filterName: string): boolean {\r\n if (!filterName) {\r\n return false;\r\n }\r\n\r\n if (!Check.isArray(this._rawGameData.filtersList)) {\r\n return false;\r\n }\r\n\r\n filterName = filterName.toLowerCase();\r\n\r\n return 0 <= this._rawGameData.filtersList.findIndex(filter => filter.toLowerCase() === filterName);\r\n\r\n }\r\n\r\n get hasBonusGames(): boolean {\r\n return this._rawGameData.hasBonusGames || false;\r\n }\r\n\r\n get numberOfDecks(): number {\r\n return this._rawGameData.numberOfDecks;\r\n }\r\n\r\n get isMultiHand(): boolean {\r\n return this._rawGameData.isMultiHand || false;\r\n }\r\n\r\n get hasFreeSpins(): boolean {\r\n return this._rawGameData.hasFreeSpins || false;\r\n }\r\n\r\n get subGroupName(): string {\r\n return this._rawGameData.subGroupName;\r\n }\r\n\r\n get isEliteLounge(): boolean {\r\n return this._rawGameData.isEliteLounge || false;\r\n }\r\n\r\n get isChildish(): boolean {\r\n return this._rawGameData.isChildish || false;\r\n }\r\n\r\n get hasSideBets(): boolean {\r\n return this._rawGameData.hasSideBets || false;\r\n }\r\n\r\n get maxBetPerSpot(): number {\r\n return this._rawGameData.maxBetPerSpot;\r\n }\r\n\r\n get allowWithdrawOnlyFromReal(): boolean {\r\n return this._rawGameData.allowWithdrawOnlyFromReal;\r\n }\r\n\r\n get hasLowStakes(): boolean {\r\n return this._hasCustomFilter('lowStakes');\r\n }\r\n\r\n get hasHighStakes(): boolean {\r\n return this._hasCustomFilter('highStakes');\r\n }\r\n\r\n get ClassicSlots(): boolean {\r\n return this._rawGameData.ClassicSlots;\r\n }\r\n\r\n get allowMinMaxBet(): boolean {\r\n let isAllowedCategory = this.isCardOrTableGame || this.isLiveCasino;\r\n\r\n return !this.hasJackpot && isAllowedCategory;\r\n }\r\n\r\n\r\n @computed\r\n get allowHoverDetails(): boolean {\r\n\r\n if (this.gameGroup === 'Live Casino') {\r\n return false;\r\n }\r\n\r\n return !this._isAuthorized || this._rawGameData.forceDemoButton;\r\n }\r\n\r\n get allowTap(): boolean {\r\n return this._isMobile;\r\n }\r\n\r\n\r\n get hasInfoPage(): boolean {\r\n if (this.infoPageURL) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowDemoButtonInSingleGame(): boolean {\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n\r\n if (this._isMobile) {\r\n return false;\r\n }\r\n\r\n\r\n return (this._rawGameData.demoSettings\r\n && this._rawGameData.demoSettings.demoCTAAnonymous\r\n && this._rawGameData.demoSettings.demoCTAAnonymous.pc);\r\n }\r\n\r\n\r\n @computed\r\n get allowDemoButtonInIntermediatePage(): boolean {\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n if (this.services.user.isAuthorized) {\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAuthorized && this._rawGameData.demoSettings.demoCTAAuthorized.mobile;\r\n }\r\n\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAnonymous && this._rawGameData.demoSettings.demoCTAAnonymous.mobile;\r\n }\r\n\r\n get infoPageURL(): string {\r\n\r\n if (!this._rawGameData.infoPageURL) {\r\n return '';\r\n }\r\n\r\n if (!this.services.siteMap.isUrlInSiteMap(this._rawGameData.infoPageURL)) {\r\n this.services.logger.debug(`Page info '${this._rawGameData.infoPageURL}' for game ${this.gameType} - ${this.title} is not in the site map`);\r\n return '';\r\n }\r\n\r\n return this._rawGameData.infoPageURL\r\n }\r\n\r\n //Can be either a live stream URL or a static video URL.\r\n get videoURL(): string {\r\n if (!this._rawGameData.videoURL) {\r\n return '';\r\n }\r\n\r\n return this._rawGameData.videoURL;\r\n }\r\n\r\n get hasVideoURL(): boolean {\r\n return Boolean(this.videoURL);\r\n }\r\n\r\n get gameGroup(): string {\r\n return this._rawGameData.gameGroup;\r\n }\r\n\r\n get gameGroupId(): GAME_GROUP {\r\n return this._rawGameData.gameGroupId;\r\n }\r\n\r\n get gameCategory(): string {\r\n if(this.isVideoSlot || this.isScratchCards) {\r\n return GAMES_CATEGORIES.SLOTS;\r\n }\r\n\r\n if(this.isLiveCasino) {\r\n return GAMES_CATEGORIES.LIVE;\r\n }\r\n\r\n if(this.isCardOrTableGame) {\r\n return GAMES_CATEGORIES.CARD_AND_TABLE;\r\n }\r\n\r\n return '';\r\n\r\n }\r\n\r\n get gameCategoryClassName(): string {\r\n return 'game-category-' + this.gameCategory;\r\n }\r\n\r\n get companyName(): string {\r\n return this._rawGameData.companyName;\r\n }\r\n\r\n get vendorId(): number {\r\n return this._rawGameData.vendorId;\r\n }\r\n\r\n get vendorName(): string {\r\n return this._rawGameData.vendorName;\r\n }\r\n\r\n private _getDefaultGameImage(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (opts.animatedIcon) {\r\n return (images.animated_square) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_square)) : '';\r\n }\r\n return this._getResolvedGameImagePath(images.hybrid_icon);\r\n }\r\n\r\n if (opts.animatedIcon) {\r\n return (images.animated_round) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_round)) : '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n private _shouldUseLessNonChildishIcon(gameChildishMode: GameChildishIconMode): boolean {\r\n return (gameChildishMode === GameChildishIconMode.UseLessNonChildishIcon || gameChildishMode === GameChildishIconMode.PreferLessNonChildishIcon)\r\n }\r\n\r\n private _getImageForChildishGame(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n const gameChildishMode = this.services.regulation.current.getChildishIconMode();\r\n if (gameChildishMode === GameChildishIconMode.UseDefaultIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (images.hybrid_less_non_childish_icon && this._shouldUseLessNonChildishIcon(gameChildishMode)) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.hybrid_less_non_childish_icon);\r\n }\r\n else if (images.hybrid_non_childish_icon) {\r\n /* we are happy with the - hybrid_non_childish_icon - for UseLessNonChildishIcon or UseNonChildishIcon MODE */\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.hybrid_non_childish_icon);\r\n }\r\n else if (gameChildishMode === GameChildishIconMode.PreferNonChildishIcon || gameChildishMode === GameChildishIconMode.PreferLessNonChildishIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n /* Handling scenario of mode: UseNonChildishIcon / UseLessNonChildishIcon, having - non_childish_icon / less_non_childish_icon - (game is not restricted) but missing hybrid_non_childish_icon / hybrid_less_non_childish_icon */\r\n return opts.animatedIcon ? '' : this.getGameImagePlaceHolderUrl(opts.squareIcon);\r\n }\r\n }\r\n else {\r\n if (images.less_non_childish_icon && this._shouldUseLessNonChildishIcon(gameChildishMode)) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.less_non_childish_icon);\r\n }\r\n else if (images.non_childish_icon) {\r\n /* we are happy with the - non_childish_icon - for UseLessNonChildishIcon or UseNonChildishIcon MODE */\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.non_childish_icon);\r\n }\r\n else {\r\n /* game is Childish & does not have - non_childish_icon or less_non_childish_icon - & is not restricted, it means we just PreferNonChildishIcon and we are happy with default icon*/\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n }\r\n }\r\n\r\n getGameImage(options?: {squareIcon?: boolean; animatedIcon?: boolean;}): string {\r\n let opts = {\r\n squareIcon: options?.squareIcon || false,\r\n animatedIcon: options?.animatedIcon || false,\r\n }\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if(this.isChildish){\r\n return this._getImageForChildishGame(opts);\r\n }\r\n else {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n\r\n getBackgroundImage(): string {\r\n let background = this._rawGameData?.images?.background;\r\n if (!background) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(background);\r\n }\r\n\r\n private getAnimatedJsonUrl(pngImagePath: string) {\r\n if (!pngImagePath.endsWith('.png')) {\r\n this.services.logger.error(\"Animated icon path does not end in '.png': \" + pngImagePath);\r\n return '';\r\n }\r\n // we don't expect for substring '.png' to exist in other place than the end of the string, so we do a simple replace\r\n return pngImagePath.replace('.png', '.json');\r\n }\r\n\r\n getAnimatedImageTimings() {\r\n const animatedImageTimings = this._rawGameData && this._rawGameData.animatedImageTimings\r\n return {\r\n delay: animatedImageTimings?.delay || 2000,\r\n interval: animatedImageTimings?.interval || 3000,\r\n }\r\n }\r\n\r\n get gameImageInsideIntermediatePage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n get gameImageInHistoryPage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n let image: string = images.icon;\r\n if (this.services.theme.shouldUseSquareIcons && images.hybrid_icon) {\r\n image = images.hybrid_icon;\r\n }\r\n\r\n return this._getResolvedGameImagePath(image);\r\n }\r\n\r\n get badge(): string | null {\r\n return this._rawGameData.badge;\r\n }\r\n\r\n get videoThumbnailUrl(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.video_thumbnail);\r\n }\r\n\r\n @computed\r\n get badgeUrl(): string | null {\r\n if (this.badge) {\r\n return this.services.configuration.data.generalSettings.gamesSettings.gameBadgePath + this.badge + '.png';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get minBet(): number {\r\n return this._rawGameData.minBet;\r\n }\r\n\r\n get maxBet(): number {\r\n return this._rawGameData.maxBet;\r\n }\r\n\r\n get maxBetPerBrand(): number {\r\n return this._rawGameData.maxBetPerBrand;\r\n }\r\n\r\n getGameImagePlaceHolderUrl(useSquareIcon?: boolean): string {\r\n if (useSquareIcon) {\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolderSq.toString();\r\n }\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n getImageSeoAlt() {\r\n\r\n let seoValue = this.services.configuration.data?.seo?.games?.images?.alt;\r\n\r\n return this.services.translation.translate(seoValue, {\r\n gameName: this.title,\r\n categoryName: this.gameCategory\r\n });\r\n };\r\n\r\n private _getResolvedGameImagePath(imagePath: string): string {\r\n return this.services.configuration.resolveGameImagePath(imagePath);\r\n }\r\n\r\n @computed\r\n get stripImage(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._isMobile ? this._getResolvedGameImagePath(images.strip_mobile) :\r\n this._getResolvedGameImagePath(images.strip_pc);\r\n }\r\n\r\n @computed\r\n get stripeImageFallback(): string {\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let previewDefaultImage = generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesPreviewDefaultImages;\r\n\r\n if (previewDefaultImage && this.gameCategory) {\r\n //Replace the game category dash to under score (like the image name for example card-and-table category name should be default_game_strip_card_and_table)\r\n let gameCategoryWithUnderScores = this.gameCategory.replace(/-/g, '_');\r\n previewDefaultImage = previewDefaultImage.replace(/{arena-category}/g, gameCategoryWithUnderScores);\r\n //Add _mobile if we are in mobile\r\n\r\n if (this.services.device.isMobile) {\r\n return previewDefaultImage.replace('.png', '_mobile.png');\r\n }\r\n\r\n return previewDefaultImage;\r\n }\r\n\r\n return ''\r\n }\r\n\r\n get hasVideoTrailer(): boolean {\r\n return this.gameType === 130136;\r\n }\r\n\r\n get aboutText(): string {\r\n return this._aboutText;\r\n }\r\n\r\n get multiplayer(): number {\r\n return this._rawGameData.multiplayer;\r\n }\r\n\r\n get isClassicSlot(): boolean {\r\n return this._hasCustomFilter('ClassicSlots');\r\n }\r\n\r\n get hasHighVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.High;\r\n }\r\n\r\n get hasLowVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Low;\r\n }\r\n\r\n get hasMediumVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Medium;\r\n }\r\n\r\n get hasDailyJackpot(): boolean {\r\n return this._hasCustomFilter('DailyJackpot');\r\n }\r\n\r\n get hasTwilightJackpot(): boolean {\r\n return this._hasCustomFilter('TwilightJackpot');\r\n }\r\n\r\n get hasCaptain8tJackpot(): boolean {\r\n return this._hasCustomFilter('Captain8Jackpot');\r\n }\r\n\r\n get hasRedTigerJackpot(): boolean {\r\n return this._hasCustomFilter('RedTigerJackpot');\r\n }\r\n\r\n @computed\r\n get shouldShowIntermediatePage(): boolean {\r\n if (!this._isMobile) {\r\n return false;\r\n }\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this.isLiveCasino) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (this._isAuthorized) {\r\n if (demoSettings?.intermediatePageAuthorized?.mobile) {\r\n return true;\r\n }\r\n } else {\r\n if (demoSettings?.intermediatePageAnonymous?.mobile) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isDemoModeSupported(): boolean {\r\n return Boolean(this._rawGameData.isAnonymousSupported);\r\n }\r\n\r\n @computed\r\n get allowSwitchGameMode(): boolean {\r\n\r\n if(!this.isDemoModeSupported) {\r\n return false;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (!demoSettings) {\r\n return false;\r\n }\r\n\r\n if (this._isAuthorized) {\r\n return Boolean(demoSettings?.demoCTAAuthorized?.pc);\r\n } else {\r\n return Boolean(demoSettings?.demoCTAAnonymous?.pc);\r\n }\r\n }\r\n\r\n async open(params: OpenGameParameters): Promise {\r\n\r\n if(this._showIntermediatePage(params)) {\r\n return;\r\n }\r\n\r\n if (this._shouldRedirectToMembership(params)) {\r\n this._openMembership();\r\n return {\r\n closeGame: () => {\r\n }\r\n };\r\n }\r\n\r\n this._sendOpenGameAnalytics(params);\r\n\r\n let gameController: IRunningGameControllerViewModel | null = null;\r\n if (params.isRealMode) {\r\n if(params.marketingParams) {\r\n this.services.sdk.eventsTrigger.updateMarketingParams(params.marketingParams);\r\n }\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Real,\r\n gameInfo: this,\r\n freePlayParams: params.freePlayParams,\r\n skipFreePlaySuggestion: params.skipFreePlaySuggestion,\r\n referrerId: params.referrerId\r\n });\r\n } else {\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Demo,\r\n gameInfo: this\r\n });\r\n }\r\n\r\n return {\r\n closeGame: async () => {\r\n await gameController?.closeGame({\r\n shouldSuggestNextGame: false\r\n })\r\n }\r\n }\r\n\r\n }\r\n\r\n private _shouldRedirectToMembership(params: OpenGameParameters): boolean {\r\n return params.isRealMode && params.isCalledFromIntermediatePage\r\n && !this.services.user.isAuthorized\r\n && (this.services.cmsSegmentation.isCstatus === false);\r\n }\r\n\r\n\r\n //TODO - this should return a Promise\r\n private _showIntermediatePage(params: OpenGameParameters): boolean {\r\n if (this.shouldShowIntermediatePage && params.showIntermediatePage) {\r\n const dialogContentRenderer = ((dialogHandler) => );\r\n this.services.dialog.showModal(dialogContentRenderer, {hideCloseButton: true});\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private _openMembership() {\r\n this.services.analytics.sendOrbitMarketingEvent(OrbitMarketingEventAnalyticsCategory.Conversion, 'Play', OrbitMarketingEventAnalyticsLabel.PreGamePopUp);\r\n this.services.externalLinks.openMembership({\r\n channel: {\r\n area: AreaType.InGame,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.registerButton\r\n },\r\n marketingParams: {\r\n dl: \"20614\"\r\n }\r\n });\r\n }\r\n\r\n private _sendOpenGameAnalytics(params: OpenGameParameters): void {\r\n if (!params.pageName || !params.listTitle) {\r\n return;\r\n }\r\n const listTitle = this._replaceUnderscore(params.listTitle);\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: params.pageName, action: 'game_click', label: listTitle, value: this.gameType.toString(), customData: params}, true);\r\n }\r\n\r\n\r\n isAllWordsMatch(words: RegExp[]) {\r\n let text = this.title + ' ' + this.vendorName;\r\n for (let index = 0; index < words.length; index++) {\r\n if (!text.match(words[index])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n get gameArenaIcon(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.arena_icon);\r\n }\r\n\r\n /**\r\n * @description BI/BA request not to send the underscore as part of the list title since they split by underscore to get all the data on the label\r\n * @param listTitle\r\n * @private\r\n */\r\n private _replaceUnderscore(listTitle): string {\r\n return listTitle.replace(/_/g, '-');\r\n }\r\n\r\n get restriction(): IGameRestriction {\r\n\r\n if(this._rawGameData.restriction) {\r\n return this._rawGameData.restriction as IGameRestriction;\r\n }\r\n\r\n return this.services.restrictions.getGameRestriction(this);\r\n }\r\n\r\n get isVideoSlot(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_SLOT\r\n || this.gameGroupId === GAME_GROUP.SLOT\r\n }\r\n\r\n //same as isCardOrTableGame() besides ARCADE, PAI_GOW_POKER, ROULETTE_LIKE\r\n get isCasinoGame() {\r\n const casinoGamesGroups = [\r\n GAME_GROUP.BACCARAT,\r\n GAME_GROUP.BLACKJACK,\r\n GAME_GROUP.CARRIBEAN_POKER,\r\n GAME_GROUP.CRAPS,\r\n GAME_GROUP.KENO,\r\n GAME_GROUP.POKER,\r\n GAME_GROUP.POKER_TEMPLATE_GAMES,\r\n GAME_GROUP.ROULETTE,\r\n GAME_GROUP.SCRATCH_CARD,\r\n GAME_GROUP.VIDEO_POKER\r\n ];\r\n\r\n return casinoGamesGroups.includes(this.gameGroupId);\r\n }\r\n\r\n get isVideoPoker(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_POKER;\r\n }\r\n\r\n get isScratchCards(): boolean {\r\n return this.gameGroupId === GAME_GROUP.SCRATCH_CARD;\r\n }\r\n\r\n get isBlackJack(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BLACKJACK;\r\n }\r\n\r\n get isRoulette(): boolean {\r\n return this.gameGroupId === GAME_GROUP.ROULETTE;\r\n }\r\n\r\n get isLiveCasino(): boolean {\r\n return this.gameGroupId === GAME_GROUP.LIVE_CASINO;\r\n }\r\n\r\n get isBaccarat(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BACCARAT;\r\n }\r\n\r\n\r\n get isCardOrTableGame(): boolean {\r\n\r\n return this.isBlackJack\r\n || this.isRoulette\r\n || this.isBaccarat\r\n || this.isVideoPoker\r\n || this.gameGroupId === GAME_GROUP.CRAPS\r\n || this.gameGroupId === GAME_GROUP.KENO\r\n || this.gameGroupId === GAME_GROUP.CARRIBEAN_POKER\r\n || this.gameGroupId === GAME_GROUP.POKER_TEMPLATE_GAMES\r\n || this.gameGroupId === GAME_GROUP.ROULETTE_LIKE\r\n || this.gameGroupId === GAME_GROUP.ARCADE\r\n || this.gameGroupId === GAME_GROUP.POWER_VIDEO_POKER\r\n || this.gameGroupId === GAME_GROUP.PAI_GOW_POKER\r\n || this.gameGroupId === GAME_GROUP.CRAZY_BLACKJACK\r\n }\r\n\r\n get externalGameCode(): NullableString {\r\n return this._rawGameData.externalGameCode;\r\n }\r\n\r\n get themeIds(): number[] {\r\n return this._rawGameData.gameThemes ?? [];\r\n }\r\n\r\n get volatility(): GAME_VOLATILITY {\r\n return this._rawGameData.volatility;\r\n }\r\n}\r\n","import {AdminArenaConfiguration} from \"../../app-bootstrap/config-interfaces/casino-startup.configurations\";\r\nimport {createStatementsDefinition} from './create-statements-definition';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nenum List_Type {\r\n Swipers = \"swipers\",\r\n Grids = \"grids\",\r\n PopularTables = \"popularTables\"\r\n}\r\n\r\nexport function injectAdminArenas(\r\n originalConfigData: any,\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration}\r\n): void {\r\n\r\n if (originalConfigData.homePage) {\r\n originalConfigData.homePage.gamesLists = getAdminArenaLists(\r\n adminArenaConfigData,\r\n HOME_PAGE_ARENA,\r\n List_Type.Swipers\r\n );\r\n }\r\n\r\n if (originalConfigData.arenas) {\r\n Object.keys(originalConfigData.arenas).forEach(arenaKey => {\r\n\r\n if (arenaKey === LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].popularTables = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.PopularTables\r\n );\r\n } else if (arenaKey === NEW_LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n else {\r\n originalConfigData.arenas[arenaKey].swiperGamesList = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Swipers\r\n );\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n\r\n });\r\n }\r\n}\r\n\r\n\r\nfunction getAdminArenaLists(\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration},\r\n arenaKey: string,\r\n listType: string\r\n) {\r\n let adminLists: unknown[] = [];\r\n if (adminArenaConfigData[arenaKey] && adminArenaConfigData[arenaKey].lists[listType]) {\r\n adminArenaConfigData[arenaKey].lists[listType].forEach(list => {\r\n let currentList = list.Metadata ?? {};\r\n\r\n currentList.display = Check.isNullOrUndefined(currentList.display) ? true : currentList.display;\r\n\r\n let segmentation = createStatementsDefinition(list.SubLists);\r\n currentList.gamesId = {};\r\n currentList.gamesId.defaultValue = segmentation.defaultValue;\r\n currentList.gamesId.statements = segmentation.statements;\r\n\r\n adminLists.push(currentList);\r\n });\r\n }\r\n\r\n return adminLists;\r\n}\r\n","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\nimport {GamesOpenSessionsKind} from \"./games-open-sessions-kind.enum\";\r\n\r\nconst AUTOLOGIN_QUERY_PARAM = 'UserInfo';\r\n\r\nexport class UserService extends ServiceBase implements IUserService {\r\n\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.waitForAutoLogin();\r\n this._updateUserData({});\r\n this.services.sdk.events.onOAuthStateChanged(this._updateUserData);\r\n }\r\n\r\n @observable.ref\r\n isAuthorized: boolean = false;\r\n @observable.ref\r\n logoutReason: number = null;\r\n\r\n\r\n @observable.ref\r\n private _userData: UserData = {};\r\n\r\n @action.bound\r\n private _updateUserData(params: OnOauthStateChangedParams) {\r\n\r\n params = params || {};\r\n\r\n this.isAuthorized = this.services.sdk.isAuthorized;\r\n\r\n if (Check.isNullOrUndefined(params.logoutReason)) {\r\n this.logoutReason = null;\r\n } else {\r\n this.logoutReason = params.logoutReason;\r\n }\r\n\r\n const userData = (this.services.sdk.userData || {}) as UserData;\r\n\r\n if (!this.isAuthorized) {\r\n const playerStatus = this.services.localStorage.getItem('playerStatus');\r\n this.services.window.scrollTo(0, 0);\r\n this._userData = {...userData, statusGroupId: (playerStatus ? parseInt(playerStatus) : undefined)};\r\n } else {\r\n this._userData = userData;\r\n this.services.localStorage.setItem('playerStatus', userData.statusGroupId);\r\n\r\n this._checkForFaultyCStatus();\r\n }\r\n\r\n this._updateSegments();\r\n }\r\n\r\n // REQUIREMENT 1627624 - check if cStatus if false but user is logged in or FTD\r\n private _checkForFaultyCStatus() {\r\n const cStatus = this.services.cmsSegmentation.isCstatus;\r\n\r\n //cStatus is CMS segmentation indicates if the user is registered or FDL\r\n if (this.isAuthorized && cStatus === false) {\r\n //this.services.analytics.sendAnalytics(\"ERROR\", \"LOGGED_IN_CSTATUS_FALSE\", this.userData.cid);\r\n console.log('_checkForFaultyCStatus: ' + cStatus);\r\n }\r\n }\r\n\r\n @action.bound\r\n private _updateSegments() {\r\n this.segments = {\r\n IsAuthorized: this.isAuthorized,\r\n statusGroupId: this._userData.statusGroupId || 0,\r\n IsVIP: this._userData.IsVIP || false,\r\n GenderId: this._userData.GenderId || null,\r\n DaysSinceRegistration: this.daysSinceRegistration,\r\n RegistrationCountry: this.registrationCountry?.toLowerCase()\r\n }\r\n }\r\n\r\n @observable.ref\r\n segments = {};\r\n\r\n\r\n get hasActiveChallenges(): boolean {\r\n return this.services.sdk.activeChallengeCount > 0;\r\n }\r\n\r\n\r\n get name(): string {\r\n return this._userData.userName || '';\r\n }\r\n\r\n\r\n get cid(): string {\r\n return this._userData.cid || '';\r\n }\r\n\r\n get registrationCountry(): string {\r\n return this._userData.registrationCountry;\r\n }\r\n\r\n get joinDate(): string {\r\n return this._userData.joinDate;\r\n }\r\n\r\n get lastLogin(): NullableString {\r\n try {\r\n if (Check.isNullOrUndefined(this._userData.lastLogin) &&\r\n Check.isNullOrUndefined(this._userData.lastLoginDateInTimeZone)) {\r\n return null\r\n } else { \r\n return this.services.time.getTimeFormatToRegulationService(this._userData.lastLogin, this._userData.lastLoginDateInTimeZone);\r\n }\r\n } catch (err) {\r\n this.services.logger.error('Failed to parse last login', err);\r\n return null;\r\n }\r\n\r\n }\r\n\r\n get userData() {\r\n return this._userData;\r\n }\r\n\r\n get isVip(): boolean {\r\n return (this._userData.statusGroupId > 0 && this._userData.statusGroupId !== 4);\r\n }\r\n\r\n get timeSinceRegistration(): TimeSpan {\r\n if (!this._userData)\r\n return null;\r\n if (!this._userData.timeSinceRegistration)\r\n return null;\r\n return TimeSpan.parse(this._userData.timeSinceRegistration);\r\n }\r\n\r\n get daysSinceRegistration(): number {\r\n if (this.timeSinceRegistration)\r\n return this.timeSinceRegistration.totalDays;\r\n\r\n return Infinity;\r\n }\r\n\r\n get playerRMSStatus(): number {\r\n return this._userData.playerRMStatus;\r\n }\r\n\r\n get countryName(): string {\r\n return this.services.sdk.getCountryName();\r\n }\r\n\r\n getAutoLoginToken(): Promise {\r\n return this.services.sdk.getAutoLoginToken().then(data => data.token);\r\n }\r\n\r\n getPlatformToken(): Promise {\r\n return this.services.sdk.getPlatformToken();\r\n }\r\n\r\n getFirebaseToken(): string {\r\n return this.services.sdk.getFirebaseToken();\r\n }\r\n\r\n async openLogin(marketingParams?: MarketingParams): Promise {\r\n await this.services.sdk.openLoginForm(marketingParams);\r\n }\r\n\r\n isDocUploadRequired(): boolean {\r\n return this.services.sdk.getAccountData()?.IsDocUploadRequired;\r\n }\r\n\r\n logout(): Promise {\r\n return this.services.sdk.logout();\r\n }\r\n\r\n get genderTitle(): string {\r\n switch (this._userData.GenderId) {\r\n case 1:\r\n return 'MR_TITLE';\r\n case 2:\r\n return 'MRS_TITLE';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n\r\n private _isInAutoLogin(): boolean {\r\n return this.services.sdk.isInAutologin();\r\n }\r\n\r\n waitForAutoLogin(): Promise {\r\n\r\n if (!this._isInAutoLogin()) {\r\n return Promise.resolve();\r\n }\r\n\r\n\r\n return this.services.sdk.waitForAutologin()\r\n .then(() => {\r\n return this._removeAutoLoginTokenFromUrl()\r\n .catch((err) => {\r\n this.services.logger.error('Remove auto login token from URL failed!', err);\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n async ensureUserIsLoggedIn(initiator: string): Promise {\r\n await this.waitForAutoLogin();\r\n\r\n if (!this.isAuthorized) {\r\n try {\r\n await this.openLogin();\r\n } catch (err) {\r\n this.services.logger.debug(initiator + \" - login cancelled or failed.\", err);\r\n }\r\n }\r\n return this.isAuthorized;\r\n }\r\n\r\n\r\n private _removeAutoLoginTokenFromUrl(): Promise {\r\n let paramToBeRemoved: string = AUTOLOGIN_QUERY_PARAM;\r\n const currentUri = this.services.location.currentUri;\r\n if (currentUri.queryParams.hasParam(MIGRATION.MIGRATION_TOKEN_QUERY_PARAM)\r\n && currentUri.queryParams.getParamValue(MIGRATION.MIGRATION_SOURCE_QUERY_PARAM)?.toLowerCase() === MIGRATION.MIGRATION_SOURCE_QUERY_PARAM_VALUE) {\r\n paramToBeRemoved = MIGRATION.MIGRATION_TOKEN_QUERY_PARAM;\r\n }\r\n const urlWithoutToken = currentUri.removeSearchParam(paramToBeRemoved).toString();\r\n return this.services.location.replace(urlWithoutToken);\r\n }\r\n\r\n\r\n runAutoLogin(autoLoginParams: IAutoLoginParams): Promise {\r\n return this.services.sdk.runAutoLogin(autoLoginParams);\r\n }\r\n\r\n panicRestrictUser(): Promise {\r\n const offset = this.services.time.getTimezoneOffset();\r\n\r\n return this.services.api.userController.selfExclusionPanic({\r\n timezoneOffset: offset,\r\n productPackage: this.services.sdk.getProductPackageId()\r\n }).then(() => {\r\n this.logout();\r\n }).catch((err) => {\r\n this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(\"PANIC SELF EXCLUSION\")\r\n .addAction(\"SelfExclusion fails\")\r\n .addValue(JSON.stringify(err))\r\n .error();\r\n this.logout();\r\n this.services.logger.error('Self Exclusion Panic Failed.', err);\r\n });\r\n }\r\n\r\n get loginIP(): string | null {\r\n return this.services.sdk.tokenInfo?.loginIP;\r\n }\r\n\r\n async getOpenSessionsRealMoneyBalance(): Promise {\r\n if (!this.isAuthorized) {\r\n return 0;\r\n }\r\n\r\n\r\n const openSessions = await this.services.api.openSessionsController.getOpenSessions({\r\n openSessionsKind: GamesOpenSessionsKind.Real\r\n });\r\n\r\n return openSessions.sessionDetails.sum(s => s.Credit);\r\n\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.services.gnwp.getTempAccountGnwpSource();\r\n }\r\n\r\n}\r\n","import {ServiceBase} from \"../ServiceBase\";\r\nimport {IBrowserButtonsHandlerService} from \"./broswer-buttons-handler.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\nexport class BrowserButtonsHandlerService extends ServiceBase implements IBrowserButtonsHandlerService {\r\n\r\n private pushedFakeHistoryState: boolean = false;\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n this._subscribe();\r\n }\r\n\r\n private _subscribe() {\r\n // this._handleSideMenusCloseOnBackButtonClick();\r\n }\r\n\r\n private _handleSideMenusCloseOnBackButtonClick() {\r\n\r\n this.reaction(() => ({\r\n isMobileSideMenuOpen: this.services.sideMenu.isMobileMenuOpen,\r\n isUserAreaMenuOpen: this.services.userMenu.isOpen,\r\n }),\r\n ({isMobileSideMenuOpen, isUserAreaMenuOpen}) => {\r\n if(!this.pushedFakeHistoryState && (isMobileSideMenuOpen || isUserAreaMenuOpen)){\r\n this.services.location.pushWithoutValidation(this.services.window.pathname);\r\n this.pushedFakeHistoryState = true;\r\n }else if(this.pushedFakeHistoryState && !isMobileSideMenuOpen && !isUserAreaMenuOpen){\r\n this.services.location.goBack();\r\n }\r\n });\r\n\r\n this._onBackButtonClicked(() => {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n });\r\n }\r\n\r\n private _onBackButtonClicked(callback){\r\n const _callback = (e) => {\r\n this.pushedFakeHistoryState = false;\r\n callback(e);\r\n }\r\n\r\n if(Device.hybrid.inCasino){\r\n return this.services.window.subscribeTo.hardwareBackButton(_callback);\r\n }\r\n\r\n return this.services.window.subscribeTo.popstate(_callback);\r\n }\r\n}","import {ISegmentationAggregatorService} from './segmentation-aggregator.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {mediaQueries} from \"../media-query/media-queries\";\r\nimport {IMediaQueries} from '../media-query/media-queries.interface';\r\n\r\nexport class SegmentationAggregatorService extends ServiceBase implements ISegmentationAggregatorService {\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => {\r\n return {\r\n userSegments: this.services.user.segments,\r\n cmsSegments: this.services.cmsSegmentation.segments,\r\n deviceSegments: this.services.device.segments,\r\n isMobile: this.services.device.isMobile,\r\n mediaQueryChange: this.services.mediaQuery.lastMediaChange,\r\n isMiniOrbit: this.services.miniOrbit.isEnabled,\r\n isPWAInstallable: this.services.progressiveWebApp.isPWAInstallable\r\n }\r\n },\r\n () => {\r\n this._updateSegments();\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _updateSegments() {\r\n this._setAllSegments({\r\n ...this.services.cmsSegmentation.segments,\r\n ...this.services.user.segments,\r\n ...this.services.device.segments,\r\n ...this._getMediaQuerySegments,\r\n ...this._extraSegments});\r\n }\r\n\r\n @observable.ref\r\n private _allSegments: Record = {};\r\n\r\n @observable.ref\r\n segmentsLastUpdate: number = null;\r\n\r\n\r\n @action.bound\r\n private _setAllSegments(allSegments) {\r\n this._allSegments = allSegments;\r\n this.segmentsLastUpdate = Date.now();\r\n }\r\n\r\n getSegmentValue(name: string): any {\r\n let segmentValue = this._allSegments[name];\r\n\r\n if(Check.isUndefined(segmentValue)) {\r\n this.services.logger.debug(`Segment ${name} doesn't exists in the segments list!`);\r\n }\r\n\r\n return segmentValue;\r\n }\r\n\r\n private get _getMediaQuerySegments() {\r\n const tempRecords = {};\r\n (Object.keys(mediaQueries) as (keyof IMediaQueries)[]).forEach(mediaQueryName => {\r\n tempRecords[mediaQueryName] = this.services.mediaQuery[mediaQueryName];\r\n });\r\n return tempRecords;\r\n }\r\n\r\n private get _extraSegments() {\r\n return {\r\n env: this.services.configuration.startupConfiguration.sdk.config.ExtraProperties.env,\r\n countryCode: this.services.configuration.startupConfiguration.country,\r\n brandID: this.services.sdk.getBrandID(),\r\n subBrandID: this.services.sdk.getSubBrandID(),\r\n regulationID: this.services.regulation.getRegulationCode(),\r\n iso3: this.services.language.currentLanguage,\r\n langCode: this.services.language.currentLanguage,\r\n isMiniOrbit: this.services.miniOrbit.isEnabled,\r\n isPWAInstallable: this.services.progressiveWebApp.isPWAInstallable\r\n };\r\n }\r\n\r\n get isCIS(): boolean {\r\n return Boolean(this.getSegmentValue('_IsCIS'));\r\n }\r\n\r\n get isCIP(): boolean {\r\n return Boolean(this.getSegmentValue('_IsCIP'));\r\n }\r\n\r\n}\r\n","import { IClientDeviceFeatures } from \"./client-device.features.interface\";\r\n\r\nexport class ClientDeviceFeatures implements IClientDeviceFeatures {\r\n}\r\n","import { action, observable, makeObservable } from \"mobx\";\r\nimport { IClientDeviceDetected } from \"./client-device.detected.interface\";\r\n\r\nexport class ClientDeviceDetected implements IClientDeviceDetected {\r\n @observable\r\n public clientHintsAvailable = false;\r\n @observable\r\n public model = \"\";\r\n @observable\r\n public architecture = \"\";\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public platform = \"\";\r\n @observable\r\n public platformVersion = \"\";\r\n @observable\r\n public bitness = \"\";\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public mobile = undefined;\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public brands = [];\r\n @observable\r\n public uaFullVersion = \"\";\r\n\r\n constructor() {\r\n makeObservable(this);\r\n\r\n this.buildInfo();\r\n }\r\n\r\n private get navigator() {\r\n return (window.navigator as any);\r\n }\r\n\r\n @action.bound\r\n private buildInfo() {\r\n if (this.navigator.userAgentData) {\r\n this.clientHintsAvailable = true;\r\n this.platform = this.navigator.userAgentData.platform;\r\n this.mobile = this.navigator.userAgentData.mobile;\r\n this.brands = this.navigator.userAgentData.brands;\r\n /* https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUAData/getHighEntropyValues */\r\n this.navigator.userAgentData.getHighEntropyValues([\r\n \"model\", \"architecture\", \"platform\", \"platformVersion\", \"bitness\", \"uaFullVersion\"\r\n ]).then(this.setAsyncdData);\r\n }\r\n }\r\n\r\n @action.bound\r\n private setAsyncdData = (data) => {\r\n this.platform = data.platform;\r\n this.platformVersion = data.platformVersion;\r\n this.mobile = data.mobile;\r\n\r\n this.model = data.model;\r\n this.uaFullVersion = data.uaFullVersion;\r\n this.architecture = data.architecture;\r\n this.bitness = data.bitness;\r\n };\r\n\r\n}\r\n","import { ServiceBase } from '../ServiceBase';\r\nimport { IClientDeviceService } from './client-device.service.interface';\r\nimport { IServiceFactoryExtended } from '../service-factory-extended.interface';\r\nimport { IClientDeviceDetected } from './detected/client-device.detected.interface';\r\nimport { IClientDeviceFeatures } from './features/client-device.features.interface';\r\nimport { ClientDeviceFeatures } from './features/client-device.features';\r\nimport { ClientDeviceDetected } from './detected/client-device.detected';\r\n\r\nexport class ClientDeviceService extends ServiceBase implements IClientDeviceService {\r\n public features: IClientDeviceFeatures;\r\n public detected: IClientDeviceDetected;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n this.features = new ClientDeviceFeatures();\r\n this.detected = new ClientDeviceDetected();\r\n }\r\n\r\n get clientVersion() {\r\n return this.services.sdk.getSkin().getVersion();\r\n }\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IDeviceService} from './device.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {DeviceInfo} from '../sdk/cgp-sdk.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\nexport class DeviceService extends ServiceBase implements IDeviceService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._updateDeviceType();\r\n this.services.dom.subscribeTo.devicechanged(this._updateDeviceType);\r\n }\r\n\r\n private get _sdkDevice(): DeviceInfo {\r\n return this.services.sdk.device;\r\n }\r\n\r\n @action.bound\r\n private _updateDeviceType() {\r\n this.isMobile = this._sdkDevice.isMobile();\r\n this.isTablet = this._sdkDevice.isTablet();\r\n\r\n this.os = this._sdkDevice.os;\r\n this.browser = this._sdkDevice.browser;\r\n this.hybrid = this._sdkDevice.hybrid;\r\n this.feature = this._sdkDevice.feature;\r\n this.model = this._sdkDevice.model;\r\n this.isProgressiveWebApp = this._sdkDevice.isProgressiveWebApp;\r\n\r\n this.isStandalone = this._sdkDevice.isStandalone;\r\n\r\n this.segments = {\r\n isMobile: this.isMobile,\r\n deviceType: this.isMobile ? 'mobile' : 'pc',\r\n isHybrid: this.hybrid.isHybrid,\r\n isEmbeddedHybrid: this.hybrid.isEmbedded,\r\n operationSystem: this.os.name,\r\n tool: Device.isProbablyIPad ? \"tablet\" : '',\r\n isProgressiveWebApp: this._sdkDevice.isProgressiveWebApp\r\n };\r\n }\r\n\r\n /** @deprecated */\r\n @observable.ref\r\n isMobile: boolean;\r\n /** @deprecated */\r\n isTablet: boolean;\r\n\r\n os: DeviceInfo[\"os\"];\r\n browser: DeviceInfo[\"browser\"];\r\n model: DeviceInfo[\"model\"];\r\n hybrid: DeviceInfo[\"hybrid\"];\r\n feature: DeviceInfo[\"feature\"];\r\n isProgressiveWebApp: DeviceInfo[\"isProgressiveWebApp\"];\r\n\r\n isStandalone: boolean;\r\n\r\n segments: {\r\n [key: string]: any;\r\n }\r\n\r\n get productPackageId(): number {\r\n return this.services.sdk.getProductPackageId();\r\n }\r\n\r\n get isMobileWebApp(): boolean {\r\n return Device.isMobileWebApp;\r\n }\r\n\r\n get isProbablyIOSDevice(): boolean {\r\n return Device.isProbablyIOSDevice;\r\n }\r\n}\r\n","import {HOME_PAGE_ARENA} from \"../services/arenas/arena-consts\";\r\n\r\nexport const SEO_CATEGORIES = {\r\n HOME: HOME_PAGE_ARENA,\r\n AI_GAMES_RECOMMENDATIONS: 'AI_GamesDisplayed',\r\n AI_NEW_GAMES_RECOMMENDATIONS: 'AI_NewGamesDisplayed'\r\n};\r\n\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {AiRecommendedGames, IAiEngineService, IAiSortOptions} from './ai-engine.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {SEO_CATEGORIES} from '../../consts/seo-categories';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {LIST_TYPE_ID} from \"../../../common/const/ai-trending-list-ids-map\";\r\n\r\nexport const NO_AI_GAMES_RECOMMENDATIONS: AiRecommendedGames = {\r\n isInitialized: false,\r\n gameTypes: [],\r\n gameTypesMap: {},\r\n engine: undefined\r\n};\r\n\r\ninterface ITrendingGamesRecommendations {\r\n gamesByBets: number[];\r\n gamesByActiveUsers: number[];\r\n}\r\n\r\nexport class AiEngineService extends ServiceBase implements IAiEngineService {\r\n constructor(services: IServiceFactoryExtended){\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(() => this.services.user.isAuthorized,\r\n () => this._onOauthChange(),\r\n {\r\n fireImmediately: true\r\n });\r\n\r\n this.services.sdk.events.onGamesQuestionnaireCompleted(async () => {\r\n await this._updateAiRecommendedGames();\r\n });\r\n }\r\n\r\n @observable.ref\r\n aiRecommendedGames: AiRecommendedGames = NO_AI_GAMES_RECOMMENDATIONS;\r\n\r\n @observable.ref\r\n _trendingGamesRecommendations: ITrendingGamesRecommendations | null = null;\r\n get trendingRecommendedGamesForPlayerByBets(): number[] | null {\r\n this._loadTrendingRecommendedGamesForPlayer();\r\n return this._trendingGamesRecommendations?.gamesByBets || null;\r\n }\r\n get trendingRecommendedGamesForPlayerByActiveUsers(): number[] | null {\r\n this._loadTrendingRecommendedGamesForPlayer();\r\n return this._trendingGamesRecommendations?.gamesByActiveUsers || null;\r\n }\r\n\r\n /**\r\n * @description: A map where the key is the game type and the value is then game position in the AI recommendation\r\n */\r\n @observable.ref\r\n private _allAiRecommendedGameTypes: Record;\r\n\r\n\r\n @action.bound\r\n private _setAiRecommendedGames(value: AiRecommendedGames) {\r\n\r\n let tempGameTypesMap = {};\r\n\r\n if (value.gameTypes) {\r\n value.gameTypes.forEach((gameType, i) => tempGameTypesMap[gameType] = i);\r\n }\r\n\r\n this.aiRecommendedGames = {\r\n ...value,\r\n gameTypes: (value.gameTypes || []),\r\n gameTypesMap: tempGameTypesMap\r\n };\r\n }\r\n\r\n @action.bound\r\n private _setTrendingRecommendedGamesForPlayer(trendingRecommendedGamesForPlayer: {[key: number]: number[]}) {\r\n this._trendingGamesRecommendations = {\r\n gamesByBets: (trendingRecommendedGamesForPlayer && trendingRecommendedGamesForPlayer[LIST_TYPE_ID.BETS]) || [],\r\n gamesByActiveUsers: (trendingRecommendedGamesForPlayer && trendingRecommendedGamesForPlayer[LIST_TYPE_ID.ACTIVE_USERS]) || []\r\n }\r\n }\r\n\r\n @action.bound\r\n private _setAllAiRecommendedGameTypes(gameTypes: number[]) {\r\n gameTypes = gameTypes || [];\r\n // creates a map where the key is the game type and the value is the index of that game type in the array\r\n this._allAiRecommendedGameTypes = gameTypes.reduce((acc, curr, index) => {\r\n acc[curr] = index;\r\n return acc;\r\n }, {});\r\n }\r\n\r\n private _onOauthChange() {\r\n this._initalizeTrendingRecommendations();\r\n this._updateAiRecommendedGames();\r\n }\r\n\r\n _initalizeTrendingRecommendations() {\r\n if(this.services.user.isAuthorized) {\r\n this._trendingGamesRecommendations = null;\r\n }\r\n }\r\n\r\n private async _updateAiRecommendedGames(): Promise {\r\n let aiRecommendationsData = await this.services.sdk.getAIRecommendations({filterOutRecentlyPlayedGames: true});\r\n\r\n this._setAiRecommendedGames({\r\n gameTypes: aiRecommendationsData.gameTypes,\r\n engine: aiRecommendationsData.engine,\r\n gameTypesMap: {},\r\n isInitialized: true\r\n });\r\n\r\n aiRecommendationsData = await this.services.sdk.getAIRecommendations({maxGames: 500, filterOutRecentlyPlayedGames: false});\r\n this._setAllAiRecommendedGameTypes(aiRecommendationsData.gameTypes || []);\r\n\r\n this._sendAIRecommendationAnalytics();\r\n }\r\n\r\n private _sendAIRecommendationAnalytics(): void {\r\n\r\n let analyticsObject = this.aiRecommendedGames.gameTypes.reduce((result, gameType, index) => {\r\n result[gameType] = index;\r\n return result;\r\n }, {});\r\n\r\n this.services.analytics.sendElasticInfoEvent({\r\n category: SEO_CATEGORIES.AI_GAMES_RECOMMENDATIONS,\r\n action: JSON.stringify(analyticsObject),\r\n label: this.aiRecommendedGames.engine,\r\n eventType:\"Orbit_AI_Feature\"\r\n }, true);\r\n }\r\n\r\n async getCasinoRecommendedDynamicListsForPlayer(listIDs: string[]): Promise> {\r\n return await this.services.api.insightController.getCasinoRecommendedDynamicListsForPlayer({\r\n listsIDs: listIDs\r\n });\r\n }\r\n\r\n sortGames(gameTypes: number[], options?: IAiSortOptions): number[] {\r\n const allAiRecommendedGameTypes = Check.isEmpty(options?.gamesMapOverride) ? this._allAiRecommendedGameTypes : options?.gamesMapOverride;\r\n if(!allAiRecommendedGameTypes || Object.keys(allAiRecommendedGameTypes).length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n const ignoreNumberOfGames = Check.isNumber(options?.ignoreNumberOfGames) ? options.ignoreNumberOfGames : 0;\r\n let fixedGameTypes = ignoreNumberOfGames > 0 ? gameTypes.slice(0, ignoreNumberOfGames) : [];\r\n const aiGameTypes = ignoreNumberOfGames > 0 ? gameTypes.slice(ignoreNumberOfGames) : gameTypes;\r\n\r\n const originalIndexes = {};\r\n aiGameTypes.forEach((gt, index) => {\r\n originalIndexes[gt] = index;\r\n });\r\n\r\n aiGameTypes.sort((gt1, gt2) => {\r\n let index1 = allAiRecommendedGameTypes[gt1];\r\n let index2 = allAiRecommendedGameTypes[gt2];\r\n\r\n if(Check.isUndefined(index1) && Check.isUndefined(index2)) {\r\n return (originalIndexes[gt1] < originalIndexes[gt2]) ? -1 : 1;\r\n }\r\n\r\n if(Check.isUndefined(index1)) { //if gt1 is not in the AI recommendations\r\n return 1;\r\n } else if(Check.isUndefined(index2)) {\r\n return -1;\r\n }\r\n\r\n return (index1 < index2) ? -1 : 1; //gt1 goes before gt2 if index1 < index2\r\n });\r\n\r\n // concatenate fixed game types (not sorted) with ai sorted ones\r\n return fixedGameTypes.concat(aiGameTypes);\r\n }\r\n\r\n getAiEngine(): string | undefined {\r\n return this.aiRecommendedGames.engine;\r\n }\r\n\r\n getAiEngineForGame(gameType: number): string | undefined {\r\n return this.aiRecommendedGames.gameTypesMap[gameType] === undefined ? undefined : this.aiRecommendedGames.engine;\r\n }\r\n\r\n private _isLoadTrendingRecommendedGamesForPlayerInProgress = false;\r\n private async _loadTrendingRecommendedGamesForPlayer(): Promise {\r\n if(this._isLoadTrendingRecommendedGamesForPlayerInProgress) {\r\n return;\r\n }\r\n\r\n if(!Check.isNullOrUndefined(this._trendingGamesRecommendations)) {\r\n return;\r\n }\r\n\r\n this._isLoadTrendingRecommendedGamesForPlayerInProgress = true;\r\n try {\r\n const trendingRecommendedGames: { [key: number]: number[] } = await this.services.sdk.getTrendingRecommendedGamesForPlayer(LIST_TYPE_ID.BETS, LIST_TYPE_ID.ACTIVE_USERS);\r\n this._setTrendingRecommendedGamesForPlayer(trendingRecommendedGames);\r\n } finally {\r\n this._isLoadTrendingRecommendedGamesForPlayerInProgress = false;\r\n }\r\n\r\n }\r\n\r\n // List Type can be either 1 or 2, when 1 is sorted by bets and 2 is sorted by active_users\r\n private _getGamesTypesByListTypeID(listTypeId?: LIST_TYPE_ID): number[] {\r\n\r\n if(!Check.isNullOrUndefined(listTypeId)) {\r\n if (listTypeId === LIST_TYPE_ID.BETS) {\r\n return this.trendingRecommendedGamesForPlayerByBets;\r\n } else if(listTypeId === LIST_TYPE_ID.ACTIVE_USERS) {\r\n return this.trendingRecommendedGamesForPlayerByActiveUsers;\r\n } else {\r\n this.services.logger.error(`Fail to get ai games order from api. wrong listTypeId: ${listTypeId}`);\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n sortGamesByAI(gamesTypesArray: number[], listTypeId: LIST_TYPE_ID) {\r\n const aiGamesByScore = this._getGamesTypesByListTypeID(listTypeId);\r\n if(!aiGamesByScore) {\r\n return gamesTypesArray;\r\n }\r\n \r\n return gamesTypesArray.sort((first,second) => {\r\n const firstGamePlace = aiGamesByScore.indexOf(first);\r\n const secondGamePlace = aiGamesByScore.indexOf(second);\r\n if(firstGamePlace === -1 || secondGamePlace === -1) {\r\n if(firstGamePlace === -1) {\r\n return secondGamePlace === -1 ? 0 : 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n return firstGamePlace - secondGamePlace;\r\n });\r\n\r\n }\r\n}\r\n\r\n\r\n","export const DEEP_LINK_HASH_PARAM = 'deeplink=';\r\nexport const DEEP_LINK_QUERY_PARAM = 'deeplink';","import {ServiceBase} from '../ServiceBase';\r\nimport {IDeepLinkService} from './deep-link.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport { observable, reaction, runInAction, makeObservable } from 'mobx';\r\nimport {IReactionPublic} from 'mobx';\r\nimport {ICasinoDeepLinkAction} from \"./casino-deep-link-action.interface\";\r\nimport { DEEP_LINK_QUERY_PARAM } from './deeplink-consts';\r\n\r\n\r\n\r\n/**\r\n Deep link can come from\r\n 1. route\r\n 2. SDK event\r\n 3. direct call window.orbit.deepLink\r\n 4. post message\r\n */\r\n\r\nexport class DeepLinkService extends ServiceBase implements IDeepLinkService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._subscribeToCurrentUriReaction(true);\r\n\r\n this.services.sdk.events.onDeepLinkReceived(this._executeDeepLinkFromSdkEvent);\r\n this.services.window.subscribeTo.postMessage(this._executeDeepLinkFromPostMessage);\r\n }\r\n\r\n\r\n private _subscribeToCurrentUriReaction(fireImmediately: boolean): void{\r\n reaction(() => this.services.location.currentUri,\r\n (arg, prev, reaction) => this._executeDeepLinkFromCurrentRoute(reaction),\r\n {\r\n fireImmediately: fireImmediately\r\n });\r\n }\r\n\r\n @observable.ref\r\n lastTimeDeepLinkWasExecuted: number;\r\n\r\n private _isExecuting: boolean = false;\r\n get isExecuting(): boolean {\r\n return this._isExecuting;\r\n }\r\n\r\n\r\n private async _waitForAutologin(): Promise {\r\n try {\r\n await this.services.user.waitForAutoLogin();\r\n } catch (err) {\r\n // we will continue the deep link flow if waiting for auto login to complete fails.\r\n // if there are any issues with the auto login probably the login screen will pop up\r\n // depending on the deep link action\r\n this.services.logger.error('Waiting for auto login to complete failed', err);\r\n }\r\n }\r\n\r\n private async _executeAction(action: ICasinoDeepLinkAction): Promise {\r\n if(this._isExecuting) {\r\n this.services.logger.error(`You tried to execute a deep link while another one is in progress. The following deep link will be ignored: ${JSON.stringify(action)}`);\r\n return;\r\n }\r\n this._isExecuting = true;\r\n\r\n try {\r\n await action.execute();\r\n } finally {\r\n this._isExecuting = false;\r\n runInAction(() => this.lastTimeDeepLinkWasExecuted = Date.now())\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n private async _executeDeepLinkFromCurrentRoute(reactionDisposer: IReactionPublic): Promise {\r\n\r\n\r\n try {\r\n reactionDisposer.dispose(); // we unsubscribe from this.services.location.currentUri reaction so if the currentUri changes inside the waitForAutoLogin or for any other reasons it will not trigger another deep link execution\r\n\r\n await this._waitForAutologin();\r\n\r\n // In case there is an auto login we want to create the deep link action after the auto login finishes\r\n // so any code that looks for isAuthorized during the action creation to find it on true\r\n let action = this.services.deepLinkActionsFactory.createActionFromCurrentRoute();\r\n if(!action) {\r\n return;\r\n }\r\n\r\n this.services.logger.debug('Execute deep link from current route: ' + this.services.location.currentUri.toString());\r\n\r\n const urlWithoutHash = this.services.location.currentUri.removeSearchParam(DEEP_LINK_QUERY_PARAM).getUrlWithoutHash();\r\n await this.services.location.replace(urlWithoutHash);\r\n\r\n await this._executeAction(action);\r\n\r\n } finally {\r\n this._subscribeToCurrentUriReaction(false);\r\n }\r\n\r\n\r\n }\r\n\r\n private _executeDeepLinkFromSdkEvent = async (deepLinkObject: any): Promise => {\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkObject);\r\n if(action) {\r\n this.services.logger.debug('Execute deep link object in _executeDeepLinkFromSdkEvent: ' + JSON.stringify(deepLinkObject));\r\n return this._executeAction(action);\r\n } else if (Check.isNullOrUndefined(deepLinkObject)){\r\n this.services.logger.warning(`${deepLinkObject} deep link object received from SDK DEEPLINK_RECEIVED event`);\r\n } else {\r\n this.services.logger.error(`Received deep link object from the SDK DEEPLINK_RECEIVED is not a valid deep link object. Received data: ${JSON.stringify(deepLinkObject)}`);\r\n }\r\n };\r\n\r\n async executeDeepLink(deepLinkObject: any, navigate?: any): Promise {\r\n if(!Check.isObject(deepLinkObject)) {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with a deepLinkObject argument that is not an object`);\r\n return;\r\n }\r\n if(Check.isEmpty(deepLinkObject)) {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with an empty deep deepLinkObject argument`);\r\n return;\r\n }\r\n\r\n this.services.logger.debug('Execute deep link object in executeDeepLink: ' + JSON.stringify(deepLinkObject));\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkObject);\r\n if(action) {\r\n if(Check.isString(navigate)) {\r\n this.services.location.push(navigate as string);\r\n } else if(Check.isArrayOfStrings(navigate)) {\r\n if(navigate.length > 0) {\r\n await this.services.location.push('/' + (navigate as Array).join('/'));\r\n }\r\n } else if(!Check.isNullOrUndefined(navigate)) {\r\n this.services.logger.error(`expecting _executeDeepLinkFromDirectCall to be called with a navigate parameter that is string or an array of strings but it was ${JSON.stringify(navigate)}`);\r\n }\r\n\r\n await this._executeAction(action);\r\n } else {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with an invalid deep link object ${JSON.stringify(deepLinkObject)}`);\r\n }\r\n };\r\n\r\n private _executeDeepLinkFromPostMessage = async (postEvent: any): Promise => {\r\n let messageData = postEvent && postEvent.data;\r\n if(!messageData) {\r\n return;\r\n }\r\n\r\n if(messageData.ActionName !== 'deeplink') {\r\n return;\r\n }\r\n\r\n\r\n if(!messageData.data) {\r\n this.services.logger.error(`Received deep link post message action with ${messageData.data} data`);\r\n return;\r\n }\r\n\r\n let deepLinkJsonObject = null;\r\n\r\n try {\r\n deepLinkJsonObject = JSON.parse(messageData.data);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to parse deep link object from post message: ${messageData.data}`, err);\r\n return;\r\n }\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkJsonObject);\r\n\r\n if(action) {\r\n this.services.logger.debug('Execute deep link object in _executeDeepLinkFromPostMessage: ' + messageData.data);\r\n return this._executeAction(action);\r\n } else {\r\n this.services.logger.error(`Received post message with invalid deep link object ${messageData.data}`);\r\n }\r\n\r\n }\r\n}\r\n\r\n","import {CmsUserSignature, DateAndTimeFormat, GameRawData, ITokenInfo} from './sdk.service.interface';\r\nimport {IRunningGameHandler} from '../games/running-game-handler.interface';\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {BalanceType} from \"../../../common/const/wallet_balance_type\";\r\nimport IStructuredLoggingService from \"../../../common/interfaces/structured-logging-service-interface\";\r\nimport {SdkOverlayZIndex} from \"../../../common/interfaces/sdk-overlay-z-index\";\r\nimport {IGeoLocationInfo} from \"../../../common/interfaces/geo-location-info.interface\";\r\nimport {GamingHistoryRecordRawData} from \"../gaming-history/gaming-history.service.interfce\";\r\nimport {IAbTestingFeatureProperties} from '../../../common/interfaces/ab-testing-interface';\r\nimport {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 IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {LoadScriptOptions} from \"../../../common/interfaces/load-script-options\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\r\n\r\ninterface OnEventParams {\r\n eventName: string;\r\n callback: Function;\r\n context: any;\r\n}\r\n\r\ninterface SendAnalyticsParams {\r\n category: string;\r\n action: string;\r\n label: string;\r\n value: string;\r\n omitStructuredLogger?: boolean\r\n}\r\n\r\ninterface GetAIListResponse {\r\n aiGameTypesArray: number[];\r\n aiEngine: string;\r\n}\r\n\r\n\r\n\r\n\r\nexport const CGP_EVENTS_NAMES = {\r\n ON_BEFORE_OAUTH_STATE_CHANGE: 'ON_BEFORE_OAUTH_STATE_CHANGE',\r\n OAUTH_STATE_CHANGE: 'OAUTH_STATE_CHANGE',\r\n RECENTLY_PLAYED_GAMES_UPDATED: 'RECENTLY_PLAYED_GAMES_UPDATED',\r\n AUTOLOGIN_SUCCESS: 'AUTOLOGIN_SUCCESS',\r\n AUTOLOGIN_FAILED: 'AUTOLOGIN_FAILED',\r\n DEEPLINK_RECEIVED: 'DEEPLINK_RECEIVED',\r\n GAME_OPEN: 'GAME_OPEN',\r\n CLOSE_GAME: 'CLOSE_GAME',\r\n LOGIN_FORM_OPEN: 'LOGIN_FORM_OPEN',\r\n LOGIN_FORM_CLOSE: 'LOGIN_FORM_CLOSE',\r\n TOKEN_LIFETIME_EXPIRED: 'TOKEN_LIFETIME_EXPIRED',\r\n LIVE_TABLES_UPDATE: 'LIVE_TABLES_UPDATE',\r\n GAMES_QUESTIONNAIRE_COMPLETED: 'GAMES_QUESTIONNAIRE_COMPLETED',\r\n GAME_POPUP_SHOW: 'GAME_POPUP_SHOW',\r\n BALANCE_UPDATED: 'BALANCE_UPDATED',\r\n REALITY_CHECK_OPENED: 'REALITY_CHECK_OPENED',\r\n REALITY_CHECK_CLOSED: 'REALITY_CHECK_CLOSED',\r\n REGISTRATION_COMPLETED: 'REGISTRATION_COMPLETED',\r\n APP_RESUMED: 'APP_RESUMED',\r\n APP_PAUSED: 'APP_PAUSED',\r\n EXTERNAL_LINK_CLOSED: 'EXTERNAL_LINK_CLOSED',\r\n TOUCH_ID_STATE_CHANGED: 'TOUCH_ID_STATE_CHANGED',\r\n OMG_DISPLAYED: 'OMG_DISPLAYED',\r\n SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED: 'SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED',\r\n LIVE_GAME_SWITCHED: 'LIVE_GAME_SWITCHED',\r\n PROMOTIONS_CHANGED: 'PROMOTIONS_CHANGED',\r\n DEPOSIT_WIDGET_CLOSED: 'DEPOSIT_WIDGET_CLOSED',\r\n};\r\n\r\n\r\nexport interface DeviceInfo {\r\n os: {\r\n name: string;\r\n version: number;\r\n isMobileOS: boolean;\r\n isIOS: boolean;\r\n isAndroid: boolean;\r\n isPC: boolean;\r\n isMacOS: boolean;\r\n };\r\n browser: {\r\n name: string;\r\n version: number;\r\n isSafari: boolean;\r\n isChrome: boolean;\r\n isFirefox: boolean;\r\n };\r\n model: {\r\n isIphone: boolean;\r\n isIpad: boolean;\r\n };\r\n hybrid: {\r\n isHybrid: boolean;\r\n isEmbedded: boolean;\r\n inCasino: boolean;\r\n inPoker: boolean;\r\n inSport: boolean;\r\n };\r\n feature: {\r\n isTouch: boolean;\r\n };\r\n isProgressiveWebApp: boolean;\r\n isStandalone: boolean;\r\n\r\n /** @deprecated */\r\n isMobile(): boolean;\r\n /** @deprecated */\r\n isTablet(): boolean;\r\n}\r\n\r\nexport interface CGPEventSubscription {\r\n off();\r\n}\r\n\r\n\r\nexport interface GetAutoLoginTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface GetPlatformTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface IDailyDealCampaign {\r\n MarketingCampaignId: string;\r\n}\r\n\r\nexport interface IAppFlayerData {\r\n appsflyerid: string,\r\n appname: string,\r\n deviceid: string,\r\n afinstall: string,\r\n}\r\n\r\nexport interface ISkinSerialData extends IAppFlayerData {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface CgpSkinInfo {\r\n getBrandName(): string;\r\n getPlatformSystemID(): number;\r\n getClientPlatform(): string;\r\n getVersion(): string;\r\n getCulture(): string;\r\n getMinimumAge(): number;\r\n getSerialData(marketingData: any): Promise;\r\n getDefaultHybridSerial(): string;\r\n}\r\n\r\nexport interface ISdkUtils {\r\n getGuid(): string\r\n arraysAreEqual(arr1: any[], arr2: any[]): boolean;\r\n}\r\n\r\nexport interface ISdkRegulationService {\r\n isUSRegulation(): boolean;\r\n getRegulationCode(): number;\r\n getSessionCooldownConfig(): {featureEnabled: boolean; cooldownTime: string};\r\n shouldShowPlayerLimitsToaster(): boolean;\r\n getErrorMessage(errorCode: number): NullableString;\r\n forceDemoButton(): boolean;\r\n isLoginPopupEnabled(): boolean;\r\n}\r\n\r\nexport interface IOpenHistoryGameRequest {\r\n historyRecordData: GamingHistoryRecordRawData;\r\n gameType: number,\r\n gameName: string,\r\n gameRoundId: string,\r\n gameRoundDate: string;\r\n}\r\n\r\nexport interface IDateFormattedToRegulationOffset {\r\n date: Date;\r\n isUTC: boolean;\r\n}\r\n\r\nexport interface ICgpSdk {\r\n countPlayerChallenges(): number;\r\n getRegulationDateAndTimeFormat(): DateAndTimeFormat;\r\n createComponentRenderer(componentId: string): any;\r\n device(): DeviceInfo;\r\n displayHybrid?: () => void;\r\n isHybridEmbeddedGame(gameType: number): boolean;\r\n openHybridLink(url: string): void;\r\n format$$$(value: number, withDecimal: boolean);\r\n getBalance();\r\n getAIList(maxGames: number, filterOutRecentlyPlayedGames: boolean, numberOfRecentlyPlayedGameToFilterOut: number): Promise;\r\n getAINewGamesList(maxGames: number, filterOutRecentlyPlayedGames: boolean, numberOfRecentlyPlayedGameToFilterOut: number): Promise;\r\n getAutoLoginToken(): Promise;\r\n getPlatformToken(): Promise;\r\n getFirebaseToken(): string;\r\n getBrandID(): number;\r\n getCorrelatedGames(gameType: number, numberOfGames: number): Promise;\r\n getExternalBrandCallbackURL(): string;\r\n getExternalBrandCallbackURLMethod(): string;\r\n getGamesInfo(gameTypes: number[]): Promise;\r\n getGamesThemes(): Record;\r\n getGamesVendors(): Record;\r\n getGamesCompanies(): Record;\r\n getGamesInfoForHistory(gameTypes: number[]): Promise;\r\n getGRSEnvironments(): Promise;\r\n getSourceSubBrandName(): string;\r\n getSubBrandID(): number;\r\n dateAndTimeFormat(): DateAndTimeFormat;\r\n getUserData(): any;\r\n getUsername(): string;\r\n getSessionId(): string;\r\n getUserSegments(): CmsUserSignature;\r\n isAuthorized(): boolean;\r\n isLoginFromRegistration(): boolean;\r\n getCGPMaxOverlayZIndex(): number;\r\n structuredLoggingService(): IStructuredLoggingService;\r\n isVIP(): boolean;\r\n logout(): Promise;\r\n menuActionExecute(key: string): void;\r\n onEvent(params: OnEventParams): CGPEventSubscription;\r\n routeChanged(): void;\r\n isGameRunning(): boolean;\r\n openGame(options: any): Promise;\r\n openInNewWindow(url: string, features?: string): void;\r\n openLoginForm(marketingParams?: MarketingParams): Promise;\r\n sendAnalytics(params: SendAnalyticsParams);\r\n setAutoLoginToken(autologinToken: any): void;\r\n startLiveTableFeeds(): void;\r\n stopLiveTableFeeds(): void;\r\n getAbTestingDataForFeature(featureName: string): IAbTestingFeatureProperties;\r\n getAbTestingData(): {[key: string]: IAbTestingFeatureProperties};\r\n waitForAnonymousAbTestingData(): Promise;\r\n getAnonymousPlayerAbTestingDataForFeature(featureName: string, shouldDefaultToLocalStorageData: boolean): IAbTestingFeatureProperties;\r\n getCurrentServerDate(): Date;\r\n formatToRegulationOffset(date: UndefinedString, dateFormattedToRegulation: UndefinedString): IDateFormattedToRegulationOffset;\r\n getDailyDealCampaigns(): Promise;\r\n getBankroll(balanceType: BalanceType, plainNumber?: boolean): string | number;\r\n\r\n getJackpotsById(): unknown;\r\n getJackpotsByGameType(): unknown;\r\n\r\n getProductPackage(): number;\r\n\r\n getSkin(): CgpSkinInfo;\r\n runAutoLogin(autoLoginParams: IAutoLoginParams): Promise;\r\n\r\n getUtils(): ISdkUtils;\r\n onOrbitInitComplete(): void;\r\n\r\n getEnvironment(): string;\r\n pushDataToDataLayer(data: {}): void;\r\n getCountryName(): string;\r\n getCountryIso3(): string;\r\n getSupportedStates(): IStateOfResidence[];\r\n getWrongLocationDetectionPath(): string;\r\n getTrendingRecommendedGamesForPlayer(listTypeId: number[]): Promise<{[key: number]: number[]}>;\r\n\r\n getRegulationService(): ISdkRegulationService;\r\n\r\n waitForAutologin(): Promise;\r\n httpPost(url: string, requestData: unknown): Promise;\r\n httpGet(url: string, requestData: unknown): Promise;\r\n getConfigs(): any;\r\n loadScript(options: LoadScriptOptions): Promise;\r\n getRefreshToken(): string;\r\n getCurrencyIso3(): string;\r\n readonly overlayZIndex: SdkOverlayZIndex;\r\n getGoogleClientID(): string;\r\n isInAutologin(): boolean;\r\n fireDepositWidgetClosed(): void;\r\n getToken(): ITokenInfo | null;\r\n\r\n continuePlayingCurrentGame(): void;\r\n stopCurrentGameAutoplay(): void;\r\n isDepositWidgetSupportedByHybrid(): boolean;\r\n getGeoLocationInfo(): Promise;\r\n getDownloadAppLink(): string;\r\n promptPushNotificationPermissionRequest(): void;\r\n openPopUpOnSecondWebView(content: string, timeout: number): void;\r\n closePopUpOnSecondWebView(): void;\r\n getBurnoutAnimationZIndex(): number;\r\n readonly hybrid: 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 stopGameTimeReminders(): void;\r\n startAutoRetryGeoProcess(): Promise;\r\n extractTokenProperty(tokenProperty: string): NullableString;\r\n updateTokenProperty(tokenProperty: string, value: NullableString): void;\r\n isLoginPopupEnabled(): boolean;\r\n getAccountData(): any;\r\n getTempAccountGnwpSource(): GNWP_SOURCES;\r\n openOptions(screenType: string, innerScreen?: string): void;\r\n isPlayerMessagesConnected(): boolean;\r\n getGameRestriction(gameType: number, gameGroupId: number, vendorId: number): IGameRestriction;\r\n}\r\n","import {CGP_EVENTS_NAMES, CGPEventSubscription, ICgpSdk} from './cgp-sdk.interface';\r\nimport { LiveTables } from '../live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {TimeSpan} from '@sparkware/app-utils';\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {\r\n IFreePlayVoucherData,\r\n IFreePlayVoucherDelta\r\n} from \"../../../common/interfaces/free-play/free-play-voucher-data.interface\";\r\nimport {\r\n INetPositionGameTypeData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/netposition_handler.interfaces\";\r\nimport {IJackpotDataById} from '../../../sdk/src/services/live_feeds/jackpots/jackpot_feeds_service_interface';\r\nimport {\r\n IGamblingSessionUpdateData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/gambling-session_handler_interfaces\";\r\nimport {\r\n IGamblingSessionActionData, IOMGParsedData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/messages_handler_interfaces\";\r\n\r\nexport interface OnShowGamePopupCallbackParams {\r\n gameType?: number,\r\n gamePopupApprovedCallback: () => void\r\n}\r\n\r\nexport interface OnGameOpenParams {\r\n gameType: number;\r\n isReal: boolean;\r\n}\r\n\r\nexport interface OnGameCloseParams {\r\n gameType: number;\r\n isReal: boolean;\r\n isGamePlayed: boolean;\r\n showNextGameSuggestion: boolean;\r\n}\r\n\r\nexport interface OnPlayerActionParams {\r\n actionName: string;\r\n options?: any;\r\n}\r\n\r\nexport interface OnOauthStateChangedParams {\r\n loginType?: number;\r\n logoutReason?: number;\r\n kickReason?: number;\r\n fromRegistration?: boolean;\r\n}\r\n\r\nexport interface IGeoRestrictionsUpdateEventParams {\r\n KickReasonId?: string;\r\n TroubleshooterRetry?: boolean;\r\n DetailedMessages?: string[];\r\n}\r\n\r\nexport interface IPeriodicGeoUpdateEventParams {\r\n mobileNumber: string;\r\n licenseKey: string;\r\n licenseWebKey: string;\r\n locationTransactionId: string;\r\n}\r\n\r\nexport class SdkEvents {\r\n constructor(private CGP: ICgpSdk) {\r\n\r\n }\r\n\r\n onOAuthStateChanged(callback: (params: OnOauthStateChangedParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBeforeOAuthStateChanged(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.ON_BEFORE_OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDeepLinkReceived(callback: (deepLinkObject: any) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.DEEPLINK_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onShowGamePopup(callback: (args: OnShowGamePopupCallbackParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_POPUP_SHOW,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameOpen(callback: (params: OnGameOpenParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameClose(callback: (params?: OnGameCloseParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.CLOSE_GAME,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onPlayerAction(callback: (eventData: OnPlayerActionParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.PLAYER_ACTION,\r\n callback: (data) => callback(data || {} as OnPlayerActionParams),\r\n context: this\r\n });\r\n }\r\n\r\n onRecentlyPlayedGamesUpdated(callback: (gameTypes: number[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.RECENTLY_PLAYED_GAMES_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormOpen(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTokenLifetimeExpired(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOKEN_LIFETIME_EXPIRED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveTableFeedsUpdate(callback: (tablesData: LiveTables) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_TABLES_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamesQuestionnaireCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAMES_QUESTIONNAIRE_COMPLETED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onJackpotsByIdUpdate(callback: (jackpots: unknown) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByGameUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOT_AMOUNTS_BY_GAME_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByIdUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBalanceUpdated(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.BALANCE_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSessionTimerUpdate(callback: (data: {sessionTime: TimeSpan}) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_TIMER_UPDATE,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckOpened(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_OPENED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckClosed(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_CLOSED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onRegistrationCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REGISTRATION_COMPLETED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppPaused(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_PAUSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onExternalLinkClosed(callback: (linkSource: string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.EXTERNAL_LINK_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTouchIDActiveStateChanged(callback: (state: boolean) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOUCH_ID_STATE_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onOmgDisplayed(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OMG_DISPLAYED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBurnoutMessageReceived(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveGameSwitched(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_GAME_SWITCHED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPromotionsChanged(callback: (data: {Cid: number, IsPromotionDisplayedInClient: boolean, IndicationInClientPromotionsIds: number[]}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.PROMOTIONS_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDepositWidgetClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.DEPOSIT_WIDGET_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.HYBRID_POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchAdded(callback: (data: IFreePlayVoucherData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_ADDED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchUpdated(callback: (data: IFreePlayVoucherDelta[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchRemoved(callback: (voucherIds: string[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_REMOVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV1(callback: (percentage: number | string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV2(callback: (eventData: {statusBar: number | string; numberOfPackages: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE_V2,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseGotNewToken(callback: (eventData: {token: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.FIREBASE_GOT_NEW_TOKEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onNetPositionUpdated(callback: (gamesTypesData: INetPositionGameTypeData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_NET_POSITION_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginSessionResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOGIN_SESSION_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onUserApprovedPostLoginPopup(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.USER_APPROVE_GAME_POPUP,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseOmgReceived(callback: (omgData: IOMGParsedData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_OMG_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onReceivedToaster(callback: (params: any[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_RECEIVED_TOASTER,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSecondWebViewClose(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRestrictionsChanged(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.RESTRICTIONS_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPlayerMessagesConnected(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.PLAYER_MESSAGES_STRATEGY_READY,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGeoRestrictionsUpdate(callback: (params: IGeoRestrictionsUpdateEventParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GEO_RESTRICTIONS_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGeoPeriodicUpdate(callback: (params: IPeriodicGeoUpdateEventParams) => void ): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GEO_PERIODIC_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridGeoLocationResponse(callback: (result: string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GEO_HYBRID_GET_LOCATION_RES,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamblingSessionUpdate(callback: (sessionData: IGamblingSessionUpdateData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GAMBLING_SESSION_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamblingSessionAction(callback: (sessionData: IGamblingSessionActionData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.GAMBLING_SESSION_ACTION,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n}\r\n","import Event from \"../../../sdk/src/utils/event\";\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {IOmgHandlerHook} from \"../external-links/handlers/omg/omg-handler.hook.interface\";\r\n\r\nexport class SdkEventsTrigger {\r\n gameOpen(eventData: {gameType: number; isReal: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_OPEN, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal\r\n });\r\n }\r\n\r\n gameClosed(eventData: {gameType: number; isReal: boolean; isGamePlayed: boolean; showNextGameSuggestion: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.CLOSE_GAME, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal,\r\n isGamePlayed: eventData.isGamePlayed,\r\n showNextGameSuggestion: eventData.showNextGameSuggestion\r\n });\r\n }\r\n\r\n keepAlive(): void {\r\n Event.fire(SYSTEM_EVENTS.EXTEND_USER_TIME_TO_LIVE);\r\n }\r\n\r\n liveGameSwitched(): void {\r\n Event.fire(SYSTEM_EVENTS.LIVE_GAME_SWITCHED);\r\n }\r\n\r\n hybridGameLoadingIndicatorClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_CLOSED_BY_X);\r\n }\r\n\r\n updateMarketingParams(marketingParams: any): void {\r\n Event.fire(SYSTEM_EVENTS.INCOMING_MARKETING_DATA, marketingParams);\r\n }\r\n\r\n\r\n navigateToGameInWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.WEB_VIEW_NAVIGATE_GAME, url);\r\n }\r\n\r\n gameSequenceFinishedSuccess(): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_SEQUENCE_FINISH, true);\r\n }\r\n\r\n showHybridAlert(message: string): void {\r\n Event.fire(SYSTEM_EVENTS.HYBRID_ALERT, message);\r\n }\r\n\r\n locationPopupClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOCATION_POPUP_CLOSED);\r\n }\r\n\r\n registrationCompleted(params: {UserInfo: string, SourceProductPackage: string}) {\r\n Event.fire(SYSTEM_EVENTS.REGISTRATION_COMPLETED, params);\r\n }\r\n\r\n externalLinkClosed(params: {gnwpSource: GNWP_SOURCES}): void {\r\n Event.fire(SYSTEM_EVENTS.EXTERNAL_LINK_CLOSED, params.gnwpSource)\r\n }\r\n\r\n omgDisplayed(omgHook: IOmgHandlerHook): void {\r\n Event.fire(SYSTEM_EVENTS.OMG_DISPLAYED, omgHook)\r\n }\r\n\r\n closeAllSecondWebViews(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_ALL);\r\n }\r\n\r\n closeNyxSecondWebView(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_NYX);\r\n }\r\n\r\n openUrlInSecondWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_NAVIGATE_SPORT, url);\r\n }\r\n\r\n closeModifyBimetricDialog(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_STATE_CHANGED);\r\n }\r\n\r\n onInitScreenShow(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_INIT_SCREEN_SHOW);\r\n }\r\n\r\n enableHybridGeoLocation(enabled: boolean): void {\r\n Event.fire(SYSTEM_EVENTS.GEO_HYBRID_UPDATE_ENABLE, enabled);\r\n }\r\n\r\n hybridGeoLocation(geoParams: {license: string;\r\n sessionKey: string;\r\n userId: string\r\n phone: string;\r\n reason: string; }): void {\r\n Event.fire(SYSTEM_EVENTS.GEO_HYBRID_GET_LOCATION, geoParams);\r\n }\r\n}","import {\r\n AIRecommendations,\r\n CmsUserSignature,\r\n ISdkService,\r\n OpenGameOptions,\r\n UserData, GameRawData, DateAndTimeFormat, ITokenInfo\r\n} from './sdk.service.interface';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n DeviceInfo,\r\n GetAutoLoginTokenResponse,\r\n ICgpSdk,\r\n CgpSkinInfo,\r\n GetPlatformTokenResponse,\r\n ISdkUtils,\r\n ISdkRegulationService,\r\n IDateFormattedToRegulationOffset\r\n} from './cgp-sdk.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IRunningGameHandler} from '../games/running-game-handler.interface';\r\nimport {SdkEvents} from './sdk-events';\r\nimport {ISdkComponentRenderer} from '../sdk-component-factory/sdk-component-factory.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {CGP_OBJECT_NAME} from '../../app-bootstrap/constants';\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {BalanceType} from '../../../common/const/wallet_balance_type';\r\nimport IStructuredLoggingService from \"../../../common/interfaces/structured-logging-service-interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {IGeoLocationInfo} from \"../../../common/interfaces/geo-location-info.interface\";\r\nimport {IAbTestingFeatureProperties} from '../../../common/interfaces/ab-testing-interface';\r\nimport {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 IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {NullableString, UndefinedString} from '../../../common/types/nullable-types';\r\nimport {LoadScriptOptions} from \"../../../common/interfaces/load-script-options\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\r\n\r\nexport interface IGetAiRecommendationsOptions {\r\n maxGames?: number;\r\n filterOutRecentlyPlayedGames?: boolean;\r\n numberOfRecentlyPlayedGameToFilterOut?: number;\r\n}\r\n\r\nexport class SdkService extends ServiceBase implements ISdkService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n\r\n //setTimeout to avoid circular dependency\r\n //SdkService (constructor)\r\n // => OAuth2AnonymousState (_onRunAutologin)\r\n // => OAuth2BackendProxy (_loginMethod is calling isMigrationEnabledFromConfig from PlayerMigrationService)\r\n // => PlayerMigrationService (isMigrationEnabledFromConfig)\r\n // => ConfigurationService (servicesConfigs is calling SdkService.getConfigs())\r\n // => SdkService - and here because the call was initiated in the SdkConstructor the ServiceFactory will execute again teh SdkService constructor.\r\n setTimeout(() => {\r\n this._updateLocalStorageAccordingToCookie();\r\n });\r\n\r\n\r\n this._displayHybrid();\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n () => {\r\n if (this.services.location.hasNavigationHistory) {\r\n this.CGP.routeChanged();\r\n }\r\n });\r\n }\r\n\r\n private _displayHybrid() {\r\n //F TO DO why is this here and not in the SDK ?\r\n if (Check.isFunction(this.CGP.displayHybrid)) {\r\n this.CGP.displayHybrid();\r\n }\r\n }\r\n\r\n private _events: SdkEvents = null;\r\n\r\n get events(): SdkEvents {\r\n if (!this._events) {\r\n this._events = new SdkEvents(this.CGP);\r\n }\r\n\r\n return this._events;\r\n }\r\n\r\n\r\n private get CGP(): ICgpSdk {\r\n return this.services.window.getGlobalProperty(CGP_OBJECT_NAME) as ICgpSdk;\r\n }\r\n\r\n\r\n get isAuthorized(): boolean {\r\n return this.CGP.isAuthorized();\r\n }\r\n\r\n get isLoginFromRegistration(): boolean {\r\n return this.CGP.isLoginFromRegistration();\r\n }\r\n\r\n get getCGPMaxOverlayZIndex(): number {\r\n return this.CGP.getCGPMaxOverlayZIndex();\r\n }\r\n\r\n get structuredLoggingService(): IStructuredLoggingService {\r\n return this.CGP.structuredLoggingService();\r\n }\r\n\r\n get dateAndTimeFormat(): DateAndTimeFormat {\r\n return this.CGP.getRegulationDateAndTimeFormat();\r\n }\r\n\r\n get userData(): UserData {\r\n let rawUserData = this.CGP.getUserData();\r\n let rawAccountData = (rawUserData && rawUserData.accountData) || {};\r\n\r\n\r\n return {\r\n userName: rawUserData?.userName,\r\n firstName: rawAccountData.FirstName,\r\n lastName: rawAccountData.LastName,\r\n IsVIP: this.CGP.isVIP(),\r\n DWHGameGroupOrientation: rawAccountData.DWHGameGroupOrientation, // when product are asking to do something with user Orientation, - it is not this one. use this.services.userGameOrientation.gameGroup\r\n statusGroupId: rawAccountData.StatusGroupId,\r\n GenderId: rawAccountData.genderID,\r\n timeSinceRegistration: rawAccountData.TimeSinceRegistration,\r\n cid: rawUserData?.cid,\r\n playerRMStatus: rawAccountData.PlayerRMStatus,\r\n sessionId: this.CGP.getSessionId(),\r\n registrationCountry: rawAccountData.RegistrationCountry,\r\n joinDate: rawAccountData.JoinDate,\r\n isFTD: rawAccountData.FTDSubBrand === this.getSubBrandID(),\r\n IsPromotionPermitted: rawAccountData.IsPromotionPermitted,\r\n taxId: rawAccountData.TaxId,\r\n lastLogin: rawAccountData.LastLogin,\r\n lastLoginDateInTimeZone: rawAccountData.LastLoginDateInTimeZone,\r\n mobileNumber: rawAccountData.MobileNumber\r\n };\r\n }\r\n\r\n\r\n @observable.ref\r\n isSdkReady: boolean = true;\r\n\r\n @action.bound\r\n private _setIsSdkReady(value: boolean) {\r\n this.isSdkReady = value;\r\n }\r\n\r\n getAIRecommendations(options?: IGetAiRecommendationsOptions): Promise {\r\n return this.CGP.getAIList(options?.maxGames, options?.filterOutRecentlyPlayedGames, options?.numberOfRecentlyPlayedGameToFilterOut).then(data => {\r\n return {\r\n gameTypes: data.aiGameTypesArray || [],\r\n engine: data.aiEngine\r\n };\r\n });\r\n }\r\n\r\n getTrendingRecommendedGamesForPlayer(...listTypeIds: number[]): Promise<{[key: number]: number[]}> {\r\n return this.CGP.getTrendingRecommendedGamesForPlayer(listTypeIds);\r\n }\r\n\r\n getAINewRecommendations(options?: IGetAiRecommendationsOptions): Promise {\r\n return this.CGP.getAINewGamesList(options?.maxGames, options?.filterOutRecentlyPlayedGames, options?.numberOfRecentlyPlayedGameToFilterOut).then(data => {\r\n return {\r\n gameTypes: data.aiGameTypesArray || [],\r\n engine: data.aiEngine\r\n };\r\n });\r\n }\r\n\r\n getCurrentServerDate(): Date {\r\n return this.CGP.getCurrentServerDate();\r\n }\r\n\r\n formatToRegulationOffset(date: UndefinedString, dateFormattedToRegulation: UndefinedString): IDateFormattedToRegulationOffset {\r\n return this.CGP.formatToRegulationOffset(date, dateFormattedToRegulation);\r\n }\r\n\r\n getAbTestingData(): {[key: string]: IAbTestingFeatureProperties} {\r\n return this.CGP.getAbTestingData();\r\n }\r\n\r\n getAbTestingDataForFeature(featureName: string): IAbTestingFeatureProperties {\r\n return this.CGP.getAbTestingDataForFeature(featureName);\r\n }\r\n\r\n waitForAnonymousAbTestingData(): Promise {\r\n return this.CGP.waitForAnonymousAbTestingData();\r\n }\r\n\r\n sendAnalytics(category: string, action: string = null, label: string = null, value: string = null, omitStructuredLogger: boolean = null) {\r\n try {\r\n this.CGP.sendAnalytics({\r\n category: category,\r\n action: action,\r\n label: label,\r\n value: value,\r\n omitStructuredLogger: omitStructuredLogger\r\n });\r\n } catch (ex) {\r\n this.services.logger.error(`SdkService failed to sendAnalytics: ${ex}`);\r\n }\r\n }\r\n\r\n getCmsUserSignature(): CmsUserSignature {\r\n return this.CGP.getUserSegments();\r\n }\r\n\r\n formatMoney(value: number, withDecimal: boolean = false): string {\r\n return this.CGP.format$$$(value, withDecimal);\r\n }\r\n\r\n get device(): DeviceInfo {\r\n return this.CGP.device();\r\n }\r\n\r\n waitForAutologin(): Promise {\r\n return this.CGP.waitForAutologin();\r\n }\r\n\r\n getAnonymousPlayerAbTestingDataForFeature(featureName: string, shouldDefaultToLocalStorageData: boolean): IAbTestingFeatureProperties {\r\n return this.CGP.getAnonymousPlayerAbTestingDataForFeature(featureName, shouldDefaultToLocalStorageData);\r\n }\r\n\r\n isGameRunning(): boolean {\r\n return this.CGP.isGameRunning();\r\n }\r\n\r\n async openGame(options: OpenGameOptions): Promise {\r\n\r\n let openGameOptions: any = {...options};\r\n if (!options.showRegister) {\r\n openGameOptions.navbar = { //F TO DO - do we realy need this navbar option ?\r\n login: {\r\n showRegister: false\r\n }\r\n }\r\n }\r\n\r\n return await this.CGP.openGame(openGameOptions);\r\n\r\n }\r\n\r\n async openLoginForm(marketingParams?: MarketingParams): Promise {\r\n\r\n await this.CGP.openLoginForm(marketingParams);\r\n }\r\n\r\n createComponentRenderer(componentId: string): ISdkComponentRenderer {\r\n return this.CGP.createComponentRenderer(componentId) as ISdkComponentRenderer;\r\n }\r\n\r\n getGamesInfoForHistory(gameTypes: number[]): Promise {\r\n return this.CGP.getGamesInfoForHistory(gameTypes);\r\n }\r\n\r\n getGamesInfo(gameTypes: number[]): Promise {\r\n return this.CGP.getGamesInfo(gameTypes);\r\n }\r\n\r\n getGamesThemes(): Record {\r\n return this.CGP.getGamesThemes();\r\n }\r\n\r\n getGamesVendors(): Record {\r\n return this.CGP.getGamesVendors();\r\n }\r\n\r\n getGamesCompanies(): Record {\r\n return this.CGP.getGamesCompanies();\r\n }\r\n\r\n getAutoLoginToken(): Promise {\r\n return this.CGP.getAutoLoginToken();\r\n }\r\n\r\n getPlatformToken(): Promise {\r\n return this.CGP.getPlatformToken();\r\n }\r\n\r\n getFirebaseToken(): string {\r\n return this.CGP.getFirebaseToken();\r\n }\r\n\r\n getCorrelatedGames(gameType: number, numberOfGames: number = 3): Promise {\r\n return this.CGP.getCorrelatedGames(gameType, numberOfGames);\r\n }\r\n\r\n logout(): Promise {\r\n return this.CGP.logout();\r\n }\r\n\r\n getBrandID(): number {\r\n return this.CGP.getBrandID();\r\n }\r\n\r\n getSubBrandID(): number {\r\n return this.CGP.getSubBrandID();\r\n }\r\n\r\n getRegulationService(): ISdkRegulationService {\r\n return this.CGP.getRegulationService();\r\n }\r\n\r\n isHybridEmbeddedGame(gameType: number): boolean {\r\n return this.CGP.isHybridEmbeddedGame(gameType);\r\n }\r\n\r\n openHybridLink(url: string): void {\r\n this.CGP.openHybridLink(url);\r\n }\r\n\r\n private _updateLocalStorageAccordingToCookie() {\r\n try {\r\n let autologinCookie = this.services.cookies.getCookie('orbit_autologin_token');\r\n\r\n if (autologinCookie) {\r\n this.CGP.setAutoLoginToken(autologinCookie);\r\n }\r\n } catch (err) {\r\n this.services.logger.error('update local storage according to cookie failed. Error: ' + err);\r\n } finally {\r\n // Remove cookie\r\n this.services.cookies.removeCookie('orbit_autologin_token');\r\n }\r\n\r\n }\r\n\r\n getGRSEnvironmentUrls(): Promise {\r\n return this.CGP.getGRSEnvironments();\r\n }\r\n\r\n @computed\r\n get activeChallengeCount(): number {\r\n return this.CGP.countPlayerChallenges();\r\n }\r\n\r\n openInNewWindow(url: string, features?: string): void {\r\n return this.CGP.openInNewWindow(url, features);\r\n }\r\n\r\n executeMenuAction(id: string): void {\r\n this.CGP.menuActionExecute(id);\r\n }\r\n\r\n menuActionExecute(key: string): void {\r\n return this.CGP.menuActionExecute(key);\r\n }\r\n\r\n\r\n startLiveTableFeeds(): void {\r\n if (Check.isFunction(this.CGP.startLiveTableFeeds)) {\r\n this.CGP.startLiveTableFeeds();\r\n } else {\r\n //TODO - to be removed in the future\r\n (this.CGP as any).startEvolutionLiveFeeds();\r\n }\r\n }\r\n\r\n stopLiveTableFeeds(): void {\r\n if (Check.isFunction(this.CGP.stopLiveTableFeeds)) {\r\n this.CGP.stopLiveTableFeeds();\r\n } else {\r\n //TODO - to be removed in the future\r\n (this.CGP as any).stopEvolutionLiveFeeds();\r\n }\r\n }\r\n\r\n getDailyDealCampaigns() {\r\n return this.CGP.getDailyDealCampaigns();\r\n }\r\n\r\n getJackpotsById() {\r\n return this.CGP.getJackpotsById();\r\n }\r\n\r\n getJackpotsByGameType() {\r\n return this.CGP.getJackpotsByGameType();\r\n }\r\n\r\n getBankroll(balanceType: BalanceType, plainNumber?: boolean) {\r\n return this.CGP.getBankroll(balanceType, plainNumber);\r\n }\r\n\r\n runAutoLogin(autoLoginParams: IAutoLoginParams) {\r\n return this.CGP.runAutoLogin(autoLoginParams);\r\n }\r\n\r\n\r\n getProductPackageId(): number {\r\n return this.CGP.getProductPackage();\r\n }\r\n\r\n getSkin(): CgpSkinInfo {\r\n return {\r\n getPlatformSystemID: () => this.CGP.getSkin().getPlatformSystemID(),\r\n getClientPlatform: () => this.CGP.getSkin().getClientPlatform(),\r\n getVersion: () => this.CGP.getSkin().getVersion(),\r\n getCulture: () => this.CGP.getSkin().getCulture(),\r\n getBrandName: () => this.CGP.getSkin().getBrandName(),\r\n getMinimumAge: () => this.CGP.getSkin().getMinimumAge(),\r\n getSerialData: (marketingData: any)=> this.CGP.getSkin().getSerialData(marketingData),\r\n getDefaultHybridSerial: () => this.CGP.getSkin().getDefaultHybridSerial()\r\n };\r\n }\r\n\r\n getUtils(): ISdkUtils {\r\n return this.CGP.getUtils();\r\n };\r\n\r\n fireOrbitInitComplete(): void {\r\n this.CGP.onOrbitInitComplete();\r\n }\r\n\r\n getEnvironment(): string {\r\n return this.CGP.getEnvironment();\r\n }\r\n\r\n pushDataToDataLayer(data: {}): void {\r\n this.CGP.pushDataToDataLayer(data);\r\n }\r\n\r\n getCountryName() {\r\n return this.CGP.getCountryName();\r\n }\r\n\r\n getCountryIso3(): string {\r\n return this.CGP.getCountryIso3();\r\n }\r\n\r\n getSupportedStates(): IStateOfResidence[] {\r\n return this.CGP.getSupportedStates();\r\n }\r\n\r\n getWrongLocationDetectionPath(): string {\r\n return this.CGP.getWrongLocationDetectionPath();\r\n }\r\n\r\n httpPost(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpPost(url, requestData);\r\n }\r\n\r\n httpGet(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpGet(url, requestData);\r\n }\r\n\r\n getConfigs(): any {\r\n return this.CGP.getConfigs();\r\n }\r\n\r\n loadScript(options: LoadScriptOptions): Promise {\r\n return this.CGP.loadScript(options);\r\n }\r\n\r\n getRefreshToken(): string {\r\n return this.CGP.getRefreshToken();\r\n }\r\n\r\n getCurrencyIso3(): string {\r\n return this.CGP.getCurrencyIso3();\r\n }\r\n\r\n get overlayZIndex() {\r\n return this.CGP.overlayZIndex;\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.CGP.getGoogleClientID();\r\n }\r\n\r\n isInAutologin(): boolean {\r\n return this.CGP.isInAutologin();\r\n }\r\n\r\n fireDepositWidgetClosed(): void {\r\n this.CGP.fireDepositWidgetClosed();\r\n }\r\n\r\n get tokenInfo(): ITokenInfo | null {\r\n return this.CGP.getToken() || null;\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.CGP.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.CGP.stopCurrentGameAutoplay();\r\n }\r\n\r\n getGeoLocationInfo(): Promise {\r\n return this.CGP.getGeoLocationInfo();\r\n }\r\n\r\n getDownloadAppLink(): string {\r\n return this.CGP.getDownloadAppLink();\r\n }\r\n\r\n isDepositWidgetSupportedByHybrid(): boolean {\r\n return this.CGP.isDepositWidgetSupportedByHybrid();\r\n }\r\n\r\n promptPushNotificationPermissionRequest() {\r\n return this.CGP.promptPushNotificationPermissionRequest();\r\n }\r\n\r\n openPopUpOnSecondWebView(content: string, timeout: number): void {\r\n this.CGP.openPopUpOnSecondWebView(content, timeout);\r\n }\r\n\r\n closePopUpOnSecondWebView(): void {\r\n this.CGP.closePopUpOnSecondWebView();\r\n }\r\n\r\n getBurnoutAnimationZIndex() {\r\n return this.CGP.getBurnoutAnimationZIndex();\r\n }\r\n\r\n get hybrid(): 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 stopGameTimeReminders(): void {\r\n this.CGP.stopGameTimeReminders();\r\n }\r\n\r\n startAutoRetryGeoProcess(): Promise {\r\n return this.CGP.startAutoRetryGeoProcess();\r\n }\r\n\r\n extractTokenProperty(tokenProperty: string) {\r\n return this.CGP.extractTokenProperty(tokenProperty);\r\n }\r\n\r\n updateTokenProperty(tokenProperty: string, value: NullableString): void {\r\n this.CGP.updateTokenProperty(tokenProperty, value);\r\n }\r\n\r\n isLoginPopupEnabled(): boolean {\r\n return this.CGP.isLoginPopupEnabled();\r\n }\r\n\r\n getAccountData(): any {\r\n return this.CGP.getAccountData();\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.CGP.getTempAccountGnwpSource();\r\n }\r\n\r\n openOptions(screenType: string, innerScreen?: string): void {\r\n this.CGP.openOptions(screenType, innerScreen);\r\n }\r\n\r\n get isPlayerMessagesConnected(): boolean {\r\n return this.CGP.isPlayerMessagesConnected();\r\n }\r\n\r\n getGameRestriction(gameType: number, gameGroupId: number, vendorId: number): IGameRestriction {\r\n return this.CGP.getGameRestriction(gameType, gameGroupId, vendorId);\r\n }\r\n\r\n}","export const CGP_OBJECT_NAME = 'CGP';\r\n\r\n\r\n","import React from 'react';\r\nimport {IGamesFilterStrategy} from \"../games-filter-strategy.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GamesMap} from \"../../../games/games.service.interface\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {IFilterIndicatorRenderingOptions} from \"../../games-filter.service.interface\";\r\n\r\nexport class NoGamesFilterStrategy implements IGamesFilterStrategy {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n get filteredGamesMap(): GamesMap {\r\n return this.services.games.gamesMap;\r\n }\r\n readonly isFilteringAvailable: boolean = false;\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n return null;\r\n }\r\n\r\n renderFiltersIndicator(): Nullable {\r\n return null;\r\n }\r\n\r\n showFiltersEditor(): void {\r\n }\r\n\r\n dispose(): void {\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\r\n }\r\n}","import {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\n\r\nexport const GAMES_FILTERS_STORAGE_KEY = 'orbitGamesFiltersData';\r\n\r\nexport class GamesFiltersStorage {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n this._savedFilters = this.services.localStorage.getJson(GAMES_FILTERS_STORAGE_KEY) || {};\r\n }\r\n\r\n private _savedFilters: Record = {};\r\n\r\n saveFiltersForCurrentArena(filterIds: string[]): void {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n if(arenaType) {\r\n this._savedFilters[arenaType] = filterIds;\r\n this.services.localStorage.setJson(GAMES_FILTERS_STORAGE_KEY, this._savedFilters);\r\n }\r\n }\r\n\r\n clearAllSavedFilters(): void {\r\n this._savedFilters = {};\r\n this.services.localStorage.removeItem(GAMES_FILTERS_STORAGE_KEY);\r\n }\r\n\r\n getSavedFiltersForCurrentArena(): string[] {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n if(arenaType) {\r\n return this._savedFilters[arenaType] ?? []\r\n }\r\n return [];\r\n }\r\n}","import {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n IGamesFilterService,\r\n IFilterIndicatorRenderingOptions\r\n} from './games-filter.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGamesFilterStrategy} from \"./strategies/games-filter-strategy.interface\";\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport React from \"react\";\r\nimport {action, computed, makeObservable, observable} from \"mobx\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {NoGamesFilterStrategy} from \"./strategies/no-filter/no-games-filter.strategy\";\r\nimport {IArenaViewModel} from '../arenas/models/arenas/arena-view-model.interface';\r\nimport {GamesFiltersStorage} from \"./games-filters-storage\";\r\n\r\nconst FILTERS_HASH_NAME = '#filters=';\r\n\r\nexport class GamesFilterService extends ServiceBase implements IGamesFilterService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n this._gamesFilterStorage = new GamesFiltersStorage(services);\r\n\r\n this.reaction(() => this.services.routing.currentRoute, () => {\r\n this._setCurrentStrategy(this.services.arenas.getCurrentArena());\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => this.services.location.currentUri, () => {\r\n if(!this.services.location.currentUri.hash?.toString()) {\r\n const savedFilters = this._gamesFilterStorage.getSavedFiltersForCurrentArena();\r\n if(savedFilters.length > 0) {\r\n this.applyFilters(savedFilters);\r\n }\r\n } else if(this.isCurrentUrlHashWithFilters) {\r\n const savedFiltersForCurrentArena = this._gamesFilterStorage.getSavedFiltersForCurrentArena();\r\n if(savedFiltersForCurrentArena.toString() !== this.currentAppliedFiltersIds.toString()) {\r\n this._gamesFilterStorage.saveFiltersForCurrentArena(this.currentAppliedFiltersIds);\r\n }\r\n }\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => this.services.user.isAuthorized, () => {\r\n if(!this.services.user.isAuthorized) {\r\n this._gamesFilterStorage.clearAllSavedFilters();\r\n }\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n\r\n private readonly _gamesFilterStorage: GamesFiltersStorage;\r\n\r\n @action.bound\r\n private _setCurrentStrategy(currentArena: IArenaViewModel) {\r\n if (this._currentFilteringStrategy) {\r\n this._currentFilteringStrategy.dispose();\r\n }\r\n\r\n if(currentArena) {\r\n this._currentFilteringStrategy = currentArena.getGamesFilteringStrategy();\r\n } else {\r\n this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n }\r\n }\r\n\r\n private get isCurrentUrlHashWithFilters() {\r\n const hash = this.services.location.currentUri.hash?.toString();\r\n if(!hash) {\r\n return false;\r\n }\r\n\r\n return hash.toLowerCase().startsWith(FILTERS_HASH_NAME)\r\n }\r\n\r\n get filteredGamesMap(): Record {\r\n return this._currentFilteringStrategy.filteredGamesMap;\r\n }\r\n\r\n @computed\r\n get currentAppliedFiltersIds(): string[] {\r\n const urlHash = this.services.location.currentUri.hash?.value;\r\n if(urlHash) {\r\n let params = urlHash.split('=');\r\n if(params[0]?.toLowerCase() === 'filters') {\r\n return params[1].split(',');\r\n }\r\n }\r\n\r\n return [];\r\n }\r\n\r\n async applyFilters(filterIds: string[]): Promise {\r\n this.services.window.scrollTo(0, 0);\r\n if(filterIds.length > 0) {\r\n await this.services.location.push(FILTERS_HASH_NAME + filterIds.join(','));\r\n this._gamesFilterStorage.saveFiltersForCurrentArena(filterIds);\r\n } else {\r\n await this.clearFilters();\r\n }\r\n }\r\n\r\n async clearFilters(): Promise {\r\n if(this.isFilterOn) {\r\n this._gamesFilterStorage.saveFiltersForCurrentArena([]);\r\n await this.services.location.push(this.services.location.currentUri.getUrlWithoutHash());\r\n }\r\n }\r\n\r\n @observable.ref\r\n private _currentFilteringStrategy: IGamesFilterStrategy;\r\n\r\n\r\n\r\n get isFilterOn(): boolean {\r\n return this.currentAppliedFiltersIds.length > 0;\r\n }\r\n\r\n get isFilteringAvailable(): boolean {\r\n return this._currentFilteringStrategy.isFilteringAvailable;\r\n }\r\n\r\n isFilterApplied(filterId: string): boolean {\r\n return this.currentAppliedFiltersIds.includes(filterId);\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n return this._currentFilteringStrategy.renderMobileFiltersIndicator();\r\n }\r\n\r\n renderFiltersIndicator(): Nullable {\r\n return this._currentFilteringStrategy.renderFiltersIndicator();\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this._currentFilteringStrategy.showFiltersEditor();\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return this._currentFilteringStrategy.getNumberOfGamesBeforeUserApply(filterIDS);\r\n }\r\n}\r\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {MenuItemKey} from '../../../../services/configurations/config-data-sections/generated-config-const';\r\nimport {MenuItemComponentProps} from '../../../../services/menu-items-common/menu-item-component-props.interface';\r\nimport {UsefulLinksListBox} from '../../boxes/useful-links-list/useful-links-list.box';\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\ninterface ExpandableUsefulLinkitemComponentProps extends MenuItemComponentProps {\r\n subItems: MenuItemKey[];\r\n onSubItemClick?: () => void;\r\n}\r\n\r\nexport const ExpandableUsefulLinkItemComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n let [expanded, setExpanded] = useState(false);\r\n let subItems = useMemo(() => {\r\n return props.subItems\r\n .map((key) => services.userMenu.getUsefulLinkMenuItem(key))\r\n .filter((menuItem) => menuItem.display);\r\n }, [props.subItems, services]);\r\n\r\n const onClickHandler = useCallback(() => {\r\n // For expandable, don;t use \"props.menuItem.execute();\" we don't want to navigate and we don't want to close the user menu\r\n setExpanded((currentValue) => !currentValue);\r\n }, []);\r\n\r\n let height = useRef((subItems.length * 3.75) + \"rem\");\r\n const onLinksListBoxCaptureRef = useCallback((el: HTMLElement | null) => {\r\n if (el) {\r\n const heightCssVal = el.style.height;\r\n el.style.height = \"auto\";\r\n const rect = el.getBoundingClientRect();\r\n height.current = rect.height + \"px\";\r\n el.style.height = heightCssVal;\r\n }\r\n }, []);\r\n\r\n if (subItems.length === 0) {\r\n return null;\r\n }\r\n\r\n if (subItems.length === 1) {\r\n return subItems[0].renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: props.showSeparator});\r\n }\r\n\r\n return \r\n \r\n { subItems.map((menuItem) => menuItem.renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: false, className: CyClass('cy-useful-links-subitem')})) }\r\n \r\n
    \r\n\r\n});","import React from 'react';\r\nimport {ExpandableUsefulLinkItemComponent} from \"../../../../components/useful-links/parts/useful-link-item/expandable-useful-link-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {ExpandableMenuItemConfig} from '../../../menu-items-common/expandable/expandable-menu-item.interface';\r\nimport {IMenuItemConfigReader} from '../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface';\r\nimport {IServiceFactoryExtended} from '../../../service-factory-extended.interface';\r\nimport {IRenderMenuItemOptions} from '../../../menu-items-common/renderer/menu-item.renderer.interface';\r\nimport classNames from 'classnames';\r\n\r\nexport class GenericExpandableUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(public readonly expandableKey: ExpandableMenuItemConfig,\r\n configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended\r\n ) {\r\n super(expandableKey.menuItemKey, configReader, services)\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {IMenuItemConfigReader} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CustomMenuItemRendererConstructorDefinition, IMenuItemRenderer} from \"./menu-item.renderer.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\n\r\nexport function loadCustomMenuItemsRenderers(rendererModules: any[],\r\n menuItemConfigReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended): Record {\r\n return rendererModules.map((module: any) => {\r\n const RendererConstructor: CustomMenuItemRendererConstructorDefinition = module.default;\r\n return new RendererConstructor(menuItemConfigReader, services);\r\n }).toDictionary(item => item.key);\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuItemsTitleBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0.5rem 0;\r\n font-size: 1.4rem;\r\n color: ${props => props.theme.colors.textLight};\r\n`;\r\n","import {RedTigerJackpotWidgetConfiguration} from './red-tiger-jackpot-widget.configuration';\r\nimport {JackpotWidgetConfiguration} from './jackpot-widget.configuration';\r\nimport {HomePageHeaderArena} from \"./home-page.configuration\";\r\nimport {LinkToOfferConfiguration} from \"./link-to-offer.configuration\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\nimport {\r\n CategoryDefinitionId\r\n} from \"../../games-filter/filters-categories-definitions/filter-category-definition.interface\";\r\nimport {GAME_GROUP} from \"../../../../common/const/game_groups_consts\";\r\nimport { TitanJackpotWidgetConfiguration } from './titan-jackpot-widget.configuration';\r\n\r\nexport interface InfoSideBarConfiguration {\r\n readonly infoImage: string;\r\n readonly infoTitle: string;\r\n readonly infoText: string;\r\n}\r\n\r\nexport enum ApiListType {\r\n TOP_PICKS = \"TOP_PICKS\",\r\n NEW_GAMES = \"NEW_GAMES\",\r\n PLAYERS_LIKE_YOU = \"PLAYERS_LIKE_YOU\",\r\n RECENTLY_PLAYED = \"RECENTLY_PLAYED\",\r\n STATIC_VIDEO = \"STATIC_VIDEO\",\r\n LIVE_CASINO_VIDEO = \"LIVE_CASINO_VIDEO\",\r\n BECAUSE_YOU_PLAYED = \"BECAUSE_YOU_PLAYED\",\r\n}\r\n\r\nexport interface ListConfiguration {\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly gamesId: number[];\r\n readonly isSelfUpdatedByNewest?: boolean;\r\n readonly forceRoundIcons?: boolean;\r\n}\r\n\r\n\r\n\r\nexport interface SeoSectionConfiguration {\r\n display: boolean;\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n}\r\n\r\nexport interface HeaderArenaConfiguration {\r\n display: boolean;\r\n title: string;\r\n image: string;\r\n link: string;\r\n}\r\n\r\nexport type AnimatedTopImageEngine = \"pixi\" | \"lottie\";\r\nexport interface AnimatedTopImageConfiguration {\r\n url: string;\r\n engine?: AnimatedTopImageEngine;\r\n}\r\n\r\nexport interface ArenaCommonConfiguration {\r\n topImage: string;\r\n animatedTopImage?: AnimatedTopImageConfiguration;\r\n title: string;\r\n seoSection: SeoSectionConfiguration;\r\n}\r\n\r\nexport interface 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 left: 0;\r\n \r\n ${props => props.useSquareIcons ? css`\r\n bottom: 0;\r\n max-width: 40%;\r\n ` \r\n : css`\r\n top: 0;\r\n height: 24%;\r\n width: 23%;\r\n `}\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameBadgeDefaultBox} from './game-badge.default.box';\r\n\r\nexport const GameBadgeCasino777Box = styled(GameBadgeDefaultBox)`\r\n height: 28%;\r\n width: 28%;\r\n`;","import {GameBadgeDefaultBox} from './game-badge.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameBadgeCasino777Box} from './game-badge.casino777.box';\r\n\r\nexport const GameBadgeBox = styledByTheme(GameBadgeDefaultBox)\r\n .forCasino777(GameBadgeCasino777Box)\r\n .apply();\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {GameBadgeBox} from '../../boxes/game-badge/game-badge.box';\r\n\r\nexport interface GameBadgeComponentProps {\r\n badgeUrl?: string;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\n\r\nexport class GameBadgeComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.badgeUrl) {\r\n return null;\r\n }\r\n\r\n if(this.props.badgeUrl) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n }\r\n}\r\n","import React from 'react';\r\nimport {GameBadgeComponent} from '../game-badge/game-badge.component';\r\nimport {GameImageComponent, GameIconAnimationState} from '../game-image/game-image.component';\r\nimport {observer} from 'mobx-react';\r\nimport {TapHandler} from '../../../../tap-handler/tap-handler.component';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {GAME_IMAGE_CONTAINER} from '../../../css-constants';\r\nimport {OrbitComponentWithState} from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\n\r\ninterface GameImageContainerComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport interface GameGameImageContainerComponentProps {\r\n gameInfo: GameInfo;\r\n box: AnyStyledComponent;\r\n playRealGameButton: React.ReactNode | null;\r\n onOpenRealGame: () => void;\r\n useSquareIcons?: boolean;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n}\r\n\r\n\r\nexport const GameImageContainerComponent = observer(\r\n class GameImageContainerComponent extends OrbitComponentWithState {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n }\r\n\r\n private _handleImageDoneLoading = () => {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n //className=\"game-item-image\"\r\n const gameItemImageRef: any = React.createRef();\r\n const Box = this.props.box;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.props.playRealGameButton}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {TWO_LINES_TITLE} from '../../../css-constants';\r\n\r\nexport const GameTitleDefaultBox = styled.div<{hasTwoLinesTitle?: boolean}>`\r\n text-align: center;\r\n color: ${props => props.theme.colors.backgroundContrast};\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n line-height: normal;\r\n width: 100%;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n direction: initial;\r\n padding-bottom: 2px;\r\n\r\n &.${TWO_LINES_TITLE} {\r\n max-width: 90%;\r\n white-space: initial;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.2rem;\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`\r\n","import styled from \"styled-components\";\r\nimport {GameTitleDefaultBox} from \"./game-title.default.box\";\r\n\r\nexport const GameTitleCipBox = styled(GameTitleDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.regular};\r\n }\r\n`","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleSIBox = styled(GameTitleDefaultBox)`\r\n font-weight: bold;\r\n`\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleMrGreenBox = styled(GameTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.light}\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\nimport {GameTitleCipBox} from \"./game-title.cip.box\";\r\nimport {GameTitleSIBox} from \"./game-title.si.box\";\r\nimport {GameTitleMrGreenBox} from './game-title.mrgreen.box';\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox)\r\n .forCip(GameTitleCipBox)\r\n .forWsopCip(GameTitleCipBox)\r\n .forSI(GameTitleSIBox)\r\n .forSICis(GameTitleSIBox)\r\n .forCasino777(GameTitleCasino777Box)\r\n .forMrGreen(GameTitleMrGreenBox).apply();","import styled from 'styled-components';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n text-align: center;\r\n opacity: 1;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n\r\nexport const MinMaxBetAmountDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './min-max-bet-amount.default.box';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n font-size: 1.4rem;\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n\r\n\r\nexport const MinMaxBetAmountCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\n\r\nexport const MinMaxBetAmountSIBox = styled(MinMaxBetAmountDefaultBox) `\r\n color: ${({theme}) => theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\nimport {baseColors} from '../../../../../themes/definitions/mrgreen/base-colors';\r\n\r\nexport const MinMaxBetAmountMrGreenBox = styled(MinMaxBetAmountDefaultBox)`\r\n color: ${baseColors.gray033};\r\n\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${baseColors.gray033};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\n\r\nexport const MinMaxBetAmountCisBox = styled(MinMaxBetAmountDefaultBox)`\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n }\r\n`;\r\n","import {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {MinMaxBetAmountCasino777Box} from './min-max-bet-amount.casino777.box';\r\nimport {MinMaxBetAmountSIBox} from './min-max-bet-amount.si.box';\r\nimport {MinMaxBetAmountMrGreenBox} from './min-max-bet-amount.mrgreen.box';\r\nimport { MinMaxBetAmountCisBox } from './min-max-bet-amount.cis.box';\r\n\r\nexport const MinMaxBetAmountBox = styledByTheme(MinMaxBetAmountDefaultBox)\r\n .forCasino777(MinMaxBetAmountCasino777Box)\r\n .forSI(MinMaxBetAmountSIBox)\r\n .forMrGreen(MinMaxBetAmountMrGreenBox)\r\n .forMrGreenCis(MinMaxBetAmountMrGreenBox)\r\n .forCis(MinMaxBetAmountCisBox)\r\n .forCip(MinMaxBetAmountCisBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\n\r\nexport interface InfoPageButtonComponentProps {\r\n enabled: boolean;\r\n onOpenInfoPage: () => void;\r\n}\r\n\r\nexport const InfoPageButtonComponent = observer(\r\n class InfoPageButtonComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.enabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {GameButtonsDefaultBox} from './game-buttons.default.box';\r\n\r\nexport const GameButtonsBox = GameButtonsDefaultBox;","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n//.hover-details\r\nexport const GameButtonsDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n width: 100%;\r\n z-index: 2;\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n transform: translateY(5rem);\r\n opacity: 0;\r\n transition: all 0.3s ease-in-out;\r\n padding-top: 2px;\r\n\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n`;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {CyClass} from '../../../../../../common/cy-classes';\r\n\r\nexport interface PlayDemoButtonComponentProps {\r\n enabled: boolean;\r\n onOpenAnonymousGame: () => void;\r\n}\r\n\r\nexport const PlayDemoButtonComponent = observer(\r\n class PlayDemoButtonComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.enabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n { this.services.translation.translate('DEMO') }\r\n \r\n );\r\n\r\n }\r\n }\r\n);\r\n\r\n","import styled from 'styled-components';\r\n\r\ninterface GameDetailsContainerProps {\r\n squareGameIcon?: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n align-content: center;\r\n justify-content: flex-start;\r\n top: ${props => props.squareGameIcon? '10px' : '0'};\r\n min-height: 4.7rem;\r\n padding: 0 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 4rem;\r\n padding: 0 0.4rem;\r\n top: ${props => props.squareGameIcon? '5px' : '0'};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n min-height: 3.6rem;\r\n }\r\n /** Glow Line Boottom **/\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowPC.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: bottom center;\r\n background-size: contain;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 40px;\r\n margin: 0 auto;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowMobile.toString()}\");\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {\r\n GameDetailsContainerDefaultBox\r\n} from './game-details-container.default.box';\r\n\r\n\r\n\r\nexport const GameDetailsContainerCasino777Box = styled(GameDetailsContainerDefaultBox)`\r\n overflow: initial;\r\n &:after {\r\n background-size: 75%;\r\n opacity: .6;\r\n height: 15px;\r\n bottom:-15px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n bottom:-18px;\r\n }\r\n }\r\n`","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameDetailsContainerCasino777Box} from './game-details-container.casino777.box';\r\n\r\nexport const GameDetailsContainerBox = styledByTheme(GameDetailsContainerDefaultBox).forCasino777(GameDetailsContainerCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 80%;\r\n text-align: center;\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n margin-bottom: 4px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n width: 100%;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\n\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountSiBox = styled(JackpotAmountDefaultBox)`\r\n font-size: ${props => props.theme.font.size.small};\r\n font-weight: 400;\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountMrgreenBox = styled(JackpotAmountDefaultBox)`\r\n width: 100%;\r\n`","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\nimport {JackpotAmountSiBox} from \"./jackpot-amount.si.box\";\r\nimport {JackpotAmountMrgreenBox} from \"./jackpot-amount.mrgreen.box\";\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox)\r\n .forCasino777(JackpotAmountCasino777Box)\r\n .forSI(JackpotAmountSiBox)\r\n .forSICis(JackpotAmountSiBox)\r\n .forMrGreen(JackpotAmountMrgreenBox)\r\n .forMrGreenCis(JackpotAmountMrgreenBox)\r\n .apply();","import {GameInfoContainerDefaultBox} from './game-info-container.default.box';\r\n\r\nexport const GameInfoContainerBox = GameInfoContainerDefaultBox;","import styled from 'styled-components';\r\nimport {ENABLE_HOVER_ANIMATION, GAME_BOX} from '../../../css-constants';\r\n\r\nexport const GameInfoContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n padding-top: 2px;\r\n width: 100%;\r\n transition: all 0.3s ease-in-out;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0;\r\n }\r\n \r\n\r\n .${GAME_BOX}:hover &{\r\n &.${ENABLE_HOVER_ANIMATION} {\r\n transform: translateY(6rem);\r\n opacity: 0;\r\n }\r\n \r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const AmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 2.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 2.0rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const TwoRowsGameTitleContainerBox = styled.div<{hasDetails: boolean}>`\r\n height: 3.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n height: 2.7rem;\r\n }\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport {observer} from 'mobx-react';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport classNames from 'classnames';\r\nimport {ENABLE_HOVER_ANIMATION, TWO_LINES_TITLE} from '../../../css-constants';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\n\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {MinMaxBetAmountBox} from '../../boxes/min-max-bet-amount/min-max-bet-amount.box';\r\nimport {InfoPageButtonComponent} from '../info-page-button/info-page-button.component';\r\nimport {GameButtonsBox} from '../../boxes/game-buttons/game-buttons.box';\r\nimport {PlayDemoButtonComponent} from '../play-demo-button/play-demo-button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\nimport {GameInfoContainerBox} from '../../boxes/game-info-container/game-info-container.box';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport { AmountContainerBox } from '../../boxes/amount-container/amount-container.box';\r\nimport { TwoRowsGameTitleContainerBox } from '../../boxes/two-rows-game-title-container/two-rows-game-title-container.box';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n squareGameIcon?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n\r\n private get _allowHoverDetails(): boolean {\r\n\r\n if (this.props.disableGameInfoHover || this.services.device.isMobile || !this.props.gameInfo.allowHoverDetails) {\r\n return false;\r\n }\r\n\r\n return Boolean(this.props.gameInfo.hasInfoPage || this.props.gameInfo.allowDemoButtonInSingleGame);\r\n }\r\n\r\n\r\n private _renderGameButtons() {\r\n if (!this._allowHoverDetails) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderAmount() {\r\n if (this.props.gameInfo.hasJackpot) {\r\n return this._renderJackpot();\r\n }\r\n\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n const hasMinMaxBets = this.props.gameInfo.allowMinMaxBet && formattedMinBaxBets;\r\n if (hasMinMaxBets) {\r\n return this._renderMinBaxBet();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _hasDetails() {\r\n return this.props.gameInfo.allowMinMaxBet || this.props.gameInfo.hasJackpot;\r\n }\r\n\r\n private _renderJackpot() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderMinBaxBet() {\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n return (\r\n \r\n {formattedMinBaxBets}\r\n \r\n );\r\n }\r\n\r\n private _renderTitle() {\r\n const hasDetails = this._hasDetails();\r\n if (this.props.hasTwoLinesTitle) {\r\n return \r\n \r\n {this.props.gameInfo.title}\r\n \r\n ;\r\n } else {\r\n return \r\n {this.props.gameInfo.title}\r\n ;\r\n }\r\n }\r\n\r\n private _renderGameInfoSection() {\r\n return (\r\n \r\n {this._renderTitle()}\r\n {this.props.hasTwoLinesTitle || this._hasDetails()?\r\n {this._renderAmount()}\r\n : null}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderGameInfoSection()}\r\n {this._renderGameButtons()}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {HOME_PAGE, LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface GameBoxProps {\r\n squareGameIcon: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n margin-top: 10px;\r\n margin-bottom: 3rem;\r\n width: calc(100% / 7);\r\n text-align: center;\r\n cursor: pointer;\r\n user-select: none;\r\n\r\n\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n justify-content: center;\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} &.${SWIPER_MODE} {\r\n width: 16.6667%;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1%;\r\n width: calc(100% / 7);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: ${props => props.squareGameIcon ? '15px' : '0'};\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0 4px;\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16.1%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 20%;\r\n &.${SWIPER_MODE} {\r\n width: 19%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 33.3333%;\r\n &.${SWIPER_MODE} {\r\n width: 31%;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game.default.box';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n margin-bottom: 5.5rem;\r\n\r\n .${SWIPER_MODE} &{\r\n height:24rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n width:14.25%;\r\n padding: 0 1%;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${SWIPER_MODE} & {\r\n height:22rem;\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${SWIPER_MODE} &{\r\n height: 18rem;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n .${SWIPER_MODE} &{\r\n height: 26rem;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport {GameDefaultBox} from \"./game.default.box\";\r\n\r\nexport const GameCisBox = styled(GameDefaultBox)`\r\n margin-bottom: 0;\r\n margin-top: 0\r\n`;","import {GameDefaultBox} from './game.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameCasino777Box} from './game.casino777.box';\r\nimport {GameCisBox} from \"./game.cis.box\";\r\n\r\n// TODO: address this any!!!!\r\nexport const GameBox: any = styledByTheme(GameDefaultBox)\r\n .forCis(GameCisBox)\r\n .forCasino777(GameCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n\r\nexport const PlayRealButtonDefaultBox = styled.button<{isMobileOS: boolean;}>`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0;\r\n transition: all 0.35s ease-in-out;\r\n\r\n @media ${({theme}) => theme.mediaQuery.hover} {\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n }\r\n\r\n /** For the moment in mobiles we want this only for 888 skin so default is not displayed */\r\n display: ${({isMobileOS}) => isMobileOS ? \"none\" : \"block\"};\r\n\r\n .${GAME_BOX}:active & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlExact} {\r\n background-position: -552px -408px;\r\n }\r\n\r\n`;","import styled from 'styled-components';\r\nimport {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\n\r\nexport const PlayRealButtonCasino777Box = styled(PlayRealButtonDefaultBox)`\r\n background-position: -195px -354px;\r\n width: 6.3rem;\r\n height: 6.3rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n background-position: -201px -358px;\r\n }\r\n`;","import styled, {keyframes} from 'styled-components';\r\nimport {DefaultTheme} from 'styled-components';\r\nimport {Color} from '../../../../../../common/utils/color-util';\r\nimport {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\n\r\nconst PulseAnimation = (props: {theme: DefaultTheme}) => keyframes`\r\n 0% {\r\n box-shadow: 0 0 0 0 ${Color.fromHex(props.theme.colors.brandPrimary, 0.8).rgba()};\r\n }\r\n 80% {\r\n box-shadow: 0 0 0 20px ${Color.fromHex(props.theme.colors.brandPrimary, 0).rgba()};\r\n }\r\n 100% {\r\n box-shadow: 0 0 0 0 ${Color.fromHex(props.theme.colors.brandPrimary, 0).rgba()};\r\n }\r\n`;\r\n\r\nexport const PlayRealButtonCasino888Box = styled(PlayRealButtonDefaultBox)`\r\n background-position: -553px -409px;\r\n width: 5rem;\r\n height: 5rem;\r\n border-radius: 50%;\r\n box-shadow: 0 0 0 0 ${(props) => Color.fromHex(props.theme.colors.brandPrimary, 0.5).rgba()};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlExact} {\r\n width: 6rem;\r\n height: 6rem;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 5rem;\r\n height: 5rem;\r\n background-position: -553px -409px;\r\n }\r\n\r\n /** For the moment for 888 skin we display it always (with opacity 0, we show it at click) */\r\n display: block;\r\n\r\n &:active, &.play-game-button-active {\r\n animation: ${PulseAnimation} 1s;\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n`;","import {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {PlayRealButtonCasino777Box} from './play-real-button.casino777.box';\r\nimport {PlayRealButtonCasino888Box} from './play-real-button.casino888.box';\r\n\r\n\r\nexport const PlayRealButtonBox = styledByTheme(PlayRealButtonDefaultBox)\r\n .forCasino888(PlayRealButtonCasino888Box)\r\n .forCasino777(PlayRealButtonCasino777Box).apply();\r\n","import styled, {css} from 'styled-components';\r\nimport { ORBIT_TAP } from '../../../../../themes/css-global-classes';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface GameImageContainerProps {\r\n isLoading?: boolean;\r\n squareIcon?: boolean;\r\n isCasinoGameIcon?: boolean;\r\n}\r\n\r\nfunction getPlaceholderBackground(theme, isLoading: boolean, isSquareIcon: boolean, isCasinoGameIcon: boolean): string {\r\n\r\n if (isLoading) {\r\n return theme.images.emptyImage.toString();\r\n }\r\n\r\n if (isCasinoGameIcon) {\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.cardAndTablesSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.cardAndTablesBackgroundImage.toString();\r\n }\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.defaultSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.defaultBackgroundImage.toString();\r\n}\r\n\r\n//.game-item-image\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n max-width: 21rem;\r\n margin: auto;\r\n background: url(${({theme, squareIcon, isLoading, isCasinoGameIcon}) => getPlaceholderBackground(theme, isLoading, squareIcon, isCasinoGameIcon)}) no-repeat center center;\r\n background-size: 100%;\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n background-size: 96%;\r\n `};\r\n\r\n &::after {\r\n position: absolute;\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n content: \"\";\r\n top: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n left: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n right: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n bottom: ${({squareIcon}) => squareIcon ? \"0\" : \"1.5rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n\r\n border-radius: ${({squareIcon}) => squareIcon ? \"1.5rem\" : \"35%\"};\r\n animation: LoadingAnimation 1s linear 3;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n transform: none;\r\n\r\n &.${ORBIT_TAP}, &:active {\r\n transform: scale(0.95);\r\n }\r\n\r\n ${props => props.squareIcon && css`\r\n border-radius: 8px;\r\n `};\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\n\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game-image-container.default.box';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\n\r\n\r\nfunction common(): string {\r\n return `\r\n max-width: 19rem;\r\n & > .${SINGLE_GAME_IMAGE} {\r\n top: 4px;\r\n position: relative;\r\n }\r\n `;\r\n}\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common()}\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &img {\r\n min-height: 139px\r\n .${LOBBY_PAGE} & {\r\n min-height: 125px;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common()}\r\n`;\r\n\r\nexport const GameImageContainerCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import React from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport { observer } from \"mobx-react\";\r\nimport {GameInfo} from \"../../../services/games/game-info\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileComponent} from \"../../live-streaming-tile/video-common-components/video-tile/video-tile.component\";\r\nimport {VideoItemContainerBox} from \"./boxes/video-item-container.box\";\r\nimport {IVideoPlayingService} from \"../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport enum VIDEO_ITEM_TYPE {\r\n LIVE_STREAM = 'Live-Streaming-Video-Item',\r\n STATIC = 'Static-Video-Item'\r\n}\r\n\r\nexport interface SingleGameVideoTemplateProps {\r\n gameInfo: GameInfo;\r\n intersectionTarget?: HTMLDivElement;\r\n onOpenRealGame: () => void;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n gameIndex?: number;\r\n onBringInCentralView?: (gameIndex: number) => void;\r\n\r\n}\r\n\r\n@observer\r\nexport class SingleGameVideoTemplate extends OrbitComponent {\r\n\r\n constructor(props: SingleGameVideoTemplateProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n\r\n private _inSwiperIntersectionObserver: IntersectionObserver | null = null;\r\n private _viewportIntersectionObserver: IntersectionObserver | null = null;\r\n private _videoContainerElement: HTMLDivElement | null = null;\r\n @observable.ref\r\n private _isInCenterStage = false;\r\n @observable.ref\r\n private _inViewport = false;\r\n\r\n private _captureVideoContainerRef = (element: HTMLDivElement | null) => {\r\n this._videoContainerElement = element;\r\n if (!this._inSwiperIntersectionObserver || !this._viewportIntersectionObserver) {\r\n return;\r\n }\r\n if (element) {\r\n this._inSwiperIntersectionObserver.observe(element);\r\n this._viewportIntersectionObserver.observe(element);\r\n } else {\r\n this._inSwiperIntersectionObserver.unobserve(element);\r\n this._viewportIntersectionObserver.unobserve(element);\r\n }\r\n }\r\n\r\n\r\n private _triggerOnBringInCentralView(): void {\r\n if (this._inViewport && this._isInCenterStage) {\r\n this.props.onBringInCentralView(this.props.gameIndex);\r\n }\r\n }\r\n\r\n private _createSwiperIntersectionObserver(element: HTMLElement) {\r\n const intersectionObserverOptions: IntersectionObserverInit = {\r\n threshold: 0.99,\r\n root: element\r\n };\r\n if (this.services.mediaQuery.xlAndAbove) {\r\n intersectionObserverOptions.rootMargin = \"0px -33.33%\";\r\n }\r\n\r\n this._inSwiperIntersectionObserver = new IntersectionObserver(this._inSwiperIntersectionObserverCallback, intersectionObserverOptions);\r\n }\r\n\r\n private _inSwiperIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setIsInCenterStage(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setIsInCenterStage(i: boolean) {\r\n this._isInCenterStage = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroySwiperIntersectionObserver() {\r\n if (this._inSwiperIntersectionObserver) {\r\n this._inSwiperIntersectionObserver.disconnect();\r\n this._inSwiperIntersectionObserver = null;\r\n }\r\n }\r\n\r\n private _createViewportIntersectionObserver() {\r\n this._viewportIntersectionObserver = new IntersectionObserver(this._viewportIntersectionObserverCallback, {\r\n threshold: 0.99\r\n });\r\n }\r\n\r\n private _viewportIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setInViewport(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setInViewport(i: boolean) {\r\n this._inViewport = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroyViewportIntersectionObserver() {\r\n if (this._viewportIntersectionObserver) {\r\n this._viewportIntersectionObserver.disconnect();\r\n this._viewportIntersectionObserver = null;\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this._createViewportIntersectionObserver();\r\n if (this._videoContainerElement) {\r\n this._viewportIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n if (this.props.intersectionTarget) {\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n if (this._videoContainerElement) {\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroySwiperIntersectionObserver();\r\n this._destroyViewportIntersectionObserver();\r\n }\r\n\r\n componentDidUpdate(prevProps: SingleGameVideoTemplateProps) {\r\n if (this.props.intersectionTarget) {\r\n if (this.props.intersectionTarget !== prevProps.intersectionTarget) {\r\n this._destroySwiperIntersectionObserver();\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n } else {\r\n this._destroySwiperIntersectionObserver();\r\n }\r\n }\r\n\r\n private _getVideoPlayingService = (): IVideoPlayingService => {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.LIVE_STREAM) {\r\n return this.services.liveStreamPlaying;\r\n }\r\n\r\n return this.services.staticVideoPlaying;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameImageContainerCasino777Box} from './game-image-container.casino777.box';\r\n\r\nexport const GameImageContainerBox = styledByTheme(GameImageContainerDefaultBox).forCasino777(GameImageContainerCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const GameNumberBadgeDefaultBox = styled.div`\r\n font-size: 100px;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.secondary};\r\n margin-right: -30px;\r\n color: ${props => props.theme.colors.backgroundDark};\r\n z-index: 2;\r\n text-shadow: -1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n -1px 1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px 1px 0 ${props => props.theme.colors.brandPrimary};\r\n\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: -17px;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 75px;\r\n margin-right: -16px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\n\r\nexport const GameNumberBadgeMrGreenBox = styled(GameNumberBadgeDefaultBox)`\r\n 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 styled from \"styled-components\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\n\r\nexport const GameNumberBadgeWsopBox = styled(GameNumberBadgeDefaultBox)`\r\n position: relative;\r\n left: 6px;\r\n font-family: ${({theme}) => theme.font.family.black};\r\n font-size: 6.5em;\r\n letter-spacing: -0.05em;\r\n line-height: 0.9;\r\n -webkit-text-stroke: 1px ${({theme}) => theme.colors.brandPrimary};\r\n\r\n text-shadow: #00000080 0 4px 3px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n font-size: 120px;\r\n -webkit-text-stroke-width: 2px;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: -30px;\r\n }\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\nimport {GameNumberBadgeMrGreenBox} from \"./game-number-badge.mrgreen.box\";\r\nimport {GameNumberBadgeWsopBox} from \"./game-number-badge.wsop.box\";\r\n\r\nexport const GameNumberBadgeBox = styledByTheme(GameNumberBadgeDefaultBox)\r\n .forMrGreen(GameNumberBadgeMrGreenBox)\r\n .forWsop(GameNumberBadgeWsopBox)\r\n .forWsopCip(GameNumberBadgeWsopBox)\r\n .apply();\r\n","import React from 'react'\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {PlayRealButtonBox} from './boxes/play-real-button/play-real-button.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameNumberBadgeBox} from \"./boxes/game-number-badge/game-number-badge.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport { GameIconAnimationState } from '../common/parts/game-image/game-image.component';\r\nimport classNames from 'classnames';\r\n\r\nexport interface SingleGameRegularTemplateComponentProps {\r\n className: string;\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onMouseEnter: () => void;\r\n onMouseLeave: () => void;\r\n onOpenRealGame: () => void;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n gameIndex?: number;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\ninterface SingleGameRegularTemplateComponentState {\r\n active: boolean;\r\n}\r\n\r\n@observer\r\nexport class SingleGameRegularTemplateComponent extends OrbitComponentWithState {\r\n public state = {\r\n active: false\r\n };\r\n public stateActiveTimeout: number | null = null;\r\n\r\n /**\r\n * TODO: If this helps INP web vitals then move the PlayRealButton to a new component including this callback and active state\r\n */\r\n private onPlayButtonMouseDown = () => {\r\n if (this.stateActiveTimeout) {\r\n clearTimeout(this.stateActiveTimeout);\r\n }\r\n this.setState({\r\n active: true,\r\n }, () => {\r\n this.stateActiveTimeout = setTimeout(() => {\r\n this.setState({\r\n active: false\r\n });\r\n this.stateActiveTimeout = null;\r\n }, 1100) as unknown as number\r\n });\r\n }\r\n\r\n get gameInfo(): GameInfo {\r\n return this.props.gameInfo;\r\n }\r\n\r\n private _renderPlayRealGameButton() {\r\n return ();\r\n }\r\n\r\n private _renderGameNumberBadge() {\r\n if(!this.props.showNumberBadge || Check.isNullOrUndefined(this.props.gameIndex)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.gameIndex+1}\r\n \r\n )\r\n }\r\n render() {\r\n return (\r\n <>\r\n\r\n {this._renderGameNumberBadge()}\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class CssClassNameBuilder {\r\n _classes: string[] = [];\r\n append(...classes): this {\r\n\r\n classes.forEach(item => {\r\n if(Check.isString(item)) {\r\n this._classes.push(item);\r\n } else if(Check.isArray(item)) {\r\n item.forEach(c => this._classes.push(String(c)));\r\n } else if (Check.isNullOrUndefined(item)) {\r\n // just ignore it\r\n } else {\r\n throw new Error('append method accepts only string or string[] as argument');\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n build() {\r\n let result = this._classes.reduce((acc, curr) => acc + ' ' + curr, '');\r\n return result.substring(1, result.length);\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 32%;\r\n margin: 10px 1% 0 0.25rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n padding-bottom: 5rem;\r\n cursor: pointer;\r\n user-select: none;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n justify-content: center;\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n flex-direction: row;\r\n justify-content: space-around;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 49%;\r\n flex-shrink: 0;\r\n padding: 0.5rem;\r\n margin-right:0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 100%;\r\n padding: 0 2em 1em;\r\n margin-left:0;\r\n margin-right:0;\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import {GameDefaultBox} from './game.default.box';\r\n\r\nexport const GameBox = GameDefaultBox;","import styled from 'styled-components';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 40%;\r\n max-width: 20rem;\r\n margin-left: 0;\r\n margin-right: 3.5rem;\r\n overflow: visible;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n\r\n &:after {\r\n content: \"\";\r\n background-image: url(\"${props => props.theme.images.verticalLineGlow.toString()}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n transform: translateX(100%);\r\n }\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n\r\n\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n }\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:after {\r\n right: -8%;\r\n width: 25px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 80%;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\n\r\nexport const GameImageContainerBox = GameImageContainerDefaultBox;","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\n\r\nexport const GameDetailsContainerBox = GameDetailsContainerDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n flex: 1 0 auto;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0;\r\n overflow: hidden;\r\n text-align: center;\r\n font-size: 1rem;\r\n align-items: flex-start;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 0.85rem;\r\n justify-content: space-between;\r\n min-height: 4rem;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n align-items: center;\r\n font-size: 0.7rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameTitleDefaultBox = styled.div`\r\n line-height: 2.5rem;\r\n font-size: 1.5em;\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n max-width: 13rem;\r\n line-height: 1.7;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n font-size: 1.9em;\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\n\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox).forCasino777(GameTitleCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 2.6em;\r\n width: 100%;\r\n margin-bottom: 4px;\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n font-size: 2.2em;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {baseColors} from \"../../../../../themes/definitions/casino777/base-colors\";\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-weight: 300;\r\n color: ${baseColors.base04Dark};\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n color: ${props => props.theme.colors.textLight};\r\n text-shadow: none;\r\n letter-spacing: .3px;\r\n -webkit-text-stroke-width: 0;\r\n -webkit-text-stroke-color: transparent;\r\n }\r\n`;\r\n","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox).forCasino777(JackpotAmountCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.gameInfo.title}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {this.services.translation.translate('HIT_THE_JACKPOT')}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {GAME_BOX_JACKPOT_TEMPLATE} from '../css-constants';\r\n\r\nexport interface SingleGameJackpotTemplateComponentProps {\r\n gameInfo: GameInfo;\r\n className: string;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const SingleGameJackpotTemplateComponent = observer(\r\n class SingleGameJackpotTemplateComponent extends OrbitComponent {\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {LiveGameContainerDefaultBox} from \"./live-game-container.default.box\";\r\n\r\nexport const LiveGameContainerBox = LiveGameContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveGameContainerDefaultBox = styled.div`\r\n\r\n flex-shrink: 0;\r\n width: calc(100% / 4);\r\n padding: 1rem 0.5rem 3rem 0.5rem;\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 1rem 0.5rem;\r\n }\r\n`;\r\n","import React from 'react'\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {LiveGameContainerBox} from './boxes/live-game-container/live-game-container.box';\r\nimport {LiveCasinoArenaGridItem} from '../../arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\n\r\nexport interface SingleGameLiveTemplateComponentProps {\r\n tableConfig: GameInfo;\r\n listTitle: string;\r\n gameIndex: number | undefined;\r\n seoCategory: string;\r\n}\r\n\r\nexport const SingleGameLiveTemplateComponent = observer(\r\n class SingleGameLiveTemplateComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import {VideoTileDefaultBox} from \"./video-tile-default.box\";\r\n\r\nexport const VideoTileBox = VideoTileDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n box-shadow: ${props => props.theme.colors.boxBorderDark} 0px 10px 8px -6px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n border-radius: 12px;\r\n border: 0.5px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.lAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 12.5vw;\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.mAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 25vw;\r\n }\r\n`;\r\n","import {VideoOverlayItemDefaultBox} from \"./video-overlay-item.default.box\";\r\n\r\nexport const VideoOverlayItemBox = VideoOverlayItemDefaultBox;\r\n","import styled, {css} from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\ninterface ILiveStreamingOverlayItemDefaultBoxProps {\r\n capsule?: boolean;\r\n transparent?: boolean;\r\n}\r\n\r\nexport const VideoOverlayItemDefaultBox = styled.div`\r\n display: flex;\r\n background: ${({theme, transparent}) => !transparent && hexToRgba(theme.colors.background.toString(), 0.7)};\r\n\r\n\r\n ${({capsule}) => !capsule ? css`\r\n padding: 2px;\r\n border-radius: 4px;\r\n ` : css`\r\n padding: 0 0.25rem;\r\n border-radius: 2rem;\r\n `}\r\n`;\r\n","import {VideoSoundButtonDefaultBox} from \"./video-sound-button-default.box\";\r\n\r\nexport const VideoSoundButtonBox = VideoSoundButtonDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoSoundButtonDefaultBox = styled.div`\r\n padding: 0.25rem;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.9) };\r\n border-radius: 50%;\r\n`;\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoSoundButtonBox} from \"./boxes/video-sound-button.box\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoSoundButtonComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n}\r\n\r\nexport class VideoSoundButtonComponent extends OrbitComponent {\r\n private _renderIcon() {\r\n\r\n if (this.props.videoPlayingService.isVideoMuted) {\r\n const MuteIcon = this.services.theme.currentTheme.icons.muteIcon;\r\n return ;\r\n }\r\n\r\n const UnmuteIcon = this.services.theme.currentTheme.icons.unmuteIcon;\r\n return ;\r\n }\r\n\r\n private _handleClick() {\r\n this.props.videoPlayingService.toggleVideoSound();\r\n }\r\n\r\n render() {\r\n return (\r\n this._handleClick()}>\r\n {this._renderIcon()}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoOverlayItemBox} from \"../video-overlay-item/video-overlay-item.box\";\r\nimport {VideoSoundButtonComponent} from \"../video-sound-button/video-sound-button.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoTileOverlayComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n videoPlaying: boolean;\r\n bottomLeftComponent?: React.ReactNode;\r\n bottomRightComponent?: React.ReactNode;\r\n}\r\n\r\nexport class VideoTileOverlayComponent extends OrbitComponent {\r\n\r\n private _padding = \"1rem\";\r\n\r\n private _renderTopRight(): React.ReactElement {\r\n if (!this.props.videoPlaying) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderBottomLeft(): React.ReactElement {\r\n if (!this.props.bottomLeftComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomLeftComponent}\r\n \r\n );\r\n }\r\n\r\n private _renderBottomRight(): React.ReactElement {\r\n if (!this.props.bottomRightComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomRightComponent}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderTopRight()}\r\n {this._renderBottomLeft()}\r\n {this._renderBottomRight()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoTileOverlayDefaultBox} from \"./video-tile-overlay-default.box\";\r\n\r\nexport const VideoTileOverlayBox = VideoTileOverlayDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n background: rgba(0,0,0,0.5);\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoTileStaticImageOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0px;\r\n right: 0;\r\n background-color: ${props => hexToRgba(props.theme.colors.background, 0.85)};;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\nimport {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\n\r\nexport const VideoTileStaticImageOverlayMrGreenBox = styled(VideoTileStaticImageOverlayDefaultBox)`\r\n background-color: ${props => hexToRgba(props.theme.colors.backgroundMiddleDark, 0.85)};\r\n`;\r\n","import {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoTileStaticImageOverlayMrGreenBox} from \"./video-tile-static-image-overlay.mrgreen.box\";\r\n\r\nexport const VideoTileStaticImageOverlayBox = styledByTheme(VideoTileStaticImageOverlayDefaultBox)\r\n .forMrGreen(VideoTileStaticImageOverlayMrGreenBox)\r\n .apply();\r\n","import {VideoTileSkeletonContainerDefaultBox} from \"./video-tile-skeleton-container-default.box\";\r\n\r\nexport const VideoTileSkeletonContainerBox = VideoTileSkeletonContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.video`\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const VideoDefaultBox = DefaultBox;\r\n","import { VideoDefaultBox } from './video-default.box';\r\nimport { styledByTheme } from '../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const VideoBox = styledByTheme(VideoDefaultBox).apply();\r\n","import { VideoPlayButtonDefaultBox } from './video-play-button.default.box';\r\n\r\n\r\nexport const VideoPlayButtonBox = VideoPlayButtonDefaultBox;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const VideoPlayButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0.9;\r\n transform: scale(1.5);\r\n transform: translateY(0);\r\n transition: all 0.35s ease-in-out;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\ninterface LiveStreamingVideoContainerBoxProps {\r\n videoIsLoading: boolean;\r\n videoWatchTimeLimitReached: boolean;\r\n displayVideo: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n display: ${props => props.displayVideo ? 'block' : 'none'};\r\n width: 100%;\r\n height: 100%;\r\n ${props => props.videoIsLoading || props.videoWatchTimeLimitReached ? 'filter: blur(2px)' : null};\r\n`;\r\n\r\nexport const VideoContainerDefaultBox = DefaultBox;\r\n","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { VideoContainerDefaultBox } from './video-container-default.box';\r\n\r\nexport const VideoContainerBox = styledByTheme(VideoContainerDefaultBox).apply();\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {IVideoPlayer} from '../../../../services/video-live-stream/video-players/video-player.interface';\r\nimport {action, observable, makeObservable} from 'mobx';\r\nimport {VideoBox} from './boxes/video.box';\r\nimport {VideoPlayButtonBox} from \"../video-play-button/video-play-button.box\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {VideoContainerBox} from '../video-container/video-container.box';\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\ninterface VideoComponentProps {\r\n className?: string;\r\n gameInfo: GameInfo;\r\n muted: boolean;\r\n onError?: (hasError: boolean, retryFn?: (() => void) | undefined) => void;\r\n onLoading?: (isLoading: boolean) => void;\r\n onWatchTimeLimitReached?: (watchTimeLimitReached: boolean) => void;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n display: boolean;\r\n videoPlayingService: IVideoPlayingService;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoComponent extends OrbitComponent {\r\n @observable.ref\r\n private _videoPlayer: IVideoPlayer = null;\r\n\r\n constructor(props: VideoComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @action.bound\r\n setLiveStreamPlayer(player: IVideoPlayer) {\r\n this._videoPlayer = player;\r\n }\r\n\r\n private _videoElement: HTMLVideoElement | null = null;\r\n private _isAppVisible = true;\r\n\r\n private _captureVideoRef = (mediaElement: HTMLVideoElement | null) => {\r\n if (mediaElement) {\r\n this._videoElement = mediaElement;\r\n }\r\n }\r\n\r\n private async _createVideoPlayer() {\r\n const liveStreamPlayer = await this.props.videoPlayingService.getVideoPlayer(this.props.gameInfo, this._videoElement, this.props.isLastGametype);\r\n this.setLiveStreamPlayer(liveStreamPlayer);\r\n }\r\n\r\n private _playVideo = async () => {\r\n if (!this._videoPlayer) {\r\n await this._createVideoPlayer();\r\n }\r\n\r\n this._videoPlayer.play();\r\n }\r\n\r\n private _pauseVideo = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.pause();\r\n }\r\n }\r\n\r\n private _detectIfVideoIsInFocus = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n } else {\r\n this._pauseVideo();\r\n }\r\n }\r\n\r\n private _handlePlayVideoClick = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n this._videoPlayer.logUIAction('info', 'VideoPlayClick');\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendAnalytics(gaCategory, \"AUTOPLAY\", \"VIDEO_PLAY_CLICK\", this.props.gameInfo.gameType, true);\r\n }\r\n }\r\n\r\n private _renderPlayerControls = () => {\r\n return this._videoPlayer?.autoplayAllowed ? null : (\r\n \r\n );\r\n }\r\n\r\n @action.bound\r\n private _destroyPlayer = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.destroy();\r\n this._videoPlayer = null;\r\n }\r\n };\r\n\r\n private _retryPlay = () => {\r\n this._destroyPlayer();\r\n this._detectIfVideoIsInFocus();\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this._detectIfVideoIsInFocus();\r\n\r\n this.reaction(() => this._videoPlayer?.hasError, (hasError) => {\r\n this.props.onError(hasError, hasError ? this._retryPlay : undefined);\r\n });\r\n this.reaction(() => this._videoPlayer?.isLoading, (isLoading) => {\r\n this.props.onLoading(isLoading);\r\n });\r\n this.reaction(() => this._videoPlayer?.watchTimeLimitReached, (watchTimeLimitReached) => {\r\n this.props.onWatchTimeLimitReached(watchTimeLimitReached);\r\n });\r\n this.reaction(() => this.props.videoPlayingService.isAppVisible, (isAppVisible) => {\r\n this._isAppVisible = isAppVisible;\r\n this._detectIfVideoIsInFocus();\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: VideoComponentProps) {\r\n if (this.props.isInCenterStage !== prevProps.isInCenterStage || this.props.inViewport !== prevProps.inViewport) {\r\n this._detectIfVideoIsInFocus();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n\r\n this._destroyPlayer();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderPlayerControls()}\r\n \r\n )\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedButtonProps {\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedButton = styled.div`\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n margin-left: auto;\r\n\r\n background: rgba(255, 255, 255, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2.5s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.25;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedRectangleProps {\r\n top?: boolean;\r\n left?: boolean;\r\n right?: boolean;\r\n bottom?: boolean;\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedRectangle = styled.div`\r\n\r\n position: absolute;\r\n\r\n top: ${({top}) => top ? \"1rem\" : \"initial\"};\r\n left: ${({left}) => left ? \"1rem\" : \"initial\"};\r\n right: ${({right}) => right ? \"1rem\" : \"initial\"};\r\n bottom: ${({bottom}) => bottom ? \"1rem\" : \"initial\"};\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n\r\n background: rgba(0, 0, 0, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.5;\r\n }\r\n }\r\n`;\r\n","import {VideoTileFooterDefaultBox} from \"./video-tile-footer-default.box\";\r\n\r\nexport const VideoTileFooterBox = VideoTileFooterDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterDefaultBox = styled.div`\r\n display: flex;\r\n position: relative;\r\n padding: 2rem 1rem;\r\n align-items: center;\r\n justify-content: space-between;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n padding: 3rem 2.5rem;\r\n }\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 1px;\r\n left: 0;\r\n bottom: 0;\r\n background: linear-gradient(90deg, transparent 10%, rgba(255, 255, 255, 0.85), transparent 90%);\r\n }\r\n`;\r\n","import {VideoTileSkeletonDefaultbox} from \"./video-tile-skeleton.defaultbox\";\r\n\r\nexport const VideoTileSkeletonbox = VideoTileSkeletonDefaultbox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonDefaultbox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n`;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {Image} from \"../raw-components/image/image\";\r\nimport {GameBox} from \"../single-game/regular-template/boxes/game/game.box\";\r\nimport {GameBox as JackpotGameBox} from \"../single-game/jackpot-template/boxes/game/game.box\";\r\nimport {GameTitleBox} from \"../single-game/regular-template/boxes/game-title/game-title.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {GameImageContainerBox} from \"../single-game/regular-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameImageContainerBox as JackpotGameImageContainerBox} from \"../single-game/jackpot-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameDetailsContainerBox} from \"../single-game/regular-template/boxes/game-details-container/game-details-container.box\";\r\nimport {GameDetailsContainerBox as JackpotGameDetailsContainerBox} from \"../single-game/jackpot-template/boxes/game-details-container/game-details-container.box\";\r\nimport {AspectRatioContainerComponent} from \"../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from \"../../themes/css-global-classes\";\r\nimport {VideoTileBox} from \"../live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box\";\r\nimport {SkeletonAnimatedButton} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box\";\r\nimport {SkeletonAnimatedRectangle} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box\";\r\nimport {VideoTileFooterBox} from \"../live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box\";\r\nimport {VideoTileSkeletonbox} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox\";\r\nimport { CyClass } from \"../../../common/cy-classes\";\r\nimport { AmountContainerBox } from \"./regular-template/boxes/amount-container/amount-container.box\";\r\n\r\nconst DummyTextBox = styled.div`\r\n background: linear-gradient(90deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.25));\r\n background-size: 400px 100%;\r\n border-radius: 5px;\r\n animation: TextLoadingAnimation 1s linear infinite;\r\n\r\n @keyframes TextLoadingAnimation {\r\n 0% {\r\n background-position-x: -200px;\r\n }\r\n 100% {\r\n background-position-x: 200px;\r\n }\r\n }\r\n`;\r\n\r\nconst DummyTextBoxAbsolute = styled(DummyTextBox)`\r\n position: absolute;\r\n top: 0;\r\n left: 25%;\r\n right: 25%;\r\n bottom: 0;\r\n`;\r\n\r\ninterface IDummyTextBoxRelativeProps {\r\n small?: boolean;\r\n}\r\n\r\nconst DummyTextBoxRelative = styled(DummyTextBox)`\r\n position: relative;\r\n width: ${({small}) => small ? \"50%\" : \"80%\"};\r\n height: 2rem;\r\n margin-bottom: 1rem;\r\n`;\r\n\r\nexport interface ISingleGameSkeletonComponentProps {\r\n templateType: string;\r\n useSquareIcons: boolean;\r\n placeholderImageSrc: string;\r\n}\r\n\r\nexport class SingleGameSkeletonComponent extends OrbitComponent {\r\n\r\n private _renderRegularGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderJackpotGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderVideoSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n :\r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render () {\r\n\r\n if (this.props.templateType === JACKPOTS_ITEM) {\r\n return this._renderJackpotGameSkeleton();\r\n }\r\n\r\n if ([LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM].includes(this.props.templateType)) {\r\n return this._renderVideoSkeleton();\r\n }\r\n\r\n return this._renderRegularGameSkeleton();\r\n }\r\n}\r\n","import {VideoRetryScreenTileDefaultBox} from \"./video-retry-screen-tile-default.box\";\r\n\r\nexport const VideoRetryScreenTileBox = VideoRetryScreenTileDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoRetryScreenTileDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.6)};\r\n`;\r\n","import {VideoRetryScreenIconDefaultBox} from \"./video-retry-screen-icon-default.box\";\r\n\r\nexport const VideoRetryScreenIconBox = VideoRetryScreenIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenIconDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 5rem;\r\n height: 5rem;\r\n background: ${({theme}) => theme.colors.background.toString()};\r\n border-radius: 50%;\r\n`;\r\n","import {VideoRetryScreenTitleDefaultBox} from \"./video-retry-screen-title-default.box\";\r\n\r\nexport const VideoRetryScreenTitleBox = VideoRetryScreenTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTitleDefaultBox = styled.div`\r\n margin: 1rem 0;\r\n font-size: 2rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {VideoRetryScreenTextDefaultBox} from \"./video-retry-screen-text-default.box\";\r\n\r\nexport const VideoRetryScreenTextBox = VideoRetryScreenTextDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTextDefaultBox = styled.div`\r\n margin-bottom: 1rem;\r\n font-size: 1.6rem;\r\n line-height: 1.5;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from 'react';\r\nimport {VideoRetryScreenTileBox} from \"./video-retry-screen-boxes/video-retry-screen-tile.box\";\r\nimport {VideoRetryScreenIconBox} from \"./video-retry-screen-boxes/video-retry-screen-icon.box\";\r\nimport {SvgSizeUnit} from \"../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VideoRetryScreenTitleBox} from \"./video-retry-screen-boxes/video-retry-screen-title.box\";\r\nimport {VideoRetryScreenTextBox} from \"./video-retry-screen-boxes/video-retry-screen-text.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\n\r\nexport interface VideoRetryScreenComponentProps {\r\n retryFn: () => void;\r\n setHasError: (value: boolean, retryFn?: (() => void) | undefined) => void;\r\n}\r\n\r\nexport default class VideoRetryScreenComponent extends OrbitComponent {\r\n\r\n private _retryAndSetError = () => {\r\n if (this.props.retryFn) {\r\n this.props.retryFn();\r\n }\r\n this.props.setHasError(false);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const BrokenLinkIcon = this.services.theme.currentTheme.icons.brokenLinkIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_TITLE')}\r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_MESSAGE')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport React from 'react';\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\n\r\nexport interface VideoThumbnailImageComponentProps {\r\n onLoad: () => void;\r\n onSettled: () => void;\r\n gameInfo: GameInfo;\r\n filterBlur: boolean;\r\n}\r\n\r\nexport default class VideoThumbnailImageComponent extends OrbitComponent {\r\n\r\n //Priority for game video thumbnail image(takes the 1st that exists):\r\n // gameinfo.videoThumbnailUrl\r\n // tableinfo.TableImage\r\n // gameinfo.gameArenaIcon\r\n\r\n private _getImageSource = (): string => {\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n\r\n if (gameInfo?.videoThumbnailUrl) {\r\n return gameInfo?.videoThumbnailUrl;\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(gameInfo.gameType);\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n return gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n return addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n };\r\n\r\n render(): React.ReactNode {\r\n return ();\r\n }\r\n}\r\n","import {VideoTileBettingRangeDefaultBox} from \"./video-tile-betting-range-default.box\";\r\n\r\nexport const VideoTileBettingRangeBox = VideoTileBettingRangeDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\n\r\nexport const VideoTileBettingRangeDefaultBox = styled.div`\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n line-height: 1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n margin: 12px 0 0 0rem;\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileGameTitleDefaultBox} from \"./video-tile-game-title-default.box\";\r\n\r\nexport const VideoTileGameTitleBox = VideoTileGameTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileGameTitleDefaultBox = styled.div`\r\n text-overflow: ellipsis;\r\n font-size: 1rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n line-height: 1.1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileFooterSectionDefaultBox} from \"./video-tile-footer-section-default.box\";\r\n\r\nexport const VideoTileFooterSectionBox = VideoTileFooterSectionDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterSectionDefaultBox = styled.div<{width?: string;}>`\r\n width: ${({width}) => width ? width : \"auto\"};\r\n margin-right: 1rem;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotValueDefaultBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n margin-left: 0.5rem;\r\n`;\r\n\r\nexport const VideoListJackpotValueBox = VideoListJackpotValueDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n font-size: 1.2rem;\r\n margin-top: 5px;\r\n`;\r\n\r\nexport const VideoListJackpotContainerBox = VideoListJackpotContainerDefaultBox;","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React, {ReactNode} from 'react';\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {ILiveTableInfo} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {VideoTileBettingRangeBox} from \"../video-tile-betting-range/video-tile-betting-range.box\";\r\nimport {VideoTileGameTitleBox} from \"../video-tile-game-title/video-tile-game-title.box\";\r\nimport {VideoTileFooterBox} from \"./boxes/video-tile-footer.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {VideoTileFooterSectionBox} from \"./boxes/video-tile-footer-section.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {GameJackpotComponent} from \"../../../game-jackpot/game-jackpot.component\";\r\nimport {\r\n VideoListJackpotValueBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box\";\r\nimport {\r\n VideoListJackpotContainerBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box\";\r\n\r\nexport type VideoTileFooterType = \"jackpot\" | \"bets\";\r\n\r\nexport interface VideoTileFooterComponentProps {\r\n onClickPlay: () => void;\r\n gameInfo: GameInfo;\r\n type: VideoTileFooterType;\r\n}\r\n\r\nexport default class VideoTileFooterComponent extends OrbitComponent {\r\n\r\n //Information from GetLiveTables request feed, for live casino games only.\r\n private get _tableInfo(): ILiveTableInfo | null {\r\n return this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n }\r\n\r\n private _renderMinMaxBet(): ReactNode {\r\n\r\n let minBet: number;\r\n let maxBet: number;\r\n\r\n if(Check.isNullOrUndefined(this._tableInfo?.MinBet) || Check.isNullOrUndefined(this._tableInfo?.MaxBet)){\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = this._tableInfo.MinBet;\r\n maxBet = this._tableInfo.MaxBet;\r\n }\r\n\r\n return (\r\n \r\n {this.services.currency.formatMinMaxBet(minBet, maxBet)}\r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle(): ReactNode {\r\n\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n\r\n if (this._tableInfo?.Name?.length > 0) {\r\n title = this._tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderJackpot() {\r\n if(!this.props.gameInfo.hasJackpot) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate(\"JACKPOT\")}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderSecondaryText() {\r\n switch (this.props.type) {\r\n case \"bets\":\r\n return this._renderMinMaxBet();\r\n case \"jackpot\":\r\n return this._renderJackpot();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n return (\r\n \r\n \r\n {this._renderGameTitle()}\r\n {this._renderSecondaryText()}\r\n \r\n \r\n \r\n {this.services.translation.translate(\"PLAY_NOW\")}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { imagePreload, ImagePreloadPromiseResponse } from \"../../../../../common/utils/image-preload\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileBox} from \"./boxes/video-tile.box\";\r\nimport {AspectRatioContainerComponent} from \"../../../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {VideoTileOverlayComponent} from \"../video-tile-overlay/video-tile-overlay.component\";\r\nimport {VideoTileOverlayBox} from \"../video-tile-overlay/boxes/video-tile-overlay.box\";\r\nimport {VideoTileStaticImageOverlayBox} from \"../video-tile-static-image-overlay/video-tile-static-image-overlay.box\";\r\nimport {VideoTileSkeletonContainerBox} from \"../video-tile-skeleton-container/video-tile-skeleton-container.box\";\r\nimport {VideoComponent} from \"../video-component/video.component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {SingleGameSkeletonComponent} from \"../../../single-game/single-game-skeleton.component\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TableSeatsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\nimport VideoRetryScreenComponent from \"../video-retry-screen/video-retry-screen.component\";\r\nimport {VIDEO_ITEM_TYPE} from \"../../../single-game/video-template/single-game-video-template.component\";\r\nimport VideoThumbnailImageComponent from \"../video-thumbnail-image/video-thumbnail-image.component\";\r\nimport VideoTileFooterComponent from \"../video-tile-footer/video-tile-footer.component\";\r\nimport {\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../../../../services/analytics/analytics.service.interface\";\r\n\r\nexport interface VideoTileComponentProps {\r\n gameInfo: GameInfo;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n onOpenRealGame: () => void;\r\n videoPlayingService: IVideoPlayingService;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoTileComponent extends OrbitComponent {\r\n\r\n constructor(props: VideoTileComponentProps) {\r\n\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private _posterImageLoadPromise: Promise | undefined = undefined;\r\n\r\n @observable.ref\r\n private _hasError: boolean = false;\r\n\r\n private _retryFn: (() => void) | undefined;\r\n\r\n @action.bound\r\n setHasError(value: boolean, retryFn?: (() => void) | undefined) {\r\n this._hasError = value;\r\n this._retryFn = retryFn;\r\n }\r\n\r\n @observable.ref\r\n private _posterImageLoaded = false;\r\n\r\n @action.bound\r\n private setPosterImageLoaded(value: boolean) {\r\n this._posterImageLoaded = value;\r\n }\r\n\r\n private onPosterImageLoaded = () => {\r\n this.setPosterImageLoaded(true);\r\n }\r\n\r\n @observable.ref\r\n private _isVideoLoading: boolean = true;\r\n\r\n @observable.ref\r\n private _isFirstTimeLoading: boolean = true;\r\n\r\n @action.bound\r\n setIsVideoLoading(value: boolean) {\r\n this._isVideoLoading = value;\r\n if (value === false) {\r\n this.firstTimeLoadingDone();\r\n }\r\n }\r\n\r\n @action.bound\r\n firstTimeLoadingDone() {\r\n if (this._isFirstTimeLoading === true) {\r\n this._isFirstTimeLoading = false;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private _isWatchTimeLimitReached: boolean = false;\r\n\r\n @action.bound\r\n setIsWatchTimeLimitReached(value: boolean) {\r\n this._isWatchTimeLimitReached = value;\r\n }\r\n\r\n private _onPlayClickHandler = () => {\r\n this.props.onOpenRealGame();\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendOrbitMarketingEvent(gaCategory, 'PLAY_GAME', OrbitMarketingEventAnalyticsLabel.Click, this.props.gameInfo.gameType);\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.gameInfo.videoThumbnailUrl) {\r\n this._posterImageLoadPromise = imagePreload(this.props.gameInfo.videoThumbnailUrl);\r\n this._posterImageLoadPromise.then(this.onPosterImageLoaded);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this._posterImageLoadPromise) {\r\n this._posterImageLoadPromise = undefined;\r\n }\r\n }\r\n\r\n private _renderPlayerOverlay() {\r\n if (!this._isWatchTimeLimitReached && !this._isVideoLoading) {\r\n return null;\r\n }\r\n\r\n let statusText = '';\r\n if (this._isWatchTimeLimitReached) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_WATCH_TIME_REACHED');\r\n } else if (this._isVideoLoading) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_VIDEO_LOADING');\r\n }\r\n\r\n return {statusText};\r\n }\r\n\r\n private _renderRetryScreen() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n private _renderPlayer() {\r\n return (\r\n \r\n {/* For the video element I cannot conditionally render it for this.props.isInCenterStage because when the video reaches end and the user\r\n swipes right/left it renders again and starts again */}\r\n \r\n {((this.services.mediaQuery.xlAndAbove && !this.props.isInCenterStage) || this._hasError || (this.props.isInCenterStage && this._isFirstTimeLoading && this._posterImageLoaded)) ? this._renderVideoThumbnailImage(this._hasError && this.props.isInCenterStage) : this._renderPlayerOverlay()}\r\n {this._renderTileOverlayComponent()}\r\n {(this._hasError && this.props.isInCenterStage) ? this._renderRetryScreen() : null}\r\n \r\n );\r\n }\r\n\r\n private _renderTileOverlayComponent(): React.ReactNode {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.STATIC) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n\r\n return (\r\n }\r\n bottomRightComponent={}\r\n videoPlaying={this.props.isInCenterStage && !this._hasError}\r\n />\r\n )\r\n\r\n }\r\n\r\n private _renderVideoThumbnailImage(filterBlur: boolean) {\r\n return \r\n }\r\n\r\n private _renderFooter() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderSkeleton() {\r\n if (this._isFirstTimeLoading && !this._posterImageLoaded) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n\r\n private _renderStaticImageOverlay() {\r\n if (this.props.isInCenterStage || this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n }\r\n return ;\r\n }\r\n\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderPlayer()}\r\n {this._renderFooter()}\r\n {this._renderSkeleton()}\r\n {this._renderStaticImageOverlay()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoItemContainerDefaultBox} from \"./video-item-container-default.box\";\r\n\r\nexport const VideoItemContainerBox = VideoItemContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const VideoItemContainerDefaultBox = styled.div<{stepBackStyle: boolean;}>`\r\n width: 100%;\r\n ${flexFixedSizeItem}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 33.33%;\r\n transition: transform 0.5s ease-in-out;\r\n transform: ${({stepBackStyle}) => stepBackStyle ? \"scale(0.7)\" : \"scale(1)\"};\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SingleGameRegularTemplateComponent} from './regular-template/single-game-regular-template.component';\r\nimport {GameInfo, OpenGameParameters} from '../../services/games/game-info';\r\nimport {CssClassNameBuilder} from '../../../utils/css-class-name-builder';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_BOX, SWIPER_MODE} from './css-constants';\r\nimport {SingleGameJackpotTemplateComponent} from './jackpot-template/single-game-jackpot-template.component';\r\nimport {JACKPOTS_ITEM, LIVE_CASINO_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../themes/css-global-classes';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {SingleGameLiveTemplateComponent} from './live-template/single-game-live-template.component';\r\nimport {SingleGameVideoTemplate, VIDEO_ITEM_TYPE} from './video-template/single-game-video-template.component';\r\nimport {GameIconAnimationState} from './common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameComponentProps {\r\n gameType: number;\r\n seoCategory: string;\r\n listTitle: string;\r\n listPosition?: number,\r\n AdminListID?: number,\r\n AIListTypeID?: number;\r\n templateType?: any;\r\n gameIndex?: number;\r\n skipIntermediatePage?: boolean;\r\n disableGameInfoHover: boolean;\r\n isInsideSwiper?: boolean;\r\n aiEngine?: string;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n intersectionTarget?: HTMLDivElement;\r\n hasTwoLinesTitle?: boolean;\r\n isLastGametype?: boolean;\r\n onBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\nexport const SingleGameComponent = observer(\r\n class SingleGameComponent extends OrbitComponent {\r\n private animatedIconState: GameIconAnimationState = \"static\";\r\n\r\n get gameInfo(): GameInfo {\r\n return this.services.games.gamesMap[this.props.gameType];\r\n }\r\n\r\n private openRealGame = () => {\r\n this._openGame(true);\r\n };\r\n\r\n private openAnonymousGame = () => {\r\n this._openGame(false);\r\n };\r\n\r\n private openInfoPage = () => {\r\n this.services.location.push(this.gameInfo.infoPageURL);\r\n this.sendAnalytics(`SEO_${this.gameInfo.gameType}`);\r\n };\r\n\r\n private _openGame(openInRealMode: boolean): void {\r\n\r\n\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: openInRealMode,\r\n pageName: this.props.seoCategory,\r\n listTitle: this.props.listTitle,\r\n listPosition: this.props.listPosition,\r\n AdminListID: this.props.AdminListID,\r\n AIListTypeID: this.props.AIListTypeID,\r\n gameIndex: this.props.gameIndex,\r\n aiEngine: this.props.aiEngine,\r\n showIntermediatePage: !this.props.skipIntermediatePage,\r\n animatedIconState: this.animatedIconState\r\n };\r\n\r\n this.gameInfo.open(openGameParams)\r\n }\r\n\r\n private get _allowPreview(): boolean {\r\n return this.services.lobbyGameInfoPreview.allowGamePreview\r\n && !this.props.disableGameInfoHover;\r\n }\r\n\r\n private sendAnalytics(label: string) {\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category:this.props.seoCategory, action: this.props.listTitle, label: label}, true);\r\n }\r\n\r\n private setAnimatedIconState = (state: GameIconAnimationState) => {\r\n this.animatedIconState = state;\r\n }\r\n\r\n private onMouseEnter = () => {\r\n if (this._allowPreview) {\r\n this.services.lobbyGameInfoPreview.setGamePreview(this.props.gameType);\r\n }\r\n };\r\n\r\n\r\n private onMouseLeave = () => {\r\n if (this._allowPreview) {\r\n this.services.lobbyGameInfoPreview.clearGamePreview();\r\n }\r\n };\r\n\r\n\r\n private _buildComponentClasses(gameInfo: GameInfo): string {\r\n let builder = new CssClassNameBuilder();\r\n\r\n builder.append(GAME_BOX);\r\n\r\n if(this.props.isInsideSwiper) {\r\n builder = builder.append(SWIPER_MODE);\r\n }\r\n\r\n if (gameInfo) {\r\n builder = builder.append(`game-group-${toCssClass(gameInfo.gameGroup)}`)\r\n .append(gameInfo.gameCategoryClassName)\r\n .append(`game-company-${toCssClass(gameInfo.companyName)}`)\r\n .append(`game-type-${gameInfo.gameType}`);\r\n }\r\n\r\n if(this.props.skipIntermediatePage) {\r\n builder.append(CyClass('cy-skip-intermediate-page'));\r\n }\r\n\r\n return builder.build();\r\n\r\n }\r\n\r\n render() {\r\n\r\n let gameInfo = this.gameInfo;\r\n\r\n if(!gameInfo) {\r\n return null;\r\n }\r\n\r\n try {\r\n\r\n const classes = this._buildComponentClasses(gameInfo);\r\n\r\n switch (this.props.templateType) {\r\n\r\n case JACKPOTS_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case LIVE_CASINO_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case LIVE_STREAMING_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case STATIC_VIDEO_ITEM:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n\r\n } catch (err) {\r\n this.services.logger.error(`Failed to render SingleGameComponent for game ${gameInfo.gameType} - ${gameInfo.title} in list ${this.props.listTitle}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n\r\nfunction toCssClass(str: string){\r\n try{\r\n return str.replace(/\\s+/g, '-').toLowerCase();\r\n }\r\n catch(e){\r\n return '';\r\n }\r\n}\r\n\r\n","import styled from 'styled-components';\r\nimport {GameBox} from '../../../single-game/regular-template/boxes/game/game.box';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\n\r\n\r\nexport const GamePlaceHolderDefaultBox = styled(GameBox)`\r\n ${CssRule.For.mobile.embededHybrid.build()} & , ${CssRule.For.mobile.miniOrbit.build()} & {\r\n display: none;\r\n }\r\n`;","import {NullableNumber} from \"../../../common/types/nullable-types\";\r\nimport { IJackpotHandler } from \"./jackpot-handler/jackpot-handler.interface\";\r\nimport {JACKPOT_STATE, JackpotType} from '../../../common/const/jackpot_map_ids';\r\n\r\nexport enum JackpotThemeType {\r\n Light,\r\n Dark\r\n}\r\n\r\nexport interface IJackpotStatefulData {\r\n amountInCents: number;\r\n jackpotId: string;\r\n jackpotState: JACKPOT_STATE;\r\n lastWinAmount: number;\r\n mustHitTime: Date;\r\n}\r\n\r\nexport interface IJackpotStatelessData {\r\n amountInCents: number;\r\n jackpotId: string;\r\n jackpotState: 0;\r\n lastWinAmount: 0;\r\n}\r\n\r\nexport type IJackpotData = IJackpotStatefulData | IJackpotStatelessData;\r\n\r\nexport interface IJackpotsService {\r\n getGameJackpot(gameType: number): NullableNumber;\r\n readonly currentJackpotsById: Record;\r\n getThemeType(jpType: JackpotType): JackpotThemeType;\r\n}\r\n","import {GamePlaceHolderDefaultBox} from './game-placeholder.default.box';\r\n\r\nexport const GamePlaceHolderBox = GamePlaceHolderDefaultBox;","import {GameImageDefaultBox} from './game-image.default.box';\r\n\r\nexport const GameImageBox = GameImageDefaultBox;","import styled from 'styled-components';\r\nimport {GameImageBox as BaseGameImageBox} from '../../../single-game/common/boxes/game-image/game-image.box';\r\n\r\nexport const GameImageDefaultBox = styled(BaseGameImageBox)`\r\n cursor: default;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {GamePlaceHolderBox} from './boxes/placeholder/game-placeholder.box';\r\nimport {GameImageBox} from './boxes/game-image/game-image.box';\r\nimport {GameImageContainerBox} from '../single-game/regular-template/boxes/game-image-container/game-image-container.box';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_IMAGE_CONTAINER, SWIPER_MODE} from '../single-game/css-constants';\r\nimport classNames from 'classnames';\r\n\r\nexport interface SingleGamePlaceholderComponentProps {\r\n isInsideSwiper: boolean\r\n}\r\n\r\nexport const SingleGamePlaceholderComponent = observer(\r\n class SingleGamePlaceholderComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {HOME_PAGE, JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n padding: 0;\r\n margin: 0 auto;\r\n overflow: hidden;\r\n`;\r\n\r\n//Temporary duplicate style for STATIC_VIDEO_ITEM and LIVE_STREAMING_ITEM\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} & {\r\n width: 90%;\r\n &.${JACKPOTS_ITEM} {\r\n width: 100%;\r\n }\r\n }\r\n\r\n &.${LIVE_STREAMING_ITEM},\r\n &.${STATIC_VIDEO_ITEM} {\r\n width: 104%;\r\n padding-bottom: 2.5rem;\r\n padding-top: 1.5rem;\r\n margin-left: -2%;\r\n clip-path: polygon(8% 0, 92% 0%, 92% 100%, 8% 100%);\r\n overflow: unset;\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0;\r\n`;\r\n\r\nexport const SwiperWrapperDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './swiper-wrapper.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n padding-top: 0.5rem;\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-top: 0;\r\n`;\r\n\r\n\r\nexport const SwiperWrapperCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './swiper-wrapper.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n .${HOME_PAGE} & {\r\n width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-left: 6px;\r\n`;\r\n\r\nexport const SwiperWrapperMrGreenBox = styledByDevice(PcBox, MobileBox);","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperWrapperDefaultBox} from './swiper-wrapper.default.box';\r\nimport {SwiperWrapperCasino777Box} from './swiper-wrapper.casino777.box';\r\nimport {SwiperWrapperMrGreenBox} from './swiper-wrapper.mrgreen.box';\r\n\r\nexport const SwiperWrapperBox = styledByTheme(SwiperWrapperDefaultBox)\r\n .forCasino777(SwiperWrapperCasino777Box)\r\n .forMrGreen(SwiperWrapperMrGreenBox).apply();","import styled, { css } from 'styled-components';\r\nimport {JACKPOTS_ITEM} from '../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface SwiperGamesListBoxProp {\r\n isTouchDevice: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n justify-content: flex-start;\r\n transition: transform .5s ease-in-out;\r\n will-change: transform;\r\n width: 100%;\r\n height: 100%;\r\n margin-top: 10px;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n overflow: -moz-scrollbars-none;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({isTouchDevice}) => !isTouchDevice? css`\r\n overflow: visible;\r\n ` : css`\r\n overflow-x: scroll;\r\n overflow-y: hidden;\r\n `}\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n margin-top: 5px;\r\n margin-bottom: 20px;\r\n\r\n .${JACKPOTS_ITEM} & {\r\n display: flex;\r\n flex-wrap: wrap;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n flex-direction: column;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n flex-direction: row;\r\n }\r\n }\r\n`;\r\n\r\nexport const SwiperGamesListDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport { SwiperGamesListDefaultBox } from \"./swiper-games-list.default.box\";\r\n\r\nexport const SwiperGamesListSICisBox = styled(SwiperGamesListDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n margin-top: 0;\r\n padding-bottom: 1.2rem;\r\n box-shadow: 0px 0px 8px #00000059;\r\n`;","import styled from \"styled-components\";\r\nimport { SwiperGamesListDefaultBox } from \"./swiper-games-list.default.box\";\r\n\r\nexport const SwiperGamesListMrGreenBox = styled(SwiperGamesListDefaultBox)`\r\n margin-top: 0;\r\n`;","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { SwiperGamesListDefaultBox } from './swiper-games-list.default.box';\r\nimport { SwiperGamesListSICisBox } from './swiper-games-list.siCis.box';\r\nimport {SwiperGamesListMrGreenBox} from \"./swiper-games-list.mrgreen.box\";\r\n\r\nexport const SwiperGamesListBox = styledByTheme(SwiperGamesListDefaultBox)\r\n .forMrGreen(SwiperGamesListMrGreenBox)\r\n .forMrGreenCis(SwiperGamesListMrGreenBox)\r\n .forSICis(SwiperGamesListSICisBox)\r\n .apply();","import {SwiperDefaultBox} from './swiper.default.box';\r\n\r\nexport const SwiperBox = SwiperDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const SwiperDefaultBox = styled.div`\r\n /** This overflow hidden solves a problem with live video streaming on right-to-left languages\r\n Without it, the IntersectionObserver does not work correctly and a weird behavior happens:\r\n The first video flicker like it is intersecting and transforms from scale(0.7) to scale(1) but in that process it loses intersection (ratio>0.99) and transforms back\r\n And again and again, an infinite flicker */\r\n overflow: hidden;\r\n`;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {SingleGameComponent} from '../single-game/single-game.component';\r\nimport {SingleGamePlaceholderComponent} from '../single-game-placeholder/single-game-placeholder.component';\r\nimport classNames from 'classnames';\r\nimport {SwiperWrapperBox} from './boxes/swiper-wrapper/swiper-wrapper.box';\r\nimport {SwiperGamesListBox} from './boxes/swiper-games-list/swiper-games-list.box';\r\nimport {SwiperBox} from './boxes/swiper/swiper.box';\r\nimport {SingleGameSkeletonComponent} from '../single-game/single-game-skeleton.component';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {TextTranslation} from \"../../services/translation/text-translation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\nimport { observable, action, makeObservable } from 'mobx';\r\n\r\nexport interface OrbitSwiperComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n numberOfPlaceholders?: number;\r\n skipIntermediatePage?: boolean;\r\n showNumberBadge?: boolean;\r\n className?: string;\r\n listPosition: number;\r\n lastGameType?: number;\r\n onGameBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\n\r\n@observer\r\nexport class OrbitSwiperComponent extends OrbitComponent {\r\n constructor(props: OrbitSwiperComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private get _title(): TextTranslation {\r\n return this.props.viewModel.title;\r\n }\r\n\r\n private get _shouldUseSquareIcons(): boolean {\r\n return this.props.viewModel.shouldUseSquareIcons();\r\n }\r\n\r\n private _renderOneGame(gameType: number, gameIndex: number, isLastGametype?: boolean) {\r\n return ;\r\n }\r\n\r\n private _renderPlaceholders() {\r\n\r\n if (this.props.viewModel.numberOfGamesSkeletons > 0) {\r\n return null;\r\n }\r\n\r\n let placeHolders: React.ReactNode[] = [];\r\n let numberOfPlaceholders = this.props.numberOfPlaceholders || 0;\r\n\r\n for (let i = 0; i < numberOfPlaceholders; i++) {\r\n placeHolders.push();\r\n }\r\n\r\n return placeHolders;\r\n }\r\n\r\n\r\n private _swiperGameListElement: HTMLDivElement | null = null;\r\n\r\n private _captureSwiperGameListElement = (element: HTMLDivElement | null) => {\r\n this._swiperGameListElement = element;\r\n this.props.viewModel.swipeLogicHandler.setElement(element);\r\n };\r\n\r\n /* I hate to put observable on a dom element but for now I cannot see another method to rapidly notify child nodes that the wrapper is ready to be used in IntersectionObserver as root\r\n I can create the intersection observer here and pass it instead of the DOM element but I would also need to put observable on the intersection observer */\r\n @observable.ref\r\n private _swiperWrapperElement: HTMLDivElement | null = null;\r\n @action.bound\r\n private _captureSwiperWrapperElement = (element: HTMLDivElement | null) => {\r\n this._swiperWrapperElement = element;\r\n };\r\n\r\n private get aiEngine(): string {\r\n return this.props.viewModel.aiEngine;\r\n }\r\n\r\n private _renderGamesSkeletons() {\r\n\r\n let numSkeletons = this.props.viewModel.numberOfGamesSkeletons;\r\n let placeholderImageSrc: string;\r\n if (this._shouldUseSquareIcons) {\r\n placeholderImageSrc = this.services.theme.currentTheme?.images.gameIconPlaceHolderSq.toString();\r\n } else {\r\n placeholderImageSrc = this.services.theme.currentTheme?.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n let skeletons = [];\r\n\r\n for (let i = 1; i <= numSkeletons; i++) {\r\n skeletons.push(\r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGames() {\r\n\r\n const gameTypes = this.props.viewModel.gameTypes;\r\n if (gameTypes.length > 0) {\r\n return gameTypes.map((gameType, index) => {\r\n return this._renderOneGame(gameType, index, gameType === this.props.lastGameType)\r\n });\r\n }\r\n\r\n return this._renderGamesSkeletons();\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [this.props.viewModel.gameTypes],\r\n () => this.props.viewModel.swipeLogicHandler.setElement(this._swiperGameListElement),\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly, prevState: Readonly<{}>, snapshot?: any) {\r\n this.props.viewModel.swipeLogicHandler.setElement(this._swiperGameListElement)\r\n }\r\n\r\n render() {\r\n if (!this.props.viewModel.isVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n\r\n {this.props.viewModel.renderListHeader()}\r\n\r\n \r\n \r\n {this.props.viewModel.renderSpecialWidgets()}\r\n {this._renderGames()}\r\n {this._renderPlaceholders()}\r\n \r\n {this.props.viewModel.renderListNavigation()}\r\n \r\n\r\n {this.props.viewModel.renderListFooter()}\r\n\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface RecentlyPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number\r\n}\r\n\r\nexport const RecentlyPlayedComponent = observer(\r\n class RecentlyPlayedComponent extends OrbitComponent {\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n let numberOfPlaceholders = Math.max(0, 6 - viewModel.gameTypes.length);\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {IGamesListRenderer} from \"./games-list-renderer.interface\";\r\nimport {IGamesListViewModel} from \"./games-list-view-model.interface\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {TextTranslation} from \"../../../translation/text-translation\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {IAiSortOptions} from \"../../../ai-engine/ai-engine.service.interface\";\r\n\r\nexport abstract class GamesListBaseModel implements IGamesListRenderer, IGamesListViewModel {\r\n constructor(protected readonly arena: IArenaToGamesListAdapter) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get listId(): number;\r\n abstract get title(): TextTranslation;\r\n abstract get forceInLayout(): boolean;\r\n abstract get templateType(): string;\r\n\r\n protected abstract get _forceRoundIcons(): boolean;\r\n protected abstract get _useSquareIcons(): boolean;\r\n protected abstract get _isAISorted(): boolean;\r\n protected abstract get _numberOfGamesToBeIgnoredInAISorting(): number | undefined;\r\n protected abstract _shouldBeDisplayed(): boolean;\r\n protected abstract _renderList(listPosition: number): React.ReactElement | null;\r\n protected abstract _getGameTypes(): number[];\r\n abstract renderListHeader(): React.ReactElement;\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this.arena.services;\r\n }\r\n\r\n get arenaName(): string {\r\n return this.arena.arenaName;\r\n }\r\n\r\n get listKey(): string {\r\n return `${this.arena.arenaName}_${this.title.translationKey}_${this.listId}`;\r\n }\r\n\r\n get aiEngine(): string {\r\n if(this.arena.aiEngine) {\r\n return this.arena.aiEngine;\r\n }\r\n\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.getAiEngine();\r\n }\r\n\r\n return \"\";\r\n }\r\n get maxGamesToShowInList(): number {\r\n return this.arena.maxGamesToShowInList;\r\n }\r\n\r\n @computed\r\n get isVisible(): boolean {\r\n return this._shouldBeDisplayed();\r\n }\r\n\r\n @computed\r\n get gameTypes(): number[] {\r\n return this._applyGameTypesTransformations(this._getGameTypes());\r\n }\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n return this._reduceGameTypes(\r\n this._sortGameTypes(\r\n this._distinctGameTypes(gameTypes)));\r\n }\r\n\r\n protected _sortGameTypes(gameTypes: number[]): number[] {\r\n let aiSortingOptions: IAiSortOptions = {ignoreNumberOfGames: this._numberOfGamesToBeIgnoredInAISorting};\r\n\r\n if (!Check.isEmpty(this.arena.sortingGametypesMapOverride)) {\r\n aiSortingOptions.gamesMapOverride = this.arena.sortingGametypesMapOverride;\r\n }\r\n\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.sortGames(gameTypes, aiSortingOptions);\r\n }\r\n\r\n return gameTypes;\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n return gameTypes.filter(gt => this.services.gamesFilter.filteredGamesMap[gt])\r\n .slice(0, this.maxGamesToShowInList);\r\n }\r\n\r\n protected _distinctGameTypes(gameTypes: number[]): number[] {\r\n return [...new Set(gameTypes)];\r\n }\r\n\r\n shouldUseSquareIcons(): boolean {\r\n if(this._forceRoundIcons){\r\n return false;\r\n }\r\n\r\n return this.services.theme.shouldUseSquareIcons || this._useSquareIcons;\r\n }\r\n\r\n render(listPosition: number): React.ReactElement | null {\r\n return this._renderList(listPosition);\r\n }\r\n\r\n}","export const JACKPOT_WIDGET = 'daily-jackpot';\r\nexport const RED_TIGER_JACKPOT = 'red-tiger-jackpot';","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\nimport {EXCLUSIVES_LIST_ICON} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const ListTitleIconDefaultBox = styled.span`\r\n ${flexFixedSizeItem}\r\n display: inline-block;\r\n width: 3rem;\r\n height: 2.5rem;\r\n margin: 0 1rem 0 0;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n ${CssRule.For.mobile.build()} & {\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.dailyJackpot.toString()}\")\r\n }\r\n\r\n .${EXCLUSIVES_LIST_ICON} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.exclusive.toString()}\")\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\n\r\nexport const ListTitleIconWsopCipBox = styled(ListTitleIconDefaultBox)`\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.miniOrbit.gamesListTitleOverride.dailyJackpot.toString()}\");\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const ListTitleIconCisBox = styled.span``;","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {ListTitleIconWsopCipBox} from \"./list-title-icon.wsop.cip.box\";\r\nimport {ListTitleIconCisBox} from \"./list-title-icon.cis.box\";\r\n\r\nexport const ListTitleIconBox = styledByTheme(ListTitleIconDefaultBox)\r\n .forCis(ListTitleIconCisBox)\r\n .forWsopCip(ListTitleIconWsopCipBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div<{isClickable?: boolean}>`\r\n cursor: ${({isClickable}) => isClickable ? \"pointer\" : \"default\"};\r\n\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n`;\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget.default.box';\r\nimport {styledByTheme} from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const JackpotWidgetBox = styledByTheme(JackpotWidgetDefaultBox).apply();","import styled, {css} from 'styled-components';\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\nimport {OrbitTheme} from '../../../../themes/architecture/orbit-theme.interface';\r\n\r\nexport interface IJackpotWidgetBgBoxProps {\r\n jackpotType: JackpotType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n shouldRenderSkeleton?: boolean;\r\n}\r\n\r\nconst handleBackgroundImage = (props: IJackpotWidgetBgBoxProps, theme: OrbitTheme) => {\r\n if (props.shouldRenderSkeleton) {\r\n return 'none';\r\n }\r\n if (\r\n (props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE || props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE) &&\r\n theme.images.jackpotWidget.byType[props.jackpotType].landscape?.background\r\n ) {\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].landscape.background.toString() + ')';\r\n }\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].background.toString() + ')';\r\n}\r\n\r\nexport const JackpotWidgetBgBox = styled.div`\r\n background-image: ${props => handleBackgroundImage(props, props.theme) };\r\n background-size: cover;\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n width: 100%;\r\n height: 100%;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n\r\n border-radius: 10px;\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n flex-direction: row;\r\n align-items: center;\r\n `}\r\n\r\n animation: JackpotBackgroundLoadingAnimation 1.5s linear infinite;\r\n\r\n @keyframes JackpotBackgroundLoadingAnimation {\r\n 0% {\r\n background-color: #000000;\r\n }\r\n 50% {\r\n background-color: #171717;\r\n }\r\n 100% {\r\n background-color: #000000;\r\n }\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {IJackpotWidgetLogoBoxProps} from \"./jackpot-widget-logo.box\";\r\n\r\nexport const JackpotWidgetLogoDefaultBox = styled.img`\r\n /* In a widget of 468px wide, logo should be 222px wide */\r\n width: 47.436%;\r\n margin: 0rem auto;\r\n display: block;\r\n \r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT && css`\r\n\t width: 78%;\r\n\t padding-top: 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 83%;\r\n }\r\n `}\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n width: 25%;\r\n padding-left: 1rem;\r\n `}\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetLogoDefaultBox} from \"./jackpot-widget-logo.default.box\";\r\n\r\nexport const JackpotWidgetLogoMrGreenBox = styled(JackpotWidgetLogoDefaultBox)`\r\n display: ${({isDaily}) => isDaily ? \"none\" : \"block\"};\r\n`;","import {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\nimport {JackpotWidgetLogoDefaultBox} from \"./jackpot-widget-logo.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JackpotWidgetLogoMrGreenBox} from \"./jackpot-widget-logo.mrgreen.box\";\r\n\r\nexport interface IJackpotWidgetLogoBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n isDaily: boolean;\r\n};\r\n\r\nexport const JackpotWidgetLogoBox = styledByTheme(JackpotWidgetLogoDefaultBox)\r\n .forMrGreen(JackpotWidgetLogoMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetLogoMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetLogoMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_STATE} from '../../../../../common/const/jackpot_map_ids';\r\nimport { JackpotThemeType } from \"../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetAmountBox {\r\n state: JACKPOT_STATE;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n isDaily: boolean;\r\n text: string;\r\n}\r\n\r\nconst handleAmountBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number, text: string, mAndBelow: boolean = false) => {\r\n let fontSize: number;\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In desktop view at a widget width of 468px, the amount should be of font-size 35px */\r\n fontSize = widgetWidth * 35 / 468;\r\n break;\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 16px */\r\n fontSize = widgetWidth * 16 / 375;\r\n break;\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n if (mAndBelow) {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 16px */\r\n fontSize = widgetWidth * 16 / 131;\r\n } else {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 19px */\r\n fontSize = widgetWidth * 19 / 131;\r\n }\r\n }\r\n let numberOfDigits = 0;\r\n text.split(\"\").forEach(c => {\r\n if(/^\\d+$/.test(c)) {\r\n numberOfDigits++;\r\n }\r\n });\r\n /** On PC, if the amount gets too high, the text becomes too big for the container, so we need to decrease the font size a bit */\r\n /** If the amount is < 8, do nothing, if it is lower than 10, lower by 3 px, if it is higher than then, lower by 6px */\r\n const decreaseAmount = numberOfDigits < 8 ? 0 : (numberOfDigits >= 10 ? 6 : 3);\r\n fontSize = mAndBelow ? fontSize : fontSize - decreaseAmount;\r\n return `${fontSize}px`;\r\n};\r\n\r\nconst JackpotWidgetAmountDefaultBox = styled.div`\r\n text-align: center;\r\n width: 100%;\r\n color: ${({state, theme}) => state === JACKPOT_STATE.Cold ? theme.colors.textLight : theme.colors.brandSecondary };\r\n text-shadow: 0px 2px 3px ${({theme}) => theme.colors.backgroundMiddleDark};\r\n /* font-preset: a standardized combination of font-family + font-weight + font-style + font-stretch */\r\n ${({state, theme}) => state === JACKPOT_STATE.Cold ? theme.font.presets.bold : theme.font.presets.black }\r\n ${({state}) => state === JACKPOT_STATE.Cold ? css`\r\n opacity: 0.8;\r\n ` : null };\r\n font-size: ${({layout, widgetWidth, text}) => handleAmountBoxFontSize(layout, widgetWidth, text)};\r\n /* bugfix: 2039067 */\r\n padding-bottom: 0.8rem;\r\n line-height: 1.2;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: ${({layout, widgetWidth, text}) => handleAmountBoxFontSize(layout, widgetWidth, text,true)};\r\n }\r\n`;\r\n\r\nconst JackpotWidgetAmountCasino777Box = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({state, theme, themeType}) => (themeType === JackpotThemeType.Light ? (state === JACKPOT_STATE.Cold ? theme.colors.textContrast : theme.colors.danger) : theme.colors.brandSecondary) };\r\n text-shadow: none;\r\n`;\r\n\r\nconst JackpotWidgetAmountSiBox = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n text-shadow: none;\r\n`;\r\n\r\nconst JackpotWidgetAmountrMrGreenBox = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n ${({theme, isDaily}) => isDaily ? theme.font.presets.bold : theme.font.presets.body};\r\n span {\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n } ;\r\n`;\r\n\r\nexport const JackpotWidgetAmountBox = styledByTheme(JackpotWidgetAmountDefaultBox)\r\n .forCasino777(JackpotWidgetAmountCasino777Box)\r\n .forSI(JackpotWidgetAmountSiBox)\r\n .forSICis(JackpotWidgetAmountSiBox)\r\n .forMrGreen(JackpotWidgetAmountrMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountrMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountrMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport interface IJackpotWidgetFooterBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nexport const JackpotWidgetFooterDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0 2rem;\r\n\tmin-height: 1rem;\r\n\r\n ${({layout}) => (layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT) && css`\r\n\t flex-direction: column;\r\n\t padding: 0rem 0rem 0.6rem;\r\n\t\tmin-height: 4rem;\r\n\t`}\r\n\r\n\t${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\twidth: 35%;\r\n\t\tpadding: 0 1rem 0 0;\r\n\t`}\r\n`;\r\n\r\nexport const JackpotWidgetFooterMrGreenBox = styled(JackpotWidgetFooterDefaultBox)`\r\n\t${({layout}) => (layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT) && css`\r\n\t\tmin-height: inherit;\r\n\t`}\r\n`;\r\n\r\nexport const JackpotWidgetFooterBox = styledByTheme(JackpotWidgetFooterDefaultBox)\r\n\t.forMrGreen(JackpotWidgetFooterMrGreenBox)\r\n\t.forMrGreenCip(JackpotWidgetFooterMrGreenBox)\r\n\t.forMrGreenCis(JackpotWidgetFooterMrGreenBox)\r\n\t.apply();\r\n\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_STATE} from '../../../../../../../common/const/jackpot_map_ids';\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetClockLabelBox{\r\n state: JACKPOT_STATE;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleClockLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 14px */\r\n return widgetWidth * 14 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetClockLabelDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n text-transform: uppercase;\r\n color: ${({state, theme}) => state === JACKPOT_STATE.Hot ? theme.colors.brandSecondary : theme.colors.textLight };\r\n letter-spacing: 0.02rem;\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"74%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"left\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleClockLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetClockLabelCasino777Box = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({state, theme, themeType}) => themeType === JackpotThemeType.Light ? (state === JACKPOT_STATE.Hot ? theme.colors.danger : theme.colors.textContrast) : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetClockLabelSiBox = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nconst JackpotWidgetClockLabelMrGreenBox = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetClockLabelBox = styledByTheme(JackpotWidgetClockLabelDefaultBox)\r\n .forCasino777(JackpotWidgetClockLabelCasino777Box)\r\n .forSI(JackpotWidgetClockLabelSiBox)\r\n .forSICis(JackpotWidgetClockLabelSiBox)\r\n .forMrGreen(JackpotWidgetClockLabelMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetClockLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockLabelMrGreenBox)\r\n .apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetClockBoxProps {\r\n className?: string;\r\n widgetWidth?: number;\r\n themeType: JackpotThemeType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n isDaily: boolean;\r\n}\r\n\r\nconst handleClockBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number): string => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 30px */\r\n return widgetWidth ? (widgetWidth * 30 / 468 + \"px\") : \"30px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 15px */\r\n return widgetWidth ? (widgetWidth * 15 / 375 + \"px\") : \"15px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 15px */\r\n return widgetWidth ? (widgetWidth * 15 / 131 + \"px\") : \"15px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetClockDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-family: ${({theme}) => theme.components.jackpotWidget.font.clock};\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"26%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"right\" : \"center\" };\r\n\r\n /** For the floating clock shown in game, no need to compute relative (fluid) font-size */\r\n font-size: ${({widgetWidth, layout}) => handleClockBoxFontSize(layout, widgetWidth)};\r\n /* bugfix: 2039067 */\r\n line-height: 1.0;\r\n padding-bottom: 0.5rem;\r\n`;\r\n\r\nconst JackpotWidgetClockCasino777Box = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({themeType, theme}) => themeType === JackpotThemeType.Light ? theme.colors.brandPrimaryContrast : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetClockSiBox = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({theme}) => /* theme.colors.textContrast */ theme.colors.moneyColor };\r\n`;\r\n\r\nconst JackpotWidgetClockMrGreenBox = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n\r\n ${({isDaily}) => isDaily ? css`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-weight: 600;\r\n padding-bottom: 0;\r\n ` : null};\r\n`;\r\n\r\nexport const JackpotWidgetClockBox = styledByTheme(JackpotWidgetClockDefaultBox)\r\n .forCasino777(JackpotWidgetClockCasino777Box)\r\n .forSI(JackpotWidgetClockSiBox)\r\n .forSICis(JackpotWidgetClockSiBox)\r\n .forMrGreen(JackpotWidgetClockMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetClockMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockMrGreenBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {action, makeObservable, observable} from 'mobx';\r\nimport {observer} from 'mobx-react';\r\nimport {TimeSpan} from '@sparkware/app-utils';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {JackpotWidgetClockBox} from './boxes/footer/clock/box/jackpot-widget-clock.box';\r\nimport {JackpotType} from '../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from './jackpot-widget.component';\r\nimport {SetIntervalType} from \"../../../common/types/set-interval-type\";\r\nimport {IJackpotStatefulData} from '../../services/jackpots/jackpots.service.interface';\r\n\r\ninterface IDailyJackpotWidgetClockComponentProps {\r\n jackpotData: IJackpotStatefulData;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth?: number;\r\n jackpotType: JackpotType;\r\n}\r\n\r\n@observer\r\nexport class JackpotWidgetClockComponent extends OrbitComponent {\r\n private updateClockInterval: SetIntervalType;\r\n\r\n @observable.ref\r\n private clockValue: string = \"\";\r\n\r\n constructor(props: IDailyJackpotWidgetClockComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.clockInit();\r\n }\r\n\r\n componentDidUpdate(prevProps: IDailyJackpotWidgetClockComponentProps) {\r\n if ( prevProps.jackpotData.mustHitTime !== this.props.jackpotData.mustHitTime) {\r\n this.clearClockInterval();\r\n this.clockInit();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.clearClockInterval();\r\n }\r\n\r\n private clockInit() {\r\n this.updateClock();\r\n this.updateClockInterval = setInterval(() => {\r\n this.updateClock();\r\n }, 1000);\r\n }\r\n\r\n private clearClockInterval() {\r\n if (this.updateClockInterval) {\r\n clearInterval(this.updateClockInterval);\r\n this.updateClockInterval = undefined;\r\n }\r\n }\r\n\r\n @action.bound\r\n private updateClock() {\r\n const serverDate = this.services.time.getCurrentServerDate();\r\n if (!serverDate) {\r\n this.services.logger.warning('Server date is invalid');\r\n return;\r\n }\r\n\r\n const mustHitDate = this.props.jackpotData.mustHitTime;\r\n\r\n // round it to 1 second\r\n const remainingTimeMilis = Math.round((mustHitDate.getTime() - serverDate.getTime()) / 1000) * 1000;\r\n const remainingTimeTimeSp = TimeSpan.fromMilliseconds(Math.max(0, remainingTimeMilis));\r\n this.clockValue = remainingTimeTimeSp.toString({useTotalHours: true});\r\n }\r\n\r\n render() {\r\n return \r\n {this.clockValue}\r\n ;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetAmountLabelBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleAmountLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 15px */\r\n return widgetWidth * 15 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 131 + \"px\";\r\n }\r\n};\r\n\r\n/**\r\n * This is the \"PAID\" label shown above the amount at cold state\r\n */\r\nconst JackpotWidgetAmountLabelDefaultBox = styled.div`\r\n width: 100%;\r\n margin: 0 auto;\r\n text-align: center;\r\n letter-spacing: 0.2rem;\r\n\r\n text-transform: uppercase;\r\n color: ${({theme}) => theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.ultra};\r\n\r\n font-size: ${({widgetWidth, layout}) => handleAmountLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelCasino777Box = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${(props) => props.themeType === JackpotThemeType.Light ? props.theme.colors.brandPrimaryContrast : props.theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelSiBox = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelMrGreenBox = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n text-transform: capitalize;\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n`;\r\n\r\nexport const JackpotWidgetAmountLabelBox = styledByTheme(JackpotWidgetAmountLabelDefaultBox)\r\n .forCasino777(JackpotWidgetAmountLabelCasino777Box)\r\n .forSI(JackpotWidgetAmountLabelSiBox)\r\n .forMrGreen(JackpotWidgetAmountLabelMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetCollectingLabelBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleCollectingLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n return widgetWidth * 16 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n return widgetWidth * 10 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n return widgetWidth * 10 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetCollectingLabelDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n letter-spacing: 0.02rem;\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"62%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"left\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleCollectingLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetCollectingLabelCasino777Box = styled(JackpotWidgetCollectingLabelDefaultBox)`\r\n color: ${({theme, themeType}) => themeType === JackpotThemeType.Light ? theme.colors.danger : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetCollectingLabelSiBox = styled(JackpotWidgetCollectingLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nconst JackpotWidgetCollectingLabelMrGreenBox = styled(JackpotWidgetCollectingLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetCollectingLabelBox = styledByTheme(JackpotWidgetCollectingLabelDefaultBox)\r\n .forCasino777(JackpotWidgetCollectingLabelCasino777Box)\r\n .forSI(JackpotWidgetCollectingLabelSiBox)\r\n .forSICis(JackpotWidgetCollectingLabelSiBox)\r\n .forMrGreen(JackpotWidgetCollectingLabelMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetCollectingLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetCollectingLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetCollectingAmountBox{\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleCollectingAmountFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 25px */\r\n return widgetWidth * 25 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 12px */\r\n return widgetWidth * 12 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 12px */\r\n return widgetWidth * 12 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetCollectingAmountDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"38%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"right\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleCollectingAmountFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetCollectingAmountCasino777Box = styled(JackpotWidgetCollectingAmountDefaultBox)`\r\n color: ${({theme, themeType}) => themeType === JackpotThemeType.Light ? theme.colors.danger : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetCollectingAmountSiBox = styled(JackpotWidgetCollectingAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n`;\r\n\r\nconst JackpotWidgetCollectingAmountMrGreenBox = styled(JackpotWidgetCollectingAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n`;\r\n\r\nexport const JackpotWidgetCollectingAmountBox = styledByTheme(JackpotWidgetCollectingAmountDefaultBox)\r\n .forCasino777(JackpotWidgetCollectingAmountCasino777Box) \r\n .forSI(JackpotWidgetCollectingAmountSiBox)\r\n .forSICis(JackpotWidgetCollectingAmountSiBox)\r\n .forMrGreen(JackpotWidgetCollectingAmountMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetCollectingAmountMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetCollectingAmountMrGreenBox)\r\n .apply();\r\n","import styled, { keyframes, css } from \"styled-components\";\r\n\r\nconst animationProps = \"2s ease-in-out 0s normal infinite none running\";\r\n\r\n/**\r\n * The leftmost position of the sparkle (the center of the sparkle) in percentage\r\n */\r\nconst ShineLeftPosition = 20;\r\n/**\r\n * The rightmost position of the sparkle (the center of the sparkle) in percentage\r\n */\r\nconst ShineRightPosition = 80;\r\n\r\nconst BorderShineHeight = 2;\r\nconst BorderShineWidth = 30;\r\nfunction borderShineKeyframes(rtl?: boolean) {\r\n const startPos = (rtl ? ShineRightPosition : ShineLeftPosition) - (BorderShineWidth / 2);\r\n const endPos = (rtl ? ShineLeftPosition : ShineRightPosition) - (BorderShineWidth / 2);\r\n return keyframes`\r\n 0% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n 20%, 30% {\r\n opacity: 0.5;\r\n left: ${startPos}%;\r\n }\r\n 50%, 60% {\r\n opacity: 1;\r\n left: ${endPos}%;\r\n }\r\n 80% {\r\n opacity: 0;\r\n left: ${endPos}%;\r\n }\r\n 100% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n `;\r\n}\r\nexport const JackpotWidgetBorderShine = styled.div<{bottom?: boolean}>`\r\n position: absolute;\r\n width: ${BorderShineWidth}%;\r\n ${({bottom}) => bottom ? css`\r\n bottom: ${-(BorderShineHeight / 2)}px;\r\n ` : css`\r\n top: ${-(BorderShineHeight / 2)}px;\r\n `}\r\n height: ${BorderShineHeight}px;\r\n z-index: 10;\r\n background-color: transparent;\r\n background-image: linear-gradient(90deg, #00000000 0%, #FFFFFF 50%, #00000000 100%);\r\n\r\n animation: ${({bottom}) => borderShineKeyframes(bottom)} ${animationProps};\r\n`;\r\n\r\nconst RadialShineHeight = 22;\r\nconst RadialShineWidth = 20;\r\nfunction radialShineKeyframes(rtl?: boolean) {\r\n const startPos = (rtl ? ShineRightPosition : ShineLeftPosition) - (RadialShineWidth / 2);\r\n const endPos = (rtl ? ShineLeftPosition : ShineRightPosition) - (RadialShineWidth / 2);\r\n return keyframes`\r\n 0% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n 20%, 30% {\r\n opacity: 0.1;\r\n left: ${startPos}%;\r\n }\r\n 50%, 60% {\r\n opacity: 1;\r\n left: ${endPos}%;\r\n }\r\n 80% {\r\n opacity: 0;\r\n left: ${endPos}%;\r\n }\r\n 100% {\r\n opacity: 0;\r\n left: ${startPos}%;\r\n }\r\n `;\r\n}\r\nexport const JackpotWidgetRadialShine = styled.div<{bottom?: boolean}>`\r\n position: absolute;\r\n width: ${RadialShineWidth}%;\r\n ${({bottom}) => bottom ? css`\r\n bottom: ${-(RadialShineHeight / 2)}px;\r\n ` : css`\r\n top: ${-(RadialShineHeight / 2)}px;\r\n `}\r\n height: ${RadialShineHeight}px;\r\n z-index: 10;\r\n background-color: transparent;\r\n background-image: radial-gradient(closest-side at 50% 50%, #FFFFFF 0%, #FFFFFF61 35%, #00000000 100%);\r\n\r\n animation: ${({bottom}) => radialShineKeyframes(bottom)} ${animationProps};\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {JACKPOT_STATE, JackpotInternalId, JackpotType} from '../../../common/const/jackpot_map_ids';\r\nimport {\r\n JackpotWidgetConfiguration\r\n} from '../../services/configurations/config-data-sections/jackpot-widget.configuration';\r\nimport {JackpotWidgetBox} from './boxes/jackpot-widget.box';\r\nimport {JackpotWidgetBgBox} from './boxes/bg/jackpot-widget-bg.box';\r\nimport {JackpotWidgetLogoBox} from './boxes/logo/jackpot-widget-logo.box';\r\nimport {JackpotWidgetAmountBox} from './boxes/amount/jackpot-widget-amount.box';\r\nimport {JackpotWidgetFooterBox} from './boxes/footer/jackpot-widget-footer.box';\r\nimport {JackpotWidgetClockLabelBox} from './boxes/footer/clock/label/jackpot-widget-clock-label.box';\r\nimport {JackpotWidgetClockComponent} from './jackpot-widget-clock.component';\r\nimport {JackpotWidgetAmountLabelBox} from './boxes/amount/label/jackpot-widget-amount-label.box';\r\nimport {JackpotWidgetCollectingLabelBox} from './boxes/footer/collecting/label/jackpot-widget-collecting-label';\r\nimport {JackpotWidgetCollectingAmountBox} from './boxes/footer/collecting/amount/jackpot-widget-collecting-amount';\r\nimport {JackpotWidgetBorderShine, JackpotWidgetRadialShine} from './boxes/shine/jackpot-widget-shine.box';\r\nimport {JackpotWidgetAspectRatioBox} from './boxes/aspect-ratio/jackpot-widget-aspect-ratio.box';\r\nimport {JackpotWidgetAmountContainer} from './boxes/amount/jackpot-widget-amount-container.box';\r\nimport {JackpotWidgetClockLabelSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box\";\r\nimport {\r\n JackpotWidgetCollectingLabelSkeletonBox\r\n} from \"./skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box\";\r\nimport {JackpotWidgetFooterSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box\";\r\nimport {JackpotWidgetAmountSkeletonBox} from \"./skeleton/boxes/jackpot-widget-amount-skeleton.box\";\r\nimport {action, makeObservable, observable} from \"mobx\";\r\nimport {imagePreload} from '../../../common/utils/image-preload';\r\nimport {ResizeObserver, ResizeObserverEntry} from '@juggle/resize-observer';\r\nimport {IJackpotHandler} from '../../services/jackpots/jackpot-handler/jackpot-handler.interface';\r\nimport {IJackpotData} from '../../services/jackpots/jackpots.service.interface';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\nimport JackpotTitleBox from \"./boxes/title/jackpot-title.box\";\r\n\r\n\r\nexport enum JACKPOT_WIDGET_LAYOUT {\r\n PORTRAIT,\r\n PORTRAIT_TALL,\r\n LANDSCAPE,\r\n LANDSCAPE_WIDE\r\n}\r\n\r\nexport interface IJackpotWidgetLayout {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n}\r\n\r\nexport interface JackpotWidgetComponentProps {\r\n\t/**\r\n\t * We send the wrapper as prop because if the widget is not rendered, then we don't want to render the Wrapper either\r\n\t */\r\n WrapperBox?: React.ComponentType;\r\n\twidgetConfig?: JackpotWidgetConfiguration;\r\n layout?: JACKPOT_WIDGET_LAYOUT;\r\n seoCategory?: string;\r\n onClick?: () => void;\r\n}\r\n\r\n@observer\r\nexport class JackpotWidgetComponent extends OrbitComponent {\r\n\r\n constructor(props: JackpotWidgetComponentProps) {\r\n super(props);\r\n makeObservable(this);\r\n }\r\n\r\n private _onWidgetClick = () => {\r\n //Product want to check how many users click on the widgets even if it's not clickable\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Jackpot_Widget\", `${this.services.routing.currentRoute?.data?.arenaType}, ${this.props.widgetConfig?.jackpotType}`);\r\n\r\n if (this.props.onClick) {\r\n const listInfo = this.services.configuration.getGamesListByJackpotId(this.props.widgetConfig.jackpotId);\r\n this.services.analytics.sendOrbitMarketingEvent(this.props.seoCategory ?? \"List_Widget\", \"Widget_Clicked\", this.props.widgetConfig.jackpotType + (listInfo?.title ? \"_\" + listInfo.title : \"\"));\r\n this.props.onClick();\r\n }\r\n }\r\n\r\n private _isWidgetClickable = () => {\r\n return !!this.props.onClick || this.props.widgetConfig.jackpotType === JackpotType.Party;\r\n }\r\n\r\n @observable.ref\r\n private imagesReady = false;\r\n\r\n\r\n @action.bound\r\n private _setImagesReady(readyState: boolean) {\r\n this.imagesReady = readyState;\r\n }\r\n\r\n private get _isJackpotHandlerReady(): boolean {\r\n const jackpotId = this.props.widgetConfig?.jackpotId ?? JackpotInternalId.Daily;\r\n const jackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n return !Check.isNullOrUndefined(jackpotHandler?.jackpotData);\r\n }\r\n\r\n private get _shouldRenderSkeleton() {\r\n return (!this.imagesReady || !this._isJackpotHandlerReady);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n const jackpotType = this.props.widgetConfig?.jackpotType ?? JackpotType.Daily;\r\n\r\n if (!this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType]) {\r\n // this can happen if in Orbit Admin metadata has jackpotType has unknown value for Orbit - for example \"HourlyCaptain8\"\r\n this.services.logger.warning(`Unknown JP type ${jackpotType} found!`)\r\n return;\r\n }\r\n\r\n Promise.all([\r\n imagePreload(this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType].logo.toString()),\r\n imagePreload(this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType].background.toString())\r\n ]).then(() => {\r\n this._setImagesReady(true);\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.resizeObserverInstance) {\r\n this.resizeObserverInstance.disconnect();\r\n this.resizeObserverInstance = null;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private widgetWidth: number;\r\n private aspectRatioBox: HTMLDivElement | null;\r\n private resizeObserverInstance: ResizeObserver;\r\n private disposer: undefined | ((oldRefEl: HTMLDivElement) => void);\r\n\r\n @action.bound\r\n private setWidgetWidth = (entries: ResizeObserverEntry[]) => {\r\n // We know we are only watching the aspect ratio box element so we take the first element in the array.\r\n // We are not using this.aspectRatioBox directly because from a typescript point of view that could be null\r\n // and from a react component lifecycle perspective it could be null as well\r\n let targetElement = entries[0].target;\r\n const elementRectangle = targetElement.getBoundingClientRect();\r\n this.widgetWidth = elementRectangle.width;\r\n };\r\n\r\n private _captureJackpotWidgetAspectRatioBoxRef = (refEl: HTMLDivElement | null) => {\r\n if (this.disposer) {\r\n this.disposer(this.aspectRatioBox);\r\n this.disposer = undefined;\r\n }\r\n this.aspectRatioBox = refEl;\r\n if (this.aspectRatioBox) {\r\n if (!this.resizeObserverInstance) {\r\n this.resizeObserverInstance = new ResizeObserver(this.setWidgetWidth);\r\n }\r\n this.resizeObserverInstance.observe(this.aspectRatioBox);\r\n this.disposer = (oldRefEl: HTMLDivElement) => {\r\n // At unmount, the resizeObserverInstance will be destroyed and the disposer will be called too late.\r\n // In that case, we don't do anything since the observer was disconnected at unmount\r\n if (this.resizeObserverInstance) {\r\n this.resizeObserverInstance.unobserve(oldRefEl);\r\n }\r\n }\r\n }\r\n };\r\n\r\n private _getCountDownTimerTranslationKey(jackpotState: JACKPOT_STATE) {\r\n let translationKey = '';\r\n switch (jackpotState) {\r\n case JACKPOT_STATE.Hot:\r\n translationKey = 'JACKPOT-WIDGET-DROPS-SOON';\r\n break;\r\n\r\n case JACKPOT_STATE.OffHours:\r\n translationKey = 'JACKPOT-WIDGET-STARTS-SOON';\r\n break;\r\n\r\n case JACKPOT_STATE.Regular:\r\n default:\r\n translationKey = 'JACKPOT-WIDGET-MUST-PAY';\r\n break;\r\n }\r\n\r\n return translationKey;\r\n }\r\n\r\n private _getJackpotWidgetLayout(): JACKPOT_WIDGET_LAYOUT {\r\n const isMobileTablet = this.services.mediaQuery.mAndAbove && this.services.mediaQuery.lAndBelow;\r\n\r\n return this.props.layout || isMobileTablet ? JACKPOT_WIDGET_LAYOUT.PORTRAIT_TALL : JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n private _getAmountDisplayed(jackpotHandler: IJackpotHandler) {\r\n const {jackpotState, lastWinAmount} = jackpotHandler.jackpotData || {};\r\n\r\n return (\r\n jackpotState === JACKPOT_STATE.Cold ?\r\n this.services.currency.formatMoney(lastWinAmount) :\r\n this.services.currency.formatMoney(jackpotHandler?.jackpotAmount)\r\n );\r\n }\r\n\r\n render() {\r\n if (!this.props.widgetConfig || !this.props.widgetConfig.display) {\r\n return null;\r\n }\r\n\r\n const jackpotId = String(this.props.widgetConfig.jackpotId ?? JackpotInternalId.Daily);\r\n const jackpotType: JackpotType = this.props.widgetConfig.jackpotType ?? JackpotType.Daily;\r\n\r\n const jackpotHandler: IJackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n const jackpotData = (jackpotHandler?.jackpotData || {}) as IJackpotData;\r\n\r\n if (!this._shouldRenderSkeleton) {\r\n jackpotHandler.startGradual(jackpotData);\r\n }\r\n\r\n const {jackpotState} = jackpotData || {};\r\n\r\n const WrapperBox = this.props.WrapperBox || React.Fragment;\r\n\r\n const layout = this._getJackpotWidgetLayout();\r\n\r\n const themeType = this.services.jackpots.getThemeType(jackpotType);\r\n\r\n const isDailyJPWidget = this.props.widgetConfig.jackpotType === JackpotType.Daily;\r\n\r\n return \r\n \r\n \r\n \r\n {jackpotState === JACKPOT_STATE.Hot ? <>\r\n \r\n \r\n \r\n \r\n : null}\r\n\r\n {(this._shouldRenderSkeleton) ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n :\r\n <>\r\n \r\n {this.services.translation.translate(\"JACKPOT_WIDGET_TITLE\")}\r\n \r\n \r\n \r\n {jackpotState === JACKPOT_STATE.Cold &&\r\n \r\n {this.services.translation.translate('JACKPOT-WIDGET-LAST-WIN')}\r\n \r\n }\r\n\r\n \r\n \r\n {this._getAmountDisplayed(jackpotHandler)}\r\n \r\n \r\n \r\n \r\n { jackpotData.jackpotState ?\r\n (jackpotState === JACKPOT_STATE.Cold ?\r\n <>\r\n \r\n {this.services.translation.translate('JACKPOT-WIDGET-NEXT-JACKPOT')}\r\n \r\n\r\n \r\n {this.services.currency.formatMoney(jackpotHandler.jackpotAmount)}\r\n \r\n :\r\n <>\r\n \r\n {this.services.translation.translate(this._getCountDownTimerTranslationKey(jackpotState))}\r\n \r\n \r\n \r\n ) : }\r\n \r\n }\r\n \r\n \r\n \r\n ;\r\n }\r\n};\r\n","import styled from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetAspectRatioBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT; \r\n};\r\n\r\nconst handlePaddingTop = (layout: JACKPOT_WIDGET_LAYOUT) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n return \"58%\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n return \"25%\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT_TALL:\r\n return \"128%\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default: \r\n return \"123%\";\r\n }\r\n};\r\n\r\nexport const JackpotWidgetAspectRatioBox = styled.div`\r\n position: relative;\r\n padding-top: ${({layout}) => handlePaddingTop(layout)};\r\n transition: padding-top 0.5s ease-in-out;\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport interface IJackpotWidgetAmountContainerProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n isDaily: boolean;\r\n}\r\n\r\nconst JackpotWidgetAmountContainerDefaultBox = styled.div`\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE ? \"40%\" : \"initial\"};\r\n`;\r\n\r\nconst JackpotWidgetAmountContainerMrGreenBox = styled(JackpotWidgetAmountContainerDefaultBox)`\r\n ${({isDaily}) => isDaily ? css`\r\n padding-bottom: 25%;\r\n ` : null};\r\n`;\r\n\r\nexport const JackpotWidgetAmountContainer = styledByTheme(JackpotWidgetAmountContainerDefaultBox)\r\n .forMrGreen(JackpotWidgetAmountContainerMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountContainerMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountContainerMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetFooterElementSkeletonBox = styled.div`\r\n width: 20%;\r\n height: 2rem;\r\n \r\n animation: FooterElementSkeletonAnimation 1.5s linear infinite;\r\n \r\n @keyframes FooterElementSkeletonAnimation {\r\n 0% {\r\n background-color: #474747;\r\n }\r\n 100% {\r\n background-color: #333333;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetFooterElementSkeletonBox} from \"./jackpot-widget-footer-element-skeleton.box\";\r\n\r\nexport const JackpotWidgetClockLabelSkeletonBox = styled(JackpotWidgetFooterElementSkeletonBox)`\r\n margin-left: 50%;\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetFooterElementSkeletonBox} from \"./jackpot-widget-footer-element-skeleton.box\";\r\n\r\nexport const JackpotWidgetCollectingLabelSkeletonBox = styled(JackpotWidgetFooterElementSkeletonBox)`\r\n margin-left: 5%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetFooterSkeletonBox = styled.div`\r\n display: flex;\r\n margin-bottom: 0.8rem;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetAmountSkeletonBox = styled.div`\r\n margin-top: 35%;\r\n margin-left: 25%;\r\n\r\n width: 50%;\r\n height: 2.8rem;\r\n \r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: #474747;\r\n }\r\n 100% {\r\n background-color: #333333;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetTitleBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n isDaily: boolean;\r\n}\r\n\r\nconst handleTitleBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number, mAndBelow: boolean = false) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In desktop view at a widget width of 468px, the title should be of font-size 35px */\r\n return widgetWidth * 35 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the title should be of font-size 25px */\r\n return widgetWidth * 25 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n if (mAndBelow) {\r\n /** In mobile view at a widget width of 131px, the title should be of font-size 14px */\r\n return widgetWidth * 14 / 131 + \"px\";\r\n } else {\r\n /** At a widget width of 240px, the title should be of font-size 25px */\r\n return widgetWidth * 25 / 240 + \"px\";\r\n }\r\n }\r\n};\r\n\r\nexport const JackpotTitleDefaultBox = styled.div`\r\n display: none;\r\n`;\r\n\r\nexport const JackpotTitleMrGreenBox = styled(JackpotTitleDefaultBox)`\r\n display: ${({isDaily}) => isDaily ? \"block\" : \"none\"};\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n line-height: 1.2;\r\n text-align: center;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n padding-top: 5%;\r\n\r\n font-size: ${({layout, widgetWidth}) => handleTitleBoxFontSize(layout, widgetWidth)};\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: ${({layout, widgetWidth}) => handleTitleBoxFontSize(layout, widgetWidth, true)};\r\n }\r\n\r\n`;\r\n\r\nconst JackpotTitleBox = styledByTheme(JackpotTitleDefaultBox)\r\n .forMrGreen(JackpotTitleMrGreenBox)\r\n .forMrGreenCip(JackpotTitleMrGreenBox)\r\n .forMrGreenCis(JackpotTitleMrGreenBox)\r\n .apply();\r\n\r\nexport default JackpotTitleBox;\r\n\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget-wrapper.default.box';\r\n\r\nexport const JackpotWidgetWrapperBox = JackpotWidgetDefaultBox;\r\n","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n margin: 1rem 1rem 3rem;\r\n align-self: stretch;\r\n max-width: 24rem;\r\n width: calc(100% / 6);\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: calc(100% / 5);\r\n margin: 1rem 1.5rem 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 3);\r\n margin: 1rem 1.5rem 0;\r\n }\r\n`;\r\n","import {RedTigerWidgetDefaultBox} from './red-tiger-widget.default.box';\r\n\r\nexport const RedTigerWidgetBox = RedTigerWidgetDefaultBox;\r\n","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const RedTigerWidgetDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n margin: 1rem 1rem 3rem;\r\n align-self: stretch;\r\n max-width: 24rem;\r\n width: calc(100% / 6);\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 1rem 1.5rem 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: calc(100% / 5);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 3);\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const RedTigerWidgetHitAreaDefaultBox = styled.div`\r\n cursor: pointer;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { RedTigerWidgetHitAreaDefaultBox } from './red-tiger-widget-hit-area.default.box';\r\n\r\n\r\nexport const RedTigerWidgetHitAreaCasino777Box = styled(RedTigerWidgetHitAreaDefaultBox)`\r\n cursor: default;\r\n`;","import { styledByTheme } from './../../../../themes/architecture/styled-by-theme';\r\nimport { RedTigerWidgetHitAreaDefaultBox } from './red-tiger-widget-hit-area.default.box';\r\nimport { RedTigerWidgetHitAreaCasino777Box } from './red-tiger-widget-hit-area.casino777.box';\r\n\r\nexport const RedTigerWidgetHitAreaBox = styledByTheme(RedTigerWidgetHitAreaDefaultBox)\r\n .forCasino777(RedTigerWidgetHitAreaCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const RedTigerWidgetFrameContainerDefaultBox = styled.iframe`\r\n pointer-events: none;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 10px;\r\n`;\r\n","import { styledByTheme } from './../../../../themes/architecture/styled-by-theme';\r\nimport { RedTigerWidgetFrameContainerDefaultBox } from './red-tiger-widget-frame-container.default.box';\r\n\r\nexport const RedTigerWidgetFrameContainerBox = styledByTheme(RedTigerWidgetFrameContainerDefaultBox)\r\n .apply();","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport { RedTigerJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/red-tiger-jackpot-widget.configuration';\r\nimport { observer } from 'mobx-react';\r\nimport { RedTigerWidgetBox } from './boxes/widget/red-tiger-widget.box';\r\nimport { RedTigerWidgetHitAreaBox } from './boxes/hitArea/red-tiger-widget-hit-area.box';\r\nimport { RedTigerWidgetFrameContainerBox } from './boxes/frameContainer/red-tiger-widget-frame-container.box';\r\nimport { CyClass } from '../../../common/cy-classes';\r\n\r\ninterface RedTigerWidgedComponentProps {\r\n widgetConfig?: RedTigerJackpotWidgetConfiguration;\r\n}\r\n\r\nexport const RedTigerWidgetComponent = observer(\r\n class RedTigerWidgetComponent extends OrbitComponent {\r\n \r\n private _onWidgetClick = () => {\r\n this.services.redTiger.redirectToWidgetActionLink(this.props.widgetConfig.actionLink);\r\n }\r\n \r\n private _logMissingProps() {\r\n if (!this.props.widgetConfig.actionLink) {\r\n // actionLink is optional. For example on 777 we don't have it\r\n this.services.logger.info('Missing actionLink parameter for RedTigerWidgetComponent');\r\n }\r\n\r\n if (!this.props.widgetConfig.parameters?.skin) {\r\n this.services.logger.warning('Missing skin parameter for RedTigerWidgetComponent');\r\n }\r\n\r\n if (!this.props.widgetConfig.parameters?.jackpotId) {\r\n this.services.logger.warning('Missing jackpotId parameter for RedTigerWidgetComponent');\r\n }\r\n }\r\n\r\n render() {\r\n if(!this.props.widgetConfig?.display) {\r\n return null;\r\n }\r\n this._logMissingProps();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport { GeneralTitleDefaultBox } from './general-title.default.box';\r\n\r\nexport const GeneralTitleCasinoSIBox = styled(GeneralTitleDefaultBox)`\r\n flex-grow: 100;\r\n border-radius: 3px 0px 0px 3px;\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n`;","import styled from 'styled-components';\r\nimport { GeneralTitleDefaultBox } from './general-title.default.box';\r\n\r\nexport const GeneralTitleWsopBox = styled(GeneralTitleDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n min-width: 40rem;\r\n }\r\n`;","import {GeneralTitleDefaultBox} from './general-title.default.box';\r\nimport {GeneralTitleCasino777Box} from './general-title.casino777.box';\r\nimport {GeneralTitleCasinoSIBox} from './general-title.si.box';\r\nimport {styledByTheme} from '../../themes/architecture/styled-by-theme';\r\nimport {GeneralTitleWsopBox} from \"./general-title.wsop.box\";\r\n\r\nexport const GeneralTitleBox = styledByTheme(GeneralTitleDefaultBox)\r\n .forCasino777(GeneralTitleCasino777Box)\r\n .forSI(GeneralTitleCasinoSIBox)\r\n .forWsop(GeneralTitleWsopBox)\r\n .apply();\r\n\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleBox} from '../../../../basic-components/general-title/general-title.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\n\r\nexport const ListTitleTextDefaultBox = styled(GeneralTitleBox)`\r\n letter-spacing: 0.2rem;\r\n display: flex;\r\n align-items: center;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n border-left: 3px solid ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.redTigerJackpot};\r\n border-left: 2px solid #ff014f;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.6rem;\r\n padding-bottom: 0.6rem;\r\n padding-right: 0.1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\n\r\nexport const ListTitleTextCasino777Box = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextCipBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n`;","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\n\r\nexport const ListTitleTextCisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n background: none;\r\n border-left: none;\r\n padding: 0 0;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from '../../constants';\r\n\r\nexport const ListTitleTextSiBox = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n \r\n background-image: linear-gradient(to right, ${props => props.theme.colors.background} 0%, ${props => props.theme.colors.background} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: transparent;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\n\r\nexport const ListTitleTextMrGreenBox = styled(ListTitleTextDefaultBox)`\r\n background: none;\r\n border-left: 0;\r\n\r\n /* This is done to keep the alignment between the list title and the first game in the list */\r\n padding-left: calc(max(0px, 100% / 7 - 21rem) / 2);\r\n .${HOME_PAGE} & {\r\n padding-left: calc(max(0px, 100% / 6 - 21rem) / 2);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 10px;\r\n .${HOME_PAGE} & {\r\n padding-left: 10px;\r\n }\r\n }\r\n\r\n font-size: 2.4rem;\r\n letter-spacing: normal;\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: 1.6rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 0;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 0;\r\n }\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from \"../../constants\";\r\nimport { ListTitleTextDefaultBox } from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextSICisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.medium};\r\n \r\n letter-spacing: 0.56px;\r\n font-size: 14px;\r\n background-image: linear-gradient(to right, ${props => props.theme.colors.backgroundContrast} 0%, ${props => props.theme.colors.backgroundContrast} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n\r\n border-left: none;\r\n \r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {ListTitleTextCasino777Box} from './list-title-text.casino777.box';\r\nimport {ListTitleTextCipBox} from \"./list-title-text.cip.box\";\r\nimport {ListTitleTextCisBox} from \"./list-title-text.cis.box\";\r\nimport {ListTitleTextSiBox} from \"./list-title-text.si.box\";\r\nimport {ListTitleTextMrGreenBox} from \"./list-title-text.mrgreen.box\";\r\nimport { ListTitleTextSICisBox } from './list-title-text.siCis.box';\r\n\r\nexport const ListTitleTextBox = styledByTheme(ListTitleTextDefaultBox)\r\n .forCip(ListTitleTextCipBox)\r\n .forWsopCip(ListTitleTextCipBox)\r\n .forCis(ListTitleTextCisBox)\r\n .forCasino777(ListTitleTextCasino777Box)\r\n .forSI(ListTitleTextSiBox)\r\n .forSICis(ListTitleTextSICisBox)\r\n .forMrGreen(ListTitleTextMrGreenBox)\r\n .forMrGreenCis(ListTitleTextMrGreenBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const ListTitleDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n padding: 0.3rem 1.5rem;\r\n &:before {\r\n content: \"\";\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n opacity:0.5;\r\n background-repeat: no-repeat;\r\n background-position: 50% 0;\r\n background-size: contain;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 35rem;\r\n width: 100%;\r\n z-index: -1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25rem;\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleCasino777Box = styled(ListTitleDefaultBox)`\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleMrGreenBox = styled(ListTitleDefaultBox)`\r\n padding-left: 0;\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCipBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCisBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n \r\n border-top: 1.5px solid ${props => props.theme.colors.brandPrimary};\r\n background-color: ${props => props.theme.colors.background};\r\n`;\r\n","import styled from 'styled-components';\r\nimport { baseColors } from '../../../../themes/definitions/si/cis/base-colors';\r\nimport { ListTitleCisBox } from './list-title.cis.box';\r\n\r\nexport const ListTitleSICisBox = styled(ListTitleCisBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n z-index: 2;\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\nimport {ListTitleCasino777Box} from './list-title.casino777.box';\r\nimport {ListTitleMrGreenBox} from './list-title.mrgreen.box';\r\nimport {ListTitleCipBox} from './list-title.cip.box';\r\nimport {ListTitleCisBox} from \"./list-title.cis.box\";\r\nimport { ListTitleSICisBox } from './list-title.siCis.box';\r\n\r\nexport const ListTitleBox = styledByTheme(ListTitleDefaultBox)\r\n .forCasino777(ListTitleCasino777Box)\r\n .forCip(ListTitleCipBox)\r\n .forWsopCip(ListTitleCipBox)\r\n .forCis(ListTitleCisBox)\r\n .forSICis(ListTitleSICisBox)\r\n .forMrGreen(ListTitleMrGreenBox)\r\n .apply();","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {FlexGrowItemBox} from '../../themes/architecture/css-helpers/flex';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {ListTitleBox} from './boxes/list-title/list-title.box';\r\n\r\nexport interface GameListTitleComponentProps extends PropsWithChildren {\r\n className?: string;\r\n title: React.ReactElement;\r\n}\r\n\r\nexport const GameListTitleComponent = observer(\r\n class GameListTitleComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const cssClasses = classNames('cy-games-list-title', this.props.className);\r\n\r\n return (\r\n \r\n {this.props.title}\r\n {this.services.mediaQuery.mAndAbove ? : null}\r\n {this.props.children}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\nexport const SwiperButtonsDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin: 0 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\n\r\nexport const SwiperButtonsCasino777Box = styled(SwiperButtonsDefaultBox)`\r\n right:.8rem;\r\n`;","import {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\nimport {SwiperButtonsCasino777Box} from './swiper-buttons.casino777.box';\r\n\r\nexport const SwiperButtonsBox = styledByTheme(SwiperButtonsDefaultBox).forCasino777(SwiperButtonsCasino777Box).apply();","import styled, { css } from \"styled-components\";\r\n\r\nexport const SwiperButtonBox = styled.div<{isTouchDevice?: boolean}>`\r\n margin: 0 0.5rem;\r\n\r\n ${({isTouchDevice}) => isTouchDevice ? css`\r\n display: none;\r\n ` : null}\r\n`;\r\n","import 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 {PlayerEvents, DotLottieCommonPlayer} from '@dotlottie/react-player';\r\nimport {useServices } from '../../react-hooks/use-services.hook';\r\nimport {TitanJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/titan-jackpot-widget.configuration';\r\nimport {DotLottiePlayer} from '../lottie-player/dot-lottie-player.component';\r\n\r\nconst ANIMATION_PAUSE_INTERVAL = 3000;\r\n\r\nconst MINOR_JACKPOT_FRAME = 10;\r\nconst MAJOR_JACKPOT_FRAME = 90;\r\nconst MEGA_JACKPOT_FRAME = 180;\r\n\r\nconst ANIMATION_FRAME_STOPS = [MINOR_JACKPOT_FRAME, MAJOR_JACKPOT_FRAME, MEGA_JACKPOT_FRAME];\r\n\r\ninterface ITitanAnimationComponentProps {\r\n widgetConfig: TitanJackpotWidgetConfiguration;\r\n}\r\n\r\nexport const TitanJackpotAnimationComponent: React.FC = observer((props) => {\r\n let lottieRef = useRef(null);\r\n let animationCounter = 0;\r\n\r\n const services = useServices();\r\n\r\n const styles = useMemo(() => ({ borderRadius: 10, display: 'grid' }), []);\r\n\r\n const updateAnimationCounter = (): void => {\r\n animationCounter++;\r\n }\r\n\r\n const getTitanJackpotIndex = (): number => {\r\n return animationCounter % props.widgetConfig?.jackpotIds.length;\r\n }\r\n\r\n const getCurrentJackpotId = (): string => {\r\n const index: number = getTitanJackpotIndex();\r\n\r\n return String(props.widgetConfig.jackpotIds[index]);\r\n }\r\n\r\n const handleEnterFrame = (currentFrame: number): void => {\r\n if (Math.round(currentFrame) === ANIMATION_FRAME_STOPS[getTitanJackpotIndex()]) {\r\n lottieRef.current.pause();\r\n\r\n services.titanJackpot.updateJackpotHandler(getCurrentJackpotId());\r\n\r\n setTimeout(() => {\r\n lottieRef.current.play();\r\n }, ANIMATION_PAUSE_INTERVAL);\r\n\r\n updateAnimationCounter();\r\n }\r\n };\r\n\r\n const onEventHandler = (event: PlayerEvents, params: unknown) => {\r\n /**\r\n * Intercept any event from PlayerEvents in here\r\n * Example: Listen for player ready\r\n * if (event === PlayerEvents.Ready) { do stuff here }\r\n * Listening for frame change\r\n * if (event === PlayerEvents.Frame) {\r\n */\r\n if (event === PlayerEvents.Frame) {\r\n handleEnterFrame((params as Record).frame)\r\n }\r\n }\r\n\r\n return (\r\n \r\n )\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const TitanJackpotAmountBox = styled.div`\r\n position: absolute;\r\n top: calc(69%);\r\n\r\n text-align: center;\r\n\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 1.8em;\r\n width: 100%;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3em; \r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.1em;\r\n }\r\n`;","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport { TitanJackpotAmountBox } from './boxes/titan-jackpot-amount-container.box'\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\n\r\nexport const TitanJackpotAmountComponent: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n return (\r\n \r\n {services.currency.formatMoney(services.titanJackpot.jackpotHandler?.jackpotAmount)}\r\n \r\n )\r\n});","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport { TitanJackpotWidgetConfiguration } from \"../../services/configurations/config-data-sections/titan-jackpot-widget.configuration\";\r\nimport { JackpotWidgetAspectRatioBox } from '../jackpot-widget/boxes/aspect-ratio/jackpot-widget-aspect-ratio.box';\r\nimport { JackpotWidgetBgBox } from '../jackpot-widget/boxes/bg/jackpot-widget-bg.box';\r\nimport { JackpotWidgetBox } from '../jackpot-widget/boxes/jackpot-widget.box';\r\nimport { JACKPOT_WIDGET_LAYOUT } from '../jackpot-widget/jackpot-widget.component';\r\nimport { JackpotType } from '../../../common/const/jackpot_map_ids';\r\nimport { TitanJackpotAnimationComponent } from './titan-jackpot-animation.component';\r\nimport { TitanJackpotAmountComponent } from './titan-jackpot-amount.component';\r\nimport { JackpotWidgetClockLabelSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box';\r\nimport { JackpotWidgetCollectingLabelSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box';\r\nimport { JackpotWidgetFooterSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box';\r\nimport { JackpotWidgetAmountSkeletonBox } from '../jackpot-widget/skeleton/boxes/jackpot-widget-amount-skeleton.box';\r\nimport { Check } from '@sparkware/app-utils';\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\n\r\n\r\ninterface ITitanJackpotWidgetProps {\r\n WrapperBox?: React.ComponentType;\r\n widgetConfig?: TitanJackpotWidgetConfiguration;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const TitanJackpotWidgetComponent: React.FC = observer((props: ITitanJackpotWidgetProps) => {\r\n const services = useServices();\r\n\r\n const WrapperBox = props.WrapperBox || React.Fragment;\r\n\r\n const getJackpotWidgetLayout = (): JACKPOT_WIDGET_LAYOUT => {\r\n const isMobileTablet = services.mediaQuery.mAndAbove && services.mediaQuery.lAndBelow;\r\n\r\n return isMobileTablet ? JACKPOT_WIDGET_LAYOUT.PORTRAIT_TALL : JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n const isJackpotHandlerReady = (): boolean => {\r\n if (!props.widgetConfig?.jackpotIds?.length) {\r\n return false;\r\n }\r\n\r\n return props.widgetConfig.jackpotIds.every(jkpId => {\r\n const jackpotHandler = services.jackpots.currentJackpotsById[String(jkpId)];\r\n return !Check.isNullOrUndefined(jackpotHandler?.jackpotData);\r\n })\r\n }\r\n\r\n const renderTitanJackpotContent = (): React.ReactNode => {\r\n return isJackpotHandlerReady() ?\r\n <>\r\n \r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n }\r\n\r\n if (!props.widgetConfig?.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n props.onClick()} isClickable={!!props.onClick} className=\"cy-jackpot-widget\">\r\n \r\n {renderTitanJackpotContent()}\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport {GamesListBaseModel} from \"./games-list-base.model\";\r\nimport {\r\n ApiListType,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {EXCLUSIVES_LIST_ICON, JACKPOTS_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TextTranslation} from \"../../../translation/text-translation\";\r\nimport {ListTitleIconBox} from \"../../../../components/game-list-title/boxes/list-title-icon/list-title-icon.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {JackpotWidgetComponent} from \"../../../../components/jackpot-widget/jackpot-widget.component\";\r\nimport {JackpotWidgetWrapperBox} from \"../../../../components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.box\";\r\nimport {RedTigerWidgetComponent} from \"../../../../components/red-tiger-widget/red-tiger-widget.component\";\r\nimport {ISwiperListViewModel} from \"./swiper-list-view-model.interface\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../../../components/game-list-title/constants\";\r\nimport {ListTitleTextBox} from \"../../../../components/game-list-title/boxes/list-title-text/list-title-text.box\";\r\nimport {GameListTitleComponent} from \"../../../../components/game-list-title/game-list-title.component\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitSwiperButtons} from \"../../../../components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons\";\r\nimport {SwipeLogicHandler} from \"../swiper-logic-handler/swipe-logic-handler\";\r\nimport {ISwipeLogicHandler} from \"../swiper-logic-handler/swiper-logic-handler.interface\";\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\nimport { TitanJackpotWidgetComponent } from '../../../../components/titan-jackpot-widget/titan-jackpot-widget.component';\r\n\r\nexport abstract class SwiperListBaseModel extends GamesListBaseModel implements ISwiperListViewModel {\r\n\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(arena);\r\n }\r\n \r\n get listId(): number {\r\n return this.listConfiguration.listId;\r\n }\r\n\r\n get apiListType(): ApiListType | undefined {\r\n return this.listConfiguration.apiListType;\r\n }\r\n\r\n get title(): TextTranslation {\r\n return this.services.translation.getTranslation(this.listConfiguration.title, this._getTitleTranslationParams());\r\n }\r\n\r\n get swipeLogicHandler() {\r\n return this._swipeLogicHandler;\r\n }\r\n\r\n get showGameTitleOnMultipleLines() {\r\n const widgetConfig = this.listConfiguration.jackpotWidget;\r\n\t\tif (!widgetConfig || !widgetConfig.display) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n return widgetConfig.jackpotType === JackpotType.HourlyCaptain8;\r\n }\r\n\r\n protected _swipeLogicHandler: ISwipeLogicHandler = new SwipeLogicHandler(this.services, this);\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n return this.listConfiguration.shouldInjectUsernameInTitle ? this.services.user.name : undefined;\r\n }\r\n\r\n protected get _numberOfGamesToBeIgnoredInAISorting(): number | undefined {\r\n return this.listConfiguration.ignoreNumberOfGamesInAISorting;\r\n }\r\n\r\n get listTypeId(): number | null {\r\n return null;\r\n }\r\n\r\n get showNumberBadge(): boolean | undefined {\r\n return this.listConfiguration.showNumberBadge;\r\n }\r\n\r\n protected get _seeAllUrl(): string {\r\n const seeAllConfig = this.listConfiguration.seeAll || '';\r\n\r\n /**\r\n * We used to support SeeAll Button as an object, from 6.6.21 we've changed that to string, this is backward compatibility\r\n * Task https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1737512\r\n */\r\n if (Check.isObject(seeAllConfig)) {\r\n return (seeAllConfig as any).url || '';\r\n }\r\n\r\n return seeAllConfig;\r\n }\r\n\r\n protected get _isAISorted(): boolean {\r\n return this.listConfiguration.useAISortedList;\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return !this.services.gamesFilter.isFilterOn;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n const gameTypes = this.listConfiguration.gamesId || [];\r\n if (this.services.gamesFilter.isFilterOn) {\r\n return [];\r\n }\r\n\r\n return gameTypes;\r\n }\r\n\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n if (this.listConfiguration.jackpotWidget) {\r\n return 4;\r\n }\r\n\r\n if (this.listConfiguration.templateType === JACKPOTS_ITEM) {\r\n return 2;\r\n }\r\n\r\n return 6;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n gameTypes = super._reduceGameTypes(gameTypes);\r\n return this._reduceGameTypesForJackpotsItemTemplateInHomePage(gameTypes);\r\n }\r\n\r\n private _reduceGameTypesForJackpotsItemTemplateInHomePage(gameTypes: number[]): number[] {\r\n if (!this.services.device.isMobile) {\r\n return gameTypes;\r\n }\r\n if (this.listConfiguration.templateType !== JACKPOTS_ITEM) {\r\n return gameTypes;\r\n }\r\n if (!this.services.location.isHomePage) {\r\n return gameTypes;\r\n }\r\n return gameTypes.slice(0, 6);\r\n }\r\n\r\n get forceInLayout(): boolean {\r\n return this.listConfiguration.forceListInLayout;\r\n }\r\n\r\n private get _isJackpotWidgetHost(): boolean {\r\n return Boolean(this.listConfiguration.jackpotWidget?.display);\r\n }\r\n\r\n private get _isRedTigerJackpotWidgetHost(): boolean {\r\n return Boolean(this.listConfiguration.redTigerWidget?.display);\r\n }\r\n\r\n get templateType(): string {\r\n return this.listConfiguration.templateType;\r\n }\r\n\r\n protected get _forceRoundIcons(): boolean {\r\n return this.listConfiguration.forceRoundIcons;\r\n }\r\n \r\n protected get _useSquareIcons(): boolean {\r\n return this.listConfiguration.useSquareIcons;\r\n }\r\n\r\n protected _renderJackpotWidget() {\r\n let onClickHandler = null;\r\n if(this.services.location.isHomePage) {\r\n onClickHandler = () => this.services.location.push('/jackpots/');\r\n }\r\n\r\n return ()\r\n }\r\n\r\n protected _renderRedTigerWidget() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _renderTitanJackpotWidget() {\r\n let onClickHandler = null;\r\n if(this.services.location.isHomePage) {\r\n onClickHandler = () => this.services.location.push('/jackpots/');\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n renderSpecialWidgets(): React.ReactElement | null {\r\n return (\r\n <>\r\n {this._renderJackpotWidget()}\r\n {this._renderRedTigerWidget()}\r\n {this._renderTitanJackpotWidget()}\r\n \r\n );\r\n }\r\n\r\n renderListHeader(): React.ReactElement {\r\n return (\r\n \r\n {this._renderSwiperButtons()}\r\n \r\n )\r\n }\r\n\r\n protected _renderSwiperButtons() {\r\n return ;\r\n }\r\n\r\n\r\n _getTitleCssClasses(): string[] {\r\n const cssClasses: string[] = [this.listConfiguration.titleIconClassName];\r\n if(this._isJackpotWidgetHost) {\r\n cssClasses.push(JACKPOT_WIDGET);\r\n }\r\n\r\n if(this._isRedTigerJackpotWidgetHost) {\r\n cssClasses.push(RED_TIGER_JACKPOT)\r\n }\r\n\r\n return cssClasses;\r\n }\r\n\r\n _renderHeaderIconAndText(): React.ReactElement {\r\n return (\r\n \r\n {this._renderHeaderIcon()}\r\n {this._renderHeaderText()}\r\n \r\n )\r\n }\r\n\r\n protected _renderHeaderIcon(): React.ReactElement | null {\r\n if (this._isJackpotWidgetHost || this.listConfiguration.titleIconClassName === EXCLUSIVES_LIST_ICON) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return this.title.translation\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n renderListFooter(): React.ReactElement | null {\r\n return null;\r\n }\r\n}\r\n","import {SwiperListBaseModel} from \"./swiper-list-base.model\";\r\n\r\nexport abstract class ApiListBaseModel extends SwiperListBaseModel {\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _applyGameGroupFiltering(gameTypes: number[]): number[] {\r\n const allowedGameGroups = this.listConfiguration.allowedGameGroups;\r\n if (!allowedGameGroups || allowedGameGroups.length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n return gameTypes.filter(gameType => {\r\n return allowedGameGroups.includes(this.services.games.gamesMap[gameType]?.gameGroupId);\r\n });\r\n }\r\n}","import React from \"react\";\r\nimport {RecentlyPlayedComponent} from \"../../../../../components/recently-played/recently-played.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\n\r\nexport class RecentlyPlayedListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(!this.services.user.isAuthorized || this.services.games.recentlyPlayedGames.isInitialized) {\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 1;\r\n }\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n if (!this.services.games.recentlyPlayedGames.gameTypes) {\r\n return [];\r\n }\r\n\r\n let gameTypes = this.services.games.recentlyPlayedGames.gameTypes;\r\n return this._applyGameGroupFiltering(gameTypes);\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ();\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\n\r\ninterface TopPicksComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const TopPicksComponent = observer(class TopPicksComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const viewModel = this.props.viewModel;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n\r\n\r\n","import React from \"react\";\r\nimport {TopPicksComponent} from \"../../../../../components/ai-list/top-picks.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class TopPicksListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(!this.services.aiEngine.aiRecommendedGames.isInitialized) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this._getGameTypes().length > 0;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.aiEngine.aiRecommendedGames?.gameTypes || [];\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n return this.services.user.userData.firstName;\r\n }\r\n\r\n get aiEngine(): string {\r\n return this.services.aiEngine.aiRecommendedGames?.engine || '';\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ();\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface AiNewGamesListComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const AiNewGamesListComponent = observer(\r\n class AiNewGamesListComponent extends OrbitComponent {\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n )\r\n }\r\n\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {AiNewGamesListComponent} from \"../../../../../components/ai-new-games-list/ai-new-games-list.component\";\r\nimport {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class NewGamesListModel extends SwiperListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration,\r\n arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(Check.isNullOrUndefined(this.services.aiNewEngine.aiNewRecommendedGames)) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.aiNewEngine.aiNewRecommendedGames?.gameTypes || [];\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n return this.services.user.name;\r\n }\r\n\r\n get aiEngine(): string {\r\n return this.services.aiNewEngine.aiNewRecommendedGames?.engine || '';\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ;\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface PlayersLikeYouComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const PlayersLikeYouComponent = observer(\r\n class PlayersLikeYouComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const viewModel = this.props.viewModel;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {LIST_TYPE_ID} from \"../../../../../../common/const/ai-trending-list-ids-map\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {PlayersLikeYouComponent} from \"../../../../../components/players-like-you/players-like-you.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nconst NUMBER_OF_TRENDING_RECOMMENDATIONS = 10;\r\n\r\nexport class PlayersLikeYouListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(Check.isNullOrUndefined(this._computeGameTypes())) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get listTypeId(): number {\r\n if(Check.isNullOrUndefined(this.services.abTestingFeatureDataProvider.playersLikeYouGamesListTypeId)) {\r\n return LIST_TYPE_ID.ACTIVE_USERS;\r\n }\r\n\r\n return parseInt(this.services.abTestingFeatureDataProvider.playersLikeYouGamesListTypeId);\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n let topCount = NUMBER_OF_TRENDING_RECOMMENDATIONS;\r\n\r\n if(0 < this.gameTypes.length && this.gameTypes.length < topCount) {\r\n topCount = this.gameTypes.length;\r\n }\r\n\r\n return {\r\n topNumber: topCount,\r\n countryName: this.services.user.countryName || this.services.translation.translate(\"YOUR_COUNTRY\")\r\n }\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this._computeGameTypes() || [];\r\n }\r\n\r\n protected get _useSquareIcons(): boolean {\r\n return true;\r\n }\r\n\r\n private _computeGameTypes(): number[] | null {\r\n if(this.listTypeId === LIST_TYPE_ID.ACTIVE_USERS) {\r\n return this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n } else {\r\n return this.services.aiEngine.trendingRecommendedGamesForPlayerByBets\r\n }\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return NUMBER_OF_TRENDING_RECOMMENDATIONS;\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitSwiperComponent} from \"../../../../../components/orbit-swiper/orbit-swiper.component\";\r\nimport {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\n\r\nexport class StaticSwiperListModel extends SwiperListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n const listConfig = this.listConfiguration;\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {SingleGameComponent} from '../../single-game/single-game.component';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\n\r\nexport interface GamesGridBatchComponentProps {\r\n batchIndex: number;\r\n gameTypes: number[];\r\n aiEngine: string;\r\n seoCategory: string;\r\n skipIntermediatePage: boolean;\r\n disableGameInfoHover: boolean;\r\n listTitleTranslationKey: string;\r\n templateType?: string;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\nexport interface GamesGridBatchComponentState {\r\n isResolved: boolean;\r\n}\r\n\r\nconst NUMBER_OF_GAMES_IN_BATCH = 20;\r\n\r\nexport const GamesGridBatchComponent = observer(\r\n class GamesGridBatchComponent extends OrbitComponentWithState {\r\n\r\n state = {\r\n isResolved: false\r\n };\r\n\r\n private _renderOneGame(gameType: number, gameIndex: number) {\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _intersectionObserver: IntersectionObserver | null;\r\n\r\n private _intersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n if (entries[0].intersectionRatio > 0 || entries[0].isIntersecting) {\r\n this._destroyIntersectionObserver();\r\n this.setState({\r\n isResolved: true\r\n });\r\n }\r\n };\r\n\r\n private _createIntersectionObserver(element: HTMLElement) {\r\n\r\n this._destroyIntersectionObserver(); // just in case this is called twice for this component we want to discard the existing intersection observer and create a new one\r\n\r\n this._intersectionObserver = new IntersectionObserver(this._intersectionObserverCallback, {\r\n rootMargin: '400px',\r\n threshold: 0.1\r\n });\r\n\r\n this._intersectionObserver.observe(element);\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroyIntersectionObserver();\r\n }\r\n\r\n private _destroyIntersectionObserver() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n this._intersectionObserver = null;\r\n }\r\n }\r\n\r\n private _captureThresholdElement = (element: HTMLElement | null) => {\r\n if (element) {\r\n this._createIntersectionObserver(element)\r\n }\r\n };\r\n\r\n private _renderNextBatch() {\r\n const nextBatchGameTypes = this.props.gameTypes.slice(NUMBER_OF_GAMES_IN_BATCH);\r\n if(nextBatchGameTypes.length === 0) {\r\n return null;\r\n }\r\n\r\n const propsForNextBatch = {\r\n ...this.props,\r\n batchIndex: this.props.batchIndex + 1,\r\n gameTypes: nextBatchGameTypes\r\n };\r\n\r\n return ();\r\n }\r\n\r\n private _renderCurrentBatch() {\r\n const batchIndexOffset = this.props.batchIndex * NUMBER_OF_GAMES_IN_BATCH;\r\n const currentBatchGameTypes = this.props.gameTypes.slice(0, NUMBER_OF_GAMES_IN_BATCH);\r\n return (\r\n <>\r\n {currentBatchGameTypes.map((gameType, index) => this._renderOneGame(gameType, batchIndexOffset + index))}\r\n {this._renderNextBatch()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n\r\n if(this.props.batchIndex === 0 || this.state.isResolved) {\r\n return this._renderCurrentBatch();\r\n }\r\n\r\n return (\r\n
    \r\n )\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\nimport {LOBBY_PAGE} from '../../../../themes/css-global-classes';\r\n\r\n\r\n//games-layout static-layout\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1rem;\r\n }\r\n`;\r\n\r\nexport const GamesGridDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './games-grid.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n margin-top: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-top: 1.8rem;\r\n }\r\n`;\r\n\r\n\r\nconst MobileBox = BaseMobileBox;\r\n\r\nexport const GamesGridCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport { GamesGridDefaultBox } from \"./games-grid.default.box\";\r\n\r\nexport const GamesGridSICisBox = styled(GamesGridDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n`;\r\n","import { GamesGridDefaultBox } from './games-grid.default.box';\r\nimport { GamesGridCasino777Box } from './games-grid.casino777.box';\r\nimport { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { GamesGridSICisBox } from './games-grid.siCis.box';\r\n\r\nexport const GamesGridBox = styledByTheme(GamesGridDefaultBox)\r\n .forCasino777(GamesGridCasino777Box)\r\n .forSICis(GamesGridSICisBox)\r\n .apply();","import {NoGamesFoundMessageDefaultBox} from './no-games-found-message.default.box';\r\n\r\nexport const NoGamesFoundMessageBox = NoGamesFoundMessageDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const NoGamesFoundMessageDefaultBox = styled.p`\r\n font-size: 1.2rem;\r\n margin: 15px 0;\r\n min-height: 300px;\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {CGP_GAME_OPEN} from \"../../../themes/css-global-classes\";\r\n\r\nexport const GamesGridContainerBox = styled.div`\r\n .${CGP_GAME_OPEN} & {\r\n display: none;\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GamesGridBatchComponent} from './games-grid-batch/games-grid-batch.component';\r\nimport {GamesGridBox} from './boxes/games-grid/games-grid.box';\r\nimport {NoGamesFoundMessageBox} from './boxes/no-games-found-message/no-games-found-message.box';\r\nimport classNames from 'classnames';\r\nimport {GRID_GAMES_LIST} from '../single-game/css-constants';\r\nimport {GamesGridContainerBox} from \"./boxes/games-grid-container.box\";\r\nimport {IGamesListViewModel} from \"../../services/arenas/models/lists/games-list-view-model.interface\";\r\n\r\nexport interface GamesGridComponentProps {\r\n viewModel: IGamesListViewModel;\r\n skipIntermediatePage: boolean;\r\n disableGameInfoHover: boolean;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\nexport const GamesGridComponent = observer(class GamesGridComponent extends OrbitComponent {\r\n\r\n private _renderTitle() {\r\n\r\n if(!this.props.disableGameInfoHover && this.services.gamesFilter.isFilterOn) {\r\n return null;\r\n }\r\n return this.props.viewModel.renderListHeader();\r\n }\r\n\r\n private _renderGames(gameTypes: number[]) {\r\n return (\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderNoGames() {\r\n if(this.services.gamesFilter.isFilterOn) {\r\n return (\r\n {this.services.translation.translate('YOUR_SEARCH_DID_NOT_MATCH_ANY_GAMES')}\r\n )\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private _renderContent() {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n if(gameTypes.length === 0) {\r\n return this._renderNoGames();\r\n }\r\n return (\r\n <>\r\n {this._renderTitle()}\r\n {this._renderGames(gameTypes)}\r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderContent()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {GamesListBaseModel} from \"../games-list-base.model\";\r\nimport {GamesGridComponent} from \"../../../../../components/games-grid/games-grid.component\";\r\nimport {ArenaGamesGridConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {TextTranslation} from \"../../../../translation/text-translation\";\r\nimport {GameListTitleComponent} from \"../../../../../components/game-list-title/game-list-title.component\";\r\nimport {ListTitleTextBox} from \"../../../../../components/game-list-title/boxes/list-title-text/list-title-text.box\";\r\n\r\nexport class GamesGridListModel extends GamesListBaseModel {\r\n constructor(protected readonly gridConfig: ArenaGamesGridConfiguration,\r\n arena: IArenaToGamesListAdapter) {\r\n super(arena)\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.gridConfig.gamesId || [];\r\n }\r\n\r\n protected get _isAISorted(): boolean {\r\n return this.gridConfig.useAISortedList;\r\n }\r\n\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return true;\r\n //return this.gridConfig.display;\r\n }\r\n\r\n protected get _numberOfGamesToBeIgnoredInAISorting(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n get listId(): number {\r\n return this.gridConfig.listId;\r\n }\r\n\r\n get title(): TextTranslation {\r\n return this.services.translation.getTranslation(this.gridConfig.title);\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return this._getGameTypes().length; // for grids we show all games\r\n }\r\n\r\n get forceInLayout(): boolean {\r\n return true;\r\n }\r\n\r\n get templateType(): string {\r\n return this.gridConfig.templateType;\r\n }\r\n\r\n protected get _forceRoundIcons(): boolean {\r\n return this.gridConfig.forceRoundIcons;\r\n }\r\n \r\n protected get _useSquareIcons(): boolean {\r\n return this.gridConfig.useSquareIcons;\r\n }\r\n\r\n private get _shouldSquareIconsBeUsed(): boolean {\r\n return this.shouldUseSquareIcons();\r\n }\r\n\r\n renderListHeader(): React.ReactElement {\r\n const title = (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface BecauseYouPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const BecauseYouPlayedComponent = observer(\r\n class BecauseYouPlayedComponent extends OrbitComponent {\r\n \r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => this.services.runningGame.correlatedGamesForLastPlayedRealGame,\r\n (correlatedGames) => {\r\n this.props.viewModel.swipeLogicHandler.resetScrollPosition();\r\n }\r\n );\r\n }\r\n \r\n render() {\r\n const viewModel = this.props.viewModel;\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { BecauseYouPlayedComponent } from \"../../../../../components/because-you-played/because-you-played.component\";\r\nimport { SwiperGamesListConfiguration } from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { IArenaToGamesListAdapter } from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class BecauseYouPlayedPlayedListModel extends ApiListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n this.services.runningGame.listenForLastPlayedRealGame();\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() &&\r\n this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n const lastPlayedGames = this.services.becauseYouPlayed.currentBecauseYouPlayedGames[0];\r\n if (lastPlayedGames) {\r\n return {\r\n gameName: lastPlayedGames.title\r\n }\r\n }\r\n\r\n return super._getTitleTranslationParams();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.becauseYouPlayed.currentBecauseYouPlayedGames.map(gInfo => gInfo.gameType);\r\n }\r\n\r\n\r\n\r\n protected _renderList(listPosition: number): React.ReactElement> {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {LiveStreamingListTitleDefaultBox} from \"./live-streaming-list-title.default.box\";\r\n\r\nexport const LiveStreamingListTitleBox = LiveStreamingListTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingListTitleDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {LiveStreamingTitleIconDefaultBox} from \"./live-streaming-title-icon.default.box\";\r\n\r\nexport const LiveStreamingTitleIconBox = LiveStreamingTitleIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingTitleIconDefaultBox = styled.div`\r\n padding: 0 4px;\r\n margin-right: 1rem;\r\n border-radius: 2px;\r\n letter-spacing: 0;\r\n\r\n color: ${({theme}) => theme.colors.background.toString()};\r\n background: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n\r\n animation: FlashingAnimation 2s ease infinite;\r\n\r\n @keyframes FlashingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.25;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import {IServiceFactory} from \"../../../service-factory.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {ISwipeLogicHandlerMoveNextOptions, ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ISwiperListViewModel} from \"../lists/swiper-list-view-model.interface\";\r\n\r\nexport class LiveStreamSwipeLogicHandler implements ISwipeLogicHandler {\r\n\r\n private _element: HTMLElement = null;\r\n private _touchStartX = 0;\r\n private _swipeDirection = 0;\r\n private _touchDragThreshold = 25;\r\n private _swipeTransitionCss = \"transform 0.5s ease-in-out\";\r\n\r\n constructor(private readonly _services: IServiceFactory, private readonly _gamesListViewModel: ISwiperListViewModel) {\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n allowNext: boolean = true;\r\n @observable.ref\r\n allowPrevious: boolean = true;\r\n\r\n private _subscribe() {\r\n this._unsubscribe();\r\n this._element.addEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.addEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.addEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._element) {\r\n this._element.removeEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.removeEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.removeEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n }\r\n\r\n private _handleTouchStart = (event: TouchEvent) => {\r\n this._touchStartX = event.changedTouches[0].clientX;\r\n }\r\n\r\n private _handleTouchEnd = (event: TouchEvent) => {\r\n\r\n const dragDistance = Math.abs(event.changedTouches[0].clientX - this._touchStartX);\r\n\r\n if (dragDistance < this._touchDragThreshold) return;\r\n\r\n if (event.changedTouches[0].clientX < this._touchStartX) {\r\n this.moveNext();\r\n } else {\r\n this.movePrevious();\r\n }\r\n }\r\n\r\n private _handleTransitionEnd = (event: TransitionEvent) => {\r\n\r\n /** this._element is the swiper element and\r\n * if any element inside has any kind of transitions on their transform css property...\r\n * their \"transitionend\" events will also be catched here\r\n * So we check the event target because\r\n * we want to run this handler only for events that have this._element as target */\r\n if (event.propertyName === \"transform\" && event.target === this._element) {\r\n\r\n if (this._swipeDirection < 0) {\r\n\r\n this._element.append(this._element.firstElementChild);\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n this._setIsNavigationAllowed(true);\r\n }\r\n };\r\n\r\n @action.bound\r\n private _setIsNavigationAllowed(allowed: boolean) {\r\n this.allowNext = allowed;\r\n this.allowPrevious = allowed;\r\n }\r\n\r\n setElement(element: HTMLElement): void {\r\n if (element) {\r\n this._element = element;\r\n this._element.style.overflow = \"initial\";\r\n this._subscribe();\r\n } else {\r\n this._element = null;\r\n this._unsubscribe();\r\n }\r\n }\r\n\r\n moveNext(options?: ISwipeLogicHandlerMoveNextOptions): void {\r\n\r\n if (!this.allowNext) return;\r\n\r\n options = {\r\n moveOnVideoFinished: false,\r\n ...options\r\n };\r\n\r\n this._reportSwipeToAnalytics(true, options.moveOnVideoFinished);\r\n\r\n this._swipeDirection = -1;\r\n this._element.style.transition = this._swipeTransitionCss;\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n this._setIsNavigationAllowed(false);\r\n }\r\n\r\n movePrevious(): void {\r\n\r\n if (!this.allowPrevious) return;\r\n\r\n this._reportSwipeToAnalytics(false);\r\n\r\n this._swipeDirection = 1;\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.prepend(this._element.lastElementChild);\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n\r\n this._setIsNavigationAllowed(false);\r\n\r\n requestAnimationFrame(() => {\r\n this._element.style.transition = this._swipeTransitionCss;\r\n this._element.style.transform = \"translateX(0)\";\r\n });\r\n }\r\n\r\n resetScrollPosition(): void {\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n private _currentGameIndex: NullableNumber = null;\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._currentGameIndex = gameIndex;\r\n }\r\n\r\n private _reportSwipeToAnalytics(swipeToLeft:boolean, isAutoSwipe:boolean=false): void {\r\n try {\r\n\r\n if(Check.isNullOrUndefined(this._currentGameIndex)) {\r\n return;\r\n }\r\n\r\n let nextGame;\r\n if(swipeToLeft === true){\r\n nextGame = (this._currentGameIndex + 1) % this._gamesListViewModel.gameTypes.length;\r\n }\r\n else {\r\n nextGame = (this._currentGameIndex>0) ? (this._currentGameIndex-1) : (this._gamesListViewModel.gameTypes.length-1);\r\n }\r\n\r\n let swipeFromGameId = this._gamesListViewModel.gameTypes[this._currentGameIndex];\r\n\r\n this._services.analytics.sendElasticInfoEvent({\r\n eventType:\"CGP_GENERIC_EVENT\",\r\n category: this._gamesListViewModel.arenaName,\r\n label: 'SWIPE',\r\n action: \"LIVE_CASINO_VIDEO\",\r\n customData: {\r\n swipeFromGameId:swipeFromGameId,\r\n swipeFromGameIndex:this._currentGameIndex,\r\n swipeToGameId:this._gamesListViewModel.gameTypes[nextGame],\r\n isAutoSwipe:isAutoSwipe\r\n }\r\n }, true);\r\n }\r\n catch (err){\r\n console.log(\"SWIPE analytics report failed : \" + err);\r\n }\r\n }\r\n\r\n}\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface LiveStreamingNavigationProps {\r\n isActive: boolean;\r\n}\r\n\r\nconst LiveStreamingNavigationCommonBox = styled.div`\r\n position: absolute;\r\n top: 35%;\r\n width: 3rem;\r\n height: 3rem;\r\n opacity: ${({isActive}) => isActive ? \"1\" : \"0.25\"};\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* So ... height is 100 * 0.7 */\r\n height: 70%;\r\n /* top is 100 * (1-0.7) / 2 */\r\n top: 15%;\r\n /* 23.331 is 33.33*0.7 */\r\n width: 23.331%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationPrevButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n left: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* left is 33.33*(1-0.7)/2 */\r\n left: 5%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationNextButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n right: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* right is 33.33*(1-0.7)/2 */\r\n right: 5%;\r\n }\r\n`;\r\n\r\nconst VideoCutCommonBox = styled.div`\r\n position: absolute;\r\n height: 80%;\r\n width: 2px;\r\n top: 10%;\r\n`;\r\n\r\nexport const VideoListLeftCutDefaultBox = styled(VideoCutCommonBox)`\r\n left: 8%;\r\n margin-left: -6px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n left: unset;\r\n margin-left: 0px;\r\n right: 8%;\r\n margin-right: 6px;\r\n }\r\n`;\r\nexport const VideoListRightCutDefaultBox = styled(VideoCutCommonBox)`\r\n right: 8%;\r\n margin-right: 11px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: unset;\r\n margin-right: 0px;\r\n left: 8%;\r\n margin-left: -11px;\r\n }\r\n`;\r\n","import {VideoListNavigationPrevButtonDefaultBox, VideoListNavigationNextButtonDefaultBox, VideoListLeftCutDefaultBox, VideoListRightCutDefaultBox} from \"./video-navigation.default.box\";\r\n\r\nexport const VideoListNavigationPrevButtonBox = VideoListNavigationPrevButtonDefaultBox;\r\nexport const VideoListNavigationNextButtonBox = VideoListNavigationNextButtonDefaultBox;\r\n\r\nexport const VideoListLeftCutBox = VideoListLeftCutDefaultBox;\r\nexport const VideoListRightCutBox = VideoListRightCutDefaultBox;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {IVideoListViewModel} from \"../../services/arenas/models/lists/video-list/video-list-view-model.interface\";\r\n\r\n\r\ninterface VideoListComponentProps {\r\n viewModel: IVideoListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const VideoListComponent = observer(class VideoListComponent extends OrbitComponent {\r\n\r\n // For static video list we need to know the final gametype(from UI perspective)\r\n // For the final gametype, once video finishes, we don't auto swipe to the next one(= first one).\r\n private _getLastGameType(): number {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n let index = this.services.mediaQuery.xlAndAbove ? 0 : (gameTypes.length - 1);\r\n return gameTypes[index];\r\n }\r\n\r\n private _onGameBringInCentralView = (gameIndex: number) => {\r\n this.props.viewModel.setCurrentGameIndex(gameIndex);\r\n }\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {LiveStreamSwipeLogicHandler} from \"../../swiper-logic-handler/live-stream-swipe-logic-handler\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport React from \"react\";\r\nimport {\r\n VideoListLeftCutBox, VideoListNavigationNextButtonBox,\r\n VideoListNavigationPrevButtonBox, VideoListRightCutBox\r\n} from \"../../../../../components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box\";\r\nimport {VideoListComponent} from \"../../../../../components/video-list-component/video-list.component\";\r\nimport {IVideoListViewModel} from \"./video-list-view-model.interface\";\r\n\r\nexport abstract class DefaultVideoListModel extends SwiperListBaseModel implements IVideoListViewModel {\r\n protected _swipeLogicHandler: LiveStreamSwipeLogicHandler = new LiveStreamSwipeLogicHandler(this.services, this);\r\n\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getGameTypesOffsetFromLocalStorage(): number {\r\n let storedValue = this.services.localStorage.getItem(this._offsetStorageKey);\r\n\r\n return Check.isNullOrUndefined(storedValue) ? 0 : parseInt(storedValue);\r\n }\r\n\r\n protected _offsetStorageKey: string = 'orbit-video-list-gametype-offset' + this.listConfiguration.listId;\r\n\r\n /**\r\n * This must be static. Because the ListFactory.createSwiper will be called several times, and that will create a new instance of this class.\r\n * (For every live casino video list and every time the list changes and maybe when the ai changes the list sorting)\r\n * So if this is not \"static\" at every instance creation _gameTypesOffset will be initialized with \"undefined\"\r\n * and when calling _getGameTypes the cycling will run again for every new instance.\r\n * And we want to do this only once after page load\r\n */\r\n protected static _gameTypesOffsets: Record = {};\r\n\r\n protected _cycleGamesAndIncrementOffset(baseArray: number[]) {\r\n if(Check.isNullOrUndefined(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey])) {\r\n DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] = this._getGameTypesOffsetFromLocalStorage();\r\n let newOffset = (DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] + 1) % (this.listConfiguration.gamesId.length);\r\n this.services.localStorage.setItem(this._offsetStorageKey, newOffset);\r\n }\r\n\r\n return baseArray.splice(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey]).concat(baseArray);\r\n }\r\n\r\n get gameTypes(): number[] {\r\n // gameTypes is a getter and in javascript I cannot call \"super.gameTypes\"\r\n let gTypes = this._applyGameTypesTransformations(this._getGameTypes());\r\n\r\n if (this.services.mediaQuery.xlAndAbove && gTypes.length > 2) {\r\n let lastGame = gTypes.pop();\r\n gTypes.unshift(lastGame);\r\n }\r\n return gTypes;\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n\r\n const PrevIcon = this.services.theme.currentTheme.icons.leftArrowIcon;\r\n const NextIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n\r\n return (\r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n this.swipeLogicHandler.movePrevious()}>\r\n \r\n \r\n this.swipeLogicHandler.moveNext()}>\r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._swipeLogicHandler.setCurrentGameIndex(gameIndex);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveStreamingListTitleBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box\";\r\nimport {LiveStreamingTitleIconBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box\";\r\nimport {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport class LiveStreamingVideoListModel extends DefaultVideoListModel {\r\n\r\n get templateType(): string {\r\n return LIVE_STREAMING_ITEM;\r\n }\r\n\r\n private _isLiveStreamDisabled = () => {\r\n // live stream should be rendered on mobile only, excepting CIP8, if is enable from AB and\r\n // if user is authorized or if is not authorized only if is not disabled prelogin\r\n return this.services.miniOrbit.isEnabled ||\r\n !this.services.abTestingFeatureDataProvider.isVideoLiveStreamEnabled ||\r\n this.services.liveStreamPlaying.isDisabledPrelogin\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isLiveStreamDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 20;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n if(!Check.isNullOrUndefined(this.services.liveStreamPlaying.isSupported)\r\n && !this.services.liveStreamPlaying.isSupported) {\r\n return [];\r\n }\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n if(this.services.liveTableFeeds.tablesData.length === 0) {\r\n return gameTypes;\r\n } else {\r\n return gameTypes.filter(gType => this.services.liveTableFeeds.openTablesIds.find(tableId => tableId === gType.toString()));\r\n }\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n if(Check.isNullOrUndefined(this.services.liveStreamPlaying.isSupported) || this.services.liveTableFeeds.tablesData.length === 0) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n protected _renderHeaderIcon(): React.ReactElement | null {\r\n return (\r\n {this.services.translation.translate(\"LIVE\")}\r\n );\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n }\r\n\r\n}\r\n","\r\nexport interface IUserGameOrientationService {\r\n readonly gameGroup: IUserGameOrientation;\r\n}\r\n\r\nexport enum GAME_ORIENTATION_IDS{\r\n SLOTS = 5003,\r\n BLACKJACK = 5001,\r\n ROULETTE = 5002,\r\n LIVE_BLACKJACK = 5009,\r\n LIVE_ROULETTE = 5010,\r\n LIVE_CASINO = 6003,\r\n CASINO_SKILL = 6001,\r\n CASINO_SOFT = 6002,\r\n CASINO_MIXT = 8001\r\n}\r\n\r\nexport interface IUserGameOrientation{\r\n groupId?: number;\r\n groupName: string;\r\n}","import {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {STATIC_VIDEO_ITEM} from \"../../../../../themes/css-global-classes\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\n\r\nexport class StaticVideoListModel extends DefaultVideoListModel {\r\n\r\n constructor(listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n\r\n this.services.staticVideoPlaying.setSwiperHandler(this.swipeLogicHandler);\r\n }\r\n\r\n get templateType(): string {\r\n return STATIC_VIDEO_ITEM;\r\n }\r\n\r\n private _isStaticVideoListDisabled = () => {\r\n return (\r\n this.services.miniOrbit.isEnabled ||\r\n this.services.staticVideoPlaying.isDisabledPrelogin ||\r\n !this.services.abTestingFeatureDataProvider.isStaticVideoListEnabled\r\n );\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isStaticVideoListDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 4;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n return gameTypes;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n return 1;\r\n }\r\n}\r\n","import {\r\n ApiListType, ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesListModel} from \"./games-list-model.interface\";\r\nimport {RecentlyPlayedListModel} from \"./recently-played/recently-played-list.model\";\r\nimport {TopPicksListModel} from \"./top-picks/top-picks-list.model\";\r\nimport {NewGamesListModel} from \"./new-games/new-games-list.model\";\r\nimport {PlayersLikeYouListModel} from \"./players-like-you/players-like-you-list.model\";\r\nimport {StaticSwiperListModel} from \"./static-swiper/static-swiper-list.model\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {GamesGridListModel} from \"./games-grid/games-grid-list.model\";\r\nimport { BecauseYouPlayedPlayedListModel } from \"./because-you-played/because-you-played-list.model\";\r\nimport {LiveStreamingVideoListModel} from \"./video-list/live-streaming-video-list.model\";\r\nimport {StaticVideoListModel} from \"./video-list/static-video-list.model\";\r\n\r\n\r\nexport class ListFactory {\r\n\r\n constructor(private readonly arena: IArenaToGamesListAdapter) {\r\n }\r\n createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n\r\n switch (swiperConfig.apiListType) {\r\n case ApiListType.RECENTLY_PLAYED:\r\n return new RecentlyPlayedListModel(swiperConfig, this.arena);\r\n case ApiListType.TOP_PICKS:\r\n return new TopPicksListModel(swiperConfig, this.arena);\r\n case ApiListType.NEW_GAMES:\r\n return new NewGamesListModel(swiperConfig, this.arena);\r\n case ApiListType.PLAYERS_LIKE_YOU:\r\n return new PlayersLikeYouListModel(swiperConfig, this.arena);\r\n case ApiListType.LIVE_CASINO_VIDEO: // maybe rename this to LIVE_STREAMING_VIDEO,but it'd also need admin updated\r\n return new LiveStreamingVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.STATIC_VIDEO:\r\n return new StaticVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.BECAUSE_YOU_PLAYED:\r\n return new BecauseYouPlayedPlayedListModel(swiperConfig, this.arena);\r\n\r\n default:\r\n return new StaticSwiperListModel(swiperConfig, this.arena);\r\n\r\n }\r\n }\r\n\r\n createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return new GamesGridListModel(gridConfig, this.arena);\r\n }\r\n}\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"./arena-view-model.interface\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { action, computed, observable, reaction, makeObservable } from \"mobx\";\r\nimport {IArenaToGamesListAdapter} from \"./arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../lists/games-list-model.interface\";\r\nimport React from \"react\";\r\nimport {ListFactory} from \"../lists/list-factory\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ListsSortOrderStorage} from \"../lists-sort-order-storage\";\r\nimport {IGamesListRenderer} from \"../lists/games-list-renderer.interface\";\r\nimport {BannerComponent} from \"../../../../components/banner/banner.component\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../games-filter/strategies/games-filter-strategy.interface\";\r\n\r\nexport type BannerConfig = {position: number; templateID: string; componentID: string; fallbackComponent: string, bannerAdminPlaceholderId: string};\r\n\r\nexport abstract class ArenaBaseModel implements IArenaToGamesListAdapter, IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n public readonly services: IServiceFactoryExtended,\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n makeObservable(this);\r\n\r\n this._listFactory = new ListFactory(this);\r\n\r\n reaction(() => [this.services.user.isAuthorized, this.services.routing.currentRoute],\r\n async () => {\r\n await this._updateAIEngineSwipersSortOrder();\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _listFactory: ListFactory;\r\n abstract get maxSwipersToShow(): number;\r\n abstract get maxGamesToShowInList(): number;\r\n protected abstract _getSwipersConfigurations(): SwiperGamesListConfiguration[];\r\n protected abstract _getGridsConfigurations(): ArenaGamesGridConfiguration[];\r\n protected abstract _getPromotionalBannerConfig(): BannerConfig | null;\r\n abstract renderArena(): React.ReactElement | null;\r\n abstract filterGamesByArenaType(gameInfos: GameInfo[]): GameInfo[];\r\n abstract get filtersConfigurationMap(): ArenaFiltersConfigurationMap;\r\n abstract getGamesFilteringStrategy(): IGamesFilterStrategy;\r\n\r\n protected get useAdvancedFilters(): boolean {\r\n return this.services.configuration.servicesConfigs.Filters.useAdvancedFilters;\r\n }\r\n\r\n protected get _isUsingExternalAIForSwipersSorting(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n return null;\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n get sortingGametypesMapOverride(): Record | null {\r\n return null;\r\n }\r\n\r\n @observable.ref\r\n private _aiEngineListsSortOrder: Record = null;\r\n\r\n @action.bound\r\n private _setAiEngineListsSortOrder(value: Record): void {\r\n this._aiEngineListsSortOrder = value;\r\n }\r\n private async _updateAIEngineSwipersSortOrder(): Promise {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return;\r\n }\r\n if(this._aiEngineListsSortOrder) {\r\n return;\r\n }\r\n\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n\r\n if(this.services.routing.currentRoute.data?.arenaType === this.arenaName) {\r\n const listsIDs = this._getSwipersConfigurations().filter(sw => !Check.isNullOrUndefined(sw.listId))\r\n .map(sw => sw.listId.toString());\r\n if(listsIDs.length === 0) {\r\n return;\r\n }\r\n\r\n this._setAiEngineListsSortOrder(await this.services.aiEngine.getCasinoRecommendedDynamicListsForPlayer(listsIDs));\r\n }\r\n }\r\n\r\n private _movePreferredSwiperOnTop(swipers: IGamesListModel[]){\r\n const listId = this._getSwiperIdToPutOnTop();\r\n if(Check.isNullOrUndefined(listId)) {\r\n return swipers;\r\n }\r\n const listIndex = swipers.findIndex((list) => list.listId === listId);\r\n if(listIndex > 0){\r\n swipers.splice(0, 0, swipers.splice(listIndex, 1)[0]);\r\n }\r\n return swipers;\r\n }\r\n\r\n\r\n protected _sortSwipersByAI(originalSwipers: IGamesListModel[]): IGamesListModel[] {\r\n const scores = this._aiEngineListsSortOrder;\r\n if(!scores) {\r\n return originalSwipers;\r\n }\r\n\r\n const notForcedInLayoutSortedSwipers = originalSwipers.filter(s => !s.forceInLayout)\r\n .sort((s1, s2) => (scores[s2.listId] || 0) - (scores[s1.listId] || 0));\r\n\r\n let sortedSwipersConfigs: IGamesListModel[] = [];\r\n originalSwipers.forEach(gameList => {\r\n if(gameList.forceInLayout){\r\n sortedSwipersConfigs.push(gameList)\r\n } else{\r\n let mappedGameList = notForcedInLayoutSortedSwipers.shift();\r\n if(mappedGameList) {\r\n sortedSwipersConfigs.push(mappedGameList)\r\n }\r\n }\r\n });\r\n\r\n return sortedSwipersConfigs;\r\n }\r\n\r\n\r\n\r\n @computed\r\n public get allLists(): IGamesListModel[] {\r\n const result = this._createAllLists();\r\n this._sendGameListsAnalytics(result);\r\n return result;\r\n }\r\n\r\n @computed\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n let gameTypes: number[] = [];\r\n this._getGridsConfigurations().forEach(g => {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...g.gamesId\r\n ]\r\n });\r\n\r\n //use Set here to make a list of distinct game types\r\n return [...new Set(gameTypes)].map(gameType => this.services.games.gamesMap[gameType]).filter(gameInfo => gameInfo);\r\n }\r\n\r\n\r\n get filteredGamesCount(): number {\r\n let gameTypes: number[] = [];\r\n\r\n for(let list of this.allLists) {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...list.gameTypes\r\n ]\r\n }\r\n\r\n return [...new Set(gameTypes)].length;\r\n }\r\n\r\n get listsCount(): number {\r\n return this.allLists.length;\r\n }\r\n\r\n protected _createAllLists(): IGamesListModel[] {\r\n return this._appendGrids(\r\n this._limitTheNumberOfSwipers(\r\n this._saveSwipersPostLoginSortOrder(\r\n this._sortSwipersByPostLoginOrder(\r\n this._movePreferredSwiperOnTop(\r\n this._sortSwipersByAI(\r\n this._createSwipers()))))));\r\n }\r\n\r\n private _limitTheNumberOfSwipers(swipers: IGamesListModel[]): IGamesListModel[] {\r\n\r\n if(swipers.length <= this.maxSwipersToShow) {\r\n return swipers;\r\n }\r\n let result: IGamesListModel[] = [];\r\n\r\n let maxNumberOfSwipers = this.maxSwipersToShow;\r\n for(let i = 0; i < swipers.length; i++) {\r\n const list = swipers[i];\r\n if(maxNumberOfSwipers > 0 || list.forceInLayout) {\r\n result.push(list);\r\n }\r\n\r\n if(list.isVisible) {\r\n maxNumberOfSwipers--;\r\n }\r\n\r\n }\r\n\r\n return result;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n let position = listPosition;\r\n\r\n for(let list of this.allLists) {\r\n if(list.isVisible) {\r\n position--;\r\n }\r\n if(position === 0) {\r\n return this._renderListAndBanner(listPosition, list);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderListAndBanner(listPosition: number, list: IGamesListRenderer) {\r\n return (\r\n \r\n {list.render(listPosition)}\r\n {this._renderPromotionalBanner(listPosition)}\r\n \r\n )\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n if(currentListPosition > this.allLists.length) {\r\n return 0;\r\n }\r\n\r\n return 2;\r\n }\r\n\r\n protected _saveSwipersPostLoginSortOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n this._postLoginListsSortOrderStorage.saveSortOrder(this.arenaName, swipers);\r\n }\r\n return swipers;\r\n }\r\n\r\n protected _sortSwipersByPostLoginOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n return swipers;\r\n }\r\n\r\n return this._postLoginListsSortOrderStorage.sortLists(this.arenaName, swipers);\r\n }\r\n\r\n protected _createSwipers(): IGamesListModel[] {\r\n const configs = this._getSwipersConfigurations();\r\n const lists: IGamesListModel[] = [];\r\n\r\n configs.forEach((listConfig) => {\r\n lists.push(this._createSwiper(listConfig));\r\n });\r\n\r\n return lists;\r\n }\r\n\r\n protected _appendGrids(lists: IGamesListModel[]) {\r\n this._getGridsConfigurations().forEach(gridConfig => {\r\n lists.push(this._createGrid(gridConfig));\r\n });\r\n return lists;\r\n }\r\n\r\n protected _createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return this._listFactory.createGrid(gridConfig);\r\n }\r\n\r\n protected _createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n return this._listFactory.createSwiper(swiperConfig);\r\n }\r\n\r\n protected _getBannerMinHeightInPixels(listPosition: number, bannerConfig: BannerConfig | null) {\r\n if(!bannerConfig) {\r\n return 0;\r\n }\r\n\r\n const shouldRenderBanner = listPosition === bannerConfig.position\r\n || (this.allLists.length < bannerConfig.position && listPosition === this.allLists.length);\r\n if(!shouldRenderBanner) {\r\n return 0;\r\n }\r\n\r\n if(this.services.mediaQuery.sAndBelow) {\r\n return 142;\r\n }\r\n\r\n return 223;\r\n }\r\n\r\n protected _renderPromotionalBanner(listPosition: number): React.ReactElement | null {\r\n const bannerConfig = this._getPromotionalBannerConfig();\r\n const bannerMinHeight = this._getBannerMinHeightInPixels(listPosition, bannerConfig);\r\n if(bannerMinHeight === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _sendGameListsAnalytics(lists: IGamesListModel[]): IGamesListModel[] {\r\n if(!this.services.user.isAuthorized) {\r\n return lists;\r\n }\r\n\r\n if(!this._isUsingExternalAIForSwipersSorting) {\r\n return lists;\r\n }\r\n\r\n const analyticsObject = {\r\n category: 'AI_ListsDisplayed',\r\n action: lists.map(list => list.title).join(','),\r\n label: \"ML888\"\r\n };\r\n\r\n this.services.analytics.sendAnalytics(analyticsObject.category, analyticsObject.action, analyticsObject.label);\r\n\r\n return lists;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemDefaultBox = styled.div`\r\n display: inline-block;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n position: relative;\r\n margin: 0rem 3rem;\r\n padding-left: 3.6rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0rem 1.5rem;\r\n padding-left: 2rem;\r\n\r\n padding-top: 0.3rem;\r\n padding-bottom: 0.3rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const HomepageHeaderArenaMenuItemMrGreenBox = styled(HomepageHeaderArenaMenuItemDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n &:hover {\r\n color: ${baseColors.white};\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaMenuItemMrGreenBox} from \"./home-page-header-arena-menu-item.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaMenuItemBox = styledByTheme(HomepageHeaderArenaMenuItemDefaultBox)\r\n .forMrGreen(HomepageHeaderArenaMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconDefaultBox = styled.div`\r\n position: absolute;\r\n left: 0;\r\n top: 1px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n top: 3px;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemIconDefaultBox} from \"./home-page-header-arena-menu-item-icon.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconBox = styledByTheme(HomepageHeaderArenaMenuItemIconDefaultBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameDefaultBox = styled.div`\r\n position: relative;\r\n display: inline;\r\n font-size: 1.8rem;\r\n letter-spacing: 1px;\r\n padding-left: 1.2rem;\r\n ${({theme}) => theme.font.presets.body}\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n padding-left: 0.5rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemNameDefaultBox} from \"./home-page-header-arena-menu-item-name.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameBox = styledByTheme(HomepageHeaderArenaMenuItemNameDefaultBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\n\r\ninterface HomepageHeaderArenaTileBoxProps {\r\n useSmallHeaderArenas: boolean;\r\n totalItemsCount: number;\r\n}\r\n\r\nexport const HomepageHeaderArenaTileDefaultBox = styled.div`\r\n display: inline-block;\r\n width: 20%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 290px` : \"\"};\r\n transition: transform 0.4s ease-in-out;\r\n\r\n &:hover {\r\n transform: scale(1.05);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: ${({totalItemsCount}) => 100 / totalItemsCount}%;\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 5px;\r\n left: 0;\r\n width: 100%;\r\n height: 15px;\r\n background-image: url(${props => props.theme.images.headerArenaTileDropShadow.toString()});\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n transform: translateY(100%);\r\n z-index: 0;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 22%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: ${props => !props.useSmallHeaderArenas ? \"45%\" : \"31%\"};\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileSIBox = styled(HomepageHeaderArenaTileDefaultBox)`\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 252px` : \"\"};\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n &::after {\r\n display: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileCasino777Box = styled(HomepageHeaderArenaTileDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: min(${({totalItemsCount}) => 100 / totalItemsCount}%, 220px);\r\n }\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileCasino888Box = styled(HomepageHeaderArenaTileDefaultBox)`\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n padding-top: 1rem;\r\n &::after {\r\n display: none;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileWsopBox = styled(HomepageHeaderArenaTileDefaultBox)`\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n padding-top: 1rem;\r\n &::after {\r\n display: none;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\nimport {HomepageHeaderArenaTileSIBox} from \"./home-page-header-arena-tile.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaTileCasino777Box} from \"./home-page-header-arena-tile.casino777.box\";\r\nimport {HomepageHeaderArenaTileCasino888Box} from \"./home-page-header-arena-tile.casino888.box\";\r\nimport {HomepageHeaderArenaTileWsopBox} from \"./home-page-header-arena-tile.wsop.box\";\r\n\r\nexport const HomepageHeaderArenaTileBox = styledByTheme(HomepageHeaderArenaTileDefaultBox)\r\n .forCasino888(HomepageHeaderArenaTileCasino888Box)\r\n .forSI(HomepageHeaderArenaTileSIBox)\r\n .forCasino777(HomepageHeaderArenaTileCasino777Box)\r\n .forWsop(HomepageHeaderArenaTileWsopBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaNameDefaultBox = styled.div`\r\n position: relative;\r\n font-size: 1.4rem;\r\n text-transform: uppercase;\r\n text-align: center;\r\n letter-spacing: 1px;\r\n color: ${props => props.theme.colors.textLight};\r\n margin: 0 auto;\r\n width: fit-content;\r\n z-index: 1;\r\n padding-top: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.5rem;\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\n\r\nexport const HomepageHeaderArenaNameSIBox = styled(HomepageHeaderArenaNameDefaultBox)`\r\n width: auto;\r\n color: ${({theme}) => theme.colors.brandPrimaryContrast};\r\n background-color: ${({theme}) => theme.colors.brandSecondaryContrast};\r\n border-bottom: 5px solid ${({theme}) => theme.colors.brandSecondaryLight};\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-size: 2.9rem;\r\n line-height: 1.2;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\nimport {HomepageHeaderArenaNameSIBox} from \"./home-page-header-arena-name.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaNameBox = styledByTheme(HomepageHeaderArenaNameDefaultBox)\r\n .forSI(HomepageHeaderArenaNameSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div<{headerArenasStyleIsMenu?: boolean;}>`\r\n position: absolute;\r\n top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.2rem\" : 0};\r\n right: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.6rem\" : 0};\r\n padding: 0 0.5rem;\r\n background: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()};\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n border-radius: 2rem;\r\n font-size: 0.9em;\r\n font-weight: 700;\r\n transform: translate(100%, -50%);\r\n`;\r\n\r\nexport const HomepageHeaderArenaBadgeDefaultBox = DefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { baseColors} from '../../../../themes/definitions/si/base-colors';\r\n\r\nexport const HomepageHeaderArenaBadgeSIBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.8rem;\r\n background-color: ${baseColors.base03Dark};\r\n padding: 0 0.7rem;\r\n box-shadow: 0 0 1px 1px ${props => props.theme.colors.background};\r\n border-radius: 0.5rem;\r\n transform: translate(50%, 10px);\r\n z-index: 1;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeMrGreenBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.2rem;\r\n top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"-0.3rem\" : 0};\r\n color: ${({theme}) => theme.colors.textContrast};\r\n padding: 0.1rem 0.37rem;\r\n box-shadow: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()} 0px 0px 4px;\r\n min-width: 20px;\r\n`;\r\n","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { HomepageHeaderArenaBadgeSIBox } from \"./home-page-header-arena-badge.si.box\";\r\nimport { HomepageHeaderArenaBadgeMrGreenBox } from \"./home-page-header-arena-badge.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeBox = styledByTheme(HomepageHeaderArenaBadgeDefaultBox)\r\n .forSI(HomepageHeaderArenaBadgeSIBox)\r\n .forMrGreen(HomepageHeaderArenaBadgeMrGreenBox).apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerDefaultBox = styled.div<{headerArenasStyle: HeaderArenasStyle;}>`\r\n margin-bottom: 4rem;\r\n\r\n text-align: center;\r\n white-space: nowrap;\r\n\r\n overflow-x: scroll;\r\n overflow-y: hidden;\r\n scrollbar-width: none;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${({theme}) => theme.colors.background};\r\n padding: 1.8rem 0;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n margin-right: -4rem;\r\n margin-left: -4rem;\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerCasino888Box = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 2.8rem;\r\n margin-bottom: 2rem;\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerMrGreenBox = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.4rem;\r\n ${({headerArenasStyle, theme}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${theme.colors.backgroundContrast};\r\n ` : \"\"}\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 1.5rem 0 1.4rem;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerCasino777Box = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 12px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerWsopBox = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 2.8rem;\r\n margin-bottom: 2rem;\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HomePageHeaderArenasContainerCasino888Box} from \"./home-page-header-arenas-container.casino888.box\";\r\nimport {HomePageHeaderArenasContainerMrGreenBox} from \"./home-page-header-arenas-container.mrgreen.box\";\r\nimport {HomePageHeaderArenasContainerCasino777Box} from \"./home-page-header-arenas-container.casino777.box\";\r\nimport {HomePageHeaderArenasContainerWsopBox} from \"./home-page-header-arenas-container.wsop.box\";\r\n\r\nexport const HomePageHeaderArenasContainerBox = styledByTheme(HomePageHeaderArenasContainerDefaultBox)\r\n .forCasino888(HomePageHeaderArenasContainerCasino888Box)\r\n .forMrGreen(HomePageHeaderArenasContainerMrGreenBox)\r\n .forCasino777(HomePageHeaderArenasContainerCasino777Box)\r\n .forWsop(HomePageHeaderArenasContainerWsopBox)\r\n .apply();\r\n","import {HomepageHeaderArenaLinkDefaultBox} from \"./home-page-header-arena-link.default.box\";\r\n\r\nexport const HomepageHeaderArenaLinkBox = HomepageHeaderArenaLinkDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaLinkDefaultBox = styled.a`\r\n position: relative;\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomepageHeaderArenaSkeletonDefaultBoxProps {\r\n isLoading: boolean;\r\n tilesSize: HeaderArenasStyle.BigTiles | HeaderArenasStyle.SmallTiles;\r\n}\r\n\r\nexport const HomepageHeaderArenaSkeletonDefaultBox = styled.div`\r\n\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n\r\n &::before {\r\n position: absolute;\r\n content: \"\";\r\n top: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"4rem\" : \"2rem\"};\r\n left: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n right: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n bottom: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"3rem\" : \"1rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n border-radius: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"40%\" : \"16px\"};\r\n \r\n animation: LoadingAnimation linear 1s 5;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonSIBox = styled(HomepageHeaderArenaSkeletonDefaultBox)`\r\n &::before {\r\n top: 0;\r\n left: 0;\r\n right: 0; \r\n bottom: 0;\r\n border-radius: 0;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../../../themes/architecture/sections/theme-layout.interface\";\r\nimport {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonCasino888Box = styled(HomepageHeaderArenaSkeletonDefaultBox)`\r\n top: 50%;\r\n left: 50%;\r\n max-width: 219px;\r\n max-height: 186px;\r\n transform: translate(-50%, -50%);\r\n &::before {\r\n top: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"4rem\" : 0};\r\n left: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : 0};\r\n right: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : 0};\r\n bottom: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"3rem\" : 0};\r\n border-radius: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"40%\" : \"16px\"};\r\n }\r\n`;","import {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaSkeletonSIBox} from \"./home-page-header-arena-skeleton.si.box\";\r\nimport {HomepageHeaderArenaSkeletonCasino888Box} from \"./home-page-header-arena-skeleton.casino888.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonBox = styledByTheme(HomepageHeaderArenaSkeletonDefaultBox)\r\n .forCasino888(HomepageHeaderArenaSkeletonCasino888Box)\r\n .forSI(HomepageHeaderArenaSkeletonSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomePageHeaderArenaRatioImageWrapperDefaultBox = styled.div`\r\n width: 100%;\r\n`;","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenaRatioImageWrapperDefaultBox} from \"./home-page-header-arena-ratio-image-wrapper.default.box\";\r\n\r\nexport const HomePageHeaderArenaRatioImageWrapperCasino888Box = styled(HomePageHeaderArenaRatioImageWrapperDefaultBox)`\r\n max-width: 219px;\r\n margin: 0 auto;\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomePageHeaderArenaRatioImageWrapperCasino888Box} from \"./home-page-header-arena-ratio-image-wrapper.caisno888.box\";\r\nimport {HomePageHeaderArenaRatioImageWrapperDefaultBox} from \"./home-page-header-arena-ratio-image-wrapper.default.box\";\r\n\r\nexport const HomePageHeaderArenaRatioImageWrapperBox = styledByTheme(HomePageHeaderArenaRatioImageWrapperDefaultBox)\r\n .forCasino888(HomePageHeaderArenaRatioImageWrapperCasino888Box)\r\n .apply()","import React from \"react\";\r\nimport {Image, ImageProps} from \"../raw-components/image/image\";\r\nimport {OrbitComponentWithState} from \"../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {AspectRatioContainerComponent} from '../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {HomepageHeaderArenaSkeletonBox} from './boxes/tiles/skeleton/home-page-header-arena-skeleton.box';\r\nimport { ByThemeRegistry } from \"../../themes/architecture/by-theme-registry\";\r\nimport {HeaderArenasStyle} from \"../../themes/architecture/sections/theme-layout.interface\";\r\nimport {HomePageHeaderArenaRatioImageWrapperBox} from \"./boxes/tiles/ratio-image-wrapper/home-page-header-arena-ratio-image-wrapper.box\";\r\n\r\ninterface HomePageHeaderArenaTileComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport class HomePageHeaderArenaTileComponent extends OrbitComponentWithState {\r\n private aspectRatioSizes: ByThemeRegistry<{width: number; height: number;}> = new ByThemeRegistry({width: 295, height: 275});\r\n\r\n constructor(props: ImageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n this.aspectRatioSizes.forCasino888({width: 219, height: 186});\r\n this.aspectRatioSizes.forWsop({width: 219, height: 186});\r\n this.aspectRatioSizes.forSI({width: 252, height: 150});\r\n this.aspectRatioSizes.forCasino777({width: 260, height: 244});\r\n }\r\n\r\n private _handleDoneLoading() {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {/* I have added width:100% and height:100% because lighthouse reports that images that has no width and height set and might affect the cls */}\r\n {/* But I don't think it affects the layout of the page. */}\r\n this._handleDoneLoading()} style={{...this.props.style, width: \"100%\", height: \"100%\"}}/>\r\n \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {Link} from '../raw-components/link/link';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {HomePageHeaderArena} from '../../services/configurations/config-data-sections/home-page.configuration';\r\nimport {HomepageHeaderArenaMenuItemBox} from \"./boxes/menu/menu-item/home-page-header-arena-menu-item.box\";\r\nimport {HomepageHeaderArenaMenuItemIconBox} from \"./boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box\";\r\nimport {HomepageHeaderArenaMenuItemNameBox} from \"./boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box\";\r\nimport {HomepageHeaderArenaTileBox} from './boxes/tiles/tile/home-page-header-arena-tile.box';\r\nimport {HomepageHeaderArenaNameBox} from './boxes/tiles/name/home-page-header-arena-name.box';\r\nimport {HomepageHeaderArenaBadgeBox} from './boxes/home-page-header-arena-badge/home-page-header-arena-badge.box';\r\nimport {HomePageHeaderArenasContainerBox} from './boxes/home-page-header-arenas-container.box';\r\nimport {HomepageHeaderArenaLinkBox} from './boxes/home-page-header-arena-link/home-page-header-arena-link.box';\r\nimport {HomePageHeaderArenaTileComponent} from \"./home-page-header-arena-tile.component\";\r\nimport {SeoConfiguration} from '../../services/configurations/config-data-sections/seo.configuration';\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\n\r\nconst NEW_GAMES_TITLE = \"NEW_GAMES\";\r\n\r\nexport const HomePageHeaderArenasComponent = observer(class HomePageHeaderArenasComponent extends OrbitComponent {\r\n private menuButtonIconMap = new Map([\r\n [\"LIVE_CASINO\", this.services.theme.currentTheme.icons.sideMenuLiveCasino],\r\n [\"SLOTS\", this.services.theme.currentTheme.icons.sideMenuSlots],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.sideMenuNewGames],\r\n [\"JACKPOTS\", this.services.theme.currentTheme.icons.sideMenuJackpots],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.sideMenuExclusive888],\r\n [\"SCRATCH_CARDS\", this.services.theme.currentTheme.icons.sideMenuScratchCards],\r\n [\"CASINO_GAMES\", this.services.theme.currentTheme.icons.sideMenuCasinoGames]\r\n ]);\r\n private _getButtonIcon(label: string) {\r\n const iconKey = label.toUpperCase().trim().replace(/(-|\\s)/g, \"_\");\r\n return this.menuButtonIconMap.has(iconKey) ? this.menuButtonIconMap.get(iconKey)! : this.services.theme.currentTheme.icons.sideMenuExclusive888;\r\n }\r\n\r\n private _getSeo(prop: keyof SeoConfiguration[\"categories\"][\"images\"], placeholder: string, dynamic: string) {\r\n\r\n let seoValue = '';\r\n let seoConfig = this.services.configuration.data.seo;\r\n\r\n if (seoConfig && seoConfig.categories && seoConfig.categories.images && seoConfig.categories.images[prop]) {\r\n seoValue = seoConfig.categories.images[prop];\r\n }\r\n\r\n return this.services.translation.translate(seoValue, {\r\n [placeholder]: this.services.translation.translate(dynamic)\r\n });\r\n }\r\n\r\n private _handleArenaAction = (action: string, index: number) => {\r\n try {\r\n const jsonAction = JSON.parse(action);\r\n\r\n if (jsonAction.action === 'game-real') {\r\n\r\n const gameInfo = this.services.games.gamesMap[jsonAction.id];\r\n\r\n gameInfo.open({\r\n isRealMode: true,\r\n gameIndex: index\r\n });\r\n }\r\n\r\n } catch (error) {\r\n this.services.logger.error(`Error in HomePageHeaderArenasComponent '_handleArenaAction', error: ${error}, value:${action}`)\r\n }\r\n };\r\n\r\n private _handleArenaRedirect = (link: string) => {\r\n /**\r\n * @desc added because of parallel actions [navigation + spinner]\r\n * F TO DO - This setTimeout was added by regev on 09/04/2018 in this commit 962fbdea53e3bc8828a215ed035fc0e9243b7a50. I should check if this really solves a performance issue.\r\n * we should keep this delay so that on mobile the user has time to see the image changing sizes upon touching, as a form of feedback\r\n */\r\n setTimeout(() => {\r\n this.services.location.push(link); // navigation is done this way, so we can have the trailing slash\r\n }, 500);\r\n };\r\n\r\n private _handleArenaClick(event: any, arena: HomePageHeaderArena, index: number): void {\r\n\r\n event.preventDefault();\r\n\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: 'Game Grid',\r\n action: 'Home',\r\n label: `${arena.title}_${index}`\r\n }\r\n\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (arena.action) {\r\n this._handleArenaAction(arena.action, index);\r\n } else if (arena.link) {\r\n this._handleArenaRedirect(arena.link);\r\n }\r\n }\r\n\r\n private _renderOneHeaderArena(arena: HomePageHeaderArena, index: number, totalItemsCount: number) {\r\n const hasNewGamesIndication = arena.title === NEW_GAMES_TITLE && this.services.homepage.newAddedGames > 0;\r\n const newGamesIndication = hasNewGamesIndication ?\r\n \r\n {this.services.homepage.newAddedGames > 10 ? '10+' : this.services.homepage.newAddedGames}\r\n \r\n : null;\r\n\r\n if (this.services.homepage.headerArenasStyleIsMenu) {\r\n const Icon = this._getButtonIcon(arena.title);\r\n return \r\n this._handleArenaClick(event, arena, index)}\r\n >\r\n \r\n \r\n {newGamesIndication}\r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n \r\n \r\n \r\n }\r\n return (\r\n this._handleArenaClick(event, arena, index)}\r\n useSmallHeaderArenas={this.services.homepage.headerArenasStyleIsSmallTiles}\r\n totalItemsCount={totalItemsCount}\r\n >\r\n {/*We need this href only for SEO*/}\r\n \r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n {newGamesIndication}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n\r\n const headerArenas = this.services.homepage.headerArenas;\r\n\r\n if (headerArenas.length === 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n {headerArenas.map((arena, index) => this._renderOneHeaderArena(arena, index, headerArenas.length))}\r\n \r\n );\r\n }\r\n});\r\n","import styled, {css} from \"styled-components\";\r\nimport { IBannerContainerBoxProps } from \"../../cms-banner/banner-container/banner-container.default.box\";\r\n\r\nexport const HomepageTopBannerBackgroundBox = styled.div`\r\n width: 100%;\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.homepageTopBannerPlaceholder.toString()}\");\r\n ${props => props.minHeight && css`\r\n min-height: calc(${props.minHeight} + 1px);\r\n `};\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageTopBannerDividerBox = styled.div`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n box-sizing: border-box;\r\n display: block;\r\n width: calc(100% - 14px);\r\n background-color: ${props => props.theme.colors.boxBorderLight};\r\n border-top: 3px solid ${props => props.theme.colors.boxBorder};\r\n margin: 4px 7px 7px;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {CmsBannerComponent} from '../cms-banner/cms-banner.component';\r\nimport {DailyDealComponent} from \"../daily-deal/daily-deal.component\";\r\nimport {RoutedComponent} from '../base-components/routed-component/routed.component';\r\nimport {LayoutWrapperBox} from \"../../basic-components/layout-wrapper/layout-wrapper.box\";\r\nimport {MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport classNames from \"classnames\";\r\nimport {HomePageHeaderArenasComponent} from \"../home-page-header-arenas/home-page-header-arenas.component\";\r\nimport {HomepageTopBannerBackgroundBox} from \"./boxes/home-page-top-banner-background.box\";\r\nimport {HomepageTopBannerDividerBox} from './boxes/home-page-top-banner-divider-line';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {LinkToOfferComponent} from \"../link-to-offer/link-to-offer.component\";\r\nimport {ArenaGamesListsComponent} from \"../arena-games-lists/arena-games-lists.component\";\r\nimport {HOME_PAGE_ARENA} from \"../../services/arenas/arena-consts\";\r\nimport {FreeToPlayAnimatedIconComponent} from \"../free-to-play-animated-icon/free-to-play-animated-icon.component\";\r\nimport {BannerComponent} from \"../banner/banner.component\";\r\n\r\nexport const HomePageComponent = observer(class HomePageComponent extends RoutedComponent<{}> {\r\n\r\n private _renderTopBanner() {\r\n const topBannerProps = this.services.homepage.getTopBannerProps();\r\n\r\n return (\r\n <>\r\n \r\n \r\n {this.services.homepage.headerArenasStyleIsSmallTiles && !this.services.homepage.useAdminBanner? : null}\r\n \r\n );\r\n }\r\n\r\n private _renderHomePageArenaHeaders() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return ;\r\n }\r\n\r\n private _renderSeoBanner() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n let bannerConfig = this.services.configuration.data.homePage.seoSection;\r\n if(!bannerConfig.display) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const className = classNames('cy-layout-wrapper-homepage', {\r\n [MOVE_TOP]: this.services.homepage.headerArenasStyleIsBigTiles\r\n });\r\n\r\n return (\r\n <>\r\n {this._renderTopBanner()}\r\n \r\n {this._renderHomePageArenaHeaders()}\r\n \r\n \r\n \r\n {this._renderSeoBanner()}\r\n {this._renderLinkToOffer()}\r\n \r\n );\r\n }\r\n});","import React from \"react\";\r\nimport {ArenaBaseModel} from \"../arena-base.model\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../../lists/games-list-model.interface\";\r\nimport {ListsSortOrderStorage} from \"../../lists-sort-order-storage\";\r\nimport {HomePageComponent} from \"../../../../../components/home-page/home-page.component\";\r\nimport {HOME_PAGE_ARENA, NEW_GAMES_ARENA_NAME} from \"../../../arena-consts\";\r\nimport {GAME_ORIENTATION_IDS} from \"../../../../user-game-orientation/user-game-orientation.service.interface\";\r\nimport { reaction } from \"mobx\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {ArenaFiltersConfigurationMap} from \"../arena-view-model.interface\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\n\r\nexport class HomePageArenaModel extends ArenaBaseModel {\r\n constructor(services: IServiceFactoryExtended, postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n super(HOME_PAGE_ARENA, services, postLoginListsSortOrderStorage);\r\n\r\n reaction(\r\n () => this.services.routing.currentRoute,\r\n (currentRoute) => {\r\n if (currentRoute.routeDefinition.data?.arenaType === NEW_GAMES_ARENA_NAME) {\r\n this.services.homepage.resetNewAddedGames();\r\n }\r\n }, {\r\n fireImmediately: true\r\n }\r\n );\r\n }\r\n\r\n get maxSwipersToShow(): number {\r\n return 15;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 18\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ();\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n //REQUIREMENT 1886942 - exclude live casino orientation players\r\n const gameGroupOrientation = this.services.userGameOrientation.gameGroup;\r\n if (gameGroupOrientation?.groupId && gameGroupOrientation?.groupId === GAME_ORIENTATION_IDS.LIVE_CASINO ) {\r\n return\r\n }\r\n\r\n\r\n return this.services.abTestingFeatureDataProvider.listOnTop;\r\n }\r\n\r\n protected _sortSwipersByAI(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return swipers;\r\n }\r\n\r\n return super._sortSwipersByAI(swipers);\r\n }\r\n\r\n protected _getSwipersConfigurations(): SwiperGamesListConfiguration[] {\r\n return this.services.configuration.data.homePage.gamesLists || [];\r\n }\r\n protected _getGridsConfigurations(): ArenaGamesGridConfiguration[] {\r\n return []\r\n }\r\n\r\n protected _getPromotionalBannerConfig() {\r\n const bannerConfig = this.services.configuration.data.homePage.promotionalBanner;\r\n if(!bannerConfig || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return {\r\n position: bannerConfig.displayPlace + 1,\r\n templateID: bannerConfig.templateID,\r\n componentID: bannerConfig.componentID,\r\n fallbackComponent: bannerConfig.fallbackComponent,\r\n bannerAdminPlaceholderId: bannerConfig.bannerAdminPlaceholderId\r\n };\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo;\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return {};\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ArenaPictureDefaultBox} from './arena-picture.default.box';\r\n\r\nexport const ArenaPictureBox = ArenaPictureDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n//info-image default\r\nexport const ArenaPictureDefaultBox = styled(Image)`\r\n display: block;\r\n min-height: 20rem;\r\n\r\n width: 372px;\r\n height: 200px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 282px;\r\n height: 175px;\r\n }\r\n`;\r\n\r\n","import {ArenaTitleDefaultBox} from './arena-title.default.box';\r\n\r\n\r\nexport const ArenaTitleBox = ArenaTitleDefaultBox;","import styled from 'styled-components';\r\n\r\n//info-title default\r\nexport const ArenaTitleDefaultBox = styled.div`\r\n font-size: 1.5rem;\r\n color: ${props => props.theme.colors.textLight};\r\n font-weight: 600;\r\n padding-top: 3rem;\r\n padding-left: 0.5rem;\r\n`;","import {ArenaDescriptionTextDefaultBox} from './arena-description-text.default.box';\r\n\r\nexport const ArenaDescriptionTextBox = ArenaDescriptionTextDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const ArenaDescriptionTextDefaultBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding-top: 1rem;\r\n`;","import styled, {keyframes} from 'styled-components';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nconst lobbyInfoKeyframes = keyframes`\r\n 0%{\r\n transform: translate(0, 13rem);\r\n }\r\n 25%{\r\n transform: translate(0, 15rem);\r\n }\r\n 50%{\r\n transform: translate(0, 18rem);\r\n }\r\n 100%{\r\n transform: translate(0, 22rem);\r\n }\r\n`;\r\n\r\nexport const LobbyGameInfoDefaultBox = styled.div`\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 375px;\r\n margin-right: 2.5rem;\r\n \r\n\r\n &.${STICKY} {\r\n position: fixed;\r\n animation: ${lobbyInfoKeyframes} 0.5s ease-in-out forwards;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n }\r\n\r\n`;\r\n","import {LobbyGameInfoDefaultBox} from './lobby-game-info.default.box';\r\n\r\nexport const LobbyGameInfoBox = LobbyGameInfoDefaultBox;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from 'classnames';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {ArenaPictureBox} from './boxes/arena-picture/arena-picture.box';\r\nimport {ArenaTitleBox} from './boxes/arena-title/arena-title.box';\r\nimport {ArenaDescriptionTextBox} from './boxes/arena-description-text/arena-description-text.box';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface ArenaInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport interface ArenaInfoPreviewComponentState {\r\n arenaPictureLoading: boolean;\r\n}\r\n\r\nexport const ArenaInfoPreviewComponent = observer(\r\n class ArenaInfoPreviewComponent extends OrbitComponentWithState {\r\n state: ArenaInfoPreviewComponentState = {\r\n arenaPictureLoading: false\r\n }\r\n\r\n render() {\r\n\r\n\r\n let title = this.services.translation.translate(this.props.arenaInfo.title);\r\n\r\n return (\r\n \r\n \r\n {\r\n this.setState({arenaPictureLoading: true});\r\n }}\r\n onSettled={() => {\r\n this.setState({arenaPictureLoading: false});\r\n }}\r\n />\r\n \r\n \r\n {title}\r\n \r\n \r\n {this.services.translation.translate(this.props.arenaInfo.description)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../../../common/boxes/section-title/section-title.box';\r\n\r\n\r\nexport interface PcGamePreviewTitleComponentProps {\r\n gameTitle: string;\r\n}\r\n\r\nexport const PcGamePreviewTitleComponent = observer(\r\n class PcGamePreviewTitleComponent extends OrbitComponent {\r\n\r\n //className={`game-title general-title game-preview`}\r\n render() {\r\n return (\r\n \r\n {this.props.gameTitle}\r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {TrailerOrStripeImageComponent} from '../../../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../../../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {PcGamePreviewTitleComponent} from './title/pc-game-preview-title.component';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport classNames from 'classnames';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\n\r\n\r\nexport interface GameInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameInfoPreviewComponent = observer(\r\n class GameInfoPreviewComponent extends OrbitComponent {\r\n\r\n private _onMouseEnter = () => {\r\n this.services.lobbyGameInfoPreview.pinCurrentGamePreview();\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n this.services.lobbyGameInfoPreview.unPinCurrentGamePreview();\r\n };\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n \r\n }/>\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {ArenaInfoPreviewComponent} from './parts/arena-info-preview/arena-info-preview.component';\r\nimport {GameInfoPreviewComponent} from './parts/game-info-preview/game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../../sticky-handler/sticky-handler.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport interface LobbyGamesInfoComponentProps {\r\n stickyHandler?: IStickyHandler;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport const PcGameInfoPreviewComponent = observer(\r\n class PcGameInfoPreviewComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.enableGamePreview();\r\n }\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.disableGamePreview();\r\n }\r\n }\r\n\r\n\r\n render() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n let enabledOnPC = this.services.configuration.data.generalSettings?.gamesPreviewConfig?.enabledOnPC;\r\n if(Check.isNullOrUndefined(enabledOnPC)) {\r\n enabledOnPC = true;\r\n }\r\n\r\n if(!enabledOnPC) {\r\n return null;\r\n }\r\n\r\n if (this.services.lobbyGameInfoPreview.currentPreviewedGame) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n }\r\n\r\n }\r\n);\r\n","export const ARENA_TYPES = {\r\n WIDE_ARENA: \"wide-arena\"\r\n};\r\n\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\nimport {\r\n ArenaConfiguration,\r\n} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {LobbyHeaderComponent} from '../../lobby-header/lobby-header.component';\r\nimport {PcGameInfoPreviewComponent} from '../../lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {ARENA_TYPES} from \"./casino-arena.template-types\";\r\nimport {LOBBY_PAGE} from '../../../themes/css-global-classes';\r\nimport {LobbyWrapperBox} from \"../../../basic-components/lobby-wrapper/lobby-wrapper.box\";\r\nimport {LobbyGridBox} from \"../../../basic-components/lobby-grid/lobby-grid.box\";\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {ArenaGamesListsComponent} from \"../../arena-games-lists/arena-games-lists.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\n\r\nexport interface LobbyArenaComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const CasinoArenaComponent = observer(\r\n class CasinoArenaComponent extends OrbitComponent {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n return this._stickyHandler;\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.services.dom.body.classList.remove(LOBBY_PAGE);\r\n this.stickyHandler.dispose();\r\n }\r\n\r\n private get config(): ArenaConfiguration {\r\n return this.services.arenas.getArenaConfig(this.props.arenaName);\r\n }\r\n\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n let sideBarInfo = {\r\n title: \"\",\r\n description: \"\",\r\n previewImage: \"\"\r\n };\r\n\r\n if (this.config.infoSideBar) {\r\n sideBarInfo = {\r\n title: this.config.infoSideBar.infoTitle,\r\n description: this.config.infoSideBar.infoText,\r\n previewImage: this.config.infoSideBar.infoImage\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n (this.config.arenaType !== ARENA_TYPES.WIDE_ARENA) && \r\n }\r\n {this._renderLinkToOffer()}\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {ArenaFiltersConfigurationMap} from \"./arenas/arena-view-model.interface\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\n\r\nexport function filtersConfigurationToMap(filtersConfiguration: NullableUndefined): ArenaFiltersConfigurationMap {\r\n return (filtersConfiguration ?? []).toDictionary(filterId => filterId, \r\n (filterId, index) => {\r\n return {\r\n filterId: filterId,\r\n index: index\r\n }\r\n });\r\n }\r\n","import {GameInfo} from \"../../games/game-info\";\r\n\r\nexport enum ApplyGameFilterResult {\r\n IncludeGame,\r\n ExcludeGame,\r\n NotApplicable\r\n}\r\n\r\nexport interface IGameFilterEvaluator {\r\n applyFilter(gameInfo: GameInfo, selectedFiltersIDs?: string[]): ApplyGameFilterResult;\r\n}","import React from 'react';\r\nimport {DisposableObject} from \"../../../../utils/disposable-object\";\r\nimport {IGamesFilterStrategy} from \"./games-filter-strategy.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport { computed, observable, runInAction, makeObservable } from \"mobx\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {Nullable} from \"../../../../common/types/nullable-types\";\r\nimport {GamesMap} from \"../../games/games.service.interface\";\r\nimport {IArenaGameFiltersCategory} from \"../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {IArenaGameFilter} from \"../arena-filters/filters/arena-game-filter.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {IFilterIndicatorRenderingOptions} from \"../games-filter.service.interface\";\r\n\r\nexport abstract class GamesFilterStrategyBase extends DisposableObject implements IGamesFilterStrategy {\r\n\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n super();\r\n makeObservable(this);\r\n\r\n this.addReaction(() => this.services.location.currentUri, () => {\r\n //We use set timeout in order to avoid a circular dependency error.\r\n //Because this reaction is with fireImmediately=true it executes in this constructor, but this constructor is called from the GamesFilterService constructor\r\n //and the code inside this._filterGames is trying to access methods and properties from GamesFilterService and the Lazy class will throw an error in this case.\r\n setTimeout(() => {\r\n runInAction(() => {\r\n try {\r\n this.filteredGamesMap = this._filterGames();\r\n if(this.services.gamesFilter.isFilterOn && !this._isInFilterAnalyticsReporting) {\r\n this._reportApplyFiltersByDeepLink();\r\n }\r\n } finally {\r\n this._isInFilterAnalyticsReporting = false;\r\n }\r\n });\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.addReaction(() => this.services.games.gamesMap, () => {\r\n //We use set timeout in order to avoid a circular dependency error.\r\n //Because this reaction is with fireImmediately=true it executes in this constructor, but this constructor is called from the GamesFilterService constructor\r\n //and the code inside this._filterGames is trying to access methods and properties from GamesFilterService and the Lazy class will throw an error in this case.\r\n setTimeout(() => {\r\n runInAction(() => {\r\n this.filteredGamesMap = this._filterGames();\r\n });\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _isInFilterAnalyticsReporting = false;\r\n beginFilterAnalyticsReporting(): void {\r\n this._isInFilterAnalyticsReporting = true;\r\n }\r\n\r\n protected abstract _createFiltersCategories(): IArenaGameFiltersCategory[];\r\n abstract renderMobileFiltersIndicator(): React.ReactElement;\r\n abstract renderFiltersIndicator(): Nullable;\r\n protected abstract _reportApplyFiltersByDeepLink(): void;\r\n\r\n abstract showFiltersEditor(): void;\r\n protected abstract _createEvaluator(): IGameFilterEvaluator | null;\r\n\r\n @observable.ref\r\n filteredGamesMap: Record = {};\r\n\r\n private _filtersCategories: Nullable = null;\r\n public get filtersCategories(): IArenaGameFiltersCategory[] {\r\n if(!this._filtersCategories) {\r\n this._filtersCategories = this._createFiltersCategories();\r\n }\r\n return this._filtersCategories;\r\n }\r\n\r\n\r\n @computed\r\n public get currentFilters(): IArenaGameFilter[] {\r\n const result: IArenaGameFilter[] = [];\r\n this.filtersCategories.forEach(category => {\r\n category.availableFilters.forEach(f => result.push(f));\r\n });\r\n\r\n return result;\r\n }\r\n\r\n get isFilteringAvailable(): boolean {\r\n return this.currentFilters.length > 0;\r\n }\r\n\r\n protected _filterGames(): GamesMap {\r\n\r\n const gamesMap = this.services.games.gamesMap;\r\n\r\n if(!this.currentFilters.some(f => f.isApplied)) {\r\n return gamesMap;\r\n }\r\n\r\n const evaluator = this._createEvaluator();\r\n\r\n const result: GamesMap = {};\r\n\r\n for(let game of Object.values(this.services.games.gamesMap)) {\r\n const filterResult = evaluator.applyFilter(game);\r\n if(ApplyGameFilterResult.IncludeGame === filterResult) {\r\n result[game.gameType] = game;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const ContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n padding: 10px;\r\n user-select: none;\r\n overflow-y: auto;\r\n`;","import styled from \"styled-components\";\r\nimport {ContainerDefaultBox} from \"./container.default.box\";\r\n\r\nexport const ContainerMrGreenBox = styled(ContainerDefaultBox)`\r\n background-color: ${props => props.theme.colors.background};\r\n border-radius: 8px;\r\n padding: 0px 2rem 1rem 2rem;\r\n`;","import styled from \"styled-components\";\r\nimport {ContainerDefaultBox} from \"./container.default.box\";\r\n\r\nexport const ContainerSIBox = styled(ContainerDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundActive};\r\n border-radius: 10px;\r\n margin-left: 15px;\r\n margin-right: 15px;\r\n width: auto;\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ContainerDefaultBox} from \"./container.default.box\";\r\nimport {ContainerMrGreenBox} from \"./container.mrgreen.box\";\r\nimport {ContainerSIBox} from \"./container.si.box\";\r\n\r\nexport const ContainerBox = styledByTheme(ContainerDefaultBox)\r\n .forSI(ContainerSIBox)\r\n .forSICis(ContainerSIBox)\r\n .forMrGreen(ContainerMrGreenBox)\r\n .forMrGreenCis(ContainerMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\r\nimport {hexToRgba} from \"../../../../../themes/hex-to-rgba\";\r\n\r\nconst FilterCategoryDefaultBox = styled.div`\r\n padding: 2rem 0;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLighter};\r\n box-sizing: border-box;\r\n`;\r\n\r\nconst FilterCategorySIBox = styled(FilterCategoryDefaultBox)`\r\n border-bottom: 2px solid ${props => props.theme.colors.boxBorderDark};\r\n`\r\n\r\nconst FilterCategoryMrGreenBox = styled(FilterCategoryDefaultBox)`\r\n border-bottom: 1px solid ${hexToRgba(baseColors.gray233, 0.3)};\r\n`;\r\n\r\nexport const FilterCategoryBox = styledByTheme(FilterCategoryDefaultBox)\r\n .forSI(FilterCategorySIBox)\r\n .forSICis(FilterCategorySIBox)\r\n .forMrGreen(FilterCategoryMrGreenBox)\r\n .forMrGreenCis(FilterCategoryMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const FilterCategoryContentBox = styled.div`\r\n display: block;\r\n transition: all 0.2s ease-in;\r\n overflow: hidden;\r\n height: 100%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const FilterItemBox = styled.div<{disabled: boolean}>`\r\n display: flex;\r\n align-items: center;\r\n padding: 1.5rem;\r\n cursor: ${props => props.disabled ? \"auto\" : \"pointer\"};\r\n`","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst InputDefaultBox = styled.input<{disabled: boolean}>`\r\n appearance: none;\r\n position: relative;\r\n height: 1.8rem;\r\n width: 1.8rem;\r\n cursor: ${props => props.disabled ? \"auto\" : \"pointer\"};\r\n\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n background-color: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 0.5rem;\r\n\r\n &:checked {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n\r\n &:after {\r\n content: '\\\\2713';\r\n display: block;\r\n height: 100%;\r\n font-size: 13px;\r\n line-height: 1.8rem;\r\n color: ${props => props.theme.colors.background};\r\n font-weight: bold;\r\n }\r\n }\r\n\r\n ${props => props.type === 'radio' && css` border-radius: 10px; ` }\r\n`;\r\n\r\nconst InputMrGreenBox = styled(InputDefaultBox)`\r\n &:checked {\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n }\r\n`;\r\n\r\nconst InputSIBox = styled(InputDefaultBox)`\r\n background-color: transparent;\r\n border: 1px solid ${props => props.theme.colors.boxBorderEvenLighter};\r\n height: 1.5rem;\r\n width: 1.5rem;\r\n &:checked {\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n \r\n &:after {\r\n font-size: 1rem;\r\n line-height: 1.5rem;\r\n }\r\n }\r\n`\r\n\r\nexport const InputBox = styledByTheme(InputDefaultBox)\r\n .forSI(InputSIBox)\r\n .forSICis(InputSIBox)\r\n .forMrGreen(InputMrGreenBox)\r\n .forMrGreenCis(InputMrGreenBox).apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FilterItemTitleDefaultBox = styled.span<{isChecked: boolean}>`\r\n margin-left: 2em;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.text};\r\n ${props => props.isChecked ? css`color: ${props => props.theme.colors.brandPrimary};` : ''}\r\n`;\r\n\r\nconst FilterItemTitleMrGreenBox = styled(FilterItemTitleDefaultBox)`\r\n color: ${props => props.isChecked ? props.theme.colors.textContrast : props.theme.colors.text};\r\n`;\r\n\r\nconst FilterItemTitleSIBox = styled(FilterItemTitleDefaultBox)`\r\n color: ${props => props.isChecked ? props.theme.colors.textContrast : props.theme.colors.text};\r\n font-size: 12px;\r\n font-weight: 400;\r\n`;\r\n\r\nexport const FilterItemTitleBox = styledByTheme(FilterItemTitleDefaultBox)\r\n .forSI(FilterItemTitleSIBox)\r\n .forSICis(FilterItemTitleSIBox)\r\n .forMrGreen(FilterItemTitleMrGreenBox)\r\n .forMrGreenCis(FilterItemTitleMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const SubFiltersBox = styled.div`\r\n margin-left: 5rem;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const FilterItemContainerBox = styled.div<{disabled: boolean}>`\r\n display: flex;\r\n flex-direction: column;\r\n opacity: ${props => props.disabled ? \"0.5\" : \"1\"};\r\n`\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {FilterItemBox} from \"./boxes/filter-Item.box\";\r\nimport {InputBox} from \"./boxes/input.box\";\r\nimport {FilterItemTitleBox} from \"./boxes/filter-item-title.box\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SubFiltersBox} from \"./boxes/sub-filters.box\";\r\nimport {FilterItemContainerBox} from \"./boxes/filter-item-container.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\nexport type FilterInputType = 'checkbox' | 'radio';\r\n\r\ninterface FilterCategoryItemComponentProps {\r\n inputType: FilterInputType;\r\n filter: IArenaGameFilterEditorViewModel;\r\n filterCategoryId: string;\r\n}\r\n\r\nexport const FilterCategoryItemComponent = observer(\r\n class FilterCategoryItemComponent extends OrbitComponent {\r\n\r\n private _onFilterToggle = () => {\r\n if (this.props.filter.disabled) {\r\n return;\r\n }\r\n this.props.filter.toggleFilter();\r\n }\r\n\r\n private _renderSubFilters() {\r\n const subFilters = this.props.filter.subFilters;\r\n if(subFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {subFilters.map(sf => ())}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n const filter = this.props.filter;\r\n const inputType = this.props.inputType;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {filter.text}\r\n {filter.gamesCount > 0 && ` (${filter.gamesCount})`}\r\n \r\n \r\n {this._renderSubFilters()}\r\n \r\n\r\n );\r\n }\r\n }\r\n);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IArenaGameFiltersCategoryEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface\";\r\nimport {FilterCategoryContentBox} from \"./boxes/filter-category-content.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {FilterCategoryItemComponent} from \"./filter-category-item.component\";\r\n\r\ninterface FilterCategoryContentComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport const FilterCategoryContentComponent = observer(\r\n class FilterCategoryContentComponent extends OrbitComponent {\r\n\r\n _renderFilters(category: IArenaGameFiltersCategoryEditorViewModel) {\r\n\r\n\r\n return <>\r\n {category.visibleFilters.map(filterToRender => ())}\r\n ;\r\n }\r\n\r\n render() {\r\n if(!this.props.isOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderFilters(this.props.category)}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const TitleContainerDefaultBox = styled.div`\r\n cursor: pointer;\r\n`;\r\n\r\nconst TitleContainerSIBox = styled(TitleContainerDefaultBox)`\r\n padding-left: 10px\r\n`;\r\n\r\nexport const TitleContainerBox = styledByTheme(TitleContainerDefaultBox)\r\n .forSICis(TitleContainerSIBox)\r\n .forSI(TitleContainerSIBox)\r\n .apply();","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst TitleDefaultBox = styled.div<{isOpen: boolean}>`\r\n position: relative;\r\n font-size: 15px;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: uppercase;\r\n display: flex;\r\n align-items: center;\r\n\r\n /* Title V sign */\r\n &:after {\r\n content: \" \";\r\n display: inline-block;\r\n\r\n border: solid ${props => props.theme.colors.backgroundContrast};\r\n border-width: 0 2px 2px 0;\r\n\r\n padding: 3px;\r\n transform: rotate(45deg);\r\n transition: transform 0.2s ease-in-out;\r\n\r\n position: absolute;\r\n right: 3px;\r\n\r\n ${props => props.isOpen && css`\r\n transform: rotate(225deg);\r\n `}\r\n }\r\n`;\r\n\r\nconst TitleMrGreenBox = styled(TitleDefaultBox)`\r\n font-size: 14px;\r\n`;\r\n\r\nconst TitleSIBox = styled(TitleDefaultBox)`\r\n font-size: 14px;\r\n`;\r\n\r\nexport const TitleBox = styledByTheme(TitleDefaultBox)\r\n .forSI(TitleSIBox)\r\n .forSICis(TitleSIBox)\r\n .forMrGreen(TitleMrGreenBox)\r\n .forMrGreenCis(TitleMrGreenBox).apply();","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IGroupFiltersListGroupTitleActivePreviewBoxProps {\r\n isVisible: boolean;\r\n}\r\n\r\nconst PreviewDefaultBox = styled.span`\r\n\r\n @keyframes introAnimation {\r\n 0% {\r\n opacity: 0;\r\n max-height: 0;\r\n }\r\n 50% {\r\n opacity: 0;\r\n max-height: 20px;\r\n }\r\n 100% {\r\n opacity: 1;\r\n max-height: 20px;\r\n }\r\n }\r\n\r\n display: block;\r\n opacity: 0;\r\n font-size: 11px;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n ${({theme}) => theme.font.presets.regular};\r\n text-transform: capitalize;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n width: 100%;\r\n max-height: 0;\r\n\r\n ${props => props.isVisible && css`\r\n animation: 0.1s introAnimation 0.2s ease-in forwards;\r\n `}\r\n`;\r\n\r\nconst PreviewMrGreenBox = styled(PreviewDefaultBox)`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nconst PreviewSIBox = styled(PreviewDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n font-size: 11px;\r\n ${({theme}) => theme.font.presets.light};\r\n`;\r\n\r\nexport const PreviewBox = styledByTheme(PreviewDefaultBox)\r\n .forSI(PreviewSIBox)\r\n .forSICis(PreviewSIBox)\r\n .forMrGreen(PreviewMrGreenBox)\r\n .forMrGreenCis(PreviewMrGreenBox).apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {TitleContainerBox} from \"./boxes/title-container.box\";\r\nimport {TitleBox} from \"./boxes/title.box\";\r\nimport {PreviewBox} from \"./boxes/preview.box\";\r\nimport {\r\n IArenaGameFiltersCategoryEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface\";\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface FilterCategoryHeaderComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n isOpen: boolean;\r\n onCategoryToggle: (category: IArenaGameFiltersCategoryEditorViewModel) => void;\r\n}\r\n\r\n\r\nexport const FilterCategoryHeaderComponent = observer(\r\n class FilterCategoryHeaderComponent extends OrbitComponent {\r\n private _onClickHandler = () => {\r\n this.props.onCategoryToggle(this.props.category);\r\n }\r\n\r\n\r\n render() {\r\n const activeFiltersTexts = this.props.category.getVisibleAppliedFilters().map(f => f.text);\r\n return (\r\n \r\n \r\n {this.props.category.title}\r\n \r\n\r\n 0}>\r\n {activeFiltersTexts.join(', ')}\r\n \r\n \r\n )\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from '../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterCategoryBox} from \"./boxes/filter-category.box\";\r\nimport {FilterCategoryContentComponent} from \"./filter-category-content.component\";\r\nimport {FilterCategoryHeaderComponent} from \"./filter-category-header.component\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface IFilterCategoryComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n onCategoryToggle: (category: IArenaGameFiltersCategoryEditorViewModel) => void;\r\n isOpen: boolean;\r\n}\r\n\r\nexport const FilterCategoryComponent = observer(\r\n class FilterCategoryComponent extends OrbitComponent {\r\n\r\n render() {\r\n const {category, isOpen} = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {OrbitComponentWithState} from '../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {ContainerBox} from \"./boxes/container.box\";\r\nimport {FilterCategoryComponent} from '../filter-category/filter-category.component';\r\nimport {IAdvancedStrategyFiltersEditorViewModel} from '../../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface';\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from '../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface';\r\nimport {observer} from 'mobx-react';\r\n\r\nexport interface IFilterCategoriesListComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\n\r\ninterface IFilterCategoriesListComponentState {\r\n openFilterCategory: IArenaGameFiltersCategoryEditorViewModel | null;\r\n}\r\n\r\nexport const FilterCategoriesListComponent = observer(\r\n class FilterCategoriesListComponent extends OrbitComponentWithState {\r\n\r\n state: IFilterCategoriesListComponentState = {\r\n openFilterCategory: null\r\n }\r\n\r\n _onCategoryToggle = (category: IArenaGameFiltersCategoryEditorViewModel) => {\r\n let openFilterCategoryState = this.state.openFilterCategory;\r\n\r\n // if user clicked on new category emulate close current category first\r\n if (openFilterCategoryState && category.id !== openFilterCategoryState.id) {\r\n openFilterCategoryState = null;\r\n }\r\n\r\n this.setState({openFilterCategory: openFilterCategoryState ? null : category});\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n {this.props.filtersEditor.visibleCategories.map(category => ())}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.text};\r\n height: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterMrgreenBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n color: ${props => props.theme.colors.text};\r\n padding: 1.5rem 1.5rem 0;\r\n`","import styled from \"styled-components\";\r\nimport {AdvancedGamesFilterDefaultBox} from \"./advanced-games-filter.default.box\";\r\n\r\n\r\nexport const AdvancedGamesFilterSIBox = styled(AdvancedGamesFilterDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundDark}; \r\n`\r\n","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {AdvancedGamesFilterDefaultBox} from \"./advanced-games-filter.default.box\";\r\nimport {AdvancedGamesFilterMrgreenBox} from \"./advanced-games-filter.mrgreen.box\";\r\nimport {AdvancedGamesFilterSIBox} from \"./advanced-games-filter.si.box\";\r\n\r\nexport const AdvancedGamesFilterBox = styledByTheme(AdvancedGamesFilterDefaultBox)\r\n .forSI(AdvancedGamesFilterSIBox)\r\n .forMrGreen(AdvancedGamesFilterMrgreenBox)\r\n .apply()\r\n","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterFooterDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-around;\r\n padding: 2rem;\r\n position: sticky;\r\n bottom: 0;\r\n`","import styled from \"styled-components\";\r\nimport {AdvancedGamesFilterFooterDefaultBox} from \"./advanced-games-filter-footer.default\";\r\n\r\nexport const AdvancedGamesFilterFooterMrGreenBox = styled(AdvancedGamesFilterFooterDefaultBox)`\r\n margin-left: -1.5rem;\r\n margin-right: -1.5rem;\r\n background-color: ${props => props.theme.colors.background};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {AdvancedGamesFilterFooterDefaultBox} from \"./advanced-games-filter-footer.default\";\r\n\r\nexport const AdvancedGamesFilterFooterSiBox = styled(AdvancedGamesFilterFooterDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundActive};\r\n padding: 1.5rem;\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {AdvancedGamesFilterFooterDefaultBox} from \"./advanced-games-filter-footer.default\";\r\nimport {AdvancedGamesFilterFooterMrGreenBox} from \"./advanced-games-filter-footer.mrgreen\";\r\nimport {AdvancedGamesFilterFooterSiBox} from \"./advanced-games-filter-footer.si\";\r\n\r\nexport const AdvancedGamesFilterFooterBox = styledByTheme(AdvancedGamesFilterFooterDefaultBox)\r\n .forSI(AdvancedGamesFilterFooterSiBox)\r\n .forSICis(AdvancedGamesFilterFooterSiBox)\r\n .forMrGreen(AdvancedGamesFilterFooterMrGreenBox)\r\n .forMrGreenCis(AdvancedGamesFilterFooterMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const AdvancedGamesFilterHeaderDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-start;\r\n width: 100%;\r\n padding: 6px;\r\n`;\r\n\r\nconst AdvancedGamesFilterHeaderMrGreenBox = styled(AdvancedGamesFilterHeaderDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n padding: 0 0 1rem 0;\r\n`;\r\n\r\nconst AdvancedGamesFilterHeaderSIBox = styled(AdvancedGamesFilterHeaderDefaultBox)`\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n \r\n svg {\r\n color: white;\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n`;\r\n\r\nexport const AdvancedGamesFilterHeaderBox = styledByTheme(AdvancedGamesFilterHeaderDefaultBox)\r\n .forSI(AdvancedGamesFilterHeaderSIBox)\r\n .forSICis(AdvancedGamesFilterHeaderSIBox)\r\n .forMrGreen(AdvancedGamesFilterHeaderMrGreenBox)\r\n .forMrGreenCis(AdvancedGamesFilterHeaderMrGreenBox).apply();","import styled from \"styled-components\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const AdvancedGamesFilterButtonBox = styled(Button)`\r\n min-width: 140px;\r\n`\r\n\r\nexport const AdvancedGamesFilterButtonSIBox = styled(AdvancedGamesFilterButtonBox)`\r\n background-color: transparent; \r\n`\r\n\r\nexport const AdvancedGamesFilterButtonStyleBox = styledByTheme(AdvancedGamesFilterButtonBox)\r\n .forSI(AdvancedGamesFilterButtonSIBox)\r\n .forSICis(AdvancedGamesFilterButtonSIBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FilterByDefaultBox = styled.div`\r\n font-size: ${props => props.theme.font.size.large};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst FilterByMrGreenBox = styled(FilterByDefaultBox)`\r\n font-size: 1.4rem;\r\n`;\r\n\r\nconst FilterBySIBox = styled(FilterByDefaultBox)`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n`;\r\n\r\nexport const FilterByBox = styledByTheme(FilterByDefaultBox)\r\n .forSI(FilterBySIBox)\r\n .forSICis(FilterBySIBox)\r\n .forMrGreen(FilterByMrGreenBox)\r\n .forMrGreenCis(FilterByMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\nimport {flexGrowItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const FilterCategoriesListBox = styled.div`\r\n ${flexGrowItem};\r\n flex-basis: 1%; /* We need it so this area will not take all the places(including the sticky buttons) */\r\n overflow-y: auto;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n IAdvancedStrategyFiltersEditorViewModel\r\n} from \"../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface\";\r\nimport {FilterCategoriesListComponent} from './filter-categories-list/filter-categories-list.component';\r\nimport {AdvancedGamesFilterBox} from \"./boxes/advanced-games-filter.box\";\r\nimport {AdvancedGamesFilterFooterBox} from \"./boxes/advanced-games-filter-footer.box\";\r\nimport {AdvancedGamesFilterHeaderBox} from \"./boxes/advanced-games-filter-header.box\";\r\nimport {\r\n AdvancedGamesFilterButtonBox,\r\n AdvancedGamesFilterButtonStyleBox\r\n} from \"./boxes/advanced-games-filter-button.box\";\r\nimport {FilterByBox} from \"./filter-categories-list/boxes/filter-by.box\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {FilterCategoriesListBox} from \"./boxes/filter-categories-list.box\";\r\n\r\n\r\ninterface AdvancedGamesFilterComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\n\r\nexport const AdvancedGamesFilterComponent = observer(\r\n class AdvancedGamesFilterComponent extends OrbitComponent {\r\n\r\n private _onApply = async () => {\r\n await this.props.filtersEditor.applyFilters();\r\n this.services.drawer.right.back();\r\n }\r\n\r\n private _onCancel = () => {\r\n this.props.filtersEditor.closeFilters();\r\n }\r\n\r\n private _onClearAll = async () => {\r\n await this.props.filtersEditor.clearFilters();\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.props.filtersEditor.openFilters();\r\n }\r\n\r\n\r\n render() {\r\n const CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n const numberOfGamesIfUserApply: number = this.props.filtersEditor.getNumberOfGamesBeforeUserApply();\r\n const numberOfSelectedFilters: number = this.props.filtersEditor.getAppliedFiltersIds().length;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate('FILTER_BY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('CLEAR_ALL')}\r\n \r\n\r\n \r\n {this.services.translation.translate('APPLY') + (numberOfSelectedFilters> 0 ? ` (${numberOfGamesIfUserApply})` : '')}\r\n \r\n \r\n\r\n \r\n )\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {IDrawerContent} from \"../../../drawer/drawer.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {\r\n AdvancedGamesFilterComponent\r\n} from \"../../../../components/filters/advanced-filtering/advanced-games-filter.component\";\r\nimport {AdvancedStrategyFiltersEditor} from \"./advanced-strategy-filters-editor\";\r\n\r\nexport class AdvancedGamesFilterDrawerRenderer implements IDrawerContent {\r\n\r\n constructor(private readonly services: IServiceFactoryExtended,\r\n private readonly filtersEditor: AdvancedStrategyFiltersEditor) {\r\n this.id = this.services.tools.getGuid();\r\n }\r\n\r\n readonly id: string;\r\n readonly isMinimized: boolean = false;\r\n readonly minOverlayZIndex: number | null = null;\r\n supportsCloseIntent: boolean = false;\r\n readonly title: string = '';\r\n\r\n onClose(): void {\r\n }\r\n\r\n onOverlayClicked(): void {\r\n }\r\n\r\n render(): React.ReactNode {\r\n return (\r\n \r\n );\r\n }\r\n}","import { action, observable, runInAction, makeObservable } from \"mobx\";\r\nimport {IArenaGameFilterEditorViewModel} from \"./arena-game-filter-editor-view-model.interface\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {ArenaGameFiltersCategoryEditor} from \"../categories/arena-game-filters-category-editor\";\r\n\r\nexport class ArenaGameFilterEditor implements IArenaGameFilterEditorViewModel {\r\n constructor(protected readonly arenaGameFilter: IArenaGameFilter,\r\n protected readonly categoryEditor?: ArenaGameFiltersCategoryEditor) {\r\n makeObservable(this);\r\n\r\n this._on = arenaGameFilter.isApplied;\r\n }\r\n\r\n get id(): string {\r\n return this.arenaGameFilter.id;\r\n }\r\n\r\n get text(): string {\r\n return this.arenaGameFilter.text;\r\n }\r\n\r\n @observable.ref\r\n protected _on: boolean = false;\r\n get on(): boolean {\r\n return this._on;\r\n }\r\n\r\n set on(value: boolean) {\r\n this._setOn(value);\r\n }\r\n\r\n protected _resetOtherFiltersInTheCategory(): void {\r\n this.categoryEditor.visibleFilters.forEach(f => {\r\n if(f.id !== this.id) {\r\n f.on = false;\r\n }\r\n })\r\n }\r\n\r\n protected _setOn(value: boolean): void {\r\n\r\n if(value && this.categoryEditor && !this.categoryEditor.isMultiSelect) {\r\n this._resetOtherFiltersInTheCategory();\r\n }\r\n\r\n runInAction(() => this._on = value);\r\n }\r\n\r\n get disabled(): boolean {\r\n return false;\r\n }\r\n\r\n @action.bound\r\n toggleFilter(): void {\r\n this.on = !this.on;\r\n }\r\n\r\n get shouldBeDisplayed(): boolean {\r\n return !this.arenaGameFilter.isAdhocFilter;\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.arenaGameFilter.gamesCount;\r\n }\r\n\r\n\r\n private _subFilters: ArenaGameSubFilterEditor[] | null = null;\r\n get subFilters(): ArenaGameSubFilterEditor[] {\r\n if(!this._subFilters) {\r\n this._subFilters = this.arenaGameFilter.subFilters.map(sf => new ArenaGameSubFilterEditor(this, sf));\r\n }\r\n return this._subFilters;\r\n }\r\n}\r\n\r\n\r\nexport class ArenaGameSubFilterEditor extends ArenaGameFilterEditor {\r\n constructor(private readonly parent: ArenaGameFilterEditor,\r\n arenaGameFilter: IArenaGameFilter) {\r\n super(arenaGameFilter)\r\n }\r\n\r\n get on(): boolean {\r\n return this._on && this.parent.on;\r\n }\r\n\r\n set on(value: boolean) {\r\n this._setOn(value);\r\n }\r\n\r\n get disabled(): boolean {\r\n return !this.parent.on;\r\n }\r\n}","import {ArenaGameFilterEditor} from \"../filters/arena-game-filter-editor\";\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from \"./arena-game-filters-category-editor-view-model.interface\";\r\nimport {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IArenaGameFilterEditorViewModel} from \"../filters/arena-game-filter-editor-view-model.interface\";\r\nimport {CategoryDefinitionId} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\n\r\nexport class ArenaGameFiltersCategoryEditor implements IArenaGameFiltersCategoryEditorViewModel {\r\n constructor(private readonly arenaGameFilterCategory: IArenaGameFiltersCategory) {\r\n makeObservable(this);\r\n\r\n this._filters = arenaGameFilterCategory.availableFilters.map(f => new ArenaGameFilterEditor(f, this));\r\n }\r\n\r\n private readonly _filters: ArenaGameFilterEditor[];\r\n @computed\r\n get visibleFilters(): ArenaGameFilterEditor[] {\r\n return this._filters.filter(f => f.shouldBeDisplayed);\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return this.arenaGameFilterCategory.id;\r\n }\r\n\r\n get title(): string {\r\n return this.arenaGameFilterCategory.title;\r\n }\r\n\r\n getAppliedFiltersIds(): string[] {\r\n return this._getAllAppliedFilters().map(f => f.id);\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.arenaGameFilterCategory.gamesCount;\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return this.arenaGameFilterCategory.isMultiSelect;\r\n }\r\n\r\n private _getAllAppliedFilters(): ArenaGameFilterEditor[] {\r\n const result: ArenaGameFilterEditor[] = [];\r\n\r\n for(let filter of this._filters) {\r\n if(filter.on) {\r\n result.push(filter);\r\n for(let subFilter of filter.subFilters) {\r\n if(subFilter.on) {\r\n result.push(subFilter)\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n\r\n getVisibleAppliedFilters(): IArenaGameFilterEditorViewModel[] {\r\n return this._getAllAppliedFilters().filter(f => f.shouldBeDisplayed);\r\n }\r\n\r\n}","import {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport interface IReportApplyFiltersParams {\r\n appliedFilters: Record; // the key is the filters category and the value is an array of applied filters from that category\r\n gamesCount: number;\r\n}\r\n\r\ninterface IFilterEventData {\r\n action: string;\r\n label: string;\r\n actionData?: string;\r\n}\r\n\r\nexport class AdvancedFiltersAnalytics {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n\r\n }\r\n\r\n private _getLocation() {\r\n let location = this.services.location.currentUri.pathName.toString()\r\n if(location !== '/' && location.endsWith('/')) {\r\n location = location.substring(0, location.length - 1)\r\n }\r\n\r\n return location;\r\n }\r\n\r\n private _sendEvent(filterEventData: IFilterEventData): void {\r\n this.services.analytics.sendOrbitUserFlowEvent('advanced-filters', filterEventData.action, filterEventData.label, filterEventData.actionData);\r\n }\r\n\r\n reportOpenFilters(): void {\r\n this._sendEvent({\r\n action: 'open',\r\n label: this._getLocation()\r\n });\r\n }\r\n\r\n reportCloseFilters(): void {\r\n this._sendEvent({\r\n action: 'close',\r\n label: this._getLocation()\r\n });\r\n }\r\n\r\n reportClearFilters(): void {\r\n this._sendEvent({\r\n action: 'clear',\r\n label: this._getLocation()\r\n });\r\n }\r\n\r\n reportApplyFiltersByDeepLink(params: IReportApplyFiltersParams): void {\r\n this._sendEvent({\r\n action: 'deeplink',\r\n label: this._getLocation(),\r\n actionData: JSON.stringify(params)\r\n });\r\n }\r\n\r\n reportApplyFiltersByButton(params: IReportApplyFiltersParams): void {\r\n this._sendEvent({\r\n action: 'apply',\r\n label: this._getLocation(),\r\n actionData: JSON.stringify(params)\r\n });\r\n }\r\n\r\n reportRemoveFilter(filterID: string): void {\r\n this._sendEvent({\r\n action: 'remove',\r\n label: filterID\r\n });\r\n }\r\n}","import {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {ArenaGameFiltersCategoryEditor} from \"../../arena-filters/categories/arena-game-filters-category-editor\";\r\nimport {IAdvancedStrategyFiltersEditorViewModel} from \"./advanced-strategy-filters-editor-view-model.interface\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {AdvancedFiltersAnalytics} from \"./advanced-filters-analytics\";\r\nimport {IAdvancedFiltersEditorToStrategyAdapter} from \"./advanced-filters-editor-to-strategy-adapter\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\n\r\n\r\n\r\n\r\nexport class AdvancedStrategyFiltersEditor implements IAdvancedStrategyFiltersEditorViewModel {\r\n constructor(private readonly strategy: IAdvancedFiltersEditorToStrategyAdapter,\r\n private readonly services: IServiceFactoryExtended) {\r\n\r\n this._categories = this.filtersCategories.map(c => new ArenaGameFiltersCategoryEditor(c));\r\n this.analyticsReporter = new AdvancedFiltersAnalytics(this.services);\r\n }\r\n\r\n readonly analyticsReporter: AdvancedFiltersAnalytics;\r\n\r\n get filtersCategories(): IArenaGameFiltersCategory[] {\r\n return this.strategy.filtersCategories;\r\n }\r\n\r\n private _categories: ArenaGameFiltersCategoryEditor[];\r\n get visibleCategories(): ArenaGameFiltersCategoryEditor[] {\r\n return this._categories.filter(c => c.visibleFilters.length > 0);\r\n }\r\n\r\n public getAppliedFiltersIds(): string[] {\r\n let result: string[] = [];\r\n\r\n this._categories.forEach(c => {\r\n result = [\r\n ...result,\r\n ...c.getAppliedFiltersIds()\r\n ];\r\n\r\n });\r\n return result;\r\n }\r\n\r\n\r\n\r\n getNumberOfGamesBeforeUserApply(): number {\r\n return this.services.gamesFilter.getNumberOfGamesBeforeUserApply(this.getAppliedFiltersIds());\r\n }\r\n\r\n openFilters(): void {\r\n this.analyticsReporter.reportOpenFilters();\r\n }\r\n\r\n private async _executeWithAnalyticsReporting(action: () => Promise) {\r\n this.strategy.beginFilterAnalyticsReporting();\r\n await action();\r\n }\r\n\r\n async applyFilters(): Promise {\r\n if(this.getAppliedFiltersIds().toString() !== this.services.gamesFilter.currentAppliedFiltersIds.toString()) {\r\n await this._executeWithAnalyticsReporting(async () => {\r\n await this.services.gamesFilter.applyFilters(this.getAppliedFiltersIds());\r\n this.analyticsReporter.reportApplyFiltersByButton(this.strategy.getApplyFilterReportingParameters());\r\n })\r\n\r\n }\r\n }\r\n\r\n async removeFilter(filter: IArenaGameFilterEditorViewModel): Promise {\r\n filter.on = false;\r\n await this._executeWithAnalyticsReporting(async () => {\r\n await this.services.gamesFilter.applyFilters(this.getAppliedFiltersIds());\r\n this.analyticsReporter.reportRemoveFilter(filter.id);\r\n });\r\n }\r\n\r\n closeFilters() {\r\n this.services.drawer.right.back();\r\n this.analyticsReporter.reportCloseFilters();\r\n }\r\n\r\n async clearFilters(): Promise {\r\n if(this.services.gamesFilter.isFilterOn) {\r\n await this._executeWithAnalyticsReporting(async () => {\r\n await this.services.gamesFilter.clearFilters();\r\n this.analyticsReporter.reportClearFilters();\r\n });\r\n }\r\n this.services.drawer.right.back();\r\n\r\n }\r\n}","import {ApplyGameFilterResult, IGameFilterEvaluator} from \"./game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\n\r\nexport class AndGameFiltersEvaluator implements IGameFilterEvaluator {\r\n constructor(...evaluators: IGameFilterEvaluator[]) {\r\n this._evaluators = evaluators;\r\n }\r\n\r\n private readonly _evaluators: IGameFilterEvaluator[];\r\n\r\n applyFilter(gameInfo: GameInfo, filterIDS?: string[]): ApplyGameFilterResult {\r\n let result = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo, filterIDS);\r\n if(r === ApplyGameFilterResult.ExcludeGame) {\r\n return r;\r\n } else if(r !== ApplyGameFilterResult.NotApplicable) {\r\n result = r;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nexport function AND(...evaluators: IGameFilterEvaluator[]): IGameFilterEvaluator {\r\n return new AndGameFiltersEvaluator(...evaluators);\r\n}","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonDefaultBox = styled.a`\r\n position: relative;\r\n display: flex;\r\n ${flexFixedSizeItem}\r\n justify-content: center;\r\n align-items: center;\r\n width: 4rem;\r\n height: 4rem;\r\n border: 2px solid ${props => props.theme.colors.textContrast}80;\r\n border-radius: 50%;\r\n margin: 0 0.5rem;\r\n color: ${props => props.theme.colors.textContrast};\r\n\r\n &.${ACTIVE} {\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n top: -0.25rem;\r\n right: -0.25rem;\r\n width: 1rem;\r\n height: 1rem;\r\n background: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n }\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonCasino777Box = styled(FiltersMobileButtonDefaultBox)`\r\n border: 2px solid ${props => props.theme.colors.moneyColor}80;\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.moneyColor};\r\n \r\n &.${ACTIVE} {\r\n &:after {\r\n top: -0.5rem;\r\n right: -0.5rem;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\n\r\nexport const FiltersMobileButtonMrGreenBox = styled(FiltersMobileButtonDefaultBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;","import {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {FiltersMobileButtonCasino777Box} from \"./filters-mobile-button.casino777.box\";\r\nimport {FiltersMobileButtonMrGreenBox} from \"./filters-mobile-button.mrgreen.box\";\r\n\r\nexport const FiltersMobileButtonBox = styledByTheme(FiltersMobileButtonDefaultBox)\r\n .forCasino777(FiltersMobileButtonCasino777Box)\r\n .forMrGreen(FiltersMobileButtonMrGreenBox).apply();","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {FiltersMobileButtonBox} from \"../../../filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\nimport React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const FiltersMobileButtonComponent = observer(class FiltersMobileButtonComponent extends OrbitComponent<{}> {\r\n\r\n private _openPopup = () => {\r\n this.services.gamesFilter.showFiltersEditor();\r\n };\r\n\r\n render(){\r\n if(!this.services.gamesFilter.isFilteringAvailable) {\r\n return null;\r\n }\r\n\r\n if(this.services.arenas.shouldHideFiltersButtonMobile()) {\r\n return null;\r\n }\r\n\r\n const FilterIcon = this.services.theme.currentTheme.icons.filterIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n});","import styled, {css} from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const IndicatorContainerBox = styled.div<{alignAppliedFiltersToCenter: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n ${flexAdaptiveSizeItem}\r\n font-family: ${props => props.theme.font.family.regular};\r\n ${props => props.theme.font.presets.regular};\r\n ${({alignAppliedFiltersToCenter}) => alignAppliedFiltersToCenter ? css`align-self: flex-start` : ''};\r\n max-width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const AppliedFilterIndicatorBox = styled.span`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 20px;\r\n padding: 0 10px;\r\n line-height: 3.4rem;\r\n margin-left: 2px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const AppliedFiltersBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n row-gap: 5px;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n overflow: -moz-scrollbars-none;\r\n overflow-x: auto;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-wrap: nowrap;\r\n margin-top: 1rem;\r\n margin-bottom: 1rem;\r\n &:empty {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {XCloseButtonBox} from \"../../../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\n\r\nexport const RemoveFilterButtonBox = styled(XCloseButtonBox)`\r\n width: 14px;\r\n height: 14px;\r\n`","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst AppliedFilterNameDefaultBox = styled.span`\r\n white-space: nowrap;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n`;\r\n\r\nconst AppliedFilterNameMrGreenBox = styled(AppliedFilterNameDefaultBox)`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nconst AppliedFilterNameSIBox = styled(AppliedFilterNameDefaultBox)`\r\n ${({theme}) => theme.font.presets.light};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: none;\r\n letter-spacing: normal;\r\n`;\r\n\r\nexport const AppliedFilterNameBox = styledByTheme(AppliedFilterNameDefaultBox)\r\n .forSI(AppliedFilterNameSIBox)\r\n .forSICis(AppliedFilterNameSIBox)\r\n .forMrGreen(AppliedFilterNameMrGreenBox)\r\n .forMrGreenCis(AppliedFilterNameMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const AppliedFilterContainerBox = styled.div`\r\n margin-right: 5px;\r\n &:last-child: {\r\n margin-right: 0;\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n IAdvancedStrategyFiltersEditorViewModel\r\n} from \"../../../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {IndicatorContainerBox} from \"../../boxes/indicator-container.box\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {FiltersMobileButtonComponent} from \"../../../../header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {AppliedFilterIndicatorBox} from \"./boxes/applied-filter-indicator.box\";\r\nimport {AppliedFiltersBox} from \"./boxes/applied-filters.box\";\r\nimport {RemoveFilterButtonBox} from \"./boxes/remove-filter-button.box\";\r\nimport {AppliedFilterNameBox} from \"./boxes/applied-filter-name.box\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {AppliedFilterContainerBox} from \"./boxes/applied-filters-container.box\";\r\n\r\ninterface AdvancedGamesFilteringPcIndicatorComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n showFiltersButton?: boolean;\r\n alignAppliedFiltersToCenter?: boolean;\r\n}\r\n\r\nexport const AppliedFiltersIndicatorForAdvancedFilteringComponent = observer(\r\n class AppliedFiltersIndicatorForAdvancedFilteringComponent extends OrbitComponent {\r\n static defaultProps: Partial = {\r\n showFiltersButton:true,\r\n alignAppliedFiltersToCenter: true\r\n };\r\n\r\n private _onRemoveFilter = async (filter: IArenaGameFilterEditorViewModel) => {\r\n await this.props.filtersEditor.removeFilter(filter);\r\n }\r\n\r\n private _renderOneAppliedFilter(filter: IArenaGameFilterEditorViewModel) {\r\n return (\r\n \r\n \r\n \r\n \r\n {filter.text}\r\n \r\n \r\n this._onRemoveFilter(filter)} className={CyClass('cy-remove-advanced-filter-x-button')}/>\r\n \r\n\r\n \r\n\r\n )\r\n }\r\n\r\n private _getAppliedFilters(): IArenaGameFilterEditorViewModel[] {\r\n const filters: IArenaGameFilterEditorViewModel[] = [];\r\n this.props.filtersEditor.visibleCategories.forEach(category => {\r\n category.getVisibleAppliedFilters().forEach(f => {\r\n if(f.on) {\r\n filters.push(f);\r\n }\r\n\r\n })\r\n });\r\n return filters;\r\n }\r\n\r\n private _renderAppliedFilters() {\r\n\r\n return (\r\n \r\n {this._getAppliedFilters().map(filter => this._renderOneAppliedFilter(filter))}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.showFiltersButton && }\r\n\r\n {this._renderAppliedFilters()}\r\n\r\n \r\n );\r\n }\r\n }\r\n);","import {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport {\r\n CategoryDefinitionId,\r\n IFilterCategoryDefinition\r\n} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport abstract class ArenaGameFiltersCategoryBase implements IArenaGameFiltersCategory {\r\n constructor(protected readonly categoryDefinition: IFilterCategoryDefinition,\r\n protected readonly services: IServiceFactoryExtended) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get availableFilters(): IArenaGameFilter[];\r\n abstract get gamesCount(): NullableNumber;\r\n\r\n\r\n get id(): CategoryDefinitionId {\r\n return this.categoryDefinition.id;\r\n }\r\n\r\n get title(): string {\r\n return this.categoryDefinition.title;\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return this.categoryDefinition.isMultiSelect;\r\n }\r\n\r\n @computed\r\n private get _appliedFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.filter(f => f.isApplied);\r\n }\r\n\r\n @computed\r\n private get _appliedSubFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.selectMany(f => f.subFilters.filter(sf => sf.isApplied));\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo, selectedFiltersIDs: string[] = null): ApplyGameFilterResult {\r\n let filters = this._appliedFilters;\r\n let subFilters = this._appliedSubFilters;\r\n\r\n // selectedFiltersIDs is the filters user select but still not apply. we need it to show the user the number of games that will shown to him before click.\r\n if(selectedFiltersIDs) {\r\n filters = this.availableFilters.filter(f => selectedFiltersIDs.includes(f.id));\r\n subFilters = this.availableFilters.selectMany(f => f.subFilters.filter(sf => selectedFiltersIDs.includes(sf.id)));\r\n }\r\n\r\n if(filters.length === 0 && subFilters.length === 0) {\r\n return ApplyGameFilterResult.NotApplicable;\r\n }\r\n\r\n return this.categoryDefinition.applyFilters(gameInfo,\r\n filters.map(arenaFilter => arenaFilter.filterDefinition),\r\n subFilters.map(subFilter => subFilter.filterDefinition));\r\n }\r\n\r\n isGameIncludedInThisCategory(gameInfo: GameInfo): boolean {\r\n return this.availableFilters.some(f => f.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame);\r\n }\r\n\r\n get allAppliedFiltersAndSubFilters(): IArenaGameFilter[] {\r\n return [\r\n ...this._appliedFilters,\r\n ...this._appliedSubFilters\r\n ];\r\n }\r\n\r\n}","import {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport abstract class ArenaGameFilterBase implements IArenaGameFilter {\r\n constructor(public readonly filterDefinition: IGameFilterDefinition,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n abstract get subFilters(): IArenaGameFilter[];\r\n\r\n readonly isAdhocFilter = false;\r\n\r\n\r\n get id(): string {\r\n return this.filterDefinition.id;\r\n }\r\n\r\n get text(): string {\r\n return this.filterDefinition.text;\r\n }\r\n\r\n\r\n get isApplied(): boolean {\r\n return this.services.gamesFilter.isFilterApplied(this.filterDefinition.id);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n return this.filterDefinition.applyFilter(gameInfo);\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return null;\r\n }\r\n\r\n\r\n}","import {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {ArenaGameFilterBase} from \"./arena-game-filter-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport class DynamicArenaGameFilter extends ArenaGameFilterBase {\r\n constructor(filterDefinition: IGameFilterDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(filterDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @computed\r\n get games(): GameInfo[] {\r\n const currentArenaGames = this.services.arenas.getCurrentArena().allArenaGamesForFiltering;\r\n return currentArenaGames.filter(gameInfo => this.filterDefinition.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame)\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.games.length;\r\n }\r\n\r\n @computed\r\n get subFilters(): IArenaGameFilter[] {\r\n return this.filterDefinition.subFilters.map(sf => new DynamicArenaGameFilter(sf, this.services))\r\n .filter(f => f.gamesCount > 0)\r\n .sort((f1, f2) => f2.gamesCount - f1.gamesCount);\r\n }\r\n}","import {ArenaGameFiltersCategoryBase} from \"./arena-game-filters-category-base\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {DynamicArenaGameFilter} from \"../filters/dynamic-arena-game-filter\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IFilterCategoryDefinition} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\n\r\nexport class DynamicArenaGameFiltersCategory extends ArenaGameFiltersCategoryBase {\r\n constructor(categoryDefinition: IFilterCategoryDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(categoryDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n protected _createArenaGameFilter(filterDefinition: IGameFilterDefinition): DynamicArenaGameFilter {\r\n return new DynamicArenaGameFilter(filterDefinition, this.services);\r\n }\r\n\r\n /**\r\n * Restrict available filters to only those that have applicable games in the current arena\r\n */\r\n @computed\r\n get availableFilters(): DynamicArenaGameFilter[] {\r\n if(this.categoryDefinition.hasItsOwnFiltersOrder) {\r\n return this._getAvailableFilters();\r\n } else {\r\n return this._getAvailableFilters().sort((f1, f2) => f2.gamesCount - f1.gamesCount);\r\n }\r\n }\r\n\r\n protected _getAvailableFilters(): DynamicArenaGameFilter[]{\r\n return this.categoryDefinition.availableFilters\r\n .map(f => this._createArenaGameFilter(f))\r\n .filter(f => f.gamesCount > 0);\r\n }\r\n\r\n @computed\r\n get gamesCount(): NullableNumber {\r\n const uniqueGameTypes = new Set();\r\n this.availableFilters.forEach(f => {\r\n f.games.forEach(game => uniqueGameTypes.add(game.gameType))\r\n });\r\n return uniqueGameTypes.size;\r\n }\r\n}","import {ApplyGameFilterResult, IGameFilterEvaluator} from \"./game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\n\r\nclass OrGameFiltersEvaluator implements IGameFilterEvaluator {\r\n constructor(...evaluators: IGameFilterEvaluator[]) {\r\n this._evaluators = evaluators;\r\n }\r\n\r\n private readonly _evaluators: IGameFilterEvaluator[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n let result: ApplyGameFilterResult = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo);\r\n if(r === ApplyGameFilterResult.IncludeGame) {\r\n return r;\r\n } else if(r !== ApplyGameFilterResult.NotApplicable) {\r\n result = r;\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function OR(...evaluators: IGameFilterEvaluator[]): OrGameFiltersEvaluator {\r\n return new OrGameFiltersEvaluator(...evaluators);\r\n}","import {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {OR} from \"../evaluators/or-game-filters-evaluator\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {AND} from \"../evaluators/and-game-filters-evaluator\";\r\n\r\nexport abstract class FilterCategoryDefinitionBase implements IFilterCategoryDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n this.availableFilters = this._loadAvailableFilters();\r\n }\r\n\r\n abstract get id(): CategoryDefinitionId;\r\n abstract get title(): string;\r\n protected abstract _loadAvailableFilters(): IGameFilterDefinition[];\r\n\r\n readonly availableFilters: IGameFilterDefinition[];\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getAppliedSubFiltersForFilter(filter: IGameFilterDefinition, appliedSubFilters: IGameFilterDefinition[]): IGameFilterDefinition[] {\r\n if(filter.subFilters.length === 0) {\r\n return [];\r\n }\r\n\r\n const result: IGameFilterDefinition[] = [];\r\n\r\n for(let appliedSubFilter of appliedSubFilters) {\r\n const subFilter = filter.subFilters.find(sf => sf.id === appliedSubFilter.id);\r\n if(subFilter) {\r\n result.push(subFilter);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n }\r\n\r\n applyFilters(gameInfo: GameInfo, appliedFilters: IGameFilterDefinition[], appliedSubFilters: IGameFilterDefinition[]): ApplyGameFilterResult {\r\n\r\n const filterEvaluators: IGameFilterEvaluator[] = [];\r\n\r\n for(let filter of appliedFilters) {\r\n const appliedSubFiltersForCurrentFilter = this._getAppliedSubFiltersForFilter(filter, appliedSubFilters);\r\n if(appliedSubFiltersForCurrentFilter.length > 0) {\r\n filterEvaluators.push(AND(filter, OR(...appliedSubFiltersForCurrentFilter)));\r\n } else {\r\n filterEvaluators.push(filter)\r\n }\r\n }\r\n\r\n return OR(...filterEvaluators).applyFilter(gameInfo);\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return true;\r\n }\r\n}","export enum GameThemeId {\r\n Adventure = 1,\r\n AncientCivilization = 2,\r\n Wildlife = 3,\r\n ClassicStyle = 4,\r\n Asian = 5,\r\n TableGames = 7,\r\n MoviesAndMusic = 8,\r\n Fruit = 12,\r\n MoneyAndLeisure = 15,\r\n ComicsAndCartoons = 16,\r\n Irish = 19,\r\n Arcade = 25,\r\n DiamondsAndGems = 26,\r\n FantasyAndFolklore = 28,\r\n Seasonal = 29,\r\n Egyptian = 30,\r\n FarmAndPets = 35,\r\n Sports = 47,\r\n LiveCasino = 54,\r\n Arabic = 58,\r\n GreekMythology = 63,\r\n NA = 64,\r\n SpaceAndSciFi = 72,\r\n ScratchCards = 76,\r\n Fish = 77,\r\n Mexican = 82,\r\n Xmas = 93,\r\n Bingo = 94,\r\n ClassicStyleModernized = 95,\r\n AztecIncaMayan = 96,\r\n Crime = 97,\r\n WildWest = 98,\r\n CandyAndSweets = 99,\r\n GoldMining = 100,\r\n VikingsAndNordicMythology = 101,\r\n }","import {IGameFilterDefinition} from \"./game-filter-definition.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nexport abstract class GameFilterDefinitionBase implements IGameFilterDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n abstract get id(): string;\r\n abstract get text(): string;\r\n abstract applyFilter(gameInfo: GameInfo): ApplyGameFilterResult;\r\n get subFilters(): IGameFilterDefinition[] {\r\n return [];\r\n }\r\n\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class HighVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'high-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('HIGH_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.hasHighVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class LowVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'low-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LOW_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.hasLowVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class MediumVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'medium-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('MEDIUM_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (gameInfo.hasMediumVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n \r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {HighVolatilityFilterDefinition} from \"../filters-definitions/volatility/high-volatility.filter-definition\";\r\nimport {LowVolatilityFilterDefinition} from \"../filters-definitions/volatility/low-volatility.filter-definition\";\r\nimport {MediumVolatilityFilterDefinition} from \"../filters-definitions/volatility/medium-volatility.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\n\r\nexport class VolatilityFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n public get hasItsOwnFiltersOrder() {\r\n return true;\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'volatility';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('VOLATILITY');\r\n }\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HighVolatilityFilterDefinition(this.services),\r\n new MediumVolatilityFilterDefinition(this.services),\r\n new LowVolatilityFilterDefinition(this.services)\r\n ];\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n\r\n}","import {GameFilterDefinitionBase} from \"./game-filter-definition-base\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport abstract class GameFeatureFilterDefinitionBase extends GameFilterDefinitionBase {\r\n\r\n abstract get id(): string;\r\n abstract get text(): string;\r\n protected abstract _shouldIncludeGame(gameInfo: GameInfo): boolean;\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this._shouldIncludeGame(gameInfo)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n \r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class OneToTwentyFiveFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"one-to-twenty-five\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('1-25_LINES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return Check.isNumber(gameInfo.numberOfLines) && gameInfo.numberOfLines >= 1 && gameInfo.numberOfLines <= 24;\r\n }\r\n}","import {GameInfo} from \"../../../games/game-info\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\n\r\nexport class TwentyFivePlusFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"twenty-five-plus\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('25+_LINES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return Check.isNumber(gameInfo.numberOfLines) && gameInfo.numberOfLines >= 25;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class NewGameFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"new\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('NEW');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.isNewGame;\r\n }\r\n\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class LowStakeFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"lowStakes\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LOW_STAKES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasLowStakes;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HighStakeFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"highStakes\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('HIGH_STAKES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasHighStakes;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class BonusGameFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"bonus\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BONUS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasBonusGames;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class FreeSpinsFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"freeSpins\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('FREE_SPINS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasFreeSpins;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasSideBetsFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"side-bets\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SIDE_BETS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasSideBets;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class IsMultiHandFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"multi-hand\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('MULTIHAND');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.isMultiHand;\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {\r\n OneToTwentyFiveFilterDefinition\r\n} from \"../filters-definitions/game-features/one-to-twenty-five.filter-definition\";\r\nimport {\r\n TwentyFivePlusFilterDefinition\r\n} from \"../filters-definitions/game-features/twenty-five-plus.filter-definition\";\r\nimport {NewGameFilterDefinition} from \"../filters-definitions/game-features/new-game.filter-definition\";\r\nimport {LowStakeFilterDefinition} from \"../filters-definitions/game-features/low-stake.filter-definition\";\r\nimport {HighStakeFilterDefinition} from \"../filters-definitions/game-features/high-stake.filter-definition\";\r\nimport {BonusGameFilterDefinition} from \"../filters-definitions/game-features/bonus-game.filter-definition\";\r\nimport {FreeSpinsFilterDefinition} from \"../filters-definitions/game-features/free-spins.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {HasSideBetsFilterDefinition} from \"../filters-definitions/game-features/has-side-bets.filter-definition\";\r\nimport {IsMultiHandFilterDefinition} from \"../filters-definitions/game-features/is-multi-hand.filter-definition\";\r\n\r\nexport class GameFeaturesFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n get title(): string {\r\n return this.services.translation.translate('GAME_FEATURES');\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'features';\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new OneToTwentyFiveFilterDefinition(this.services),\r\n new TwentyFivePlusFilterDefinition(this.services),\r\n new NewGameFilterDefinition(this.services),\r\n new LowStakeFilterDefinition(this.services),\r\n new HighStakeFilterDefinition(this.services),\r\n new BonusGameFilterDefinition(this.services),\r\n new FreeSpinsFilterDefinition(this.services),\r\n new HasSideBetsFilterDefinition(this.services),\r\n new IsMultiHandFilterDefinition(this.services),\r\n ];\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasDailyJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-daily-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('THE_DAILY_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasDailyJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasTwilightJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-twilight-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('TWILIGHT_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasTwilightJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasCaptain8JackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-captain8-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return 'Captain8 Jackpot';\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasCaptain8tJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasRedTigerJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-red-tiger-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return 'Red Tiger Jackpot';\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasRedTigerJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameFilterDefinition} from \"../game-filter-definition.interface\";\r\nimport {HasDailyJackpotFilterDefinition} from \"./has-dailight-jackpot.filter-definition\";\r\nimport {HasTwilightJackpotFilterDefinition} from \"./has-twilight-jackpot.filter-definition\";\r\nimport {HasCaptain8JackpotFilterDefinition} from \"./has-captain8-jackpot.filter-definition\";\r\nimport {HasRedTigerJackpotFilterDefinition} from \"./has-red-tiger-jackpot.filter-definition\";\r\n\r\nexport class HasJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasJackpot;\r\n }\r\n\r\n get subFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HasDailyJackpotFilterDefinition(this.services),\r\n new HasTwilightJackpotFilterDefinition(this.services),\r\n new HasCaptain8JackpotFilterDefinition(this.services),\r\n new HasRedTigerJackpotFilterDefinition(this.services)\r\n ]\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasNoJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-no-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('NO_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return !gameInfo.hasJackpot;\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {HasJackpotFilterDefinition} from \"../filters-definitions/jackpot/has-jackpot.filter-definition\";\r\nimport {HasNoJackpotFilterDefinition} from \"../filters-definitions/jackpot/has-no-jackpot.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\n\r\nexport class HasJackpotFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'hasJackpot';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('JACKPOTS');\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HasJackpotFilterDefinition(this.services),\r\n new HasNoJackpotFilterDefinition(this.services)\r\n ];\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n}\r\n","import {IGameFilterDefinition} from '../game-filter-definition.interface';\r\nimport {GameInfo} from '../../../games/game-info';\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameVendorDefinition} from '../../../game-vendor/game-vendor-definition.ts/game-vendor-definition';\r\n\r\nexport class VendorFilterDefinition implements IGameFilterDefinition {\r\n constructor(public readonly id: string,\r\n public readonly vendors: GameVendorDefinition[],\r\n private readonly _text?: string) {\r\n\r\n }\r\n get text(): string {\r\n if (this._text) {\r\n return this._text;\r\n }\r\n return this.vendors[0].name;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (this.vendors?.some(vendor => vendor?.id === gameInfo.vendorId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n}\r\n","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {VendorFilterDefinition} from \"../filters-definitions/vendor/vendor.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameVendorId} from \"../../game-vendor/game-vendor-id.enum\";\r\n\r\nexport class GameVendorFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'vendors';\r\n }\r\n\r\n get title(): string {\r\n return this.services.translation.translate('GAME_STUDIOS');\r\n }\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return !Check.isEmpty(this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredVendorFilters);\r\n }\r\n\r\n public getAllPreferredVendorsFilters(): VendorFilterDefinition[] {\r\n return [\r\n new VendorFilterDefinition(\"vendor_888\", [this.services.gamesVendor.getVendor(GameVendorId.V_888)], this.services.translation.translate(\"BRAND_EXCLUSIVE_FILTER\", {brandName: this.services.configuration.data.generalSettings.filters?.exclusiveFilterBrandName ?? \"888\"})),\r\n new VendorFilterDefinition(\"vendor_ags\", [this.services.gamesVendor.getVendor(GameVendorId.V_AGS)]),\r\n new VendorFilterDefinition(\"vendor_amatic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Amatic)]),\r\n new VendorFilterDefinition(\"vendor_authentic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Authentic)]),\r\n new VendorFilterDefinition(\"vendor_ainsworth\", [this.services.gamesVendor.getVendor(GameVendorId.V_Ainsworth)]),\r\n new VendorFilterDefinition(\"vendor_blueprint\", [this.services.gamesVendor.getVendor(GameVendorId.V_Blueprint)]),\r\n new VendorFilterDefinition(\"vendor_darwin\", [this.services.gamesVendor.getVendor(GameVendorId.V_Darwin)]),\r\n new VendorFilterDefinition(\"vendor_egt\", [this.services.gamesVendor.getVendor(GameVendorId.V_EGT)]),\r\n new VendorFilterDefinition(\"vendor_elk\", [this.services.gamesVendor.getVendor(GameVendorId.V_Elk)]),\r\n new VendorFilterDefinition(\"vendor_evolution\", [this.services.gamesVendor.getVendor(GameVendorId.V_Evolution)]),\r\n new VendorFilterDefinition(\"vendor_eyecon\", [this.services.gamesVendor.getVendor(GameVendorId.V_Eyecon)]),\r\n new VendorFilterDefinition(\"vendor_gamesglobal\", [this.services.gamesVendor.getVendor(GameVendorId.V_GamesGlobal)]),\r\n new VendorFilterDefinition(\"vendor_gamingrealms\", [this.services.gamesVendor.getVendor(GameVendorId.V_GamingRealms)]),\r\n new VendorFilterDefinition(\"vendor_gamomat\", [this.services.gamesVendor.getVendor(GameVendorId.V_Gamomat)]),\r\n new VendorFilterDefinition(\"vendor_greentube\", [this.services.gamesVendor.getVendor(GameVendorId.V_Greentube)]),\r\n new VendorFilterDefinition(\"vendor_h5\", [this.services.gamesVendor.getVendor(GameVendorId.V_H5)]),\r\n new VendorFilterDefinition(\"vendor_habanero\", [this.services.gamesVendor.getVendor(GameVendorId.V_Habanero)]),\r\n new VendorFilterDefinition(\"vendor_igt\", [this.services.gamesVendor.getVendor(GameVendorId.V_IGT)]),\r\n new VendorFilterDefinition(\"vendor_inspired\", [this.services.gamesVendor.getVendor(GameVendorId.V_Inspired)]),\r\n new VendorFilterDefinition(\"vendor_isoftbet\", [this.services.gamesVendor.getVendor(GameVendorId.V_iSoftBet)]),\r\n new VendorFilterDefinition(\"vendor_lightningbox\", [this.services.gamesVendor.getVendor(GameVendorId.V_LightningBox)]),\r\n new VendorFilterDefinition(\"vendor_lnw\", [this.services.gamesVendor.getVendor(GameVendorId.V_LNW), this.services.gamesVendor.getVendor(GameVendorId.V_LNW2)], \"LNW\"),\r\n new VendorFilterDefinition(\"vendor_merkur\", [this.services.gamesVendor.getVendor(GameVendorId.V_Merkur)]),\r\n new VendorFilterDefinition(\"vendor_mga\", [this.services.gamesVendor.getVendor(GameVendorId.V_MGA)]),\r\n new VendorFilterDefinition(\"vendor_netent\", [this.services.gamesVendor.getVendor(GameVendorId.V_NetEnt)]),\r\n new VendorFilterDefinition(\"vendor_nextgen_bigtime\", [this.services.gamesVendor.getVendor(GameVendorId.V_NextGenBigTime)], `Big Time`), //TODO ?\r\n new VendorFilterDefinition(\"vendor_nextgen_chanceinteractive\", [this.services.gamesVendor.getVendor(GameVendorId.V_NextGenChanceInteractive)], `Reel Play`),\r\n new VendorFilterDefinition(\"vendor_nolimitcity\", [this.services.gamesVendor.getVendor(GameVendorId.V_NoLimitCity)]),\r\n new VendorFilterDefinition(\"vendor_playngo\", [this.services.gamesVendor.getVendor(GameVendorId.V_PlayNGo)], `Play'n GO`),\r\n new VendorFilterDefinition(\"vendor_playtech\", [this.services.gamesVendor.getVendor(GameVendorId.V_PlayTech)], `Playtech`),\r\n new VendorFilterDefinition(\"vendor_pragmatic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Pragmatic)]),\r\n new VendorFilterDefinition(\"vendor_quickspin\", [this.services.gamesVendor.getVendor(GameVendorId.V_Quickspin)]),\r\n new VendorFilterDefinition(\"vendor_redrake\", [this.services.gamesVendor.getVendor(GameVendorId.V_RedRake)]),\r\n new VendorFilterDefinition(\"vendor_redtiger\", [this.services.gamesVendor.getVendor(GameVendorId.V_RedTiger)]),\r\n new VendorFilterDefinition(\"vendor_rubyplay\", [this.services.gamesVendor.getVendor(GameVendorId.V_RubyPlay)]),\r\n new VendorFilterDefinition(\"vendor_sigma\", [this.services.gamesVendor.getVendor(GameVendorId.V_Sigma)]),\r\n new VendorFilterDefinition(\"vendor_skywind\", [this.services.gamesVendor.getVendor(GameVendorId.V_Skywind)]),\r\n new VendorFilterDefinition(\"vendor_spribe\", [this.services.gamesVendor.getVendor(GameVendorId.V_Spribe)]),\r\n new VendorFilterDefinition(\"vendor_thunderkick\", [this.services.gamesVendor.getVendor(GameVendorId.V_Thunderkick)]),\r\n new VendorFilterDefinition(\"vendor_wizard\", [this.services.gamesVendor.getVendor(GameVendorId.V_Wizard)]),\r\n new VendorFilterDefinition(\"vendor_wmg\", [this.services.gamesVendor.getVendor(GameVendorId.V_WMG)]),\r\n new VendorFilterDefinition(\"vendor_yggdrasil\", [this.services.gamesVendor.getVendor(GameVendorId.V_Yggdrasil)]),\r\n new VendorFilterDefinition(\"vendor_everi\", [this.services.gamesVendor.getVendor(GameVendorId.V_Everi)]),\r\n new VendorFilterDefinition(\"vendor_push_gaming\", [this.services.gamesVendor.getVendor(GameVendorId.V_PushGaming)], `Push Gaming`),\r\n new VendorFilterDefinition(\"vendor_edict\", [this.services.gamesVendor.getVendor(GameVendorId.V_Edict)]),\r\n new VendorFilterDefinition(\"vendor_gamevy\", [this.services.gamesVendor.getVendor(GameVendorId.V_Gamevy)]),\r\n new VendorFilterDefinition(\"vendor_wazdan\", [this.services.gamesVendor.getVendor(GameVendorId.V_Wazdan)]),\r\n new VendorFilterDefinition(\"vendor_playson\", [this.services.gamesVendor.getVendor(GameVendorId.V_Playson)])\r\n ];\r\n }\r\n\r\n private _getPreferredVendorFiltersForCurrentSkin(): VendorFilterDefinition[] {\r\n const preferredVendorsFiltersIds = this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredVendorFilters ?? [];\r\n if (preferredVendorsFiltersIds.length === 0) {\r\n return [...this.getAllPreferredVendorsFilters()];\r\n }\r\n\r\n const allPreferredVendorsFiltersMap = this.getAllPreferredVendorsFilters().toDictionary(f => f.id);\r\n const result: VendorFilterDefinition[] = [];\r\n for (let filterId of preferredVendorsFiltersIds) {\r\n const filter = allPreferredVendorsFiltersMap[filterId];\r\n if (filter) {\r\n result.push(filter)\r\n } else {\r\n this.services.logger.error(`There is no definition for game vendor filter with id ${filterId}`)\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const filters = this._getPreferredVendorFiltersForCurrentSkin();\r\n let preferredVendorsIds: number[] = filters.selectMany(f => f.vendors?.map(vendor => vendor?.id));\r\n const otherVendorsIds: number[] = [];\r\n\r\n const allVendorsIds = Object.keys(this.services.sdk.getGamesVendors()).map(id => parseInt(id));\r\n for (let vendorId of allVendorsIds) {\r\n if (!preferredVendorsIds.includes(vendorId)) {\r\n otherVendorsIds.push(vendorId);\r\n }\r\n }\r\n\r\n if (otherVendorsIds.length > 0) {\r\n filters.push(new VendorFilterDefinition('vendor_others', otherVendorsIds.map(vendorId => this.services.gamesVendor.getVendor(vendorId)), this.services.translation.translate('OTHER')));\r\n }\r\n\r\n\r\n return filters;\r\n }\r\n\r\n}\r\n","import {GameFilterDefinitionBase} from \"./game-filter-definition-base\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport abstract class GameGroupFilterDefinitionBase extends GameFilterDefinitionBase {\r\n protected abstract get gameGroupsIdsToFilterFor(): number[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this.gameGroupsIdsToFilterFor.includes(gameInfo.gameGroupId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class BaccaratFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"baccarat\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.BACCARAT];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BACCARAT');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class BlackjackFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"blackjack\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.BLACKJACK];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BLACKJACK');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class CrapsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"craps\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.CRAPS];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('CRAPS')\r\n }\r\n}\r\n","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class KenoFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"keno\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.KENO];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('KENO');\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class LiveEliteLungeFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-elite-lounge\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_ELITE_LOUNGE');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.isEliteLounge) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class LiveEliteLoungeOrExclusiveFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-elite-lounge-or-exclusive\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('EXCLUSIVE');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.isEliteLounge || gameInfo.isExclusiveGame) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport abstract class LiveGameFilterDefinitionBase extends GameFilterDefinitionBase {\r\n\r\n protected abstract get textToSearchInSubgroupName(): string;\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (gameInfo.gameGroupId !== GAME_GROUP.LIVE_CASINO || !gameInfo.subGroupName) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n const subgroupName = gameInfo.subGroupName.toLowerCase();\r\n if (subgroupName && subgroupName.indexOf(this.textToSearchInSubgroupName) !== -1) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveGameShowsFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-game-shows\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_GAME_SHOWS');\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"shows\";\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class PokerFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"poker\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.VIDEO_POKER, GAME_GROUP.CARRIBEAN_POKER, GAME_GROUP.POKER, GAME_GROUP.PAI_GOW_POKER, GAME_GROUP.POWER_VIDEO_POKER, GAME_GROUP.POKER_TEMPLATE_GAMES];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('POKER');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class RouletteFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"roulette\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.ROULETTE, GAME_GROUP.ROULETTE_LIKE];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('ROULETTE');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class ScratchcardsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"scratchCards\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.SCRATCH_CARD];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SCRATCHCARDS');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class SlotsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"slots\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.VIDEO_SLOT, GAME_GROUP.SLOT];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SLOT_GAMES');\r\n }\r\n\r\n}","import {IGameFilterDefinition} from \"../game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class OtherGameGroupFilterDefinition implements IGameFilterDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended, private gameTypesFilterDefinitions: IGameFilterDefinition[]) {\r\n }\r\n\r\n get id(): string {\r\n return \"other-game-group\";\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n\r\n get text(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n const categoriesInCurrentArena = this.gameTypesFilterDefinitions;\r\n for(let category of categoriesInCurrentArena) {\r\n if(category.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n }\r\n \r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveBaccaratFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-baccarat\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"baccarat\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_BACCARAT');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveBlackjackFilterDefinition extends LiveGameFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"live-blackjack\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"blackjack\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_BLACKJACK');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LivePokerFilterDefinition extends LiveGameFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"live-poker\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"poker\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_POKER');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveRouletteFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-roulette\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"roulette\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_ROULETTE');\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {BaccaratFilterDefinition} from \"../filters-definitions/game-group/baccarat.filter-definition\";\r\nimport {BlackjackFilterDefinition} from \"../filters-definitions/game-group/blackjack.filter-definition\";\r\nimport {CrapsFilterDefinition} from \"../filters-definitions/game-group/craps.filter-definition\";\r\nimport {KenoFilterDefinition} from \"../filters-definitions/game-group/keno.filter-definition\";\r\nimport {LiveEliteLungeFilterDefinition} from \"../filters-definitions/game-group/live-elite-lunge.filter-definition\";\r\nimport {\r\n LiveEliteLoungeOrExclusiveFilterDefinition\r\n} from \"../filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition\";\r\nimport {LiveGameShowsFilterDefinition} from \"../filters-definitions/game-group/live-game-shows.filter-definition\";\r\nimport {PokerFilterDefinition} from \"../filters-definitions/game-group/poker.filter-definition\";\r\nimport {RouletteFilterDefinition} from \"../filters-definitions/game-group/roulette.filter-definition\";\r\nimport {ScratchcardsFilterDefinition} from \"../filters-definitions/game-group/scratchcards.filter-definition\";\r\nimport {SlotsFilterDefinition} from \"../filters-definitions/game-group/slots.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {OtherGameGroupFilterDefinition} from \"../filters-definitions/game-group/other-game-group.filter-definition\";\r\nimport {LiveBaccaratFilterDefinition} from \"../filters-definitions/game-group/live-baccarat.filter-definition\";\r\nimport {LiveBlackjackFilterDefinition} from \"../filters-definitions/game-group/live-blackjack.filter-definition\";\r\nimport {LivePokerFilterDefinition} from \"../filters-definitions/game-group/live-poker.filter-definition\";\r\nimport {LiveRouletteFilterDefinition} from \"../filters-definitions/game-group/live-roulette.filter-definition\";\r\n\r\nexport class GameGroupFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'gameGroups';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('GAME_CATEGORIES');\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const filters: IGameFilterDefinition[] = [\r\n new SlotsFilterDefinition(this.services),\r\n new RouletteFilterDefinition(this.services),\r\n new BlackjackFilterDefinition(this.services),\r\n new PokerFilterDefinition(this.services),\r\n new ScratchcardsFilterDefinition(this.services),\r\n new BaccaratFilterDefinition(this.services),\r\n new CrapsFilterDefinition(this.services),\r\n new KenoFilterDefinition(this.services),\r\n new LiveBaccaratFilterDefinition(this.services),\r\n new LiveBlackjackFilterDefinition(this.services),\r\n new LiveRouletteFilterDefinition(this.services),\r\n new LivePokerFilterDefinition(this.services),\r\n new LiveGameShowsFilterDefinition(this.services),\r\n new LiveEliteLungeFilterDefinition(this.services),\r\n new LiveEliteLoungeOrExclusiveFilterDefinition(this.services),\r\n ];\r\n return filters.concat(new OtherGameGroupFilterDefinition(this.services, filters));\r\n }\r\n\r\n\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameThemeDefinition} from \"../../../game-theme/game-theme-definition/game-theme-definition\";\r\n\r\nexport class GameThemeFilterDefinition extends GameFilterDefinitionBase {\r\n constructor(public readonly id: string,\r\n protected readonly services: IServiceFactoryExtended,\r\n private _gameThemeDefinition: GameThemeDefinition,\r\n linkedThemeIds?: number[]) {\r\n super(services);\r\n this._themeIds = [this._gameThemeDefinition.id, ...(linkedThemeIds || [])]\r\n }\r\n\r\n private readonly _themeIds: number[];\r\n\r\n get text(): string {\r\n return this._gameThemeDefinition.name;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n for(let themeId of gameInfo.themeIds) {\r\n if(this._themeIds.includes(themeId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {GameThemeFilterDefinition} from \"../filters-definitions/theme/game-theme.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameThemeId} from \"../../game-theme/game-theme-id.enum\";\r\n\r\nexport class GameThemeFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'themes';\r\n }\r\n\r\n get title(): string {\r\n return this.services.translation.translate('THEMES');\r\n }\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return !Check.isEmpty(this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredThemeFilters);\r\n }\r\n\r\n private _getPreferredThemeFilters(): GameThemeFilterDefinition[] {\r\n return [\r\n new GameThemeFilterDefinition(\"theme_adventure\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Adventure)),\r\n new GameThemeFilterDefinition(\"theme_ancient-civilization\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.AncientCivilization)),\r\n new GameThemeFilterDefinition(\"theme_wildlife\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Wildlife)),\r\n new GameThemeFilterDefinition(\"theme_classic_style\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.ClassicStyle), [GameThemeId.ClassicStyleModernized]),\r\n new GameThemeFilterDefinition(\"theme_asian\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Asian)),\r\n new GameThemeFilterDefinition(\"theme_arabic\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Arabic)),\r\n new GameThemeFilterDefinition(\"theme_comics_and_cartoons\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.ComicsAndCartoons)),\r\n new GameThemeFilterDefinition(\"theme_diamonds_and_gems\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.DiamondsAndGems)),\r\n new GameThemeFilterDefinition(\"theme_egyptian\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Egyptian)),\r\n new GameThemeFilterDefinition(\"theme_fantasy_and_folklore\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.FantasyAndFolklore)),\r\n new GameThemeFilterDefinition(\"theme_farm_and_pets\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.FantasyAndFolklore)),\r\n new GameThemeFilterDefinition(\"theme_fish\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Fish)),\r\n new GameThemeFilterDefinition(\"theme_fruit_and_candy\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Fruit)),\r\n new GameThemeFilterDefinition(\"theme_greek_mythology\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.GreekMythology)),\r\n new GameThemeFilterDefinition(\"theme_irish\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Irish)),\r\n new GameThemeFilterDefinition(\"theme_money_and_leisure\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.MoneyAndLeisure)),\r\n new GameThemeFilterDefinition(\"theme_movies_and_music\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.MoviesAndMusic)),\r\n new GameThemeFilterDefinition(\"theme_seasonal\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Seasonal)),\r\n new GameThemeFilterDefinition(\"theme_space_and_sci-fi\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.SpaceAndSciFi)),\r\n ];\r\n }\r\n\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const preferredThemeFilters = this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredThemeFilters;\r\n if (Check.isEmpty(preferredThemeFilters)) {\r\n return this._getPreferredThemeFilters();\r\n }\r\n\r\n const themesDictionary = this._getPreferredThemeFilters().toDictionary(f => f.id);\r\n\r\n const result: IGameFilterDefinition[] = [];\r\n for (let filterId of preferredThemeFilters) {\r\n const filter = themesDictionary[filterId];\r\n if (filter) {\r\n result.push(filter);\r\n } else {\r\n this.services.logger.error(`There is no filter definition for filter with ID ${filterId}`);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n }\r\n}","export enum LocalStorageKeys {\r\n currentRunningGameTab = 'cgp_CURRENT_RUNNING_GAME_TAB',\r\n currentRunningGameType = 'cgp_CURRENT_RUNNING_GAME_TYPE',\r\n uccMessages = 'cgp_ucc',\r\n crossBrandSpecificNavigationInfo = 'orbit_crossBrandSpecificNavigation',\r\n clientIpAddresses = \"orbit_clientIpAddresses\"\r\n}","import {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 LiveCasinoFilterButtonLabelDefaultBox = styled.div`\r\n margin-left: 0.4rem;\r\n font-size: 1.4rem;\r\n line-height: 1.4rem;\r\n white-space: nowrap;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonLabelCasino777Box = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n font-size: 1.6em;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {LiveCasinoFilterButtonLabelCasino777Box} from \"./live-casino-filter-button-label.casino777.box\";\r\n\r\nexport const LiveCasinoFilterButtonLabelBox = styledByTheme(LiveCasinoFilterButtonLabelDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonLabelCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {Link} from \"../../../../../raw-components/link/link\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonDefaultBox = styled(Link)`\r\n display: flex;\r\n transition: color 0.15s ease;\r\n align-items: center;\r\n font-weight: 500;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n \r\n color: ${props => props.theme.components.newLiveCasino.colors.filterButtonLabel};\r\n &:hover {\r\n color: ${({theme}) => theme.colors.textLight};\r\n }\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n font-weight: 700;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonCasino777Box = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n ${({theme}) => theme.font.presets.body};\r\n\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonSIBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n .sticky-navbar & {\r\n color: ${({theme}) => theme.colors.textContrast};\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.textActive};\r\n }\r\n }\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.textActive};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonMrGreenBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {LiveCasinoArenaNavbarButtonCasino777Box} from \"./live-casino-arena-navbar-button.casino777.box\";\r\nimport {LiveCasinoArenaNavbarButtonSIBox} from \"./live-casino-arena-navbar-button.si.box\";\r\nimport {LiveCasinoArenaNavbarButtonMrGreenBox} from \"./live-casino-arena-navbar-button.mrgreen.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonBox = styledByTheme(LiveCasinoArenaNavbarButtonDefaultBox)\r\n .forCasino777(LiveCasinoArenaNavbarButtonCasino777Box)\r\n .forSI(LiveCasinoArenaNavbarButtonSIBox)\r\n .forSICis(LiveCasinoArenaNavbarButtonSIBox)\r\n .forMrGreen(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .forMrGreenCis(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\n// import {LiveCasinoFilterButtonIconBox} from \"./boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box\";\r\nimport {LiveCasinoFilterButtonLabelBox} from \"./boxes/live-casino-filter-button-label/live-casino-filter-button-label.box\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonBox} from \"./boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\nimport {LiveCasinoArenaNavbarButtonWrapperBox} from \"./boxes/live-casino-arena-navbar-button/wrapper/live-casino-arena-navbar-button-wrapper.box\";\r\n\r\nexport interface LiveCasinoArenaNavbarButtonProps {\r\n labelTranslationKey: string;\r\n filter: string;\r\n isActiveTab: boolean;\r\n seoPage: string;\r\n onClick: () => void;\r\n};\r\n\r\nexport const LiveCasinoArenaNavbarButton = observer(\r\n class LiveCasinoArenaNavbarButton extends OrbitComponent {\r\n\r\n private buttonIconMap = new Map([\r\n [\"TOP_EVO_GAMES\", this.services.theme.currentTheme.icons.topGamesIcon],\r\n [\"ROULETTE\", this.services.theme.currentTheme.icons.rouletteIcon],\r\n [\"POKER_GAMES\", this.services.theme.currentTheme.icons.pokerIcon],\r\n [\"BLACKJACK\", this.services.theme.currentTheme.icons.blackjackIcon],\r\n [\"BACCARAT\", this.services.theme.currentTheme.icons.baccaratIcon],\r\n [\"ELITE_LOUNGE\", this.services.theme.currentTheme.icons.eliteLoungeIcon],\r\n [\"GAME_SHOWS\", this.services.theme.currentTheme.icons.gameShowsIcon],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.newGamesIcon],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.tripleEightExclusiveIcon],\r\n [\"SPEED_GAMES\", this.services.theme.currentTheme.icons.speedGames]\r\n ]);\r\n\r\n private _getButtonIcon() {\r\n return this.buttonIconMap.get(this.props.labelTranslationKey);\r\n }\r\n\r\n private _getLabelTranslationKey(): string {\r\n //this if is a duplicate with the one in live-casino-arena-grid.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n let currentTranslationKey = this.props.labelTranslationKey;\r\n if (this.services.user.isAuthorized && currentTranslationKey === \"TOP_EVO_GAMES\") {\r\n currentTranslationKey = \"FOR_YOU_GAMES\";\r\n }\r\n\r\n return currentTranslationKey;\r\n }\r\n\r\n onFilterClicked(isActive: boolean) {\r\n if (!isActive) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Live Tab\", this._getLabelTranslationKey());\r\n this.props && this.props.onClick();\r\n }\r\n }\r\n\r\n render() {\r\n let IconComponent = this._getButtonIcon();\r\n return \r\n this.onFilterClicked(this.props.isActiveTab)}\r\n >\r\n \r\n \r\n {this.services.translation.translate(this._getLabelTranslationKey())}\r\n \r\n \r\n ;\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {NewLiveCasinoConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {LiveCasinoArenaNavbar} from \"./live-casino-arena-navbar/live-casino-arena-navbar.component\";\r\nimport {LiveCasinoArenaGrid} from \"./live-casino-arena-grid/live-casino-arena-grid.component\";\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoArenaNavbarButton} from \"./live-casino-arena-navbar/live-casino-arena-navbar-button.component\";\r\nimport {LIVE_CASINO_PAGE_WRAPPER} from '../../../themes/css-global-classes';\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\nexport interface NewLiveCasinoArenaComponentProps {\r\n configs: NewLiveCasinoConfiguration;\r\n arenaName: string;\r\n}\r\n\r\nexport interface INewLiveCasinoArenaComponentState {\r\n}\r\n\r\nconst SEO_CATEGORY = 'LIVE_CASINO_NEW';\r\n\r\nexport const NewLiveCasinoArenaComponent = observer(\r\n class NewLiveCasinoArenaComponent extends OrbitComponentWithState {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n private _topImageRef = React.createRef();\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler && this._topImageRef?.current) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n } else {\r\n return this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n\r\n return this._stickyHandler;\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n\r\n \r\n\r\n {\r\n this.services.liveTableFeeds.isNavbarVisible && \r\n }\r\n\r\n \r\n\r\n \r\n\r\n {this._renderLinkToOffer()}\r\n \r\n
    \r\n );\r\n\r\n\r\n }\r\n }\r\n);\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {NewLiveCasinoArenaComponent} from \"../../../../../components/arena-host/new-live-casino-arena/new-live-casino-arena.component\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {\r\n SimpleGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/simple-games-filter/simple-games-filter.strategy\";\r\n\r\nexport class NewLiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new SimpleGamesFilterStrategy(this.services);\r\n }\r\n\r\n}","import React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\nconst LiveCasinoArenaComponent = React.lazy(\r\n () => import(\"../../../../../components/arena-host/live-casino-arena/live-casino-arena.component\").then(({LiveCasinoArenaComponent}) => ({default: LiveCasinoArenaComponent}))\r\n);\r\n\r\nexport class LiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string, private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {CasinoLobbyArenaModel} from \"../casino-lobby/casino-lobby-arena.model\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class NewLiveCasinoArenaAbModel extends CasinoLobbyArenaModel {\r\n get sortingGametypesMapOverride(): Record | null {\r\n return Check.isEmpty(this.services.liveTableFeeds.aiSortingGamesMap) ? null : this.services.liveTableFeeds.aiSortingGamesMap;\r\n }\r\n}","import styled, {css} from \"styled-components\";\r\n\r\ninterface IBottomStickyNavbarContainerBoxProps {\r\n shouldElevate: boolean;\r\n}\r\n\r\n\r\nexport const BottomNavigationBarContainerDefaultBox = styled.div`\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n touch-action: none;\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n border-top: 4px ${props => props.theme.colors.brandPrimary} solid;\r\n padding-bottom: calc(env(safe-area-inset-bottom) + 6px);\r\n z-index: 101;\r\n\r\n ${props => props.shouldElevate && css`\r\n z-index: 115;\r\n `}\r\n`;\r\n","import {BottomNavigationBarContainerDefaultBox} from \"./bottom-navigation-bar-container.default.box\";\r\n\r\nexport const BottomNavigationBarContainerBox = BottomNavigationBarContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const StickyNavigationMenuListDefautBox = styled.div`\r\n display: flex;\r\n padding-top: 5px;\r\n`;\r\n","import {StickyNavigationMenuListDefautBox} from \"./bottom-navigation-bar-menu-items-list.default.box\";\r\n\r\nexport const BottomNavigationBarMenuItemsListBox = StickyNavigationMenuListDefautBox;\r\n","import React from \"react\";\r\nimport {BottomNavigationBarMenuItemsListBox} from \"./boxes/menu-items-list/bottom-navigation-bar-menu-items-list.box\";\r\nimport {IMenuItemRenderer} from \"../../services/menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {useServices} from \"../../react-hooks/use-services.hook\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const BottomNavigationBarMenuItemsListComponent: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n const _renderMenuItem = (menuItem: IMenuItemRenderer) => {\r\n\r\n return (\r\n \r\n {menuItem.renderMenuItem()}\r\n \r\n );\r\n }\r\n\r\n const menuItems = services.bottomNavigationBar.getMenuItems();\r\n\r\n if(menuItems.length === 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n {menuItems.map(menuItem => _renderMenuItem(menuItem))}\r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {BottomNavigationBarContainerBox} from \"./boxes/container/bottom-navigation-bar-container.box\";\r\nimport {BottomNavigationBarMenuItemsListComponent} from \"./bottom-navigation-bar-menu-items-list.component\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport classNames from 'classnames';\r\nimport {HYBRID_EMBEDDED_NAV_MENU} from \"./bottom-navigation-bar-consts\";\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\n\r\ninterface BottomNavigationBarComponentProps {\r\n isInVideoSlidesArena?: boolean;\r\n}\r\n\r\nexport const BottomNavigationBarComponent = observer(class StickyNavigationMenuComponent extends OrbitComponent {\r\n\r\n render() {\r\n if (!this.services.abTestingFeatureDataProvider.isWebappBottomNavigationEnabled && !Boolean(this.props.isInVideoSlidesArena)) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport Div100vh from 'react-div-100vh'\r\n\r\nexport const VideoSlidesArenaDefaultBox = styled(Div100vh)`\r\n display: flex;\r\n flex-direction: column;\r\n width: \"100%\";\r\n`","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaDefaultBox} from \"./video-slides-arena.default.box\";\r\n\r\nexport const VideoSlidesArenaBox = styledByTheme(VideoSlidesArenaDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VideoSlidesArenaContentDefaultBox = styled.div`\r\n flex-grow: 2;\r\n height: 70%;\r\n width: 100%;\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaContentDefaultBox} from \"./video-slides-arena-content.default.box\";\r\n\r\n\r\nexport const VideoSlidesArenaContentBox = styledByTheme(VideoSlidesArenaContentDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {SwiperComponent} from \"../../../../../swiper/swiper.component\";\r\n\r\nexport const VideoSlidesArenaSwiperComponentBox = styled(SwiperComponent)`\r\n width: 100%;\r\n height:100%;\r\n`","import {observer} from \"mobx-react-lite\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {VideoSlidesArenaContentBox} from \"./boxes/video-slides-arena-content.box\";\r\nimport {Navigation, Virtual} from 'swiper/modules';\r\nimport {SwiperSlide} from \"swiper/react\";\r\nimport {VideoSlidesArenaSwiperComponentBox} from \"./boxes/video-slides-arena-swiper-component/video-slides-arena-swiper-component.box\";\r\n\r\n\r\n\r\nexport const VideoSlidesContentArena: React.FC = observer(() => {\r\n const services = useServices();\r\n const currentLoadedShorts = services.videoSlides.slideList;\r\n\r\n return (\r\n \r\n \r\n {\r\n currentLoadedShorts.map((renderer, index) => {\r\n return (\r\n \r\n {renderer.render()}\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n );\r\n})","import styled from \"styled-components\";\r\n\r\nexport const VideoSlidesArenaHeaderDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n min-height: 40px;\r\n padding: 5px 0px 5px 0px;\r\n width: 100%;\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaHeaderDefaultBox} from \"./video-slides-arena-header.default.box\";\r\n\r\nexport const VideoSlidesArenaHeaderBox = styledByTheme(VideoSlidesArenaHeaderDefaultBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VideoSlidesArenaFiltersIndicatorDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n flex-direction: row;\r\n overflow-x: auto;\r\n white-space: nowrap;\r\n height: 40px;\r\n`","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoSlidesArenaFiltersIndicatorDefaultBox} from \"./video-slides-arena-filters-indicator-default.box\";\r\n\r\n\r\nexport const VideoSlidesArenaFiltersIndicatorBox = styledByTheme(VideoSlidesArenaFiltersIndicatorDefaultBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {VideoSlidesArenaFiltersIndicatorBox} from './boxes/video-slides-arena-filters-indicator.box';\r\nimport {Button} from '../../../../../../basic-ui-components/button/base/button.component';\r\nimport {useServices} from '../../../../../../react-hooks/use-services.hook';\r\nimport {FlexGrowItemBox} from '../../../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const VideoSlidesArenaFiltersIndicator: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {services.translation.translate(\"For you\")}\r\n \r\n \r\n \r\n \r\n {services.translation.translate(\"Fish\")}\r\n \r\n \r\n \r\n \r\n {services.translation.translate(\"New\")}\r\n \r\n \r\n \r\n \r\n {services.translation.translate(\"Daily Jackpot\")}\r\n \r\n \r\n \r\n \r\n {services.translation.translate(\"Live\")}\r\n \r\n \r\n\r\n \r\n );\r\n})","import styled from \"styled-components\";\r\nimport {RegulatoryDataComponent} from \"../../../../header/top-header-left/regulatory-data/regulatory-data.component\";\r\n\r\nexport const VideoSlideRegulatoryDataComponent = styled(RegulatoryDataComponent)`\r\n position: static;\r\n`","import React from 'react';\r\nimport {observer} from \"mobx-react-lite\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent} from \"../../../header/welcome-buttons/authorized-user/mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component\";\r\nimport {VideoSlidesArenaHeaderBox} from \"./boxes/video-slides-arena-header.box\";\r\nimport {VideoSlidesArenaFiltersIndicator} from './components/video-slides-arena-filters-indicator/video-slides-arena-filters-indicator.component';\r\nimport {VideoSlideRegulatoryDataComponent} from './boxes/video-slide-regulatory-data-component.box';\r\n\r\nexport const VideoSlidesHeaderArena: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n const renderHeaderWelcomeButtonsForAuthorizedUserMobile = () => {\r\n if (services.user.isAuthorized) {\r\n return \r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {renderHeaderWelcomeButtonsForAuthorizedUserMobile()}\r\n \r\n \r\n );\r\n})","import React from 'react';\r\nimport {observer} from \"mobx-react-lite\";\r\nimport {BottomNavigationBarComponent} from \"../../bottom-navigation-bar/bottom-navigation-bar.component\";\r\nimport {VideoSlidesArenaBox} from \"./boxes/video-slides-arena.box\";\r\nimport {VideoSlidesContentArena} from \"./video-slides-arena-content/video-slides-arena-content.component\";\r\nimport {VideoSlidesHeaderArena} from \"./video-slides-arena-header/video-slides-arena-header.component\";\r\n\r\nexport const VideoSlidesArena: React.FC = observer(() => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n})","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {VIDEO_SLIDES_ARENA} from \"../../../arena-consts\";\r\nimport {VideoSlidesArena} from \"../../../../../components/arena-host/video-slides-arena/video-slides-arena.component\";\r\n\r\nexport default class VideoSlidesArenaModel implements IArenaViewModel {\r\n constructor(private readonly services) {\r\n }\r\n readonly allArenaGamesForFiltering: GameInfo[];\r\n readonly filteredGamesCount: number;\r\n readonly filtersConfigurationMap: ArenaFiltersConfigurationMap;\r\n readonly listsCount: number;\r\n maxGamesToShowInList: number;\r\n currentLoadedShorts = this.services.videoSlides.slideList;\r\n\r\n readonly arenaName: string = VIDEO_SLIDES_ARENA;\r\n\r\n\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return [];\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return undefined;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ()\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return undefined;\r\n }\r\n\r\n}","import {ServiceBase} from '../ServiceBase';\r\nimport {IArenasService} from './arenas.service.interface';\r\nimport {\r\n HOME_PAGE_ARENA,\r\n LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_AB_ARENA_NAME,\r\n NEW_LIVE_CASINO_ARENA_NAME, VIDEO_SLIDES_ARENA\r\n} from './arena-consts';\r\nimport {\r\n ArenaConfiguration\r\n} from \"../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IArenaViewModel} from \"./models/arenas/arena-view-model.interface\";\r\nimport {HomePageArenaModel} from \"./models/arenas/home-page/home-page-arena.model\";\r\nimport {CasinoLobbyArenaModel} from \"./models/arenas/casino-lobby/casino-lobby-arena.model\";\r\nimport {VoidArenaModel} from \"./models/arenas/void-arena/void-arena.model\";\r\nimport {ListsSortOrderStorage} from \"./models/lists-sort-order-storage\";\r\nimport {NewLiveCasinoArenaModel} from \"./models/arenas/new-live-casino/new-live-casino-arena.model\";\r\nimport {LiveCasinoArenaModel} from \"./models/arenas/live-casino/live-casino-arena.model\";\r\nimport {NewLiveCasinoArenaAbModel} from \"./models/arenas/new-live-casino-ab/new-live-casino-arena-ab.model\";\r\nimport VideoSlidesArenaModel from \"./models/arenas/video-slides/video-slides-arena.model\";\r\n\r\n\r\nexport class ArenasService extends ServiceBase implements IArenasService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n this._postLoginListsSortOrderStorage = new ListsSortOrderStorage(services);\r\n this._loadArenas();\r\n }\r\n\r\n private _arenas: Record = {};\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage;\r\n\r\n private _loadArenas(): void {\r\n this._arenas[HOME_PAGE_ARENA] = this._createArena(HOME_PAGE_ARENA);\r\n const arenasConfigs = this.services.configuration.data.arenas;\r\n for(let arenaName in arenasConfigs) {\r\n this._arenas[arenaName] = this._createArena(arenaName);\r\n }\r\n }\r\n\r\n getArena(arenaName: string): IArenaViewModel {\r\n return this._arenas[arenaName] || new VoidArenaModel(this.services);\r\n }\r\n\r\n private _createArena(arenaName: string): IArenaViewModel | null {\r\n switch (arenaName) {\r\n case VIDEO_SLIDES_ARENA:\r\n return new VideoSlidesArenaModel(this.services);\r\n case NEW_LIVE_CASINO_AB_ARENA_NAME:\r\n return new NewLiveCasinoArenaAbModel(arenaName, this.services, this._postLoginListsSortOrderStorage);\r\n case HOME_PAGE_ARENA:\r\n return new HomePageArenaModel(this.services, this._postLoginListsSortOrderStorage);\r\n case NEW_LIVE_CASINO_ARENA_NAME:\r\n return new NewLiveCasinoArenaModel(arenaName, this.services);\r\n case LIVE_CASINO_ARENA_NAME:\r\n return new LiveCasinoArenaModel(arenaName, this.services);\r\n default:\r\n return new CasinoLobbyArenaModel(arenaName, this.services, this._postLoginListsSortOrderStorage);\r\n }\r\n }\r\n\r\n getCurrentArena(): IArenaViewModel {\r\n const arenaName = this.services.routing.currentRoute.data?.arenaType;\r\n if(!arenaName) {\r\n return new VoidArenaModel(this.services);\r\n }\r\n return this.getArena(arenaName)\r\n\r\n }\r\n\r\n getArenaConfig(arenaType: string): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[arenaType];\r\n }\r\n\r\n shouldHideFiltersButtonMobile(): boolean {\r\n const arenasWithoutFilterButton: string[] = [NEW_LIVE_CASINO_ARENA_NAME];\r\n const currentRoute = this.services.routing.currentRoute;\r\n return arenasWithoutFilterButton.includes(currentRoute?.data?.arenaType);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from \"../../raw-components/link/link\";\r\n\r\nexport interface BreadcrumbsItemComponentProps {\r\n readonly title: string;\r\n position: number;\r\n readonly url?: string;\r\n onClick?: () => void;\r\n\r\n}\r\n\r\nexport const BreadcrumbsItemComponent = observer(\r\n class BreadcrumbsItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n let noLinkClass = this.props.onClick ? '' : 'no-link';\r\n return (\r\n <>\r\n \r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n \r\n {this.props.onClick ? {' > '} : null}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\nexport class NonNavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string) {\r\n }\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\n\r\nexport class NavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string, private _url: string, private services: IServiceFactoryExtended) {\r\n\r\n }\r\n\r\n private _navigate = () => {\r\n this.services.location.push(this._url);\r\n };\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","import {NonNavigatableBreadcrumb} from './breadcrumbs/non-navigatable-breadcrumb';\r\nimport {NavigatableBreadcrumb} from './breadcrumbs/navigatable-breadcrumb';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UriPath} from \"../location/uri-path/uri-path\";\r\n\r\nexport class SiteMapNode {\r\n constructor(private _title: string, private _url: string, children: any[]) {\r\n this._loadChildren(children);\r\n this._urlParts = new UriPath(_url).toArray();\r\n }\r\n\r\n private readonly _urlParts: string[];\r\n\r\n private _loadChildren(children: any[]): void {\r\n this._children = (children || []).map(ch => new SiteMapNode(ch.title, ch.url, ch.children));\r\n }\r\n\r\n\r\n private _children: SiteMapNode[] = [];\r\n get children(): SiteMapNode[] {\r\n return this._children;\r\n }\r\n\r\n createBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n\r\n for(let i = 0; i < this._urlParts.length; i++) {\r\n if(this._urlParts[i] !== requestedUrlParts[i]) {\r\n return [];\r\n }\r\n }\r\n\r\n if(this._urlParts.length === requestedUrlParts.length) {\r\n return [new NonNavigatableBreadcrumb(this._title)] //it means this is the last breadcrumb\r\n } else {\r\n let breadcrumb = new NavigatableBreadcrumb(this._title, this._url, services);\r\n\r\n return [breadcrumb, ...this._createChildrenBreadcrumbs(requestedUrlParts, services)];\r\n }\r\n }\r\n\r\n private _createChildrenBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n for(let i = 0; i < this.children.length; i++) {\r\n let childBreadcrumbs = this.children[i].createBreadcrumbs(requestedUrlParts, services);\r\n if(childBreadcrumbs.length > 0) {\r\n return childBreadcrumbs;\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n toFlatSiteMap(): {[key: string]: SiteMapNode} {\r\n let result = {};\r\n result[this._url] = this;\r\n\r\n this.children.forEach(child => {\r\n result = Object.assign(result, child.toFlatSiteMap());\r\n });\r\n\r\n return result;\r\n\r\n }\r\n}\r\n","import {ISiteMapService} from './sitemap.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SiteMapNode} from './sitemap-node';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {UriPath} from '../location/uri-path/uri-path';\r\n\r\nexport class SiteMapService extends ServiceBase implements ISiteMapService {\r\n\r\n private _root: SiteMapNode;\r\n private _flatSiteMapByUrl: {[key: string]: SiteMapNode};\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n try {\r\n this._initSiteMap();\r\n }catch (e) {\r\n this.services.logger.error(`Failed to load sitemap ${e} `);\r\n }\r\n\r\n this.reaction(\r\n () => this.services.location.currentUri,\r\n (uri) => {\r\n this._setBreadcrumbs(this._createBreadCrumbs(uri.pathName));\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _initSiteMap() {\r\n let siteMap = this.services.configuration.startupConfiguration.b2c.sitemap;\r\n this._root = new SiteMapNode(siteMap.title, siteMap.url, siteMap.children);\r\n this._flatSiteMapByUrl = this._root.toFlatSiteMap();\r\n }\r\n\r\n @observable.ref\r\n breadcrumbs: IBreadcrumb[] = [];\r\n\r\n @action.bound\r\n private _setBreadcrumbs(breadcrumbs: IBreadcrumb[]) {\r\n this.breadcrumbs = breadcrumbs;\r\n }\r\n\r\n\r\n private _createBreadCrumbs(uriPath: UriPath): IBreadcrumb[] {\r\n if(!uriPath) {\r\n return [];\r\n }\r\n\r\n if(uriPath.isEmpty) {\r\n return [];\r\n }\r\n\r\n let uriParts = uriPath.toArray();\r\n if(uriParts[0] !== '/') {\r\n uriParts = ['/', ...uriParts];\r\n }\r\n\r\n let breadcrumbs = this._root.createBreadcrumbs(uriParts, this.services);\r\n if(breadcrumbs.length < uriParts.length) {\r\n this.services.logger.warning(`URL ${uriPath} was not found in the sitemap`);\r\n return [];\r\n }\r\n\r\n if(breadcrumbs.length <= 1) {\r\n return [];\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n isUrlInSiteMap(url: string): boolean {\r\n if(this._flatSiteMapByUrl[url]) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IMarketingService} from './marketing.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {encodeUriRecursive} from '../../../utils/url-utils';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\n\r\n\r\nconst TEST_DATA_KEY = 'testdata';\r\n\r\nexport class MarketingService extends ServiceBase implements IMarketingService {\r\n\r\n private get _sCut(): any {\r\n return this.services.window.getGlobalProperty('sCut');\r\n }\r\n\r\n private get _sCutQueryParams(): string | null {\r\n let sCut = this._sCut;\r\n if(sCut) {\r\n return sCut.toString();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n appendSCutToUrl(url: string): string {\r\n if(!url) {\r\n return url;\r\n }\r\n\r\n if(!this._sCutQueryParams) {\r\n return url;\r\n }\r\n\r\n let urlParts = url.split('?');\r\n let queryParams = (urlParts[1] || '').trim();\r\n if(queryParams) {\r\n if(queryParams.endsWith('&')) {\r\n return urlParts[0] + '?' + queryParams + this._sCutQueryParams;\r\n } else {\r\n return urlParts[0] + '?' + queryParams + '&' + this._sCutQueryParams;\r\n }\r\n } else {\r\n return urlParts[0] + '?' + this._sCutQueryParams;\r\n }\r\n }\r\n\r\n private _getDlp(): string {\r\n let urlWithoutSearchAndHash = this.services.location.currentUri.getUrlWithoutSearchAndHash();\r\n if (urlWithoutSearchAndHash.includes(\"localhost\")) {\r\n urlWithoutSearchAndHash = urlWithoutSearchAndHash.replace(\"localhost\", \"casinoAOD\");\r\n }\r\n return urlWithoutSearchAndHash;\r\n }\r\n\r\n private _convertParameterToNumber(parameterName: string, parameterValue): number {\r\n let dlAsNumber = parseInt((parameterValue || '').trim());\r\n if(Check.isNumber(dlAsNumber)) {\r\n return dlAsNumber;\r\n } else {\r\n this.services.logger.error(`Cannot convert marketing parameter ${parameterName} to number because its value is ${parameterValue}`);\r\n return 999999;\r\n }\r\n }\r\n\r\n getMarketingData(marketingParams?: MarketingParams): any {\r\n let sCut = this._sCut;\r\n if(!Check.isObject(sCut)) {\r\n return {};\r\n }\r\n\r\n if(!sCut[\"all\"]) {\r\n this.services.logger.warning(`sCut.all function doesn't exists`);\r\n return {};\r\n }\r\n\r\n let sCutData = sCut[\"all\"]();\r\n\r\n if(!sCutData) {\r\n this.services.logger.warning(`sCut.all() returned ${sCutData}`);\r\n return {};\r\n }\r\n\r\n marketingParams = marketingParams || {};\r\n\r\n let additionalParams: any = {...sCutData};\r\n delete additionalParams[TEST_DATA_KEY];\r\n if(!additionalParams.wtc && marketingParams.wtc) {\r\n additionalParams.wtc = marketingParams.wtc;\r\n }\r\n\r\n\r\n let testData: any = {};\r\n\r\n try {\r\n testData = sCutData[TEST_DATA_KEY] ? JSON.parse(sCutData[TEST_DATA_KEY]) : {}\r\n } catch (err) {\r\n this.services.logger.error('Failed to parse sCut TestData');\r\n return {};\r\n }\r\n\r\n if(!testData.dl && marketingParams.dl) {\r\n testData.dl = marketingParams.dl;\r\n }\r\n\r\n if(testData.dl) {\r\n //We try to convert the dl to number to see if it is a valid number\r\n //but we must send it as a string because membership code will throw error on GetFunnelData if it will be number\r\n testData.dl = (this._convertParameterToNumber('dl', testData.dl)).toString();\r\n }\r\n\r\n testData.dlp = this._getDlp();\r\n\r\n if(additionalParams.dlp) {\r\n additionalParams.dlp = testData.dlp;\r\n }\r\n\r\n return encodeUriRecursive({\r\n sr: sCutData.sr,\r\n TestData: testData,\r\n AdditionalParams: additionalParams\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","import {LanguageSwitcherItemConfiguration} from '../../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _config: LanguageSwitcherItemConfiguration, private services: IServiceFactoryExtended) {\r\n }\r\n\r\n get title(): string {\r\n return this._config.title;\r\n }\r\n\r\n get url(): string {\r\n return this._config.url;\r\n }\r\n\r\n get isCurrent(): boolean {\r\n return false;\r\n }\r\n\r\n makeCurrent(): void {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigation','Language', this.title);\r\n\r\n this._executeOnClickJs();\r\n let url = this._config.url;\r\n\r\n if(this.services.device.hybrid.isEmbedded) {\r\n this.services.window.openSelf(url);\r\n } else {\r\n this._createCookie().then(() => {\r\n this.services.user.logout();\r\n setTimeout(() => {\r\n if(this._config.sendFunnelParameters) {\r\n url = this.services.marketing.appendSCutToUrl(url);\r\n }\r\n this.services.window.openSelf(url);\r\n }, 200);\r\n })\r\n }\r\n }\r\n\r\n private _createCookie(): Promise {\r\n if(this.services.user.isAuthorized) {\r\n return this.services.user.getAutoLoginToken()\r\n .then(token => {\r\n this.services.cookies.createDomainCookie('orbit_autologin_token', token);\r\n }).catch(() => {\r\n this.services.logger.error('Failed to get autologin token in order to switch language');\r\n });\r\n } else {\r\n return Promise.resolve();\r\n }\r\n }\r\n\r\n private _executeOnClickJs(): void {\r\n try {\r\n\r\n\r\n if (!this._config.onClickJs) {\r\n return;\r\n }\r\n\r\n if (!Check.isString(this._config.onClickJs)) {\r\n this.services.logger.error(`onClickJs is not a string for language switcher item ${this.title}`);\r\n return;\r\n }\r\n\r\n if (this._config.onClickJs.length > 50) {\r\n this.services.logger.error(`Too long callback method for language switcher item ${this.title} click event: ${this._config.onClickJs.substring(0, 50)} ...`);\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line\r\n let func = new Function(this._config.onClickJs);\r\n func();\r\n }\r\n catch (err) {\r\n this.services.logger.error(`Failed to execute onClickJs for language swithcer item ${this.title}; onClickJs: ${this._config.onClickJs}`, err);\r\n }\r\n }\r\n}\r\n\r\n\r\n","import {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherSection {\r\n constructor(private _services: IServiceFactoryExtended, private _title: string, private _fallbackTitleKey: string, private _items: ILanguageSwitcherItem[]) {\r\n\r\n }\r\n\r\n get title(): string {\r\n if(this._title) {\r\n return this._title;\r\n }\r\n\r\n return this._services.translation.translate(this._fallbackTitleKey);\r\n }\r\n\r\n get items(): ILanguageSwitcherItem[] {\r\n return this._items;\r\n }\r\n}\r\n","import {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class SelectedLanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _title: string) {\r\n\r\n }\r\n get isCurrent(): boolean {\r\n return true;\r\n }\r\n get title(): string {\r\n return this._title;\r\n }\r\n\r\n get url(): string {\r\n return '';\r\n }\r\n\r\n makeCurrent(): void {\r\n }\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {ILanguageData, ILanguageService} from './language.service.interface';\r\nimport {action, observable, makeObservable, runInAction} from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {TranslatedText} from './translated-text';\r\n\r\nimport {LanguageSwitcherStructure} from './language-switcher/language-switcher-structure';\r\nimport {LanguageSwitcherItem} from './language-switcher/language-switcher-item';\r\nimport {LanguageSwitcherSection} from './language-switcher/language-switcher-section';\r\nimport {SelectedLanguageSwitcherItem} from './language-switcher/selected-language-switcher-item';\r\nimport {ILanguageSwitcherItem} from './language-switcher/language-switcher-item.interface';\r\nimport {\r\n LanguageSwitcherConfiguration,\r\n LanguageSwitcherItemConfiguration, LanguageSwitcherSectionConfiguration\r\n} from '../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {isInsideAutomation} from \"../../../utils/automation-helpers\";\r\n\r\nexport class LanguageService extends ServiceBase implements ILanguageService {\r\n constructor(private _defaultLanguageData: ILanguageData, services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._loadLanguageData();\r\n\r\n if (this._isLanguageSwitcherEnabled) {\r\n this._setLanguageSwitcher(this.services.configuration.startupConfiguration.b2c.languageSwitcher);\r\n this.reaction(() => this.services.location.currentUri,\r\n (uri) => {\r\n this._updateLanguageSwitcher(uri.pathName.toString());\r\n }, {\r\n fireImmediately: this.languageSwitcher.isEmpty\r\n });\r\n } else {\r\n this._setLanguageSwitcher(null);\r\n }\r\n\r\n\r\n }\r\n\r\n private get _isLanguageSwitcherEnabled(): boolean {\r\n return Boolean(this.services.configuration.data.languageSwitcher?.display)\r\n }\r\n\r\n\r\n private _lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = '';\r\n\r\n public get isRTLLanguage(): boolean {\r\n return this.services.dom.getElementsByTagName('html')[0].classList.contains('cgp-rtl');\r\n }\r\n\r\n get currentLanguage(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso3;\r\n }\r\n\r\n get currentLanguageIso2(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso2;\r\n }\r\n\r\n\r\n private _getDefaultTexts(): TranslatedText {\r\n return this._defaultLanguageData.text || {};\r\n }\r\n\r\n\r\n private _loadLanguageData(): void {\r\n let textOverrides = this.services.configuration.startupConfiguration.orbit.lang?.text;\r\n let translatedTexts = {...this._getDefaultTexts(), ...textOverrides};\r\n\r\n this._setTranslatedTexts(translatedTexts);\r\n }\r\n\r\n\r\n @observable.ref\r\n translatedTexts: TranslatedText = {};\r\n\r\n @action.bound\r\n private _setTranslatedTexts(data: TranslatedText): void {\r\n this.translatedTexts = data;\r\n }\r\n\r\n @observable.ref\r\n languageSwitcher: LanguageSwitcherStructure;\r\n\r\n\r\n private _extractLanguageSwitcherFromConfig(langSwitcherConfig: LanguageSwitcherConfiguration) {\r\n let languagesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.languages, langSwitcherConfig && langSwitcherConfig.languageSettings, 'CHOOSE_LANG');\r\n\r\n let countriesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.countries, langSwitcherConfig && langSwitcherConfig.countrySettings, 'CHOOSE_COUNTRY')\r\n\r\n return {\r\n languagesSection: languagesSection,\r\n countriesSection: countriesSection,\r\n isEmpty: languagesSection.items.length === 0 && countriesSection.items.length === 0\r\n };\r\n }\r\n\r\n @action.bound\r\n private _setLanguageSwitcher(langSwitcherConfig: LanguageSwitcherConfiguration): void {\r\n this.languageSwitcher = this._extractLanguageSwitcherFromConfig(langSwitcherConfig);\r\n }\r\n\r\n private _extractLangSwitcherSection(itemsConfig: LanguageSwitcherItemConfiguration[], sectionConfig: LanguageSwitcherSectionConfiguration, fallbackTitleKey: string): LanguageSwitcherSection {\r\n itemsConfig = itemsConfig || [];\r\n sectionConfig = sectionConfig || {title: '', current: ''};\r\n\r\n let items: ILanguageSwitcherItem[] = [];\r\n\r\n if (sectionConfig.current && itemsConfig.length > 0) {\r\n items.push(new SelectedLanguageSwitcherItem(sectionConfig.current));\r\n }\r\n\r\n itemsConfig.forEach(cfg => {\r\n items.push(new LanguageSwitcherItem(cfg, this.services));\r\n });\r\n\r\n return new LanguageSwitcherSection(this.services,\r\n sectionConfig.title,\r\n fallbackTitleKey,\r\n items);\r\n\r\n }\r\n\r\n _updateLanguageSwitcher(url: string) {\r\n if (!this._isLanguageSwitcherEnabled) {\r\n return;\r\n }\r\n\r\n if (this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher === url) {\r\n return;\r\n }\r\n\r\n\r\n if(this.services.device.hybrid.isEmbedded && !isInsideAutomation()) {\r\n if(this.languageSwitcher.isEmpty) {\r\n this._setLanguageSwitcher(this._getLanguageSwitcherConfigForHybridEmbedded());\r\n }\r\n return;\r\n }\r\n\r\n\r\n this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = url;\r\n\r\n this.services.cmsApi\r\n .getLanguageSwitcherConfiguration(url)\r\n .then(config => {\r\n if (config) {\r\n const langSwitcher = this._extractLanguageSwitcherFromConfig(config);\r\n if (!langSwitcher.isEmpty) {\r\n runInAction(() => {\r\n this.languageSwitcher = langSwitcher;\r\n });\r\n }\r\n }\r\n }).catch(err => {\r\n this.services.logger.error('Failed to get language switcher from API', err);\r\n if (this.languageSwitcher.isEmpty && this.services.configuration.startupConfiguration.sdk.config.ExtraProperties.env !== \"prod\") {\r\n this._setLanguageSwitcher(this._getLanguageSwitcherConfigForTestEnvironments())\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n private _getLanguageSwitcherConfigForTestEnvironments(): LanguageSwitcherConfiguration {\r\n return {\r\n \"languages\": [{\r\n \"title\": \"Deutsch\",\r\n \"url\": \"https://de.888casino.com/\"\r\n }, {\"title\": \"Portuguese\", \"url\": \"https://pt.888casino.com/\"}, {\r\n \"title\": \"Español\",\r\n \"url\": \"https://es.888casino.com/\"\r\n }, {\r\n \"title\": \"简体中文\",\r\n \"url\": \"https://cns.888casino.com/\"\r\n }, {\"title\": \"Suomi\", \"url\": \"https://fi.888casino.com/\"}, {\r\n \"title\": \"日本語\",\r\n \"url\": \"https://jp.888casino.com/\"\r\n }, {\"title\": \"Русский\", \"url\": \"http://ru.888casinofreespin.com/\"}, {\r\n \"title\": \"ภาษาไทย\",\r\n \"url\": \"https://th.888casino.com/\"\r\n }, {\"title\": \"Français\", \"url\": \"https://fr.888casino.com/\"}\r\n ],\r\n \"countries\": [{\r\n \"title\": \"United Kingdom\\t\",\r\n \"url\": \"https://www.888casino.com/default.htm\",\r\n \"sendFunnelParameters\": true\r\n }, {\"title\": \"United States\", \"url\": \"https://us.888casino.com\"}, {\r\n \"title\": \"Canada\",\r\n \"url\": \"https://ca.888casino.com/\"\r\n }, {\r\n \"title\": \"España\",\r\n \"url\": \"https://www.888casino.es/\",\r\n \"onClickJs\": \"alert('España')\",\r\n \"sendFunnelParameters\": true\r\n }, {\"title\": \"Danmark\", \"url\": \"https://www.888casino.dk/\"}, {\r\n \"title\": \"România\",\r\n \"url\": \"https://www.888casino.ro/\"\r\n }, {\"title\": \"Italia\", \"url\": \"http://www.888casino.it/\", \"sendFunnelParameters\": true}, {\r\n \"title\": \"台灣 \",\r\n \"url\": \"https://tw.888casino.com/\"\r\n }, {\"title\": \"Phillipines\", \"url\": \"https://ph.888casino.com/\"}, {\r\n \"title\": \"India\",\r\n \"url\": \"https://in.888casino.com/\"\r\n }],\r\n \"languageSettings\": {\"title\": \"Choose your language:\", \"current\": \"English\"},\r\n \"countrySettings\": {\"title\": \"Or choose your country:\"}\r\n }\r\n }\r\n\r\n\r\n private _getLanguageSwitcherConfigForHybridEmbedded(): LanguageSwitcherConfiguration {\r\n return {\r\n languages: [\r\n {title: \"English\", url: \"?langID=eng\"},\r\n {title: \"简体中文\", url: \"?langID=chi\"},\r\n {title: \"Deutsch\", url: \"?langID=ger\"},\r\n {title: \"Español\", url: \"?langID=spa\"},\r\n {title: \"Suomi\", url: \"?langID=fin\"},\r\n {title: \"Français\", url: \"?langID=fre\"},\r\n {title: \"日本語\", url: \"?langID=jpn\"},\r\n {title: \"Русский\", url: \"?langID=rus\"},\r\n {title: \"ภาษาไทย\", url: \"?langID=tha\"},\r\n {title: \"Portuguese\", url: \"?langID=por\"}\r\n ],\r\n countries: [],\r\n languageSettings: { \"title\": \"\", \"current\": \"\" },\r\n countrySettings: {\"title\": \"\"}\r\n }\r\n\r\n }\r\n}\r\n","import {MenuItemsConfiguration} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemConfigReaderBase} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader-base\";\r\nimport {\r\n MenuItemAnalyticsCategoryAndLabel\r\n} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory, OrbitUserFlowAnalyticsLabel} from \"../../analytics/analytics.service.interface\";\r\n\r\n\r\nexport class SideMenuItemConfigReader extends MenuItemConfigReaderBase {\r\n\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return this.services.configuration.data.sideMenu.menuItemsOverride;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel {\r\n return {\r\n category: OrbitUserFlowAnalyticsCategory.Navigation,\r\n label: OrbitUserFlowAnalyticsLabel.NavigationMenu\r\n };\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuImageBox = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {GenericSideMenuItemDefaultBox} from \"./generic-side-menu-item.box\";\r\n\r\nconst GenericSideMenuItemPreIconDefaultBox = styled.span<{active: boolean}>`\r\n`;\r\n\r\nconst GenericSideMenuItemPreIconSIBox = styled(GenericSideMenuItemPreIconDefaultBox)`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: -1rem;\r\n width: 4px;\r\n border-radius: 0.5rem 0 0 0.5rem;\r\n\r\n background-color: ${(props) => props.active ? props.theme.colors.textActive : \"transparent\"};\r\n ${GenericSideMenuItemDefaultBox}:hover & {\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n left: -1.6rem;\r\n }\r\n`;\r\n\r\nexport const GenericSideMenuItemPreIconBox = styledByTheme(GenericSideMenuItemPreIconDefaultBox)\r\n .forSI(GenericSideMenuItemPreIconSIBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {GenericSideMenuImageBox} from \"./boxes/link/generic/generic-side-menu-item-image.box\";\r\nimport {Image} from \"../../raw-components/image/image\";\r\nimport {GenericSideMenuItemPreIconBox} from \"./boxes/link/generic/generic-side-menu-item-pre-icon.box\";\r\nimport {GenericSideMenuItemIconBox} from \"./boxes/link/generic/generic-side-menu-item-icon.box\";\r\nimport {GenericSideMenuItemLabelBox} from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport {Link} from \"../../raw-components/link/link\";\r\nimport {GenericSideMenuItemBox} from \"./boxes/link/generic/generic-side-menu-item.box\";\r\nimport {MenuItemComponentProps} from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {get} from 'lodash';\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\ninterface GenericSideMenuLinkComponentProps extends MenuItemComponentProps {\r\n withArrow?: boolean\r\n className?: string;\r\n}\r\n\r\n@observer\r\nexport class GenericSideMenuItemComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = async () => {\r\n await this.props.menuItem.execute();\r\n }\r\n\r\n private _renderIcon = () => {\r\n if(!this.props.menuItem.iconSource || !this.props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n if(this.props.menuItem.iconSource === \"themeIcons\") {\r\n const Icon = this.services.theme.currentTheme.icons[this.props.menuItem.icon];\r\n if(!Icon) {\r\n this.services.logger.error(`Menu item ${this.props.menuItem.key} has configured icon ${this.props.menuItem.icon} which does not exist in currentTheme.icons`)\r\n\r\n return null;\r\n }\r\n\r\n return ();\r\n } else if(this.props.menuItem.iconSource === 'themeImages') {\r\n const imageURI = get(this.services.theme.currentTheme.images, this.props.menuItem.icon, '');\r\n if(!imageURI) {\r\n this.services.logger.error(`Menu item ${this.props.menuItem.key} has configured icon ${this.props.menuItem.icon} which does not exist in currentTheme.images`)\r\n return null;\r\n }\r\n return ({this.props.menuItem.iconAltText)\r\n } else {\r\n return ({this.props.menuItem.iconAltText)\r\n }\r\n }\r\n\r\n\r\n private _renderMenuItemContent = () => {\r\n\r\n if(this.props.menuItem.imageOnlyRendering) {\r\n return (\r\n \r\n {this._renderIcon()}\r\n \r\n );\r\n }\r\n\r\n return (<>\r\n \r\n \r\n {this._renderIcon()}\r\n \r\n \r\n { this.props.menuItem.text }\r\n \r\n { this.props.withArrow ? : null }\r\n );\r\n\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n let href = this.props.menuItem.getLinkUrl() ?? \"\";\r\n if(href) {\r\n href = this.services.location.buildFullUri(href).toString();\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this._renderMenuItemContent()}\r\n \r\n \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {\r\n GenericSideMenuItemComponent\r\n} from \"../../../components/side-menu-rework/side-menu-items/generic-side-menu-item.component\";\r\n\r\n\r\nimport {IRenderMenuItemOptions} from \"../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemRendererBase} from \"../../menu-items-common/renderer/menu-item-renderer-base\";\r\n\r\nexport class GenericSideMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {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 SearchInputAreaCasino888WsopBox = styledByDevice(SearchInputAreaPCBox, SearchInputAreaMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputArenaSIPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 1.7px solid ${props => props.theme.colors.textMiddleDark};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n\r\nconst SearchInputArenaSIMobileBox = styled(SearchInputArenaDefaultMobileBox)`\r\n padding: 1.2rem 1rem 1.2rem 5rem;\r\n`;\r\n\r\nexport const SearchInputArenaSIBox = styledByDevice(SearchInputArenaSIPCBox, SearchInputArenaSIMobileBox);","import styled from \"styled-components\";\r\n\r\nexport const SearchInputAreaMrGreenBox = styled.input`\r\n width: 0;\r\n height: initial;\r\n display: flex;\r\n margin: auto 0;\r\n background: transparent;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n color: ${props => props.theme.colors.textLight};\r\n padding: 0.85rem 1rem 0.85rem 2.6rem;\r\n cursor: pointer;\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n border-radius: 4rem;\r\n font-size: 1.5rem;\r\n\r\n &:focus {\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n width: 44rem;\r\n padding-left: 5rem;\r\n }\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n width: 100%;\r\n transition: width 0.5s ease;\r\n padding: 1.2rem 5rem;\r\n border-width: 1px;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n &:focus {\r\n transition: width 0.5s ease;\r\n width: 100%;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\nimport { SearchInputAreaMrGreenBox } from \"./search-input-area.mrgreen.box\";\r\n\r\nexport const SearchInputAreaMrGreenCisBox = styled(SearchInputAreaMrGreenBox)`\r\n border-radius: unset;\r\n border: none;\r\n background: ${props => props.theme.colors.backgroundDark};\r\n color: ${baseColors.warmWhite};\r\n\r\n &::placeholder{\r\n color: ${baseColors.warmWhite};\r\n }\r\n`;","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchInputAreaDefaultBox} from \"./search-input-area.default.box\";\r\nimport {SearchInputAreaCasino777Box} from \"./search-input-area.casino777.box\";\r\nimport {SearchInputArenaHarrahsBox} from \"./search-input-area.harrahs.box\";\r\nimport {SearchInputAreaCasino888WsopBox} from \"./search-input-area.casino888Wsop.box\";\r\nimport {SearchInputArenaSIBox} from \"./search-input-arena.si.box\";\r\nimport {SearchInputAreaMrGreenBox} from \"./search-input-area.mrgreen.box\";\r\nimport { SearchInputAreaMrGreenCisBox } from \"./search-input-area.mrgreenCis.box\";\r\n\r\n\r\nexport const SearchInputAreaBox = styledByTheme(SearchInputAreaDefaultBox)\r\n .forCasino888(SearchInputAreaCasino888WsopBox)\r\n .forWsop(SearchInputAreaCasino888WsopBox)\r\n .forCasino777(SearchInputAreaCasino777Box)\r\n .forHarrahs(SearchInputArenaHarrahsBox)\r\n .forSI(SearchInputArenaSIBox)\r\n .forSICis(SearchInputArenaSIBox)\r\n .forMrGreen(SearchInputAreaMrGreenBox)\r\n .forMrGreenCis(SearchInputAreaMrGreenCisBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchInputAreaBox} from \"./boxes/search-input-area-box/search-input-area.box\";\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\n\r\nexport const SearchInputArea = observer(class SearchInputArea extends OrbitComponent<{}> {\r\n\r\n private _timeoutRef = null;\r\n private readonly HIDE_KEYBOARD_DELAY_MS: number = 2000;\r\n\r\n private _onChangeHandler = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n }\r\n\r\n private _onChangeHandlerWithBlur = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n\r\n if (this._timeoutRef) {\r\n clearTimeout(this._timeoutRef);\r\n }\r\n\r\n this._timeoutRef = setTimeout(() => {\r\n this._timeoutRef = null;\r\n if (this.services.gameSearch.currentSearchText) {\r\n this.services.gameSearch.searchInputRef.current?.blur();\r\n }\r\n }, this.HIDE_KEYBOARD_DELAY_MS);\r\n };\r\n\r\n private _onClickHandler = () => {\r\n this.services.gameSearch.openSearchResult();\r\n };\r\n\r\n render() {\r\n\r\n const onChangeHandler = this.services.device.isMobile ? this._onChangeHandlerWithBlur : this._onChangeHandler;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const SearchIconBoxDefault = styled.i`\r\n display: block;\r\n position: absolute;\r\n top: 50%;\r\n left: 0.95rem;\r\n transform: translateY(-50%) scaleX(-1);;\r\n width: 2rem;\r\n height: 2rem;\r\n z-index: 2;\r\n pointer-events: none;\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n left: 1.6rem;\r\n }\r\n`;","import {SearchInputFormDefaultBox} from \"./search-input-form.default.box\";\r\n\r\nexport const SearchInputFormBox = SearchInputFormDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const SearchInputFormDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\nimport {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchIconCasino777Box = styled(SearchIconBoxDefault)`\r\n opacity: 0.5;\r\n\r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchIconHarrahsBox = styled(SearchIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchIconWSOPBox = styled(SearchIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import {SearchIconBoxDefault} from \"./search-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchIconCasino777Box} from \"./search-icon.casino777.box\";\r\nimport {SearchIconHarrahsBox} from \"./search-icon.harrahs.box\";\r\nimport {SearchIconWSOPBox} from \"./search-icon.wsop.box\";\r\n\r\nexport const SearchIconBox = styledByTheme(SearchIconBoxDefault)\r\n .forCasino777(SearchIconCasino777Box)\r\n .forHarrahs(SearchIconHarrahsBox)\r\n .forWsop(SearchIconWSOPBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {SearchClearIconBox} from \"./boxes/search-clear-icon/search-clear-icon.box\";\r\nimport {SearchInputMobileBox} from \"./boxes/search-input-mobile/search-input-mobile.box\";\r\n// import {SearchBoxMobileIconBox} from \"./boxes/search-box-mobile-icon/search-box-mobile-icon.box\";\r\nimport {SearchInputArea} from \"../search-input-area/search-input-area\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {SearchIconBox} from '../search-input-pc/boxes/search-icon/search-icon.box';\r\n\r\ninterface SearchInputMobileComponentProps {\r\n isSearchOpenAlways?: boolean;\r\n}\r\n\r\nexport const SearchInputMobileComponent = observer(\r\n class SearchInputMobileComponent extends OrbitComponent {\r\n private _onResetSearchTextHandler = () => {\r\n this.services.gameSearch.search('');\r\n this.services.gameSearch.searchInputRef?.current?.focus();\r\n };\r\n\r\n private get _showResetSearchIcon(): boolean {\r\n return (this.services.gameSearch.currentSearchText || '').length > 0;\r\n }\r\n\r\n render() {\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from \"react\";\r\nimport {SearchInputArea} from \"../search-input-area/search-input-area\";\r\nimport {SearchInputFormBox} from \"./boxes/search-input-form/search-input-form.box\";\r\nimport {SearchIconBox} from \"./boxes/search-icon/search-icon.box\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const SearchInputPCComponent = observer(class SearchInputPCComponent extends OrbitComponent {\r\n render() {\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled, {css} from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\ninterface GameSearchDefaultBoxProps {\r\n open: boolean;\r\n}\r\n\r\nconst GameSearchMobileDefaultBox = styled.div`\r\n ${({open}) => open && css`\r\n flex: 1;\r\n `}\r\n`;\r\n\r\nconst GameSearchPCDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n`;\r\n\r\n\r\nexport const GameSearchDefaultBox: any = styledByDevice(GameSearchPCDefaultBox, GameSearchMobileDefaultBox);","import styled from \"styled-components\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\n\r\nexport const GameSearchMrGreenMiniOrbitBox = styled(GameSearchDefaultBox)`\r\n min-height: 100%;\r\n background: linear-gradient(177.59deg, \r\n ${({theme}) => theme.colors.brandPrimary} 12.03%,\r\n ${({theme}) => theme.colors.brandPrimaryDark} 27.06%, \r\n ${({theme}) => theme.colors.brandPrimaryDark} 37.9%);\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\nimport { GameSearchMrGreenMiniOrbitBox } from \"./game-search-mr-green-mini-orbit.box\";\r\n\r\nexport const GameSearchBox = styledByTheme(GameSearchDefaultBox)\r\n .forMrGreenCis(GameSearchMrGreenMiniOrbitBox)\r\n .forMrGreenCip(GameSearchMrGreenMiniOrbitBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SearchResultComponent} from './search-result/search-result.component';\r\nimport {SearchInputMobileComponent} from \"./search-input/search-input-mobile/search-input-mobile.component\";\r\nimport {SearchInputPCComponent} from \"./search-input/search-input-pc/search-input-pc.component\";\r\nimport {GameSearchBox} from \"./boxes/game-search-box/game-search.box\";\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\nexport interface IGameSearchComponentProps {\r\n className?: string;\r\n}\r\n\r\nexport const GameSearchComponent = observer(\r\n class GameSearchComponent extends OrbitComponent {\r\n _renderSearchInput() {\r\n return this.services.device.isMobile ? : ;\r\n }\r\n\r\n private _onUpdate = () => {\r\n this.services.gameSearch.searchResultComponentRef.current?.scrollTo(0, 0);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.gameSearch.searchInputRef?.current.addEventListener(\"input\", this._onUpdate);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.services.gameSearch.searchInputRef?.current.removeEventListener(\"input\", this._onUpdate);\r\n super.componentWillUnmount();\r\n }\r\n \r\n render() {\r\n return (\r\n \r\n {this._renderSearchInput()}\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n);\r\n","import {MenuItemConfigReaderBase} from \"./menu-item-config-reader-base\";\r\nimport {\r\n MenuItemsConfiguration\r\n} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemAnalyticsCategoryAndLabel} from \"./menu-item-config-reader.interface\";\r\n\r\nexport class MenuItemDefaultConfigReader extends MenuItemConfigReaderBase {\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return undefined;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel | null {\r\n return null;\r\n }\r\n}","import React, {createRef} from \"react\";\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGameSearchService} from './game-search.service.interface';\r\nimport {DomEventSubscription} from '../../../utils/event-listener-registration';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {\r\n SearchLinkSuggestion,\r\n GameSearchResult,\r\n GameSuggestion,\r\n ISearchSuggestion,\r\n SUGGESTED_CATEGORIES\r\n} from './game-search-result';\r\nimport {SuggestedLinkConfiguration} from '../configurations/config-data-sections/game-search-box.configuration';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo, gameInfoComparerByTitle} from '../games/game-info';\r\nimport {IModalDialogHandler} from \"../dialog/dialog.service.interface\";\r\nimport {GameSearchComponent} from \"../../components/game-search/game-search.component\";\r\nimport {removeSpecialCharacters} from \"../../../utils/string-helpers\";\r\nimport {LIST_TYPE_ID} from \"../../../common/const/ai-trending-list-ids-map\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemAction} from \"../menu-item-action-factory/menu-item-action.interface\";\r\nimport {\r\n MenuItemDefaultConfigReader\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-default-config-reader\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\r\n\r\nexport class GameSearchService extends ServiceBase implements IGameSearchService, IOverlayConsumer {\r\n\r\n private _closeMobileSideMenuOnSearchClose: boolean = false;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.overlay.registerConsumer(this);\r\n\r\n this._menuItemConfigReader = new MenuItemDefaultConfigReader(services);\r\n\r\n\r\n this.reaction(() => this.services.games.gamesMap,\r\n () => {\r\n //this is to avoid circular dependency between this service and ISearchSuggestion implementations\r\n setTimeout(() => {\r\n this._resetGamesSearchListCache();\r\n this.search(this.currentSearchText);\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => {\r\n return {\r\n trendingRecommendedGamesForPlayerByBets: this.services.aiEngine.trendingRecommendedGamesForPlayerByBets,\r\n aiRecommendedGames: this.services.aiEngine.aiRecommendedGames\r\n }\r\n },\r\n () => {\r\n if (!this.isSearchInProgress) {\r\n this._setDefaultSearchResult();\r\n }\r\n });\r\n }\r\n\r\n private readonly _menuItemConfigReader: MenuItemDefaultConfigReader;\r\n\r\n private _miniOrbitSearchBoxDialogHandler: IModalDialogHandler | null = null;\r\n\r\n private _searchInputRef: React.RefObject = createRef();\r\n private _searchComponentRef: React.RefObject = createRef();\r\n private _searchResultComponentRef: React.RefObject = createRef();\r\n\r\n private _gamesSearchListCache: GameInfo[] | null = null;\r\n private get gamesSearchList(): GameInfo[] {\r\n if (!this._gamesSearchListCache) {\r\n this._gamesSearchListCache = this._buildGamesSearchList()\r\n }\r\n\r\n return this._gamesSearchListCache;\r\n }\r\n\r\n getMenuItemAction(key: MenuItemKey): IMenuItemAction {\r\n return this.services.menuItemActionFactory.getMenuItemAction(key, this._menuItemConfigReader);\r\n }\r\n _resetGamesSearchListCache() {\r\n this._gamesSearchListCache = null;\r\n }\r\n\r\n private _buildGamesSearchList(): GameInfo[] {\r\n return Object.values(this.services.games.gamesMap).sort(gameInfoComparerByTitle);\r\n }\r\n\r\n private _openMiniOrbitSearchDialog(): void {\r\n this.services.dialog.showModal((dialogHandler) => {\r\n this._miniOrbitSearchBoxDialogHandler = dialogHandler;\r\n return ();\r\n }, {\r\n title: ' ',\r\n onClosed: () => this.closeSearchResult(),\r\n forceFullscreenTablet: true\r\n });\r\n }\r\n\r\n get needsOverlay(): boolean {\r\n return this.isSearchBoxOpened;\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n onOverlayClicked() {\r\n this.closeSearchResult();\r\n }\r\n\r\n private _openFullOrbitSearchResult() {\r\n this._disposeDocumentClickSubscription();\r\n /*\r\n * Handle search result close on document click\r\n * Wonder why we use setTimeout? From React 17 the events are bound to react-dom root element instead of window.document\r\n * Read more here: https://github.com/facebook/react/issues/20636\r\n */\r\n setTimeout(() => {\r\n this._documentClickSubscription = this.services.dom.subscribeTo.click(this._handleClickOutsideSearchComponent);\r\n });\r\n\r\n }\r\n\r\n get searchInputRef() {\r\n return this._searchInputRef;\r\n }\r\n\r\n get searchComponentRef() {\r\n return this._searchComponentRef;\r\n }\r\n\r\n get searchResultComponentRef() {\r\n return this._searchResultComponentRef;\r\n }\r\n\r\n openSearchResult(): void {\r\n if (this.isSearchBoxOpened) { //No need to open it if is already opened\r\n return;\r\n }\r\n\r\n if (this.services.miniOrbit.isEnabled) {\r\n this._openMiniOrbitSearchDialog();\r\n } else {\r\n this._openFullOrbitSearchResult();\r\n }\r\n\r\n this._setIsSearchBoxOpened(true);\r\n\r\n this.searchInputRef?.current?.focus();\r\n\r\n if (this.services.device.isMobile) {\r\n this._closeMobileSideMenuOnSearchClose = !this.services.sideMenu.isMobileMenuOpen;\r\n if (!this.services.sideMenu.isMobileMenuOpen) {\r\n this.services.sideMenu.openMobileMenu();\r\n }\r\n }\r\n\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", this.services.routing.currentRoute?.data?.arenaType || 'Header', 'Search_Open');\r\n }\r\n\r\n\r\n private _documentClickSubscription: DomEventSubscription | null = null;\r\n\r\n private _disposeDocumentClickSubscription() {\r\n if (this._documentClickSubscription) {\r\n this._documentClickSubscription.dispose();\r\n this._documentClickSubscription = null;\r\n }\r\n }\r\n\r\n\r\n private _closeMiniOrbitSearchDialog = () => {\r\n if (this._miniOrbitSearchBoxDialogHandler) {\r\n this._miniOrbitSearchBoxDialogHandler.close();\r\n this._miniOrbitSearchBoxDialogHandler = null;\r\n }\r\n };\r\n\r\n\r\n private _closeFullOrbitSearchResult = () => {\r\n this._disposeDocumentClickSubscription();\r\n };\r\n\r\n private _handleClickOutsideSearchComponent = (event) => {\r\n if (this._searchComponentRef.current && !this._searchComponentRef.current.contains(event.target)) {\r\n this.closeSearchResult();\r\n }\r\n }\r\n\r\n closeSearchResult = () => {\r\n if (!this.isSearchBoxOpened) { //if is already closed don't close it again\r\n return;\r\n }\r\n if (this.services.miniOrbit.isEnabled) {\r\n this._closeMiniOrbitSearchDialog();\r\n } else {\r\n this._closeFullOrbitSearchResult();\r\n }\r\n\r\n if (this._closeMobileSideMenuOnSearchClose) {\r\n this._closeMobileSideMenuOnSearchClose = false;\r\n this.services.sideMenu.closeMobileMenu();\r\n }\r\n\r\n this._setIsSearchBoxOpened(false);\r\n\r\n //Will called when search box close or when game is selected (And closing the results as well)\r\n if (this.isSearchInProgress)\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search, 'Entry', this.currentSearchText);\r\n\r\n this._setCurrentSearchText('');\r\n this._setDefaultSearchResult();\r\n };\r\n\r\n private _getGameSuggestion() {\r\n const gamesSuggestions: GameSuggestion[] = [];\r\n let aiSortingTypeForAnalytics: string = \"byactiveusers\";\r\n let aiGames = this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n\r\n if (!(aiGames?.length > 0)) {\r\n aiSortingTypeForAnalytics = 'config';\r\n aiGames = this.services.configuration.data.search.suggestedGames;\r\n }\r\n\r\n aiGames.forEach(gameType => {\r\n const gameInfo = this.services.games.gamesMap[gameType];\r\n\r\n if (!Check.isNullOrUndefined(gameInfo)) {\r\n gamesSuggestions.push(new GameSuggestion(this.services, gameInfo, `Suggested_Games_${aiSortingTypeForAnalytics}`, gamesSuggestions.length, aiSortingTypeForAnalytics))\r\n }\r\n });\r\n\r\n return gamesSuggestions.slice(0, 6);\r\n }\r\n\r\n private _setDefaultSearchResult() {\r\n const quickLinks = this.services.configuration.data.search.quickLinks\r\n .map(quickLinkConfig => new SearchLinkSuggestion(quickLinkConfig, this.services, 'Quick_Links'));\r\n\r\n this._setSearchResult(new GameSearchResult([], quickLinks, this._getGameSuggestion()));\r\n }\r\n\r\n @computed\r\n get isSearchInProgress(): boolean {\r\n return this.currentSearchText.length >= 2;\r\n }\r\n\r\n @observable.ref\r\n isSearchBoxOpened: boolean = false;\r\n @action.bound\r\n private _setIsSearchBoxOpened(value: boolean) {\r\n this.isSearchBoxOpened = value;\r\n }\r\n\r\n @observable.ref\r\n currentSearchText: string = '';\r\n\r\n @action.bound\r\n private _setCurrentSearchText(value: string): void {\r\n this.currentSearchText = value;\r\n }\r\n\r\n search(text: string): void {\r\n text = text || '';\r\n\r\n if (!this.isSearchBoxOpened && text.length > 0) {\r\n this.openSearchResult();\r\n }\r\n\r\n this._setCurrentSearchText(text);\r\n\r\n if (this.isSearchInProgress) { //we only search if there are at least 2 characters typed in the search box\r\n let regEx = new RegExp(removeSpecialCharacters(text), 'gi');\r\n this._setSearchResult(this._getSearchResult(regEx));\r\n } else {\r\n this._setDefaultSearchResult();\r\n }\r\n }\r\n\r\n\r\n private _getSearchResult(regEx: RegExp): GameSearchResult {\r\n let games = this._searchForGames(regEx);\r\n let suggestedCategories: ISearchSuggestion[];\r\n if (games.length === 0) {\r\n suggestedCategories = this._getDefaultSuggestedCategories();\r\n } else {\r\n suggestedCategories = this._searchForSuggestedCategories(regEx);\r\n }\r\n\r\n return new GameSearchResult(games, suggestedCategories, this._getGameSuggestion());\r\n }\r\n\r\n @observable.ref\r\n searchResult: GameSearchResult;\r\n\r\n @action.bound\r\n private _setSearchResult(value: GameSearchResult) {\r\n this.searchResult = value;\r\n }\r\n\r\n private _searchForGames(regEx: RegExp): ISearchSuggestion[] {\r\n\r\n const result: GameInfo[] = [];\r\n const gameTypeToGameInfoObj = {};\r\n const themesIds = this.services.gamesTheme.findThemes(regEx);\r\n const vendorsIds = this.services.gamesVendor.findVendors(regEx);\r\n\r\n this.gamesSearchList.forEach((gameInfo) => {\r\n if (removeSpecialCharacters(gameInfo.title).match(regEx)\r\n || this._matchGameByTheme(gameInfo, themesIds)\r\n || this._matchGameByVendor(gameInfo, vendorsIds)) {\r\n result.push(gameInfo);\r\n gameTypeToGameInfoObj[gameInfo.gameType] = gameInfo;\r\n }\r\n });\r\n\r\n const sortedResultGameTypes = this.services.aiEngine.sortGamesByAI(result.map(gameInfo => gameInfo.gameType), LIST_TYPE_ID.ACTIVE_USERS);\r\n return sortedResultGameTypes.map((gameType, index) => new GameSuggestion(this.services, gameTypeToGameInfoObj[gameType], `Search_Results`, index, 'byactiveusers'));\r\n }\r\n\r\n private _matchGameByTheme(gameInfo: GameInfo, themesIds: number[]) {\r\n for (let themeId of gameInfo.themeIds) {\r\n if (themesIds.includes(themeId)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private _matchGameByVendor(gameInfo: GameInfo, vendorsIds: number[]) {\r\n return vendorsIds.includes(gameInfo.vendorId)\r\n }\r\n\r\n private _searchForSuggestedCategories(regEx: RegExp): ISearchSuggestion[] {\r\n let suggestedCategoriesOptions = this.services.configuration.data.search.suggestedCategories.suggestedCategoriesOptions;\r\n if (!suggestedCategoriesOptions) {\r\n return this._getDefaultSuggestedCategories();\r\n }\r\n\r\n for (let i = 0; i < suggestedCategoriesOptions.length; i++) {\r\n let option = suggestedCategoriesOptions[i];\r\n let result: ISearchSuggestion[] = [];\r\n if (option.search.match(regEx) && option.categories && option.categories.length > 0) {\r\n result = option.categories.map(categoryConfig => this._createSuggestedCategory(categoryConfig))\r\n // TODO: Remove this after updating the Check signatures. Let type inference do the magic\r\n .filter((categorySuggestion): categorySuggestion is ISearchSuggestion => !Check.isNullOrUndefined(categorySuggestion));\r\n }\r\n\r\n if (result.length > 0) {\r\n return result;\r\n }\r\n }\r\n\r\n return this._getDefaultSuggestedCategories();\r\n }\r\n\r\n private _getDefaultSuggestedCategories(): ISearchSuggestion[] {\r\n return this.services.configuration.data.search.suggestedCategories.defaultSuggestedCategories\r\n .map(suggestedCategory => this._createSuggestedCategory(suggestedCategory))\r\n // TODO: Remove this after updating the Check signatures. Let type inference do the magic\r\n .filter((suggestion): suggestion is ISearchSuggestion => !Check.isNullOrUndefined(suggestion));\r\n }\r\n\r\n _createSuggestedCategory(categoryConfig: SuggestedLinkConfiguration): ISearchSuggestion | null {\r\n if (categoryConfig.gameID) {\r\n let gameInfo = this.services.games.gamesMap[categoryConfig.gameID];\r\n if (!gameInfo) {\r\n this.services.logger.error(`Game type ${categoryConfig.gameID} is in the search suggested categories but this game is not configured to be in this site!`);\r\n return null;\r\n }\r\n return new GameSuggestion(this.services, gameInfo, SUGGESTED_CATEGORIES);\r\n }\r\n return new SearchLinkSuggestion(categoryConfig, this.services, SUGGESTED_CATEGORIES);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {\r\n IExternalLinksService,\r\n IOpenGameLimitsOptions,\r\n IOpenOmgOptions,\r\n IOpenPendingLoginOptions,\r\n OpenRichPageOptions\r\n} from './external-links.service.interface';\r\nimport {IOpenMyAccountOptions} from \"./handlers/my-account/my-account.external-link-handler.interface\";\r\nimport {IOpenRegistrationOptions} from \"./handlers/registration/registration.external-link-handler.interface\";\r\nimport {IExternalLinksProxy} from \"../../../common/interfaces/external-links-proxy.interface\";\r\nimport {OpenCashierOptions} from \"../../../common/interfaces/cashier.service.interface\";\r\nimport {\r\n PendingActionResultEnum\r\n} from \"./handlers/pending-action/pending-action.external-link-handler.interface\";\r\nimport {\r\n IOpenRealGamePlayPendingActionOptions\r\n} from \"./handlers/pending-action/real-game-play/real-game-play-pending-action.external-link-handler.interface\";\r\nimport {IExternalLinksHandlersFactory} from \"./handlers-factory/external-links-handlers-factory.interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\n\r\nexport class ExternalLinksService extends ServiceBase implements IExternalLinksService, IExternalLinksProxy {\r\n\r\n\r\n private get _handlers(): IExternalLinksHandlersFactory {\r\n return this.services.regulation.current.externalLinks;\r\n }\r\n\r\n\r\n async openMyAccount(options?: IOpenMyAccountOptions, marketingParams?: MarketingParams): Promise {\r\n await this._handlers.myAccount.openMyAccount(options);\r\n }\r\n\r\n async openCashier(options?: OpenCashierOptions): Promise {\r\n await this._handlers.cashier.openCashier(options);\r\n }\r\n\r\n async openMembership(options?: IOpenRegistrationOptions): Promise {\r\n this.services.dialog.closeAllDialogs();\r\n await this._handlers.registration.openRegistration(options);\r\n }\r\n\r\n openOMG(options: IOpenOmgOptions): Promise {\r\n return this._handlers.omg.openOmg(options);\r\n }\r\n\r\n openForgotPassword(): Promise {\r\n return this._handlers.forgotPassword.openForgotPassword();\r\n }\r\n\r\n openForgotUserName(): Promise {\r\n return this._handlers.forgotUserName.openForgotUserName();\r\n }\r\n\r\n openPendingLogin(options: IOpenPendingLoginOptions): Promise {\r\n return this._handlers.pendingLogin.openPendingLogin(options);\r\n }\r\n\r\n openRealGamePlayPendingAction(options?: IOpenRealGamePlayPendingActionOptions): Promise {\r\n return this._handlers.realGamePlayPendingAction.openPendingAction(options);\r\n }\r\n\r\n openUploadDocumentFromMyAccount(): Promise {\r\n return this._handlers.myAccountUploadDocuments.openUploadDocumentsFromMyAccount();\r\n }\r\n\r\n openGameLimits(options:IOpenGameLimitsOptions): Promise{\r\n return this._handlers.gameLimits.openGameLimits(options);\r\n }\r\n\r\n openContactUs(): Promise {\r\n return this._handlers.contactUs.openContactUs();\r\n }\r\n\r\n openRichPage(options: OpenRichPageOptions): Promise {\r\n return this._handlers.rich.openRichPage(options);\r\n }\r\n\r\n renderRichPageContent(): Promise {\r\n return this._handlers.rich.renderRichPageContent();\r\n }\r\n\r\n openHelpPage(): Promise {\r\n return this._handlers.help.openHelpPage();\r\n }\r\n\r\n async openDepositPendingAction(): Promise {\r\n return this._handlers.depositPendingAction.openPendingAction();\r\n }\r\n async openTransactionHistoryPendingAction(): Promise {\r\n return this._handlers.transactionHistoryPendingAction.openPendingAction();\r\n }\r\n\r\n openBankId(url: string): void {\r\n if(Device.hybrid.inCasino) {\r\n this.services.hybrid.openExternalLink(url);\r\n } else {\r\n /*\r\n BankId url is an url with custom schema something like 'bankid:///?autostarttoken\r\n This will basically rely on the browser that will ask the operating system to handle bankid schema which in the end will open an application.\r\n On some browsers this works with window.location.assign and on others with window.open. This is the reason we do those two subsequent calls.\r\n Only one of them will be succesfull. And even if both will succeed the BankID application is a single instance application so only one instance will be opened.\r\n */\r\n window.location.assign(url);\r\n const tab = window.open(url);\r\n tab && tab.close();\r\n }\r\n }\r\n\r\n async openDownloadApp(): Promise {\r\n await this.services.linksNavigation.openUrl({\r\n url: this.services.sdk.getDownloadAppLink(),\r\n openMode: 'redirect'\r\n });\r\n\r\n /*\r\n await this.openLink({\r\n sourceLink: this.services.sdk.getDownloadAppLink(),\r\n view: 'redirect',\r\n resolveByCallback: false\r\n });\r\n\r\n */\r\n }\r\n\r\n async openOldChat(): Promise {\r\n await this.services.linksNavigation.navigateLink({\r\n linkId: \"chatLink\"\r\n });\r\n }\r\n}","import {ServiceBase} from '../../ServiceBase';\r\nimport {CmsBannerId} from '../cms-banners/cm-banner-id/cms-banner-id';\r\nimport {BannerData, CmsPageData, CmsSegmentsData, ICmsApiService} from './cms-api.service.interface';\r\nimport {LanguageSwitcherConfiguration} from '../../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {UriParams} from \"../../location/uri-params/uri-params\";\r\n\r\n\r\nexport class CmsApiService extends ServiceBase implements ICmsApiService {\r\n\r\n private get _publicationID(): number {\r\n return this.services.configuration.cmsPublicationId;\r\n }\r\n\r\n public get apiOrigin(): string {\r\n return this.services.launcher.getCMSOrigin() || this.services.location.currentUri.origin\r\n }\r\n\r\n\r\n async getBanners(bannersIds: CmsBannerId[]): Promise {\r\n try {\r\n if(!bannersIds?.length){\r\n return [];\r\n }\r\n\r\n if(!this.services.user.isAuthorized) {\r\n await this.services.sdk.waitForAnonymousAbTestingData();\r\n }\r\n\r\n let data;\r\n const options = {\r\n headers: this._getBannersRequestOptions()\r\n };\r\n\r\n if(this.services.configuration.servicesConfigs.Skin.isSiteInfraAWS) {\r\n data = await this.services.http.get(this._getBannersRequestUrl + this._getBannersRequestParamsGET(bannersIds), options);\r\n } else {\r\n options['body'] = this._getBannersRequestParamsPOST(bannersIds);\r\n data = await this.services.http.post(this._getBannersRequestUrl, options);\r\n }\r\n\r\n\r\n return data || [];\r\n } catch (err) {\r\n let bannersDescriptions = bannersIds.reduce((acc, curr) => acc + '\\n' + curr.toString(), '');\r\n this.services.logger.error('Failed read the following banners from CMS API: ' + bannersDescriptions + 'error message: ' ,err);\r\n return [];\r\n }\r\n }\r\n\r\n async getFallbackBanners(fileNames: string[]): Promise<{[key: string]: string}> {\r\n try {\r\n return await this._readFallbackBanners(fileNames);\r\n } catch (err) {\r\n let files = fileNames.reduce((acc, curr) => acc + '\\n' + curr, '');\r\n this.services.logger.error('Failed to read fallback banners for ' + files);\r\n return {};\r\n }\r\n }\r\n\r\n private _readFallbackBanners(fileNames: string[]): Promise<{[key: string]: string}> {\r\n\r\n\r\n let result = {};\r\n\r\n fileNames = fileNames || [];\r\n if(fileNames.length === 0) {\r\n return Promise.resolve(result);\r\n }\r\n\r\n\r\n let configuredFallbackUrl: string = this._getFallbackUrlFromConfig();\r\n if (!configuredFallbackUrl) {\r\n return Promise.resolve(result);\r\n }\r\n\r\n let promises: Promise[] = [];\r\n for (let i = 0; i < fileNames.length; i++ ) {\r\n let fileName = fileNames[i];\r\n let computedFallbackUrl = configuredFallbackUrl.replace('{fileName}', fileName);\r\n let promise = this.services.http.get(computedFallbackUrl).then(content => {\r\n result[fileName] = content;\r\n\r\n }).catch(err => {\r\n this.services.logger.error(`Failed to load fallback CMS banner! fallbackUrl: ${computedFallbackUrl}`, err);\r\n });\r\n\r\n promises.push(promise);\r\n }\r\n\r\n return Promise.all(promises).then(() => result);\r\n }\r\n\r\n\r\n getPageContent(url: string, customQueryParams?: UriParams): Promise {\r\n let options = {\r\n headers: this._getPagesRequestOptions()\r\n };\r\n\r\n if(this.services.miniOrbit.isEnabled) {\r\n url = url.replace(this.services.miniOrbit.currentMiniOrbitConfig.basePath, '/').replace('//', '/');\r\n }\r\n\r\n let uriParams = new UriParams('');\r\n\r\n uriParams.addParam('publicationid', this._publicationID.toString());\r\n uriParams.addParam('url', this._addSlashesInTheSides(url));\r\n\r\n if(customQueryParams) {\r\n customQueryParams.getAllParams().forEach(p => {\r\n if(!uriParams.hasParam(p.originalName)) {\r\n uriParams.addParam(p.originalName, p.value)\r\n }\r\n });\r\n }\r\n\r\n let cmsPageContentApiUrl = this.apiOrigin + '/api/pagecontent' + uriParams.toString();\r\n\r\n return this.services.http.get(cmsPageContentApiUrl, options);\r\n }\r\n\r\n private _404PageContent: CmsPageData | null = null;\r\n async get404PageContent() {\r\n if(this._404PageContent) {\r\n return this._404PageContent;\r\n }\r\n\r\n try {\r\n let data = await this.services.http.get(this.apiOrigin + '/api/pagecontent?publicationid=' + this._publicationID + '&url=error404.aspx');\r\n this._404PageContent = {\r\n title: null,\r\n location: null,\r\n content: data && data.content\r\n };\r\n\r\n return this._404PageContent;\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get 404 page content!`, err);\r\n return {\r\n title: null,\r\n location: null,\r\n content: '
    Something went wrong. Please try again.
    '\r\n };\r\n }\r\n }\r\n\r\n private _getFallbackUrlFromConfig(): string {\r\n let configData = this.services.configuration.data;\r\n return configData && configData.generalSettings && configData.generalSettings.fallbackCMSComponentsPath;\r\n\r\n }\r\n\r\n\r\n private get _getBannersRequestUrl() {\r\n return this.apiOrigin + '/api/content/';\r\n }\r\n\r\n private _getBannersRequestParamsPOST(bannersIds: CmsBannerId[]): BodyInit {\r\n\r\n let params = this.services.http.createUrlSearchParams();\r\n params.append('publicationid', this._publicationID.toString());\r\n params.append('PagePlaceHoldersXML', 'PagePlaceholders_ValidKeyPagePlaceholders_ValidValue');\r\n\r\n for(let i = 0; i < bannersIds.length; i++) {\r\n let bannerId = bannersIds[i];\r\n\r\n params.append(`components[${i}][templateId]`, bannerId.templateID);\r\n params.append(`components[${i}][componentId]`, bannerId.componentID);\r\n\r\n\r\n }\r\n\r\n return params;\r\n }\r\n\r\n private _getBannersRequestParamsGET(bannersIds: CmsBannerId[]): string {\r\n\r\n const publicationid = this._publicationID.toString();\r\n const PagePlaceHoldersXML = encodeURIComponent('PagePlaceholders_ValidKeyPagePlaceholders_ValidValue');\r\n\r\n let queryParams = `?publicationId=${publicationid}&PagePlaceHoldersXML=${PagePlaceHoldersXML}&`;\r\n\r\n let componentsParams = [];\r\n for(let i = 0; i < bannersIds.length; i++) {\r\n let bannerId = bannersIds[i];\r\n\r\n componentsParams.push(`templateId=${bannerId.templateID}`);\r\n componentsParams.push(`componentId=${bannerId.componentID}`);\r\n }\r\n\r\n return queryParams + componentsParams.join('&');\r\n }\r\n\r\n private _getBannersRequestOptions(): HeadersInit {\r\n\r\n let headers = this.services.http.createHeaders();\r\n headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\r\n return this.addXXContext(headers);\r\n }\r\n\r\n private _getPagesRequestOptions(): HeadersInit {\r\n\r\n let headers = this.services.http.createHeaders();\r\n return this.addXXContext(headers);\r\n }\r\n\r\n private _getSegmentesRequestOptions(): HeadersInit {\r\n let headers = this.services.http.createHeaders();\r\n return this.addXXContext(headers);\r\n }\r\n\r\n private addXXContext(headers: Headers): HeadersInit {\r\n\r\n let userSignature = this.services.sdk.getCmsUserSignature();\r\n if(!Check.isEmpty(userSignature)) {\r\n if(this.services.configuration.servicesConfigs.Skin.isSiteInfraAWS){\r\n headers.append('XX-Context', userSignature && userSignature.message);\r\n }else{\r\n headers.append('XX.Context', userSignature && userSignature.message);\r\n }\r\n }\r\n\r\n\r\n return headers;\r\n }\r\n\r\n async getSegments(): Promise {\r\n try {\r\n let options = {\r\n headers: this._getSegmentesRequestOptions()\r\n };\r\n return await this.services.http.get(`${this.apiOrigin}/api/segments`, options);\r\n }catch (err) {\r\n this.services.logger.error(`Failed to read segments from CMS API!`, err);\r\n return {};\r\n }\r\n }\r\n\r\n async getLanguageSwitcherConfiguration(url: string): Promise {\r\n try {\r\n return await this.services.http.get(`${this.apiOrigin}/api/languageswitcher?publicationid=${this._publicationID}&url=${this._addSlashesInTheSides(url)}`);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get language switcher configuration for page ${url}`, err);\r\n return null;\r\n }\r\n }\r\n\r\n private _isRouteToHtmlFile(pathName: string): boolean {\r\n return pathName.endsWith('.htm')\r\n || pathName.endsWith('.html');\r\n }\r\n\r\n\r\n private _addSlashesInTheSides(pathName) {\r\n if(pathName && pathName[0] !== '/') {\r\n pathName = '/' + pathName;\r\n }\r\n\r\n //we append the trailing slash if the path doesn't ends with slash and also the path doesn't ends with .html or .htm\r\n //we don't append the trailing slash for paths like /path/file.htm or /path/file.html\r\n if(pathName && !this._isRouteToHtmlFile(pathName) && pathName[pathName.length - 1] !== '/') {\r\n pathName = pathName + '/';\r\n }\r\n\r\n if(pathName) {\r\n return pathName;\r\n }\r\n\r\n return '/';\r\n }\r\n\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {CmsContentDecorator} from '../../../services/cms/cms-content-decorator/cms-content-decorator';\r\nimport {observer} from 'mobx-react';\r\nimport {CmsBannerId} from '../../../services/cms/cms-banners/cm-banner-id/cms-banner-id';\r\n\r\nexport interface BannerContentComponentProps {\r\n html: string;\r\n bannerId: CmsBannerId;\r\n}\r\n\r\nexport const BannerContentComponent = observer(\r\n class BannerContentComponent extends OrbitComponent {\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._disposeBannerContentDecorator();\r\n }\r\n\r\n componentDidUpdate() {\r\n this._redecorateBannerContent();\r\n }\r\n\r\n private _disposeBannerContentDecorator() {\r\n if(this._bannerContentDecorator) {\r\n this._bannerContentDecorator.dispose();\r\n this._bannerContentDecorator = null;\r\n }\r\n }\r\n\r\n private _redecorateBannerContent() {\r\n this._disposeBannerContentDecorator();\r\n if(this._bannerContentElementRef) {\r\n this._bannerContentElementRef.innerHTML = this.props.html;\r\n this._bannerContentDecorator = new CmsContentDecorator(this._bannerContentElementRef, this.services);\r\n }\r\n }\r\n\r\n private _bannerContentDecorator: CmsContentDecorator | null = null;\r\n\r\n private _bannerContentElementRef: HTMLSpanElement | null = null;\r\n\r\n private _captureBannerContentElementRef = (element: HTMLSpanElement | null) => {\r\n this._bannerContentElementRef = element;\r\n this._redecorateBannerContent();\r\n };\r\n\r\n render() {\r\n return ();\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {BannerRenderProps, IBannerDefinition} from './banner-definition.interface';\r\nimport {BannerContentComponent} from '../../../../components/cms-banner/banner-content/banner-content.component';\r\nimport {CmsBannerId} from '../cm-banner-id/cms-banner-id';\r\n\r\n\r\nexport class BannerDefinition implements IBannerDefinition {\r\n constructor(public _html: string, private _bannerId: CmsBannerId) {\r\n }\r\n\r\n render(props: BannerRenderProps): React.ReactNode {\r\n return ();\r\n }\r\n}\r\n","import {ServiceBase} from '../../ServiceBase';\r\nimport {ICmsBannersService} from './cms-banners.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IBannerDefinition} from './banner-definition/banner-definition.interface';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {CmsBannerId} from './cm-banner-id/cms-banner-id';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {BannerDefinition} from './banner-definition/banner-definition';\r\n\r\nimport {EmptyBannerDefinition} from './banner-definition/empty-banner-definition';\r\nimport {BannerData} from '../cms-api/cms-api.service.interface';\r\n\r\ntype ReadBannersResponse = Array<{id: CmsBannerId, definition: IBannerDefinition}>;\r\n\r\nexport class CmsBannersService extends ServiceBase implements ICmsBannersService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n (isAuthorized) => {\r\n this._reloadBannersContent();\r\n }\r\n );\r\n }\r\n\r\n\r\n private _currentUsedBannersIds: {[key: string]: CmsBannerId} = {};\r\n\r\n @observable\r\n bannersMap: {[key: string]: IBannerDefinition} = {};\r\n\r\n async loadBanner(bannerId: CmsBannerId): Promise {\r\n if(!this.bannersMap[bannerId.key]) {\r\n let banners = await this._readBanners([bannerId]);\r\n this._setBanners(banners);\r\n }\r\n const hasBannerContent = Check.isObject(this.bannersMap[bannerId.key]);\r\n return hasBannerContent;\r\n }\r\n\r\n private _reloadBannersContent() {\r\n this._readBanners(Object.values(this._currentUsedBannersIds))\r\n .then(banners => {\r\n this._setBanners(banners);\r\n });\r\n }\r\n\r\n @action.bound\r\n private _setBanners(banners: ReadBannersResponse) {\r\n banners.forEach(newBanner => {\r\n this.bannersMap[newBanner.id.key] = newBanner.definition;\r\n this._currentUsedBannersIds[newBanner.id.key] = newBanner.id;\r\n });\r\n }\r\n\r\n private async _readBanners(bannersIds: CmsBannerId[]): Promise {\r\n\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