{"version":3,"file":"static/js/orbit-main.b24e7402.chunk.js","mappings":"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sjT,EAAoBz9O,KAAO,WAAa,OAAOv8C,OAAOu8C,KAAK3nF,EAAM,EACjEolU,EAAoBtjT,GAAK,MACzB+sE,EAAO02O,QAAUH,C,wBCjHjB,IAAIplU,EAAM,CACT,6BAA8B,CAC7B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,kCAAmC,CAClC,IACA,KAED,qCAAsC,CACrC,IACA,KAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,yCAA0C,CACzC,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,qCAAsC,CACrC,MACA,MAED,oCAAqC,CACpC,KACA,MAED,uCAAwC,CACvC,KACA,MAED,2CAA4C,CAC3C,MACA,MAED,8CAA+C,CAC9C,MACA,MAED,mBAAoB,CACnB,OAED,sBAAuB,CACtB,OAED,qCAAsC,CACrC,MACA,MAED,wCAAyC,CACxC,MACA,MAED,4CAA6C,CAC5C,MACA,MAED,+CAAgD,CAC/C,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,uCAAwC,CACvC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,mCAAoC,CACnC,MACA,MAED,sCAAuC,CACtC,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,6CAA8C,CAC7C,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,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,SAASolU,EAAoB5mH,GAC5B,IAAI6mH,EAAoBhzR,EAAEryC,EAAKw+M,GAC9B,OAAO38H,QAAQ2M,UAAU/2E,MAAK,WAC7B,IAAI7f,EAAI,IAAIiiD,MAAM,uBAAyB2kK,EAAM,KAEjD,MADA5mN,EAAEgoU,KAAO,mBACHhoU,CACP,IAGD,IAAI0tU,EAAMtlU,EAAIw+M,GAAM18L,EAAKwjT,EAAI,GAC7B,OAAOzjP,QAAQ0qD,IAAI+4L,EAAIvyT,MAAM,GAAG/S,IAAIqlU,EAAoBztU,IAAI6f,MAAK,WAChE,OAAO4tT,EAAoBvjT,EAC5B,GACD,CACAsjT,EAAoBz9O,KAAO,WAAa,OAAOv8C,OAAOu8C,KAAK3nF,EAAM,EACjEolU,EAAoBtjT,GAAK,MACzB+sE,EAAO02O,QAAUH,C,wBCxSjB,IAAIplU,EAAM,CACT,6BAA8B,CAC7B,MACA,MAED,kCAAmC,CAClC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,kCAAmC,CAClC,IACA,KAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,kCAAmC,CAClC,MACA,MAED,oCAAqC,CACpC,KACA,MAED,qCAAsC,CACrC,MACA,MAED,gCAAiC,CAChC,MACA,MAED,mCAAoC,CACnC,MACA,MAED,gCAAiC,CAChC,MACA,MAED,iCAAkC,CACjC,MACA,MAED,gCAAiC,CAChC,MACA,KAED,2BAA4B,CAC3B,MACA,MAED,6BAA8B,CAC7B,MACA,OAGF,SAASolU,EAAoB5mH,GAC5B,IAAI6mH,EAAoBhzR,EAAEryC,EAAKw+M,GAC9B,OAAO38H,QAAQ2M,UAAU/2E,MAAK,WAC7B,IAAI7f,EAAI,IAAIiiD,MAAM,uBAAyB2kK,EAAM,KAEjD,MADA5mN,EAAEgoU,KAAO,mBACHhoU,CACP,IAGD,IAAI0tU,EAAMtlU,EAAIw+M,GAAM18L,EAAKwjT,EAAI,GAC7B,OAAOD,EAAoBztU,EAAE0tU,EAAI,IAAI7tT,MAAK,WACzC,OAAO4tT,EAAoBvjT,EAC5B,GACD,CACAsjT,EAAoBz9O,KAAO,WAAa,OAAOv8C,OAAOu8C,KAAK3nF,EAAM,EACjEolU,EAAoBtjT,GAAK,MACzB+sE,EAAO02O,QAAUH,C,wBCtGjB,IAAIplU,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,SAASolU,EAAoB5mH,GAC5B,IAAI6mH,EAAoBhzR,EAAEryC,EAAKw+M,GAC9B,OAAO38H,QAAQ2M,UAAU/2E,MAAK,WAC7B,IAAI7f,EAAI,IAAIiiD,MAAM,uBAAyB2kK,EAAM,KAEjD,MADA5mN,EAAEgoU,KAAO,mBACHhoU,CACP,IAGD,IAAI0tU,EAAMtlU,EAAIw+M,GAAM18L,EAAKwjT,EAAI,GAC7B,OAAOzjP,QAAQ0qD,IAAI+4L,EAAIvyT,MAAM,GAAG/S,IAAIqlU,EAAoBztU,IAAI6f,MAAK,WAChE,OAAO4tT,EAAoBvjT,EAC5B,GACD,CACAsjT,EAAoBz9O,KAAO,WAAa,OAAOv8C,OAAOu8C,KAAK3nF,EAAM,EACjEolU,EAAoBtjT,GAAK,MACzB+sE,EAAO02O,QAAUH,C","sources":["app-react/basic-components/blank-separator/blank-horizontal-separator.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.box.ts","app-react/basic-components/layout-wrapper/layout-wrapper.default.box.ts","app-react/basic-components/loading-dots/boxes/loading-dot.box.ts","app-react/basic-components/loading-dots/boxes/loading-dots.box.ts","app-react/basic-components/loading-dots/loading-dots.component.tsx","app-react/basic-components/lobby-grid/lobby-grid.default.box.ts","app-react/basic-components/lobby-grid/lobby-grid.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.default.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.casino777.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.siCis.box.ts","app-react/basic-components/lobby-wrapper/lobby-wrapper.box.ts","app-react/basic-components/main-screen/main-screen.component.tsx","app-react/basic-components/space-between-items-consts.ts","app-react/basic-ui-components/button/base/boxes/button.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.default.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.mrgreen.box.ts","app-react/basic-ui-components/button/base/boxes/label/button-label.box.ts","app-react/basic-ui-components/button/base/boxes/button-icon-wrapper.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.default.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.casino888.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.casino777.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.si.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.delaware.box.ts","app-react/basic-ui-components/button/base/boxes/label-padding-box/button-label-padding.box.ts","app-react/basic-ui-components/button/base/button-hover-colors-helpers.ts","app-react/basic-ui-components/button/base/button.component.tsx","app-react/basic-ui-components/form/select.component.tsx","app-react/basic-ui-components/icon/svg-icon/svg.icon.tsx","app-react/basic-ui-components/x-close-button/x-close-button.box.ts","app-react/components/orbit-swiper/swiper-window.component.tsx","app-react/components/arena-games-lists/arena-games-lists.component.tsx","app-react/react-hooks/use-is-in-viewport.hook.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid-item/live-casino-grid-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/info-item/live-casino-grid-item-info-item.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/css-constants.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/live-casino-grid-item-infobar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/bet-interval/live-casino-grid-item-bet-interval.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-closed-message.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/wrapper/live-casino-grid-item-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/title/live-casino-grid-item-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/jackpot/live-casino-grid-item-jackpot.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/closed-message/live-casino-grid-item-open-at.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/live-casino-grid.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draws.defatult.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/infobar/draws/live-casino-grid-item-draw.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-buttons/live-casino-filter-buttons.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cip.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.cis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.siCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino.navbar.mrgreenCis.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-navbar/live-casino-navbar.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/buttons-active-indicator/buttons-active-indicator.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar.component.tsx","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/css-constants.ts","app-react/components/arena-host/seo-bread-crumbs/seo-breadcrumbs-container.box.ts","app-react/components/arena-host/seo-bread-crumbs/seo-bread-crumbs.component.tsx","app-react/components/balance-box/balance-value.component.tsx","app-react/components/admin-banner/boxes/admin-banner-wrapper.box.ts","app-react/components/admin-banner/admin-banner.component.tsx","app-react/components/banner/banner.component.tsx","app-react/components/base-components/orbit-suspense/orbit-suspense.tsx","app-react/components/base-components/routed-component/routed.component.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-consts.ts","app-react/components/burnout/burnout-animation/burnout-animation-constants.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation-container.box.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation.box.ts","app-react/components/burnout/burnout-animation/boxes/burnout-animation-text.box.ts","app-react/components/burnout/burnout-animation/disposable-burnout-dependencies.ts","app-react/components/burnout/burnout-animation/burnout-animation.component.tsx","app-react/components/burnout/burnout-animation/boxes/burnout-fab.box.tsx","app-react/components/burnout/burnout-animation/burnout-animation-wrapper.component.tsx","app-react/components/clock-and-last-login-box/boxes/clock-last-login.default.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.casino777.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.si.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.default.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.si.box.ts","app-react/components/clock-and-last-login-box/boxes/clock-last-login.siCis.box.ts","app-react/components/clock-and-last-login-box/boxes/last-login.box.ts","app-react/components/clock-and-last-login-box/boxes/padding-fix-ios.box.ts","app-react/components/clock-and-last-login-box/clock-and-last-login-box.component.tsx","app-react/components/clock/boxes/clock.component.default.box.tsx","app-react/components/clock/boxes/clock.component.siCis.box.ts","app-react/components/clock/boxes/clock.component.box.tsx","app-react/components/sdk/sdk.component.tsx","app-react/components/clock/clock.component.tsx","app-react/components/cms-banner/banner-container/banner-container.box.ts","app-react/components/cms-banner/banner-container/banner-container.default.box.ts","app-react/components/cms-banner/cms-banner.component.tsx","app-react/components/daily-deal/boxes/daily-deal-container.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest-glow.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest.box.ts","app-react/components/daily-deal/boxes/daily-deal-text-strip.box.ts","app-react/components/daily-deal/boxes/daily-deal-chest-halo.box.ts","app-react/components/daily-deal/daily-deal.component.tsx","app-react/components/free-play/boxes/container/free-play-container.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper.box.ts","app-react/components/free-play/boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box.ts","app-react/components/free-play/parts/voucher-card/swiper/vouchers-swiper.component.tsx","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.default.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.mrGreenCis.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.siCis.box.ts","app-react/components/free-play/boxes/voucher-games-list/voucher-games-list.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper-title.box.ts","app-react/components/free-play/boxes/vouchers-swiper/vouchers-swiper-background.box.ts","app-react/components/free-play/boxes/voucher-games-list-title/voucher-games-list-title.box.ts","app-react/components/free-play/free-play-container.component.tsx","app-react/components/free-play/boxes/voucher-card/voucher-card.box.ts","app-react/components/free-play/boxes/voucher-card/voucher-card-side.box.ts","app-react/components/free-play/boxes/voucher-card/face/voucher-card-face.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/voucher-card-face-content.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/voucher-card-side-footer.box.ts","app-react/components/free-play/boxes/voucher-card/face/footer/voucher-card-face-footer.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/voucher-card-face-details.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/icon/voucher-card-face-icon.box.ts","app-react/components/free-play/boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box.ts","app-react/components/free-play/boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box.ts","app-react/components/free-play/boxes/voucher-card/face/header/voucher-card-face-header.box.ts","app-react/components/free-play/parts/voucher-card/face/voucher-card-face-header.component.tsx","app-react/components/free-play/parts/voucher-card/face/voucher-card-face.component.tsx","app-react/components/free-play/boxes/voucher-card/back/voucher-card-back.box.ts","app-react/components/free-play/boxes/voucher-card/back/header/voucher-card-back-header.box.ts","app-react/components/free-play/boxes/voucher-card/back/content/voucher-card-back-content.box.ts","app-react/components/free-play/boxes/voucher-card/back/footer/voucher-card-back-footer.box.ts","app-react/components/free-play/parts/voucher-card/back/voucher-card-back.component.tsx","app-react/components/free-play/parts/voucher-card/voucher-card.component.tsx","app-react/components/free-play/voucher-card-css-constants.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-animated-icon.default.box.ts","app-react/components/free-to-play-animated-icon/boxes/free-to-play-click.box.ts","app-react/components/free-to-play-animated-icon/free-to-play-animated-icon.component.tsx","app-react/components/game-item/boxes/game-item-container.box.ts","app-react/components/game-item/boxes/game-item-img-wrapper.box.ts","app-react/components/game-item/boxes/game-item-fp-thumb.box.ts","app-react/components/game-item/boxes/game-item-delimiter.box.ts","app-react/components/game-item/boxes/game-item-details-wrapper.box.ts","app-react/components/game-item/boxes/game-item-title.box.ts","app-react/components/game-item/boxes/game-item-jackpot.box.ts","app-react/components/game-item/boxes/game-item-buttons-area.box.ts","app-react/components/game-item/game-item.component.tsx","app-react/components/game-jackpot/boxes/root/game-jackpot.default.box.ts","app-react/components/game-jackpot/boxes/root/game-jackpot.si.box.ts","app-react/components/game-jackpot/boxes/root/game-jackpot.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.default.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.si.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.mrgreen.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.siCis.box.ts","app-react/components/game-jackpot/boxes/value/game-jackpot-value.box.ts","app-react/components/game-jackpot/game-jackpot.component.tsx","app-react/components/game-window/game-css-constants.ts","app-react/components/game-window/header-bar/common/boxes/close-game-button/game-header-bar-close-button.box.ts","app-react/components/geo/boxes/geo-modal-wrapper.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.default.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.si.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.cis.box.ts","app-react/components/header/boxes/header-navbar-mobile-base/header-navbar-mobile-base.box.ts","app-react/components/header/header-consts.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.default.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.mrgreen.box.ts","app-react/components/header/top-header-left/regulatory-data/boxes/regulatory-data.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.default.box.ts","app-react/components/header/gambling-warning/boxes/gambling-warning.box.ts","app-react/components/header/gambling-warning/gambling-warning.component.tsx","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.default.box.ts","app-react/components/header/responsible-icons/boxes/responsible-gaming-icons.box.ts","app-react/components/header/responsible-icons/responsible-icons.component.tsx","app-react/components/header/top-header-left/regulatory-data/regulatory-data.component.tsx","app-react/components/header/welcome-buttons/header-welcome-buttons-helpers.tsx","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.default.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.harrahs.box.ts","app-react/components/header/welcome-buttons/anonymous-user/boxes/buttons-container/anonymous-buttons-container.box.ts","app-react/components/header/welcome-buttons/anonymous-user/header-welcome-buttons-for-anonymous-user.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/mobile-container/mobile-container.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/icon/user-icon.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/bankroll/user-bankroll.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.default.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.si.box.ts","app-react/components/header/welcome-buttons/authorized-user/boxes/free-play-dot-indicator/free-play-dot-indicator.box.ts","app-react/components/header/welcome-buttons/authorized-user/mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/boxes/pc-container/pc-container.box.ts","app-react/components/header/buttons/cashier-button/header-cashier-button.component.tsx","app-react/components/header/welcome-buttons/authorized-user/pc-view/header-welcome-buttons-for-authorized-user-pc-view.component.tsx","app-react/components/header/welcome-buttons/authorized-user/header-welcome-buttons-for-authorized-user.component.tsx","app-react/components/header/welcome-buttons/boxes/header-welcome-buttons.box.ts","app-react/components/header/welcome-buttons/header-welcome-buttons.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.component.tsx","app-react/components/inside-orbit-menu-container/inside-orbit-menu-container.consts.ts","app-react/components/link-to-offer/boxes/link-to-offer-base/link-to-offer-box-base.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-icon/link-to-offer-icon.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.default.box.ts","app-react/components/link-to-offer/link-to-offer.component.tsx","app-react/components/lobby-header/boxes/lobby-header.default.box.ts","app-react/components/lobby-header/boxes/lobby-header.casino777.box.ts","app-react/components/lobby-header/boxes/lobby-header.si.box.ts","app-react/components/lobby-header/boxes/lobby-header.mrgreen.box.ts","app-react/components/lobby-header/boxes/lobby-header.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.default.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.si.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.mrgreen.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.default.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.casino777.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.mrgreen.box.ts","app-react/components/lobby-header/boxes/line/lobby-header-line.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-buttons-container.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.default.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.777.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.mrgreen.box.ts","app-react/components/lobby-header/boxes/buttons/lobby-header-button.box.ts","app-react/components/lobby-header/boxes/title/lobby-header-title.container.box.ts","app-react/components/lobby-header/lobby-header.component.tsx","app-react/components/lottie-player/lottie-player.component.tsx","app-react/components/loyalty-bar/loyalty-bar-wrapper.component.tsx","app-react/components/modal-dialog/boxes/text/dialog-text.box.ts","app-react/components/modal-dialog/boxes/actions/buttons-wrapper.box.ts","app-react/components/modal-dialog/boxes/actions/button-wrapper.box.ts","app-react/components/modal-dialog/boxes/actions/link-action.box.ts","app-react/components/modal-dialog/boxes/actions/link-wrapper.box.ts","app-react/components/modal-dialog/modal-dialog-actions.component.tsx","app-react/components/raw-components/aspect-ratio-container/aspect-ratio-container.component.tsx","app-react/components/raw-components/link/link.tsx","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.default.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/minimum-gambling-age.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.si.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/boxes/icon/minimum-gambling-age-icon.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/minimum-gambling-age/regulations/netherlands/boxes/netherlands-minimum-gambling-age-label.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/regulations/netherlands/netherlands.minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/minimum-gambling-age/regulations/sweden/boxes/sweden.minimum-gambling-age-icon.box.ts","app-react/components/responsible-gambling/minimum-gambling-age/regulations/sweden/sweden.minimum-gambling-age.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/boxes/denmark.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/boxes/denmark.responsible-gaming-button-base.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/safe-to-play-button/boxes/denmark.safe-to-play-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/safe-to-play-button/denmark.safe-to-play-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-exclusion/boxes/denmark.self-exclusion-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-exclusion/denmark.self-exclusion-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-test-button/boxes/denmark.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/self-test-button/denmark.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/denmark/denmark.responsible-gaming-buttons.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/css-classes.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup-time.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-popup-ok.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/panic-button-popup.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip-click-here.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-tooltip-close.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/boxes/panic-button-mobile-overlay.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/germany/responsible-gaming-buttons-germany.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/netherlands/self-test-button/boxes/netherlands.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/netherlands/self-test-button/netherlands.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/boxes/ontario.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/safe-to-play/boxes/ontario.safe-to-play-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/safe-to-play/ontario.safe-to-play-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/ontario/ontario.responsible-gaming-buttons.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/boxes/sweden.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/boxes/sweden.responsible-gaming-button-base.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-exclusion-button/boxes/sweden.self-exclusion-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-exclusion-button/sweden.self-exclusion-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/gaming-limits/boxes/sweden.gaming-limits-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/gaming-limits/sweden.gaming-limits-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-test-button/boxes/sweden.self-test-button.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/self-test-button/sweden.self-test-button.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/sweden/sweden.responsible-gaming-buttons.component.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.default.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.casino777.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/deposit/deposit-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-label.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/icons/arrow-side-menu-link.icon.ts","app-react/components/side-menu-rework/side-menu-items/boxes/side-menu-item-container.box.ts","app-react/components/side-menu-rework/side-menu-items/side-menu-item-container.component.tsx","app-react/components/single-game/common/boxes/game-image/game-image.box.ts","app-react/components/single-game/common/boxes/game-image/game-image.default.box.ts","app-react/components/single-game/common/boxes/game-image/game-image-animated.box.ts","app-react/components/single-game/common/boxes/game-image/game-image-animated.default.box.ts","app-react/components/single-game/common/parts/game-image/game-image-animated.component.tsx","app-react/components/single-game/common/parts/game-image/game-image.component.tsx","app-react/components/single-game/css-constants.ts","app-react/components/top-image/boxes/top-banner/top-banner.default.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.777.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.si.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.mrgreen.box.ts","app-react/components/top-image/boxes/top-banner/top-banner.box.ts","app-react/components/top-image/boxes/top-banner-image/top-banner-image.box.ts","app-react/components/top-image/boxes/top-banner-image/top-banner-image.default.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.default.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.casino777.box.ts","app-react/components/top-image/boxes/top-banner-logo-image/top-banner-logo-image.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.default.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.casino777.box.ts","app-react/components/top-image/boxes/top-banner-title/top-banner-title.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.default.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.casino777.box.ts","app-react/components/top-image/boxes/top-banner-live-logo/top-banner-live-logo.box.ts","app-react/components/animated-top-image/animated-top-image.component.tsx","app-react/components/top-image/top-image.component.tsx","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.default.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.cip.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.casino777.box.ts","app-react/components/useful-links/boxes/useful-links-list/useful-links-list.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.default.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.casino777.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.cip.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.mrgreen.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item.box.ts","app-react/components/useful-links/boxes/useful-links-item/useful-links-item-side-text.box.ts","app-react/components/useful-links/parts/useful-link-item/useful-link-inner-item.component.tsx","app-react/components/useful-links/parts/useful-links-list/useful-links-list.component.tsx","app-react/components/user-menu/user-menu-items/boxes/user-menu-separator.box.ts","app-react/react-hooks/use-services.hook.ts","app-react/services/ServiceBase.ts","app-react/services/analytics/analytics.service.interface.ts","app-react/services/arenas/arena-consts.ts","app-react/components/cms-banner/empty-banner/empty-banner-container.box.ts","app-react/components/cms-banner/empty-banner/empty-banner.component.tsx","app-react/services/cms/cms-banners/banner-definition/empty-banner-definition.tsx","app-react/services/cms/cms-banners/cm-banner-id/cms-banner-id.ts","app-react/services/cms/cms-content-decorator/cms-link.ts","app-react/services/cms/cms-content-decorator/evaluate-scripts.ts","app-react/services/cms/cms-content-decorator/cms-content-decorator.ts","app-react/services/dialog/dialog.service.interface.ts","app-react/services/external-links/handlers/pending-action/pending-action.external-link-handler.interface.ts","app-react/services/external-links/handlers/registration/registration.external-link-handler.interface.ts","app-react/services/game-runner/interfaces/game-context/game-context-view-model.interface.ts","app-react/services/game-runner/interfaces/game-step/game-run-step.interface.ts","app-react/services/games-filter/games-filter.service.interface.ts","app-react/services/gaming-history/gaming-history-type.ts","app-react/services/gnwp/gnwp-consts.ts","app-react/services/media-query/breakpoints.ts","app-react/services/media-query/media-query-builder.ts","app-react/services/media-query/media-queries.ts","app-react/services/menu-item-action-factory/custom-actions/about-dialog.action.ts","app-react/services/menu-item-action-factory/custom-actions/cashier-upload-documents.action.ts","app-react/services/menu-item-action-factory/custom-actions/chat.action.ts","app-react/services/menu-item-action-factory/custom-actions/com-points.action.ts","app-react/services/menu-item-action-factory/custom-actions/control-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/deposit.action.ts","app-react/services/menu-item-action-factory/custom-actions/game-reminders.action.ts","app-react/services/menu-item-action-factory/custom-actions/help-center.action.ts","app-react/services/menu-item-action-factory/custom-actions/hybrid-info.action.ts","app-react/services/menu-item-action-factory/custom-actions/inactivity-timeout-settings.action.ts","app-react/services/menu-item-action-factory/custom-actions/install-pwa.action.ts","app-react/services/menu-item-action-factory/custom-actions/loyalty-indicator.action.ts","app-react/services/menu-item-action-factory/custom-actions/my-club.action.ts","app-react/services/menu-item-action-factory/custom-actions/push-notifications-permissions-request.action.ts","app-react/services/menu-item-action-factory/custom-actions/reverse-withdrawal.action.ts","app-react/services/menu-item-action-factory/custom-actions/sign-up.action.ts","app-react/services/menu-item-action-factory/custom-actions/test-regulation-specific.action.ts","app-react/services/menu-item-action-factory/custom-actions/time-spent-reminder.action.ts","app-react/services/menu-item-action-factory/custom-actions/touch-id.action.ts","app-react/services/menu-item-action-factory/custom-actions/transaction-history.action.ts","app-react/services/menu-item-action-factory/menu-item-action-base.ts","app-react/services/menu-items-common/renderer/menu-item-renderer-base.ts","app-react/services/pixi-app/animated-icon-base-service.service.ts","app-react/services/pixi-app/pixi-spine-animation.ts","app-react/components/side-menu-rework/side-menu-items/deposit-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/deposit-side-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/loyalty-indicator-menu-item.renderer.tsx","app-react/components/side-menu-rework/side-menu-items/boxes/link/signup/signup-side-menu-item.box.ts","app-react/components/side-menu-rework/side-menu-items/signup-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/custom-renderers/sign-up-side-menu-item.renderer.tsx","app-react/services/storage/session-storage-keys.ts","app-react/services/theme/standard-theme-customizer.ts","app-react/services/toaster/toaster.service.interface.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors.ts","app-react/services/user-menu/menu-items/useful-links/custom-renderers/hybrid-info-menu-item.renderer.tsx","app-react/services/user-menu/menu-items/useful-links/custom-renderers/touch-id-menu-item.renderer.ts","app-react/components/useful-links/parts/useful-link-item/useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-useful-links-menu-item-renderer.tsx","app-react/themes/architecture/asset.ts","app-react/themes/architecture/by-theme-registry.ts","app-react/themes/architecture/css-helpers/css-rule.ts","app-react/themes/architecture/css-helpers/flex.ts","app-react/themes/architecture/gray-colors.ts","app-react/themes/architecture/sections/theme-layout.interface.ts","app-react/themes/architecture/styled-by-device.tsx","app-react/themes/architecture/styled-by-theme.tsx","app-react/themes/architecture/theme-names.ts","app-react/themes/assets.ts","app-react/themes/defaults/icons/info.icon.tsx","app-react/themes/defaults/icons/search.icon.tsx","app-react/themes/definitions/casino777/base-colors.ts","app-react/themes/definitions/casino888/cis/base-colors.ts","app-react/themes/definitions/harrahs/base-colors.ts","app-react/themes/definitions/mrgreen/base-colors.ts","app-react/themes/definitions/si/base-colors.ts","app-react/themes/definitions/si/cis/base-colors.ts","app-react/themes/hex-to-rgba.ts","common/const/ab-testing-names.ts","common/const/casinofied-analytics-consts.ts","common/const/free_play_consts.ts","common/const/game_groups_consts.ts","common/const/jackpot_map_ids.ts","common/const/migration_consts.ts","common/const/responsible-gaming.ts","common/const/service-worker-constants.ts","common/const/state-of-residence-cookie_const.ts","common/const/temp_account_status.ts","common/const/wallet_balance_type.ts","common/cy-classes.ts","common/enums/game-childish-icon-mode.enum.ts","common/interfaces/orbit-component-to-sdk-adapter/components-props/time-spent-reminder-options.ts","common/utils/color-util.ts","common/utils/image-preload.ts","app-react/app-bootstrap/application-startup-configurations-reader/application-startup-configurations-reader.ts","app-react/app-bootstrap/sdk-initializer/sdk-hooks-provider.ts","app-react/services/configurations/evaluation/properties-evaluator/properties-evaluator.ts","app-react/services/configurations/evaluation/statements/statements-evaluator/statements-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/object-evaluator/object-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/array-evaluator/array-evaluator.ts","app-react/services/configurations/evaluation/value-evaluators/simple-value-evaluator/simple-value-evaluator.ts","app-react/services/configurations/evaluation/statements/statement-evaluator/statement-evaluator.ts","app-react/services/configurations/evaluation/statements/logical-operators/base-logical-operator.ts","app-react/services/configurations/evaluation/statements/logical-operators/or-logical-operator/or-logical-operator.ts","app-react/services/configurations/evaluation/statements/logical-operators/and-logical-operator/and-logical-operator.ts","app-react/services/configurations/evaluation/statements/segmentation-rule/segmentation-rule.ts","app-react/services/configurations/evaluation/statements/comparison-operators/base-comparison-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/equal-operator/equal-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/not-equal-operator/not-equal-operator.ts","app-react/services/configurations/evaluation/property-level-context/property-level-context.ts","app-react/services/configurations/evaluation/property-evaluator/property-evaluator.ts","app-react/services/configurations/create-statements-definition.ts","app-react/services/configurations/evaluation/special-properties-evaluators/games-id-property-evaluator/games-id-property-evaluator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/is-falsy-operator/is-falsy-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/greater-than-operator/greater-than-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/less-than-operator/less-than-operator.ts","app-react/services/configurations/evaluation/statements/comparison-operators/any-of-operator/any-of-operator.ts","app-react/services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-context.ts","app-react/services/game-preview-features-selector/preview-features/game-preview-feature.interface.ts","app-react/app-bootstrap/sdk-initializer/sdk-initializer.ts","app-react/services/qa-environment-pop-up-blocker/qa-environment-pop-up-blocker.service.constants.ts","app-react/services/qa-environment-pop-up-blocker/qa-environment-pop-up-blocker.service.ts","app-react/services/video-live-stream/video-playing-service-base.ts","app-react/services/video-live-stream/live-stream-playing.service.ts","app-react/services/translation/text-translation.ts","app-react/services/translation/translation.service.ts","app-react/services/currency/currency-symbol.interface.ts","app-react/services/currency/currency.service.ts","app-react/services/analytics/analytics.service.ts","app-react/services/lobby-game-info-preview/lobby-game-info-preview.service.ts","app-react/services/running-game/running-game.service.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.casino777.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/title/boxes/game-info-button/game-info-button.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.default.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.mrgreen.box.ts","app-react/components/modal-dialog/boxes/title/dialog-title.box.ts","app-react/components/modal-dialog/boxes/close-button/dialog-close-button.box.ts","app-react/components/modal-dialog/boxes/close-button/dialog-close-button.default.box.ts","app-react/components/modal-dialog/css-classes.ts","app-react/components/modal-dialog/boxes/header/dialog-header.default.box.ts","app-react/components/modal-dialog/boxes/header/dialog-header.cip.box.ts","app-react/components/modal-dialog/boxes/header/dialog-header.mrgreenCis.ts","app-react/components/modal-dialog/boxes/header/dialog-header.box.ts","app-react/components/modal-dialog/boxes/header-buttons/header-buttons-container.box.ts","app-react/components/modal-dialog/parts/header/dialog-header.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/title/title.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/boxes/stripe-image/stripe-image.default.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/boxes/stripe-image/stripe-image.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/stripe-image/game-stripe-image.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/boxes/trailer/trailer.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/boxes/trailer/trailer.default.box.ts","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer/game-trailer.component.tsx","app-react/components/lobby-game-info-preview/common/trailer-or-stripe-image/trailer-or-stripe-image.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-bool/cell-value-bool.default.box.ts","app-react/services/games/games-categories.enum.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-bool/cell-value-bool.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.mrgeen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-value-text/cell-value-text.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.mrgeen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.si.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/boxes/cell-title/cell-title.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/cell/game-feature-cell.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.mrgreen.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/boxes/table-container/table-container.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/features/table/game-features-table.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/about/boxes/game-description-text/game-description-text.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/about/boxes/game-description-text/game-description-text.box.ts","app-react/basic-components/general-title/general-title.default.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.default.box.ts","app-react/basic-components/general-title/general-title.casino777.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.casino777.box.ts","app-react/components/lobby-game-info-preview/common/boxes/section-title/section-title.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/about/game-about.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/game-jackpot-preview/game-jackpot-preview.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/game-jackpot-preview/game-jackpot-preview.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.casino777.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.si.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/boxes/jackpot-amount-preview/jackpot-amount-preview.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/jackpot/game-jackpot-preview.component.tsx","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.default.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.box.ts","app-react/components/lobby-game-info-preview/common/game-info-container/game-preview-info-container.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/boxes/container/container.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/boxes/container/container.default.box.ts","app-react/basic-components/game-icon/game-icon.box.ts","app-react/basic-components/game-icon/game-icon.default.box.ts","app-react/basic-components/play-buttons/play-buttons.box.ts","app-react/basic-components/play-buttons/play-buttons.default.box.ts","app-react/basic-components/game-icon-wrapper/game-icon-wrapper.box.ts","app-react/basic-components/game-icon-wrapper/game-icon-wrapper.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/game-icon-and-play-buttons/game-icon-and-play-buttons.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/boxes/intermediate-page/intermediate-page.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/intermediate-page/intermediate-page.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/stripe-image-and-buttons/stripe-image-and-buttons.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/stripe-image-and-buttons/stripe-image-and-buttons.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.casino777.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/boxes/gradient/gradient.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-image/warning-image.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-image/warning-image.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-text/warning-text.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-text/warning-text.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-message/warning-message.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/boxes/warning-message/warning-message.default.box.ts","app-react/components/lobby-game-info-preview/intermediate-page/only-real-money-warning/only-real-money-warning.component.tsx","app-react/components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component.tsx","app-react/services/restrictions/no-game-restriction.ts","app-react/services/games/game-info.tsx","app-react/services/configurations/inject-admin-arenas.ts","app-react/services/games/games.service.ts","app-react/services/configurations/configurations.service.ts","common/const/ai-trending-list-ids-map.ts","app-react/services/user/user.service.ts","app-react/services/browser-buttons-handler/browser-buttons-handler.service.ts","app-react/services/segmentation-aggregator/segmentation-aggregator.service.ts","app-react/services/client-device/features/client-device.features.ts","app-react/services/client-device/detected/client-device.detected.ts","app-react/services/client-device/client-device.service.ts","app-react/services/device/device.service.ts","app-react/consts/seo-categories.ts","app-react/services/ai-engine/ai-engine.service.ts","app-react/services/deep-link/legacy/deep-link-builders/deeplink-json-object-builder/deeplink-json-object-builder.ts","app-react/services/deep-link/legacy/deep-link-parsers/parsers/deep-link-json-object-parser/deep-link-json-object-parser.ts","app-react/services/deep-link/deeplink-consts.ts","app-react/services/deep-link/legacy/deep-link-parsers/deep-link-parser.service.ts","app-react/services/deep-link/deep-link.service.ts","app-react/services/sdk/cgp-sdk.interface.ts","app-react/services/sdk/sdk-events.ts","app-react/services/sdk/sdk-events-trigger.ts","app-react/services/sdk/sdk.service.ts","app-react/app-bootstrap/constants.ts","app-react/services/games-filter/strategies/no-filter/no-games-filter.strategy.ts","app-react/services/games-filter/games-filter.service.ts","app-react/components/useful-links/parts/useful-link-item/expandable-useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-expandable-useful-links-menu-item-renderer.tsx","app-react/services/menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader.ts","app-react/components/user-menu/user-menu-items/boxes/user-menu-items-title.box.ts","app-react/services/configurations/config-data-sections/arenas.configuration.ts","app-react/components/user-menu/user-menu/boxes/user-menu-section.box.ts","app-react/components/user-menu/user-menu-items/user-menu-item.component.tsx","app-react/services/user-menu/menu-items/user-menu-items/generic-user-user-menu-item-renderer.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-config-reader-base.ts","app-react/services/user-menu/menu-items/user-menu-item-config-reader.ts","app-react/services/user-menu/user-menu.service.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.default.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.casino777.box.ts","app-react/components/single-game/common/boxes/game-badge/game-badge.box.ts","app-react/components/single-game/common/parts/game-badge/game-badge.component.tsx","app-react/components/single-game/common/parts/game-image-container.component/game-image-container.component.tsx","app-react/components/single-game/regular-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.cip.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.si.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.default.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.casino777.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.si.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.cis.box.ts","app-react/components/single-game/regular-template/boxes/min-max-bet-amount/min-max-bet-amount.box.ts","app-react/components/single-game/regular-template/parts/info-page-button/info-page-button.component.tsx","app-react/components/single-game/regular-template/boxes/game-buttons/game-buttons.box.ts","app-react/components/single-game/regular-template/boxes/game-buttons/game-buttons.default.box.ts","app-react/components/single-game/regular-template/parts/play-demo-button/play-demo-button.component.tsx","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.si.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/regular-template/boxes/game-info-container/game-info-container.box.ts","app-react/components/single-game/regular-template/boxes/game-info-container/game-info-container.default.box.ts","app-react/components/single-game/regular-template/boxes/amount-container/amount-container.box.ts","app-react/components/single-game/regular-template/boxes/two-rows-game-title-container/two-rows-game-title-container.box.ts","app-react/components/single-game/regular-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/regular-template/boxes/game/game.default.box.ts","app-react/components/single-game/regular-template/boxes/game/game.casino777.box.ts","app-react/components/single-game/regular-template/boxes/game/game.cis.box.ts","app-react/components/single-game/regular-template/boxes/game/game.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.default.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.casino777.box.ts","app-react/components/single-game/regular-template/boxes/play-real-button/play-real-button.box.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.casino777.box.ts","app-react/components/single-game/video-template/single-game-video-template.component.tsx","app-react/components/single-game/regular-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.default.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.mrgreen.box.ts","app-react/components/single-game/regular-template/boxes/game-number-badge/game-number-badge.box.ts","app-react/components/single-game/regular-template/single-game-regular-template.component.tsx","utils/css-class-name-builder.ts","app-react/components/single-game/jackpot-template/boxes/game/game.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game/game.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-image-container/game-image-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.box.ts","app-react/components/single-game/jackpot-template/boxes/game-details-container/game-details-container.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.default.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/game-title/game-title.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.default.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.casino777.box.ts","app-react/components/single-game/jackpot-template/boxes/jackpot-amount/jackpot-amount.box.ts","app-react/components/single-game/jackpot-template/parts/game-details-container/game-details-container.component.tsx","app-react/components/single-game/jackpot-template/single-game-jackpot-template.component.tsx","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.box.ts","app-react/components/single-game/live-template/boxes/live-game-container/live-game-container.default.box.ts","app-react/components/single-game/live-template/single-game-live-template.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile/boxes/video-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.box.ts","app-react/components/live-streaming-tile/video-common-components/video-overlay-item/video-overlay-item.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/boxes/video-sound-button-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-sound-button/video-sound-button.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/video-tile-overlay.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-overlay/boxes/video-tile-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.mrgreen.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-static-image-overlay/video-tile-static-image-overlay.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton-container/video-tile-skeleton-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/boxes/video.box.ts","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-play-button/video-play-button.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-container/video-container.box.ts","app-react/components/live-streaming-tile/video-common-components/video-component/video.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-skeleton/video-tile-skeleton.defaultbox.ts","app-react/components/single-game/single-game-skeleton.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-tile-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-icon-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen-boxes/video-retry-screen-text-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-retry-screen/video-retry-screen.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-thumbnail-image/video-thumbnail-image.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-betting-range/video-tile-betting-range-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-game-title/video-tile-game-title-default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section.box.ts","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer-section-default.box.ts","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box.tsx","app-react/components/live-streaming-tile/static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile-footer/video-tile-footer.component.tsx","app-react/components/live-streaming-tile/video-common-components/video-tile/video-tile.component.tsx","app-react/components/single-game/video-template/boxes/video-item-container.box.ts","app-react/components/single-game/video-template/boxes/video-item-container-default.box.ts","app-react/components/single-game/single-game.component.tsx","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.default.box.ts","app-react/services/jackpots/jackpots.service.interface.ts","app-react/components/single-game-placeholder/boxes/placeholder/game-placeholder.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.box.ts","app-react/components/single-game-placeholder/boxes/game-image/game-image.default.box.ts","app-react/components/single-game-placeholder/single-game-placeholder.component.tsx","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.casino777.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-wrapper/swiper-wrapper.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.default.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.siCis.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.mrgreen.box.ts","app-react/components/orbit-swiper/boxes/swiper-games-list/swiper-games-list.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.box.ts","app-react/components/orbit-swiper/boxes/swiper/swiper.default.box.ts","app-react/components/orbit-swiper/orbit-swiper.component.tsx","app-react/components/recently-played/recently-played.component.tsx","app-react/services/arenas/models/lists/games-list-base.model.tsx","app-react/components/game-list-title/constants.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.default.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.wsop.cip.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.cis.box.ts","app-react/components/game-list-title/boxes/list-title-icon/list-title-icon.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.default.box.ts","app-react/components/jackpot-widget/boxes/jackpot-widget.box.ts","app-react/components/jackpot-widget/boxes/bg/jackpot-widget-bg.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.default.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.mrgreen.box.ts","app-react/components/jackpot-widget/boxes/logo/jackpot-widget-logo.box.ts","app-react/components/jackpot-widget/boxes/amount/jackpot-widget-amount.box.ts","app-react/components/jackpot-widget/boxes/footer/jackpot-widget-footer.box.ts","app-react/components/jackpot-widget/boxes/footer/clock/label/jackpot-widget-clock-label.box.ts","app-react/components/jackpot-widget/boxes/footer/clock/box/jackpot-widget-clock.box.ts","app-react/components/jackpot-widget/jackpot-widget-clock.component.tsx","app-react/components/jackpot-widget/boxes/amount/label/jackpot-widget-amount-label.box.ts","app-react/components/jackpot-widget/boxes/footer/collecting/label/jackpot-widget-collecting-label.ts","app-react/components/jackpot-widget/boxes/footer/collecting/amount/jackpot-widget-collecting-amount.ts","app-react/components/jackpot-widget/boxes/shine/jackpot-widget-shine.box.ts","app-react/components/jackpot-widget/jackpot-widget.component.tsx","app-react/components/jackpot-widget/boxes/aspect-ratio/jackpot-widget-aspect-ratio.box.ts","app-react/components/jackpot-widget/boxes/amount/jackpot-widget-amount-container.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-element-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box.ts","app-react/components/jackpot-widget/skeleton/boxes/jackpot-widget-amount-skeleton.box.ts","app-react/basic-ui-components/layout/spacer.box.ts","app-react/components/jackpot-widget/boxes/title/jackpot-title.box.ts","app-react/components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.box.ts","app-react/components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.default.box.ts","app-react/components/red-tiger-widget/boxes/widget/red-tiger-widget.box.ts","app-react/components/red-tiger-widget/boxes/widget/red-tiger-widget.default.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.default.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.casino777.box.ts","app-react/components/red-tiger-widget/boxes/hitArea/red-tiger-widget-hit-area.box.ts","app-react/components/red-tiger-widget/boxes/frameContainer/red-tiger-widget-frame-container.default.box.ts","app-react/components/red-tiger-widget/boxes/frameContainer/red-tiger-widget-frame-container.box.ts","app-react/components/red-tiger-widget/red-tiger-widget.component.tsx","app-react/basic-components/general-title/general-title.si.box.ts","app-react/basic-components/general-title/general-title.box.tsx","app-react/components/game-list-title/boxes/list-title-text/list-title-text.default.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.casino777.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cip.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.cis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.si.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.siCis.box.ts","app-react/components/game-list-title/boxes/list-title-text/list-title-text.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.default.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.casino777.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.mrgreen.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cip.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.cis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.siCis.box.ts","app-react/components/game-list-title/boxes/list-title/list-title.box.ts","app-react/components/game-list-title/game-list-title.component.tsx","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.default.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.casino777.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/wrapper/swiper-buttons.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/boxes/button/swiper-button.box.ts","app-react/components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons.tsx","app-react/services/arenas/models/swiper-logic-handler/swipe-logic-handler.ts","app-react/components/titan-jackpot-widget/titan-jackpot-animation.component.tsx","app-react/components/titan-jackpot-widget/boxes/titan-jackpot-amount-container.box.ts","app-react/components/titan-jackpot-widget/titan-jackpot-amount.component.tsx","app-react/components/titan-jackpot-widget/titan-jackpot-widget.component.tsx","app-react/services/arenas/models/lists/swiper-list-base.model.tsx","app-react/services/arenas/models/lists/api-list-base.model.tsx","app-react/services/arenas/models/lists/recently-played/recently-played-list.model.tsx","app-react/components/ai-list/top-picks.component.tsx","app-react/services/arenas/models/lists/top-picks/top-picks-list.model.tsx","app-react/components/ai-new-games-list/ai-new-games-list.component.tsx","app-react/services/arenas/models/lists/new-games/new-games-list.model.tsx","app-react/components/players-like-you/players-like-you.component.tsx","app-react/services/arenas/models/lists/players-like-you/players-like-you-list.model.tsx","app-react/services/arenas/models/lists/static-swiper/static-swiper-list.model.tsx","app-react/components/games-grid/games-grid-batch/games-grid-batch.component.tsx","app-react/components/games-grid/boxes/games-grid/games-grid.default.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.casino777.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.siCis.box.ts","app-react/components/games-grid/boxes/games-grid/games-grid.box.ts","app-react/components/games-grid/boxes/no-games-found-message/no-games-found-message.box.ts","app-react/components/games-grid/boxes/no-games-found-message/no-games-found-message.default.box.ts","app-react/components/games-grid/boxes/games-grid-container.box.ts","app-react/components/games-grid/games-grid.component.tsx","app-react/services/arenas/models/lists/games-grid/games-grid-list.model.tsx","app-react/services/arenas/models/lists/live-casino/live-casino-list.model.tsx","app-react/components/because-you-played/because-you-played.component.tsx","app-react/services/arenas/models/lists/because-you-played/because-you-played-list.model.tsx","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.default.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box.ts","app-react/components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.default.box.ts","app-react/services/arenas/models/swiper-logic-handler/live-stream-swipe-logic-handler.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.default.box.ts","app-react/components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box.ts","app-react/components/video-list-component/video-list.component.tsx","app-react/services/arenas/models/lists/video-list/default-video-list.model.tsx","app-react/services/arenas/models/lists/video-list/live-streaming-video-list.model.tsx","app-react/services/user-game-orientation/user-game-orientation.service.interface.ts","app-react/services/arenas/models/lists/video-list/static-video-list.model.tsx","app-react/services/arenas/models/lists/list-factory.ts","app-react/services/arenas/models/arenas/arena-base.model.tsx","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item/home-page-header-arena-menu-item.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/tile/home-page-header-arena-tile.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/name/home-page-header-arena-name.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.si.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-badge/home-page-header-arena-badge.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.default.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.mrgreen.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.casino777.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arenas-container.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.box.ts","app-react/components/home-page-header-arenas/boxes/home-page-header-arena-link/home-page-header-arena-link.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.default.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.si.box.ts","app-react/components/home-page-header-arenas/boxes/tiles/skeleton/home-page-header-arena-skeleton.box.ts","app-react/components/home-page-header-arenas/home-page-header-arena-tile.component.tsx","app-react/components/home-page-header-arenas/home-page-header-arenas.component.tsx","app-react/components/home-page/boxes/home-page-top-banner-background.box.ts","app-react/components/home-page/boxes/home-page-top-banner-divider-line.ts","app-react/components/home-page/home-page.component.tsx","app-react/services/arenas/models/arenas/home-page/home-page-arena.model.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-picture/arena-picture.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-title/arena-title.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/boxes/arena-description-text/arena-description-text.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.default.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/boxes/lobby-game-info/lobby-game-info.box.ts","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/arena-info-preview/arena-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/title/pc-game-preview-title.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/parts/game-info-preview/game-info-preview.component.tsx","app-react/components/lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component.tsx","app-react/components/arena-host/casino-arena/casino-arena.template-types.ts","app-react/components/arena-host/casino-arena/casino-arena.component.tsx","app-react/services/arenas/models/filters-configuration-to-map.ts","app-react/services/games-filter/evaluators/game-filter-evaluator.interface.ts","app-react/services/games-filter/strategies/games-filter-strategy-base.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.default.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.mrgreen.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.si.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-category-content.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-Item.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/input.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/sub-filters.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/filter-item-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-item.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category-content.component.tsx","app-react/components/filters/advanced-filtering/filter-category/boxes/title-container.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/title.box.ts","app-react/components/filters/advanced-filtering/filter-category/boxes/preview.box.ts","app-react/components/filters/advanced-filtering/filter-category/filter-category-header.component.tsx","app-react/components/filters/advanced-filtering/filter-category/filter-category.component.tsx","app-react/components/filters/advanced-filtering/filter-categories-list/filter-categories-list.component.tsx","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.default.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.mrgreen.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.si.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.default.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.mrgreen.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.si.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-footer.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-header.box.ts","app-react/components/filters/advanced-filtering/boxes/advanced-games-filter-button.box.ts","app-react/components/filters/advanced-filtering/filter-categories-list/boxes/filter-by.box.ts","app-react/components/filters/advanced-filtering/boxes/filter-categories-list.box.ts","app-react/components/filters/advanced-filtering/advanced-games-filter.component.tsx","app-react/services/games-filter/strategies/advanced-filter/advanced-games-filter-drawer-renderer.tsx","app-react/services/games-filter/arena-filters/filters/arena-game-filter-editor.ts","app-react/services/games-filter/arena-filters/categories/arena-game-filters-category-editor.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-filters-analytics.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor.ts","app-react/services/games-filter/evaluators/and-game-filters-evaluator.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.default.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.casino777.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.mrgreen.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box.ts","app-react/components/header/top-header-left/filters/filters-mobile-button.component.tsx","app-react/components/filters/advanced-filtering/boxes/indicator-container.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filter-indicator.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filters.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/remove-filter-button.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/boxes/applied-filter-name.box.ts","app-react/components/filters/advanced-filtering/indicators/pc-indicator/applied-filters-pc-indicator-for-advanced-filtering.component.tsx","app-react/services/games-filter/arena-filters/categories/arena-game-filters-category-base.ts","app-react/services/games-filter/arena-filters/filters/arena-game-filter-base.ts","app-react/services/games-filter/arena-filters/filters/dynamic-arena-game-filter.ts","app-react/services/games-filter/arena-filters/categories/dynamic-arena-game-filters-category.ts","app-react/services/games-filter/evaluators/or-game-filters-evaluator.ts","app-react/services/games-filter/filters-categories-definitions/filter-category-definition-base.ts","app-react/services/game-vendor/game-vendor-id.enum.ts","app-react/services/games-filter/filters-definitions/game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/volatility/high-volatility.filter-definition.ts","app-react/services/games-filter/filters-definitions/volatility/low-volatility.filter-definition.ts","app-react/services/games-filter/filters-definitions/volatility/medium-volatility.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/volatility.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/game-feature-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-features/one-to-twenty-five.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/twenty-five-plus.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/new-game.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/low-stake.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/high-stake.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/bonus-game.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/free-spins.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/has-side-bets.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-features/is-multi-hand.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-features.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-dailight-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-twilight-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-captain8-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-red-tiger-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-jackpot.filter-definition.ts","app-react/services/games-filter/filters-definitions/jackpot/has-no-jackpot.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/has-jackpot.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/vendor/vendor.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-vendor.filters-category-definition.ts","app-react/services/game-theme/game-theme-id.enum.ts","app-react/services/games-filter/filters-definitions/game-group-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/craps.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/keno.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lunge.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-filter-definition-base.ts","app-react/services/games-filter/filters-definitions/game-group/live-game-shows.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/roulette.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/scratchcards.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/slots.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/other-game-group.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-baccarat.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-blackjack.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-poker.filter-definition.ts","app-react/services/games-filter/filters-definitions/game-group/live-roulette.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-group.filters-category-definition.ts","app-react/services/games-filter/filters-definitions/theme/game-theme.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/game-theme.filters-category-definition.ts","app-react/services/storage/local-storage-keys.ts","app-react/services/games-filter/filters-categories-definitions/filter-category-definition-factory.ts","app-react/services/games-filter/strategies/advanced-filter/advanced-games-filter.strategy.tsx","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.default.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.casino777.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.si.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.mrgreen.box.ts","app-react/components/filters/filter-link/boxes/icon/filter-link-icon.box.ts","app-react/components/filters/filter-link/boxes/filter-link.default.box.ts","app-react/components/filters/filter-link/boxes/filter-link.casino777.box.ts","app-react/components/filters/filter-link/boxes/filter-link.si.box.ts","app-react/components/filters/filter-link/boxes/filter-link.mrgreen.box.ts","app-react/components/filters/filter-link/boxes/filter-link.box.ts","app-react/components/filters/filter-link/filter-link.component.tsx","app-react/components/filters/filter-link-list/filters-games-list.default.box.ts","app-react/components/filters/filter-link-list/filters-games-list.box.ts","app-react/components/filters/filter-link-list/filter-link-list.component.tsx","app-react/components/filters/filters-games-list-mobile/boxes/popup/filters-games-mobile-popup.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/popup/menu/filters-mobile-buttons.default.box.ts","app-react/components/filters/filters-games-list-mobile/boxes/popup/menu/filters-mobile-buttons.box.ts","app-react/components/filters/filters-games-list-mobile/filters-games-list-mobile.component.tsx","app-react/services/games-filter/strategies/simple-games-filter/simple-strategy-filters-editor.ts","app-react/services/games-filter/filters-definitions/other/other.filter-definition.ts","app-react/services/games-filter/filters-categories-definitions/other.filters-category-definition.ts","app-react/services/games-filter/arena-filters/filters/static-arena-game-filter.ts","app-react/services/games-filter/arena-filters/categories/static-arena-game-filters-category.ts","app-react/components/filters/filters-games-list-pc/boxes/filters-game-list-pc.default.box.ts","app-react/components/filters/filters-games-list-pc/boxes/filters-game-list-pc.box.ts","app-react/components/filters/filters-games-list-pc/filters-games-list-pc.component.tsx","app-react/services/games-filter/arena-filters/filters/adhoc-arena-game-filter.ts","app-react/services/games-filter/filters-definitions/company/company.filter-definitions.ts","app-react/services/games-filter/arena-filters/categories/adhoc-arena-games-filters-category.ts","app-react/services/games-filter/strategies/simple-games-filter/simple-games-filter.strategy.tsx","app-react/services/arenas/models/arenas/casino-lobby/casino-lobby-arena.model.tsx","app-react/services/arenas/models/arenas/void-arena/void-arena.model.ts","app-react/services/arenas/models/lists-sort-order-storage.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-filter-button-label/live-casino-filter-button-label.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.default.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.casino777.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.si.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.mrgreen.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box.ts","app-react/components/arena-host/new-live-casino-arena/live-casino-arena-navbar/live-casino-arena-navbar-button.component.tsx","app-react/components/arena-host/new-live-casino-arena/new-live-casino-arena.component.tsx","app-react/services/arenas/models/arenas/new-live-casino/new-live-casino-arena.model.tsx","app-react/services/arenas/models/arenas/live-casino/live-casino-arena.model.tsx","app-react/services/arenas/arenas.service.tsx","app-react/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.tsx","app-react/services/sitemap/breadcrumbs/non-navigatable-breadcrumb.tsx","app-react/services/sitemap/breadcrumbs/navigatable-breadcrumb.tsx","app-react/services/sitemap/sitemap-node.ts","app-react/services/sitemap/sitemap.service.ts","app-react/services/marketing/marketing.service.ts","app-react/services/language/language-switcher/language-switcher-item.ts","app-react/services/language/language-switcher/language-switcher-section.ts","app-react/services/language/language-switcher/selected-language-switcher-item.ts","app-react/services/language/language.service.ts","app-react/services/side-menu/menu-items/side-menu-item-config-reader.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-image.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-pre-icon.box.ts","app-react/components/side-menu-rework/side-menu-items/generic-side-menu-item.component.tsx","app-react/services/side-menu/menu-items/generic-side-menu-item.renderer.tsx","app-react/services/side-menu/side-menu.service.ts","app-react/services/game-search/game-search-result.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title-mr-green-mini-orbit.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/search-title-box/search-title.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/number-of-results-box/number-of-results.default.box.ts","app-react/components/game-search/search-result/search-box-title/boxes/number-of-results-box/number-of-results.box.ts","app-react/components/game-search/search-result/search-box-title/search-box-title.component.tsx","app-react/components/game-search/search-result/found-games/boxes/search-games-list/search-games-list.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/search-link.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.default.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.casino777.box.ts","app-react/components/game-search/search-result/found-games/boxes/search-no-game-found/search-no-games-found.box.ts","app-react/components/game-search/search-result/search-game-item/boxes/search-game-item/search-game-item.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/boxes/search-match.default.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/boxes/search-match.box.ts","app-react/components/game-search/search-result/highlight-search-list-item/highlight-search-list-item.component.tsx","app-react/components/game-search/search-result/search-game-item/boxes/search-text-wrapper/search-text-wrapper.box.ts","app-react/components/game-search/search-result/search-game-item/boxes/search-game-image-box/search-game-image.box.ts","app-react/components/game-search/search-result/search-game-item/search-game-item.component.tsx","app-react/components/game-search/search-result/suggested-games/suggested-games.component.tsx","app-react/components/game-search/search-result/found-games/boxes/more-games/more-games.box.ts","app-react/components/game-search/search-result/found-games/found-games.component.tsx","app-react/components/game-search/search-result/search-result-item/boxes/search-result-item-box/search-result-item.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-result-item-box/search-result-item.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/slots-search-link/slots-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/live-search-link/live-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/card-and-table-search-link/card-and-table-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.default.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.casino777.box.ts","app-react/components/game-search/search-result/search-result-item/boxes/search-links/regular-search-link/regular-search-link.box.ts","app-react/components/game-search/search-result/search-result-item/search-result-item.component.tsx","app-react/components/game-search/search-result/suggested-links/boxes/search-links-list/search-links-list.default.box.ts","app-react/components/game-search/search-result/suggested-links/boxes/search-links-list/search-links-list.box.ts","app-react/components/game-search/search-result/suggested-links/suggested-links.component.tsx","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.default.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.casino777.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-box/search-form-results.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.default.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.casino777.box.ts","app-react/components/game-search/search-result/boxes/search-form-results-wrapper-box/search-form-results-wrapper.box.ts","app-react/components/game-search/search-result/search-result.component.tsx","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-clear-icon/search-clear-icon.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-input-mobile/search-input-mobile.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-box-mobile-icon/search-box-mobile-icon.default.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-box-mobile-icon/search-box-mobile-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-mobile/boxes/search-box-mobile-icon/search-box-mobile-icon.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.default.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.casino777.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.harrahs.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.casino888.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.ballysdover.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.delawarepark.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.harrington.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-arena.si.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreen.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.mrgreenCis.box.ts","app-react/components/game-search/search-input/search-input-area/boxes/search-input-area-box/search-input-area.box.ts","app-react/components/game-search/search-input/search-input-area/search-input-area.tsx","app-react/components/game-search/search-input/search-input-mobile/search-input-mobile.component.tsx","app-react/components/game-search/search-input/search-input-pc/boxes/search-input-form/search-input-form.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-input-form/search-input-form.default.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.default.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.casino777.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.harrahs.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.wsop.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.mrgreen.box.ts","app-react/components/game-search/search-input/search-input-pc/boxes/search-pc-icon/search-pc-icon.box.ts","app-react/components/game-search/search-input/search-input-pc/search-input-pc.component.tsx","app-react/components/game-search/boxes/game-search-box/game-search.default.box.ts","app-react/components/game-search/boxes/game-search-box/game-search.mrgreenCis.box.ts","app-react/components/game-search/boxes/game-search-box/game-search.box.ts","app-react/components/game-search/game-search.component.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-default-config-reader.ts","app-react/services/game-search/game-search.service.tsx","app-react/services/external-links/external-links.service.ts","app-react/services/cms/cms-api/cms-api.service.ts","app-react/components/cms-banner/banner-content/banner-content.component.tsx","app-react/services/cms/cms-banners/banner-definition/banner-definition.tsx","app-react/services/cms/cms-banners/cms-banners.service.ts","app-react/services/cms/cms-pages/cms-pages.service.ts","app-react/services/cms/cms-segmentation/cms-segmentation.service.ts","app-react/services/deep-link/unified/deep-link-action-factory/unified-deep-link-action.ts","app-react/services/deep-link/unified/deep-link-action-factory/deep-link-actions-factory-unified.strategy.ts","app-react/services/deep-link/legacy/deep-link-actions/casino-legacy-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/cashier/cashier-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/register/register-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/login/login-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/my-account/my-account-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-deep-link-action-base.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-real/play-game-real-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/play-game/play-game-demo/play-game-demo-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/redirect/redirect-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/terminate/terminate-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/upload-document/my-account-upload-document-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/free-to-play/free-to-play-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/open-list/open-list-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/freeplay/freeplay-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/control-center/control-center-deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-actions/forgot-password/forgot-password.deeplink-action.ts","app-react/services/deep-link/legacy/deep-link-action-factory/deep-link-actions-factory-legacy.strategy.ts","app-react/services/deep-link/deep-link-action-factory/deep-link-actions-factory.service.ts","app-react/services/sdk-component-factory/sdk-component-factory.service.ts","app-react/components/sticky-handler/sticky-handler.ts","app-react/services/sticky-handler-factory/sticky-handler-factory.service.ts","app-react/services/game-preview-features-selector/preview-features/boolean-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/money-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/numeric-game-preview-feature.ts","app-react/services/game-preview-features-selector/preview-features/all-features.ts","app-react/services/game-preview-features-selector/game-preview-features-selector.service.ts","app-react/services/game-route-handler/game-route-handler.service.ts","app-react/app-bootstrap/launcher-overrides-reader/launcher-overrides-reader.ts","app-react/services/launcher/launcher.service.ts","app-react/services/spinner/spinner.service.ts","app-react/services/cross-brands/cross-brands.service.ts","app-react/services/homepage/homepage.service.tsx","app-react/components/mini-orbit/routing/mini-orbit-routing-definition.tsx","app-react/services/routing-configuration/routing-configuration.service.tsx","app-react/services/routing/route/orbit-route.ts","app-react/services/routing/routing.service.ts","app-react/services/overlay/overlay.service.ts","app-react/services/time/time.service.ts","app-react/services/ai-new-games-engine/ai-new-games.service.ts","app-react/services/theme/theme.service.tsx","app-react/services/mini-orbit/adapters/void/void-communication-adapter.ts","app-react/services/mini-orbit/mini-orbit.service.tsx","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.default.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.casino777.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.mrgreenCis.box.ts","app-react/components/modal-dialog/boxes/consumer-content/dialog-consumer-content.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.default.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.mrgreen.box.ts","app-react/components/modal-dialog/boxes/overlay/dialog-overlay.box.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-constants.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-content.default.box.ts","app-react/components/modal-dialog/boxes/overlay-content/dialog-overlay-content.box.ts","app-react/components/modal-dialog/boxes/icon-wrapper/dialog-icon-wrapper.default.box.ts","app-react/components/modal-dialog/boxes/icon-wrapper/dialog-icon-wrapper.box.ts","app-react/components/modal-dialog/modal-dialog.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-content.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-buttons-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-button.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog-button.component.tsx","app-react/components/modal-dialog/standard-dialogs/simple-message/boxes/simple-message-dialog-icon-container.box.ts","app-react/components/modal-dialog/standard-dialogs/simple-message/simple-message-dialog.component.tsx","app-react/services/dialog/dialog.service.tsx","app-react/services/cross-brands/cross-brands-item-config-reader.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-item.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.mrgreen.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-text.box.ts","app-react/components/header/top-header-left/cross-brand/cross-brands-items/generic-cross-brands-menu-item.component.tsx","app-react/services/header/menu-items/generic-cross-brands-menu-item.renderer.tsx","app-react/services/header/header.service.ts","app-react/services/progressive-web-app/progressive-web-app.service.tsx","app-react/services/manifest/pwa-manifest.service.ts","app-react/services/manifest/pwa-manifest-constants.ts","app-react/services/mini-orbit/adapters/poker/poker-communication-adapter.ts","app-react/services/mini-orbit/adapters/sport/sport-communication-adapter.ts","app-react/services/mini-orbit/adapter-factory/mini-orbit-communication-adapter-factory.service.ts","app-react/services/live-table-feeds-service/live-table-feeds.service.interface.ts","utils/memoize.ts","app-react/services/live-table-feeds-service/live-table-feeds.service.ts","app-react/services/drawer/drawer-content-decorator.ts","app-react/services/drawer/drawer-handler.ts","app-react/services/drawer/drawer.service.ts","app-react/services/daily-deal/daily-deal.service.ts","app-react/services/jackpots/jackpot-handler/jackpot-handler.ts","app-react/services/jackpots/jackpots.service.ts","utils/ab-testing-feature-check.ts","app-react/services/ab-testing/ab-testing-feature-data-provider.service.ts","utils/gradual-increase-helper.ts","app-react/services/gradual-increase-helper-factory/gradual-increase-helper-factory.service.ts","app-react/services/control-center/control-center.service.ts","app-react/services/wallet-proxy/wallet-proxy.service.ts","app-react/components/game-popup/boxes/game-view/games-view.default.box.ts","app-react/components/game-popup/boxes/game-view/games-view.box.ts","app-react/components/game-popup/boxes/game-icon-container/game-icon-container.default.box.ts","app-react/components/game-popup/boxes/game-icon-container/game-icon-container.box.ts","app-react/components/game-popup/boxes/game-view-section/game-view-section.box.ts","app-react/components/game-popup/boxes/game-popup/game-popup.default.box.ts","app-react/components/game-popup/boxes/game-popup/game-popup.box.ts","app-react/components/game-popup/boxes/sub-title-container/sub-title-container.box.ts","app-react/components/game-popup/boxes/game-view-divider/games-view-divider.default.box.ts","app-react/components/game-popup/boxes/menu-container/menu-container.box.ts","app-react/components/game-popup/boxes/description-container/description-container.box.ts","app-react/components/side-menu/boxes/side-menu-component.box.ts","app-react/components/side-menu-rework/side-menu-items/boxes/side-menu-items-list.box.ts","app-react/components/side-menu-rework/side-menu-links-group/side-menu-links-group.component.tsx","app-react/components/game-popup/boxes/game-popup-checkbox-container/game-popup-checkbox-container.box.ts","app-react/components/game-popup/boxes/game-popup-checkbox/game-popup-checkbox.box.ts","app-react/components/game-popup/game-popup.component.tsx","app-react/services/game-popup/game-popup.service.tsx","app-react/services/analytics/analytics-data-layer.service.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown.popup.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-text.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-text.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer.default.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer-remaining.box.ts","app-react/components/session-cooldown-popup/boxes/session-cooldown-popup-timer-remaining.default.box.ts","app-react/components/session-cooldown-popup/session-cooldown-popup.component.tsx","app-react/services/session-cooldown/session-cooldown.service.tsx","app-react/components/time-spent-reminder/with-dropdown/time-spent-reminder-with-dropdown.component.tsx","app-react/services/media-query/media-query-listener.ts","app-react/services/media-query/media-query.service.ts","app-react/services/tools/tools.service.ts","app-react/components/vertical-games-list/boxes/vertical-games-list.box.ts","app-react/components/vertical-games-list/boxes/header.box.ts","app-react/components/vertical-games-list/boxes/games-list.box.ts","app-react/components/vertical-games-list/boxes/game.box.ts","app-react/components/vertical-games-list/boxes/game-details.box.ts","app-react/components/vertical-games-list/boxes/game-divider.box.ts","app-react/components/balance-box/balance-box-buttons/boxes/button-wrapper.box.ts","app-react/components/vertical-games-list/boxes/game-image.box.ts","app-react/components/vertical-games-list/css-classes.ts","app-react/components/vertical-games-list/boxes/game-details-name.box.ts","app-react/components/vertical-games-list/boxes/game-details-jp.box.ts","app-react/components/vertical-games-list/vertical-games-list-game.component.tsx","app-react/components/vertical-games-list/boxes/header-title.box.ts","app-react/components/vertical-games-list/boxes/header-close.box.ts","app-react/components/vertical-games-list/boxes/dj-widget.box.ts","app-react/components/vertical-games-list/vertical-games-list.component.tsx","app-react/services/vertical-games-list/vertical-games-list.service.tsx","app-react/services/user-game-orientation/user-game-orientation.service.ts","app-react/services/api/api-controller-base.ts","app-react/services/api/api.service.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-option-selector.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.default.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.casino777.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-main-text.box.ts","app-react/components/time-spent-reminder/with-dropdown/boxes/tsr-with-dropdown-selector-container.box.ts","app-react/services/external-links/external-links-z-indexes.ts","app-react/components/geo/geo-permission-popup/geo-permission-popup.component.tsx","app-react/components/time-spent-reminder/with-balance/boxes/tsr-with-balance.box.ts","app-react/components/time-spent-reminder/with-balance/time-spent-reminder-with-balance.component.tsx","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-header-title-wrapper.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-game-details.box.ts","app-react/components/idle-recommendation/boxes/idle-recommendation-toaster-background.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-title.box.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-message.box.ts","app-react/components/idle-recommendation/idle-recommendation.component.tsx","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-list-item.box.ts","app-react/components/geo/geo-install-plugin/boxes/geo-dialog-colored-text.box.ts","app-react/components/geo/geo-install-plugin/geo-install-plugin-popup-component.tsx","app-react/components/geo/geo-freeze/geo-freeze-popup.component.tsx","app-react/components/temp-account-popup/boxes/temp-account-popup.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-number.box.ts","app-react/components/temp-account-popup/boxes/temp-account-days-left-text.box.ts","app-react/components/temp-account-popup/temp-account-popup.component.tsx","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-footer-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-dialog.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/init-biometric-info-section.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/boxes/help-option.box.ts","app-react/components/biometric-dialog/init-biometric-dialog/init-biometric-dialog.component.tsx","app-react/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/casinofied-app-factory.ts","app-react/services/casinofied/app-launcher/casinofied-app-launcher.service.ts","app-react/services/casinofied/action-handler/action-handler-base.ts","app-react/services/casinofied/action-handler/handlers/open-banking.action-handler.ts","app-react/services/casinofied/action-handler/handlers/upload-documents-from-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-deposit.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-withdraw.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-chat.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-link-with-form-post.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-full.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/logout.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-help-center.action-handler.ts","app-react/services/casinofied/action-handler/handlers/login.action-handler.ts","app-react/services/casinofied/action-handler/handlers/registration.action-handler.ts","app-react/services/casinofied/action-handler/handlers/transaction-history.action-handler.ts","utils/case-insensitive-property-reader.ts","app-react/services/casinofied/action-handler/handlers/open-cashier.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-challenges.action-handler.ts","app-react/services/casinofied/action-handler/handlers/navigate-client-page.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-my-account.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-rich.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-control-center-mini.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-game.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-forgot-your-password.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-casino-free-to-play.action-handler.ts","app-react/services/casinofied/action-handler/handlers/open-online-help.action-handler.ts","app-react/services/casinofied/action-handler/casinofied-action-handler.service.ts","app-react/services/floating-bubbles/floating-bubbles.service.ts","app-react/components/source-of-funds/boxes/source-of-funds.box.ts","app-react/components/source-of-funds/source-of-funds-popup.component.tsx","app-react/services/restriction-ruler/restriction-ruler.service.tsx","app-react/services/restriction-ruler/restriction-ruler.service.interface.ts","app-react/services/red-tiger/red-tiger.service.ts","app-react/services/casinofied/analytics-publisher/casinofied-analytics.service.ts","app-react/services/http/http-with-request-time-measurement.service.ts","app-react/services/ab-testing-ai-sort/ab-testing-ai-sort-games-lists.service.ts","common/utils/cashier-util.ts","app-react/services/external-links/handlers/cashier/cashier.external-link-handler.ts","app-react/services/cashier/cashier.service.ts","app-react/services/external-links/handlers/external-link-handler-base.ts","app-react/components/external-links/boxes/external-link-iframe-container.box.ts","app-react/components/external-links/boxes/external-link-close-button-wrapper.default.box.ts","app-react/components/external-links/boxes/external-link-close-button-wrapper.box.ts","app-react/components/external-links/boxes/external-link-iframe.box.ts","app-react/components/external-links/external-link-iframe.component.tsx","app-react/components/external-links/external-link-iframe-in-modal-dialog.component.tsx","app-react/services/external-links/renderers/external-link-iframe.renderer.tsx","app-react/services/external-links/handlers/external-link-in-iframe-handler-base.ts","app-react/services/external-links/handlers/registration/registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account/my-account.external-link-handler.tsx","common/enums/platform-event-type.enum.ts","app-react/services/external-links/handlers/omg/omg.external-link-handler.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-credentials-external-link-handler-base.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-user-name/forgot-user-name.external-link-handler.ts","app-react/services/external-links/handlers/forgot-credentials/forgot-password/forgot-password.external-link-handler.ts","app-react/services/external-links/handlers/pending-login/pending-login.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers/game-limits/game-limits.external-link-handler.ts","app-react/services/external-links/handlers/contact-us/contact-us.external-link-handler.ts","app-react/services/external-links/handlers/rich/rich.external-link-handler.ts","app-react/services/external-links/handlers/help/help.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/pending-action.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/deposit/deposit-pending-action.external-link-handler.ts","app-react/services/links-navigation/regulation-hooks/regulation-link-navigation-hook.interface.ts","app-react/services/external-links/handlers/pending-action/transaction-history/transaction-history-pending-action.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/real-game-play/real-game-play-pending-action.external-link-handler.ts","app-react/services/external-links/handlers-factory/external-links-handlers-factory.ts","app-react/components/header/welcome-buttons/header-welcome-buttons-analytics-sender.ts","app-react/components/header/buttons/login-button/header-login-button.component.tsx","app-react/components/header/buttons/register-button/header-register-button.component.tsx","app-react/components/about-component/boxes/about.box.ts","app-react/components/about-component/boxes/about-info-section.box.ts","app-react/components/about-component/boxes/about-footer-section.box.ts","app-react/components/about-component/about.component.tsx","app-react/services/regulation/regulation-components-common.tsx","app-react/services/menu-items-common/regulations-specific/regulation-menu-item-factory-base.ts","app-react/services/links-navigation/regulation-hooks/regulation-navigation-hook-base.ts","app-react/services/limits-toaster/limits-toaster.service.ts","app-react/services/regulation/legacy-regulation-wrapper.ts","app-react/services/regulation/germany/components/germany.regulation-components.tsx","app-react/services/regulation/germany/germany-regulation.ts","app-react/services/external-links/handlers/registration/regulations/michigan/michigan.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/michigan/michigan.external-links-handlers-factory.ts","app-react/services/regulation/michigan/components/michigan.regulation-components.tsx","app-react/services/menu-item-regulation-specific/michigan/side-menu/components/michigan.sport-side-menu-item.component.tsx","app-react/services/menu-item-regulation-specific/michigan/side-menu/michigan.sport-side-menu-item.renderer.tsx","app-react/services/menu-item-regulation-specific/michigan/michigan.menu-item-factory.ts","app-react/services/regulation/michigan/michigan.regulation.ts","app-react/services/regulation/ontario/components/ontario.regulation-components.tsx","app-react/services/external-links/handlers/registration/regulations/ontario/ontario.registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/ontario/ontario.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/ontario/ontario.external-links-handlers-factory.ts","app-react/services/regulation/ontario/ontario.regulation.ts","app-react/services/external-links/handlers/registration/regulations/netherlands/netherlands.registration.external-link-handler.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/netherlands/netherlands.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers/pending-action/real-game-play/netherlands/netherlands.real-game-play-pending-action.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/netherlands/netherlands.external-links-handlers-factory.ts","app-react/services/regulation/netherland/components/netherlands.regulation-components.tsx","app-react/services/regulation/netherland/netherlands-regulation.ts","app-react/services/external-links/handlers/registration/regulations/new-jersey/new-jersey.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/new-jersey/new-jersey.external-links-handlers-factory.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play-container.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.safe-to-play-label.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/safe-to-play/us.safe-to-play.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.responsible-gaming-buttons.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/boxes/us.responsible-gaming.box.ts","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/responsible-gaming/us.responsible-gaming.component.tsx","app-react/components/responsible-gambling/responsible-gaming-buttons/regulations/us/us.responsible-gaming-buttons.component.tsx","app-react/services/regulation/new-jersey/components/new-jersey.regulation-components.tsx","app-react/services/regulation/new-jersey/new-jersey.regulation.ts","app-react/services/external-links/handlers/registration/regulations/uk/uk.registration.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/uk/uk.external-links-handlers-factory.ts","app-react/services/regulation/uk/uk.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/italy/italy.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/italy/italy.external-links-handlers-factory.ts","app-react/services/regulation/italy/components/italy.regulation-components.ts","app-react/services/menu-item-regulation-specific/italy/side-menu/italy.test-menu-item.renderer.tsx","app-react/services/menu-item-regulation-specific/italy/italy.menu-item-factory.ts","app-react/services/regulation/italy/italy.regulation.ts","app-react/services/external-links/handlers/my-account-upload-documents/regulations/romania/romania.my-account-upload-documents.external-link-handler.ts","app-react/services/external-links/handlers-factory/regulations/romania/romania.external-links-handlers-factory.ts","app-react/services/regulation/romania/romania.regulation.ts","app-react/services/regulation/portugal/components/portugal.regulation-components.ts","app-react/services/regulation/portugal/portugal.regulation.ts","app-react/services/regulation/sweden/components/sweden.regulation-components.tsx","app-react/services/regulation/sweden/sweden.regulation.ts","app-react/services/regulation/denmark/components/denmark.regulation-components.tsx","app-react/services/regulation/denmark/denmark-regulation.ts","app-react/services/regulation/regulation.service.ts","app-react/services/burnout/player-burnout.service.ts","app-react/services/player-offerings/player-offerings/offers/offer-base.ts","app-react/services/player-offerings/player-offerings/offers/welcome-offer.tsx","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-shell.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-colors.box.ts","app-react/components/wheel-of-fortune/boxes/wheel-of-fortune-wrapper.box.ts","app-react/components/wheel-of-fortune/wheel-of-fortune.component.tsx","app-react/services/player-offerings/player-offerings/offers/wheel-of-fortune-offer.tsx","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.default.box.ts","app-react/components/link-to-offer/boxes/link-to-offer-banner/link-to-offer-banner.box.ts","app-react/services/player-offerings/player-offerings/offers/registration-offer.tsx","app-react/services/player-offerings/player-offerings.service.tsx","app-react/services/pixi-app/pixi-app-creator.ts","app-react/services/pixi-app/pixi-app.service.ts","app-react/services/free-play/providers/3rdparty/third-party-vouchers.provider.ts","app-react/services/game-animated-icons-manager/game-animated-icons-manager.service.ts","app-react/services/webgl-context-manager/webgl-context-manager.service.ts","app-react/services/exit-popup/exit-popup-consts.ts","app-react/services/exit-popup/exit-popup.service.tsx","app-react/services/tooltip/tooltip-base.service.ts","app-react/services/tooltip/tooltip-base/tooltip-modifiers.ts","app-react/services/tooltip/tooltip-base/tooltip-base.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltip.model.ts","app-react/services/tooltip/regular-tooltip/regular-tooltips.service.ts","app-react/services/gaming-history/models/paginator/history-paginator-base.model.ts","app-react/services/gaming-history/models/record/history-record-base.model.ts","app-react/services/gaming-history/models/record/user-gaming-history-record.model.ts","app-react/services/gaming-history/models/record/migrated-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/migrated-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/void-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/paginator/user-gaming-history-paginator.model.ts","app-react/services/gaming-history/models/record/session-gaming-history-record.model.ts","app-react/services/gaming-history/models/paginator/session-gaming-history-paginator.model.ts","app-react/services/gaming-history/gaming-history.service.ts","app-react/services/companies/companies.service.ts","app-react/services/because-you-played/because-you-played.service.ts","app-react/services/game-runner/running-game-browser-tab-controller.ts","app-react/services/game-runner/loading-indicators/game-loading-indicator-base.model.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/root/hybrid-embedded-game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/header/hybrid-embedded-game-loading-indicator-header.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/content/hybrid-embedded-game-loading-indicator-content.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/spinner/hybrid-embedded-game-loading-indicator-spinner.box.ts","app-react/components/game-window/loading-indicators/hybrid-embedded/boxes/progress/hybrid-embedded-game-loading-indicator-progress.box.ts","app-react/themes/defaults/icons/loading-circle-large.icon.tsx","app-react/components/game-window/loading-indicators/hybrid-embedded/hybrid-embedded-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/hybrid-embedded-game-loading-indicator.model.tsx","app-react/components/game-window/loading-indicators/web-app/web-app-game-loading-indicator.component.tsx","app-react/services/game-runner/loading-indicators/web-app-game-loading-indicator.model.tsx","app-react/services/game-runner/game-runner.service.ts","app-react/services/hybrid/hybrid.service.ts","app-react/services/video-live-stream/static-video-playing.service.ts","app-react/services/storage/session-storage.service.ts","app-react/services/storage/cookies.service.ts","app-react/services/free-play/free-play-game/free-play-game.model.ts","app-react/services/free-play/vouchers/voucher-base.model.ts","app-react/services/free-play/vouchers/free-play/free-play-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-play/jackpot-free-play-voucher.model.ts","app-react/services/free-play/vouchers/free-spins/free-spins-voucher.model.ts","app-react/services/free-play/vouchers/jackpot-free-spins/jackpot-free-spins-voucher.model.ts","app-react/services/free-play/providers/vouchers-provider-base.ts","app-react/services/free-play/providers/888/888-free-play-vouchers.provider.ts","common/interfaces/crm-sdk-lib.interface.ts","app-react/services/free-play/free-play.service.ts","app-react/services/restrictions/restrictions.service.ts","app-react/services/free-to-play/free-to-play.service.ts","app-react/services/gnwp/gnwp.service.ts","app-react/services/scrip-loader/script-loader.service.ts","app-react/services/admin-banner/admin-banner.service.ts","app-react/services/session-timer/session-timer.service.ts","app-react/services/geo-location/geo-location.service.ts","app-react/services/crm/crm.service.ts","app-react/services/specific-dialogs/specific-dialogs.service.interface.ts","app-react/components/lugas/boxes/line-box.ts","app-react/components/lugas/lugas-active-popup.component.tsx","app-react/components/login-popup/boxes/login-popup.box.ts","app-react/components/login-popup/boxes/login-popup-dialog-text.box.ts","app-react/components/login-popup/login-popup.component.tsx","app-react/basic-ui-components/form/toggle-switch/boxes/checkbox/toggle-switch-checkbox.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/slider/toggle-switch-slider.box.ts","app-react/basic-ui-components/form/toggle-switch/boxes/toggle-switch.box.ts","app-react/basic-ui-components/form/toggle-switch/toggle-switch.component.tsx","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-dialog.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-info-section/modify-biometric-info-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/boxes/modify-biometric-toggle-section/modify-biometric-toggle-section.box.ts","app-react/components/biometric-dialog/modify-biometric-dialog/modify-biometric-dialog.component.tsx","app-react/services/specific-dialogs/specific-dialogs.service.tsx","app-react/services/tipping-history/models/tipping-history-view-model.ts","app-react/services/tipping-history/tipping-history.service.ts","app-react/services/loyalty-indicator/models/loyalty-indicator.model.ts","app-react/services/loyalty-indicator/loyalty-indicator.service.ts","app-react/components/state-popup/boxes/state-popup-wrapper.box.ts","app-react/components/state-popup/state-popup.component.tsx","app-react/components/state-popup/boxes/state-popup-error-message.box.ts","app-react/components/state-popup/boxes/state-popup-select-wrapper.box.ts","app-react/components/state-popup/state-popup-with-dropdown.component.tsx","app-react/services/state-of-residence-identifier/state-popup-strategies-consts.ts","app-react/services/state-of-residence-identifier/state-popup-strategies.ts","app-react/services/state-of-residence-identifier/state-of-residence-identifier.service.tsx","app-react/services/login-popup/login-popup.service.ts","app-react/services/onboarding-tour/steps/welcome.step.ts","app-react/services/onboarding-tour/geometry.helper.ts","app-react/services/onboarding-tour/steps/main-menu.step.ts","app-react/services/onboarding-tour/steps/user-menu.step.ts","app-react/services/features-toggle-management/FeatureId.ts","utils/rem-to-px.ts","app-react/services/onboarding-tour/onboarding-tour.service.ts","app-react/services/nyx/nyx.service.ts","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltip.model.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/text-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/title.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.777.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/seperator.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/separator/separator.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.default.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.mrgreen.box.ts","app-react/components/tooltip/tooltips/icon-title-text/boxes/icon-container/icon-container.box.ts","app-react/components/tooltip/tooltips/icon-title-text/icon-title-text.tooltip.tsx","app-react/services/tooltip/on-boarding-tooltip/free-play/free-play.on-boarding-tooltip.model.tsx","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/icon-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/ios-add-to-home-share-icon.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/boxes/message-body-container.box.ts","app-react/components/tooltip/tooltips/ios-add-to-home/ios-add-to-home.component.tsx","app-react/services/tooltip/on-boarding-tooltip/pwa/ios-pwa.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/control-center/control-center.on-boarding-tooltip.model.tsx","app-react/services/tooltip/on-boarding-tooltip/on-boarding-tooltips.service.ts","app-react/services/player-migration/player-migration.service.ts","app-react/services/toaster/toasts-queue.ts","app-react/services/toaster/toast-helpers/toast-classnames.helper.ts","app-react/components/toaster/toasts-content/boxes/standard-toast-image.box.ts","app-react/components/toaster/toasts-content/standard-toast.component.tsx","app-react/services/toaster/toast-helpers/toast-analytics.helper.ts","app-react/services/toaster/toast-handler.tsx","app-react/services/toaster/firebase-toaster.service.interface.ts","app-react/services/toaster/toaster.service.tsx","app-react/services/features-toggle-management/FeaturesMaxDisplayCountMap.ts","app-react/services/features-toggle-management/features-toggle-management.service.ts","app-react/services/links-navigation/link-configuration-parser.ts","app-react/services/links-navigation/links-navigation.service.ts","app-react/services/menu-item-action-factory/link-navigation.action.ts","app-react/services/menu-item-action-factory/menu-item-action-factory.service.ts","app-react/services/bottom-navigation-bar/bottom-navigation-bar-menu-item-config-reader.ts","app-react/components/bottom-navigation-bar/boxes/menu-item/bottom-navigation-bar-menu-item.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item/bottom-navigation-bar-menu-item.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.casino777.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-text/bottom-navigation-bar-menu-item-text.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-icon/bottom-navigation-bar-menu-item-icon.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-item-icon/bottom-navigation-bar-menu-item-icon.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-item-icon.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-item.component.tsx","app-react/services/bottom-navigation-bar/menu-items/generic-bottom-navigation-bar-menu-item.renderer.tsx","app-react/services/bottom-navigation-bar/bottom-navigation-bar.service.ts","utils/json-helper.ts","app-react/services/toaster/firebase-toaster.service.tsx","app-react/components/profile-box-messages-indicator/consts/indicator-layout.ts","app-react/services/titan-jackpot/titan-jackpot.service.ts","app-react/services/game-theme/game-theme-definition/game-theme-definition.ts","app-react/services/game-theme/games-theme.service.ts","app-react/services/game-vendor/game-vendor-definition.ts/game-vendor-definition.ts","app-react/services/game-vendor/games-vendor.service.ts","app-react/services/service-factory.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino888.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-container/logo-container.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.default.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.casino777.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrington.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.ballysdover.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.wsop.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.harrahs.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.si.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.mrgreen.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.delaware.box.ts","app-react/components/user-menu/logo-box/boxes/logo-image/default-logo-icon/logo-image.box.ts","app-react/components/user-menu/logo-box/logo-box.component.tsx","app-react/components/user-info/user-info.component.tsx","app-react/components/profile-box/profile-picture/boxes/profile-picture.box.ts","app-react/components/profile-box/profile-picture/boxes/profile-user-name.box.ts","app-react/components/profile-box/profile-picture/boxes/profile-picture-image.box.ts","app-react/components/profile-box/profile-picture/profile-picture.component.tsx","app-react/components/profile-box-messages-indicator/boxes/indicator.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-badge.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-text.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper-default.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper.777.box.ts","app-react/components/profile-box-messages-indicator/boxes/indicator-icon-wrapper.box.ts","app-react/components/profile-box-messages-indicator/profile-box-messages-indicator.component.tsx","app-react/components/profile-box-messages-indicator/indicators/omg-indicator.component.tsx","app-react/components/profile-box-messages-indicator/indicators/freeplay-indicator.component.tsx","app-react/components/profile-box/boxes/profile-messages-divider.box.ts","app-react/components/profile-box/boxes/profile-buttons.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.default.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.casino777.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.casino888.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.ballysdover.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.harrington.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.wsop.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.harrahs.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.mrgreen.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-button.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.default.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.wsop.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.harrahs.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.mrgreen.box.ts","app-react/components/profile-box/boxes/profile-cashier-button/profile-cashier-add-button/profile-cashier-add-button.box.ts","app-react/components/profile-box/boxes/profile-wrapper.box.ts","app-react/components/profile-box/boxes/profile-box-messages/profile-messages.box.ts","app-react/components/profile-box/profile-box.component.tsx","app-react/components/side-menu/cross-brands/boxes/side-menu-cross-brands-list.box.ts","app-react/components/side-menu/cross-brands/boxes/side-menu-cross-brands-list-item.box.ts","app-react/components/side-menu/cross-brands/boxes/side-menu-cross-brands-list-item-icon.box.ts","app-react/components/side-menu/cross-brands/side-menu-cross-brands.component.tsx","app-react/components/side-menu/store-button/store-button.component.tsx","app-react/components/side-menu/boxes/menu-links-groups-container.box.ts","app-react/components/side-menu/boxes/side-menu-container.box.ts","app-react/components/side-menu/boxes/mobile-menu-item-container.box.ts","app-react/components/side-menu/boxes/mobile-menu-item-link.box.ts","app-react/components/side-menu/mobile-help-menu-item/mobile-help-center-menu-item.component.tsx","app-react/components/side-menu/mobile-lang-switcher-menu-item/boxes/mobile-lang-switcher-menu-item-selected-lang.box.ts","app-react/components/side-menu/mobile-lang-switcher-menu-item/boxes/mobile-lang-switcher-container.box.ts","app-react/components/side-menu/boxes/mobile-language-menu-item.box.ts","app-react/components/side-menu/mobile-lang-switcher-menu-item/mobile-lang-switcher-menu-item.component.tsx","app-react/components/side-menu/horizontal-ruler/side-menu-horizontal-line.box.ts","app-react/components/side-menu/boxes/mobile-menu-items-container.box.ts","app-react/components/header/top-header-right/state-selector-button/state-selector-button.component.tsx","app-react/components/side-menu/mobile-state-selector-menu-item/mobile-state-selector-menu-item.component.tsx","app-react/components/main-nav/boxes/related-sites/boxes/related-sites-wrapper.box.ts","app-react/components/main-nav/boxes/related-sites/boxes/related-site-link.box.ts","app-react/components/main-nav/boxes/related-sites/related-site.component.tsx","app-react/components/main-nav/boxes/related-sites/related-sites.component.tsx","app-react/components/side-menu/side-menu.component.tsx","app-react/components/language-switcher-dropdown/boxes/language-switcher-dropdown.default.box.ts","app-react/components/language-switcher-dropdown/boxes/language-switcher-dropdown.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/language-switcher-section-list.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/language-switcher-section-list.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-title/language-switcher-section-title.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-title/language-switcher-section-title.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/language-switcher-section-list-item.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/language-switcher-section-list-item.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-label/language-switcher-item-label.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-label/language-switcher-item-label.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-checkbox/language-switcher-item-checkbox.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-list/section-list-item/section-list-item-checkbox/language-switcher-item-checkbox.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/language-switcher-section.component.tsx","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-separator/language-switcher-section-separator.default.box.ts","app-react/components/language-switcher-dropdown/language-switcher-section/boxes/section-separator/language-switcher-section-separator.box.ts","app-react/components/language-switcher-dropdown/language-switcher-dropdown.component.tsx","app-react/components/main-nav/boxes/mobile/mobile-menu-header.default.box.ts","app-react/components/main-nav/boxes/mobile/mobile-menu-header.si.box.ts","app-react/components/main-nav/boxes/mobile/mobile-menu-header.box.ts","app-react/components/main-nav/boxes/mobile/back/mobile-back.box.ts","app-react/components/main-nav/boxes/mobile/back/mobile-back-label.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.default.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.casino777.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.si.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.mrgreen.box.ts","app-react/components/main-nav/boxes/main-nav-canvas/main-nav-canvas.box.ts","app-react/components/main-nav/boxes/main-nav.box.ts","app-react/components/main-nav/boxes/main-nav-content-wrapper.box.ts","app-react/components/main-nav/boxes/main-nav-menu.box.ts","app-react/components/main-nav/main-nav.component.tsx","app-react/components/loyalty-bar/loyalty-bar.component.tsx","app-react/components/user-info/user-info-label.box.ts","app-react/components/user-details/boxes/user-menu-name.box.ts","app-react/components/user-details/boxes/user-menu-support-id.box.ts","app-react/components/user-details/user-details.component.tsx","app-react/components/useful-links/useful-links.component.tsx","app-react/components/balance-box/bonus-and-cash-balance/boxes/bonus-and-cash-balance.box.ts","app-react/components/balance-box/bonus-and-cash-balance/boxes/balance-inner.box.ts","app-react/components/balance-box/bonus-and-cash-balance/boxes/balance-label-inner.box.ts","app-react/components/balance-box/balance-value-boxes/balance-value-bonus-and-cash.box.ts","app-react/components/balance-box/bonus-and-cash-balance/bonus-and-cash-balance.component.tsx","app-react/components/balance-box/balance-box-buttons/boxes/balance-buttons-group.box.ts","app-react/components/balance-box/balance-box-buttons/user-balance-buttons.component.tsx","app-react/components/balance-box/boxes/user-menu-balance-label.box.ts","app-react/components/balance-box/balance-value-boxes/balance-value-primary.box.ts","app-react/components/balance-box/user-balance.component.tsx","app-react/components/user-menu/user-menu-items/user-menu-items-container.component.tsx","app-react/components/user-menu/mini-control-center/boxes/mini-control-center.default.box.tsx","app-react/components/user-menu/mini-control-center/boxes/mini-control-center.box.ts","app-react/components/user-menu/mini-control-center/mini-control-center.component.tsx","app-react/components/user-menu/user-menu/boxes/user-menu-scroll-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/user-menu-fake-ios-padding.box.ts","app-react/components/user-menu-logout/boxes/log-out-link.box.ts","app-react/components/user-menu-logout/user-menu-logout.component.tsx","app-react/components/user-menu-footer/boxes/user-menu-app-version.box.ts","app-react/components/user-menu-footer/user-menu-footer.component.tsx","app-react/components/user-menu/user-menu/user-menu-mobile.component.tsx","app-react/components/welcome-user/boxes/welcome-user.box.ts","app-react/components/welcome-user/boxes/welcome-greeting.box.ts","app-react/components/welcome-user/welcome-user.component.tsx","app-react/components/user-menu/close-button/boxes/user-menu-close-pc-button.box.ts","app-react/components/user-menu/close-button/boxes/user-menu-close-icon.box.tsx","app-react/components/user-menu/user-menu/boxes/user-menu-header.box.ts","app-react/components/user-menu/user-menu/user-menu-pc.component.tsx","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.default.box.ts","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.casino777.box.ts","app-react/components/user-menu/user-menu/boxes/root/user-menu-root.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.box.ts","app-react/components/user-menu/user-menu/boxes/wrapper/user-menu-wrapper.default.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.box.ts","app-react/components/user-menu/user-menu/boxes/holder/user-menu-holder.default.box.ts","app-react/components/user-menu/user-menu.component.tsx","app-react/components/header/top-header-right/help-button/help-button.component.tsx","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-list.default.box.ts","app-react/components/header/top-header-left/cross-brand/boxes/app-header-cross-brand-list.box.ts","app-react/components/header/top-header-left/cross-brand/app-header-cross-brands.component.tsx","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.default.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.777.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/boxes/container/burger-menu-container.box.ts","app-react/components/header/top-header-left/mobile-burger-menu/mobile-burger-menu.component.tsx","app-react/components/header/boxes/language-switcher/header-language-switcher.box.ts","app-react/components/header/top-header-right/language-switcher/header-language-switcher.component.tsx","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.default.box.ts","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.mrgreen.box.ts","app-react/components/header/top-header-right/deposit/boxes/deposit-header-button.box.ts","app-react/components/header/top-header-right/deposit/deposit-header-button.component.tsx","app-react/components/header/boxes/navbar-separator/navbar-separator.default.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.si.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.mrgreen.box.ts","app-react/components/header/boxes/navbar-separator/navbar-separator.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.default.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.wsop.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.harrahs.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.casino777.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.si.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.mrgreen.box.ts","app-react/components/header/boxes/header-navbar-container/header-navbar-container.box.ts","app-react/components/header/boxes/navbar-left-container/header-navbar-left-container.box.ts","app-react/components/header/boxes/navbar-left-container/header-navbar-left-container.default.box.ts","app-react/components/header/boxes/navbar-right-container/header-navbar-right-container.box.ts","app-react/components/header/boxes/navbar-right-container/header-navbar-right-container.default.box.ts","app-react/components/header/header.component.tsx","app-react/components/drawer/boxes/body/drawer-body.box.tsx","app-react/components/drawer/boxes/body/drawer-body.default.box.tsx","app-react/components/drawer/boxes/content/drawer-content.box.ts","app-react/components/drawer/drawer.component.tsx","app-react/components/overlay/boxes/overlay.component.default.box.tsx","app-react/components/overlay/boxes/overlay.component.mrgreen.box.ts","app-react/components/overlay/boxes/overlay.component.box.tsx","app-react/components/overlay/overlay.component.tsx","app-react/components/spinner/boxes/spinner/spinner.box.ts","app-react/components/spinner/boxes/spinner/spinner.default.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.box.ts","app-react/components/spinner/boxes/spinner-brand/spinner-brand.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.default.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.casino777.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cip.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.cis.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.mrgreen.box.ts","app-react/components/spinner/boxes/spinner-background/spinner-background.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.default.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.casino777.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cip.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.wsop.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.delawarepark.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.ballysdover.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.harrington.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.cis.box.ts","app-react/components/spinner/boxes/spinner-logo/spinner-logo.box.ts","app-react/components/spinner/boxes/spinner-subtext/spinner-subtext.box.ts","app-react/components/spinner/boxes/spinner-subtext/spinner-subtext.default.box.ts","app-react/components/spinner/spinner.component.tsx","app-react/components/breadcrumbs/breadcrumbs.component.tsx","app-react/components/app-footer/app-footer.component.tsx","app-react/components/router-outlet/boxes/router-outlet.default.box.ts","app-react/components/router-outlet/boxes/router-outlet.casino777.box.ts","app-react/components/router-outlet/boxes/router-outlet.casino888.box.ts","app-react/components/router-outlet/boxes/router-outlet.harrahs.box.ts","app-react/components/router-outlet/boxes/router-outlet.wsop.box.ts","app-react/components/router-outlet/boxes/router-outlet.si.box.ts","app-react/components/router-outlet/boxes/router-outlet.box.ts","app-react/components/router-outlet/router-outlet.component.tsx","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.box.ts","app-react/components/bottom-navigation-bar/boxes/container/bottom-navigation-bar-container.default.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.box.ts","app-react/components/bottom-navigation-bar/boxes/menu-items-list/bottom-navigation-bar-menu-items-list.default.box.ts","app-react/components/bottom-navigation-bar/bottom-navigation-bar-menu-items-list.component.tsx","app-react/components/bottom-navigation-bar/bottom-navigation-bar.component.tsx","app-react/components/floating-bubbles/boxes/floating-bubbles-container.box.ts","app-react/components/floating-bubbles/boxes/floating-bubble.box.ts","app-react/components/floating-bubbles/floating-bubbles.component.tsx","app-react/components/container/boxes/main-wrapper.default.box.ts","app-react/components/container/boxes/main-wrapper.cip.box.ts","app-react/components/container/boxes/main-wrapper.mrgreenCis.box.ts","app-react/components/container/boxes/main-wrapper.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-cutout.box.ts","app-react/components/onboarding-tour/fade-in-div-on-mount.component.tsx","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.default.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.casino777.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.mrgreen.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.si.box.ts","app-react/components/onboarding-tour/spotlight/boxes/mask-fabric/mask-fabric.box.ts","app-react/services/onboarding-tour/onboarding-spotlight.helper.ts","app-react/components/onboarding-tour/spotlight/boxes/spotlight-svg.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.default.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.mrgreen.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.casino777.box.ts","app-react/components/onboarding-tour/spotlight/boxes/gradient-stop-svg/gradient-stop-svg.box.ts","app-react/components/onboarding-tour/spotlight/onboarding-spotlight.component.tsx","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.casino777.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-log/onboarding-dialog-logo.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-main-text.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-secondary-text.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.casino777.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-next/onboarding-dialog-next.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-step-indicator/onboarding-dialog-step-indicator.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-content.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog-close.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.default.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.mrgreen.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.888casino.box.ts","app-react/components/onboarding-tour/dialog/boxes/onboarding-dialog/onboarding-dialog.box.ts","app-react/components/onboarding-tour/dialog/onboarding-dialog.component.tsx","app-react/components/onboarding-tour/onboarding-tour.component.tsx","app-react/components/container/container.component.tsx","app-react/components/modal-dialog/modal-dialogs-container.component.tsx","app-react/components/sdk/orbit-components-rendered-inside-sdk-container.tsx","app-react/components/burnout/player-burnout-layer.component.tsx","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.default.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.777.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.mrgreen.box.ts","app-react/components/tooltip/boxes/tooltip-arrow/tooltip-arrow.box.ts","app-react/components/tooltip/boxes/tooltip-close-button.box.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.default.ts","app-react/components/tooltip/boxes/tooltip-container/tooltip-container.box.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.default.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.777.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.mrgreen.box.ts","app-react/components/tooltip/boxes/tooltip-glow/tooltip-glow.box.ts","app-react/components/tooltip/boxes/tooltip-content.box.ts","app-react/components/tooltip/tooltip-container.component.tsx","app-react/components/game-window/loading-indicators/boxes/game-loading-indicator-root.box.ts","app-react/components/game-window/loading-indicators/game-loading-indicator.component.tsx","app-react/components/current-game-container/current-game-container.component.tsx","app-react/components/toaster/boxes/toaster-styles-wrapper.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.default.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.mrgreen.box.ts","app-react/components/toaster/boxes/toast-container/toast-container.box.ts","app-react/components/toaster/toaster.component.tsx","app-react/components/app/app.component.tsx","app-react/services/storage/in-memory-local-storage.service.ts","app-react/app-bootstrap/b2c-framework-loader/b2c-framework-loader.ts","app-react/themes/select-theme.ts","app-react/orbit-api.interface.ts","app-react/b2c-adapter.ts","app-react/orbit-api.ts","main.ts","sdk/src/base/base_object.ts","sdk/src/base/base_singleton.ts","sdk/src/events/events.ts","sdk/src/exceptions/cgp_error_codes.ts","sdk/src/services/games_information/games_information_service_interface.ts","sdk/src/services/hybrid/native/native_const.js","sdk/src/services/overlay_manager/overlay_manager_levels.ts","sdk/src/services/regulation/regulation_const.ts","sdk/src/services/service_factory.ts","sdk/src/services/services_registry.ts","sdk/src/utils/date_formatter.ts","sdk/src/utils/event.ts","settings/configs/default-config.ts","settings/languages/eng.ts","utils/disposable-object.ts","app-react/services/companies/companies-models|lazy|/^/.*/.company/-model$/|chunkName: company|groupOptions: {}|namespace object","app-react/services/menu-item-action-factory/custom-actions|sync|/.+/.action/.(ts%7Ctsx)$","app-react/services/side-menu/menu-items/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/services/user-menu/menu-items/useful-links/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$","app-react/themes/definitions|lazy|/^/.*/theme/.definition$/|chunkName: theme-definition|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*$/|groupOptions: {}|namespace object","settings/configs|lazy|/^/.*/config$/|groupOptions: {}|namespace object","settings/languages|lazy|/^/.*$/|chunkName: language|groupOptions: {}|namespace object"],"sourcesContent":["import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../themes/architecture/css-helpers/flex\";\r\nimport {MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS, PC_HORIZONTAL_SPACE_BETWEEN_ITEMS} from \"../space-between-items-consts\";\r\n\r\nexport const BlankHorizontalSeparatorBox = styled.span<{multiplier?: number}>`\r\n ${flexFixedSizeItem}\r\n width: ${props => PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n @media ${props => props.theme.mediaQuery.lAndBelow} {\r\n width: ${props => MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(props.multiplier ?? 1)};\r\n }\r\n`;\r\n","import {LayoutWrapperDefaultBox} from \"./layout-wrapper.default.box\";\r\n\r\nexport const LayoutWrapperBox = LayoutWrapperDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../themes/architecture/styled-by-device\";\r\nimport {HOME_PAGE, LIVE_CASINO_PAGE, MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport { CssRule } from \"../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const PCBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 500px;\r\n\r\n .${HOME_PAGE} &.${MOVE_TOP}{\r\n margin-top: -13rem;\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-left: 10rem;\r\n padding-right: 10rem;\r\n padding-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &.${MOVE_TOP} {\r\n padding-left: 3rem;\r\n padding-right: 3rem;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled.div`\r\n display: block;\r\n width: 100%;\r\n padding-left: 0;\r\n padding-right: 0;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n .${HOME_PAGE} & {\r\n &.${MOVE_TOP} {\r\n margin-top: -9rem;\r\n }\r\n\r\n ${CssRule.For.mobile.embededHybrid.build()} & {\r\n &.${MOVE_TOP} {\r\n margin-top: 1rem;\r\n margin-bottom: 0;\r\n }\r\n }\r\n }\r\n\r\n .${LIVE_CASINO_PAGE} & {\r\n padding-top: 10px;\r\n }\r\n`;\r\n\r\nexport const LayoutWrapperDefaultBox = styledByDevice(PCBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst Load = keyframes`\r\n 0%,\r\n 80%,\r\n 100% {\r\n box-shadow: 0 1.5em 0 -1.3em;\r\n }\r\n 40% {\r\n box-shadow: 0 1.5em 0 0;\r\n }\r\n`;\r\n\r\nexport const LoadingDotBox = styled.div<{animationDelay: string}>`\r\n border-radius: 50%;\r\n width: 1.6rem;\r\n height: 1.5rem;\r\n margin-left: 25px;\r\n animation: ${Load} 1.7s infinite ease-in-out;\r\n animation-delay: ${props => props.animationDelay};\r\n`","import styled from \"styled-components\";\r\n\r\n\r\nexport const LoadingDotsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n align-content: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {LoadingDotBox} from \"./boxes/loading-dot.box\";\r\nimport {LoadingDotsBox} from \"./boxes/loading-dots.box\";\r\n\r\nexport const LoadingDotsComponent = observer(class LoadingDotsComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n});","import styled from \"styled-components\";\r\n\r\nexport const LobbyGridDefaultBox = styled.div`\r\n overflow: hidden;\r\n\r\n // This is for CLS purpose, we want to make sure there is no 'jump' of the footer when lazy loaded swipers loads\r\n padding-bottom: 300px;\r\n\r\n max-width: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 100%;\r\n }\r\n`;","import {LobbyGridDefaultBox} from \"./lobby-grid.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyGridBox = styledByTheme(LobbyGridDefaultBox).apply();","import styled from \"styled-components\";\r\n\r\n\r\nexport const LobbyWrapperDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n font-size: 1.2rem;\r\n line-height: normal;\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.5rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n opacity: 0;\r\n }\r\n\r\n }\r\n`;\r\n\r\nexport const LobbyWrapperWithoutBackgroundDefaultBox = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyWrapperDefaultBox} from './lobby-wrapper.default.box';\r\nimport {LOBBY_PAGE} from '../../themes/css-global-classes';\r\n\r\nexport const LobbyWrapperCasino777Box = styled(LobbyWrapperDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0;\r\n .${LOBBY_PAGE} & {\r\n &:before {\r\n display: block;\r\n opacity:1;\r\n top: 0;\r\n }\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../themes/definitions/si/cis/base-colors\";\r\nimport { LobbyWrapperWithoutBackgroundDefaultBox } from \"./lobby-wrapper.default.box\";\r\n\r\nexport const LobbyWrapperSiCisBox = styled(LobbyWrapperWithoutBackgroundDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import {LobbyWrapperDefaultBox, LobbyWrapperWithoutBackgroundDefaultBox} from \"./lobby-wrapper.default.box\";\r\nimport {styledByTheme} from \"../../themes/architecture/styled-by-theme\";\r\nimport {LobbyWrapperCasino777Box} from \"./lobby-wrapper.casino777.box\";\r\nimport { LobbyWrapperSiCisBox } from \"./lobby-wrapper.siCis.box\";\r\n\r\nexport const LobbyWrapperBox = styledByTheme(LobbyWrapperDefaultBox)\r\n .forCasino777(LobbyWrapperCasino777Box)\r\n .forSI(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forMrGreen(LobbyWrapperWithoutBackgroundDefaultBox)\r\n .forSICis(LobbyWrapperSiCisBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {MAIN_SCREEN} from '../../themes/css-global-classes';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const MainScreenComponent = observer(class MainScreenComponent extends OrbitComponent {\r\n\r\n render() {\r\n //TODO - main-screen class should be removed once we convert all the components to styled-components\r\n\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n});\r\n\r\n","export function PC_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (15 * multiplier) + 'px';\r\n}\r\n\r\nexport function MOBILE_HORIZONTAL_SPACE_BETWEEN_ITEMS(multiplier: number = 1) {\r\n return (5 * multiplier) + 'px';\r\n}","import styled, { css } from \"styled-components\";\r\nimport { IButtonCommonProps, IButtonColorSet, IButtonPreset } from \"../button-props.interface\";\r\n\r\ninterface IButtonBoxProps extends IButtonCommonProps {\r\n colorSet: IButtonColorSet;\r\n\r\n width: number;\r\n height: number;\r\n strokeWidth: number;\r\n iconSize: number;\r\n lateralPadding: number;\r\n\r\n hasLabel: boolean;\r\n hasIcon: boolean;\r\n}\r\nexport const ButtonBox = styled.button`\r\n cursor: ${props => props.disabled ? \"default\" : \"pointer\"};\r\n user-select: none;\r\n\r\n border-radius: ${props => props.rounded ? \"100px\" : props.theme.layout.border.radius};\r\n ${props => props.margin ? css`\r\n margin: ${props.margin};\r\n ` : null};\r\n\r\n /* Override user-agent styles */\r\n background: none;\r\n outline: none;\r\n\r\n ${({theme}) => theme.font.presets.ultra};\r\n /**\r\n * This is not the actual text size.\r\n * The text size is set in the span wrapping the text, here i'm just creating a context for the em units to compute relative to this\r\n */\r\n font-size: ${props => props.noRemUnits ? \"10px\" : \"1rem\"};\r\n /**\r\n * If we have only an icon and no label, we want a square (or circle) button\r\n * that means the width = height =>\r\n * border x 2 + lateral-padding x 2 + icon_size = height =>\r\n * lateral_padding = (height - icon_size - 2 x border)/2 =>\r\n * lateral_padding = (height - icon_size)/2 - border\r\n *\r\n * If we have label (with or without icon), don't bother, put 1em or whatever value decided by design (hardcoded or from the theme)\r\n */\r\n padding: 0 ${props => {\r\n if (props.hasIcon && !props.hasLabel) {\r\n return \"calc(\"+((props.height - props.iconSize)/2)+\"em - \"+props.strokeWidth+\"px)\";\r\n } else {\r\n return props.lateralPadding + \"em\";\r\n }\r\n }};\r\n line-height: 0.8;\r\n letter-spacing: 0.05em;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n /** content-box because the border is in px. So when computing heights, paddings etc in em border is not taken in consideration */\r\n /* box-sizing: content-box;\r\n height: calc(${props => props.height }em - 2*${props => props.strokeWidth }px); */\r\n /** OOORRR */\r\n box-sizing: border-box;\r\n height: ${props => props.height}em;\r\n\r\n width: ${props => {\r\n if (props.fullWidth) {\r\n return \"100%\";\r\n }\r\n if (props.width && props.hasLabel && props.labelOverflow !== \"expand\") {\r\n return props.width+\"em\";\r\n }\r\n return \"auto\";\r\n }};\r\n ${props => props.hasLabel && props.labelOverflow === \"expand\" ? css`\r\n min-width: ${props.width+\"em\"};\r\n ` : null};\r\n transition: all 0.2s ease-in-out;\r\n\r\n border-width: ${props => props.strokeWidth}px;\r\n border-style: solid;\r\n\r\n color: ${props => colorSet(props).text};\r\n background-color: ${props => colorSet(props).bg};\r\n border-color: ${props => colorSet(props).border};\r\n box-shadow: ${props => (props.elevated && colorSet(props).shadow) ? colorSet(props).shadow : \"none\"};\r\n\r\n /** support for bgGradient because */\r\n ${props => colorSet(props).bgGradient ? css`\r\n background: ${colorSet(props).bgGradient};\r\n ` : null}\r\n\r\n /** support for textGradient because */\r\n ${props => colorSet(props).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props).text};\r\n background: ${colorSet(props).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n\r\n /* Putting the &:hover rules inside the hover media queries prevents the button to remain in hover state after pressing it.\r\n We wouldn't need this is the pressed/active state would be different from the hover state */\r\n @media ${({theme}) => theme.mediaQuery.hover } {\r\n &:hover {\r\n /* First reset the background, if the hover doesn't have a gradient bg then we don't want to show the \"normal\" state */\r\n ${props => colorSet(props).bgGradient && !colorSet(props, I_WANT_THE_HOVER_COLORS).bgGradient ? css`\r\n background: none;\r\n ` : null}\r\n\r\n color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).text};\r\n background-color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).bg};\r\n border-color: ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).border};\r\n ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).bgGradient ? css`\r\n background: ${colorSet(props, I_WANT_THE_HOVER_COLORS).bgGradient};\r\n ` : null}\r\n box-shadow: ${props => (props.elevated && colorSet(props, I_WANT_THE_HOVER_COLORS).shadow) ? colorSet(props, I_WANT_THE_HOVER_COLORS).shadow : \"none\"};\r\n\r\n /* Reset the text gradient, if the hover doesn't have a text gradient */\r\n ${props => colorSet(props).textGradient && !colorSet(props, I_WANT_THE_HOVER_COLORS).textGradient ? css`\r\n & span {\r\n background: none;\r\n background-size: 100%;\r\n -webkit-background-clip: unset;\r\n -moz-background-clip: unset;\r\n background-clip: unset;\r\n -webkit-text-fill-color: unset;\r\n -moz-text-fill-color: unset;\r\n }\r\n ` : null}\r\n ${props => colorSet(props, I_WANT_THE_HOVER_COLORS).textGradient ? css`\r\n & span {\r\n background: ${colorSet(props, I_WANT_THE_HOVER_COLORS).text};\r\n background: ${colorSet(props, I_WANT_THE_HOVER_COLORS).textGradient};\r\n background-size: 100%;\r\n -webkit-background-clip: text;\r\n -moz-background-clip: text;\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n -moz-text-fill-color: transparent;\r\n }\r\n ` : null}\r\n }\r\n }\r\n\r\n`;\r\n\r\nconst I_WANT_THE_HOVER_COLORS = true;\r\nfunction colorSet(props: IButtonBoxProps, hoverSet?: boolean) {\r\n const setKey: keyof IButtonPreset[\"colors\"] = props.disabled ? \"disabled\" : (hoverSet || props.active ? \"hover\" : \"normal\");\r\n if (props.colorSet[setKey]) {\r\n return props.colorSet[setKey];\r\n }\r\n return props.colorSet.normal;\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface IButtonLabelProps {\r\n fontSize: number;\r\n}\r\n\r\nexport const ButtonLabelDefaultBox = styled.span`\r\n text-transform: uppercase;\r\n font-size: ${({fontSize}) => fontSize}em;\r\n\r\n /** If the label is not perfectly vertical centered please DO NOT modify this line-height use padding-top or padding-bottom in specific skin components */\r\n line-height: 1.2;\r\n /********* */\r\n max-height: 2.2em;\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\n\r\nexport const ButtonLabelMrGreenBox = styled(ButtonLabelDefaultBox)`\r\n /** I have to do this because &::first-letter works only with block-level elements, */\r\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter */\r\n display: inline-block;\r\n /**\r\n we must do the lowercase and then only first letter upper case because the translations is all upper case\r\n it's known issue that if the translation have 2 words for example: log in it will be Log in and not Log In\r\n **/\r\n text-transform: lowercase;\r\n \r\n &::first-letter {\r\n text-transform: uppercase;\r\n }\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonLabelDefaultBox} from \"./button-label.default.box\";\r\nimport {ButtonLabelMrGreenBox} from \"./button-label.mrgreen.box\";\r\n\r\nexport const ButtonLabelBox = styledByTheme(ButtonLabelDefaultBox)\r\n .forMrGreen(ButtonLabelMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface IButtonIconWrapperProps {\r\n reverseOnRTL?: boolean;\r\n}\r\n\r\nexport const ButtonIconWrapperBox = styled.span`\r\n ${props => props.reverseOnRTL ? css`\r\n ${CssRule.For.RTL.build()} &{\r\n transform: scaleX(-1);\r\n }\r\n ` : null}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {ButtonLabelOverflow, ButtonSizeVariant} from \"../../button-props.interface\";\r\n\r\ninterface IButtonLabelPaddingBoxProps {\r\n lateralPadding: number;\r\n sizeVariant: ButtonSizeVariant;\r\n labelOverflow: ButtonLabelOverflow;\r\n}\r\n\r\nexport const ButtonLabelPaddingDefaultBox = styled.span`\r\n ${flexAdaptiveSizeItem}\r\n \r\n padding: 0em ${({lateralPadding}) => lateralPadding}em 0em;\r\n\r\n white-space: ${({labelOverflow}) => labelOverflow === \"wrap\" ? \"unset\" : \"nowrap\"}; // use \"unset\" if you want to allow label wrap, use \"nowrap\" for expanding the button or ellipsis\r\n overflow: hidden;\r\n text-overflow: ${({labelOverflow}) => labelOverflow === \"ellipsis\" ? \"ellipsis\" : \"clip\"};\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingCasino888Box = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0.2em;\r\n padding-bottom: 0em;\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingCasino777Box = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0em;\r\n padding-bottom: 0em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-top: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0.2em\" : \"0em\" };\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingSIBox = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: 0em;\r\n padding-bottom: 0.1em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-bottom: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0em\" : \"0.1em\" };\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-bottom: 0;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\n\r\nexport const ButtonLabelPaddingDelawareBox = styled(ButtonLabelPaddingDefaultBox)`\r\n padding-top: ${({sizeVariant}) => sizeVariant === \"xs\" ? \"0em\" : \"0.2em\" };\r\n padding-bottom: 0em;\r\n \r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n padding-top: 0em;\r\n }\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonLabelPaddingDefaultBox} from \"./button-label-padding.default.box\";\r\nimport {ButtonLabelPaddingCasino888Box} from \"./button-label-padding.casino888.box\";\r\nimport {ButtonLabelPaddingCasino777Box} from \"./button-label-padding.casino777.box\";\r\nimport {ButtonLabelPaddingSIBox} from \"./button-label-padding.si.box\";\r\nimport {ButtonLabelPaddingDelawareBox} from \"./button-label-padding.delaware.box\";\r\n\r\n\r\nexport const ButtonLabelPaddingBox = styledByTheme(ButtonLabelPaddingDefaultBox)\r\n .forCasino888(ButtonLabelPaddingCasino888Box)\r\n .forCasino777(ButtonLabelPaddingCasino777Box)\r\n .forSI(ButtonLabelPaddingSIBox)\r\n .forDelawarePark(ButtonLabelPaddingDelawareBox)\r\n .apply();\r\n","import {Check} from \"@sparkware/app-utils\";\r\nimport {Color} from \"../../../../common/utils/color-util\";\r\nimport {IButtonColor, IButtonColorSet, IButtonColorSetDef} from \"./button-props.interface\";\r\n\r\nexport function hoverColor(hex: string, hoverAdjustAmount: number = 17) {\r\n try {\r\n const color = Color.fromHex(hex);\r\n // i chose 60 here because it's a value close to sqrt(35^2 + 35^2 + 35^2)\r\n if (color.distanceFrom(new Color(255, 255, 255)) < 60) {\r\n return color.darken(hoverAdjustAmount).hexa();\r\n }\r\n return color.lighten(hoverAdjustAmount).hexa();\r\n } catch (e) {\r\n console.log(e);\r\n console.log(\"HOVER COLOR WAS CALLED WITH: \", hex);\r\n return hex;\r\n }\r\n}\r\n\r\nexport function hoverGradient(gradient: string, hoverAdjustAmount?: number) {\r\n const clrs = gradient.split(\"#\");\r\n if (clrs.length > 1) {\r\n for (let i = 1; i < clrs.length; i++) {\r\n const hexClr = clrs[i].substring(0, 6);\r\n // get the hover color and remove # because we will add when joining\r\n const hexHoverClr = hoverColor(hexClr, hoverAdjustAmount).substring(1);\r\n clrs[i] = hexHoverClr + clrs[i].substring(6);\r\n }\r\n return clrs.join(\"#\");\r\n }\r\n return gradient;\r\n}\r\n\r\nexport function computeColorSet(colorSet: IButtonColorSetDef, defaultDisabled: IButtonColor): IButtonColorSet {\r\n const hoverAdjustAmount = Check.isNumber(colorSet.hover) ? colorSet.hover : undefined;\r\n if (Check.isNumber(colorSet.hover)) {\r\n // I need to clone the colorSet otherwise I will delete hover globally (colorSet is passed by reference)\r\n colorSet = {\r\n ...colorSet\r\n };\r\n delete colorSet.hover;\r\n }\r\n\r\n let hoverBgGradient = undefined;\r\n if (colorSet.normal.bgGradient) {\r\n hoverBgGradient = hoverGradient(colorSet.normal.bgGradient, hoverAdjustAmount);\r\n }\r\n const defaultHover: IButtonColor = {\r\n ...colorSet.normal,\r\n bg: hoverColor(colorSet.normal.bg, hoverAdjustAmount),\r\n border: hoverColor(colorSet.normal.border, hoverAdjustAmount),\r\n bgGradient: hoverBgGradient\r\n };\r\n /**\r\n * I get a weird Typescript bug probably because interfaces IButtonColorSet and IButtonColorSetDef.\r\n * It says that type number is not assignable to IButtonColor but defaultHover cannot be number and is not defined as number.\r\n * I cast it as any\r\n */\r\n const cset: IButtonColorSet = {\r\n disabled: defaultDisabled,\r\n hover: defaultHover as any,\r\n ...colorSet,\r\n }\r\n return cset\r\n}\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport { withTheme } from \"styled-components\";\r\nimport { OrbitTheme } from \"../../../themes/architecture/orbit-theme.interface\";\r\nimport { SvgSizeUnit } from \"../../icon/svg-icon/svg.icon\";\r\nimport { IButtonCommonProps, ButtonPreset, ButtonStroke, ButtonSizeVariant, IButtonIconProps, IButtonColorSet } from \"./button-props.interface\";\r\nimport { ButtonBox } from \"./boxes/button.box\";\r\nimport { ButtonLabelBox } from \"./boxes/label/button-label.box\";\r\nimport { ButtonIconWrapperBox } from \"./boxes/button-icon-wrapper.box\";\r\nimport { FlexShrinkItemBox } from \"../../../themes/architecture/css-helpers/flex\";\r\nimport { ButtonLabelPaddingBox } from \"./boxes/label-padding-box/button-label-padding.box\";\r\nimport { computeColorSet } from \"./button-hover-colors-helpers\";\r\n\r\ninterface IButtonProps extends IButtonCommonProps {\r\n preset: ButtonPreset;\r\n stroke?: ButtonStroke;\r\n icon?: IButtonIconProps;\r\n sizeVariant?: ButtonSizeVariant;\r\n className?: string;\r\n tooltip?: string;\r\n\r\n /**\r\n * theme is addded by styled-component's withTheme\r\n */\r\n theme: OrbitTheme;\r\n\r\n /* button interactions */\r\n onClick?(): void;\r\n onMouseEnter?(): void;\r\n onMouseLeave?(): void;\r\n}\r\n\r\nconst ButtonIcon: React.FC<{IconComponent: IButtonIconProps[\"Component\"], size: number, options?: {reverseOnRTL?: boolean}}> = (props) => {\r\n if(!props.IconComponent) {\r\n return null;\r\n }\r\n\r\n const IconComponent = props.IconComponent;\r\n return \r\n \r\n \r\n};\r\n\r\nconst $Button: React.FC> = (props) => {\r\n\r\n let {\r\n children, theme, preset, icon, stroke, sizeVariant, rounded, elevated, tooltip, labelOverflow,\r\n onClick, onMouseEnter, onMouseLeave,\r\n ...otherProps\r\n } = props;\r\n let hasIcon = !!icon;\r\n let hasLabel = !!children;\r\n\r\n onClick = props.disabled ? undefined : onClick;\r\n onMouseEnter = props.disabled ? undefined : onMouseEnter;\r\n onMouseLeave = props.disabled ? undefined : onMouseLeave;\r\n\r\n let presetValues = theme.baseUIComponents.button.presets[preset];\r\n let themePresetDefaults = theme.baseUIComponents.button.defaults;\r\n\r\n const colorSet: IButtonColorSet = computeColorSet(presetValues.colors, theme.baseUIComponents.button.disabledColorSet);\r\n\r\n stroke = stroke ?? presetValues.stroke ?? themePresetDefaults.stroke;\r\n rounded = rounded ?? presetValues.rounded ?? themePresetDefaults.rounded;\r\n elevated = elevated ?? presetValues.elevated ?? themePresetDefaults.elevated;\r\n sizeVariant = sizeVariant || \"s\";\r\n labelOverflow = labelOverflow || \"expand\";\r\n\r\n let iconSize = icon && icon.size ? icon.size : \"regular\";\r\n let iconPlacement = icon && icon.placement ? icon.placement : \"left\";\r\n\r\n let strokeWidth = theme.baseUIComponents.button.strokeValues[stroke];\r\n let width = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].width;\r\n let height = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].height;\r\n let iconSizeValue = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].iconSize[iconSize];\r\n let fontSize = theme.baseUIComponents.button.sizeVariantValues[sizeVariant].fontSize || presetValues.fontSize || themePresetDefaults.fontSize;\r\n let lateralPadding = sizeVariant === \"xs\" ? 0.6 : 1;\r\n\r\n return \r\n { icon ? (iconPlacement === \"left\" ? : ) : null }\r\n { props.children ? \r\n \r\n {props.children}\r\n \r\n : null }\r\n { icon ? (iconPlacement === \"right\" ? : ) : null }\r\n ;\r\n\r\n}\r\n\r\nexport const Button = withTheme($Button);\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../components/base-components/orbit-component/orbit-component\";\r\n\r\nconst SelectWrapperBox = styled.div<{width?: string;}>`\r\n display: inline-block;\r\n position: relative;\r\n width: ${({width}) => width};\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\n\r\nconst SelectBox = styled.select<{width?: string; hasError?: boolean;}>`\r\n height: 4.5rem;\r\n width: ${({width}) => width};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.4rem;\r\n transition: border-radius 0.2s linear, border-color 0.2s linear;\r\n background-color: ${props => props.theme.colors.backgroundMiddleDark};\r\n color: inherit;\r\n border-radius: ${({theme}) => theme.layout.border.radius};\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderLighter};\r\n &:hover {\r\n border-color: ${props => props.hasError ? props.theme.colors.danger : props.theme.colors.boxBorderContrast};;\r\n }\r\n border-width: 1px;\r\n border-style: solid;\r\n padding: 0 4rem 0 1.6rem;\r\n\r\n /* REMOVE THE DEFAULT ARROW */\r\n /* for Firefox */\r\n -moz-appearance: none;\r\n /* for Safari, Chrome, Opera */\r\n -webkit-appearance: none;\r\n /* for IE10 */\r\n &::-ms-expand {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst SelectBoxArrow = styled.div`\r\n position: absolute;\r\n right: 0.6rem;\r\n top: 0;\r\n width: 3rem;\r\n padding: 0.7rem;\r\n margin-top: 0.72rem;\r\n pointer-events: none;\r\n border-radius: 50%;\r\n\r\n transition: transform 0.2s linear;\r\n transform: rotate(90deg);\r\n`;\r\n\r\ninterface ISelectProps extends PropsWithChildren {\r\n // standard props from native html select element that will be passed directly\r\n id?: string;\r\n name?: string;\r\n value?: string | number;\r\n onChange?(event: React.ChangeEvent): void;\r\n className?: string;\r\n\r\n // custom props, not native html select element\r\n hasError?: boolean;\r\n width?: string;\r\n}\r\n\r\nexport class Select extends OrbitComponent { // React.SelectHTMLAttributes\r\n render() {\r\n let {width, ...passThroughProps} = this.props;\r\n width = width || \"auto\";\r\n const selectWidth = width !== \"auto\" ? \"100%\" : \"auto\";\r\n\r\n const ArrowIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n return \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n \r\n ;\r\n }\r\n}","import * as React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\nimport {PropsWithChildren} from \"react\";\r\n\r\nexport enum SvgSizeUnit {\r\n Rem = \"rem\",\r\n Em = \"em\",\r\n Px = \"px\",\r\n Percent = \"%\"\r\n}\r\n\r\nexport interface ISvgIconProps extends PropsWithChildren {\r\n /**\r\n * The size of the icon.\r\n * @default 2.4\r\n */\r\n size?: number;\r\n /**\r\n * if false, the property size represents the width\r\n * if true, the property size represents the height\r\n * @default false\r\n */\r\n sizeIsHeight?: boolean;\r\n /**\r\n * Css unit: rem, em, px, %\r\n * @default rem\r\n */\r\n sizeUnit?: SvgSizeUnit;\r\n /**\r\n * Additional css,\r\n * Do not abuse this prop. You will be punished\r\n */\r\n style?: React.CSSProperties;\r\n /**\r\n * Additional class name for styling, selectors\r\n * Do not abuse this prop. You will be punished\r\n */\r\n className?: string;\r\n}\r\n\r\ninterface ISvgIconPrivateProps {\r\n /**\r\n * The aspect ratio of the icon. is expressed by the width divided by the height.\r\n * For example an icon that is 16:9 will have a ratio of 16/9 = 1.(7) ~= 1.78\r\n * Default is 1, square icon\r\n * @default 1\r\n */\r\n ratio?: number;\r\n /**\r\n * Specific svg property\r\n */\r\n viewBox?: string;\r\n /**\r\n * Some icons needs to be flipped on RTL languages, for example left arrow icon (<) must be flipped, and will look like a right arrow icon (>)\r\n */\r\n flipOnRTL?: boolean;\r\n}\r\n\r\nconst Svg = styled.svg<{flipOnRTL?: boolean}>`\r\n ${({flipOnRTL}) => flipOnRTL ? css`\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }`\r\n : null}\r\n`;\r\n\r\nexport class SvgIcon extends React.Component {\r\n render() {\r\n const sizeUnit = this.props.sizeUnit ? this.props.sizeUnit : SvgSizeUnit.Rem;\r\n const defaultSize = sizeUnit === SvgSizeUnit.Px ? 24 : (sizeUnit === SvgSizeUnit.Percent ? 100 : 2.4);\r\n const size = this.props.size ? this.props.size : defaultSize;\r\n const ratio = this.props.ratio ? this.props.ratio : 1;\r\n\r\n const width = this.props.sizeIsHeight ? (size * ratio) : size;\r\n const height = this.props.sizeIsHeight ? size : (size / ratio);\r\n\r\n const viewBox = this.props.viewBox ?? \"0 0 24 24\";\r\n const style = {\r\n display: \"block\",\r\n ...this.props.style\r\n };\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const XCloseButtonBox = styled.button`\r\n cursor: pointer;\r\n background-image: url(\"${props => props.theme.images.closeModalDialog.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`;","import {IArenaViewModel} from \"../../services/arenas/models/arenas/arena-view-model.interface\";\r\nimport React from 'react';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface SwiperWindowComponentProps {\r\n windowPosition: number;\r\n arena: IArenaViewModel;\r\n}\r\n\r\nexport const SwiperWindowComponent: React.FC = observer((props) => {\r\n return props.arena.renderList(props.windowPosition);\r\n});\r\n\r\n\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwiperWindowComponent} from \"../orbit-swiper/swiper-window.component\";\r\nimport {useServices} from \"../../react-hooks/use-services.hook\";\r\nimport {reaction} from \"mobx\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport useIsInViewPort from \"../../react-hooks/use-is-in-viewport.hook\";\r\n\r\ninterface ArenaGamesListsComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const ArenaGamesListsComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n const [listsCount, setListsCount] = useState(0);\r\n const [hasMoreLists, setHasMoreLists] = useState(true);\r\n const intersectionSpyRef = useRef(null);\r\n let isIntersectionSpyInViewport = useIsInViewPort(intersectionSpyRef);\r\n\r\n const arena = services.arenas.getArena(props.arenaName);\r\n\r\n const loadNextBatch = () => {\r\n const nextBatch = arena.getNextBatchSize(listsCount);\r\n if(nextBatch === 0) {\r\n if(hasMoreLists !== false) {\r\n setHasMoreLists(false);\r\n }\r\n } else {\r\n setListsCount(listsCount + nextBatch);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const reactionDispose = reaction(() => services.user.isAuthorized,\r\n () => {\r\n setListsCount(0);\r\n setHasMoreLists(true);\r\n });\r\n\r\n return () => {\r\n reactionDispose();\r\n }\r\n }, [services.user.isAuthorized]);\r\n\r\n useEffect(() => {\r\n\r\n const spyRectangle = intersectionSpyRef.current.getBoundingClientRect();\r\n //spyRectangle.top <= window.innerHeight is here because IntersectionObserver used by useIsInViewPort hook has a delay in detecting that the element is not in the viewport anymore.\r\n if(spyRectangle.top <= window.innerHeight && hasMoreLists && isIntersectionSpyInViewport) {\r\n loadNextBatch();\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n const range = Array.from({length: listsCount}, (x, i) => i + 1);\r\n\r\n return (\r\n\r\n \r\n {range.map(listWindowPosition => ())}\r\n\r\n
\r\n \r\n );\r\n\r\n});\r\n\r\n","import {MutableRefObject, useEffect, useState} from \"react\";\r\n\r\nexport default function useIsInViewPort(ref: MutableRefObject) {\r\n\r\n const [isIntersecting, setIntersecting] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n ([entry]) => setIntersecting(entry.intersectionRatio > 0 || entry.isIntersecting)\r\n );\r\n if(ref.current) {\r\n observer.observe(ref.current);\r\n }\r\n return () => {\r\n try {\r\n observer.disconnect()\r\n } catch (err) {\r\n console.error('Failed to disconnect observer');\r\n }\r\n }\r\n }, [ref]);\r\n\r\n return isIntersecting;\r\n}\r\n","import {LiveCasinoGridItemDefaultBox} from \"./live-casino-grid-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemBox = LiveCasinoGridItemDefaultBox;","import styled, {css} from \"styled-components\";\r\n\r\ninterface ILiveCasinoGridItemDefaultBoxProps {\r\n fluidWidth?: boolean; // when true, don't set the width, let it flow within its parent\r\n}\r\n\r\nexport const LiveCasinoGridItemDefaultBox = styled.div`\r\n box-sizing: border-box;\r\n\r\n /* Prevents CSS Transform flicker */\r\n backface-visibility: hidden;\r\n\r\n ${({fluidWidth}) => !fluidWidth && css`\r\n\r\n width: calc(100% / 5);\r\n padding: 1em 0.5em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: calc(100% / 3);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: calc(100% / 4);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 0.5em 0.25em;\r\n }\r\n `}\r\n`;","import styled from \"styled-components\";\r\n\r\nexport interface LiveCasinoGridItemInfoItemDefaultBoxProps {\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport const LiveCasinoGridItemInfoItemDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n margin: ${props => props.isLiveStreamOverlay ? '0 0.75em 0 0.75em' : '0 1em 0 0'};\r\n color: ${props => props.theme.colors.textLight};\r\n letter-spacing: 0.1rem;\r\n font-size: 1em;\r\n height: 24px;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemSIBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfoItemMrGreenBox = styled(LiveCasinoGridItemInfoItemDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n font-size: 1.2em;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemInfoItemDefaultBox} from \"./live-casino-grid-item-info-item.default.box\";\r\nimport {LiveCasinoGridItemInfoItemSIBox} from \"./live-casino-grid-item-info-item.si.box\";\r\nimport {LiveCasinoGridItemInfoItemMrGreenBox} from \"./live-casino-grid-item-info-item.mrgreen.box\"\r\n\r\nexport const LiveCasinoGridItemInfoItemBox = styledByTheme(LiveCasinoGridItemInfoItemDefaultBox)\r\n .forSI(LiveCasinoGridItemInfoItemSIBox)\r\n .forSICis(LiveCasinoGridItemInfoItemSIBox)\r\n .forMrGreen(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemInfoItemMrGreenBox)\r\n .apply();","import {LiveCasinoGridItemInfobarIconDefaultBox} from \"./live-casino-grid-item-infobar-icon.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconBox = LiveCasinoGridItemInfobarIconDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemInfobarIconDefaultBox = styled(Image)`\r\n margin-right: 0.25em;\r\n`;","import {LiveCasinoGridItemThumbnailImageDefaultBox} from \"./live-casino-grid-item-thumbnail-image.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageBox = LiveCasinoGridItemThumbnailImageDefaultBox;","import styled from \"styled-components\";\r\nimport {ITEM_WRAPPER_BOX} from \"../../css-constants\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const LiveCasinoGridItemThumbnailImageDefaultBox = styled(Image)<{filterBlur?: boolean}>`\r\n width: 100%;\r\n transition: transform 0.25s ease;\r\n ${({filterBlur}) => filterBlur ? 'filter: blur(2px)' : null};\r\n .${ITEM_WRAPPER_BOX}:hover &{\r\n transform: scale(1.2);\r\n }\r\n`;","export const ITEM_WRAPPER_BOX = 'item-wrapper-box';\r\nexport const RED = 'red';\r\nexport const GREEN = 'green';","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemInfobarDefaultBox = styled.div`\r\n display: flex;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n padding: 0.5em 1em;\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.75)};\r\n position: absolute;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: -1px;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarCasino777Box = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.infobarBackground, 0.92)};\r\n &::before {\r\n background: transparent linear-gradient(90deg, transparent 0%, ${props => props.theme.colors.background} 33%, ${props => props.theme.colors.background} 69%, transparent 100%) 0% 0% no-repeat padding-box;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarMrGreenBox = styled(LiveCasinoGridItemInfobarDefaultBox)`\r\n background: ${props => hexToRgba(props.theme.colors.horizontalLineBackgroundColor, 0.6)};\r\n &::before {\r\n background: none;\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemInfobarCasino777Box } from \"./live-casino-grid-item-infobar.casino777.box\";\r\nimport {LiveCasinoGridItemInfobarDefaultBox} from \"./live-casino-grid-item-infobar.default.box\";\r\nimport {LiveCasinoGridItemInfobarMrGreenBox} from \"./live-casino-grid-item-infobar.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridItemInfobarBox = styledByTheme(LiveCasinoGridItemInfobarDefaultBox)\r\n .forCasino777(LiveCasinoGridItemInfobarCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemInfobarMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalDefaultBox = styled.div`\r\n position: absolute;\r\n top: 1em;\r\n left: 1em;\r\n padding: 0.5em 1em;\r\n line-height: 1;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundDark, 0.75)};\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.1)};\r\n border-radius: 50px;\r\n z-index: 3;\r\n\r\n > span {\r\n font-size: 1.2em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n top: 0.5em;\r\n left: 0.5em;\r\n padding: 0.5em 1em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalCasino777Box = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.colors.background, 0.95)}; /** Color.brandYellow */\r\n border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)}; /** Color.sepia */\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalMrGreenBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.brandPrimaryDark};\r\n background: ${hexToRgba(baseColors.base03, 0.80)};\r\n border: 1px solid ${hexToRgba(baseColors.gray033, 0.1)};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\"\r\n\r\nexport const LiveCasinoGridItemBetIntervalSIBox = styled(LiveCasinoGridItemBetIntervalDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n background: ${props => hexToRgba(props.theme.colors.backgroundLight, 0.98)};\r\n //border: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryLight, 0.1)};\r\n box-shadow: 0px 3px 9px #00000080;\r\n letter-spacing: 0.48px;\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoGridItemBetIntervalCasino777Box } from \"./live-casino-grid-item-bet-interval.casino777.box\";\r\nimport { LiveCasinoGridItemBetIntervalMrGreenBox } from \"./live-casino-grid-item-bet-interval.mrgreen.box\";\r\nimport {LiveCasinoGridItemBetIntervalDefaultBox} from \"./live-casino-grid-item-bet-interval.default.box\";\r\nimport {LiveCasinoGridItemBetIntervalSIBox} from \"./live-casino-grid-item-bet-interval.si.box\";\r\n\r\nexport const LiveCasinoGridItemBetIntervalBox = styledByTheme(LiveCasinoGridItemBetIntervalDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetIntervalCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemBetIntervalMrGreenBox)\r\n .forSI(LiveCasinoGridItemBetIntervalSIBox)\r\n .forSICis(LiveCasinoGridItemBetIntervalSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../../../themes/hex-to-rgba\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageDefaultBox = styled.div`\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n display: flex;\r\n position: relative;\r\n flex-direction: column;\r\n flex: 1;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center;\r\n line-height: 1.25;\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => hexToRgba(props.theme.components.newLiveCasino.colors.gridItem.closedMessageBackground, 0.9)};\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.backgroundContrast}, transparent);\r\n }\r\n\r\n & > span {\r\n display: block;\r\n width: 100%;\r\n font-size: 1.6em;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-top: 2em;\r\n font-size: 0.85rem;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageCasino777Box = styled(LiveCasinoGridItemClosedMessageDefaultBox)`\r\n &::after {\r\n background: linear-gradient(90deg, transparent, ${props => props.theme.colors.brandSecondaryDark} 33%, ${props => props.theme.colors.brandSecondaryDark} 67%, transparent);\r\n }\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemClosedMessageDefaultBox} from \"./live-casino-grid-item-closed-message.default.box\";\r\nimport {LiveCasinoGridItemClosedMessageCasino777Box} from \"./live-casino-grid-item-closed-message.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemClosedMessageBox = styledByTheme(LiveCasinoGridItemClosedMessageDefaultBox)\r\n .forCasino777(LiveCasinoGridItemClosedMessageCasino777Box)\r\n .apply();\r\n","import {LiveCasinoGridItemThumbnailOverlayDefaultBox} from \"./live-casino-grid-item-thumbnail-overlay.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayBox = LiveCasinoGridItemThumbnailOverlayDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailOverlayDefaultBox = styled.div`\r\n display: flex;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n`;","import {LiveCasinoGridItemThumbnailDefaultBox} from \"./live-casino-grid-item-thumbnail.default.box\";\r\n\r\nexport const LiveCasinoGridItemThumbnailBox = LiveCasinoGridItemThumbnailDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemThumbnailDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 56.25%; // keeps a 16:9 ratio\r\n overflow: hidden;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemWrapperDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n box-shadow: 0 0 5px ${props => props.theme.colors.boxBorderDark};\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperCasino777Box = styled(LiveCasinoGridItemWrapperDefaultBox)`\r\n box-shadow: 0 0 5px ${props => props.theme.colors.background};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemWrapperDefaultBox} from \"./live-casino-grid-item-wrapper.default.box\";\r\nimport { LiveCasinoGridItemWrapperCasino777Box } from \"./live-casino-grid-item-wrapper.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemWrapperBox = styledByTheme(LiveCasinoGridItemWrapperDefaultBox)\r\n .forCasino777(LiveCasinoGridItemWrapperCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemTitleDefaultBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: ${props => props.theme.colors.textLight};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n letter-spacing: 1px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleMrGreenBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n ${props => props.theme.font.presets.light}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\n\r\nexport const LiveCasinoGridItemTitleSIBox = styled(LiveCasinoGridItemTitleDefaultBox)`\r\n font-size: 1.3em;\r\n letter-spacing: 0.48px;\r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemTitleMrGreenBox} from \"./live-casino-grid-item-title.mrgreen.box\";\r\nimport {LiveCasinoGridItemTitleDefaultBox} from \"./live-casino-grid-item-title.default.box\";\r\nimport {LiveCasinoGridItemTitleSIBox} from \"./live-casino-grid-item-title.si.box\";\r\n\r\nexport const LiveCasinoGridItemTitleBox = styledByTheme(LiveCasinoGridItemTitleDefaultBox)\r\n .forMrGreen(LiveCasinoGridItemTitleMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemTitleMrGreenBox)\r\n .forSI(LiveCasinoGridItemTitleSIBox)\r\n .forSICis(LiveCasinoGridItemTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n height: 2em;\r\n padding: 0 1.25em;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: 400;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid;\r\n text-transform: uppercase;\r\n border-radius: 50px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.2em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundDark};\r\n background: ${props => props.theme.colors.brandSecondary};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em;\r\n background: transparent;\r\n border: none;\r\n font-weight: 300;\r\n line-height: 1;\r\n font-size: 1.1em;\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemBetBehindButtonDefaultBox } from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindButtonCasino777Box = styled(LiveCasinoGridItemBetBehindButtonDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n background: ${props => props.theme.colors.background};\r\n\r\n &:hover {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props => props.theme.colors.backgroundActive};\r\n }\r\n\r\n ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:hover {\r\n color: ${props => props.theme.colors.backgroundActive};\r\n }\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemBetBehindButtonDefaultBox} from \"./live-casino-grid-item-bet-behind-button.default.box\";\r\nimport {LiveCasinoGridItemBetBehindButtonCasino777Box} from \"./live-casino-grid-item-bet-behind-button.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemBetBehindBox = styledByTheme(LiveCasinoGridItemBetBehindButtonDefaultBox)\r\n .forCasino777(LiveCasinoGridItemBetBehindButtonCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemJackpotDefaultBox = styled.div`\r\n display: flex;\r\n box-sizing: border-box;\r\n padding: 0 1rem;\r\n align-items: center;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 50px;\r\n font-size: 1.2em;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n line-height: 1;\r\n font-size: 1.1em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemJackpotDefaultBox } from \"./live-casino-grid-item-jackpot.default.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotCasino777Box = styled(LiveCasinoGridItemJackpotDefaultBox)`\r\n color: ${props => props.theme.colors.danger};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemJackpotDefaultBox} from \"./live-casino-grid-item-jackpot.default.box\";\r\nimport {LiveCasinoGridItemJackpotCasino777Box} from \"./live-casino-grid-item-jackpot.casino777.box\";\r\n\r\nexport const LiveCasinoGridItemJackpotBox = styledByTheme(LiveCasinoGridItemJackpotDefaultBox)\r\n .forCasino777(LiveCasinoGridItemJackpotCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemOpenAtBox = styled.div`\r\n width: 100%;\r\n font-size: 2.25em;\r\n font-weight: 700;\r\n`;","import React from \"react\";\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {GameInfo, OpenGameParameters} from '../../../../../app-react/services/games/game-info';\r\nimport {OrbitComponent} from '../../../../../app-react/components/base-components/orbit-component/orbit-component';\r\nimport {ILiveTableInfo} from '../../../../services/live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveCasinoGridItemInfobarBox} from \"./boxes/infobar/live-casino-grid-item-infobar.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"./boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\nimport {LiveCasinoGridItemBetIntervalBox} from \"./boxes/bet-interval/live-casino-grid-item-bet-interval.box\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"./boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemClosedMessageBox} from \"./boxes/closed-message/live-casino-grid-item-closed-message.box\";\r\nimport {LiveCasinoGridItemThumbnailOverlayBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-overlay.box\";\r\nimport {LiveCasinoGridItemThumbnailBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail.box\";\r\nimport {LiveCasinoGridItemWrapperBox} from \"./boxes/wrapper/live-casino-grid-item-wrapper.box\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {ITEM_WRAPPER_BOX} from \"./css-constants\";\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"./boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {LiveCasinoGridItemTitleBox} from \"./boxes/title/live-casino-grid-item-title.box\";\r\nimport {LiveCasinoGridItemBetBehindBox} from \"./boxes/infobar/bet-behind/live-casino-grid-item-bet-behind-button.box\";\r\nimport {LiveCasinoGridItemJackpotBox} from \"./boxes/infobar/jackpot/live-casino-grid-item-jackpot.box\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\nimport {LiveCasinoGridItemOpenAtBox} from \"./boxes/closed-message/live-casino-grid-item-open-at.box\";\r\nimport {TableSeatsComponent} from \"./shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"./shared-components/roulette-draws.component\";\r\nimport { FlexGrowItemBox } from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport interface ILiveCasinoArenaGridItemProps {\r\n tableId: number;\r\n gameInfo: GameInfo;\r\n listTitle: string;\r\n gameIndex: number;\r\n seoCategory: string;\r\n liveTable: ILiveTableInfo;\r\n fluidWidth?: boolean;\r\n captureGameElementRef: (element: any) => void;\r\n}\r\n\r\nexport const LiveCasinoArenaGridItem = observer(\r\n class LiveCasinoArenaGridItem extends OrbitComponent {\r\n\r\n private _openGame = (gameInfo: GameInfo) => {\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: true,\r\n pageName: this.props.seoCategory,\r\n gameIndex: this.props.gameIndex,\r\n listTitle: this.props.listTitle\r\n };\r\n\r\n gameInfo.open(openGameParams);\r\n };\r\n\r\n private _renderMinMaxBet() {\r\n const tableInfo = this.props.liveTable;\r\n let minBet: number;\r\n let maxBet: number;\r\n if(Check.isEmpty(tableInfo) || (tableInfo.MinBet === undefined || tableInfo.MaxBet === undefined)) {\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = tableInfo.MinBet;\r\n maxBet = tableInfo.MaxBet;\r\n }\r\n\r\n if(!minBet || !maxBet){\r\n this.services.logger.info(`format$$$ invalid input for gameType => ${this.props.gameInfo.gameType} ${minBet}-${maxBet}`);\r\n return;\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n this.services.device.isMobile ?\r\n this.services.currency.formatMoney(minBet, true) :\r\n this.services.currency.formatMinMaxBet(minBet, maxBet)\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderDealerName() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n const isMobilePhone = this.services.device.isMobile && !this.services.device.isTablet;\r\n\r\n if (Check.isEmpty(tableInfo) || Check.isNullOrUndefined(tableInfo.Dealer) || tableInfo.Dealer.length === 0 || isMobilePhone) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {tableInfo.Dealer}\r\n \r\n )\r\n }\r\n\r\n private _renderSeatsCount() {\r\n return ;\r\n }\r\n\r\n private _renderRouletteDraws() {\r\n return ;\r\n }\r\n\r\n private _renderJackpot() {\r\n let jpValue = this.services.jackpots.getGameJackpot(this.props.gameInfo.gameType);\r\n if (!Check.isNullOrUndefined(jpValue)) {\r\n return \r\n { this.services.currency.formatMoney(jpValue) }\r\n ;\r\n }\r\n return null;\r\n }\r\n\r\n private _renderBetBehindButton() {\r\n const tableInfo = this.props.liveTable;\r\n let tableIsFull = false;\r\n if (tableInfo.Seats && tableInfo.SeatsTaken) {\r\n tableIsFull = tableInfo.SeatsTaken.length === tableInfo.Seats;\r\n }\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.BetBehind || !tableIsFull) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n Bet behind\r\n \r\n );\r\n }\r\n\r\n private _renderGameInfobar() {\r\n\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderDealerName()}\r\n {this._renderSeatsCount()}\r\n \r\n {this._renderRouletteDraws()}\r\n {this._renderJackpot()}\r\n {this._renderBetBehindButton()}\r\n \r\n );\r\n }\r\n\r\n private _renderGameIsClosed() {\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (Check.isEmpty(tableInfo) || tableInfo.IsOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate(\"LIVE_ARENA_TABLE_IS_CLOSED_MESSAGE\")}\r\n {this.props.liveTable?.OperationHoursStartTime}\r\n \r\n );\r\n }\r\n\r\n private _renderGameThumbnailImage() {\r\n const tableInfo: ILiveTableInfo = this.props.liveTable;\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n let gameTitle: string;\r\n let gameImage: string;\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n gameTitle = gameInfo?.title;\r\n gameImage = gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n gameTitle = tableInfo.Name;\r\n\r\n gameImage = addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameThumbnail() {\r\n return (\r\n \r\n {this._renderGameThumbnailImage()}\r\n \r\n {this._renderMinMaxBet()}\r\n {this._renderGameInfobar()}\r\n {this._renderGameIsClosed()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle() {\r\n // Render an empty character so the div doesn't just collapse\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n const tableInfo = this.props.liveTable;\r\n\r\n if (tableInfo && tableInfo.Name !== undefined && tableInfo.Name.length > 0) {\r\n title = tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderGameItem() {\r\n return (\r\n \r\n this._openGame(this.props.gameInfo)} className={classNames('cy-live-casino-grid-item-inner-wrapper', ITEM_WRAPPER_BOX)}>\r\n {this._renderGameThumbnail()}\r\n {this._renderGameTitle()}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n try {\r\n return this._renderGameItem();\r\n } catch(err) {\r\n this.services.logger.error(`Failed to render LiveCasinoArenaGridItem for game ${this.props.gameInfo && this.props.gameInfo.gameType}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridDefaultBox = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n padding: 2em;\r\n font-size: 1rem;\r\n position: relative;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 0.25em;\r\n }\r\n \r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 350px;\r\n left: 0;\r\n top: 0;\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n background-repeat: no-repeat;\r\n background-position: center top;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasino777Box = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-size: cover;\r\n top: 0;\r\n height: 35rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: block;\r\n opacity:1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\nimport { LiveCasinoGridDefaultBox } from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridCasinoSICisBox = styled(LiveCasinoGridDefaultBox)`\r\n background-color: ${baseColors.base07};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\n\r\nexport const LiveCasinoGridMrGreenBox = styled(LiveCasinoGridDefaultBox)`\r\n &:before {\r\n background-image: none;\r\n }\r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridDefaultBox} from \"./live-casino-grid.default.box\";\r\nimport {LiveCasinoGridCasino777Box} from \"./live-casino-grid.casino777.box\";\r\nimport { LiveCasinoGridCasinoSICisBox } from \"./live-casino-grid.siCis.box\";\r\nimport {LiveCasinoGridMrGreenBox} from \"./live-casino-grid.mrgreen.box\";\r\n\r\nexport const LiveCasinoGridBox = styledByTheme(LiveCasinoGridDefaultBox)\r\n .forCasino777(LiveCasinoGridCasino777Box)\r\n .forSICis(LiveCasinoGridCasinoSICisBox)\r\n .forMrGreen(LiveCasinoGridMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonBox = styled.div`\r\n padding-top: 56.25%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonTitleBox = styled.div`\r\n padding: 0.5em 1em;\r\n font-size: 1.2em;\r\n color: rgba(0, 0, 0, 0);;\r\n overflow: hidden;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding: 0.25em 0.5em;\r\n }\r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n 50% {\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n 100% {\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoGridItemSkeletonWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n border-radius: 3px;\r\n overflow: hidden;\r\n`;","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {LiveCasinoGridBox} from \"./boxes/grid/live-casino-grid.box\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {LiveCasinoGridItemBox} from \"./boxes/grid-item/live-casino-grid-item.box\";\r\nimport {LiveCasinoArenaGridItem} from './live-casino-arena-grid-item.component';\r\nimport {LiveCasinoGridItemSkeletonBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton.box\";\r\nimport {LiveCasinoGridItemSkeletonTitleBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-title.box\";\r\nimport {LiveCasinoGridItemSkeletonWrapperBox} from \"./boxes/grid/skeleton/live-casino-grid-item-skeleton-wrapper.box\";\r\nimport {LiveCasinoPromotionalBannerConfiguration} from '../../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {BannerComponent} from \"../../../banner/banner.component\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\nexport interface ILiveCasinoArenaGridProps {\r\n seoCategory: string;\r\n useAISortedList: boolean;\r\n promotionalBannerConfig?: LiveCasinoPromotionalBannerConfiguration;\r\n}\r\n\r\n@observer\r\nexport class LiveCasinoArenaGrid extends OrbitComponent {\r\n private _gameElementRef: HTMLDivElement | null = null;\r\n private _gridElementRef: HTMLDivElement | null = null;\r\n\r\n constructor(props: ILiveCasinoArenaGridProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get liveTabConfigs(): LiveTableTabConfiguration | null {\r\n return this.services.liveTableFeeds.currentArenaTabConfiguration;\r\n }\r\n\r\n @observable.ref\r\n private _cmsBannerPosition: number = 0;\r\n\r\n @observable.ref\r\n private _numberOfGamesPerRow: number = 0;\r\n\r\n private _numberOfGames: number = 0;\r\n\r\n private _captureGameElementRef = (gameElement: HTMLDivElement | null) => {\r\n this._gameElementRef = gameElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n private _captureGridElementRef = (gridElement: HTMLDivElement | null) => {\r\n this._gridElementRef = gridElement;\r\n this._computeNumberOfGamesInARow();\r\n };\r\n\r\n @action.bound\r\n private _setCMSBannerPosition() {\r\n let cmsBannerPositionFromConfig = this._numberOfGamesPerRow * this.props?.promotionalBannerConfig?.displayRowPlace;\r\n this._cmsBannerPosition = this._numberOfGames > cmsBannerPositionFromConfig ? cmsBannerPositionFromConfig : this._numberOfGames;\r\n }\r\n\r\n private _computeNumberOfGamesInARow() {\r\n\r\n if (!this._gridElementRef || !this._gameElementRef) return;\r\n\r\n try {\r\n this._numberOfGamesPerRow = Math.round(Number(this._gridElementRef[\"offsetWidth\"]) / Number(this._gameElementRef[\"offsetWidth\"]));\r\n this._setCMSBannerPosition();\r\n } catch (error) {\r\n this.services.logger.error(\"Failed to compute number of live games in a row\", error);\r\n }\r\n }\r\n\r\n\r\n private _renderPromotionalBanner() {\r\n\r\n if (Check.isNullOrUndefined(this.props.promotionalBannerConfig)) return null;\r\n\r\n let promotionalBanner = this.liveTabConfigs?.headerConfiguration?.banners?.promotionalBanner;\r\n if (!promotionalBanner) {\r\n promotionalBanner = this.props.promotionalBannerConfig;\r\n }\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderGridSkeleton() {\r\n\r\n let skeletons = [];\r\n\r\n for (var i = 0; i < 12; i++) {\r\n skeletons.push(\r\n \r\n \r\n \r\n Loading\r\n \r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGridItem(tableId: number, gameIndex: number, key: number) {\r\n\r\n let listTitle = this.services.liveTableFeeds.currentArenaTabConfiguration?.gridConfiguration.title;\r\n\r\n //this if is a duplicate with the one in live-casino-arena-navbar-button.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n if (this.services.user.isAuthorized && listTitle === \"TOP_EVO_GAMES\") {\r\n listTitle = \"FOR_YOU_GAMES\";\r\n }\r\n const shouldRenderPromoBanner = gameIndex === (this._cmsBannerPosition - 1);\r\n\r\n return (\r\n \r\n \r\n {\r\n shouldRenderPromoBanner && this._renderPromotionalBanner()\r\n }\r\n \r\n );\r\n }\r\n\r\n private _renderGames() {\r\n\r\n let gameIds: number[] = [];\r\n\r\n\r\n if (this.liveTabConfigs) {\r\n gameIds = this.services.liveTableFeeds.getLiveGames();\r\n }\r\n\r\n if (gameIds.length === 0) {\r\n return this._renderGridSkeleton();\r\n } else {\r\n this._numberOfGames = gameIds.length;\r\n return gameIds.map((tableId, gameIndex) => this._renderGridItem(tableId, gameIndex, tableId));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [\r\n this.services.device.os.isPC,\r\n this.services.device.isTablet,\r\n this.services.device.isMobile\r\n ], () => this._setCMSBannerPosition(), {fireImmediately: true});\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderGames()}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {DrawsDefaultBox} from \"./live-casino-grid-item-draws.defatult.box\";\r\n\r\nexport const LiveCasinoGridItemDrawsBox = DrawsDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const DrawsDefaultBox = styled.div`\r\n display: flex;\r\n`;","import styled from \"styled-components\";\r\nimport {RED} from '../../../css-constants';\r\n\r\ninterface LiveCasinoGridItemDrawDefaultBoxProps {\r\n drawColor: string;\r\n}\r\n\r\nexport const LiveCasinoGridItemDrawDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 1.8em;\r\n height: 1.8em;\r\n font-size: 1.2em;\r\n font-weight: 900;\r\n border-radius: 2px;\r\n\r\n color: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n\r\n &:first-child {\r\n\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textLight : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textLight;\r\n }};\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {GREEN, RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawCasino777Box = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.background};\r\n background: ${props =>props.theme.colors.backgroundContrast};\r\n }\r\n\r\n &.${RED} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground};\r\n }\r\n }\r\n\r\n &.${GREEN} {\r\n color: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n\r\n &:first-child {\r\n color: ${props => props.theme.colors.textActive};\r\n background: ${props => props.theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {RED} from '../../../css-constants';\r\n\r\nexport const LiveCasinoGridItemDrawMrGreenBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n color: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n return theme.colors.textContrast;\r\n }};\r\n\r\n &:first-child {\r\n color: ${({theme, drawColor}) => {\r\n return drawColor ? theme.colors.textContrast : theme.colors.backgroundDark;\r\n }};\r\n\r\n background: ${({theme, drawColor}) => {\r\n if (drawColor) {\r\n return drawColor === RED\r\n ? theme.components.newLiveCasino.colors.gridItem.drawRedItemFirstChildBackground\r\n : theme.components.newLiveCasino.colors.gridItem.drawGreenItemFirstChildBackground;\r\n }\r\n\r\n return theme.colors.textContrast;\r\n }};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSIBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.backgroundLight};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoGridItemDrawDefaultBox } from \"./live-casino-grid-item-draw.default.box\";\r\n\r\nexport const LiveCasinoGridItemDrawSICisBox = styled(LiveCasinoGridItemDrawDefaultBox)`\r\n &:first-child {\r\n color: ${props => props.theme.colors.moneyColor};\r\n }\r\n \r\n ${({theme}) => theme.font.presets.medium};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoGridItemDrawDefaultBox} from \"./live-casino-grid-item-draw.default.box\";\r\nimport {LiveCasinoGridItemDrawCasino777Box} from \"./live-casino-grid-item-draw.casino777.box\";\r\nimport {LiveCasinoGridItemDrawMrGreenBox} from \"./live-casino-grid-item-draw.mrgreen.box\";\r\nimport {LiveCasinoGridItemDrawSIBox} from \"./live-casino-grid-item-draw.si.box\";\r\nimport { LiveCasinoGridItemDrawSICisBox } from \"./live-casino-grid-item-draw.siCis.box\";\r\n\r\nexport const LiveCasinoGridItemDrawBox = styledByTheme(LiveCasinoGridItemDrawDefaultBox)\r\n .forCasino777(LiveCasinoGridItemDrawCasino777Box)\r\n .forMrGreen(LiveCasinoGridItemDrawMrGreenBox)\r\n .forMrGreenCis(LiveCasinoGridItemDrawMrGreenBox)\r\n .forSI(LiveCasinoGridItemDrawSIBox)\r\n .forSICis(LiveCasinoGridItemDrawSICisBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {GREEN, RED} from \"../css-constants\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemDrawsBox} from \"../boxes/infobar/draws/live-casino-grid-item-draws.box\";\r\nimport {LiveCasinoGridItemDrawBox} from \"../boxes/infobar/draws/live-casino-grid-item-draw.box\";\r\n\r\ninterface IRouletteDrawsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n}\r\n\r\nconst ROULETTE_NUMBERS_MAP = {\r\n red: [\r\n \"1\", \"3\", \"5\", \"7\", \"9\", \"12\",\r\n \"14\", \"16\", \"18\", \"19\", \"21\", \"23\",\r\n \"25\", \"27\", \"30\", \"32\", \"34\", \"36\"\r\n ],\r\n green: [\"0\", \"00\"]\r\n // Black numbers are implied by default, no need to map them\r\n};\r\n\r\nexport class RouletteDrawsComponent extends OrbitComponent {\r\n\r\n private _getDrawColor(drawValue: string): string {\r\n\r\n if (ROULETTE_NUMBERS_MAP.red.includes(drawValue)) {\r\n return RED;\r\n } else if (ROULETTE_NUMBERS_MAP.green.includes(drawValue)) {\r\n return GREEN;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.BetBehind || !this.props.tableInfo.RouletteLast5Numbers || this.props.tableInfo.RouletteLast5Numbers.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.tableInfo.RouletteLast5Numbers.map((drawValue, i) =>\r\n \r\n {drawValue}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {ILiveTableInfo} from \"../../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {LiveCasinoGridItemInfoItemBox} from \"../boxes/infobar/info-item/live-casino-grid-item-info-item.box\";\r\nimport {LiveCasinoGridItemInfobarIconBox} from \"../boxes/infobar/infobar-icon/live-casino-grid-item-infobar-icon.box\";\r\n\r\nexport interface ITableSeatsComponentProps {\r\n tableInfo: ILiveTableInfo;\r\n isLiveStreamOverlay?: boolean;\r\n}\r\n\r\nexport class TableSeatsComponent extends OrbitComponent {\r\n\r\n private _isTableFull() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return this.props.tableInfo.SeatsTaken.length === this.props.tableInfo.Seats;\r\n } else {\r\n return this.props.tableInfo.Players === this.props.tableInfo.Seats;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _getTableIsFullText() {\r\n return this._isTableFull() ? this.services.translation.translate(this._getTableIsFullTranslationKey()) : this._getPlayersCountFormated();\r\n }\r\n\r\n private _getTableIsFullTranslationKey() {\r\n return this.services.device.isMobile ? \"LIVE_CASINO_TABLE_FULL_MOBILE\" : \"LIVE_CASINO_TABLE_FULL_PC\";\r\n }\r\n\r\n private _getSeatsIconSource() {\r\n return this._isTableFull()\r\n ? this.services.theme.currentTheme.images.liveArena.fullSeatIcon.toString()\r\n : this.services.theme.currentTheme.images.liveArena.seatIcon.toString();\r\n }\r\n\r\n private _getPlayersCountFormated() {\r\n\r\n if (this.props.tableInfo.Seats) {\r\n if (this.props.tableInfo.SeatsTaken?.length > 0) {\r\n return `${this.props.tableInfo.SeatsTaken.length}/${this.props.tableInfo.Seats}`;\r\n } else {\r\n return `${this.props.tableInfo.Players}/${this.props.tableInfo.Seats}`;\r\n }\r\n }\r\n\r\n return this.props.tableInfo.Players;\r\n }\r\n\r\n render() {\r\n\r\n if (Check.isEmpty(this.props.tableInfo) || this.props.tableInfo.Players === undefined) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this._getTableIsFullText()}\r\n \r\n );\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoFilterButtonsDefaultBox = styled.div`\r\n display: inline-flex;\r\n align-items: flex-start;\r\n justify-content: center;\r\n z-index: 5;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width:100%;\r\n margin: 0;\r\n padding: 1px;\r\n font-size: 0.725rem;\r\n border-left: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n\r\n .sticky-navbar & {\r\n background: ${props => props.theme.colors.backgroundDark};\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {LiveCasinoFilterButtonsDefaultBox} from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasino777Box = styled(LiveCasinoFilterButtonsDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border: none;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\n\r\nexport const LiveCasinoFilterButtonsCasinoSICisBox = styled(LiveCasinoFilterButtonsDefaultBox)` \r\n border-left: none;\r\n border-right: none; \r\n`;","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { LiveCasinoFilterButtonsDefaultBox } from \"./live-casino-filter-buttons.default.box\";\r\nimport { LiveCasinoFilterButtonsCasino777Box } from \"./live-casino-filter-buttons.casino777.box\";\r\nimport { LiveCasinoFilterButtonsCasinoSICisBox } from \"./live-casino-filter-buttons.siCis.box\";\r\n\r\nexport const LiveCasinoFilterButtonsBox = styledByTheme(LiveCasinoFilterButtonsDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonsCasino777Box)\r\n .forSICis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .forMrGreenCis(LiveCasinoFilterButtonsCasinoSICisBox)\r\n .apply();","import styled from 'styled-components';\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport { CssRule } from \"../../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: inline-block;\r\n margin: 0 auto;\r\n`;\r\n\r\nconst PCBox = DefaultBox;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n ${CssRule.For.mobile.landscape.build()} &, ${CssRule.For.ipad.build()} & {\r\n width:100%;\r\n }\r\n`;\r\n\r\nexport const LiveCasinoNavbarScrollDefaultBox = styledByDevice(PCBox, MobileBox);","import {LiveCasinoNavbarScrollDefaultBox} from \"./live-casino-navbar-scroll.default.box\";\r\n\r\nexport const LiveCasinoNavbarScrollBox = LiveCasinoNavbarScrollDefaultBox;","import {LiveCasinoNavbarOverflowDefaultBox} from \"./live-casino-navbar-overflow.default.box\";\r\n\r\nexport const LiveCasinoNavbarOverflowBox =LiveCasinoNavbarOverflowDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoNavbarOverflowDefaultBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n overflow-y: hidden;\r\n overflow-x: scroll;\r\n\r\n // Hides the scrollbar\r\n scrollbar-width: none; //Firefox\r\n &::-webkit-scrollbar {\r\n display: none;\r\n width: 0;\r\n height: 0;\r\n } // Chrome & Safari\r\n`;","import styled from 'styled-components';\r\n\r\nexport const LiveCasinoNavbarDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n background: ${props => props.theme.colors.background};\r\n font-size: 1rem;\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1) + \"px\"};\r\n z-index: 100;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 0.85rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCipBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\n\r\nexport const LiveCasinoNavbarCasino777Box = styled(LiveCasinoNavbarDefaultBox)`\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/casino888/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarCisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.gray043};\r\n`;","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarDefaultBox } from \"./live-casino-navbar.default.box\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/si/cis/base-colors\";\r\n\r\nexport const LiveCasinoNavbarSICisBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background: ${baseColors.base07};\r\n border-bottom: none;\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LiveCasinoNavbarMrGreenBox = styled(LiveCasinoNavbarDefaultBox)`\r\n background-color: ${baseColors.gray033};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoNavbarCipBox } from \"./live-casino-navbar.cip.box\";\r\n\r\nexport const LiveCasinoNavbarMrGreenCisBox = styled(LiveCasinoNavbarCipBox)`\r\n border-bottom: none;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoNavbarCipBox} from \"./live-casino-navbar.cip.box\";\r\nimport {LiveCasinoNavbarCasino777Box} from \"./live-casino-navbar.casino777.box\";\r\nimport {LiveCasinoNavbarDefaultBox} from \"./live-casino-navbar.default.box\";\r\nimport {LiveCasinoNavbarCisBox} from \"./live-casino-navbar.cis.box\";\r\nimport { LiveCasinoNavbarSICisBox } from \"./live-casino-navbar.siCis.box\";\r\nimport {LiveCasinoNavbarMrGreenBox} from \"./live-casino-navbar.mrgreen.box\";\r\nimport { LiveCasinoNavbarMrGreenCisBox } from \"./live-casino.navbar.mrgreenCis.box\";\r\n\r\nexport const LiveCasinoNavbarBox = styledByTheme(LiveCasinoNavbarDefaultBox)\r\n .forCip(LiveCasinoNavbarCipBox)\r\n .forCis(LiveCasinoNavbarCisBox)\r\n .forSICis(LiveCasinoNavbarSICisBox)\r\n .forWsopCip(LiveCasinoNavbarCipBox)\r\n .forCasino777(LiveCasinoNavbarCasino777Box)\r\n .forMrGreen(LiveCasinoNavbarMrGreenBox)\r\n .forMrGreenCis(LiveCasinoNavbarMrGreenCisBox)\r\n .apply();\r\n","import styled from 'styled-components';\r\n\r\ninterface ButtonsActiveIndicatorBoxProps {\r\n activeIndicatorWidth: number;\r\n activeIndicatorPosition: number;\r\n}\r\n\r\nexport const ButtonsActiveIndicatorDefaultBox = styled.div`\r\n margin: -2.5em 0 0 0;\r\n height: 4em;\r\n background: url(\"${props => props.theme.images.liveArena.activeIndicatorBg.toString()}\") center center / 100% 100% no-repeat;\r\n transition: width 0.25s ease, transform 0.25s ease;\r\n width: ${props => props.activeIndicatorWidth}px;\r\n transform: translateX(${props => props.activeIndicatorPosition}px);\r\n`;","import styled from \"styled-components\";\r\nimport {ButtonsActiveIndicatorDefaultBox} from \"./buttons-active-indicator.default.box\";\r\n\r\nexport const ButtonsActiveIndicatorSIBox = styled(ButtonsActiveIndicatorDefaultBox)`\r\n background: none;\r\n width: 0;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {ButtonsActiveIndicatorDefaultBox} from \"./buttons-active-indicator.default.box\";\r\nimport {ButtonsActiveIndicatorSIBox} from \"./buttons-active-indicator.si.box\";\r\n\r\nexport const ButtonsActiveIndicatorBox = styledByTheme(ButtonsActiveIndicatorDefaultBox)\r\n .forSI(ButtonsActiveIndicatorSIBox)\r\n .forSICis(ButtonsActiveIndicatorSIBox)\r\n .forMrGreen(ButtonsActiveIndicatorSIBox)\r\n .apply();","import React, {RefObject} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport classNames from \"classnames\";\r\nimport {DomEventSubscription} from \"../../../../../utils/event-listener-registration\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {IStickyHandler} from \"../../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoFilterButtonsBox} from \"./boxes/live-casino-filter-buttons/live-casino-filter-buttons.box\";\r\nimport {LiveCasinoNavbarScrollBox} from \"./boxes/live-casino-navbar-scroll/live-casino-navbar-scroll.box\";\r\nimport {LiveCasinoNavbarOverflowBox} from \"./boxes/live-casino-navbar-overflow/live-casino-navbar-overflow.box\";\r\nimport {STICKY_NAVBAR} from \"./css-constants\";\r\nimport {LiveCasinoNavbarBox} from \"./boxes/live-casino-navbar/live-casino-navbar.box\";\r\nimport {ButtonsActiveIndicatorBox} from \"./boxes/buttons-active-indicator/buttons-active-indicator.box\";\r\nimport {LiveCasinoArenaNavbarButtonProps} from \"./live-casino-arena-navbar-button.component\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {\r\n LiveTableTabConfiguration\r\n} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\n\r\ninterface ICasinoLiveArenaNavbarProps {\r\n configs: LiveTableTabConfiguration[];\r\n stickyHandler: IStickyHandler;\r\n FilterButtonComponent: React.ComponentType;\r\n}\r\n\r\ninterface ICasinoLiveArenaNavbarState {\r\n activeButton: HTMLElement | null;\r\n activeIndicator: {\r\n width: number;\r\n position: number;\r\n };\r\n}\r\n\r\nexport const LiveCasinoArenaNavbar = observer(class LiveCasinoArenaNavbar extends OrbitComponentWithState<\r\n ICasinoLiveArenaNavbarProps,\r\n ICasinoLiveArenaNavbarState\r\n > {\r\n private navbarRef = React.createRef();\r\n private buttonsRefs: Record> = {};\r\n private scrollContainerRef = React.createRef();\r\n\r\n private _scrollEventHandler: DomEventSubscription | null = null;\r\n private _resizeEventHandler: DomEventSubscription | null = null;\r\n\r\n constructor(props: ICasinoLiveArenaNavbarProps) {\r\n super(props);\r\n\r\n this.state = {\r\n activeButton: null,\r\n activeIndicator: {\r\n width: 0,\r\n position: 0,\r\n }\r\n };\r\n\r\n // Create a ref for each category button\r\n this.buttonsRefs = this.props.configs.toDictionary(config => config.headerConfiguration.filter, () => React.createRef())\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n\r\n if (!this.services.device.isMobile) {\r\n this._updateActiveIndicatorPosition();\r\n\r\n this._resizeEventHandler = this.services.window.subscribeTo.resize(\r\n this._updateActiveIndicatorPosition\r\n );\r\n\r\n this.reaction(() => this.services.liveTableFeeds.currentArenaTabConfiguration, () => {\r\n this._updateActiveIndicatorPosition();\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._resizeEventHandler && this._resizeEventHandler.dispose();\r\n this._scrollEventHandler && this._scrollEventHandler.dispose();\r\n this.props.stickyHandler && this.props.stickyHandler.dispose();\r\n }\r\n\r\n private _renderActiveIndicator() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onFilterClicked = async (tabId: string) => {\r\n await this.services.liveTableFeeds.setCurrentArenaTab(tabId);\r\n };\r\n\r\n\r\n\r\n private _updateActiveIndicatorPosition = () => {\r\n const activeButton = this.buttonsRefs[this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter]?.current;\r\n const scrollContainer = this.scrollContainerRef.current;\r\n\r\n // Use this width offset to make the active indicator larger than the actual button\r\n const widthOffset = 100;\r\n\r\n if (scrollContainer && activeButton) {\r\n this.setState({\r\n activeIndicator: {\r\n width: activeButton.offsetWidth + widthOffset,\r\n position:\r\n activeButton.getBoundingClientRect().left -\r\n widthOffset / 2 -\r\n scrollContainer.getBoundingClientRect().left,\r\n },\r\n });\r\n }\r\n };\r\n\r\n\r\n\r\n render() {\r\n const FilterButtonComponent = this.props.FilterButtonComponent || React.Fragment;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.props.configs.map((tabConfig) => {\r\n return (\r\n tabConfig.gridConfiguration.gamesId.length === 0 ? null :\r\n await this._onFilterClicked(tabConfig.headerConfiguration.filter)}\r\n buttonLabelRef={this.buttonsRefs[tabConfig.headerConfiguration.filter]}\r\n seoPage={tabConfig.headerConfiguration.seoPage}\r\n isActiveTab={tabConfig.headerConfiguration?.filter?.toLowerCase() === this.services.liveTableFeeds.currentArenaTabConfiguration?.headerConfiguration?.filter?.toLowerCase()}\r\n />\r\n );\r\n\r\n })}\r\n \r\n {this._renderActiveIndicator()}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});\r\n","export const STICKY_NAVBAR = 'sticky-navbar';\r\n","import styled from \"styled-components\";\r\nimport {LOBBY_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport const SeoBreadcrumbsContainerBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin-top: 55px;\r\n }\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SeoSectionConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {CmsBannerComponent} from '../../cms-banner/cms-banner.component';\r\nimport {SeoBreadcrumbsContainerBox} from \"./seo-breadcrumbs-container.box\";\r\n\r\nexport interface SeoBreadCrumbsComponentProps {\r\n arenaName: string;\r\n config: SeoSectionConfiguration;\r\n}\r\n\r\nexport class SeoBreadCrumbsComponent extends OrbitComponent {\r\n render() {\r\n if(!this.props.config.display || this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport styled, { AnyStyledComponent } from 'styled-components';\r\nimport { BalanceType } from '../../../common/const/wallet_balance_type';\r\nimport { OrbitComponent } from \"../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IBalanceValueProps {\r\n balanceType?: BalanceType;\r\n className?: string;\r\n WrapperComponent?: AnyStyledComponent;\r\n}\r\n\r\nexport const BalanceValue = observer(class BalanceValue extends OrbitComponent {\r\n static defaultProps: Partial = {\r\n balanceType: BalanceType.BOTH,\r\n WrapperComponent: styled.span`\r\n color: ${props => props.theme.colors.moneyColor};\r\n `\r\n };\r\n render() {\r\n let bankroll = this.services.walletProxy.bankroll[this.props.balanceType!];\r\n const balanceMaxChars = 15;\r\n // Bankroll length limited by 15 chars\r\n const numberIndex = bankroll.search(/[0-9]/g);\r\n const symbolIndex = bankroll.search(/[^0-9.,]/g);\r\n let balance: string;\r\n\r\n if (numberIndex > symbolIndex) {\r\n balance = bankroll.slice(numberIndex, numberIndex + balanceMaxChars);\r\n bankroll = bankroll.slice(symbolIndex, numberIndex) + balance;\r\n } else {\r\n balance = bankroll.slice(numberIndex, Math.min(balanceMaxChars, symbolIndex - numberIndex));\r\n bankroll = balance + bankroll.slice(symbolIndex);\r\n }\r\n\r\n let WrapperComponent = this.props.WrapperComponent!;\r\n return \r\n { bankroll }\r\n ;\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst AdminBannerBoxPC = styled.div`\r\n margin-bottom: 3rem;\r\n`;\r\n\r\nconst AdminBannerBoxMobile = styled.div`\r\n margin-bottom: 3rem;\r\n`;\r\n\r\nexport const AdminBannerBox = styledByDevice(AdminBannerBoxPC, AdminBannerBoxMobile);","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {AdminBannerBox} from \"./boxes/admin-banner-wrapper.box\";\r\n\r\n\r\ndeclare global {\r\n namespace JSX {\r\n interface IntrinsicElements {\r\n \"banner-slider\": any;\r\n }\r\n }\r\n}\r\n\r\nexport interface AdminBannerComponentProps {\r\n bannerAdminPlaceholderId: string;\r\n}\r\n\r\n\r\nexport class AdminBannerComponent extends OrbitComponent {\r\n render() {\r\n const bannerSegmentation = JSON.stringify(this.services.adminBanner.getSegmentationsForAdminBanner());\r\n const bannerConfig = JSON.stringify(this.services.adminBanner.getConfigForAdminBanner(this.props.bannerAdminPlaceholderId));\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {CmsBannerComponent, CmsBannerComponentProps} from \"../cms-banner/cms-banner.component\";\r\nimport {AdminBannerComponent, AdminBannerComponentProps} from \"../admin-banner/admin-banner.component\";\r\nimport * as React from \"react\";\r\n\r\nexport interface BannerComponentProps extends CmsBannerComponentProps, AdminBannerComponentProps {\r\n}\r\n\r\nexport class BannerComponent extends OrbitComponent {\r\n\r\n _shouldUseAdminBanner(): boolean {\r\n return this.services.adminBanner.adminBannerEnabled;\r\n }\r\n\r\n render() {\r\n return this._shouldUseAdminBanner() ? : ;\r\n }\r\n}","import React, {PropsWithChildren, Suspense} from \"react\";\r\n\r\nexport class OrbitSuspense extends React.Component {\r\n render() {\r\n return
}>\r\n {this.props.children}\r\n \r\n }\r\n}\r\n","import {OrbitComponent} from '../orbit-component/orbit-component';\r\n\r\nexport class RoutedComponent extends OrbitComponent {\r\n}\r\n","export const HYBRID_EMBEDDED_NAV_MENU = 'hybrid-embedded-nav-menu';//don't delete it - we need it to get the height for the hybrid embedded","export enum AnimationDismissType {\r\n FloatingButton = 1,\r\n FadeOut = 2\r\n}\r\nexport const FADE_OUT_DURATION_IN_SECONDS = 1;\r\nexport const FLOATING_BUTTON_DURATION_IN_SECONDS = 0.8;\r\nexport const TEXT_TRANSITION_DURATION_IN_SECONDS = 0.3;\r\nexport const FAB_DISAPPEAR_DURATION_IN_SECONDS = 2;\r\n\r\n/* The native frame width as it was made by the designer. Intrinsic size of the png image. We agreed for a frame of 600px wide and 1000px tall */\r\nexport const NATIVE_ANIMATION_FRAME_WIDTH = 600;\r\n","import styled, { css } from \"styled-components\"\r\nimport { AnimationDismissType, FADE_OUT_DURATION_IN_SECONDS, FLOATING_BUTTON_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface IBurnoutAnimationContainerProps {\r\n animationEnded: boolean;\r\n dismissType: AnimationDismissType;\r\n viewportHeight: number;\r\n zIndex: number;\r\n}\r\n\r\nexport const BurnoutAnimationContainer = styled.div`\r\n /* Position the container in the viewport, covering all visible area from top to bottom */\r\n position: fixed;\r\n top: 0;\r\n height: ${({viewportHeight}) => viewportHeight}px;\r\n /* it should be as wide as it can but no wider than 800px or the height of the viewport whichever is smaller\r\n Why no wider than 100vh? Because on very wide landscape screens (landscape mobile phones for example)\r\n we want to contain the animation in a square of the size equal to the height of the screen, any bigger, it will cut top and bottom part */\r\n width: 100%;\r\n max-width: min(${({viewportHeight}) => viewportHeight}px, 100vh, 800px);\r\n /* Horizontal alignment in viewport with right and transform */\r\n right: 50%;\r\n transform: translateX(50%);\r\n /* A big z-index, to make sure it's above everything */\r\n z-index: ${({zIndex}) => zIndex};\r\n /* Allow clicks to go through the animation elements so that the user can control the gameplay for example */\r\n pointer-events: none;\r\n /* overflow: hidden; */\r\n opacity: 1;\r\n ${({animationEnded, dismissType}) => animationEnded ? (\r\n dismissType === AnimationDismissType.FadeOut ? css`\r\n transition: opacity ${FADE_OUT_DURATION_IN_SECONDS}s;\r\n opacity: 0;\r\n ` : css`\r\n transition: height ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, width ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, max-width ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, top ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, right ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, border-radius ${FLOATING_BUTTON_DURATION_IN_SECONDS}s, opacity ${FLOATING_BUTTON_DURATION_IN_SECONDS}s;\r\n height: 60px;\r\n width: 60px;\r\n max-width: 60px;\r\n overflow: hidden;\r\n top: 75px;\r\n right: 60px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n right: 40px;\r\n }\r\n border-radius: 50%;\r\n pointer-events: auto;\r\n opacity: 0.91;\r\n `\r\n ) : ''};\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\"\r\nimport { AnimationDismissType, FLOATING_BUTTON_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface IBurnoutAnimationBoxProps {\r\n animationEnded: boolean;\r\n dismissType: AnimationDismissType;\r\n}\r\n\r\nexport const BurnoutAnimationBox = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n transform: translateY(-70%);\r\n ${({animationEnded, theme}) => animationEnded ? css`\r\n background-image: url(${theme.images.burnoutAnimation.lastFrame.toString()});\r\n background-position: 0 0;\r\n background-size: 100% 100%;\r\n ` : \"\"}\r\n\r\n /* Aspect ratio. 1000 / 600 = 1.(6) => In percentage 166.(6)% */\r\n height: 0;\r\n padding-top: calc(166.66667%);\r\n ${({animationEnded, dismissType}) => (animationEnded && dismissType === AnimationDismissType.FloatingButton) ? css`\r\n transition: transform ${FLOATING_BUTTON_DURATION_IN_SECONDS}s;\r\n transform: translateY(-90%) scale(2);\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n transform: translate(-3%, -100%) scale(2.5);\r\n }\r\n ` : \"\"}\r\n`;\r\n","import styled from \"styled-components\"\r\nimport { NATIVE_ANIMATION_FRAME_WIDTH, TEXT_TRANSITION_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\n\r\ninterface ICongratulationsTextBoxProps {\r\n animationWidth: number;\r\n show: boolean;\r\n}\r\nexport const CongratulationsTextBox = styled.div`\r\n position: absolute;\r\n z-index: 2;\r\n width: 100%;\r\n top: 66%;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n -webkit-text-stroke: 2px ${({theme}) => theme.colors.backgroundLight};\r\n ${({theme}) => theme.font.presets.ultra};\r\n\r\n font-size: ${({animationWidth}) => animationWidth * 33 / NATIVE_ANIMATION_FRAME_WIDTH}px;\r\n line-height: 1.1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: ${({animationWidth}) => animationWidth * 39 / NATIVE_ANIMATION_FRAME_WIDTH}px;\r\n letter-spacing: -0.5px;\r\n }\r\n\r\n transition: opacity ${TEXT_TRANSITION_DURATION_IN_SECONDS}s, transform ${TEXT_TRANSITION_DURATION_IN_SECONDS}s;\r\n opacity: ${({show}) => show ? 1 : 0};\r\n transform: scale(${({show}) => show ? 1 : 0.25});\r\n`;\r\n","import {DisposableObject} from \"../../../../utils/disposable-object\";\r\n\r\nexport class DisposableBurnoutAnimationDependencies extends DisposableObject {\r\n public addTimeout(handler: () => void, timeout?: number) {\r\n return super.addTimeout(handler, timeout)\r\n }\r\n}","import React from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport { AnimationDismissType, FADE_OUT_DURATION_IN_SECONDS, FLOATING_BUTTON_DURATION_IN_SECONDS, NATIVE_ANIMATION_FRAME_WIDTH } from \"./burnout-animation-constants\";\r\nimport { BurnoutAnimationContainer } from \"./boxes/burnout-animation-container.box\";\r\nimport { BurnoutAnimationBox } from \"./boxes/burnout-animation.box\";\r\nimport { CongratulationsTextBox } from \"./boxes/burnout-animation-text.box\";\r\nimport { TrackEntry } from \"../../../services/pixi-app/pixi-app.service.interface\";\r\nimport { imagePreload } from \"../../../../common/utils/image-preload\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"../../../services/pixi-app/pixi-spine-animation\";\r\nimport {DisposableBurnoutAnimationDependencies} from \"./disposable-burnout-dependencies\";\r\n\r\nconst ExitAnimationDurationByDismissType = {\r\n [AnimationDismissType.FadeOut]: FADE_OUT_DURATION_IN_SECONDS,\r\n [AnimationDismissType.FloatingButton]: FLOATING_BUTTON_DURATION_IN_SECONDS\r\n};\r\n\r\ninterface IBurnoutAnimationProps {\r\n zIndex: number;\r\n getExitAnimation(): AnimationDismissType;\r\n onExitAnimationEnd(exitAnimationType: AnimationDismissType): void;\r\n paused?: boolean;\r\n}\r\n\r\n@observer\r\nexport class BurnoutAnimation extends OrbitComponent {\r\n /* Sometimes the last frame iamge is loaded again at the end of the animation.\r\n My supposition is that when the preloaded image is not used immediately the browser assumes it will not be used so it unloads it.\r\n So I keep the reference to the image tag so the garbage collecter will not dispose the image.\r\n Apparently it works */\r\n private lastFrameCache: HTMLImageElement | null = null;\r\n\r\n private pixiBurnoutAnimation: PixiSpineAnimation;\r\n private disposableDependencies: DisposableBurnoutAnimationDependencies = new DisposableBurnoutAnimationDependencies();\r\n\r\n constructor(props: IBurnoutAnimationProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n\r\n this._viewportHeight = window.innerHeight;\r\n }\r\n\r\n componentDidMount(): void {\r\n super.componentDidMount();\r\n this.pixiBurnoutAnimation = this.createAnimation();\r\n if (!this.props.paused) {\r\n this.startAnimation();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: IBurnoutAnimationProps) {\r\n\r\n if (this.props.paused !== prevProps.paused) {\r\n if (!this.props.paused) {\r\n this.startAnimation();\r\n } else {\r\n if (this._onPauseHandler) {\r\n this._onPauseHandler(!!this.props.paused);\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.lastFrameCache = null;\r\n this._onPauseHandler = null;\r\n this.disposableDependencies.dispose();\r\n this.pixiBurnoutAnimation.dispose();\r\n }\r\n\r\n @observable.ref\r\n private _dismissType = AnimationDismissType.FadeOut;\r\n @observable.ref\r\n private _hasAnimationEnded = false;\r\n @observable.ref\r\n private _showCongratsText = false;\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _animationWidth = NATIVE_ANIMATION_FRAME_WIDTH;\r\n /* In mobile, i cannot use 100vh in css because it does not consider the browser chrome (tool bar and address bars and such).\r\n So I have to do this horrible hack, I take the height from JS */\r\n private _viewportHeight = NATIVE_ANIMATION_FRAME_WIDTH;\r\n\r\n private _onPauseHandler: ((pause: boolean) => void) | null = null;\r\n\r\n private async startAnimation() {\r\n if (this.pixiBurnoutAnimation.status === AnimationStatus.Loading || this.pixiBurnoutAnimation.status === AnimationStatus.Running) {\r\n return;\r\n }\r\n this.pixiBurnoutAnimation.start();\r\n this.pixiBurnoutAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private createAnimation() {\r\n return new PixiSpineAnimation(this.services, {\r\n width: 600, height: 1000, force2DCanvasContext: true\r\n }, [{\r\n name: 'burnoutAnimationResource',\r\n jsonUrl: this.services.theme.currentTheme.images.burnoutAnimation.pixiJson.toString()\r\n }], {\r\n render: ({spineAnimations}) => {\r\n\r\n /* Animation assets are all loaded and we can play, but before that we should also preload the last frame image to avoid flicker at the end of animation */\r\n imagePreload(this.services.theme.currentTheme.images.burnoutAnimation.lastFrame.toString()).then((response) => {\r\n this.lastFrameCache = response.imageObj;\r\n });\r\n\r\n let currentAnimationTrackEntry: TrackEntry | null;\r\n\r\n this._onPauseHandler = (pause: boolean) => {\r\n // spineAnimation.autoUpdate = !pause;\r\n if (currentAnimationTrackEntry) {\r\n currentAnimationTrackEntry.timeScale = pause ? 0 : 1;\r\n }\r\n }\r\n\r\n let spineAnimation = spineAnimations['burnoutAnimationResource'];\r\n // play animation\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"1-zoom\", false);\r\n spineAnimation.state.addAnimation(0, \"2-static_close\", false, 0.3);\r\n const spineAnimationTrackEntry3 = spineAnimation.state.addAnimation(0, \"3-opening\", false, 0);\r\n spineAnimationTrackEntry3.listener = {\r\n event: (entry, event) => {\r\n if (event.stringValue === \"open_text\") {\r\n this.setShowCongratsText(true);\r\n }\r\n }\r\n };\r\n spineAnimation.state.addAnimation(0, \"4-static _open\", false, 0);\r\n spineAnimation.state.addAnimation(0, \"5-static _open_tranzition\", false, 1.5);\r\n const spineAnimationTrackEntry6 = spineAnimation.state.addAnimation(0, \"6-static _open_empty\", false, 0);\r\n spineAnimationTrackEntry6.listener = {\r\n start: (entry) => {\r\n this.setShowCongratsText(false);\r\n }\r\n };\r\n spineAnimation.state.addAnimation(0, \"7-closing\", false, 0);\r\n const finalTrackEntry = spineAnimation.state.addAnimation(0, \"8-closed\", false, 0);\r\n finalTrackEntry.listener = {\r\n complete: (entry) => {\r\n this.setDismissType(this.props.getExitAnimation());\r\n this.markAnimationEnding();\r\n\r\n this.disposableDependencies.addTimeout(() => {\r\n this._onPauseHandler = null;\r\n this.pixiBurnoutAnimation.dispose();\r\n });\r\n\r\n this.disposableDependencies.addTimeout(() => {\r\n this.lastFrameCache = null;\r\n this.props.onExitAnimationEnd(this._dismissType);\r\n }, ExitAnimationDurationByDismissType[this._dismissType] * 1000 + 100);\r\n }\r\n };\r\n }\r\n\r\n spineAnimation.state.addListener({\r\n start: (entry) => {\r\n currentAnimationTrackEntry = entry;\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n this._viewportHeight = this.services.window.innerHeight;\r\n }\r\n }, {\r\n position: \"absolute\",\r\n top: \"0\",\r\n width: \"100%\"\r\n });\r\n }\r\n\r\n @action.bound\r\n private markAnimationEnding() {\r\n this._hasAnimationEnded = true;\r\n };\r\n\r\n @action.bound\r\n private setDismissType(v: AnimationDismissType) {\r\n this._dismissType = v;\r\n }\r\n\r\n @action.bound\r\n private setShowCongratsText(v: boolean) {\r\n this._showCongratsText = v;\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n if (el) {\r\n this._animationWidth = el.getBoundingClientRect().width;\r\n }\r\n }\r\n\r\n render() {\r\n /* Delay the rendering of the animation for the time the image is preloaded.\r\n As soon we can start the animation then we can display, measure the size of the animation based on viewport and play */\r\n return \r\n \r\n \r\n {this.services.translation.translate(\"BURNOUT_MESSAGE_LINE_1\")}\r\n
\r\n {this.services.translation.translate(\"BURNOUT_MESSAGE_LINE_2\")}\r\n \r\n \r\n
;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport styled, { css, keyframes } from \"styled-components\";\r\nimport { FAB_DISAPPEAR_DURATION_IN_SECONDS } from \"../burnout-animation-constants\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface IBurnoutFabProps {\r\n zIndex: number;\r\n onClick(): void;\r\n onMount(): void;\r\n removeButton?: boolean;\r\n}\r\n\r\nexport const BurnoutFab: React.FC = ({zIndex, onClick, onMount, removeButton}) => {\r\n\r\n React.useEffect(() => {\r\n onMount();\r\n }, [onMount]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst disappearAnimation = keyframes`\r\n 0% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n 50% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n 99% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 0;\r\n }\r\n 100% {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 0;\r\n display: none;\r\n }\r\n`;\r\n\r\nconst pulseAnimation = keyframes`\r\n 0% {\r\n transform: translateX(50%) scale(1);\r\n }\r\n 50% {\r\n transform: translateX(50%) scale(1);\r\n }\r\n 100% {\r\n transform: translateX(50%) scale(1.1);\r\n }\r\n`;\r\n\r\nconst shadowAppear = keyframes`\r\n 0% {\r\n opacity: 0;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst BurnoutFabContainer = styled.div<{zIndex: number; removeButton?: boolean;}>`\r\n position: fixed;\r\n height: 60px;\r\n width: 60px;\r\n max-width: 60px;\r\n overflow: visible;\r\n top: 75px;\r\n right: 60px;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow } {\r\n right: 40px;\r\n }\r\n border-radius: 50%;\r\n cursor: pointer;\r\n /* A big z-index, to make sure it's above everything */\r\n z-index: ${({zIndex}) => zIndex};\r\n transform: translateX(50%);\r\n opacity: 0.9;\r\n /* box-shadow: 0px 0px 40px ${({theme}) => theme.colors.brandSecondary}, inset 0 0 40px ${({theme}) => theme.colors.brandSecondary}; */\r\n transition: transform 0.3s, opacity 0.3s;\r\n &:hover {\r\n transform: translateX(50%) scale(1.1);\r\n opacity: 1;\r\n }\r\n &:active {\r\n transform: translateX(50%) scale(1.3);\r\n opacity: 1;\r\n }\r\n ${({removeButton}) => removeButton ? css`\r\n animation: ${FAB_DISAPPEAR_DURATION_IN_SECONDS}s linear 0s 1 forwards running ${disappearAnimation};\r\n ` : css`\r\n animation: 1s linear 0s infinite alternate running ${pulseAnimation};\r\n &:hover {\r\n animation: 1s linear 0s infinite alternate paused ${pulseAnimation};\r\n }\r\n `}\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n z-index: -1;\r\n width: 40%;\r\n height: 40%;\r\n top: 30%;\r\n left: 30%;\r\n background: transparent;\r\n border-radius: 50%;\r\n box-shadow: 0px 0px 40px 15px ${({theme}) => theme.colors.brandPrimary};\r\n transition: opacity 0.3s;\r\n opacity: 0;\r\n animation: 2s linear 0s 1 forwards running ${shadowAppear};\r\n }\r\n`;\r\n\r\nconst BurnoutFabInner = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n background-image: url(${({theme}) => theme.images.burnoutAnimation.lastFrame.toString()});\r\n background-position: 0 0;\r\n background-size: 100% 100%;\r\n /* Aspect ratio. 1000 / 600 = 1.(6) => In percentage 166.(6)% */\r\n height: 0;\r\n padding-top: calc(166.66667%);\r\n transform: translateY(-90%) scale(2);\r\n transition: transform 0.3s;\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove } {\r\n transform: translate(-3%, -100%) scale(2.5);\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { action, observable, runInAction, makeObservable } from \"mobx\";\r\nimport { BurnoutAnimation } from \"./burnout-animation.component\";\r\nimport { AnimationDismissType, FAB_DISAPPEAR_DURATION_IN_SECONDS } from \"./burnout-animation-constants\";\r\nimport { BurnoutFab } from \"./boxes/burnout-fab.box\";\r\nimport {ISendElasticEventOptions} from \"../../../services/analytics/analytics.service.interface\";\r\nimport {DisposableBurnoutAnimationDependencies} from \"./disposable-burnout-dependencies\";\r\n\r\ninterface IBurnoutAnimationWrapper {\r\n checkOmg(): boolean;\r\n showOmg?(): void;\r\n paused?: boolean;\r\n onSafeUnmountNotice?(): void;\r\n}\r\n\r\n@observer\r\nexport class BurnoutAnimationWrapper extends OrbitComponent {\r\n\r\n constructor(props: IBurnoutAnimationWrapper) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n private _showButton = false;\r\n @observable.ref\r\n private _animationEnded = false;\r\n @observable.ref\r\n private _removeButtonAnimation = false;\r\n private disposableDependencies: DisposableBurnoutAnimationDependencies = new DisposableBurnoutAnimationDependencies();\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.disposableDependencies.dispose();\r\n }\r\n\r\n\r\n private getExitAnimation = () => {\r\n if (this.props.checkOmg()) {\r\n return AnimationDismissType.FloatingButton;\r\n } else {\r\n return AnimationDismissType.FadeOut;\r\n }\r\n }\r\n\r\n @action.bound\r\n private onExitAnimationEnd = () => {\r\n if (this.props.checkOmg()) {\r\n this._showButton = true;\r\n } else {\r\n this.disposableDependencies.addTimeout(() => {\r\n this.recheckOmg(true);\r\n }, 2000);\r\n }\r\n this._animationEnded = true;\r\n };\r\n\r\n @action.bound\r\n private recheckOmg = (retryOnFail: boolean) => {\r\n if (this.props.checkOmg()) {\r\n this._showButton = true;\r\n } else {\r\n if (retryOnFail) {\r\n this.disposableDependencies.addTimeout(() => {\r\n this.recheckOmg(false);\r\n }, 2000);\r\n } else {\r\n // we can safely unmount this component\r\n this.props.onSafeUnmountNotice && this.props.onSafeUnmountNotice();\r\n }\r\n }\r\n };\r\n\r\n @action.bound\r\n private onClickFAB = () => {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_Marketing\",\r\n category: 'Burnout',\r\n action: 'Click_floating_icon'\r\n }\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (this.props.showOmg) {\r\n this.props.showOmg();\r\n }\r\n this._removeButtonAnimation = true;\r\n this.disposableDependencies.addTimeout(() => {\r\n runInAction(() => {\r\n this._showButton = false;\r\n // we can safely unmount this component\r\n this.props.onSafeUnmountNotice && this.props.onSafeUnmountNotice();\r\n });\r\n }, FAB_DISAPPEAR_DURATION_IN_SECONDS * 1000 + 500);\r\n };\r\n\r\n private _onMountFAB = () => {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_Marketing\",\r\n category: 'Burnout',\r\n action: 'View_floating_icon'\r\n }\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n };\r\n\r\n private _renderFAB = (zIndex: number) => {\r\n if (this._showButton) {\r\n return (\r\n \r\n )\r\n }\r\n return null;\r\n };\r\n\r\n\r\n render() {\r\n const zIndex = this.services.burnoutService.getBurnoutAnimationZIndex();\r\n /* Show the animation. If the prize is in bonus money and the omg was already received, the animation transform itself into a button.\r\n Else, the animation dissapear and I use another element as a button because\r\n it is a lot of logic inside the animation component that we don't need anymore and it might break stuff */\r\n return this._animationEnded ? this._renderFAB(zIndex) : ;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n ${({theme}) => theme.font.presets.body};\r\n \r\n &::before {\r\n content: \"\";\r\n min-width: 16px;\r\n height: 16px;\r\n margin: 0 0.5rem 0 0;\r\n background-image: url(${props => props.theme.images.spriteSheet.toString()});\r\n background-repeat: no-repeat;\r\n background-position: -89px -548px;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n margin: auto 1rem 2rem 1rem;\r\n padding: 1rem 0.5rem;\r\n font-size: 1.4rem;\r\n border-radius: 0.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow}, ${({theme}) => theme.mediaQuery.lowHeight} {\r\n margin-bottom: 0.5rem;\r\n padding: 0.5rem;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n align-self: flex-start;\r\n margin: auto 0;\r\n padding: 0;\r\n\r\n ::before {\r\n margin: 0;\r\n background-size: 1118px;\r\n background-position: -64px -416px;\r\n }\r\n`;\r\n\r\nexport const ClockLastLoginDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst PcBox = styled(ClockLastLoginDefaultBox)`\r\n ::before {\r\n background-position: -493px -506px;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(ClockLastLoginDefaultBox)`\r\n ::before {\r\n width: 1rem;\r\n height: 1rem;\r\n margin: 0;\r\n background-size: 850px;\r\n background-position: -281px -293px;\r\n }\r\n`;\r\n\r\nexport const ClockLastLoginCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport {ClockLastLoginDefaultBox} from \"./clock-last-login.default.box\";\r\n\r\nexport const ClockLastLoginSiBox = styled(ClockLastLoginDefaultBox)`\r\n ::before {\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-position: -65px -416px;\r\n }\r\n }\r\n \r\n`","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockLastLoginDefaultBox } from \"./clock-last-login.default.box\";\r\nimport { ClockLastLoginCasino777Box } from \"./clock-last-login.casino777.box\";\r\nimport { ClockLastLoginSiBox } from \"./clock-last-login.si.box\";\r\n\r\nexport const ClockLastLoginBox = styledByTheme(ClockLastLoginDefaultBox)\r\n .forCasino777(ClockLastLoginCasino777Box)\r\n .forSI(ClockLastLoginSiBox)\r\n .forSICis(ClockLastLoginSiBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin: 0 0 0 0.5em;\r\n padding: 0 0 0 0.5em;\r\n border-left: 1px solid ${props => props.theme.colors.textMiddleDark};\r\n\r\n .last-login-container {\r\n display: flex;\r\n font-size: 1rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n line-height: 1;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n .last-login-container {\r\n flex-direction: column;\r\n }\r\n\r\n .last-login-title-text {\r\n font-size: 1.1rem;\r\n padding-bottom: 0.5rem;\r\n }\r\n\r\n .last-login-result-text {\r\n font-size: 1rem;\r\n white-space: nowrap;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n .last-login-container {\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n\r\n .last-login-title-text {\r\n display: inline-block;\r\n padding-right: 0.5rem;\r\n }\r\n\r\n .last-login-result-text {\r\n display: inline-block;\r\n }\r\n`;\r\n\r\nexport const LastLoginDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport {LastLoginDefaultBox} from \"./last-login.default.box\";\r\n\r\nexport const LastLoginSiBox = styled(LastLoginDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n border-left: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { LastLoginDefaultBox } from \"./last-login.default.box\";\r\n\r\nexport const LastLoginSICisBox = styled(LastLoginDefaultBox)`\r\n letter-spacing: 0.4px;\r\n background-position: -65px -419px;\r\n`;","import { LastLoginDefaultBox } from \"./last-login.default.box\";\r\nimport { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { LastLoginSiBox } from \"./last-login.si.box\";\r\nimport { LastLoginSICisBox } from \"./clock-last-login.siCis.box\";\r\n\r\nexport const LastLoginBox = styledByTheme(LastLoginDefaultBox)\r\n .forSI(LastLoginSiBox)\r\n .forSICis(LastLoginSICisBox)\r\n .apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IPaddingFixIosBoxProps {\r\n isIos: boolean;\r\n}\r\nconst PaddingFixIosDefaultBox = styled.div``;\r\n\r\nconst PaddingFixIosSIBox = styled(PaddingFixIosDefaultBox)`\r\n ${props => props.isIos ? css`\r\n padding-top: 2px;\r\n ` : null}\r\n`;\r\n\r\nexport const PaddingFixIosBox = styledByTheme(PaddingFixIosDefaultBox)\r\n .forSI(PaddingFixIosSIBox)\r\n .apply();","import React from 'react';\r\nimport {ClockComponent} from '../clock/clock.component';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {ClockLastLoginBox} from \"./boxes/clock-last-login.box\";\r\nimport {LastLoginBox} from \"./boxes/last-login.box\";\r\nimport {PaddingFixIosBox} from './boxes/padding-fix-ios.box';\r\n\r\n\r\nexport const ClockAndLastLoginBoxComponent = observer(class ClockAndLastLoginBoxComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n if (!this.services.configuration.data.ClockAndLastLoginBox.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this._renderLastLoginComponent()}\r\n \r\n \r\n );\r\n }\r\n\r\n\r\n private _renderLastLoginComponent(): any {\r\n let data = this.services.configuration.data;\r\n if (!data.ClockAndLastLoginBox.lastLoginDisplay) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n});\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const ClockComponentDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1em;\r\n line-height: 1;\r\n`;","import styled from \"styled-components\";\r\nimport { ClockComponentDefaultBox } from \"./clock.component.default.box\";\r\n\r\nexport const ClockComponentSICisBox = styled(ClockComponentDefaultBox)`\r\n letter-spacing: 0.4px;\r\n`;","import { styledByTheme } from \"../../../themes/architecture/styled-by-theme\";\r\nimport { ClockComponentDefaultBox } from \"./clock.component.default.box\";\r\nimport { ClockComponentSICisBox } from \"./clock.component.siCis.box\";\r\n\r\nexport const ClockComponentBox = styledByTheme(ClockComponentDefaultBox)\r\n .forSICis(ClockComponentSICisBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {ISdkComponentRenderer} from '../../services/sdk-component-factory/sdk-component-factory.service.interface';\r\nimport {observer} from 'mobx-react';\r\nimport styled, {AnyStyledComponent} from 'styled-components';\r\nimport classNames from 'classnames';\r\n\r\n\r\nexport interface SdkComponentProps {\r\n componentId: string;\r\n className?: string;\r\n sdkProps?: any;\r\n box?: AnyStyledComponent | React.ComponentType;\r\n onClick?: React.MouseEventHandler;\r\n}\r\n\r\n\r\nconst DefaultBox = styled.div``;\r\n\r\nexport const SdkComponent = observer(class SdkComponent extends OrbitComponent {\r\n\r\n private _elementRef: HTMLElement | null = null;\r\n private _captureElementRef = (element: HTMLElement | null) => {\r\n this._elementRef = element;\r\n this._renderSdkComponent();\r\n };\r\n\r\n\r\n private _sdkComponentRenderer: ISdkComponentRenderer | null = null;\r\n private get sdkComponentRenderer(): ISdkComponentRenderer {\r\n if(!this._sdkComponentRenderer) {\r\n this._sdkComponentRenderer = this.services.sdkComponentFactory.createComponentRenderer(this.props.componentId);\r\n }\r\n return this._sdkComponentRenderer;\r\n }\r\n\r\n private _disposeSdkComponent() {\r\n this.sdkComponentRenderer.dispose();\r\n }\r\n\r\n private _renderSdkComponent() {\r\n\r\n //first we destroy the old component if there is one.\r\n this._disposeSdkComponent();\r\n\r\n if(!this._elementRef) {\r\n return;\r\n }\r\n\r\n this.sdkComponentRenderer.render(this._elementRef, this.props.sdkProps);\r\n }\r\n\r\n componentDidUpdate(prevProps: SdkComponentProps, prevState: any, snapshot: any) {\r\n if(JSON.stringify(prevProps?.sdkProps) !== JSON.stringify(this.props.sdkProps)) {\r\n this._renderSdkComponent();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._disposeSdkComponent();\r\n }\r\n\r\n render() {\r\n let Box: AnyStyledComponent | React.ComponentType = DefaultBox;\r\n if(this.props.box) {\r\n Box = this.props.box;\r\n }\r\n return (\r\n this._passOnClick(e)}>\r\n \r\n );\r\n }\r\n\r\n private _passOnClick(e: React.MouseEvent) {\r\n if(this.props.onClick)\r\n this.props.onClick(e);\r\n }\r\n});\r\n\r\n","import React from 'react';\r\nimport {SdkComponent} from \"../sdk/sdk.component\";\r\nimport {ClockComponentBox} from \"./boxes/clock.component.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {AnyStyledComponent} from \"styled-components\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface ClockComponentProps {\r\n format?: string\r\n box?: AnyStyledComponent | React.ComponentType;\r\n className?: string;\r\n}\r\n\r\nexport class ClockComponent extends OrbitComponent{\r\n render() {\r\n const sdkProps = {\r\n datetime: this.props.format\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {BannerContainerDefaultBox} from \"./banner-container.default.box\";\r\n\r\nexport const BannerContainerBox = BannerContainerDefaultBox;","import styled, {css} from \"styled-components\";\r\nimport {LOBBY_PAGE} from \"../../../themes/css-global-classes\";\r\n\r\nexport interface IBannerContainerBoxProps {\r\n minHeight?: string;\r\n}\r\n\r\nexport const BannerContainerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow-x: hidden;\r\n\r\n .${LOBBY_PAGE} & {\r\n z-index: 2;\r\n background-color: ${props => props.theme.colors.background}\r\n }\r\n\r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n`};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {CmsBannerId} from '../../services/cms/cms-banners/cm-banner-id/cms-banner-id';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerDefinition} from '../../services/cms/cms-banners/banner-definition/empty-banner-definition';\r\nimport {IBannerDefinition} from '../../services/cms/cms-banners/banner-definition/banner-definition.interface';\r\nimport {BannerContainerBox} from \"./banner-container/banner-container.box\";\r\n\r\nexport interface CmsBannerComponentProps {\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n showPlaceholder: boolean;\r\n className?: string;\r\n minHeight?: string;\r\n}\r\n\r\nexport const CmsBannerComponent = observer(class CmsBannerComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n componentDidUpdate() {\r\n this.services.cmsBanners.loadBanner(this._bannerId);\r\n }\r\n\r\n private get _bannerId(): CmsBannerId {\r\n return new CmsBannerId(this.props.componentID, this.props.templateID, this.props.fallbackComponent);\r\n }\r\n\r\n private get _bannerDefinition(): IBannerDefinition {\r\n let contentDefinition = this.services.cmsBanners.bannersMap[this._bannerId.key];\r\n if (contentDefinition) {\r\n return contentDefinition;\r\n }\r\n\r\n return new EmptyBannerDefinition();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this._bannerDefinition.render({\r\n showPlaceholder: this.props.showPlaceholder,\r\n minHeight: this.props.minHeight\r\n })\r\n }\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../themes/architecture/styled-by-device\";\r\n\r\nconst MobileBox = styled.div<{isHybridEmbedded: boolean}>`\r\n position: fixed;\r\n z-index:15;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 84px)' : '34px'};\r\n\r\n right: 3px;\r\n \r\n cursor: pointer;\r\n \r\n display: grid;\r\n grid-template-rows: 45px 30px;\r\n justify-items: center; \r\n`;\r\n\r\nconst PcBox = styled(MobileBox)`\r\n transform: scale(1.2);\r\n right: 20px;\r\n`;\r\n\r\nexport const DailyDealContainerBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\n\r\nconst glowRotateAnimation = keyframes`\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 20%, 25% {\r\n transform: rotate(90deg);\r\n } \r\n 45%, 50% {\r\n transform: rotate(180deg);\r\n } \r\n 70%, 75% {\r\n transform: rotate(270deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n `;\r\n\r\nexport const DailyDealChestGlowBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.glow.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 25px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 106px;\r\n width: 106px; \r\n z-index: -1;\r\n \r\n transform: rotate(30deg);\r\n animation: ${glowRotateAnimation} 4s infinite;\r\n`;\r\n","import styled, {keyframes} from \"styled-components\";\r\n\r\nconst chestScaleAnimation = keyframes`\r\n 0% { \r\n transform: scale(1);\r\n }\r\n 40%, 50% { \r\n transform: scale(1.2);\r\n }\r\n 100% { \r\n transform: scale(1);\r\n }\r\n `;\r\n\r\n\r\nexport const DailyDealChestBox = styled.img` \r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n position: relative;\r\n height: 50px;\r\n \r\n animation: ${chestScaleAnimation} 2s infinite;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealTextStripBox = styled.span`\r\n background: url(${({theme}) => theme.images.dailyDeal.textStrip.toString()}) center no-repeat;\r\n background-size: cover;\r\n \r\n display: block;\r\n \r\n width: 120px;\r\n height: 30px;\r\n \r\n color: ${({theme}) => theme.colors.textLight};\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n \r\n padding: 2.5px 10px 0;\r\n text-align: center;\r\n font-size: 13px;\r\n line-height: 19px; \r\n}\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DailyDealChestHaloBox = styled.div`\r\n\r\n background: url(${({theme}) => theme.images.dailyDeal.halo.toString()}) center no-repeat;\r\n position: relative;\r\n bottom: 15px;\r\n \r\n grid-column: 1;\r\n grid-row: 1;\r\n \r\n height: 90px;\r\n width: 83px; \r\n z-index: -1;\r\n`;\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {DailyDealContainerBox} from \"./boxes/daily-deal-container.box\";\r\nimport {DailyDealChestGlowBox} from \"./boxes/daily-deal-chest-glow.box\";\r\nimport {DailyDealChestBox} from \"./boxes/daily-deal-chest.box\";\r\nimport {DailyDealTextStripBox} from \"./boxes/daily-deal-text-strip.box\";\r\nimport {DailyDealChestHaloBox} from \"./boxes/daily-deal-chest-halo.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\nexport const DailyDealComponent = observer(class DailyDealComponent extends OrbitComponent {\r\n\r\n render() {\r\n if (!this.services.dailyDeal.dailyDealCampaignId) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate(\"DAILY_DEAL_WIDGET_STRIP\") } \r\n \r\n \r\n );\r\n }\r\n\r\n private _onDailyDealClick = () => {\r\n this.services.analytics.sendAnalytics('Daily_Deal', 'Click', this.services.arenas.getCurrentArena().arenaName);\r\n this.services.dailyDeal.visitDailyDeal();\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst FreePlayContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n \r\n`;\r\n\r\nconst FreePlayContainerMrGreenCisBox = styled(FreePlayContainerDefaultBox)`\r\n background-color: ${({theme}) => theme.colors.brandPrimaryDark};\r\n`;\r\n\r\nexport const FreePlayContainerBox = styledByTheme(FreePlayContainerDefaultBox).forMrGreenCis(FreePlayContainerMrGreenCisBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBox = styled.div`\r\n width: 100%;\r\n flex-shrink: 0;\r\n position: relative;\r\n padding-top: 3.3rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 1.2rem;\r\n }\r\n\r\n .swiper-pagination {\r\n .swiper-pagination-bullet {\r\n background-color: white;\r\n opacity: 0.25;\r\n &.swiper-pagination-bullet-active {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n`","import styled, { css } from \"styled-components\";\r\n\r\nexport const VoucherSwiperArrowContainerBox = styled.div<{isPrev?: boolean;}>`\r\n position: absolute;\r\n width: 3rem;\r\n height: 4rem;\r\n background-size: contain;\r\n /* background-color: red; */\r\n z-index: 2;\r\n /* display: flex;\r\n flex-direction: column;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: center; */\r\n font-size: 2rem;\r\n padding: 4px;\r\n cursor: pointer;\r\n top: 50%;\r\n transform: translate(0, -50%);\r\n ${({isPrev}) => isPrev ? css`\r\n left: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowPrev.toString()});\r\n ` : css`\r\n right: 0;\r\n background-image: url(${({theme}) => theme.images.freePlay.swiperArrowNext.toString()});\r\n `}\r\n &.swiper-button-disabled {\r\n opacity: 0.6;\r\n }\r\n`\r\n","import {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {Swiper, SwiperSlide} from \"swiper/react\";\r\nimport {Pagination, Navigation} from \"swiper\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {VouchersSwiperBox} from \"../../../boxes/vouchers-swiper/vouchers-swiper.box\";\r\nimport {VoucherSwiperArrowContainerBox} from \"../../../boxes/vouchers-swiper/arrow/voucher-swiper-arrow-container.box\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardComponent} from \"../voucher-card.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VouchersSwiperComponentProps {\r\n onCurrentVoucherIndexChanged: (voucherIndex: number) => void;\r\n}\r\n\r\nexport const VouchersSwiperComponent = observer(\r\n class VouchersSwiperComponent extends OrbitComponent {\r\n prevElement = React.createRef();\r\n nextElement = React.createRef();\r\n\r\n private get _vouchers(): IFreePlayVoucherViewModel[] {\r\n return this.services.freePlay.userVouchers;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {\r\n if (typeof swiper.params.navigation !== \"boolean\") {\r\n swiper.params.navigation.prevEl = this.prevElement.current;\r\n swiper.params.navigation.nextEl = this.nextElement.current;\r\n }\r\n }}\r\n onActiveIndexChange={(swiper) => {\r\n this.props.onCurrentVoucherIndexChanged(swiper.activeIndex);\r\n }}\r\n >\r\n {this._vouchers.map((v) => {\r\n return \r\n {({ isActive }) => {\r\n return \r\n }}\r\n \r\n })}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const VoucherGamesListDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n height: 100%;\r\n width: 100%;\r\n align-items: center;\r\n margin: 0.5rem 0rem 2rem;\r\n`;","import styled from \"styled-components\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListMrGreenCisBox = styled(VoucherGamesListDefaultBox)`\r\n margin: 0;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\n\r\nexport const VoucherGamesListSiBox = styled(VoucherGamesListDefaultBox)`\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { VoucherGamesListDefaultBox } from \"./voucher-games-list.default.box\";\r\nimport { VoucherGamesListMrGreenCisBox } from \"./voucher-games-list.mrGreenCis.box\";\r\nimport { VoucherGamesListSiBox } from \"./voucher-games-list.siCis.box\";\r\n\r\nexport const VoucherGamesListBox = styledByTheme(VoucherGamesListDefaultBox)\r\n .forSICis(VoucherGamesListSiBox)\r\n .forMrGreenCis(VoucherGamesListMrGreenCisBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst VouchersSwiperTitleDefaultBox = styled.div`\r\n text-align: center;\r\n font-size: 1.3rem;\r\n padding: 5px 4px 10px 4px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst VouchersSwiperTitleSIBox = styled(VouchersSwiperTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nexport const VouchersSwiperTitleBox = styledByTheme(VouchersSwiperTitleDefaultBox)\r\n .forSI(VouchersSwiperTitleSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const VouchersSwiperBackgroundBox = styled.div`\r\n width: 100%;\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()});\r\n background-repeat: no-repeat;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background: linear-gradient(rgba(23, 23, 23, 0.5),rgba(0, 0, 0, 0.5)), url(${(props) => props.theme.images.freePlay.backgroundVouchersSlider.toString()}) 0 -44px;\r\n background-size: cover;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { baseColors } from \"../../../../themes/definitions/si/cis/base-colors\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\n\r\nconst VouchersGamesListTitleDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n padding: 10px 4px 10px 4px;\r\n width: 100%;\r\n\r\n border-bottom-width: 4px;\r\n border-bottom-style: solid;\r\n border-bottom-color: #0e0e0e;\r\n \r\n text-align: center;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasino777Box = styled(VouchersGamesListTitleDefaultBox)`\r\n border-top: 1px solid transparent;\r\n padding-top: 1.2rem;\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSICisBox = styled(VouchersGamesListTitleDefaultBox)`\r\n font-size: 1.15rem;\r\n ${({theme}) => theme.font.presets.thin}\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n background-color: ${baseColors.gray023};\r\n`;\r\n\r\nconst VouchersGamesListTitleCasinoSIBox = styled(VouchersGamesListTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.thin}\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenBox = styled(VouchersGamesListTitleDefaultBox)`\r\n border-bottom: 1px solid ${({theme}) => hexToRgba(theme.colors.boxBorderLighter, 0.2)};\r\n`;\r\n\r\nconst VouchersGamesListTitleMrGreenCisBox = styled(VouchersGamesListTitleMrGreenBox)`\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;\r\n\r\n\r\n\r\nexport const VouchersGamesListTitleBox = styledByTheme(VouchersGamesListTitleDefaultBox)\r\n .forCasino777(VouchersGamesListTitleCasino777Box)\r\n .forSICis(VouchersGamesListTitleCasinoSICisBox)\r\n .forSI(VouchersGamesListTitleCasinoSIBox)\r\n .forMrGreen(VouchersGamesListTitleMrGreenBox)\r\n .forMrGreenCis(VouchersGamesListTitleMrGreenCisBox)\r\n .apply();","import React, {PropsWithChildren} from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport {FreePlayContainerBox} from \"./boxes/container/free-play-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VouchersSwiperComponent} from \"./parts/voucher-card/swiper/vouchers-swiper.component\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {VoucherGamesListBox} from \"./boxes/voucher-games-list/voucher-games-list.box\";\r\nimport {VouchersSwiperTitleBox} from \"./boxes/vouchers-swiper/vouchers-swiper-title.box\";\r\nimport {VouchersSwiperBackgroundBox} from \"./boxes/vouchers-swiper/vouchers-swiper-background.box\";\r\nimport {VouchersGamesListTitleBox} from \"./boxes/voucher-games-list-title/voucher-games-list-title.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {GameItemComponent} from \"../game-item/game-item.component\";\r\n\r\n@observer\r\nexport class FreePlayContainerComponent extends OrbitComponent {\r\n\r\n constructor(props: PropsWithChildren) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n currentVoucherIndex = 0;\r\n\r\n @action.bound\r\n private _onCurrentVoucherChangedHandler = (voucherIndex: number) => {\r\n this.currentVoucherIndex = voucherIndex;\r\n };\r\n\r\n private _renderVoucherGames = () => {\r\n const currentVoucher = this.services.freePlay.userVouchers[this.currentVoucherIndex];\r\n if(!currentVoucher) {\r\n return null;\r\n }\r\n\r\n return (\r\n {currentVoucher.freePlayGames.map(voucherGame => {\r\n await voucherGame.play()\r\n }}\r\n style={{marginBottom: \"1.5rem\"}}\r\n />)}\r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_LIST_TITLE')}\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_MESSAGE_GAMES_LIST_TITLE')}\r\n \r\n {this._renderVoucherGames()}\r\n \r\n )\r\n }\r\n}","import styled, {css} from \"styled-components\";\r\nimport {VOUCHER_CARD_WIDTH} from \"../../voucher-card-css-constants\";\r\n\r\nexport const VoucherCardBox = styled.div<{showCursor: boolean; }>`\r\n position: relative;\r\n\r\n width: ${VOUCHER_CARD_WIDTH};\r\n height: 170px;\r\n margin: 0 auto 26px;\r\n ${props => props.showCursor ? css`cursor: pointer` : ''};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 240px;\r\n height: 145px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideBox = styled.div<{backgroundImageUrl: string; backSideShown: boolean;}>`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n background-image: url(\"${props => props.backgroundImageUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: cover;\r\n width: 100%;\r\n box-sizing: border-box;\r\n height: 100%;\r\n transition: transform 0.6s;\r\n backface-visibility: hidden;\r\n padding: 10px 20px 20px 20px;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardFaceBox = styled(VoucherCardSideBox)`\r\n align-items: center;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"180deg\" : \"0\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n line-height: 1.2;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n justify-content: center;\r\n width: 100%;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardFaceFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n padding-right: 15px;\r\n height: 100%;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceDetailsBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n flex-grow: 1;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceOriginalAmountBox = styled.div`\r\n font-size: 3rem;\r\n white-space: nowrap;\r\n ${({theme}) => theme.font.presets.ultra};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceVoucherNameBox = styled.div`\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n letter-spacing: 1px;\r\n text-transform: uppercase;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.5rem;\r\n margin-top: 20px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin-top: 10px;\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceIconBox = styled.div<{iconUrl: string}>`\r\n background-image: url(\"${props => props.iconUrl}\");\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n background-size: contain;\r\n width: 7.5em;\r\n height: 7.5em;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 6em;\r\n width: 6em;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardFaceCurrentAmountBox = styled.span`\r\n ${({theme}) => theme.font.presets.bold};\r\n padding-left: 4px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideToggleButtonBox = styled.div`\r\n border: 1px solid;\r\n border-radius: 50%;\r\n padding: 1px;\r\n box-sizing: content-box;\r\n width: 1.4rem;\r\n height: 1.4rem;\r\n cursor: pointer;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardSideFooterContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n flex-grow: 1;\r\n height: 100%;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const VoucherCardFaceHeaderBox = styled.div<{isCloseToExpiration: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n width: 100%;\r\n font-size: 1.1rem;\r\n line-height: 1;\r\n ${\r\n props => props.isCloseToExpiration \r\n ? css`\r\n color: ${props.theme.colors.danger};\r\n ${props.theme.font.presets.bold};\r\n `\r\n : ''\r\n }\r\n`;\r\n","import {\r\n OrbitComponentWithState\r\n} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceHeaderBox} from \"../../../boxes/voucher-card/face/header/voucher-card-face-header.box\";\r\nimport React from \"react\";\r\n\r\ninterface VoucherCardFaceHeaderComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: () => void;\r\n}\r\n\r\ninterface VoucherCardFaceHeaderComponentState {\r\n expirationMessage: string;\r\n}\r\n\r\nexport class VoucherCardFaceHeaderComponent extends OrbitComponentWithState {\r\n\r\n constructor(props: VoucherCardFaceHeaderComponentProps) {\r\n super(props);\r\n this.state = {\r\n expirationMessage: props.voucher.expirationMessage\r\n };\r\n }\r\n\r\n private _expirationTimer: any = null;\r\n\r\n\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(this.props.voucher.isCloseToExpiration) {\r\n this._expirationTimer = setInterval(() => {\r\n this.setState({\r\n expirationMessage: this.props.voucher.expirationMessage\r\n })\r\n }, 1000);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._expirationTimer) {\r\n clearInterval(this._expirationTimer);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.voucher.expirationMessage}\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardFaceBox} from \"../../../boxes/voucher-card/face/voucher-card-face.box\";\r\nimport {VoucherCardFaceContentBox} from \"../../../boxes/voucher-card/face/content/voucher-card-face-content.box\";\r\nimport {VoucherCardFaceFooterBox} from \"../../../boxes/voucher-card/face/footer/voucher-card-face-footer.box\";\r\nimport {VoucherCardFaceIconContainerBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon-container.box\";\r\nimport {\r\n VoucherCardFaceDetailsBox\r\n} from \"../../../boxes/voucher-card/face/content/details/voucher-card-face-details.box\";\r\nimport {\r\n VoucherCardFaceOriginalAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/original-amount/voucher-card-face-original-amount.box\";\r\nimport {\r\n VoucherCardFaceVoucherNameBox\r\n} from \"../../../boxes/voucher-card/face/content/details/name/voucher-card-face-voucher-name.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountContainerBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount-container.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {VoucherCardFaceIconBox} from \"../../../boxes/voucher-card/face/content/icon/voucher-card-face-icon.box\";\r\nimport {\r\n VoucherCardFaceCurrentAmountBox\r\n} from \"../../../boxes/voucher-card/face/content/details/current-amount/voucher-card-face-current-amount.box\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VoucherCardFaceHeaderComponent} from \"./voucher-card-face-header.component\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardFaceComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide?: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\n\r\nexport const VoucherCardFaceComponent = observer(\r\n class VoucherCardFaceComponent extends OrbitComponent {\r\n\r\n private _renderOriginalAmount() {\r\n return (\r\n \r\n {this.props.voucher.formattedOriginalAmount || this.props.voucher.formattedCurrentBalance}\r\n \r\n )\r\n }\r\n\r\n private _renderCurrentAmount() {\r\n if(!this.props.voucher.formattedOriginalAmount) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate('FREE_PLAY_VOUCHER_BALANCE_PREFIX')}\r\n \r\n \r\n {this.props.voucher.formattedCurrentBalance}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let InfoIcon = this.services.theme.currentTheme.icons.infoIcon;\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {this._renderOriginalAmount()}\r\n \r\n {this.props.voucher.voucherName}\r\n \r\n {this._renderCurrentAmount()}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {VoucherCardSideBox} from \"../voucher-card-side.box\";\r\n\r\nexport const VoucherCardBackBox = styled(VoucherCardSideBox)`\r\n align-items: flex-start;\r\n transform: rotateY(${({backSideShown}) => backSideShown ? \"0\" : \"180deg\"});\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackHeaderBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const VoucherCardBackContentBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-content: flex-start;\r\n flex-grow: 1;\r\n font-size: 1.2rem;\r\n line-height: 1.3;\r\n`","import styled from \"styled-components\";\r\nimport {VoucherCardSideFooterBox} from \"../../common/footer/voucher-card-side-footer.box\";\r\n\r\nexport const VoucherCardBackFooterBox = styled(VoucherCardSideFooterBox)`\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBackBox} from \"../../../boxes/voucher-card/back/voucher-card-back.box\";\r\nimport {VoucherCardBackHeaderBox} from \"../../../boxes/voucher-card/back/header/voucher-card-back-header.box\";\r\nimport {VoucherCardBackContentBox} from \"../../../boxes/voucher-card/back/content/voucher-card-back-content.box\";\r\nimport {VoucherCardBackFooterBox} from \"../../../boxes/voucher-card/back/footer/voucher-card-back-footer.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n VoucherCardSideToggleButtonBox\r\n} from \"../../../boxes/voucher-card/common/footer/side-toggle/voucher-card-side-toggle-button.box\";\r\nimport {\r\n VoucherCardSideFooterContentBox\r\n} from \"../../../boxes/voucher-card/common/footer/footer-content/voucher-card-side-footer-content.box\";\r\nimport { SvgSizeUnit } from \"../../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface VoucherCardBackComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onToggleSide: () => void;\r\n onClick?: () => void;\r\n backSideShown: boolean;\r\n backgroundImageUrl: string;\r\n}\r\n\r\nexport const VoucherCardBackComponent = observer(\r\n class VoucherCardBackComponent extends OrbitComponent {\r\n render() {\r\n let CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n return (\r\n \r\n \r\n {this.props.voucher.voucherName}\r\n \r\n \r\n {this.props.voucher.voucherDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from \"react\";\r\nimport {\r\n IFreePlayVoucherViewModel\r\n} from \"../../../../services/free-play/vouchers/free-play-voucher-view-model.interface\";\r\nimport {VoucherCardBox} from \"../../boxes/voucher-card/voucher-card.box\";\r\nimport {VoucherCardFaceComponent} from \"./face/voucher-card-face.component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OrbitComponentWithState} from \"../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {VoucherCardBackComponent} from \"./back/voucher-card-back.component\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\n\r\ninterface VoucherCardComponentProps {\r\n voucher: IFreePlayVoucherViewModel;\r\n onClick?: (voucher: IFreePlayVoucherViewModel) => void;\r\n}\r\n\r\ninterface VoucherCardComponentState {\r\n showBackSide: boolean;\r\n}\r\n\r\nexport const VoucherCardComponent = observer(\r\n class VoucherCardComponent extends OrbitComponentWithState {\r\n constructor(props: VoucherCardComponentProps) {\r\n super(props);\r\n this.state = {\r\n showBackSide: false\r\n }\r\n }\r\n private _onToggleSide = () => {\r\n this.setState({\r\n showBackSide: !this.state.showBackSide\r\n });\r\n }\r\n\r\n private _onCardSideClickHandler = () => {\r\n if (this.props.onClick) {\r\n this.props.onClick(this.props.voucher);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n);","export const VOUCHER_CARD_WIDTH = '282px';","import {FreeToPlayAnimatedIconDefaultBox} from \"./free-to-play-animated-icon.default.box\";\r\n\r\nexport const FreeToPlayAnimatedIconBox = FreeToPlayAnimatedIconDefaultBox;","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayAnimatedIconDefaultBox = styled.div`\r\n position: fixed;\r\n z-index: 4;\r\n bottom: 0;\r\n right: 0; \r\n width: 150px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {CssRule} from \"../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const FreeToPlayClickBox = styled.div`\r\n position: fixed;\r\n cursor: pointer;\r\n z-index: 5;\r\n bottom: 0;\r\n right: 0;\r\n width: 150px;\r\n height: 123px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 130px;\r\n height: 106px;\r\n } \r\n \r\n ${CssRule.For.hybrid.not.miniOrbit.build()} & {\r\n bottom: calc(env(safe-area-inset-bottom) + 53px);\r\n }\r\n`","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport * as React from \"react\";\r\nimport {FreeToPlayAnimatedIconBox} from \"./boxes/free-to-play-animated-icon.box\";\r\nimport {AnimatedIconObservableTarget, AnimatedIconUnloadReason, IAnimatedIconRequestOptions} from \"../../services/pixi-app/animated-icon-base-service.service\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\nimport {FreeToPlayClickBox} from \"./boxes/free-to-play-click.box\";\r\n\r\nexport const FreeToPlayAnimatedIconComponent = observer(class FreeToPlayAnimatedIconComponent extends OrbitComponent {\r\n private iconRequestOptions = {\r\n jsonUrl: this.services.theme.currentTheme.images.f2p.freeToPlay.toString(),\r\n size: {\r\n width: 445,\r\n height: 364\r\n },\r\n timings: {\r\n delay: 2000,\r\n interval: 3000\r\n }\r\n };\r\n\r\n private iconObservableTarget: AnimatedIconObservableTarget | undefined;\r\n\r\n private _captureElementRefForIcon(element: HTMLElement | null) {\r\n // if element is null (the component was unmounted) or the element changed, then check if we have a currently running/loading animation and remove it\r\n if (!element || (this.iconObservableTarget && this.iconObservableTarget.wrapper !== element)) {\r\n // if the current animation is loading, cancel it\r\n // if the current animation is already running, stop and dispose it\r\n // animation disposer do both things, abort if loading, dispose if running\r\n if (this.iconObservableTarget && this.iconObservableTarget.animationDisposer) {\r\n this.iconObservableTarget.animationDisposer(AnimatedIconUnloadReason.REQUESTED);\r\n }\r\n }\r\n // if the element exists and is different from the previous one, then the animation must be started\r\n if (element && (!this.iconObservableTarget || this.iconObservableTarget.wrapper !== element)) {\r\n let requestOptions: Omit = this.iconRequestOptions;\r\n // update the reference\r\n this.iconObservableTarget = {\r\n ...requestOptions,\r\n wrapper: element\r\n };\r\n this.services.freeToPlay.loadFreeToPlayAnimation(this.iconObservableTarget);\r\n }\r\n // if element is null just update the reference so we know next time the capture is ran\r\n if (!element) {\r\n this.iconObservableTarget = undefined;\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.services.freeToPlay.isPromotionEligible) {\r\n this._sendAnalytics(\"SHOW\");\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.services.freeToPlay.isPromotionEligible) {\r\n return null;\r\n }\r\n\r\n if (this.services.freeToPlay.isPromotionOpened) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n this._openBonusWheel()} />\r\n \r\n );\r\n }\r\n\r\n private _openBonusWheel = async () => {\r\n this._sendAnalytics(\"CLICK\");\r\n await this.services.freeToPlay.showPromotion({\r\n channel: {\r\n area: AreaType.button,\r\n source: CHANNEL_SOURCE.casinoClient,\r\n element: CHANNEL_ELEMENTS.floatingIcon\r\n }\r\n }\r\n );\r\n }\r\n\r\n private _sendAnalytics(action: string) {\r\n try {\r\n let options: ISendElasticEventOptions = {\r\n action: action,\r\n category: \"Floating_icon\",\r\n eventType: \"bonus_widget\",\r\n appID: \"F2P\",\r\n customData: {\r\n location: this.services.location.isHomePage ? 'homepage' : this.services.location.currentUri.pathName.toString(),\r\n segmentation: this.services.user.playerRMSStatus\r\n }\r\n };\r\n this.services.analytics.sendElasticInfoEvent(options, true);\r\n }\r\n catch (err) {\r\n console.log(\"Floating_icon \" + action + \" analytics report failed with error: \" + err);\r\n }\r\n }\r\n});","import styled, { css } from 'styled-components';\r\nimport {FP_VOUCHER_TYPES} from \"../../../../common/const/free_play_consts\";\r\n\r\n\r\n\r\nexport const GameItemContainerBox = styled.div<{freePlayType?: FP_VOUCHER_TYPES; hide?: boolean;}>`\r\n // cgp-game-item-container\r\n display: ${({hide}) => hide ? \"none\" : \"flex\"};\r\n ${({freePlayType, theme}) => freePlayType ? css`\r\n width: 35.5rem;\r\n ` : \"\"}\r\n\r\n /* When inside .cgp-free-play-games-list-component.cgp-fp-games-disabled apply {cursor: auto; z-index: -1;} // see games.scss in free_play */\r\n .cgp-free-play-games-list-component.cgp-fp-games-disabled & {\r\n cursor: auto;\r\n z-index: -1;\r\n }\r\n\r\n /* When also have cgp-game-item-fp class but is inside .idleRecommendation-layout apply width: 100% */\r\n .idleRecommendation-layout &.cgp-game-item-fp {\r\n width: 100%;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport { CssRule } from '../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const GameItemImgWrapperBox = styled.div`\r\n // cgp-game-item-img-wrapper\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n position: relative;\r\n width: 12rem;\r\n flex-shrink: 0;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 11.4rem;\r\n ${CssRule.For.iPhoneVer5.build()} {\r\n width: 6.5rem;\r\n background-position: center center;\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nimport { OrbitTheme } from '../../../themes/architecture/orbit-theme.interface';\r\nimport {FP_VOUCHER_TYPES} from \"../../../../common/const/free_play_consts\";\r\n\r\nlet freePlayBgImage = (theme: OrbitTheme, freePlayType: FP_VOUCHER_TYPES) => {\r\n switch (freePlayType) {\r\n case FP_VOUCHER_TYPES.FreeSpin:\r\n return theme.images.freePlay.typeFS.toString();\r\n case FP_VOUCHER_TYPES.FreePlay:\r\n return theme.images.freePlay.typeFP.toString();\r\n case FP_VOUCHER_TYPES.FreeJackpotSpin:\r\n return theme.images.freePlay.typeJFS.toString();\r\n case FP_VOUCHER_TYPES.FreeJackpotPlay:\r\n return theme.images.freePlay.typeJFP.toString();\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nexport const GameItemFpThumbBox = styled.div<{freePlayType?: FP_VOUCHER_TYPES, useSquareIcons?: boolean}>`\r\n position: absolute;\r\n bottom: ${({useSquareIcons}) => useSquareIcons ? \"-1.5rem\": \"0.5rem\"};\r\n right: ${({useSquareIcons}) => useSquareIcons ? \"-1.5rem\": \"-0.5rem\"};\r\n display: ${({freePlayType}) => freePlayType ? \"block\": \"none\"};\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: ${({theme, freePlayType}) => 'url(\"' + freePlayBgImage(theme, freePlayType) + '\")' };\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameItemDelimiterBox = styled.div`\r\n width: 2.5rem;\r\n margin-left: 2rem;\r\n background-size: cover;\r\n flex-shrink: 0;\r\n background-image: url(${props => '\"' + props.theme.images.verticalLineGlow.toString() + '\"'});\r\n /* Inside .idleRecommendation-layout apply: width: 1.5rem; */\r\n .idleRecommendation-layout & {\r\n width: 1.5rem;\r\n }\r\n`;","import styled from 'styled-components';\r\n\r\nexport const GameItemDetailsWrapperBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n flex-grow: 1;\r\n text-align: center;\r\n min-height: 16rem;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { styledByTheme } from '../../../themes/architecture/styled-by-theme';\r\n\r\nconst GameItemTitleDefaultBox = styled.div`\r\n margin-bottom: 0.5rem;\r\n width: 15rem;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: 1.3rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;\r\nconst GameItemTitleCasino777Box = styled(GameItemTitleDefaultBox)`\r\n font-size: 1.5rem;\r\n`;\r\nexport const GameItemTitleBox = styledByTheme(GameItemTitleDefaultBox).forCasino777(GameItemTitleCasino777Box).apply();\r\n","import styled from 'styled-components';\r\nimport { styledByTheme } from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const GameItemJackpotDefaultBox = styled.div`\r\n width: 15rem;\r\n margin: 5px 0;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n\r\nexport const GameItemJackpotSICisBox = styled(GameItemJackpotDefaultBox)`\r\n width: 75%;\r\n`;\r\n\r\n\r\n\r\nexport const GameItemJackpotBox = styledByTheme(GameItemJackpotDefaultBox).forSICis(GameItemJackpotSICisBox).apply();\r\n","import styled from 'styled-components';\r\n\r\nexport const GameItemButtonsAreaBox = styled.div`\r\n margin-top: 0.5rem;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../basic-ui-components/button/base/button.component';\r\nimport {GameInfo} from '../../services/games/game-info';\r\nimport {GameItemComponentProps} from '../../../common/interfaces/orbit-component-to-sdk-adapter/components-props/game-item.component-props';\r\nimport {GameItemContainerBox} from './boxes/game-item-container.box';\r\nimport {GameItemImgWrapperBox} from './boxes/game-item-img-wrapper.box';\r\nimport {GameItemFpThumbBox} from './boxes/game-item-fp-thumb.box';\r\n// import { GameItemThumbnailBox } from './boxes/game-item-thumbnail.box';\r\nimport {GameItemDelimiterBox} from './boxes/game-item-delimiter.box';\r\nimport {GameItemDetailsWrapperBox} from './boxes/game-item-details-wrapper.box';\r\nimport {GameItemTitleBox} from './boxes/game-item-title.box';\r\nimport {GameItemJackpotBox} from './boxes/game-item-jackpot.box';\r\nimport {GameItemButtonsAreaBox} from './boxes/game-item-buttons-area.box';\r\nimport {GameImageComponent} from '../single-game/common/parts/game-image/game-image.component';\r\nimport {GameJackpotComponent} from \"../game-jackpot/game-jackpot.component\";\r\n\r\n/**\r\n * This component (used for idle-recommendation toaster)\r\n * may have roughly the same functionality and/or visual\r\n * as game-popup.component.tsx\r\n * TODO: Maybe make a common component\r\n */\r\nexport class GameItemComponent extends OrbitComponent {\r\n render() {\r\n let playBtnText = this.props.playBtnText || this.services.translation.translate('PLAY');\r\n let gameInfo: GameInfo = this.services.games.gamesMap[this.props.gameType];\r\n\r\n return (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {gameInfo.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const GameJackpotDefaultBox = styled.div`\r\n width: 100%;\r\n color: ${props => props.theme.colors.moneyColor};\r\n font-weight: 600;\r\n`","import styled from \"styled-components\";\r\nimport {GameJackpotDefaultBox} from \"./game-jackpot.default.box\";\r\n\r\nexport const GameJackpotSIBox = styled(GameJackpotDefaultBox)`\r\n border-left: solid 5px ${props => props.theme.colors.brandSecondary};\r\n border-top-left-radius: 2px;\r\n border-bottom-left-radius: 2px;\r\n padding-left: 3px;\r\n`","import { GameJackpotDefaultBox } from \"./game-jackpot.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameJackpotSIBox } from \"./game-jackpot.si.box\";\r\n\r\nexport const GameJackpotBox = styledByTheme(GameJackpotDefaultBox)\r\n .forSI(GameJackpotSIBox)\r\n .forSICis(GameJackpotSIBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const GameJackpotValueDefaultBox = styled.div`\r\n word-break: break-all;\r\n`","import styled from \"styled-components\";\r\nimport {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\n\r\nexport const GameJackpotValueSIBox = styled(GameJackpotValueDefaultBox)`\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.moneyColor};\r\n padding: 2px 0;\r\n border-top-right-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n`;","import styled from \"styled-components\";\r\nimport {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\n\r\nexport const GameJackpotValueMrGreenBox = styled(GameJackpotValueDefaultBox)`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: bold;\r\n font-size: 16px;\r\n background: ${props => props.theme.colors.brandPrimaryDark};\r\n box-shadow: 0px 0px 0px rgba(1, 85, 54, 0.6), inset 0px 0px 20px rgba(255, 255, 255, 0.1), inset 0px 0px 10px ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.moneyColor};\r\n height: 30px;\r\n width: 140px;\r\n border-radius: 3px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n margin-bottom: 5px;\r\n margin-top: 5px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 12px;\r\n width: 108px;\r\n height: 20px;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.xs} {\r\n font-size: 10px;\r\n width: 88px;\r\n height: 20px;\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { GameJackpotValueSIBox } from \"./game-jackpot-value.si.box\";\r\n\r\nexport const GameJackpotValueSICisBox = styled(GameJackpotValueSIBox)`\r\n letter-spacing: 0.44px;\r\n`;","import {GameJackpotValueDefaultBox} from \"./game-jackpot-value.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {GameJackpotValueSIBox} from \"./game-jackpot-value.si.box\";\r\nimport {GameJackpotValueMrGreenBox} from \"./game-jackpot-value.mrgreen.box\";\r\nimport { GameJackpotValueSICisBox } from \"./game-jackpot-value.siCis.box\";\r\n\r\nexport const GameJackpotValueBox = styledByTheme(GameJackpotValueDefaultBox)\r\n .forSI(GameJackpotValueSIBox)\r\n .forSICis(GameJackpotValueSICisBox)\r\n .forMrGreen(GameJackpotValueMrGreenBox)\r\n .forMrGreenCis(GameJackpotValueMrGreenBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {GameJackpotBox} from \"./boxes/root/game-jackpot.box\";\r\nimport {GameJackpotValueBox} from \"./boxes/value/game-jackpot-value.box\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\n\r\nexport interface GameJackpotComponentProps {\r\n gameType: number;\r\n className?: string;\r\n}\r\n\r\nexport const GameJackpotComponent = observer(\r\n class GameJackpotComponent extends OrbitComponent {\r\n render() {\r\n\r\n const jackpotValue = this.services.jackpots.getGameJackpot(this.props.gameType);\r\n if(!jackpotValue) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n {this.services.currency.formatMoney(jackpotValue)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","\r\nexport const GAME_PC_BUTTON_WIDTH = '20px';\r\nexport const GAME_PC_BUTTON_HEIGHT = '20px';\r\n\r\n\r\nexport const GAME_MOBILE_BUTTON_WIDTH = '14px';\r\nexport const GAME_MOBILE_BUTTON_HEIGHT = '14px';","import styled from \"styled-components\";\r\nimport {XCloseButtonBox} from \"../../../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\nimport {\r\n GAME_MOBILE_BUTTON_HEIGHT,\r\n GAME_MOBILE_BUTTON_WIDTH, GAME_PC_BUTTON_HEIGHT, GAME_PC_BUTTON_WIDTH\r\n} from \"../../../../game-css-constants\";\r\n\r\nexport const GameHeaderBarCloseButtonBox = styled(XCloseButtonBox)`\r\n width: ${GAME_PC_BUTTON_WIDTH};\r\n height: ${GAME_PC_BUTTON_HEIGHT};\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: ${GAME_MOBILE_BUTTON_WIDTH};\r\n height: ${GAME_MOBILE_BUTTON_HEIGHT};\r\n }\r\n`\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GeoModalWrapperBox = styled.div`\r\n max-width: 560px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-content: center;\r\n align-items: center;\r\n\r\n width: 25vw;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 82vw;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow + \" and \" + theme.mediaQuery.landscape} {\r\n width: 56vw;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HEADER_Z_INDEX} from \"../../header-consts\";\r\n\r\nexport const HeaderNavbarMobileBaseDefaultBox = styled.div`\r\n z-index: ${HEADER_Z_INDEX};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseSiBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseMrGreenBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../themes/definitions/casino888/cis/base-colors\";\r\nimport {HeaderNavbarMobileBaseDefaultBox} from \"./header-navbar-mobile-base.default.box\";\r\n\r\nexport const HeaderNavbarMobileBaseCisBox = styled(HeaderNavbarMobileBaseDefaultBox)`\r\n background-color: ${baseColors.black};\r\n color: #cccccc;\r\n`;","import { HeaderNavbarMobileBaseDefaultBox } from \"./header-navbar-mobile-base.default.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HeaderNavbarMobileBaseSiBox } from \"./header-navbar-mobile-base.si.box\";\r\nimport {HeaderNavbarMobileBaseMrGreenBox} from \"./header-navbar-mobile-base.mrgreen.box\";\r\nimport { HeaderNavbarMobileBaseCisBox } from \"./header-navbar-mobile-base.cis.box\";\r\n\r\nexport const HeaderNavbarMobileBaseBox = styledByTheme(HeaderNavbarMobileBaseDefaultBox)\r\n .forSI(HeaderNavbarMobileBaseSiBox)\r\n .forSICis(HeaderNavbarMobileBaseCisBox)\r\n .forCis(HeaderNavbarMobileBaseCisBox)\r\n .forCip(HeaderNavbarMobileBaseCisBox)\r\n .forMrGreen(HeaderNavbarMobileBaseMrGreenBox)\r\n .apply();\r\n","export const HEADER_Z_INDEX = 105;","import styled from \"styled-components\";\r\nimport {HeaderNavbarMobileBaseBox} from \"../../../boxes/header-navbar-mobile-base/header-navbar-mobile-base.box\";\r\nimport {HEADER_Z_INDEX} from \"../../../header-consts\";\r\n\r\nexport const RegulatoryDataDefaultBox = styled(HeaderNavbarMobileBaseBox)`\r\n display: flex;\r\n align-items: center;\r\n position: sticky;\r\n top: 0;\r\n z-index: ${HEADER_Z_INDEX + 1};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n flex-direction: column;\r\n width: 100%;\r\n padding: calc(env(safe-area-inset-top) + 0.5rem) 1.5rem 0.5rem 1.5rem;\r\n }\r\n\r\n .cgp-dk & {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\n\r\nexport const RegulatoryDataMrGreenBox = styled(RegulatoryDataDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.brandSecondary};\r\n }\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {RegulatoryDataDefaultBox} from \"./regulatory-data.default.box\";\r\nimport {RegulatoryDataMrGreenBox} from \"./regulatory-data.mrgreen.box\";\r\n\r\nexport const RegulatoryDataBox = styledByTheme(RegulatoryDataDefaultBox)\r\n .forMrGreen(RegulatoryDataMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin: auto 0;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n font-size: 0.9rem;\r\n line-height: 1.2;\r\n\r\n a {\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n max-width: 40%;\r\n text-align: left;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n max-width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n max-width: 100%;\r\n padding: 0.25rem 0;\r\n font-size: 1rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const GamblingWarningDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GamblingWarningDefaultBox} from \"./gambling-warning.default.box\";\r\n\r\nexport const GamblingWarningBox = GamblingWarningDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from '../../raw-components/link/link';\r\nimport {GamblingWarningBox} from \"./boxes/gambling-warning.box\";\r\n\r\nexport const GamblingWarningComponent = observer(class GamblingWarningComponent extends OrbitComponent<{}> {\r\n\r\n render() {\r\n let gamblingMessageConfig = this.services.configuration.data.header.gambling_message;\r\n if(!gamblingMessageConfig || !gamblingMessageConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part1')}\r\n \r\n {'Probabilità di vincita'}\r\n \r\n {this.services.translation.translate('GAMBLING_WARNING_part2')}\r\n \r\n {'maggiori informazioni.'}\r\n \r\n \r\n );\r\n\r\n }\r\n});\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n align-items: center;\r\n`;\r\n\r\nconst Mobilebox = styled(DefaultBox)`\r\n width: 100%;\r\n padding: 0.5rem 0 0 0;\r\n justify-content: center;\r\n\r\n .cgp-dk & {\r\n justify-content: flex-start;\r\n }\r\n`;\r\n\r\nexport const ResponsibleGamingIconsDefaultBox = styledByDevice(PcBox, Mobilebox);\r\n","import {ResponsibleGamingIconsDefaultBox} from \"./responsible-gaming-icons.default.box\";\r\n\r\nexport const ResponsibleGamingIconsBox = ResponsibleGamingIconsDefaultBox;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {ResponsibleIconsAgeButtonConfiguration} from '../../../services/configurations/config-data-sections/header.configuration';\r\nimport {ResponsibleGamingIconsBox} from \"./boxes/responsible-gaming-icons.box\";\r\n\r\nexport const ResponsibleIconsComponent = observer(class ResponsibleIconsComponent extends OrbitComponent {\r\n\r\n private _renderAgeButton(ageButtonConfig: ResponsibleIconsAgeButtonConfiguration) {\r\n if(ageButtonConfig && ageButtonConfig.display) {\r\n return this.services.regulation.current.components.renderHeaderMinimumGamblingAge();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderResponsibleIcons() {\r\n return this.services.regulation.current.components.renderHeaderRegulationIcons();\r\n }\r\n\r\n render() {\r\n let responsibleIconsConfig = this.services.configuration.data.header.responsibleIcons;\r\n if(!responsibleIconsConfig || !responsibleIconsConfig.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderAgeButton(responsibleIconsConfig.ageButton)}\r\n {this._renderResponsibleIcons()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {RegulatoryDataBox} from \"../../top-header-left/regulatory-data/boxes/regulatory-data.box\";\r\nimport {HeaderConfiguration} from '../../../../services/configurations/config-data-sections/header.configuration';\r\nimport {GamblingWarningComponent} from '../../gambling-warning/gambling-warning.component';\r\nimport {ResponsibleIconsComponent} from '../../responsible-icons/responsible-icons.component';\r\nimport {ClockAndLastLoginBoxComponent} from '../../../clock-and-last-login-box/clock-and-last-login-box.component';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface RegulatoryDataComponentProps {\r\n attachToHeaderService: boolean;\r\n}\r\n\r\n@observer\r\nexport class RegulatoryDataComponent extends OrbitComponent {\r\n\r\n private get _headerConfig(): HeaderConfiguration {\r\n return this.services.configuration.data.header;\r\n }\r\n\r\n private _captureHeaderUpperRef = (element: HTMLElement | null) => {\r\n if(this.props.attachToHeaderService) {\r\n this.services.header.setHeaderRegulationDataElement(element);\r\n }\r\n };\r\n\r\n private _renderMobileLastLogin() {\r\n if (this.services.device.isMobile) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getRegulatoryContent() {\r\n if (this.services.miniOrbit.isCis) {\r\n return null;\r\n }\r\n\r\n\r\n let gamblingMessageConfig = this._headerConfig.gambling_message;\r\n let responsibleIconsConfig = this._headerConfig.responsibleIcons;\r\n\r\n if (responsibleIconsConfig && responsibleIconsConfig.display) {\r\n return ;\r\n } else if (gamblingMessageConfig && gamblingMessageConfig.display) {\r\n return ;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderMobileLastLogin()}\r\n {this._getRegulatoryContent()}\r\n \r\n );\r\n }\r\n}\r\n","import {ButtonSizeVariant} from \"../../../basic-ui-components/button/base/button-props.interface\";\r\nimport {IServiceFactory} from \"../../../services/service-factory.interface\";\r\nimport React from \"react\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\nexport function getButtonSizeVariant(services: IServiceFactory): ButtonSizeVariant {\r\n if(services.mediaQuery.lAndBelow) {\r\n return \"xs\";\r\n } else {\r\n return \"m\";\r\n }\r\n}\r\n\r\nexport function getButtonsSeparator(services: IServiceFactory): React.ReactElement {\r\n return ()\r\n}","import styled from \"styled-components\";\r\n\r\nexport const AnonymousButtonsContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {AnonymousButtonsContainerDefaultBox} from \"./anonymous-buttons-container.default.box\";\r\n\r\nexport const AnonymousButtonsContainerHarrahsBox = styled(AnonymousButtonsContainerDefaultBox)`\r\n flex-direction: row-reverse;\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {AnonymousButtonsContainerDefaultBox} from \"./anonymous-buttons-container.default.box\";\r\nimport {AnonymousButtonsContainerHarrahsBox} from \"./anonymous-buttons-container.harrahs.box\";\r\n\r\nexport const AnonymousButtonsContainerBox = styledByTheme(AnonymousButtonsContainerDefaultBox)\r\n .forHarrahs(AnonymousButtonsContainerHarrahsBox)\r\n .apply();\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {AnonymousButtonsContainerBox} from \"./boxes/buttons-container/anonymous-buttons-container.box\";\r\nimport React from \"react\";\r\nimport {getButtonsSeparator} from \"../header-welcome-buttons-helpers\";\r\nimport {\r\n IGameContextViewModel\r\n} from \"../../../../services/game-runner/interfaces/game-context/game-context-view-model.interface\";\r\n\r\ninterface HeaderWelcomeButtonsForAnonymousUserComponentProps {\r\n gameContext?: IGameContextViewModel;\r\n}\r\n\r\nexport const HeaderWelcomeButtonsForAnonymousUserComponent = observer(\r\n class HeaderWelcomeButtonsForAnonymousUserComponent extends OrbitComponent {\r\n\r\n render() {\r\n const separator = getButtonsSeparator(this.services);\r\n return (\r\n \r\n {separator}\r\n {this.services.regulation.current.components.renderHeaderRegisterButton({gameContext: this.props.gameContext})}\r\n {separator}\r\n {this.services.regulation.current.components.renderHeaderLoginButton({gameContext: this.props.gameContext})}\r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const MobileContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n min-width: 80px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const UserIconBox = styled.div`\r\n width: 15px;\r\n height: 17px;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n background-image: url(\"${props => props.theme.images.user.welcomePostLoginMobile.toString()}\");\r\n color: ${props => props.theme.colors.brandSecondary};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const UserBankrollBox = styled.div`\r\n font-size: 1.3rem;\r\n color: ${props => props.theme.colors.moneyColor};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const FreePlayDotIndicatorDefaultBox = styled.div`\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n right: 20px;\r\n top: 10px;\r\n background-color: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n`","import styled from \"styled-components\";\r\nimport {FreePlayDotIndicatorDefaultBox} from \"./free-play-dot-indicator.default\";\r\n\r\nexport const FreePlayDotIndicatorSIBox = styled(FreePlayDotIndicatorDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-color: ${props => props.theme.colors.buttonDark};\r\n }\r\n`","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {FreePlayDotIndicatorDefaultBox} from \"./free-play-dot-indicator.default\";\r\nimport {FreePlayDotIndicatorSIBox} from \"./free-play-dot-indicator.si.box\";\r\n\r\nexport const FreePlayDotIndicatorBox = styledByTheme(FreePlayDotIndicatorDefaultBox)\r\n .forSI(FreePlayDotIndicatorSIBox)\r\n .apply();","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MobileContainerBox} from \"../boxes/mobile-container/mobile-container.box\";\r\nimport {UserIconBox} from \"../boxes/icon/user-icon.box\";\r\nimport {UserBankrollBox} from \"../boxes/bankroll/user-bankroll.box\";\r\nimport React from \"react\";\r\nimport {FreePlayDotIndicatorBox} from \"../boxes/free-play-dot-indicator/free-play-dot-indicator.box\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {\r\n TOOLTIP_TARGET_HEADER_BANKROLL_BUTTON_MOBILE\r\n} from \"../../../../../services/tooltip/on-boarding-tooltip/on-boarding-tooltip-target-selectors\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent extends OrbitComponent {\r\n private _onClick = () => {\r\n this.services.userMenu.openMenu();\r\n };\r\n\r\n private _renderFreePlayIndicator = () => {\r\n if(!this.services.freePlay.hasVouchers) {\r\n return null;\r\n }\r\n return (\r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderFreePlayIndicator()}\r\n \r\n {this.services.currency.formatMoney(this.services.walletProxy.totalBankroll)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const PCContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {getButtonSizeVariant} from \"../../welcome-buttons/header-welcome-buttons-helpers\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType, CashierSessionType} from \"@sparkware/uc-sdk-core\";\r\n\r\n\r\nexport const HeaderCashierButtonComponent = observer(class HeaderCashierButtonComponent extends OrbitComponent {\r\n private _onCashierClick = async () => {\r\n await this.services.cashier.openCashier({\r\n sessionType: CashierSessionType.FullCashier,\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.Header,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n }\r\n render() {\r\n return (\r\n \r\n {this.services.translation.translate('CASHIER')}\r\n \r\n )\r\n }\r\n});","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {PCContainerBox} from \"../boxes/pc-container/pc-container.box\";\r\nimport {getButtonsSeparator} from \"../../header-welcome-buttons-helpers\";\r\nimport {HeaderCashierButtonComponent} from \"../../../buttons/cashier-button/header-cashier-button.component\";\r\nimport React from \"react\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserPcViewComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserPcViewComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n {getButtonsSeparator(this.services)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserMobileViewComponent} from \"./mobile-view/header-welcome-buttons-for-authorized-user-mobile-view.component\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserPcViewComponent} from \"./pc-view/header-welcome-buttons-for-authorized-user-pc-view.component\";\r\n\r\nexport const HeaderWelcomeButtonsForAuthorizedUserComponent = observer(\r\n class HeaderWelcomeButtonsForAuthorizedUserComponent extends OrbitComponent {\r\n render() {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const HeaderWelcomeButtonsBox = styled.div`\r\n \r\n`","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {HeaderWelcomeButtonsForAnonymousUserComponent} from \"./anonymous-user/header-welcome-buttons-for-anonymous-user.component\";\r\nimport {HeaderWelcomeButtonsForAuthorizedUserComponent} from \"./authorized-user/header-welcome-buttons-for-authorized-user.component\";\r\nimport {\r\n IGameContextViewModel\r\n} from \"../../../services/game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {HeaderWelcomeButtonsBox} from \"./boxes/header-welcome-buttons.box\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\ninterface HeaderWelcomeButtonsComponentProps {\r\n gameContext?: IGameContextViewModel;\r\n}\r\nexport const HeaderWelcomeButtonsComponent = observer(\r\n class HeaderWelcomeButtonsComponent extends OrbitComponent {\r\n render() {\r\n\r\n return (\r\n \r\n {\r\n this.services.user.isAuthorized\r\n ? ()\r\n : ()\r\n }\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport React from \"react\";\r\nimport {INSIDE_ORBIT_MENU_CONTAINER} from \"./inside-orbit-menu-container.consts\";\r\nimport {isInsideAutomation} from '../../../utils/automation-helpers';\r\n\r\n\r\nexport class InsideOrbitMenuContainerComponent extends OrbitComponent<{}> {\r\n render() {\r\n if(isInsideAutomation()) {\r\n return null;\r\n }\r\n return
\r\n }\r\n}","export const INSIDE_ORBIT_MENU_CONTAINER = 'inside-orbit-menu-container';","import styled, { css } from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const LinkToOfferBoxBase = styled.div<{shouldAnimate: boolean, hasCircle: boolean, isHybridEmbedded: boolean}>`\r\n background-size: contain;\r\n height: 50px;\r\n width: 50px;\r\n position: fixed;\r\n bottom: ${props => props.isHybridEmbedded? 'calc(env(safe-area-inset-bottom) + 100px)' : '50px'};\r\n right: 55px;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n z-index: 3;\r\n ${CssRule.For.mobile.build()} & {\r\n right: 40px;\r\n }\r\n ${props => props.hasCircle? css`\r\n background-repeat: no-repeat;\r\n background-color: ${props => props.theme.colors.brandPrimary};\r\n border-radius: 50%;\r\n ` : '' }\r\n`;","import styled, {css, keyframes, DefaultTheme} from \"styled-components\";\r\nimport {hexToRgba} from \"../../../../themes/hex-to-rgba\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\n\r\nconst linkToOfferIconKeyframes = (props: {theme: DefaultTheme}) => keyframes`\r\n 0% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0.5)};\r\n }\r\n 60% {\r\n transform: scale(1);\r\n }\r\n 80% {\r\n transform: scale(1);\r\n box-shadow: 0 0 0 35px ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n 100% {\r\n transform: scale(0.9);\r\n box-shadow: 0 0 0 0 ${hexToRgba(props.theme.colors.brandPrimary, 0)};\r\n }\r\n`;\r\n\r\nexport const LinkToOfferIconDefaultBox = styled(LinkToOfferBoxBase)`\r\n ${props => props.shouldAnimate ? css`animation: ${linkToOfferIconKeyframes} 1.2s infinite` : ''};\r\n /* temporary solution for disabling button on mobile landscape - remove once banners will support landscape mode for phones */\r\n ${CssRule.For.mobile.landscape.not.tablet.build()} & {\r\n visibility: hidden;\r\n }\r\n`;\r\n","import {LinkToOfferIconDefaultBox} from \"./link-to-offer-icon.default.box\";\r\n\r\nexport const LinkToOfferIconBox = LinkToOfferIconDefaultBox;\r\n","import {LinkToOfferDialogCloseDefaultBox} from \"./link-to-offer-dialog-close.default.box\";\r\n\r\nexport const LinkToOfferDialogCloseBox = LinkToOfferDialogCloseDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {LinkToOfferBoxBase} from \"../link-to-offer-base/link-to-offer-box-base\";\r\n\r\nexport const LinkToOfferDialogCloseDefaultBox = styled(LinkToOfferBoxBase)<{zIndex?: number}>`\r\n z-index: ${props => props.zIndex ?? 201};\r\n`;\r\n","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LinkToOfferIconBox} from \"./boxes/link-to-offer-icon/link-to-offer-icon.box\";\r\nimport {LinkToOfferDialogCloseBox} from \"./boxes/link-to-offer-dialog-close/link-to-offer-dialog-close.box\";\r\nimport {LinkToOfferConfiguration} from \"../../services/configurations/config-data-sections/link-to-offer.configuration\";\r\nimport { IOffer } from '../../services/player-offerings/player-offerings.service';\r\nimport { IShowOfferOptions } from '../../services/player-offerings/player-offerings.service.interface';\r\n\r\nexport interface LinkToOfferComponentProps {\r\n linkToOfferConfig: LinkToOfferConfiguration;\r\n}\r\n\r\n\r\nexport const LinkToOfferComponent = observer(\r\n class LinkToOfferComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.playerOfferings.setWelcomeOfferConfig(this.props.linkToOfferConfig?.welcomeBonus ?? null);\r\n }\r\n\r\n render() {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n let CloseIconComponent = this.services.theme.currentTheme.icons.linkToOfferCloseIcon;\r\n\r\n return (\r\n {this._onCloseDialog()}}\r\n shouldAnimate={false}\r\n hasCircle={true}\r\n zIndex={this.services.playerOfferings.isHighPriorityOffer ? this.services.dialog.getMaxCGPOverlayZIndex() + 2: null}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n const currentOffer = this.services.playerOfferings.currentLinkToOffer;\r\n if(!currentOffer) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this._onLinkToOfferClicked(currentOffer)}}\r\n shouldAnimate={currentOffer.shouldUseLinkToOfferAnimation()}\r\n hasCircle={currentOffer.shouldUseLinkToOfferAnimation()}\r\n isHybridEmbedded={this.services.device.hybrid.isEmbedded}\r\n >\r\n { currentOffer.render() }\r\n \r\n );\r\n }\r\n\r\n\r\n private _onLinkToOfferClicked(offer: IOffer): void {\r\n\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Open_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n\r\n const options: IShowOfferOptions = {\r\n onPopupClosed: () => {\r\n this.services.analytics.sendOrbitMarketingEvent(offer.analyticsCategory, 'Close_Floating_Button', this.services.routing.currentRoute.data.arenaType);\r\n }\r\n };\r\n this.services.playerOfferings.showOfferPopup(offer, options);\r\n }\r\n\r\n private _onCloseDialog = () => {\r\n if (this.services.playerOfferings.hasOpenedPopup) {\r\n this.services.playerOfferings.closeCurrentPopup();\r\n }\r\n };\r\n }\r\n);\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../themes/css-global-classes\";\r\nimport {HEADER_Z_INDEX} from \"../../header/header-consts\";\r\n\r\nexport const LobbyHeaderDefaultBox = styled.div<{stickOffset: number;}>`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background-color: ${props => props.theme.colors.background};\r\n position: sticky;\r\n top: ${({stickOffset}) => (stickOffset - 1)+ \"px\"};\r\n z-index: ${HEADER_Z_INDEX - 1};\r\n\r\n padding-top: 15px;\r\n padding-bottom: 12px;\r\n margin-bottom: 10px;\r\n\r\n &.${STICKY} {\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n }\r\n }\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 10px;\r\n padding-bottom: 0;\r\n margin-bottom: 0;\r\n &.${STICKY}{\r\n width:100%;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\n\r\nexport const LobbyHeaderCasino777Box = styled(LobbyHeaderDefaultBox)`\r\n padding-bottom: 0;\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(${props => props.theme.images.texture.toString()});\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {STICKY} from \"../../../themes/css-global-classes\";\r\n\r\nexport const LobbyHeaderSiBox = styled(LobbyHeaderDefaultBox)`\r\n &.${STICKY} {\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n background-image:none;\r\n }\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {baseColors} from \"../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const LobbyHeaderMrGreenBox = styled(LobbyHeaderDefaultBox)`\r\n padding-top: 2.2rem;\r\n background-color: ${baseColors.gray033};\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 10px;\r\n }\r\n`;\r\n","import {LobbyHeaderDefaultBox} from \"./lobby-header.default.box\";\r\nimport {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderCasino777Box} from \"./lobby-header.casino777.box\";\r\nimport {LobbyHeaderSiBox} from \"./lobby-header.si.box\";\r\nimport {LobbyHeaderMrGreenBox} from \"./lobby-header.mrgreen.box\";\r\n\r\nexport const LobbyHeaderBox = styledByTheme(LobbyHeaderDefaultBox)\r\n .forCasino777(LobbyHeaderCasino777Box)\r\n .forSI(LobbyHeaderSiBox)\r\n .forMrGreen(LobbyHeaderMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleDefaultBox = styled.h1`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n width: 100%;\r\n ${({theme}) => theme.font.presets.secondary};\r\n color: ${props => props.theme.colors.textLight};\r\n font-size: 3rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2.2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleSIBox = styled(LobbyHeaderTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.body};\r\n letter-spacing: 0.44rem;\r\n text-transform: uppercase;\r\n font-size: 2.2rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.5rem;\r\n &:first-of-type {\r\n margin-top: 0.8rem;\r\n }\r\n margin-bottom: 1.4rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\n\r\nexport const LobbyHeaderTitleMrGreenBox = styled(LobbyHeaderTitleDefaultBox)`\r\n margin-bottom: 1rem;\r\n font-size: 16px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n &:first-of-type {\r\n margin-top: 0.9rem;\r\n }\r\n margin-bottom: 1.9rem;\r\n }\r\n`;\r\n","import {LobbyHeaderTitleDefaultBox} from \"./lobby-header-title.default.box\";\r\nimport {LobbyHeaderTitleSIBox} from \"./lobby-header-title.si.box\";\r\nimport {LobbyHeaderTitleMrGreenBox} from \"./lobby-header-title.mrgreen.box\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const LobbyHeaderTitleBox = styledByTheme(LobbyHeaderTitleDefaultBox)\r\n .forSI(LobbyHeaderTitleSIBox)\r\n .forMrGreen(LobbyHeaderTitleMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {GAMING_HISTORY_PAGE, LOBBY_PAGE, SESSION_HISTORY_PAGE, STICKY} from \"../../../../themes/css-global-classes\";\r\n\r\nconst LobbyHeaderLinePCBox = styled.div`\r\n .${LOBBY_PAGE} &{\r\n display:none;\r\n }\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, ${props => props.theme.colors.brandPrimary}, ${props => props.theme.colors.brandSecondary});\r\n }\r\n`;\r\n\r\nconst LobbyHeaderLineMobileBox = styled.div`\r\n width: 97%;\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorderLighter};\r\n\r\n .${STICKY} &{\r\n width: 100%;\r\n border-top: none;\r\n border-bottom: 1px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n\r\nexport const LobbyHeaderLineDefaultBox = styledByDevice(LobbyHeaderLinePCBox, LobbyHeaderLineMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {GAMING_HISTORY_PAGE, SESSION_HISTORY_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nconst CommonStyles = styled.div`\r\n width: 100%;\r\n height: 2px;\r\n background: linear-gradient(to right, transparent, ${props => props.theme.colors.textLight} 40%, transparent);\r\n\r\n .${GAMING_HISTORY_PAGE} &, .${SESSION_HISTORY_PAGE} &{\r\n background: linear-gradient(to right, transparent, ${props => props.theme.colors.brandPrimary} 40%, transparent);\r\n }\r\n`;\r\nconst PCBox = styled(CommonStyles)`\r\n margin-top: 12px;\r\n`;\r\n\r\nconst MobileBox = CommonStyles;\r\n\r\nexport const LobbyHeaderLineCasino777Box = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\n\r\n// i don't want any divider for MrGreen so i just put an empty div\r\nexport const LobbyHeaderLineMrGreenBox = styled.div`\r\n`;\r\n","import {LobbyHeaderLineDefaultBox} from \"./lobby-header-line.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderLineCasino777Box} from \"./lobby-header-line.casino777.box\";\r\nimport {LobbyHeaderLineMrGreenBox} from \"./lobby-header-line.mrgreen.box\";\r\n\r\nexport const LobbyHeaderLineBox = styledByTheme(LobbyHeaderLineDefaultBox)\r\n .forCasino777(LobbyHeaderLineCasino777Box)\r\n .forMrGreen(LobbyHeaderLineMrGreenBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n self-justify: flex-end;\r\n`;\r\n\r\nexport const LobbyHeaderButtonsContainerBox = DefaultBox;","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div`\r\n padding: 4px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 3.4rem;\r\n height: 3.4rem;\r\n border: 1px solid ${props => props.theme.colors.backgroundContrast};\r\n border-radius: 50%;\r\n margin-right: 10px;\r\n\r\n svg{\r\n height: 23px;\r\n width: 23px;\r\n }\r\n`;\r\n\r\nexport const LobbyHeaderDefaultButtonsBox = DefaultBox;","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeader777ButtonsBox = styled(LobbyHeaderDefaultButtonsBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n color: ${props => props.theme.colors.brandSecondaryContrast};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\n\r\nexport const LobbyHeaderMrGreenButtonsBox = styled(LobbyHeaderDefaultButtonsBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;\r\n","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {LobbyHeaderDefaultButtonsBox} from \"./lobby-header-button.default.box\";\r\nimport {LobbyHeader777ButtonsBox} from \"./lobby-header-button.777.box\";\r\nimport {LobbyHeaderMrGreenButtonsBox} from \"./lobby-header-button.mrgreen.box\";\r\n\r\nexport const LobbyHeaderButtonsBox = styledByTheme(LobbyHeaderDefaultButtonsBox)\r\n .forCasino777(LobbyHeader777ButtonsBox)\r\n .forMrGreen(LobbyHeaderMrGreenButtonsBox).apply();","import styled from \"styled-components\";\r\n\r\nexport const LobbyHeaderTitleContainerBox = styled.div`\r\n display: flex;\r\n width: 100%;\r\n\r\n padding-left: 4rem;\r\n padding-right: 4rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 1rem;\r\n padding-right: 1rem;\r\n }\r\n`;\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../sticky-handler/sticky-handler.interface';\r\nimport {LobbyHeaderBox} from \"./boxes/lobby-header.box\";\r\nimport {LobbyHeaderTitleBox} from \"./boxes/title/lobby-header-title.box\";\r\nimport {LobbyHeaderLineBox} from \"./boxes/line/lobby-header-line.box\";\r\nimport classNames from 'classnames';\r\nimport {STICKY} from \"../../themes/css-global-classes\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {LobbyHeaderButtonsContainerBox} from \"./boxes/buttons/lobby-header-buttons-container.box\";\r\nimport {LobbyHeaderButtonsBox} from \"./boxes/buttons/lobby-header-button.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport { LobbyHeaderTitleContainerBox } from './boxes/title/lobby-header-title.container.box';\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {\r\n IPcFilterIndicatorRenderingOptions,\r\n PcFilterIndicatorRenderingLocation\r\n} from \"../../services/games-filter/games-filter.service.interface\";\r\n\r\nexport interface LobbyHeaderComponentProps extends PropsWithChildren{\r\n stickyHandler: IStickyHandler;\r\n title: string;\r\n showSearchIcon: boolean;\r\n arenaFiltersRenderingOptions?: Nullable;\r\n}\r\n\r\nexport const LobbyHeaderComponent = observer(\r\n class LobbyHeaderComponent extends OrbitComponent {\r\n\r\n private handleSearchClick = () => {\r\n this.services.gameSearch.openSearchResult();\r\n }\r\n\r\n private _renderFiltersIndicatorUnderTheTitle() {\r\n const renderingOptions = this.services.gamesFilter.renderPCFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== PcFilterIndicatorRenderingLocation.BelowArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n private _renderFiltersIndicatorNextToTheTitle() {\r\n const renderingOptions = this.services.gamesFilter.renderPCFiltersIndicator();\r\n\r\n if(renderingOptions?.location !== PcFilterIndicatorRenderingLocation.NextToArenaTitle) {\r\n return null;\r\n }\r\n\r\n return renderingOptions.reactElement;\r\n }\r\n\r\n render() {\r\n\r\n const isMobile = this.services.device.isMobile;\r\n const lobbyHeaderClasses = classNames('cy-lobby-header', {\r\n [STICKY]: this.props.stickyHandler.isSticky\r\n });\r\n\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n //console.log('HeaderHeight: ' + this.services.header.headerHeight);\r\n return (\r\n \r\n \r\n {this.props.title &&\r\n \r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n {this._renderFiltersIndicatorNextToTheTitle()}\r\n \r\n { isMobile &&\r\n \r\n {\r\n this.props.showSearchIcon &&\r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n {this.services.gamesFilter.renderMobileFiltersIndicator()}\r\n
\r\n }\r\n
\r\n }\r\n {this._renderFiltersIndicatorUnderTheTitle()}\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import { IPlayerProps } from '@lottiefiles/react-lottie-player';\r\nimport React from 'react';\r\nimport { OrbitSuspense } from '../base-components/orbit-suspense/orbit-suspense';\r\n\r\nconst Player = React.lazy(\r\n () => import('@lottiefiles/react-lottie-player').then(({ Player }) => ({ default: Player }))\r\n);\r\n\r\nexport const LottiePlayer = React.forwardRef((props: IPlayerProps, ref: any) => {\r\n const Wrapper = React.forwardRef(\r\n () => (\r\n \r\n \r\n \r\n )\r\n );\r\n return ;\r\n});\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const LoyaltyBarWrapperComponent = observer(class LoyaltyBarWrapperComponent extends OrbitComponent {\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.loyaltyIndicator.init();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n});","import styled, { css } from 'styled-components';\r\n\r\nexport const dialogTextMixin = css`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const dialogHighlightedTextMixin = css`\r\n color: ${props => props.theme.colors.brandPrimary};\r\n font-size: 1.5rem;\r\n text-align: center;\r\n`;\r\n\r\nexport const DialogTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogBoldTextBox = styled(DialogTextBox)`\r\n font-weight: bold;\r\n ${dialogTextMixin}\r\n`;\r\n\r\nexport const DialogHighlightedTextBox = styled.div`\r\n margin-top: 2rem;\r\n ${dialogHighlightedTextMixin}\r\n`;\r\n\r\nexport const ListDialogTextBox = styled.div`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n margin-top: 4rem;\r\n font-size: 1.5rem;\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogDimmedTextBox = styled.div` \r\n margin-top: 2rem;\r\n font-size: 1.4rem;\r\n text-align: center;\r\n color: ${({theme}) => theme.colors.textMiddleDark};\r\n `;","import styled from 'styled-components';\r\nimport {flexColumnContainerMixin, flexRowReverseContainerMixin} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonsWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean;}>`\r\n max-width: 289px;\r\n width: 100%;\r\n margin: 5rem auto 0;\r\n ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? flexColumnContainerMixin : flexRowReverseContainerMixin }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {flexGrowItem, flexFixedSizeItem} from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const ButtonWrapperDefaultBox = styled.div<{buttonsOnSeparateLines?: boolean; flexBasis?: string;}>`\r\n ${flexGrowItem}\r\n width: ${({buttonsOnSeparateLines}) => buttonsOnSeparateLines ? \"100%\" : \"40%\" };\r\n`;\r\n\r\nexport const ButtonSpacerDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n width: 1rem;\r\n height: 1.5rem;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkActionBox = styled.button`\r\n margin: 0 auto;\r\n\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n background: transparent;\r\n padding: 5px 0px 0px;\r\n border: 0;\r\n border-radius: 0;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n color: ${({theme}) => theme.colors.brandPrimary};\r\n text-decoration: underline;\r\n cursor: pointer;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const LinkWrapperDefaultBox = styled.div`\r\n width: 100%;\r\n margin-top: 3rem;\r\n text-align: center;\r\n`;\r\n","import React from 'react';\r\nimport { Button } from '../../basic-ui-components/button/base/button.component';\r\nimport {ButtonsWrapperDefaultBox} from './boxes/actions/buttons-wrapper.box';\r\nimport {ButtonWrapperDefaultBox, ButtonSpacerDefaultBox} from './boxes/actions/button-wrapper.box';\r\nimport {LinkActionBox} from './boxes/actions/link-action.box';\r\nimport {LinkWrapperDefaultBox} from './boxes/actions/link-wrapper.box';\r\nimport classNames from \"classnames\";\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\n\r\n\r\nexport interface IModalDialogActionProps {\r\n text: string;\r\n onClick(): void;\r\n className?: string;\r\n disabled?:boolean;\r\n}\r\nexport interface IModalDialogButtonsComponentProps {\r\n buttonsOnSeparateLines?: boolean;\r\n primaryAction: IModalDialogActionProps;\r\n secondaryAction?: IModalDialogActionProps & {useWarningPreset?: boolean};\r\n linkAction?: IModalDialogActionProps;\r\n className?: string;\r\n}\r\n\r\nexport class ModalDialogActionsComponent extends React.Component {\r\n render() {\r\n return <>\r\n \r\n \r\n \r\n {this.props.primaryAction.text}\r\n \r\n \r\n {this.props.secondaryAction ? <>\r\n \r\n {this.props.secondaryAction.text}\r\n \r\n : null}\r\n \r\n {this.props.linkAction ? \r\n {this.props.linkAction.text}\r\n : null}\r\n ;\r\n }\r\n}\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\n\r\ninterface IAspectRatioBoxProps {\r\n expectedWidth: number;\r\n expectedHeight: number;\r\n}\r\n\r\nconst AspectRatioBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 0;\r\n padding-top: calc(${({expectedWidth, expectedHeight}) => `${expectedHeight} / ${expectedWidth} * 100%`});\r\n`;\r\n\r\ninterface IAspectRatioContentBoxProps {\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nconst AspectRatioContentBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 0;\r\n\r\n ${(props) => props.useBGColorDuringLoadAnimation && props.isLoading && `background-color: ${props.theme.colors.backgroundDark}`};\r\n\r\n animation: ${({isLoading}) => isLoading ? \"LoadingAnimation 1.5s linear 3 forwards\" : \"RevealAnimation 0.5s ease-out forwards\"};\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 50% {\r\n opacity: 1\r\n }\r\n 100% {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n @keyframes RevealAnimation {\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\ninterface IAspectRatioContainerComponentProp extends PropsWithChildren {\r\n width: number;\r\n height: number;\r\n isLoading?: boolean;\r\n useBGColorDuringLoadAnimation?: boolean;\r\n}\r\n\r\nexport class AspectRatioContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {TapHandler} from '../../tap-handler/tap-handler.component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport styled from 'styled-components';\r\n\r\ninterface LinkProps extends PropsWithChildren {\r\n box?: AnyStyledComponent;\r\n id?: string;\r\n onClick?: (event?: any) => void;\r\n className?: string;\r\n href?: string;\r\n enableTap?: boolean;\r\n preventDefaultOnClick?: boolean\r\n target?: string;\r\n itemProp?: string;\r\n customProps?: {[key: string]: any};\r\n}\r\n\r\nconst DefaultBox = styled.a`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nexport class Link extends OrbitComponent {\r\n\r\n private _onClick = (event) => {\r\n\r\n if (this.services.miniOrbit.isEnabled && this.props.target === \"_blank\") {\r\n event.preventDefault();\r\n this.services.miniOrbit.openUrl(this.props.href);\r\n\r\n } else if (Check.isNullOrUndefined(this.props.preventDefaultOnClick) || this.props.preventDefaultOnClick) {\r\n event.preventDefault();\r\n }\r\n\r\n if (this.props.onClick) {\r\n this.props.onClick(event);\r\n }\r\n };\r\n\r\n private _getAnchorProps(): any {\r\n let result: any = {};\r\n\r\n if(this.props.id) {\r\n result.id = this.props.id;\r\n }\r\n if(this.props.className) {\r\n result.className = this.props.className;\r\n }\r\n\r\n if(this.props.href) {\r\n result.href = this.services.location.buildFullUri(this.props.href || '/').toString();\r\n }\r\n\r\n if(this.props.target) {\r\n result.target = this.props.target;\r\n }\r\n\r\n if(this.props.itemProp) {\r\n result.itemProp = this.props.itemProp;\r\n }\r\n\r\n if (this.props.customProps) {\r\n result.customProps = this.props.customProps;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _renderAnchor(anchorRef: any) {\r\n const Box = this.props.box || DefaultBox;\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.props.enableTap) {\r\n return this._renderAnchor(null);\r\n }\r\n\r\n let anchorRef: any = React.createRef();\r\n return (\r\n \r\n {this._renderAnchor(anchorRef)}\r\n \r\n );\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconDefaultBox = styled.img<{isShownInHeader: boolean}>`\r\n height: 27px;\r\n width: ${props=> props.isShownInHeader === true ? \"35px\" : \"27px\"};\r\n`","import styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeBox = styled.div<{isShownInHeader: boolean}>`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n cursor: pointer;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`","import {MinimumGamblingAgeIconDefaultBox} from \"./minimum-gambling-age-icon.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const MinimumGamblingAgeIconSiBox = styled(MinimumGamblingAgeIconDefaultBox)`\r\n height: 40px;\r\n width: 40px;\r\n`","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {MinimumGamblingAgeIconDefaultBox} from \"./minimum-gambling-age-icon.default.box\";\r\nimport {MinimumGamblingAgeIconSiBox} from \"./minimum-gambling-age-icon.si.box\";\r\n\r\nexport const MinimumGamblingAgeIconBox = styledByTheme(MinimumGamblingAgeIconDefaultBox).forSI(MinimumGamblingAgeIconSiBox).apply();","import React, {PropsWithChildren} from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeBox} from \"./boxes/minimum-gambling-age.box\";\r\nimport {MinimumGamblingAgeIconBox} from \"./boxes/icon/minimum-gambling-age-icon.box\";\r\nimport classNames from 'classnames';\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\ninterface MinimumGamblingAgeComponentProps extends PropsWithChildren {\r\n className?: string;\r\n iconBox?: React.ComponentType;\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const MinimumGamblingAgeComponent = observer(\r\n class MinimumGamblingAgeComponent extends OrbitComponent {\r\n\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_responsible_gaming_click');\r\n await this.services.linksNavigation.openResponsibleGaming();\r\n }\r\n\r\n private _getIcon(): string {\r\n const age = this.services.regulation.current.responsibleGamingAge;\r\n switch (this.services.configuration.data.header.responsibleIcons?.ageButton?.iconType) {\r\n case 'flat':\r\n if(age === 21) {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age21PlusFlat.toString();\r\n } else {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusFlat.toString();\r\n }\r\n case 'capsule':\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusCapsule.toString();\r\n default:\r\n if(age === 21) {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age21PlusRound.toString();\r\n } else {\r\n return this.services.theme.currentTheme.images.responsibleGambling.age18PlusRound.toString();\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n render() {\r\n const url = this._getIcon();\r\n const IconBox = this.props.iconBox ?? MinimumGamblingAgeIconBox;\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\n\r\nexport const NetherlandsMinimumGamblingAgeLabelBox = styled.div`\r\n color: ${props => props.theme.colors.textLight};\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeComponent} from \"../../minimum-gambling-age.component\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {NetherlandsMinimumGamblingAgeLabelBox} from \"./boxes/netherlands-minimum-gambling-age-label.box\";\r\n\r\ninterface NetherlandsMinimumGamblingAgeComponentProps {\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const NetherlandsMinimumGamblingAgeComponent = observer(class NetherlandsMinimumGamblingAgeComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n \r\n Speel bewust\r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {MinimumGamblingAgeIconDefaultBox} from \"../../../boxes/icon/minimum-gambling-age-icon.default.box\";\r\n\r\nexport const SwedenMinimumGamblingAgeIconBox = styled(MinimumGamblingAgeIconDefaultBox)<{isShownInHeader: boolean}>`\r\n height: ${props => props.isShownInHeader === true ? \"2.5rem\" : \"23px\"};\r\n width: ${props => props.isShownInHeader === true ? \"auto\" : \"35px\"};\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {MinimumGamblingAgeComponent} from \"../../minimum-gambling-age.component\";\r\nimport {SwedenMinimumGamblingAgeIconBox} from \"./boxes/sweden.minimum-gambling-age-icon.box\";\r\n\r\ninterface SwedenMinimumGamblingAgeComponentProps {\r\n isShownInHeader?: boolean;\r\n}\r\n\r\nexport const SwedenMinimumGamblingAgeComponent = observer(class SwedenMinimumGamblingAgeComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\n\r\nexport const DenmarkResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n margin-left: 20px;\r\n }\r\n`","import styled from \"styled-components\";\r\n\r\nexport const DenmarkResponsibleGamingButtonBaseBox = styled.button<{imageUrl: string}>`\r\n background-image: url(\"${props => props.imageUrl}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n cursor: pointer;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSafeToPlayButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 40px;\r\n height: 40px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 25px;\r\n height: 25px;\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSafeToPlayButtonBox} from \"./boxes/denmark.safe-to-play-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSafeToPlayButtonComponent = observer(class DenmarkSafeToPlayButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_doga_icon_click');\r\n await this.services.linksNavigation.openSafeToPlay();\r\n }\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSelfExclusionButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 50px;\r\n height: 25px;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkSelfExclusionButtonBox} from \"./boxes/denmark.self-exclusion-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfExclusionButtonComponent = observer(class DenmarkSelfExclusionButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_stop_spillet_icon_click');\r\n await this.services.linksNavigation.openSelfExclusion();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {DenmarkResponsibleGamingButtonBaseBox} from \"../../boxes/denmark.responsible-gaming-button-base.box\";\r\n\r\nexport const DenmarkSelfTestButtonBox = styled(DenmarkResponsibleGamingButtonBaseBox)`\r\n width: 50px;\r\n height: 25px;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {DenmarkSelfTestButtonBox} from \"./boxes/denmark.self-test-button.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const DenmarkSelfTestButtonComponent = observer(class DenmarkSelfTestButtonComponent extends OrbitComponent {\r\n private _clickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_dk_rofus_icon_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {DenmarkResponsibleGamingButtonsBox} from \"./boxes/denmark.responsible-gaming-buttons.box\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {DenmarkSafeToPlayButtonComponent} from \"./safe-to-play-button/denmark.safe-to-play-button.component\";\r\nimport {DenmarkSelfExclusionButtonComponent} from \"./self-exclusion/denmark.self-exclusion-button.component\";\r\nimport {DenmarkSelfTestButtonComponent} from \"./self-test-button/denmark.self-test-button.component\";\r\n\r\nexport const DenmarkResponsibleGamingButtonsComponent = observer(class DenmarkResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n const multiplier = this.services.mediaQuery.sAndBelow ? 1 : 1;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const PanicButtonSVGIconClassName = \"panic-button-svg-icon\";\r\n\r\nexport const PanicButtonBox = styled.div`\r\n width: 15.7rem;\r\n height: 2.7rem;\r\n\r\n &.${ACTIVE} {\r\n &::after{\r\n display: block;\r\n }\r\n }\r\n\r\n .${PanicButtonSVGIconClassName} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n \r\n &::before {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n top: 3.9rem;\r\n width: 15rem;\r\n height: 0.8rem;\r\n background: transparent;\r\n }\r\n\r\n &::after{\r\n display: none;\r\n content: \" \";\r\n position: relative;\r\n left: 3rem;\r\n top: -0.3rem;\r\n width: 1px;\r\n border-width: 5px;\r\n border-style: solid;\r\n border-color: transparent transparent ${({theme}) => theme.colors.backgroundContrast} transparent;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow}{\r\n @media ${({theme}) => theme.mediaQuery.portrait}{\r\n left: 7.5rem;\r\n }\r\n }\r\n }\r\n`;\r\n","export const IN_DETAILED_HISTORY= 'in-detailed-history';\r\nexport const IN_GAME = \"in-game\";","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {IN_DETAILED_HISTORY} from \"../css-classes\";\r\n\r\nexport const PanicButtonTooltipBox = styled.div`\r\n display: none;\r\n background-color: white;\r\n text-align: center;\r\n border-radius: 0.3rem;\r\n padding: 0.5rem;\r\n margin-top: 0.7rem;\r\n cursor: default;\r\n\r\n position: absolute !important;\r\n z-index: 107;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.textDark};\r\n\r\n &.${ACTIVE} {\r\n display: block;\r\n }\r\n\r\n &.${IN_DETAILED_HISTORY} {\r\n @media ${({theme}) => theme.mediaQuery.sAndAbove}{\r\n @media ${({theme}) => theme.mediaQuery.landscape}{\r\n left: initial;\r\n transform: translateX(-58%);\r\n }\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow}{\r\n @media ${({theme}) => theme.mediaQuery.portrait}{\r\n left: 1rem;\r\n width: calc(100% - 2rem);\r\n box-sizing: border-box;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.hoverNone}{\r\n padding: 0.5rem 1rem 0.5rem 1rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupBox = styled.div`\r\n display:flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 5rem 5rem 0;\r\n ${({theme}) => theme.font.presets.body};\r\n font-size: 1.5rem;\r\n color: ${({theme}) => theme.colors.textLight};\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow } {\r\n padding: 5rem 2rem 0 2rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupTimeBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary}; \r\n padding-left: 0.5rem;\r\n padding-right: 0.5rem;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonPopupOkBox = styled.div`\r\n width: 100%;\r\n margin-top: 5rem;\r\n`;","import {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {PanicButtonPopupBox} from \"./boxes/panic-button-popup.box\";\r\nimport React from 'react';\r\nimport {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {IModalDialogHandler} from \"../../../../../services/dialog/dialog.service.interface\";\r\nimport {PanicButtonPopupTimeBox} from \"./boxes/panic-button-popup-time.box\";\r\nimport {PanicButtonPopupOkBox} from \"./boxes/panic-button-popup-ok.box\";\r\nimport { DialogTextBox } from \"../../../../modal-dialog/boxes/text/dialog-text.box\";\r\nimport { ModalDialogActionsComponent } from \"../../../../modal-dialog/modal-dialog-actions.component\";\r\n\r\ninterface PanicButtonPopupComponentProps{\r\n textMessage1:string,\r\n textMessage2:string,\r\n textMessage3:string,\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport class PanicButtonPopupComponent extends OrbitComponent{\r\n\r\n private _getTime():string{\r\n const now = new Date();\r\n return new TimeSpan(0,now.getHours(),now.getMinutes()).toString();\r\n }\r\n\r\n private _closeDialog = () => {\r\n this.props.dialogHandler.close();\r\n }\r\n\r\n render(){\r\n return (\r\n \r\n {this.props.textMessage1}\r\n \r\n {this.props.textMessage2}\r\n {this._getTime()}\r\n {this.props.textMessage3}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const TooltipClickHereBox = styled.span`\r\n text-decoration: underline;\r\n font-weight: bold;\r\n padding-left: 0.5rem;\r\n padding-right: 0.5rem;\r\n cursor: pointer;\r\n margin-bottom: 0;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const PanicButtonTooltipCloseBox = styled.div`\r\n position: absolute;\r\n right: 0.2rem;\r\n top: 0.1rem;\r\n width: 1rem;\r\n height: 1rem;\r\n cursor: pointer;\r\n \r\n &::before, &::after {\r\n position: absolute;\r\n content: ' ';\r\n height: 1rem;\r\n width: 0.1rem;\r\n background-color: black;\r\n }\r\n &::before {\r\n transform: rotate(45deg);\r\n }\r\n &::after {\r\n transform: rotate(-45deg);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const PanicButtonMobileOverlayBox = styled.div`\r\n display: none;\r\n position:absolute;\r\n width: 100vw;\r\n height: 100vh;\r\n background-color:rgba(0, 0, 0, 0);\r\n top:0;\r\n left:0;\r\n z-index: 106;\r\n \r\n &.${ACTIVE}{\r\n display: block;\r\n }\r\n`;","import React from 'react';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport {PanicButtonBox, PanicButtonSVGIconClassName} from \"./boxes/panic-button.box\";\r\nimport {PanicButtonTooltipBox} from \"./boxes/panic-button-tooltip.box\";\r\nimport classNames from 'classnames';\r\nimport {observer} from \"mobx-react\";\r\nimport {PanicButtonPopupComponent} from \"./panic-button-popup.component\";\r\nimport {TooltipClickHereBox} from \"./boxes/panic-button-tooltip-click-here\";\r\nimport {OrbitComponentWithState} from \"../../../../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\nimport {IN_DETAILED_HISTORY} from \"./css-classes\";\r\nimport {GermanyResponsibleGamingButtonPlacement} from \"../../../../../../common/const/responsible-gaming\";\r\nimport {PanicButtonTooltipCloseBox} from \"./boxes/panic-button-tooltip-close.box\";\r\nimport {PanicButtonMobileOverlayBox} from \"./boxes/panic-button-mobile-overlay.box\";\r\n\r\ninterface TooltipState {\r\n isTooltipVisible: boolean\r\n}\r\n\r\nexport interface ResponsibleGamingButtonsGermanyComponentProps {\r\n placement: GermanyResponsibleGamingButtonPlacement\r\n}\r\n\r\nexport const ResponsibleGamingButtonsGermanyComponent = observer(\r\n class ResponsibleGamingButtonsGermanyComponent extends OrbitComponentWithState {\r\n state: TooltipState = {\r\n isTooltipVisible: false\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.setState({\r\n isTooltipVisible: false\r\n })\r\n }\r\n\r\n private _restrictUser(): void {\r\n this.setState({isTooltipVisible: false});\r\n this.services.user.panicRestrictUser().then((data) => {\r\n console.log(data);\r\n this._openPopup();\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n this._sendAnalytics(\"activate\");\r\n }\r\n\r\n private _openPopup() {\r\n this.services.dialog.showModal((dialogHandler) =>\r\n ,\r\n {\r\n title: this.services.translation.translate(\"panic_restriction_popup_title\"),\r\n shouldBeClosedOnlyByUser: true,\r\n hideCloseButton: true,\r\n isHighPriority: true\r\n })\r\n }\r\n\r\n private _onMouseEnterPanicBtn() {\r\n if(!this.services.device.os.isMobileOS){\r\n this.setState({isTooltipVisible: true});\r\n this._sendAnalytics(\"click\");\r\n }\r\n }\r\n\r\n private _onMouseLeavePanicBtn() {\r\n if(!this.services.device.os.isMobileOS) {\r\n this.setState({isTooltipVisible: false});\r\n }\r\n }\r\n\r\n private _closeToolTip(event) {\r\n event.stopPropagation();\r\n this.setState({isTooltipVisible: false});\r\n }\r\n\r\n private onClickPanicBtn() {\r\n if (!this.state.isTooltipVisible) {\r\n this.setState({isTooltipVisible: true});\r\n this._sendAnalytics(\"click\");\r\n }\r\n }\r\n\r\n private _sendAnalytics(label: string) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Header\", \"Icon_panic_\" + label);\r\n }\r\n\r\n private _renderCloseBtn() {\r\n if (!this.services.mediaQuery.hover) {\r\n return this._closeToolTip(event)} />\r\n }\r\n return null;\r\n }\r\n\r\n private _renderTooltipClickHere() {\r\n if (this.services.mediaQuery.sAndBelow && this.services.mediaQuery.portrait) {\r\n return (
{this._getTooltipBox()}
);\r\n } else {\r\n return this._getTooltipBox();\r\n }\r\n }\r\n\r\n private _getTooltipBox() {\r\n return this._restrictUser()}>klicken Sie hier.\r\n }\r\n\r\n private _renderMobileOverlay() {\r\n if (this.services.device.os.isMobileOS) {\r\n return this._closeToolTip(event)} />\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n const PanicButtonIcon = this.services.theme.currentTheme.icons.panicButtonRegulationIcon;\r\n return (\r\n \r\n this._onMouseEnterPanicBtn()}\r\n onMouseLeave={() => this._onMouseLeavePanicBtn()}\r\n onClick={() => this.onClickPanicBtn()}>\r\n \r\n \r\n
\r\n Um eine 24-stündige Spielpause einzulegen,\r\n {this._renderTooltipClickHere()}\r\n {this._renderCloseBtn()}\r\n
\r\n \r\n
\r\n {this._renderMobileOverlay()}\r\n
\r\n )\r\n }\r\n });","import styled from \"styled-components\";\r\n\r\nexport const NetherlandsSelfTestButtonBox = styled.button`\r\n width: 105px;\r\n height: 32px;\r\n cursor: pointer;\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {NetherlandsSelfTestButtonBox} from \"./boxes/netherlands.self-test-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\nexport const NetherlandsSelfTestButtonComponent = observer(class NetherlandsSelfTestButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_ksa_click');\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const OntarioResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\ninterface OntarioSafeToPlayButtonBoxProps {\r\n isShownInHeader: boolean\r\n}\r\n\r\nexport const OntarioSafeToPlayButtonBox = styled.button`\r\n width: 175px;\r\n height: 35px;\r\n background-image: url(\"${props => props.theme.images.regulationSpecific.ontario.safeToPlayButton.toString()}\");\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n cursor: pointer;\r\n ${props => !props.isShownInHeader && css`background-position: center center`}\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25px;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n background-position: center center\r\n }\r\n`","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OntarioSafeToPlayButtonBox} from \"./boxes/ontario.safe-to-play-button.box\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\n\r\ninterface OntarioSafeToPlayButtonComponentProps{\r\n isShownInHeader: boolean\r\n}\r\n\r\nexport const OntarioSafeToPlayButtonComponent = observer(class OntarioSafeToPlayButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_ontario_safe_to_play_icon_click');\r\n await this.services.linksNavigation.openSafeToPlay();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n});","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {OntarioResponsibleGamingButtonsBox} from \"./boxes/ontario.responsible-gaming-buttons.box\";\r\nimport {OntarioSafeToPlayButtonComponent} from \"./safe-to-play/ontario.safe-to-play-button.component\";\r\n\r\ninterface OntarioResponsibleGamingButtonsComponentProps{\r\n isShownInHeader?: boolean\r\n}\r\n\r\nexport const OntarioResponsibleGamingButtonsComponent = observer(class OntarioResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled from \"styled-components\";\r\n\r\nexport const SwedenResponsibleGamingButtonsBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`","import styled, {css} from \"styled-components\";\r\n\r\nexport const SwedenResponsibleGamingButtonSBGIconClassName = \"sweden-responsible-gaming-button-svg-icon\";\r\n\r\nexport const SwedenResponsibleGamingButtonBaseBox = styled.button<{useIconsOnly: boolean}>`\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n cursor: pointer;\r\n &:hover {\r\n opacity: 0.5;\r\n }\r\n \r\n .${SwedenResponsibleGamingButtonSBGIconClassName} {\r\n width: 100%;\r\n height: auto;\r\n }\r\n \r\n ${props => props.useIconsOnly\r\n ? css`\r\n width: 25px;\r\n height: 24px;\r\n `\r\n : css`\r\n width: 100px;\r\n height: 30px;\r\n `\r\n }\r\n`","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenSelfExclusionButtonBoxProps{\r\n isShownInHeader:boolean;\r\n useIconsOnly: boolean;\r\n}\r\n\r\nexport const SwedenSelfExclusionButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)`\r\n ${props => props.isShownInHeader ? css`\r\n width: 8.5rem;\r\n height: 2.5rem;\r\n `: null}\r\n \r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenSelfExclusionButtonBox} from \"./boxes/sweden.self-exclusion-button.box\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenPanicButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\n\r\nexport const SwedenSelfExclusionButtonComponent = observer(\r\n class SwedenSelfExclusionButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_panic_click');\r\n\r\n await this.services.linksNavigation.openSelfExclusion();\r\n };\r\n\r\n render() {\r\n const SelfExclusionIcon = this.services.theme.currentTheme.icons.selfExclusionRegulationIcon;\r\n const SelfExclusionSymbolIcon = this.services.theme.currentTheme.icons.selfExclusionRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n }}\r\n);","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\nexport const SwedenGamingLimitsButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)<{useIconsOnly: boolean, isShownInHeader: boolean}>`\r\n ${props => props.useIconsOnly\r\n ? css`\r\n width: 26px;\r\n height: 22px;\r\n `\r\n : css`\r\n width: 120px;\r\n `\r\n }\r\n \r\n ${props => props.isShownInHeader ? css`\r\n width: 10rem;\r\n height: 2.5rem;\r\n `: null}\r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenGamingLimitsButtonBox} from \"./boxes/sweden.gaming-limits-button.box\";\r\nimport {CHANNEL_ELEMENTS} from \"../../../../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenGamingLimitsButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\n\r\nexport const SwedenGamingLimitsButtonComponent = observer(\r\n class SwedenGamingLimitsButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_deposit_limits_click');\r\n\r\n await this.services.externalLinks.openGameLimits({\r\n channelArea:AreaType.button,\r\n channelElement:CHANNEL_ELEMENTS.gamesLimitsGameButton,\r\n source: ControlCenterOpenSource.RgPolicy\r\n });\r\n }\r\n\r\n render() {\r\n const GamingLimitIcon = this.services.theme.currentTheme.icons.gamingLimitRegulationIcon;\r\n const GamingLimitSymbolIcon = this.services.theme.currentTheme.icons.gamingLimitRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n\r\n }\r\n }\r\n);","import styled, {css} from \"styled-components\";\r\nimport {SwedenResponsibleGamingButtonBaseBox} from \"../../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\nexport const SwedenSelfTestButtonBox = styled(SwedenResponsibleGamingButtonBaseBox)<{useIconsOnly: boolean, isShownInHeader: boolean}>`\r\n ${props => props.isShownInHeader ? css`\r\n width: 8.5rem;\r\n height: 2.5rem;\r\n `: null}\r\n`;","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {CyClass} from \"../../../../../../../common/cy-classes\";\r\nimport {SwedenSelfTestButtonBox} from \"./boxes/sweden.self-test-button.box\";\r\nimport {SwedenResponsibleGamingButtonSBGIconClassName} from \"../boxes/sweden.responsible-gaming-button-base.box\";\r\n\r\ninterface SwedenSelfTestButtonComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader: boolean;\r\n}\r\nexport const SwedenSelfTestButtonComponent = observer(\r\n class SwedenSelfTestButtonComponent extends OrbitComponent {\r\n private _onClickHandler = async () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\",\"Header\", 'Icon_self_test_click');\r\n this.services.analytics.sendElasticInfoEvent({\r\n eventType: 'sweden_self_test',\r\n category: 'Navigation',\r\n action: 'Header',\r\n label: 'Icon_self_test_click'\r\n },true);\r\n\r\n await this.services.linksNavigation.openSelfTest();\r\n }\r\n\r\n render() {\r\n const SelfTestIcon = this.services.theme.currentTheme.icons.selfTestRegulationIcon;\r\n const SelfTestSymbolIcon = this.services.theme.currentTheme.icons.selfTestRegulationSymbolIcon;\r\n\r\n return (\r\n \r\n {this.props.useIconsOnly ? \r\n : }\r\n )\r\n\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {SwedenResponsibleGamingButtonsBox} from \"./boxes/sweden.responsible-gaming-buttons.box\";\r\nimport {SwedenSelfExclusionButtonComponent} from \"./self-exclusion-button/sweden.self-exclusion-button.component\";\r\nimport {SwedenGamingLimitsButtonComponent} from \"./gaming-limits/sweden.gaming-limits-button.component\";\r\nimport {SwedenSelfTestButtonComponent} from \"./self-test-button/sweden.self-test-button.component\";\r\nimport {\r\n BlankHorizontalSeparatorBox\r\n} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\n\r\ninterface SwedenResponsibleGamingButtonsComponentProps {\r\n useIconsOnly: boolean;\r\n isShownInHeader?: boolean;\r\n}\r\nexport const SwedenResponsibleGamingButtonsComponent = observer(\r\n class SwedenResponsibleGamingButtonsComponent extends OrbitComponent {\r\n render() {\r\n let spaceMultiplier;\r\n if(this.props.useIconsOnly) {\r\n spaceMultiplier = 2;\r\n } else if(this.props.isShownInHeader){\r\n spaceMultiplier = 0.5;\r\n } else {\r\n spaceMultiplier = 1;\r\n }\r\n\r\n\r\n const isShownInHeader = this.props.isShownInHeader ?? false;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {GenericSideMenuItemBox} from \"../generic/generic-side-menu-item.box\";\r\n\r\nexport const DepositSideMenuItemDefaultBox = styled(GenericSideMenuItemBox)`\r\n padding: 1.6rem 1rem;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {DepositSideMenuItemDefaultBox} from \"./deposit-side-menu-item.default.box\";\r\n\r\n\r\nexport const DepositSideMenuItemCasino777Box = styled(DepositSideMenuItemDefaultBox)`\r\n color: ${props => props.theme.colors.moneyColor};\r\n`;\r\n","import { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {DepositSideMenuItemCasino777Box} from \"./deposit-side-menu-item.casino777.box\";\r\nimport {DepositSideMenuItemDefaultBox} from \"./deposit-side-menu-item.default.box\";\r\n\r\n\r\n\r\nexport const DepositSideMenuItemBox = styledByTheme(DepositSideMenuItemDefaultBox)\r\n .forCasino777(DepositSideMenuItemCasino777Box)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst GenericSideMenuItemIconCommonBox = styled.div<{active?: boolean}>`\r\n box-sizing: border-box;\r\n margin: 0 1rem 0 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0 2rem 0 0;\r\n }\r\n\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n padding: 0.2rem;\r\n transition: color 0.2s ease, background-color 0.2s ease, border-bottom 0.2s ease;\r\n`;\r\n\r\nconst GenericSideMenuItemIconDefaultBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.backgroundDark};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconHarrahsBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.brandSecondary};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconWsopBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n color: ${(props) => props.theme.colors.backgroundDark};\r\n ` : null}\r\n border-radius: 50%;\r\n`;\r\n\r\nconst GenericSideMenuItemIconSIBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n color: ${(props) => props.theme.colors.textLight};\r\n ` : null}\r\n`;\r\n\r\nconst GenericSideMenuItemIconMrGreenBox = styled(GenericSideMenuItemIconCommonBox)`\r\n ${(props) => props.active ? css`\r\n color: ${(props) => props.theme.colors.textActive};\r\n background-color: transparent;\r\n ` : null}\r\n`;\r\n\r\n\r\nexport const GenericSideMenuItemIconBox = styledByTheme(GenericSideMenuItemIconDefaultBox)\r\n .forCasino777(GenericSideMenuItemIconCommonBox)\r\n .forHarrahs(GenericSideMenuItemIconHarrahsBox)\r\n .forWsop(GenericSideMenuItemIconWsopBox)\r\n .forBallysDover(GenericSideMenuItemIconWsopBox)\r\n .forSI(GenericSideMenuItemIconSIBox)\r\n .forMrGreen(GenericSideMenuItemIconMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuItemLabelBox = styled.span`\r\n flex: 1 0 auto;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const GenericSideMenuItemDefaultBox = styled.div<{active?: boolean}>`\r\n display: flex;\r\n align-items: center;\r\n padding: 0.8rem 0;\r\n font-size: 1.3rem;\r\n line-height: 1;\r\n background-color: ${({theme, active}) => active ? theme.colors.backgroundActive : theme.colors.background};\r\n color: ${({theme, active}) => active ? theme.colors.textActive: theme.colors.text};\r\n transition: color 0.2s ease;\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 0.25rem 0;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.regular};\r\n padding: 1rem 0;\r\n color: ${({theme, active}) => active ? theme.colors.textActive: theme.colors.textLight};\r\n font-size: 1.6rem;\r\n font-weight: 300;\r\n }\r\n &:hover {\r\n color: ${({theme}) => theme.colors.textHover};\r\n background-color: ${({theme}) => theme.colors.backgroundHover};\r\n }\r\n`;\r\n\r\nconst GenericSideMenuItemCasino777Box = styled(GenericSideMenuItemDefaultBox)`\r\n padding: 0.8rem 0.2rem;\r\n font-size: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding: 1rem;\r\n font-weight: 400;\r\n ${({theme}) => theme.font.presets.body};\r\n }\r\n\r\n`;\r\n\r\nconst GenericSideMenuItemHarrahsWsopBox = styled(GenericSideMenuItemDefaultBox)`\r\n ${({theme}) => theme.font.presets.regular};\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 0.5rem 0;\r\n }\r\n`;\r\n\r\nconst GenericSideMenuItemSIBox = styled(GenericSideMenuItemDefaultBox)`\r\n &:hover {\r\n background-color: ${({theme}) => theme.colors.background};\r\n };\r\n background-color: ${({theme}) => theme.colors.background};\r\n`;\r\n\r\nconst GenericSideMenuItemMrGreenBox = styled(GenericSideMenuItemDefaultBox)`\r\n &:hover {\r\n background-color: transparent;\r\n };\r\n background-color: transparent;\r\n`;\r\n\r\nexport const GenericSideMenuItemBox = styledByTheme(GenericSideMenuItemDefaultBox)\r\n .forCasino777(GenericSideMenuItemCasino777Box)\r\n .forHarrahs(GenericSideMenuItemHarrahsWsopBox)\r\n .forWsop(GenericSideMenuItemHarrahsWsopBox)\r\n .forSI(GenericSideMenuItemSIBox)\r\n .forMrGreen(GenericSideMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst ArrowSideMenuLinkDefaultIcon = styled.div<{active?: boolean}>`\r\n display: block;\r\n width: 2rem;\r\n height: 2rem;\r\n background-image: url(${({theme}) => theme.images.spriteSheet.toString()});\r\n background-repeat: no-repeat;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n\r\n background-position: -762px -651px;\r\n`;\r\n\r\nconst ArrowSideMenuLinkCasino777Icon = styled(ArrowSideMenuLinkDefaultIcon)`\r\n background-position: -611px -491px;\r\n`;\r\n\r\nexport const ArrowSideMenuLinkIcon = styledByTheme(ArrowSideMenuLinkDefaultIcon)\r\n .forCasino777(ArrowSideMenuLinkCasino777Icon)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst SideMenuItemContainerDefaultBox = styled.li`\r\n position: relative;\r\n display: block;\r\n margin: 0 1rem;\r\n border-top: none;\r\n border-bottom: 1px solid ${({theme}) => theme.colors.boxBorderDark};;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerCasino777Box = styled(SideMenuItemContainerDefaultBox)`\r\n margin: 0.4rem 1rem;\r\n border: none;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 1rem 1rem;\r\n }\r\n &:first-child {\r\n border-top: none;\r\n }\r\n`;\r\n\r\nconst SideMenuItemContainerMrGreenBox = styled(SideMenuItemContainerDefaultBox)`\r\n border-bottom: none;\r\n`;\r\n\r\nexport const SideMenuItemContainerBox = styledByTheme(SideMenuItemContainerDefaultBox)\r\n .forCasino777(SideMenuItemContainerCasino777Box)\r\n .forMrGreen(SideMenuItemContainerMrGreenBox)\r\n .apply();\r\n","import React, {PropsWithChildren} from \"react\";\r\nimport { observer } from \"mobx-react\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { SideMenuItemContainerBox } from \"./boxes/side-menu-item-container.box\";\r\nimport { CyClass } from \"../../../../common/cy-classes\";\r\nimport classNames from 'classnames';\r\n\r\n\r\ninterface SideMenuItemContainerComponentProps extends PropsWithChildren {\r\n className?: string;\r\n onClick?: () => void;\r\n}\r\n\r\n\r\n@observer\r\nexport class SideMenuItemContainerComponent extends OrbitComponent {\r\n render() {\r\n\r\n return \r\n { this.props.children }\r\n ;\r\n }\r\n}\r\n","import {GameImageDefaultBox} from './game-image.default.box';\r\n\r\nexport const GameImageBox = GameImageDefaultBox;","import styled, { css } from 'styled-components';\r\nimport { GAME_BOX_JACKPOT_TEMPLATE } from '../../../css-constants';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const commonGameImageCssMixin = css`\r\n position: absolute;\r\n width: 100%;\r\n\r\n .${GAME_BOX_JACKPOT_TEMPLATE} & {\r\n max-width: 20rem;\r\n }\r\n`;\r\n\r\nexport const GameImageDefaultBox = styled(Image)<{hide?: boolean; squareIcon?: boolean;}>`\r\n opacity: ${({hide}) => hide ? 0: 1};\r\n ${commonGameImageCssMixin}\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Normally, the radius is taken care in game-image-container.default.box, but for Safari, where we encountered the bug solved above\r\n * the image is rendered in a separate layer and ignores the border radius of the parent\r\n */\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n @media ${props.theme.mediaQuery.lAndBelow} {\r\n border-radius: 8px;\r\n }\r\n `};\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n`;\r\n","import {GameImageAnimatedDefaultBox} from './game-image-animated.default.box';\r\n\r\nexport const GameImageAnimatedBox = GameImageAnimatedDefaultBox;","import styled from 'styled-components';\r\nimport { commonGameImageCssMixin } from '../game-image/game-image.default.box';\r\n\r\nconst DefaultBox = styled.div`\r\n ${commonGameImageCssMixin};\r\n height: 100%;\r\n`;\r\n\r\nexport const GameImageAnimatedDefaultBox = DefaultBox;","import React from 'react';\r\nimport { OrbitComponent } from '../../../../base-components/orbit-component/orbit-component';\r\nimport { GameImageAnimatedBox } from '../../boxes/game-image/game-image-animated.box';\r\nimport { IGameAnimatedIconRegistrationResult } from '../../../../../services/game-animated-icons-manager/game-animated-icons-manager.service.interface';\r\n\r\ninterface IGameImageComponentProps {\r\n animationJsonUrl: string;\r\n animationTiming: {\r\n delay: number;\r\n interval: number;\r\n }\r\n width: number;\r\n height: number;\r\n useSquareIcons?: boolean;\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(): void;\r\n}\r\n\r\nexport class GameImageAnimatedComponent extends OrbitComponent {\r\n private animatedImageWrapper: HTMLElement | null = null;\r\n private pixiAnimationRegistration: IGameAnimatedIconRegistrationResult | null = null;\r\n\r\n private _captureAnimatedImageElementRef = (element: HTMLElement) => {\r\n this.animatedImageWrapper = element;\r\n // cancelAnimationRequest\r\n if (this.pixiAnimationRegistration) {\r\n this.pixiAnimationRegistration.unregister();\r\n this.pixiAnimationRegistration = null;\r\n }\r\n if (element) {\r\n // requestAnimation\r\n this.loadPixiAnimatedIcon();\r\n }\r\n this.animatedImageWrapper = element;\r\n };\r\n\r\n private async loadPixiAnimatedIcon() {\r\n this.pixiAnimationRegistration = this.services.gameAnimatedIconsManager.register({\r\n jsonUrl: this.props.animationJsonUrl,\r\n size: {\r\n width: this.props.width, height: this.props.height\r\n },\r\n wrapper: this.animatedImageWrapper,\r\n timings: this.props.animationTiming,\r\n onAnimationLoad: this.props.onAnimationLoad,\r\n onAnimationWillUnload: this.props.onAnimationWillUnload\r\n });\r\n }\r\n\r\n render() {\r\n return \r\n }\r\n}\r\n","import React from 'react';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {GameImageBox} from '../../boxes/game-image/game-image.box';\r\nimport {GameImageAnimatedComponent} from './game-image-animated.component';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\n\r\nexport type GameIconAnimationState = \"ab-disabled\" | \"unavailable\" | \"static\" | \"animated\";\r\n\r\nexport interface GameIconComponentProps {\r\n gameInfo: GameInfo;\r\n useSquareIcons?: boolean;\r\n useLazyLoading?: boolean;\r\n onLoad?(): void;\r\n onLoadStart?(): void;\r\n onSettled?(): void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n}\r\n\r\nexport interface GameIconComponentState {\r\n loadingAnimation?: boolean;\r\n animationJsonUrl?: string;\r\n hideStaticImage?: boolean;\r\n}\r\n\r\nexport const GameImageComponent = observer(\r\n class GameImageComponent extends OrbitComponentWithState {\r\n constructor(props: GameIconComponentProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(!this.state.animationJsonUrl ? \"unavailable\" : \"static\");\r\n }\r\n }\r\n\r\n private _loadAnimatedIconTimeout = null;\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(this._loadAnimatedIconTimeout) {\r\n clearTimeout(this._loadAnimatedIconTimeout);\r\n this._loadAnimatedIconTimeout = null;\r\n }\r\n }\r\n private onSettled = () => {\r\n this.setState({loadingAnimation: false});\r\n if (this.props.onSettled) {\r\n this.props.onSettled();\r\n }\r\n this.attemptLoadAnimatedIcon();\r\n };\r\n\r\n private attemptLoadAnimatedIcon = () => {\r\n this._loadAnimatedIconTimeout = setTimeout(() => {\r\n let data = this.props.gameInfo.getGameImage({squareIcon: this._shouldUseSquareIcons(), animatedIcon: true});\r\n if (data) {\r\n this.setState({animationJsonUrl: data});\r\n }\r\n this._loadAnimatedIconTimeout = null;\r\n }, this.props.gameInfo.getAnimatedImageTimings().delay || 0);\r\n };\r\n\r\n private onAnimationLoad = () => {\r\n this.setState({hideStaticImage: true});\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(\"animated\");\r\n }\r\n };\r\n\r\n private onAnimationWillUnload = () => {\r\n this.setState({hideStaticImage: false});\r\n if (this.props.onAnimationIconStateChange) {\r\n this.props.onAnimationIconStateChange(\"static\");\r\n }\r\n };\r\n\r\n private _shouldUseSquareIcons = () => {\r\n if (Check.isNullOrUndefined(this.props.useSquareIcons)) {\r\n return this.services.theme.shouldUseSquareIcons;\r\n }\r\n return this.props.useSquareIcons;\r\n }\r\n\r\n render() {\r\n const seoAlt = this.props.gameInfo.getImageSeoAlt();\r\n const imgUrl = this.props.gameInfo.getGameImage({squareIcon: this._shouldUseSquareIcons()});\r\n const useLazyLoad = Check.isNullOrUndefined(this.props.useLazyLoading) ? true : this.props.useLazyLoading;\r\n\r\n return \r\n { this.state.animationJsonUrl ? : null }\r\n {\r\n this.setState({loadingAnimation: true});\r\n }}\r\n onLoad={this.props.onLoad}\r\n onSettled={this.onSettled}\r\n />\r\n ;\r\n }\r\n }\r\n);\r\n","export const GAME_BOX = 'game-box';\r\nexport const GAME_BOX_JACKPOT_TEMPLATE = 'game-box-jackpot-template';\r\nexport const TWO_LINES_TITLE = 'two-lines-title';\r\nexport const GAME_GROUP_LIVE_CASINO = 'game-group-live-casino';\r\nexport const ENABLE_HOVER_ANIMATION = 'enable-hover-animation';\r\nexport const SWIPER_MODE = 'swiper-mode'; //.orbit-slider-slide\r\nexport const GAME_IMAGE_CONTAINER = 'game-image-container';\r\nexport const GRID_GAMES_LIST = 'grid-games-list'; //TODO - I should do something with this when I will refactor games grid list\r\nexport const SINGLE_GAME_IMAGE = 'single-game-image';\r\n","import styled from \"styled-components\";\r\nimport {GAMING_HISTORY_PAGE, NEW_LIVE_CASINO_PAGE, TIPPING_HISTORY_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n transition: all 0.03s ease-in-out;\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(204 / 1712 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} &, .${GAMING_HISTORY_PAGE} &, .${TIPPING_HISTORY_PAGE} &{\r\n padding-bottom: calc(122 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n .${GAMING_HISTORY_PAGE} &, .${TIPPING_HISTORY_PAGE} &{\r\n padding-bottom: calc(77 / 600 * 100%);\r\n }\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(77 / 414 * 100%);\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBanner777Box = styled.div`\r\n position: relative;\r\n width: 100%;\r\n padding-bottom: calc(250 / 1750 * 100%);\r\n \r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1690 * 100%);\r\n }\r\n \r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-bottom: calc(215 / 1024 * 100%);\r\n \r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(155 / 414 * 100%);\r\n \r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(77 / 375 * 100%);\r\n }\r\n }\r\n \r\n`;","import styled from \"styled-components\";\r\nimport { TopBannerDefaultBox } from './top-banner.default.box'\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerSIBox = styled(TopBannerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n padding-bottom: calc(100 / 414 * 100%);\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(100 / 414 * 100%);\r\n }\r\n }\r\n\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n`;","import styled from \"styled-components\";\r\nimport {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const TopBannerMrGreenBox = styled(TopBannerDefaultBox)`\r\n\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(200 / 1750 * 100%);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n .${NEW_LIVE_CASINO_PAGE} &{\r\n padding-bottom: calc(165 / 1024 * 100%);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n padding-bottom: calc(105 / 414 * 100%);\r\n }\r\n }\r\n`;","import {TopBannerDefaultBox} from \"./top-banner.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBanner777Box} from \"./top-banner.777.box\";\r\nimport {TopBannerSIBox} from \"./top-banner.si.box\";\r\nimport {TopBannerMrGreenBox} from \"./top-banner.mrgreen.box\";\r\n\r\nexport const TopBannerBox = styledByTheme(TopBannerDefaultBox)\r\n .forCasino777(TopBanner777Box)\r\n .forSI(TopBannerSIBox)\r\n .forMrGreen(TopBannerMrGreenBox)\r\n .apply();","import {TopBannerImageDefaultBox} from \"./top-banner-image.default.box\";\r\n\r\nexport const TopBannerImageBox = TopBannerImageDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../raw-components/image/image\";\r\n\r\nexport const TopBannerImageDefaultBox = styled(Image)`\r\n position: absolute;\r\n width: 100%;\r\n height: auto;\r\n bottom: 0;\r\n`;","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\nimport {NEW_LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport { Image } from \"../../../raw-components/image/image\";\r\n\r\nconst PCBox = styled(Image)``;\r\n\r\nconst MobileBox = styled(Image)`\r\n .${NEW_LIVE_CASINO_PAGE} & {\r\n max-height: 40px;\r\n }\r\n`;\r\n\r\nexport const TopBannerLogoImageDefaultBox = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerLogoImageDefaultBox} from \"./top-banner-logo-image.default.box\";\r\n\r\nexport const TopBannerLogoImageCasino777Box = styled(TopBannerLogoImageDefaultBox)`\r\n .${LIVE_CASINO_PAGE} &{\r\n display:none;\r\n }\r\n`;","import {TopBannerLogoImageDefaultBox} from \"./top-banner-logo-image.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerLogoImageCasino777Box} from \"./top-banner-logo-image.casino777.box\";\r\n\r\nexport const TopBannerLogoImageBox = styledByTheme(TopBannerLogoImageDefaultBox).forCasino777(TopBannerLogoImageCasino777Box).apply() ;\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\nconst DefaultBox = styled.h1`\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n`;\r\n\r\nconst PCBox = styled(DefaultBox)`\r\n font-size: 2rem;\r\n text-transform: capitalize;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n font-size: 1.8rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n\r\nexport const TopBannerTitleDefaultBox = styledByDevice(PCBox, MobileBox);","import styled from \"styled-components\";\r\nimport {LIVE_CASINO_PAGE} from \"../../../../themes/css-global-classes\";\r\nimport {TopBannerTitleDefaultBox} from \"./top-banner-title.default.box\";\r\n\r\nexport const TopBannerTitleCasino777Box = styled(TopBannerTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.bold};\r\n .${LIVE_CASINO_PAGE} &{\r\n display:none;\r\n }\r\n`;\r\n","import {TopBannerTitleDefaultBox} from \"./top-banner-title.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerTitleCasino777Box} from \"./top-banner-title.casino777.box\";\r\n\r\nexport const TopBannerTitleBox = styledByTheme(TopBannerTitleDefaultBox).forCasino777(TopBannerTitleCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const TopBannerLiveLogoDefaultBox = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n justify-content: center;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {TopBannerLiveLogoDefaultBox} from \"./top-banner-live-logo.default.box\";\r\n\r\nexport const TopBannerLiveLogoCasino777Box = styled(TopBannerLiveLogoDefaultBox)`\r\n`;","import {TopBannerLiveLogoDefaultBox} from \"./top-banner-live-logo.default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {TopBannerLiveLogoCasino777Box} from \"./top-banner-live-logo.casino777.box\";\r\n\r\nexport const TopBannerLiveLogoBox = styledByTheme(TopBannerLiveLogoDefaultBox).forCasino777(TopBannerLiveLogoCasino777Box).apply();","import {reaction} from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport React from \"react\";\r\nimport {PixiSpineAnimation} from \"../../services/pixi-app/pixi-spine-animation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\n\r\n\r\nexport interface AnimatedTopImageComponentProps {\r\n image: string;\r\n}\r\n@observer\r\nexport class AnimatedTopImageComponent extends OrbitComponent {\r\n private _animationElement: HTMLDivElement | null = null;\r\n private _reactionDisposer = null;\r\n private _bannerPixiAnimation: PixiSpineAnimation = null;\r\n\r\n componentDidMount(): void {\r\n this._startAnimation();\r\n this._reactionDisposer = reaction(() =>\r\n [\r\n this.services.mediaQuery.lAndBelow,\r\n this.services.mediaQuery.sAndBelow\r\n ],\r\n (data) => {\r\n this._stopAnimation();\r\n this._startAnimation();\r\n })\r\n }\r\n\r\n\r\n componentWillUnmount(): void {\r\n this._stopAnimation();\r\n this._reactionDisposer();\r\n }\r\n\r\n private _createAnimation() {\r\n let defautSkinConfiguration = {\r\n width: 1750,\r\n height: 200,\r\n name: \"desktop\",\r\n scale: 1\r\n }\r\n\r\n if (this.services.mediaQuery.lAndBelow) {\r\n defautSkinConfiguration.width = 1024;\r\n defautSkinConfiguration.height = 165;\r\n defautSkinConfiguration.name = \"tablet\";\r\n defautSkinConfiguration.scale = 1;\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n defautSkinConfiguration.width = 414;\r\n defautSkinConfiguration.height = 105;\r\n defautSkinConfiguration.name = \"mobile\";\r\n defautSkinConfiguration.scale = 0.6;\r\n }\r\n return new PixiSpineAnimation(\r\n this.services,\r\n {\r\n width: defautSkinConfiguration.width, height: defautSkinConfiguration.height, force2DCanvasContext: true\r\n },\r\n [{name: 'slotsAnimatedBannerResource', jsonUrl: this.props.image}],\r\n {\r\n render: ({pixiApp, spineAnimations}) => {\r\n let spineAnimation = spineAnimations.slotsAnimatedBannerResource;\r\n spineAnimation.skeleton.setSkinByName(defautSkinConfiguration.name);\r\n spineAnimation.skeleton.setSlotsToSetupPose();\r\n\r\n // set the position and scale\r\n spineAnimation.x = pixiApp.screen.width / 2;\r\n spineAnimation.y = pixiApp.screen.height / 2;\r\n spineAnimation.scale.set(defautSkinConfiguration.scale);\r\n\r\n const runAnimation = () => {\r\n spineAnimation.state.setAnimation(0, \"intro\", false);\r\n spineAnimation.state.addAnimation(0, \"loop\", true, 0);\r\n }\r\n\r\n runAnimation();\r\n }\r\n },\r\n {\r\n width: \"100%\"\r\n }\r\n );\r\n }\r\n\r\n private async _startAnimation() {\r\n this._bannerPixiAnimation = this._createAnimation();\r\n this._bannerPixiAnimation.start();\r\n this._bannerPixiAnimation.attachToDOM(this._animationElement);\r\n }\r\n\r\n private _stopAnimation() {\r\n this._bannerPixiAnimation.dispose();\r\n }\r\n\r\n private captureAnimationDivElement = (el: HTMLDivElement | null) => {\r\n this._animationElement = el;\r\n }\r\n\r\n render() {\r\n return (<>\r\n
\r\n
\r\n {/* when rendering the animated banner, on mobile, because of the canvas we cannot scroll the page when holding from the canvas element.\r\n So we put this div in front of it so when we touch the screen, the target element is the div not the canvas */}\r\n
\r\n );\r\n }\r\n}","import React, {RefObject} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {TopBannerBox} from \"./boxes/top-banner/top-banner.box\";\r\nimport {TopBannerImageBox} from \"./boxes/top-banner-image/top-banner-image.box\";\r\nimport {TopBannerLogoImageBox} from \"./boxes/top-banner-logo-image/top-banner-logo-image.box\";\r\nimport {TopBannerTitleBox} from \"./boxes/top-banner-title/top-banner-title.box\";\r\nimport {TopBannerLiveLogoBox} from \"./boxes/top-banner-live-logo/top-banner-live-logo.box\";\r\nimport {ThemeProvider} from \"styled-components\";\r\nimport {AnimatedTopImageComponent} from '../animated-top-image/animated-top-image.component';\r\n\r\nexport interface TopImageComponentProps {\r\n image: string;\r\n animatedBanner?: string;\r\n title?: string;\r\n altText?: string;\r\n className?: string;\r\n topImageRef?: RefObject;\r\n}\r\n\r\nexport const TopImageComponent = observer(class TopImageComponent extends OrbitComponent {\r\n\r\n private _renderLogoAndTitle() {\r\n if(this.props.title) {\r\n const srcLogo = this.services.device.isMobile\r\n ? this.services.theme.currentTheme.images.liveArena.casinoLiveLogoMobile.toString()\r\n : this.services.theme.currentTheme.images.liveArena.casinoLiveLogoPC.toString();\r\n return (\r\n \r\n \r\n {this.services.translation.translate(this.props.title)}\r\n \r\n )\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n\r\n if (!this.props.image) {\r\n return null;\r\n }\r\n\r\n // TODO: maybe get also an image placeholder to enable lazy loading\r\n return (\r\n \r\n \r\n {this.props.animatedBanner ?\r\n \r\n :\r\n }\r\n {this._renderLogoAndTitle()}\r\n \r\n \r\n )\r\n\r\n }\r\n});\r\n","import styled from 'styled-components';\r\n\r\nexport const UsefulLinksListDefaultBox = styled.ul`\r\n background-color: ${props => props.theme.colors.background};\r\n list-style-type: none;\r\n text-align: left;\r\n margin: -2px 0;\r\n padding: 0;\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-left: auto;\r\n margin-right: 25px;\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 {props.menuItem.sideText && ({props.menuItem.sideText})}\r\n \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\n\r\nexport interface UsefulLinksListComponentProps {\r\n onItemClick?: () => void;\r\n}\r\n\r\nexport const UsefulLinksListComponent = observer(\r\n class UsefulLinksListComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n {this.services.userMenu.usefulLinksMenuItems.map((menuItem, index) => menuItem.renderMenuItem({onBeforeClick: this.props.onItemClick, showSeparator: !!index}) )}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {baseColors} from \"../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nconst UserMenuSeparatorDefaultBox = styled.div`\r\n box-sizing: content-box;\r\n height: 1px;\r\n background-color: ${({theme}) => theme.colors.backgroundDark};\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n margin-bottom: 1px;\r\n`;\r\n\r\nconst UserMenuSeparatorCasino777Box = styled(UserMenuSeparatorDefaultBox)`\r\n box-shadow: 0px 0.25px 0px 0px ${({theme}) => theme.colors.boxBorderContrast};\r\n`;\r\n\r\nconst UserMenuSeparatorMrGreenBox = styled(UserMenuSeparatorDefaultBox)`\r\n background-color: ${baseColors.gray233};\r\n opacity: 0.2;\r\n`;\r\n\r\nconst UserMenuSeparatorSIBox = styled(UserMenuSeparatorDefaultBox)`\r\n box-shadow: 0px 0.35px 0px 0px ${({theme}) => theme.colors.boxBorderLighter};\r\n`;\r\n\r\nexport const UserMenuSeparatorBox = styledByTheme(UserMenuSeparatorDefaultBox)\r\n .forCasino777(UserMenuSeparatorCasino777Box)\r\n .forMrGreen(UserMenuSeparatorMrGreenBox)\r\n .forSI(UserMenuSeparatorSIBox)\r\n .apply()","import {IServiceFactory} from \"../services/service-factory.interface\";\r\nimport {useContext} from \"react\";\r\nimport {OrbitContext} from \"../orbit-context\";\r\n\r\nexport function useServices(): IServiceFactory {\r\n return useContext(OrbitContext).services;\r\n}","import {IServiceFactoryExtended} from './service-factory-extended.interface';\r\nimport {IReactionOptions} from \"mobx\";\r\nimport {reaction as mobxReaction, IReactionDisposer, IReactionPublic} from 'mobx'\r\n\r\nexport class ServiceBase {\r\n constructor(private _serviceFactory: IServiceFactoryExtended) {\r\n }\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this._serviceFactory;\r\n }\r\n\r\n private _reactions: IReactionDisposer[] = [];\r\n\r\n private _getClassName(): string {\r\n const thisProto = Object.getPrototypeOf(this);\r\n if(thisProto.constructor.name) {\r\n return thisProto.constructor.name;\r\n } else {\r\n return thisProto.constructor.CLASS;\r\n }\r\n }\r\n\r\n reaction(expression: (r: IReactionPublic) => T, effect: (arg: T, prev: FireImmediately extends true ? T | undefined : T, r: IReactionPublic) => void, opts?: IReactionOptions): void {\r\n this._reactions.push(mobxReaction(expression, effect, opts));\r\n }\r\n\r\n protected getABFeatureData(): any{\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n return this.services.sdk.getAbTestingDataForFeature(this._getClassName());\r\n }\r\n\r\n\r\n dispose() {\r\n this._reactions.forEach(disposer => disposer());\r\n }\r\n}\r\n","import {IElasticEventData, IStructuredLogger} from '../../../common/interfaces/structured-logging-service-interface';\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\n\r\nexport enum OrbitUserFlowAnalyticsCategory {\r\n Navigation = 'Navigation',\r\n PWA = 'PWA',\r\n Search = 'Search',\r\n}\r\n\r\nexport enum OrbitUserFlowAnalyticsLabel {\r\n AppHeader = \"AppHeader\",\r\n NavigationMenu = 'NavMenu',\r\n UserArea = 'UserArea',\r\n BottomNavigationBar = 'BottomNavBar',\r\n ShowMore = 'Show_More'\r\n}\r\n\r\nexport type OrbitUserFlowAnalyticsAction = MenuItemKey\r\n | string\r\n | 'myAccountButton' | 'withdrawButton' | 'depositButton'\r\n | 'Entry';\r\n\r\nexport enum OrbitMarketingEventAnalyticsCategory {\r\n Conversion = 'Conversion',\r\n Communications = 'Communications',\r\n}\r\n\r\nexport enum OrbitMarketingEventAnalyticsLabel {\r\n PreGamePopUp = 'PreGamePopUp',\r\n DemoRegPopup = 'DemoRegPopup',\r\n VideoPlayback = 'VIDEO_PLAYBACK',\r\n Error = 'ERROR',\r\n Click = 'CLICK',\r\n}\r\n\r\nexport type OrbitMarketingEventAnalyticsAction = MenuItemKey\r\n | string\r\n | 'Play' | 'Show'\r\n | 'IN_VIEW' | 'LIMIT_REACH' | 'AUTOPLAY' | 'PLAY' | 'PLAY_GAME' | 'SOUND_CLICK'\r\n | 'Open_Floating_Button' | 'Close_Floating_Button' | 'View_Floating_Button';\r\n\r\nexport enum OrbitAIFeatureAnalyticsCategory {\r\n AIArenaIconsDisplayed = 'AI_ArenaIconsDisplayed',\r\n CorrelatedGamePopUp = 'CorrelatedGamePopUp'\r\n}\r\n\r\nexport type OrbitAIFeatureAnalyticsAction = MenuItemKey\r\n | string\r\n | 'Game_Unavailable'\r\n\r\n\r\nexport interface ISendElasticEventOptions {\r\n eventType: string;\r\n category: string;\r\n action: string;\r\n label?: string;\r\n value?: string;\r\n customData?: object;\r\n appID?: string;\r\n}\r\n\r\nexport interface IAnalyticsService {\r\n sendAnalytics(category: string, action?: string, label?: string, value?: any, omitStructuredLogger?: boolean): void;\r\n sendTechnicalEvent(action: string, label?: string, value?: any): void;\r\n sendElasticInfoEvent(options: ISendElasticEventOptions, sendToDWH?: boolean): void;\r\n sendOrbitUserFlowEvent(category: string | OrbitUserFlowAnalyticsCategory, action: OrbitUserFlowAnalyticsAction, label?: string | OrbitUserFlowAnalyticsLabel, value?: any): void;\r\n sendOrbitMarketingEvent(category: string | OrbitMarketingEventAnalyticsCategory, action: OrbitMarketingEventAnalyticsAction, label?: string | OrbitMarketingEventAnalyticsLabel, value?: any): void;\r\n sendOrbitAIFeatureEvent(category: string | OrbitAIFeatureAnalyticsCategory, action: OrbitAIFeatureAnalyticsAction, label?: string, value?: any): void;\r\n getLogger(eventData?: IElasticEventData): IStructuredLogger;\r\n getGoogleClientID(): string;\r\n}\r\n\r\n\r\n\r\n","export const LIVE_CASINO_ARENA_NAME = 'liveCasino';\r\nexport const NEW_LIVE_CASINO_ARENA_NAME = 'newLiveCasino';\r\nexport const NEW_LIVE_CASINO_AB_ARENA_NAME = 'newLiveCasinoAB';\r\nexport const CIP_ALL_GAMES_ARENA_NAME = 'cipAllGames';\r\nexport const SLOTS_ARENA_NAME = 'slots';\r\nexport const CASINO_GAMES_ARENA_NAME = 'casinoGames';\r\nexport const JACKPOTS_ARENA_NAME = 'jackpots';\r\nexport const EXCLUSIVE_ARENA_NAME = 'exclusive888Games';\r\nexport const SCRATCH_CARDS_ARENA_NAME = 'scratchCards';\r\nexport const VIDEO_POKER_ARENA_NAME = 'videoPoker';\r\nexport const INSTANT_WIN_GAMES_ARENA_NAME = 'instantWinGames';\r\nexport const BLACKJACK_ARENA_NAME = 'blackjack';\r\nexport const VIRTUAL_SPORT_ARENA_NAME = 'virtualSport';\r\nexport const ROULETTE_ARENA_NAME = 'roulette';\r\nexport const PROGRESSIVE_SLOTS_ARENA_NAME = 'progressiveSlots';\r\nexport const NEW_GAMES_ARENA_NAME = 'newGames';\r\nexport const HOME_PAGE_ARENA = 'homePage';\r\n\r\nexport const ALL_ARENAS = Array.of(\r\n LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_ARENA_NAME,\r\n NEW_LIVE_CASINO_AB_ARENA_NAME,\r\n CIP_ALL_GAMES_ARENA_NAME,\r\n SLOTS_ARENA_NAME,\r\n CASINO_GAMES_ARENA_NAME,\r\n JACKPOTS_ARENA_NAME,\r\n EXCLUSIVE_ARENA_NAME,\r\n SCRATCH_CARDS_ARENA_NAME,\r\n VIDEO_POKER_ARENA_NAME,\r\n INSTANT_WIN_GAMES_ARENA_NAME,\r\n BLACKJACK_ARENA_NAME,\r\n VIRTUAL_SPORT_ARENA_NAME,\r\n ROULETTE_ARENA_NAME,\r\n PROGRESSIVE_SLOTS_ARENA_NAME,\r\n NEW_GAMES_ARENA_NAME,\r\n HOME_PAGE_ARENA,\r\n);\r\n","import styled, {css} from \"styled-components\";\r\nimport {IBannerContainerBoxProps} from \"../banner-container/banner-container.default.box\";\r\n\r\nexport const EmptyBannerContainerBox = styled.div`\r\n width: 100%;\r\n ${props => props.minHeight && css`\r\n min-height: ${props.minHeight};\r\n `};\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {EmptyBannerContainerBox} from \"./empty-banner-container.box\";\r\n\r\nexport class EmptyBannerComponentProps {\r\n showPlaceholder: boolean;\r\n minHeight: string;\r\n}\r\n\r\n\r\nexport const EmptyBannerComponent = observer(\r\n class EmptyBannerComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(this.props.showPlaceholder && !this.services.device.hybrid.isEmbedded) {\r\n return ()\r\n }\r\n return null;\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {BannerRenderProps, IBannerDefinition} from './banner-definition.interface';\r\nimport {EmptyBannerComponent} from '../../../../components/cms-banner/empty-banner/empty-banner.component';\r\n\r\nexport class EmptyBannerDefinition implements IBannerDefinition {\r\n\r\n render(props: BannerRenderProps): React.ReactNode {\r\n return ()\r\n }\r\n}\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\nexport class CmsBannerId {\r\n constructor(private _componentID: string, private _templateID: string, private _fallbackFileName: string | null) {\r\n }\r\n\r\n isMatch(componentId: number, templateId: number): boolean {\r\n return this._areEqual(componentId, this.componentID)\r\n && this._areEqual(templateId, this.templateID);\r\n }\r\n\r\n private _areEqual(val1: any, val2: any): boolean {\r\n val1 = Check.isNullOrUndefined(val1) ? '' : val1.toString();\r\n val2 = Check.isNullOrUndefined(val2) ? '' : val2.toString();\r\n\r\n return val1 === val2;\r\n }\r\n\r\n get key(): string {\r\n return `${this.componentID}_${this.templateID}_${this._fallbackFileName ?? 'null'}`;\r\n }\r\n\r\n get componentID(): any {\r\n return this._componentID;\r\n }\r\n\r\n get templateID(): any {\r\n return this._templateID;\r\n }\r\n\r\n get fallbackFileName(): string {\r\n return this._fallbackFileName;\r\n }\r\n\r\n toString() {\r\n return `templateID: ${this.templateID}; componentID: ${this.componentID}`;\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\n\r\nexport class CmsLink {\r\n constructor(private _anchorElement: HTMLAnchorElement, private _cmsContentRootElement: HTMLElement, private _services: IServiceFactory) {\r\n this._clickHandler = this._clickHandler.bind(this);\r\n this._anchorElement.addEventListener('click', this._clickHandler);\r\n }\r\n\r\n private _clickHandler(event) {\r\n event.preventDefault();\r\n let anchorUri = this._services.location.tryParseUrl(this._anchorElement.href);\r\n let currentUri = this._services.location.currentUri;\r\n\r\n if(currentUri.origin === anchorUri.origin\r\n && currentUri.pathName.equals(anchorUri.pathName)\r\n && !anchorUri.hash.isEmpty) { // if the anchor href refers to the current route and there is a hash in the anchor href then we need to scroll into view an element with id = #hash\r\n let element = this._cmsContentRootElement.querySelector(anchorUri.hash.toString());\r\n if(element) {\r\n element.scrollIntoView();\r\n }\r\n } else {\r\n this._services.location.push(this._anchorElement.href);\r\n }\r\n };\r\n\r\n\r\n dispose() {\r\n this._anchorElement.removeEventListener('click', this._clickHandler);\r\n }\r\n\r\n}\r\n","/**\r\n * @desc We need this to evaluate all the scripts that b2c add to the components banners and pages\r\n * @param html\r\n * @return {any}\r\n * @private\r\n */\r\nimport {isOrbitInQAMode} from '../../../../utils/qa-mode-utils';\r\nimport {isInsideAutomation} from '../../../../utils/automation-helpers';\r\n\r\nexport function evaluateScripts(html: string): void {\r\n\r\n if(!html) {\r\n return;\r\n }\r\n\r\n /**\r\n Webpack dev server returns the public/index.html instead of 404 for calls like api/pagecontent.\r\n When this happens this function basically will execute the script in the public/index.html.\r\n And that script is launcher.min.js. So basically we will try to load again orbit and sdk and this will fail.\r\n */\r\n if (0 <= html.indexOf('')) {\r\n return;\r\n }\r\n\r\n let scriptRegex = /]*>([\\s\\S]*?)<\\/script>/gm;\r\n\r\n // Remove comment from the html(so we don't run scripts in comment),\r\n html = html.replace(//g, \"\");\r\n let match = scriptRegex.exec(html);\r\n\r\n while (match) {\r\n try {\r\n evaluateScriptsWithExternalFile(match[0]);\r\n match = scriptRegex.exec(html);\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.error('Failed to load script!', match, err);\r\n }\r\n\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Evaluate scripts with external file. ex: \r\n */\r\nfunction evaluateScriptsWithExternalFile(html: string) {\r\n try {\r\n const fakeDiv = document.createElement('div');\r\n fakeDiv.innerHTML = html.trim();\r\n\r\n const scriptElements = fakeDiv.getElementsByTagName('script');\r\n const elementsLength = scriptElements ? scriptElements.length : 0;\r\n\r\n for (let index = 0; index < elementsLength; index++) {\r\n const script = document.createElement(\"script\");\r\n\r\n if (scriptElements[index]['src']) {\r\n script.src = scriptElements[index]['src'];\r\n } else {\r\n //Add try catch to B2C scripts\r\n const tryStart = \"try{\";\r\n const consoleLogFunc = (isOrbitInQAMode() ? 'warn' : 'error');\r\n const tryEnd = `}catch(e){console.${consoleLogFunc}('B2C ERROR In EXTERNAL SCRIPT, ERROR MESSAGE: ', e)}`;\r\n\r\n script.innerHTML = tryStart + scriptElements[index]['innerHTML'] + tryEnd;\r\n\r\n }\r\n\r\n document.head.appendChild(script).parentNode?.removeChild(script);\r\n }\r\n } catch (err) {\r\n if(!isInsideAutomation()) {\r\n console.log('Error in evaluateScriptsWithExternalFile function, err message:', err);\r\n }\r\n\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {CmsLink} from './cms-link';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {evaluateScripts} from \"./evaluate-scripts\";\r\n\r\nexport class CmsContentDecorator {\r\n constructor(private _element: HTMLElement, private services: IServiceFactory ) {\r\n this._evaluateScripts();\r\n this._loadCmsLinks();\r\n }\r\n\r\n private _cmsLinks: CmsLink[] = [];\r\n\r\n\r\n dispose() {\r\n this._cmsLinks.forEach(a => a.dispose());\r\n }\r\n\r\n\r\n private _evaluateScripts() {\r\n evaluateScripts(this._element.innerHTML);\r\n }\r\n\r\n\r\n private _loadCmsLinks() {\r\n let linkTags = this._element.getElementsByTagName('a');\r\n for(let i = 0; i < linkTags.length; i++) {\r\n let currentLink = linkTags[i] as HTMLAnchorElement;\r\n if (Check.isEmpty(currentLink.href) || currentLink.target === '_blank') {\r\n continue;\r\n }\r\n\r\n let anchorUri = this.services.location.tryParseUrl(currentLink.href);\r\n if(!anchorUri) {\r\n continue;\r\n }\r\n\r\n if(anchorUri.origin === this.services.location.currentUri.origin) {\r\n this._cmsLinks.push(new CmsLink(currentLink, this._element, this.services));\r\n }\r\n\r\n }\r\n }\r\n\r\n scrollIntoView(childElementSelector: string): void {\r\n try {\r\n let el = this._element.querySelector(childElementSelector);\r\n if(el) {\r\n el.scrollIntoView();\r\n }\r\n } catch (err) {\r\n this.services.logger.error(`Failed to scroll into view element with id ${childElementSelector}`, err);\r\n }\r\n\r\n }\r\n}\r\n","import React from 'react';\r\nimport {ButtonPreset} from \"../../basic-ui-components/button/base/button-props.interface\";\r\nimport { ISvgIconProps } from '../../basic-ui-components/icon/svg-icon/svg.icon';\r\nimport {OverflowProperty} from \"../../../common/types/css\";\r\n\r\nexport interface IModalDialogHandler {\r\n close(shouldApplyClosingAnimation?: boolean, isClosedDirectlyByUser?: boolean): void;\r\n zIndex: number;\r\n shouldBeClosedOnlyByUser: boolean;\r\n shouldApplyClosingAnimation: boolean;\r\n readonly isHidden: boolean;\r\n display(): void;\r\n hide(): void;\r\n}\r\n\r\nexport interface ShowModalOptions {\r\n useAutoHeight?: boolean;\r\n title?: string;\r\n icon?: React.ComponentType;\r\n onClosed?: () => void;\r\n onClosedByXButton?: ()=> void;\r\n debugInfo?: string;\r\n hideBorders?: boolean;\r\n hideCloseButton?: boolean;\r\n showOpenAndCloseAnimation?: boolean;\r\n forceTransparentBackground?: boolean;\r\n transparentBackgroundOpacity?: number;\r\n forceTransparentContentBackground?: boolean;\r\n hideDialogHeader?: boolean;\r\n forceCentralization?: boolean;\r\n disableFullscreenMobile?: boolean;\r\n applyMaxHeight?: boolean;\r\n mobileCenterHeader?: boolean;\r\n isHighPriority?: boolean;\r\n forceZOrder?:number;\r\n shouldBeClosedOnlyByUser?: boolean;\r\n forceFullscreenTablet?: boolean;\r\n headerClass?: string;\r\n showPopupAboveSecondWebViewHybrid?:boolean;\r\n noDefaultContentPadding?: boolean;\r\n renderExtraHeaderButtons?: () => React.ReactElement;\r\n overflow?: OverflowProperty;\r\n createAsHidden?: boolean;\r\n}\r\n\r\nexport enum DialogButtonClickHandleResultEnum {\r\n CloseDialogAndContinue,\r\n KeepDialogOpen\r\n}\r\n\r\nexport interface ISimpleTextModalButtonOptions {\r\n text: string;\r\n buttonPreset: ButtonPreset;\r\n onClick: () => Promise;\r\n}\r\n\r\nexport interface ISimpleTextModalOptions {\r\n text: string;\r\n title?: string;\r\n /** @deprecated Do not send an icon as a string url or as react element. Use an svg icon in the iconSvg prop */\r\n icon?: string | React.ReactElement;\r\n iconSvg?: React.ComponentType;\r\n showEmptyTitle?: boolean;\r\n hideCloseButton?: boolean;\r\n buttons?: ISimpleTextModalButtonOptions[];\r\n disableFullscreenMobile?: boolean;\r\n showPopupAboveSecondWebViewHybrid?: boolean;\r\n onClosedByXButton?: ()=> void;\r\n}\r\n\r\nexport interface IDialogService {\r\n showModal(renderContent: (dialogHandler: IModalDialogHandler) => React.ReactNode, options?: ShowModalOptions): IModalDialogHandler;\r\n showSimpleTextModal(options: ISimpleTextModalOptions): IModalDialogHandler;\r\n readonly currentDialogs: React.ReactNode[];\r\n readonly hasOpenDialogs: boolean;\r\n getMaxCGPOverlayZIndex(): number;\r\n closeAllDialogs(): void;\r\n countDialogs(opts: {includeHidden: boolean;}): number;\r\n}","import {UserController_GetPendingActionsResponse} from \"../../../api/api.service\";\r\n\r\n\r\nexport interface IPendingActionExternalLinkHandler {\r\n openPendingAction(options?: TOptions): Promise;\r\n}\r\n\r\nexport type PendingActionData = UserController_GetPendingActionsResponse[\"PendingActions\"][number];\r\n\r\nexport enum PendingActionResultEnum {\r\n ContinueCurrentFlow,\r\n BlockCurrentFlow\r\n}\r\n\r\nexport enum PendingActionTypeEnum {\r\n ResponsibleGaming = 19,\r\n ResponsibleGamingPhase2 = 22,\r\n\r\n /*\r\n Register player to regulator = 1,\r\n Demo to Real conversion = 2,\r\n Privacy policy = 3,\r\n Terms and Conditions approval = 4,\r\n Spain Full Migration = 5,\r\n Spain Only Migration = 6,\r\n Spain Only Registartion = 7,\r\n Complete Registration = 8,\r\n OPT-IN (whether the user wants Promotion Emails ) = 9,\r\n Geo Locate Mobile = 10,\r\n Players acknowledges before continuing = 11,\r\n Email Verification = 13,\r\n NEM-ID authentication required = 14,\r\n Sweden migration = 15,\r\n UK DOB Verification = 16,\r\n UK Address Verification = 17,\r\n UK View Verification Page = 18,\r\n Responsible Gaming = 19,\r\n Bonus Policy change = 20,\r\n Hesse Terms and Conditions Approval = 21,\r\n Responsible Gaming Phase 2 = 22,\r\n Retry Page = 23,\r\n Adding playing time limits = 24,\r\n ResubscribePending = 28,\r\n */\r\n}\r\n\r\nexport enum PendingActionReasonEnum {\r\n GamingCautionInteraction = 20,\r\n /*\r\n Complete real registration process = 1,\r\n Time out in registration to regulator = 2,\r\n Regulation Migration Process = 3,\r\n Short Registration Process = 4,\r\n Geo Location Detection = 5,\r\n Deposited more than the limit = 6,\r\n ThePlayerShouldVerifyHisEmailBeforeContinuing = 7,\r\n Terms and Conditions update = 8,\r\n Other = 9,\r\n DE Migration Process = 10,\r\n Danish Player should be authenticated with its NEM-ID = 11,\r\n UK account verification = 12,\r\n Gaming Caution escalation = 14,\r\n Adding playing time limits = 16,\r\n Adding playing time limits = 17,\r\n */\r\n}\r\n\r\nexport enum PendingActionIdEnum {\r\n SwedenGamingCaution = 40\r\n}","import {MarketingParams} from \"../../../../../common/interfaces/marketing-params.interface\";\r\n\r\nexport const REGISTRATION_DATA_KEY = 'storeRegistrationData';\r\n\r\nexport interface IOpenRegistrationOptions {\r\n marketingParams?: MarketingParams;\r\n}\r\n\r\nexport interface IRegistrationExternalLinkHandler {\r\n openRegistration(options?: IOpenRegistrationOptions): Promise;\r\n}","import {IGamePartsViewModel} from \"../game-parts/game-parts-view-model.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameSize} from \"../open-game-api-callers/open-game-api-response.interface\";\r\nimport {\r\n Nullable,\r\n NullableUndefinedString,\r\n UndefinedNumber\r\n} from \"../../../../../common/types/nullable-types\";\r\nimport {IRunningGameControllerViewModel} from \"../game-controller/running-game-controller.interface\";\r\nimport {IOpenHistoryGameParams} from \"../../game-runner.service.interface\";\r\nimport {IFreePlayVoucherViewModel} from \"../../../free-play/vouchers/free-play-voucher-view-model.interface\";\r\n\r\nexport enum GameModeEnum {\r\n Demo = 0,\r\n Real = 1,\r\n History = 2\r\n}\r\n\r\nexport interface IGameSessionDataViewModel {\r\n readonly totalBets: number;\r\n readonly totalWins: number;\r\n readonly vendorGameSessionId: NullableUndefinedString;\r\n readonly regulationGameSessionId: NullableUndefinedString;\r\n readonly regulationParticipationTicketId: NullableUndefinedString;\r\n readonly netPosition: number;\r\n}\r\n\r\nexport interface IGameFreePlayContextViewModel {\r\n readonly isFreePlay: boolean;\r\n readonly isCurrentFreePlayMandatory: boolean;\r\n readonly shouldShowFreePlayHeader: boolean;\r\n readonly currentFreePlayVoucher: IFreePlayVoucherViewModel | null;\r\n readonly otherAvailableVouchersForCurrentGame: IFreePlayVoucherViewModel[];\r\n}\r\n\r\nexport interface IGameContextViewModel {\r\n readonly gameMode: GameModeEnum;\r\n readonly gameInfo: GameInfo;\r\n readonly controller: IRunningGameControllerViewModel;\r\n readonly gameParts: IGamePartsViewModel;\r\n readonly launchGameUrl: string | null;\r\n readonly gameSize: Nullable;\r\n readonly isGameResizable: boolean;\r\n readonly freePlayContext: IGameFreePlayContextViewModel;\r\n readonly historyGameParams: IOpenHistoryGameParams | undefined;\r\n readonly gameSessionData: IGameSessionDataViewModel;\r\n readonly referrerId: UndefinedNumber;\r\n readonly allowSwitchBetweenDemoAndReal: boolean;\r\n}","import {GameContextModel} from \"../../../companies/game-context/game-context.model\";\r\n\r\nexport enum GameStepsExecutionResultEnum {\r\n Continue,\r\n Cancel\r\n}\r\n\r\n\r\nexport interface IGameRunStep {\r\n readonly isEnabled: boolean;\r\n disableGameStep(): this;\r\n enableGameStep(): this;\r\n executeStep(gameContext: GameContextModel): Promise;\r\n dispose(): void;\r\n}","import {GameInfo} from '../games/game-info';\r\nimport React from \"react\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\n\r\nexport interface IFiltersGroup {\r\n text: string;\r\n filters: ActiveFilter[];\r\n isMultiSelect: boolean;\r\n}\r\n\r\nexport interface ActiveFilter {\r\n readonly id: string;\r\n readonly text: string;\r\n readonly on: boolean;\r\n readonly isDynamic: boolean;\r\n}\r\n\r\n\r\n\r\nexport enum PcFilterIndicatorRenderingLocation {\r\n BelowArenaTitle,\r\n NextToArenaTitle\r\n}\r\nexport interface IPcFilterIndicatorRenderingOptions {\r\n reactElement: React.ReactElement;\r\n location: PcFilterIndicatorRenderingLocation;\r\n}\r\n\r\nexport interface IGamesFilterService {\r\n\r\n readonly filteredGamesMap: Record;\r\n readonly isFilterOn: boolean;\r\n readonly currentAppliedFiltersIds: string[];\r\n readonly isFilteringAvailable: boolean;\r\n isFilterApplied(filterId: string): boolean;\r\n applyFilters(filterIds: string[]): Promise;\r\n clearFilters(): Promise;\r\n renderMobileFiltersIndicator(): React.ReactElement;\r\n renderPCFiltersIndicator(): Nullable;\r\n showFiltersEditor(): void;\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number;\r\n}\r\n","export enum GamingHistoryType {\r\n UserHistory = 1,\r\n SessionHistory = 2\r\n}\r\n","enum GNWP_SOURCES {\r\n CASHIER = 'cashier',\r\n CONTACT_US = 'contact_us',\r\n MEMBERSHIP = 'membership',\r\n FORGOT_PASSWORD = 'forgot_password',\r\n FORGOT_USERNAME = 'forgot_username',\r\n MY_ACCOUNT = 'my_account',\r\n OMG = 'omg',\r\n SPORT = 'sport',\r\n RICH = 'rich',\r\n PENDING_LOGIN = 'pending_login',\r\n PENDING_PLAY = 'pending_play',\r\n DOCUMENT_UPLOAD = 'upload_document',\r\n HELP = 'help',\r\n PENDING_APP = 'pending_app',\r\n POKER = 'poker',\r\n LIVE_CHAT = 'live_chat'\r\n}\r\n\r\nexport {GNWP_SOURCES};\r\n","/** Upper limits (non-inclusive) for media breakpoints */\r\nexport const breakpoints = {\r\n xsMax: 401,\r\n sMax: 768,\r\n mMax: 1024,\r\n lMax: 1280,\r\n xlMax: 1480\r\n};\r\n","export enum MediaType {\r\n All = \"all\",\r\n Screen = \"screen\",\r\n Print = \"print\",\r\n Speech = \"speech\",\r\n OnlyScreen = \"only screen\"\r\n}\r\nexport enum MediaOrientation {\r\n Portrait = \"portrait\",\r\n Landscape = \"landscape\"\r\n}\r\nexport enum MediaPointer {\r\n Fine = \"fine\",\r\n Coarse = \"coarse\",\r\n None = \"none\"\r\n}\r\n\r\nexport class MediaQueryBuilder {\r\n static get For(): MediaQueryBuilder {\r\n return new MediaQueryBuilder();\r\n }\r\n private _rules: string[] = [];\r\n private _mediaType: MediaType | undefined;\r\n\r\n mediaType(m: MediaType): MediaQueryBuilder {\r\n this._mediaType = m;\r\n return this;\r\n }\r\n minWidth(w: number): MediaQueryBuilder {\r\n this._rules.push(`(min-width: ${w}px)`);\r\n return this;\r\n }\r\n maxWidth(w: number): MediaQueryBuilder {\r\n this._rules.push(`(max-width: ${w}px)`);\r\n return this;\r\n }\r\n minHeight(h: number): MediaQueryBuilder {\r\n this._rules.push(`(min-height: ${h}px)`);\r\n return this;\r\n }\r\n maxHeight(h: number): MediaQueryBuilder {\r\n this._rules.push(`(max-height: ${h}px)`);\r\n return this;\r\n }\r\n orientation(o: MediaOrientation): MediaQueryBuilder {\r\n this._rules.push(`(orientation: ${o})`);\r\n return this;\r\n }\r\n hover(t: boolean) {\r\n this._rules.push(`(hover: ${t ? 'hover' : 'none'})`);\r\n return this;\r\n }\r\n anyHover(t: boolean) {\r\n this._rules.push(`(any-hover: ${t ? 'hover' : 'none'})`);\r\n return this;\r\n }\r\n pointer(precision?: MediaPointer) {\r\n if (precision) {\r\n this._rules.push(`(pointer: ${precision})`);\r\n } else {\r\n this._rules.push(`(pointer)`);\r\n }\r\n return this;\r\n }\r\n anyPointer(precision?: MediaPointer) {\r\n if (precision) {\r\n this._rules.push(`(any-pointer: ${precision})`);\r\n } else {\r\n this._rules.push(`(any-pointer)`);\r\n }\r\n return this;\r\n }\r\n build(): string {\r\n let rules = [...this._rules];\r\n if (this._mediaType) {\r\n rules.unshift(this._mediaType);\r\n }\r\n return rules.join(' and ');\r\n }\r\n}","import { breakpoints } from \"./breakpoints\";\r\nimport { IMediaQueries } from \"./media-queries.interface\";\r\nimport { MediaOrientation, MediaPointer, MediaQueryBuilder } from \"./media-query-builder\";\r\n\r\nlet { xsMax, sMax, mMax, lMax, xlMax } = breakpoints;\r\n\r\nexport const mediaQueries: IMediaQueries = {\r\n xs: MediaQueryBuilder.For.maxWidth(xsMax - 1).build(),\r\n\r\n sAndBelow: MediaQueryBuilder.For.maxWidth(sMax - 1).build(),\r\n sExact: MediaQueryBuilder.For.minWidth(xsMax).maxWidth(sMax - 1).build(),\r\n sAndAbove: MediaQueryBuilder.For.minWidth(xsMax).build(),\r\n\r\n mAndBelow: MediaQueryBuilder.For.maxWidth(mMax - 1).build(),\r\n mExact: MediaQueryBuilder.For.minWidth(sMax).maxWidth(mMax - 1).build(),\r\n mAndAbove: MediaQueryBuilder.For.minWidth(sMax).build(),\r\n\r\n lAndBelow: MediaQueryBuilder.For.maxWidth(lMax - 1).build(),\r\n lExact: MediaQueryBuilder.For.minWidth(mMax).maxWidth(lMax - 1).build(),\r\n lAndAbove: MediaQueryBuilder.For.minWidth(mMax).build(),\r\n\r\n xlAndBelow: MediaQueryBuilder.For.maxWidth(xlMax - 1).build(),\r\n xlExact: MediaQueryBuilder.For.minWidth(lMax).maxWidth(xlMax - 1).build(),\r\n xlAndAbove: MediaQueryBuilder.For.minWidth(lMax).build(),\r\n\r\n xxl: MediaQueryBuilder.For.minWidth(xlMax).build(),\r\n\r\n portrait: MediaQueryBuilder.For.orientation(MediaOrientation.Portrait).build(),\r\n landscape: MediaQueryBuilder.For.orientation(MediaOrientation.Landscape).build(),\r\n\r\n lowHeight: MediaQueryBuilder.For.maxHeight(900).build(),\r\n\r\n hover: MediaQueryBuilder.For.hover(true).build(),\r\n hoverNone: MediaQueryBuilder.For.hover(false).build(),\r\n\r\n anyHover: MediaQueryBuilder.For.anyHover(true).build(),\r\n anyHoverNone: MediaQueryBuilder.For.anyHover(false).build(),\r\n\r\n pointer: MediaQueryBuilder.For.pointer().build(),\r\n pointerFine: MediaQueryBuilder.For.pointer(MediaPointer.Fine).build(),\r\n pointerCoarse: MediaQueryBuilder.For.pointer(MediaPointer.Coarse).build(),\r\n pointerNone: MediaQueryBuilder.For.pointer(MediaPointer.None).build(),\r\n\r\n anyPointer: MediaQueryBuilder.For.anyPointer().build(),\r\n anyPointerFine: MediaQueryBuilder.For.anyPointer(MediaPointer.Fine).build(),\r\n anyPointerCoarse: MediaQueryBuilder.For.anyPointer(MediaPointer.Coarse).build(),\r\n anyPointerNone: MediaQueryBuilder.For.anyPointer(MediaPointer.None).build()\r\n}\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class AboutDialogAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"aboutDialogMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.orbitComponentInsideSdkProvider.showAboutDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport default class CashierUploadDocumentsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"cashierUploadDocumentsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openUploadDocumentsFromCashier();\r\n }\r\n}","import {AppIdentifiers, AreaType, ChatOpenMode} from \"@sparkware/uc-sdk-core\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemActionBase} from \"../menu-item-action-base\";\r\n\r\n\r\nexport default class ChatAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"chatMenuItem\",configReader, services);\r\n }\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openChat( {\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n appSpecificParameters: {\r\n openMode: ChatOpenMode.Chat,\r\n },\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n element: this.key,\r\n source: AppIdentifiers.CasinoClient\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MyAccountTab} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class ComPointsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"compPointsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMyAccount({\r\n tabId: MyAccountTab.ComPoints\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class ControlCenterAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"controlCenterMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class DepositAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"depositMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openDeposit({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.NavigationMenu,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class GameRemindersAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"gameRemindersMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n\r\n this.services.sdk.openOptions('ReminderSettings');\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AppIdentifiers, AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class HelpCenterAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"helpCenterMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openContactUs({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n channel: {\r\n area: AreaType.NavigationMenu,\r\n element: AppIdentifiers.CRHelpCenter,\r\n source: AppIdentifiers.CasinoClient\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {DialogButtonClickHandleResultEnum} from \"../../dialog/dialog.service.interface\";\r\n\r\nexport default class HybridInfoAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"hybridInfoMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n const hybridInfo = await this.services.hybrid.getInfoForDisplay();\r\n this.services.dialog.showSimpleTextModal({\r\n title: 'Info',\r\n text: hybridInfo,\r\n buttons: [\r\n {\r\n text: 'Close',\r\n buttonPreset: 'special',\r\n onClick: async () => {\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n },\r\n {\r\n text: 'Mail to',\r\n buttonPreset: 'primary',\r\n onClick: async () => {\r\n this.services.hybrid.openMail(hybridInfo);\r\n return DialogButtonClickHandleResultEnum.CloseDialogAndContinue;\r\n }\r\n }\r\n ]\r\n })\r\n await this.services.orbitComponentInsideSdkProvider.showAboutDialog();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class InactivityTimeoutSettingsAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"inactivityTimeoutSettingsMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n this.services.sdk.openOptions('InactivityTimeoutSettings');\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class InstallPwaAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"installPWAMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.progressiveWebApp.prompt();\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class LoyaltyIndicatorAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"loyaltyIndicatorMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //nothing to do here\r\n }\r\n\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {MyAccountTab} from \"@sparkware/uc-sdk-core\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class MyClubAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"myClubMenuItem\", configReader, services)\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMyAccount({\r\n tabId: MyAccountTab.LCChallenges\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nexport default class PushNotificationsPermissionsRequestAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"pushNotificationsPermissionsRequest\", configReader, services)\r\n }\r\n\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sdk.promptPushNotificationPermissionRequest();\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CashierSessionType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class ReverseWithdrawalAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"reverseWithdrawalMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openOldCashier({sessionType: CashierSessionType.ReverseWithdrawal});\r\n }\r\n}\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class SignUpAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"signUpMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.externalLinks.openMembership({\r\n marketingParams: {\r\n dl: this.config.dl\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IMenuItemExecuteOptions} from \"../menu-item-action.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\n/**\r\n * This class is for demonstrating how to override menu items per regulation. It should be removed when we will have a real case\r\n */\r\nexport default class TestRegulationSpecificAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"testRegulationSpecificMenuItem\", configReader, services);\r\n }\r\n protected async _onClick(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.dialog.showSimpleTextModal({\r\n text: 'Test regulation specific menu item',\r\n title: 'test',\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {AreaType, ControlCenterDeeplink, ControlCenterOpenSource} from \"@sparkware/uc-sdk-core\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\n\r\nexport default class TimeSpentReminderAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"timeSpentReminderMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.appLauncher.openControlCenterFull({\r\n businessCorrelationID: this.services.tools.getGuid(),\r\n\r\n channel: {\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.controlCenterUsefulLink,\r\n source: CHANNEL_SOURCE.casinoClient\r\n },\r\n appSpecificParameters: {\r\n deeplink: ControlCenterDeeplink.TimeSpentReminderPage,\r\n source: ControlCenterOpenSource.UserArea\r\n }\r\n });\r\n }\r\n}","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\nexport default class TouchIdAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n //this.services.sdk.openOptions('TouchId', '2');\r\n this.services.specificDialogs.showModifyBiometricDialog();\r\n }\r\n}\r\n\r\n\r\n\r\n","import {MenuItemActionBase} from \"../menu-item-action-base\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../../common/const/casinofied-analytics-consts\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport default class TransactionHistoryAction extends MenuItemActionBase {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"transactionHistoryMenuItem\", configReader, services);\r\n }\r\n\r\n protected async _onClick(): Promise {\r\n await this.services.cashier.openTransactionHistory(\r\n {\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.transactionHistoryButton\r\n }\r\n }\r\n );\r\n }\r\n}","import {IMenuItemAction, IMenuItemExecuteOptions} from \"./menu-item-action.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader, MenuItemConfigurationExtended\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../common/types/nullable-types\";\r\n\r\nexport abstract class MenuItemActionBase implements IMenuItemAction {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n\r\n protected abstract _onClick(options?: IMenuItemExecuteOptions): Promise;\r\n\r\n async execute(options?: IMenuItemExecuteOptions): Promise {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n this.services.hybrid.closeSecondWebView();\r\n this.services.drawer.right.closeDrawer();\r\n const analytics = this.config.analytics;\r\n if(analytics) {\r\n this.services.analytics.sendOrbitUserFlowEvent(analytics.category, analytics.action, analytics.label);\r\n }\r\n await this._onClick();\r\n }\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n\r\n protected get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return false;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n if(!this.config.linkId) {\r\n return null;\r\n }\r\n return this.services.linksNavigation.getLinkUrl(this.config.linkId);\r\n }\r\n\r\n}","import {IMenuItemRenderer, IRenderMenuItemOptions} from \"./menu-item.renderer.interface\";\r\nimport React from \"react\";\r\nimport {\r\n IMenuItemAction,\r\n IMenuItemExecuteOptions\r\n} from \"../../menu-item-action-factory/menu-item-action.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\nimport {NullableUndefinedString} from \"../../../../common/types/nullable-types\";\r\nimport {IconSourceConfiguration} from \"../../configurations/config-data-sections/icon-source.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {\r\n IMenuItemConfigReader,\r\n MenuItemConfigurationExtended\r\n} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\n\r\n\r\nexport abstract class MenuItemRendererBase implements IMenuItemRenderer {\r\n constructor(public readonly key: MenuItemKey,\r\n private readonly configReader: IMenuItemConfigReader,\r\n protected readonly services: IServiceFactoryExtended) {\r\n this.menuItemAction = this.services.menuItemActionFactory.getMenuItemAction(this.key, this.configReader);\r\n }\r\n\r\n protected abstract _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement;\r\n\r\n\r\n private _config: MenuItemConfigurationExtended | null = null;\r\n protected _lastRenderOptions: IRenderMenuItemOptions | undefined = undefined;\r\n\r\n private get config(): MenuItemConfigurationExtended {\r\n if(!this._config) {\r\n this._config = this.configReader.getMenuItemConfig(this.key);\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n private readonly menuItemAction: IMenuItemAction;\r\n\r\n renderMenuItem(options?: IRenderMenuItemOptions): React.ReactElement {\r\n this._lastRenderOptions = options;\r\n return this._createReactElement(options);\r\n }\r\n\r\n execute(options?: IMenuItemExecuteOptions): Promise {\r\n if(this._lastRenderOptions?.onBeforeClick) {\r\n this._lastRenderOptions.onBeforeClick();\r\n }\r\n return this.menuItemAction.execute(options);\r\n }\r\n\r\n\r\n get text(): string {\r\n return this.services.translation.translate(this.config.text);\r\n }\r\n\r\n get sideText(): NullableUndefinedString {\r\n return null;\r\n }\r\n\r\n get imageOnlyRendering(): boolean {\r\n return this.config.imageOnlyRendering ?? false;\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this.config.display ?? true;\r\n }\r\n\r\n get display(): boolean {\r\n return this._shouldDisplay();\r\n }\r\n\r\n get isMatchToCurrentUrl(): boolean {\r\n return this.menuItemAction.isMatchToCurrentUrl;\r\n }\r\n\r\n get iconSource(): IconSourceConfiguration {\r\n return this.config.menuItemIconSource ?? \"themeIcons\";\r\n }\r\n\r\n get icon(): NullableUndefinedString {\r\n return this.config.menuItemIcon;\r\n }\r\n\r\n get iconAltText(): NullableUndefinedString {\r\n return this.config.menuItemIconAltText;\r\n }\r\n\r\n getLinkUrl(): NullableUndefinedString {\r\n return this.menuItemAction.getLinkUrl();\r\n }\r\n\r\n\r\n}","import {ServiceBase} from \"../ServiceBase\";\r\nimport {AnimationStatus, PixiSpineAnimation} from \"./pixi-spine-animation\";\r\n\r\nexport enum AnimatedIconUnloadReason {\r\n CONTEXT_LOST,\r\n VIEWPORT_EXIT,\r\n REQUESTED,\r\n GAME_OPEN\r\n}\r\n\r\nexport interface IAnimatedIconRequestOptions {\r\n jsonUrl: string;\r\n wrapper: HTMLElement;\r\n size: {width: number; height: number};\r\n timings: {delay: number; interval: number;};\r\n onAnimationLoad?(): void;\r\n onAnimationWillUnload?(reason: AnimatedIconUnloadReason): void;\r\n}\r\n\r\nexport type AnimatedIconObservableTarget = IAnimatedIconRequestOptions & {\r\n animation?: PixiSpineAnimation;\r\n animationDisposer?(reason: AnimatedIconUnloadReason): void;\r\n inViewport?: boolean;\r\n};\r\n\r\n\r\nexport class AnimatedIconBaseService extends ServiceBase{\r\n\r\n\r\n protected loadAnimatedIcon(options: AnimatedIconObservableTarget, resourceName: string) {\r\n if (options.animation && (options.animation.status === AnimationStatus.Loading || options.animation.status === AnimationStatus.Running)) {\r\n throw new Error(\"Animated Icon Loading in progress already for this icon. Please be patient\");\r\n }\r\n\r\n let iconPixiAnimation = new PixiSpineAnimation(this.services, {\r\n width: options.size.width, height: options.size.height,\r\n onContextLost: () => {\r\n if (options.animationDisposer) {\r\n options.animationDisposer(AnimatedIconUnloadReason.CONTEXT_LOST);\r\n }\r\n }\r\n }, [{name: resourceName, jsonUrl: options.jsonUrl}], {\r\n render: ({spineAnimations, loaderResources}) => {\r\n let spineAnimation = spineAnimations[resourceName];\r\n // get the animations\r\n const availableAnimations = loaderResources[resourceName].spineData.animations.map(a => a.name);\r\n\r\n // play animation\r\n const runAnimation = () => {\r\n // animated icons will have only one animation that we play in loop. There won't be complex timeline animations\r\n spineAnimation.state.setAnimation(0, availableAnimations[0], false);\r\n }\r\n let animationSchedule: any;\r\n\r\n spineAnimation.state.addListener({\r\n complete: (entry) => {\r\n // when animation completes, schedule the next iteration\r\n animationSchedule = setTimeout(runAnimation, options.timings.interval);\r\n }\r\n });\r\n\r\n runAnimation();\r\n\r\n options.animationDisposer = (reason: AnimatedIconUnloadReason) => {\r\n if (options.onAnimationWillUnload) {\r\n options.onAnimationWillUnload(reason);\r\n }\r\n iconPixiAnimation.dispose();\r\n };\r\n\r\n return () => {\r\n clearTimeout(animationSchedule);\r\n };\r\n }\r\n }, {\r\n display: \"block\",\r\n width: \"100%\"\r\n });\r\n\r\n options.animation = iconPixiAnimation;\r\n options.animationDisposer = iconPixiAnimation.dispose;\r\n\r\n iconPixiAnimation.start().then(({status}) => {\r\n if (status === AnimationStatus.Running) {\r\n if (options.onAnimationLoad) {\r\n options.onAnimationLoad();\r\n }\r\n iconPixiAnimation.attachToDOM(options.wrapper);\r\n }\r\n }).catch((e) => {\r\n // An error occured while loading the animated icon. log the error\r\n this.services.logger.error(e);\r\n });\r\n }\r\n}","import {CSSProperties} from \"react\";\r\nimport {IServiceFactory} from \"../service-factory.interface\";\r\nimport {Spine, IPixiAppCreateOptions, Application, LoaderResource} from \"./pixi-app.service.interface\";\r\n\r\nexport interface IPixiSpineResourceDef {\r\n name: string;\r\n jsonUrl: string;\r\n}\r\n\r\ntype AnimationDef = (stuff: {pixiApp: Application, spineAnimations: Record; loaderResources: Record;}) => (void | (() => void));\r\n\r\nexport interface IAnimationRenderer {\r\n render: AnimationDef;\r\n dispose?(): void\r\n}\r\n\r\nexport enum AnimationStatus {\r\n Idle,\r\n Loading,\r\n Failed,\r\n Aborted,\r\n Running,\r\n Disposed\r\n}\r\n\r\ninterface IPixiAnimationPromiseResultSuccess {\r\n status: AnimationStatus.Running;\r\n canvas: HTMLCanvasElement;\r\n}\r\ninterface IPixiAnimationPromiseResultOther {\r\n status: AnimationStatus.Failed | AnimationStatus.Aborted | AnimationStatus.Disposed;\r\n canvas?: undefined;\r\n}\r\n\r\ntype IPixiAnimationPromiseResult = IPixiAnimationPromiseResultSuccess | IPixiAnimationPromiseResultOther;\r\n\r\nexport class PixiSpineAnimation {\r\n private pixiApp: Application;\r\n private pixiAppDisposer: () => void;\r\n private _spineAnimations: Record = {};\r\n private _loaderResources: Record = {};\r\n private disposeActions: Array<() => void> = [];\r\n private _signalAborted = false;\r\n private _status: AnimationStatus = AnimationStatus.Idle;\r\n\r\n constructor(\r\n private services: IServiceFactory,\r\n private pixiAppCreateOptions: IPixiAppCreateOptions,\r\n private resourcesUrls: IPixiSpineResourceDef[],\r\n private renderer: IAnimationRenderer,\r\n private canvasCss?: CSSProperties\r\n ) {\r\n }\r\n\r\n private initPromise: Promise = null;\r\n public start(): Promise {\r\n if (!this.initPromise) {\r\n this.initPromise = this._initialize();\r\n }\r\n return this.initPromise;\r\n }\r\n\r\n private async _initialize(): Promise {\r\n // The init started, set the status as Loading\r\n this._status = AnimationStatus.Loading;\r\n // between constructor and start, the animation could have been aborted or disposed, check it\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // create pixi app. this loads the pixi and pixi-spine libraries first time they are called\r\n let {app: pixiApp, dispose: disposePixiApp, PixiSpine, canvas} = await this.services.pixiApp.createPixiApp(this.pixiAppCreateOptions);\r\n this.pixiApp = pixiApp;\r\n this.pixiAppDisposer = disposePixiApp;\r\n\r\n const {resources} = await this.services.pixiApp.loadResources(pixiApp, this.resourcesUrls).catch((e: unknown) => {\r\n this._status = AnimationStatus.Failed;\r\n disposePixiApp();\r\n throw e;\r\n });\r\n\r\n // loading of pixi libraries and animation resources are async, I must check if someone aborted the animation meanwhile\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // Apply custom CSS to the canvas element created by pixi\r\n if (this.canvasCss) {\r\n Object.getOwnPropertyNames(this.canvasCss).forEach((styleKey) => {\r\n canvas.style[styleKey] = this.canvasCss[styleKey];\r\n });\r\n }\r\n\r\n // for all loaded resources instantiate Spine objects.\r\n // keep both raw loaded resources and Spine objects in Map or Record objects. key is the name.\r\n this.resourcesUrls.forEach((resUrl) => {\r\n this._loaderResources[resUrl.name] = resources[resUrl.name];\r\n let spineAnimation = new PixiSpine.Spine(resources[resUrl.name].spineData);\r\n this._spineAnimations[resUrl.name] = spineAnimation;\r\n pixiApp.stage.addChild(spineAnimation);\r\n });\r\n\r\n // run the specific animation instructions that are given in constructor\r\n // for now, only sync code is supported. to support async make it await\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n const renderDisposer = this.renderer.render({pixiApp, spineAnimations: this._spineAnimations, loaderResources: this._loaderResources});\r\n if (renderDisposer) {\r\n this.disposeActions.push(renderDisposer);\r\n }\r\n\r\n // in case the renderer is async then we should check again if the loading was aborted.\r\n // for now, this code is useless because for the renderer to support async code it should be something like this:\r\n // const renderDisposer = await this.renderer.render({spineAnimations, loaderResources}); // <- the renderer return Promise\r\n if (this._signalAborted) {\r\n this._status = AnimationStatus.Aborted;\r\n this._disposeInternal();\r\n return {status: AnimationStatus.Aborted};\r\n }\r\n\r\n // all done, set the status to Running and return the status (resolve)\r\n this._status = AnimationStatus.Running;\r\n\r\n return {status: AnimationStatus.Running, canvas: this.pixiApp.view};\r\n }\r\n\r\n public attachToDOM(wrapper: HTMLElement): Promise {\r\n if (!this.initPromise) {\r\n throw new Error(\"Method attachToDOM MUST be called after the method start\");\r\n }\r\n return this.initPromise.then((result) => {\r\n // At this point the status can be only Aborted or Running\r\n // Or, after disposal, the status could be Disposed\r\n if (result.status === AnimationStatus.Running) {\r\n wrapper.appendChild(result.canvas);\r\n }\r\n return result;\r\n });\r\n }\r\n\r\n public get spineAnimations() {\r\n return this._spineAnimations;\r\n }\r\n\r\n public get loaderResources() {\r\n return this._loaderResources;\r\n }\r\n\r\n public get status() {\r\n return this._status;\r\n }\r\n\r\n /**\r\n * Dispose is the one method to be called both for disposal of the running animation and for aborting a loading one\r\n * If the animation object is newly created or loading, then the controller abort will be called.\r\n * that will cause a call to _disposeInternal from the _initialize method, as soon as the method checks the aborted flag\r\n * If the animation is running, we set the disposed status and call _disposeInternal owrselves\r\n */\r\n public dispose = () => {\r\n if (this._status === AnimationStatus.Idle || this._status === AnimationStatus.Loading) {\r\n this._signalAborted = true;\r\n } else if (this._status === AnimationStatus.Running) {\r\n this._status = AnimationStatus.Disposed;\r\n this._disposeInternal();\r\n }\r\n }\r\n\r\n private _disposeInternal = () => {\r\n while (this.disposeActions.length) {\r\n const disposeAction = this.disposeActions.pop();\r\n disposeAction();\r\n };\r\n if (this.renderer.dispose) {\r\n this.renderer.dispose();\r\n }\r\n while (this.resourcesUrls.length) {\r\n const resource = this.resourcesUrls.pop();\r\n if (this._spineAnimations[resource.name]) {\r\n this._spineAnimations[resource.name].autoUpdate = false;\r\n this._spineAnimations[resource.name].destroy();\r\n delete this._spineAnimations[resource.name];\r\n }\r\n }\r\n this.pixiAppDisposer();\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { DepositSideMenuItemBox } from \"./boxes/link/deposit/deposit-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class DepositSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.menuItem.text }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n onClick = async () => {\r\n await this.props.menuItem.execute();\r\n };\r\n}\r\n","import React from 'react';\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {\r\n DepositSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/deposit-side-menu-item.component\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\n\r\nexport default class DepositSideMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('depositMenuItem', configReader, services);\r\n }\r\n \r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {LoyaltyBarWrapperComponent} from \"../../loyalty-bar/loyalty-bar-wrapper.component\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class LoyaltyIndicatorSideMenuItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {\r\n LoyaltyIndicatorSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/loyalty-indicator-side-menu-item.component\";\r\n\r\nexport default class LoyaltyIndicatorMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('loyaltyIndicatorMenuItem', configReader, services);\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { DepositSideMenuItemBox } from \"../deposit/deposit-side-menu-item.box\";\r\n\r\nconst SignupSideMenuItemCasino888Box = styled(DepositSideMenuItemBox)`\r\n font-size: 1.6rem;\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n`;\r\n\r\nexport const SignupSideMenuItemBox = styledByTheme(DepositSideMenuItemBox)\r\n .forCasino888(SignupSideMenuItemCasino888Box)\r\n .forDelawarePark(SignupSideMenuItemCasino888Box)\r\n .forBallysDover(SignupSideMenuItemCasino888Box)\r\n .forHarrington(SignupSideMenuItemCasino888Box)\r\n .apply();\r\n","import React from \"react\";\r\nimport { Link } from \"../../raw-components/link/link\";\r\nimport { OrbitComponent } from \"../../base-components/orbit-component/orbit-component\";\r\nimport { SignupSideMenuItemBox } from \"./boxes/link/signup/signup-side-menu-item.box\";\r\nimport { GenericSideMenuItemLabelBox } from \"./boxes/link/generic/generic-side-menu-item-label.box\";\r\nimport { ArrowSideMenuLinkIcon } from \"./icons/arrow-side-menu-link.icon\";\r\nimport { MenuItemComponentProps } from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {SideMenuItemContainerComponent} from \"./side-menu-item-container.component\";\r\n\r\nexport class SignupSideMenuItemComponent extends OrbitComponent {\r\n\r\n onClickHandler = async () => {\r\n await this.props.menuItem.execute()\r\n };\r\n\r\n render() {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.menuItem.text}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n}\r\n","import React from \"react\";\r\nimport {\r\n SignupSideMenuItemComponent\r\n} from \"../../../../components/side-menu-rework/side-menu-items/signup-side-menu-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {IMenuItemConfigReader} from \"../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\n\r\nexport default class SignUpSideMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('signUpMenuItem', configReader, services);\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export enum SessionStorageKeys {\r\n currentGameParams = 'OrbitCurrentGameParams'\r\n}","import {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IThemeCustomizer} from \"./theme.service.interface\";\r\n\r\nexport class StandardThemeCustomizer implements IThemeCustomizer {\r\n constructor(protected readonly services: IServiceFactoryExtended) {}\r\n getHomePageTopBannerHeight(): string {\r\n if (this.services.homepage.headerArenasStyleIsSmallTiles) {\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"18.5rem\";\r\n }\r\n\r\n return \"29rem\";\r\n }\r\n\r\n if (this.services.mediaQuery.sAndBelow) {\r\n return \"25rem\";\r\n } else if (this.services.mediaQuery.lAndBelow) {\r\n return \"30rem\";\r\n }\r\n\r\n return \"47rem\";\r\n }\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\nimport {Id} from \"react-toastify\";\r\nimport {IdleRecommendationsComponentProps} from \"../../../common/interfaces/orbit-component-to-sdk-adapter/components-props/idle-recommendations.component-props\";\r\nimport {IStandardToastContentProps} from \"../../components/toaster/toasts-content/standard-toast.component\";\r\n\r\nexport interface IToastHandler {\r\n readonly toastId: Id;\r\n close(closeReason?: ToastCloseReason | string): void;\r\n}\r\n\r\ninterface IToastOptions {\r\n timeout?: TimeSpan;\r\n hideProgressBar?: boolean;\r\n className?: string;\r\n closeButton?: boolean;\r\n}\r\n\r\nexport const DEFAULT_TOAST_IMAGE = \"DEFAULT_TOAST_IMAGE\";\r\n\r\nexport enum ToastCloseReason {\r\n CloseButton = \"CloseButton\",\r\n}\r\n\r\nexport interface IToastDefinition {\r\n id?: number | string;\r\n toastOptions?: IToastOptions;\r\n renderContent: (handler: IToastHandler) => React.ReactElement;\r\n onToastShown?: () => void;\r\n displayCondition?: () => boolean;\r\n /**\r\n * @param closeReason ToastCloseReason | string | undefined\r\n * closeReason will be ToastCloseReason.CloseButton if the toast is closed from X button or undefined if it's autoClosed by the timeout or whatever you pass to the handler close method\r\n * Keep in mind that if you don't pass an argument to the close method the reason will be undefined just as in the case of timeout\r\n */\r\n onToastClosed?: (closeReason?: ToastCloseReason | string) => void;\r\n}\r\n\r\nexport interface IStandardToastDefinition extends Omit {\r\n contentProps: IStandardToastContentProps;\r\n}\r\n\r\ninterface IAnalyticsData {\r\n category: string;\r\n action: string;\r\n label?: string;\r\n}\r\n\r\nexport interface IAnalyticsOptions {\r\n analyticsData?: IAnalyticsData;\r\n}\r\n\r\n/**\r\n * TODO: When idle_recommendations_service.ts will be moved in orbit services move this method to the new service. It belongs there\r\n */\r\nexport interface IIdleRecomToastDef extends Omit {\r\n contentProps: IdleRecommendationsComponentProps;\r\n}\r\n\r\nexport interface IToasterService {\r\n readonly hasOpenToasters: boolean;\r\n showCustomToast(toastDef: IToastDefinition): IToastHandler;// Promise;\r\n showStandardToast(toastDef: IStandardToastDefinition): IToastHandler;\r\n showAckStandardToast(toastDef: IStandardToastDefinition): IToastHandler;\r\n /**\r\n * TODO: When idle_recommendations_service.ts will be moved in orbit services move this method to the new service. It belongs there\r\n */\r\n showIdleRecommendationToast(toastConfig: IIdleRecomToastDef): IToastHandler;\r\n}\r\n","import {CyClass} from \"../../../../common/cy-classes\";\r\n\r\nexport const TOOLTIP_TARGET_HEADER_BANKROLL_BUTTON_MOBILE = CyClass('cy-header-bankroll-button-mobile');\r\nexport const TOOLTIP_TARGET_FREE_PLAY_INDICATOR = CyClass('cy-free-play-indicator-button');\r\nexport const TOOLTIP_TARGET_GIFT_MINI_ORBIT_INDICATOR = CyClass('cy-header-menu-gift-button');\r\nexport const TOOLTIP_TARGET_CONTROL_CENTER_PC_BUTTON = CyClass('cy-header-control-center-button');","import {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\n\r\nexport default class HybridInfoMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended) {\r\n super('hybridInfoMenuItem', configReader, services);\r\n }\r\n protected _shouldDisplay(): boolean {\r\n return super._shouldDisplay() && this.services.hybrid.isDebugMode();\r\n }\r\n}","import {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {makeObservable, observable, runInAction} from \"mobx\";\r\nimport {NullableUndefinedString} from \"../../../../../../common/types/nullable-types\";\r\n\r\nexport default class TouchIdMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended) {\r\n super(\"touchIdMenuItem\", configReader, services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.sdk.events.onTouchIDActiveStateChanged(() => this._updateTouchIdStatus());\r\n\r\n if(this.services.device.hybrid.inCasino) {\r\n this._updateTouchIdStatus();\r\n }\r\n }\r\n\r\n private async _updateTouchIdStatus(): Promise {\r\n\r\n\r\n try {\r\n const isEnabled = await this.services.hybrid.isDeviceTouchEnable();\r\n\r\n runInAction(() => {\r\n this._enabled = Boolean(isEnabled);\r\n });\r\n\r\n if(isEnabled) {\r\n const isFeatureOn = await this.services.hybrid.getTouchIDFeaturer().getTokenAndCheckEnable();\r\n runInAction(() => {\r\n if(Boolean(isFeatureOn)) {\r\n this._extraText = 'On';\r\n } else {\r\n this._extraText = 'Off';\r\n }\r\n });\r\n }\r\n } catch (err) {\r\n this.services.logger.error('Failed to check touch ID feature', err);\r\n }\r\n\r\n\r\n }\r\n\r\n @observable.ref\r\n private _enabled: boolean = false;\r\n\r\n @observable.ref\r\n private _extraText: NullableUndefinedString = null;\r\n\r\n get sideText(): NullableUndefinedString {\r\n return this._extraText;\r\n\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this._enabled && super._shouldDisplay() && this.services.device.hybrid.inCasino;\r\n }\r\n}","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\n\r\nexport const UsefulLinkItemComponent: React.FC = observer((props) => {\r\n const onClickHandler = async () => {\r\n await props.menuItem.execute();\r\n }\r\n\r\n return \r\n});","import React from 'react';\r\nimport {UsefulLinkItemComponent} from '../../../../components/useful-links/parts/useful-link-item/useful-link-item.component';\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\n\r\nexport class GenericUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","export interface IAsset {\r\n toString(): string;\r\n}\r\n\r\nexport interface AssetLocationInfo {\r\n readonly skinFullName: string;\r\n readonly serverPath: string;\r\n readonly configurationPath: string;\r\n}\r\nexport class Asset implements IAsset {\r\n constructor(private _relativePath: string, private _brandsOverrides: { [key: string]: boolean }) {\r\n }\r\n\r\n\r\n private _locationInfo: AssetLocationInfo;\r\n\r\n resolveLocation(locationInfo: AssetLocationInfo): string {\r\n this._locationInfo = locationInfo;\r\n return this.toString();\r\n }\r\n\r\n toString(): string {\r\n if(!this._locationInfo) { // this is for the asset to work on unit testing time\r\n return this._relativePath;\r\n }\r\n\r\n if (this._brandsOverrides[this._locationInfo.skinFullName]) {\r\n return this._locationInfo.configurationPath + 'assets/' + this._relativePath;\r\n }\r\n\r\n return this._locationInfo.serverPath + 'assets/' + this._relativePath;\r\n }\r\n}\r\n","import { ThemeName } from \"./theme-names\";\r\n\r\nexport class ByThemeRegistry {\r\n constructor(private _default: T) {}\r\n\r\n private _registry: Partial> = {};\r\n\r\n forCasino777(override: T): this {\r\n this._registry[ThemeName.Casino777.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCasino888(override: T): this {\r\n this._registry[ThemeName.Casino888.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCip(override: T): this {\r\n this._registry[ThemeName.Casino888Cip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsopCip(override: T): this {\r\n this._registry[ThemeName.WsopCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n forCis(override: T): this {\r\n this._registry[ThemeName.Casino888Cis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrahs(override: T): this {\r\n this._registry[ThemeName.Harrahs.forClient] = override;\r\n return this;\r\n }\r\n\r\n forWsop(override: T): this {\r\n this._registry[ThemeName.Wsop.forClient] = override;\r\n return this;\r\n }\r\n\r\n forBallysDover(override: T): this {\r\n this._registry[ThemeName.BallysDover.forClient] = override;\r\n return this;\r\n }\r\n\r\n forDelawarePark(override: T): this {\r\n this._registry[ThemeName.Delawarepark.forClient] = override;\r\n return this;\r\n }\r\n\r\n forHarrington(override: T): this {\r\n this._registry[ThemeName.Harrington.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSI(override: T): this {\r\n this._registry[ThemeName.SI.forClient] = override;\r\n return this;\r\n }\r\n\r\n forSICis(override: T): this {\r\n this._registry[ThemeName.SICis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreen(override: T): this {\r\n this._registry[ThemeName.MrGreen.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCis(override: T): this {\r\n this._registry[ThemeName.MrGreenCis.forClient] = override;\r\n return this;\r\n }\r\n\r\n forMrGreenCip(override: T): this {\r\n this._registry[ThemeName.MrGreenCip.forClient] = override;\r\n return this;\r\n }\r\n\r\n getRegistryItem = (themeName: ThemeName) => {\r\n return this._registry[themeName.forClient] ? this._registry[themeName.forClient] : this._default;\r\n }\r\n}\r\n","import {EMBEDDED_HYBRID, MINI_ORBIT} from '../../css-global-classes';\r\n\r\nexport class CssRule {\r\n static get For(): CssRule {\r\n return new CssRule()\r\n }\r\n private _rules: string[] = [];\r\n private negateNextRule: boolean = false;\r\n private formatRule(rule: string) {\r\n if (this.negateNextRule) {\r\n this.negateNextRule = false;\r\n return `:not(${rule})`;\r\n }\r\n return rule;\r\n }\r\n get not(): CssRule {\r\n this.negateNextRule = true\r\n return this;\r\n }\r\n get desktop(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-pc'));\r\n return this;\r\n }\r\n\r\n get ipad(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-ipad-device'));\r\n return this;\r\n }\r\n\r\n get mobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-mobile'));\r\n return this;\r\n }\r\n\r\n get notMobileOs(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-not-mobile-os'));\r\n return this;\r\n }\r\n\r\n get lowRes(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-low-resolution'));\r\n return this;\r\n }\r\n\r\n get portrait(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-portrait'));\r\n return this;\r\n }\r\n\r\n get landscape(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-landscape'));\r\n return this;\r\n }\r\n\r\n get tablet(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-tablet'));\r\n return this;\r\n }\r\n\r\n get RTL(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-rtl'));\r\n return this;\r\n }\r\n\r\n get embededHybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.${EMBEDDED_HYBRID}`));\r\n return this;\r\n }\r\n\r\n get hybrid(): CssRule {\r\n this._rules.push(this.formatRule(`.cgp-hybrid`));\r\n return this;\r\n }\r\n\r\n get iPhoneVer5(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-5'));\r\n return this;\r\n }\r\n\r\n get iPhoneVer10(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-iphone-ver-10'));\r\n return this;\r\n }\r\n\r\n get realMobile(): CssRule {\r\n this._rules.push(this.formatRule('.cgp-real-mobile'));\r\n return this;\r\n }\r\n\r\n get miniOrbit(): CssRule {\r\n this._rules.push(this.formatRule(`.${MINI_ORBIT}`));\r\n return this;\r\n }\r\n\r\n build(): string {\r\n if(this._rules.length === 0) {\r\n return '';\r\n }\r\n\r\n return `html${this._rules.join('')}`;\r\n }\r\n}\r\n","import styled, { css } from \"styled-components\";\r\n\r\ntype FlexAlignItemsProp = \"flex-start\" | \"flex-end\" | \"stretch\" | \"center\" | \"baseline\";\r\ntype FlexJustifyContentProp = \"flex-start\" | \"flex-end\" | \"center\" | \"space-between\" | \"space-around\" | \"space-evenly\";\r\ntype FlexDirection = \"column\" | \"column-reverse\" | \"row\" | \"row-reverse\";\r\n\r\n/* styled components css interpolations */\r\n\r\nexport const flexRowContainerMixin = css`\r\n display: flex;\r\n flex-direction: row;\r\n`;\r\nexport const flexRowReverseContainerMixin = css`\r\n display: flex;\r\n flex-direction: row-reverse;\r\n`;\r\nexport const flexColumnContainerMixin = css`\r\n display: flex;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const flexAlignItemsMixin = (props: {alignItems?: FlexAlignItemsProp;}) => css`\r\n align-items: ${props.alignItems || \"unset\"};\r\n`;\r\nexport const flexJustifyContentMixin = (props: {justifyContent?: FlexJustifyContentProp;}) => css`\r\n justify-content: ${props.justifyContent || \"unset\"};\r\n`;\r\nexport const flexCenterAlignItemsMixin = css`\r\n ${flexAlignItemsMixin({alignItems: \"center\"})}\r\n`;\r\n\r\nexport const flexGrowItem = (props: {flexBasis?: string;}) => css`\r\n flex: 1 0 ${props.flexBasis || \"auto\"};\r\n`;\r\nexport const flexShrinkItem = (props: {flexBasis?: string; flexShrink?: number;}) => css`\r\n flex: 0 ${props.flexShrink || \"1\"} ${props.flexBasis || \"auto\"};\r\n`;\r\nexport const flexFixedSizeItem = css`\r\n flex: 0 0 auto;\r\n`;\r\nexport const flexAdaptiveSizeItem = css`\r\n flex: 1 1 auto;\r\n`;\r\n\r\n/* styled based components, to be used as is or as Base to be extended */\r\n\r\nexport const FlexFixedSizeItemBox = styled.div`\r\n ${flexFixedSizeItem}\r\n`;\r\n\r\nexport const FlexGrowItemBox = styled.div`\r\n ${flexGrowItem}\r\n`;\r\n\r\nexport const FlexShrinkItemBox = styled.div`\r\n ${flexShrinkItem}\r\n`;\r\n\r\nexport const FlexAdaptiveSizeItemBox = styled.div`\r\n ${flexAdaptiveSizeItem}\r\n`;\r\n\r\nexport const FlexContainerBox = styled.div<{\r\n alignItems?: FlexAlignItemsProp;\r\n justifyContent?: FlexJustifyContentProp;\r\n direction?: FlexDirection;\r\n}>`\r\n ${({direction}) => direction === \"column\" ? flexColumnContainerMixin : flexRowContainerMixin};\r\n ${flexAlignItemsMixin}\r\n ${flexJustifyContentMixin}\r\n`;\r\n","export const grayColors = {\r\n black: \"#000000\",\r\n gray013: \"#0d0d0d\",\r\n gray023: \"#171717\",\r\n gray033: \"#212121\",\r\n gray043: \"#2b2b2b\",\r\n gray053: \"#353535\",\r\n gray063: \"#3f3f3f\",\r\n gray073: \"#494949\",\r\n gray083: \"#535353\",\r\n gray093: \"#5d5d5d\",\r\n gray103: \"#676767\",\r\n gray113: \"#717171\",\r\n gray123: \"#7b7b7b\",\r\n gray133: \"#858585\",\r\n gray143: \"#8f8f8f\",\r\n gray153: \"#999999\",\r\n gray163: \"#a3a3a3\",\r\n gray173: \"#adadad\",\r\n gray183: \"#b7b7b7\",\r\n gray193: \"#c1c1c1\",\r\n gray203: \"#cbcbcb\",\r\n gray213: \"#d5d5d5\",\r\n gray223: \"#dfdfdf\",\r\n gray233: \"#e9e9e9\",\r\n gray243: \"#f3f3f3\",\r\n gray253: \"#fdfdfd\",\r\n white: \"#ffffff\",\r\n transparent: \"transparent\"\r\n}","\r\nexport enum HeaderArenasStyle {\r\n BigTiles,\r\n SmallTiles,\r\n Menu\r\n }\r\n\r\nexport interface IThemeLayout {\r\n headerArenasStyle?: HeaderArenasStyle;\r\n border: {\r\n radius: string;\r\n };\r\n}","import React from 'react';\r\nimport {StyledComponent} from 'styled-components';\r\nimport {OrbitTheme} from './orbit-theme.interface';\r\nimport {OrbitComponent} from '../../components/base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport function styledByDevice, O extends object = {}>(\r\n pc: StyledComponent, mobile: StyledComponent\r\n): StyledComponent {\r\n\r\n let ComponentDefinition = observer(class extends OrbitComponent{\r\n render() {\r\n let Component = null;\r\n\r\n if(this.services.device.isMobile) {\r\n Component = mobile;\r\n } else {\r\n Component = pc;\r\n }\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n });\r\n\r\n\r\n let finalComponent = React.forwardRef((props, ref) => );\r\n\r\n return (finalComponent as any) as StyledComponent;\r\n}","import React from 'react';\r\nimport { StyledComponent } from 'styled-components';\r\nimport { OrbitTheme } from './orbit-theme.interface';\r\nimport { OrbitComponent } from '../../components/base-components/orbit-component/orbit-component';\r\nimport { ByThemeRegistry } from './by-theme-registry';\r\n\r\nclass StyledByTheme, O extends object = {}>\r\n extends ByThemeRegistry> {\r\n\r\n apply(): StyledComponent {\r\n const getRegistryItem = this.getRegistryItem;\r\n let ComponentDefinition = class extends OrbitComponent{\r\n render() {\r\n let Component: any = getRegistryItem(this.services.theme.themeName);\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n };\r\n\r\n let finalComponent = React.forwardRef((props, ref) => );\r\n\r\n return (finalComponent as any) as StyledComponent;\r\n }\r\n}\r\n\r\n\r\nexport function styledByTheme<\r\n C extends keyof JSX.IntrinsicElements | React.ComponentType,\r\n O extends object = {}\r\n>(defaultComponent: StyledComponent): StyledByTheme {\r\n return new StyledByTheme(defaultComponent);\r\n}\r\n","import {ClientThemeName} from \"@sparkware/uc-sdk-core\";\r\n\r\nexport class ThemeName {\r\n constructor(public readonly forClient: string,\r\n public readonly forWidgets: ClientThemeName) {\r\n }\r\n\r\n public static Casino888 = new ThemeName('casino888', ClientThemeName.Casino888);\r\n public static Casino888Cip = new ThemeName(\"casino888/cip\", ClientThemeName.Casino888);\r\n public static Casino888Cis = new ThemeName(\"casino888/cis\", ClientThemeName.Casino888);\r\n public static Casino777 = new ThemeName(\"casino777\", ClientThemeName.Casino777);\r\n\r\n public static Harrahs = new ThemeName(\"harrahs\", ClientThemeName.Harrahs)\r\n public static Wsop = new ThemeName('wsop', ClientThemeName.WSOP);\r\n public static WsopCip = new ThemeName(\"wsop/cip\", ClientThemeName.WSOP);\r\n public static BallysDover = new ThemeName(\"ballysdover\", ClientThemeName.Ballysdover);\r\n public static Delawarepark = new ThemeName(\"delawarepark\", ClientThemeName.Delawarepark);\r\n public static Harrington = new ThemeName(\"harrington\", ClientThemeName.Harrington);\r\n public static SI = new ThemeName('si', ClientThemeName.SI); //sports illustrator\r\n public static SICis = new ThemeName('si/cis', ClientThemeName.SI);\r\n public static MrGreen = new ThemeName(\"mrgreen\", ClientThemeName.MrGreen);\r\n public static MrGreenCis = new ThemeName(\"mrgreen/cis\", ClientThemeName.MrGreen);\r\n public static MrGreenCip = new ThemeName(\"mrgreen/cip\", ClientThemeName.MrGreen);\r\n}","/** This is an automatically generated file.*/\nimport {Asset} from './architecture/asset';\nexport const Assets = {\n\tfonts: {\n\t\t_888_Black_eot: new Asset(\"fonts/888-Black.eot\", {}),\n\t\t_888_Black_otf: new Asset(\"fonts/888-Black.otf\", {}),\n\t\t_888_Black_svg: new Asset(\"fonts/888-Black.svg\", {}),\n\t\t_888_Black_ttf: new Asset(\"fonts/888-Black.ttf\", {}),\n\t\t_888_Black_woff: new Asset(\"fonts/888-Black.woff\", {}),\n\t\t_888_Black_woff2: new Asset(\"fonts/888-Black.woff2\", {}),\n\t\t_888_Bold_eot: new Asset(\"fonts/888-Bold.eot\", {'777_com': true}),\n\t\t_888_Bold_otf: new Asset(\"fonts/888-Bold.otf\", {'777_com': true}),\n\t\t_888_Bold_svg: new Asset(\"fonts/888-Bold.svg\", {'777_com': true}),\n\t\t_888_Bold_ttf: new Asset(\"fonts/888-Bold.ttf\", {'777_com': true}),\n\t\t_888_Bold_woff: new Asset(\"fonts/888-Bold.woff\", {'777_com': true}),\n\t\t_888_DemiBold_eot: new Asset(\"fonts/888-DemiBold.eot\", {}),\n\t\t_888_DemiBold_otf: new Asset(\"fonts/888-DemiBold.otf\", {}),\n\t\t_888_DemiBold_svg: new Asset(\"fonts/888-DemiBold.svg\", {}),\n\t\t_888_DemiBold_ttf: new Asset(\"fonts/888-DemiBold.ttf\", {}),\n\t\t_888_DemiBold_woff: new Asset(\"fonts/888-DemiBold.woff\", {}),\n\t\t_888_DemiBold_woff2: new Asset(\"fonts/888-DemiBold.woff2\", {}),\n\t\t_888_Light_eot: new Asset(\"fonts/888-Light.eot\", {}),\n\t\t_888_Light_otf: new Asset(\"fonts/888-Light.otf\", {}),\n\t\t_888_Light_svg: new Asset(\"fonts/888-Light.svg\", {}),\n\t\t_888_Light_ttf: new Asset(\"fonts/888-Light.ttf\", {}),\n\t\t_888_Light_woff: new Asset(\"fonts/888-Light.woff\", {}),\n\t\t_888_Light_woff2: new Asset(\"fonts/888-Light.woff2\", {}),\n\t\t_888_Medium_eot: new Asset(\"fonts/888-Medium.eot\", {}),\n\t\t_888_Medium_otf: new Asset(\"fonts/888-Medium.otf\", {}),\n\t\t_888_Medium_svg: new Asset(\"fonts/888-Medium.svg\", {}),\n\t\t_888_Medium_ttf: new Asset(\"fonts/888-Medium.ttf\", {}),\n\t\t_888_Medium_woff: new Asset(\"fonts/888-Medium.woff\", {}),\n\t\t_888_Medium_woff2: new Asset(\"fonts/888-Medium.woff2\", {}),\n\t\t_888_Regular_eot: new Asset(\"fonts/888-Regular.eot\", {}),\n\t\t_888_Regular_otf: new Asset(\"fonts/888-Regular.otf\", {}),\n\t\t_888_Regular_svg: new Asset(\"fonts/888-Regular.svg\", {}),\n\t\t_888_Regular_ttf: new Asset(\"fonts/888-Regular.ttf\", {}),\n\t\t_888_Regular_woff: new Asset(\"fonts/888-Regular.woff\", {}),\n\t\t_888_Regular_woff2: new Asset(\"fonts/888-Regular.woff2\", {}),\n\t\t_888_SemiCondensedBold_eot: new Asset(\"fonts/888-SemiCondensedBold.eot\", {}),\n\t\t_888_SemiCondensedBold_otf: new Asset(\"fonts/888-SemiCondensedBold.otf\", {}),\n\t\t_888_SemiCondensedBold_svg: new Asset(\"fonts/888-SemiCondensedBold.svg\", {}),\n\t\t_888_SemiCondensedBold_ttf: new Asset(\"fonts/888-SemiCondensedBold.ttf\", {}),\n\t\t_888_SemiCondensedBold_woff: new Asset(\"fonts/888-SemiCondensedBold.woff\", {}),\n\t\t_888_SemiCondensedBold_woff2: new Asset(\"fonts/888-SemiCondensedBold.woff2\", {}),\n\t\t_888_SemiCondensedDemiBold_eot: new Asset(\"fonts/888-SemiCondensedDemiBold.eot\", {}),\n\t\t_888_SemiCondensedDemiBold_otf: new Asset(\"fonts/888-SemiCondensedDemiBold.otf\", {}),\n\t\t_888_SemiCondensedDemiBold_svg: new Asset(\"fonts/888-SemiCondensedDemiBold.svg\", {}),\n\t\t_888_SemiCondensedDemiBold_ttf: new Asset(\"fonts/888-SemiCondensedDemiBold.ttf\", {}),\n\t\t_888_SemiCondensedDemiBold_woff: new Asset(\"fonts/888-SemiCondensedDemiBold.woff\", {}),\n\t\t_888_SemiCondensedDemiBold_woff2: new Asset(\"fonts/888-SemiCondensedDemiBold.woff2\", {}),\n\t\t_888_Thin_eot: new Asset(\"fonts/888-Thin.eot\", {}),\n\t\t_888_Thin_otf: new Asset(\"fonts/888-Thin.otf\", {}),\n\t\t_888_Thin_svg: new Asset(\"fonts/888-Thin.svg\", {}),\n\t\t_888_Thin_ttf: new Asset(\"fonts/888-Thin.ttf\", {}),\n\t\t_888_Thin_woff: new Asset(\"fonts/888-Thin.woff\", {}),\n\t\t_888_Thin_woff2: new Asset(\"fonts/888-Thin.woff2\", {}),\n\t\t_888_Ultra_eot: new Asset(\"fonts/888-Ultra.eot\", {}),\n\t\t_888_Ultra_otf: new Asset(\"fonts/888-Ultra.otf\", {}),\n\t\t_888_Ultra_svg: new Asset(\"fonts/888-Ultra.svg\", {}),\n\t\t_888_Ultra_ttf: new Asset(\"fonts/888-Ultra.ttf\", {}),\n\t\t_888_Ultra_woff: new Asset(\"fonts/888-Ultra.woff\", {}),\n\t\t_888_Ultra_woff2: new Asset(\"fonts/888-Ultra.woff2\", {}),\n\t\tdigital_7_mono_ttf: new Asset(\"fonts/digital_7_mono.ttf\", {}),\n\t\tLobster_Regular_eot: new Asset(\"fonts/Lobster_Regular.eot\", {'777_com': true}),\n\t\tLobster_Regular_otf: new Asset(\"fonts/Lobster_Regular.otf\", {'777_com': true}),\n\t\tLobster_Regular_svg: new Asset(\"fonts/Lobster_Regular.svg\", {'777_com': true}),\n\t\tLobster_Regular_ttf: new Asset(\"fonts/Lobster_Regular.ttf\", {'777_com': true}),\n\t\tLobster_Regular_woff: new Asset(\"fonts/Lobster_Regular.woff\", {'777_com': true}),\n\t\tLobster_Regular_woff2: new Asset(\"fonts/Lobster_Regular.woff2\", {'777_com': true}),\n\t\tOleoScript_Bold_ttf: new Asset(\"fonts/OleoScript-Bold.ttf\", {}),\n\t\toleo_script_reg_eot: new Asset(\"fonts/oleo_script_reg.eot\", {}),\n\t\toleo_script_reg_svg: new Asset(\"fonts/oleo_script_reg.svg\", {}),\n\t\toleo_script_reg_ttf: new Asset(\"fonts/oleo_script_reg.ttf\", {}),\n\t\toleo_script_reg_woff: new Asset(\"fonts/oleo_script_reg.woff\", {}),\n\t\toleo_script_reg_woff2: new Asset(\"fonts/oleo_script_reg.woff2\", {}),\n\t\toleo_script_reg_ext_woff2: new Asset(\"fonts/oleo_script_reg_ext.woff2\", {}),\n\t\tRobotoCondensed_Bold_ttf: new Asset(\"fonts/RobotoCondensed-Bold.ttf\", {}),\n\t\tTradeGothicLTStd_Bd2_otf: new Asset(\"fonts/TradeGothicLTStd-Bd2.otf\", {}),\n\t\tBello_Script_eot: new Asset(\"fonts/Bello_Script.eot\", {'777_com': true}),\n\t\tBello_Script_svg: new Asset(\"fonts/Bello_Script.svg\", {'777_com': true}),\n\t\tBello_Script_ttf: new Asset(\"fonts/Bello_Script.ttf\", {'777_com': true}),\n\t\tBello_Script_woff: new Asset(\"fonts/Bello_Script.woff\", {'777_com': true}),\n\t\tBello_Script_woff2: new Asset(\"fonts/Bello_Script.woff2\", {'777_com': true}),\n\t\tFutura_PT_Bold_eot: new Asset(\"fonts/Futura_PT_Bold.eot\", {'777_com': true}),\n\t\tFutura_PT_Bold_otf: new Asset(\"fonts/Futura_PT_Bold.otf\", {'777_com': true}),\n\t\tFutura_PT_Bold_svg: new Asset(\"fonts/Futura_PT_Bold.svg\", {'777_com': true}),\n\t\tFutura_PT_Bold_ttf: new Asset(\"fonts/Futura_PT_Bold.ttf\", {'777_com': true}),\n\t\tFutura_PT_Bold_woff: new Asset(\"fonts/Futura_PT_Bold.woff\", {'777_com': true}),\n\t\tFutura_PT_Bold_woff2: new Asset(\"fonts/Futura_PT_Bold.woff2\", {'777_com': true}),\n\t\tFutura_PT_Book_eot: new Asset(\"fonts/Futura_PT_Book.eot\", {'777_com': true}),\n\t\tFutura_PT_Book_otf: new Asset(\"fonts/Futura_PT_Book.otf\", {'777_com': true}),\n\t\tFutura_PT_Book_svg: new Asset(\"fonts/Futura_PT_Book.svg\", {'777_com': true}),\n\t\tFutura_PT_Book_ttf: new Asset(\"fonts/Futura_PT_Book.ttf\", {'777_com': true}),\n\t\tFutura_PT_Book_woff: new Asset(\"fonts/Futura_PT_Book.woff\", {'777_com': true}),\n\t\tFutura_PT_Book_woff2: new Asset(\"fonts/Futura_PT_Book.woff2\", {'777_com': true}),\n\t\tFutura_PT_Demi_eot: new Asset(\"fonts/Futura_PT_Demi.eot\", {'777_com': true}),\n\t\tFutura_PT_Demi_otf: new Asset(\"fonts/Futura_PT_Demi.otf\", {'777_com': true}),\n\t\tFutura_PT_Demi_svg: new Asset(\"fonts/Futura_PT_Demi.svg\", {'777_com': true}),\n\t\tFutura_PT_Demi_ttf: new Asset(\"fonts/Futura_PT_Demi.ttf\", {'777_com': true}),\n\t\tFutura_PT_Demi_woff: new Asset(\"fonts/Futura_PT_Demi.woff\", {'777_com': true}),\n\t\tFutura_PT_Demi_woff2: new Asset(\"fonts/Futura_PT_Demi.woff2\", {'777_com': true}),\n\t\tFutura_PT_Heavy_eot: new Asset(\"fonts/Futura_PT_Heavy.eot\", {'777_com': true}),\n\t\tFutura_PT_Heavy_otf: new Asset(\"fonts/Futura_PT_Heavy.otf\", {'777_com': true}),\n\t\tFutura_PT_Heavy_svg: new Asset(\"fonts/Futura_PT_Heavy.svg\", {'777_com': true}),\n\t\tFutura_PT_Heavy_ttf: new Asset(\"fonts/Futura_PT_Heavy.ttf\", {'777_com': true}),\n\t\tFutura_PT_Heavy_woff: new Asset(\"fonts/Futura_PT_Heavy.woff\", {'777_com': true}),\n\t\tFutura_PT_Heavy_woff2: new Asset(\"fonts/Futura_PT_Heavy.woff2\", {'777_com': true}),\n\t\tFutura_PT_Medium_eot: new Asset(\"fonts/Futura_PT_Medium.eot\", {'777_com': true}),\n\t\tFutura_PT_Medium_otf: new Asset(\"fonts/Futura_PT_Medium.otf\", {'777_com': true}),\n\t\tFutura_PT_Medium_svg: new Asset(\"fonts/Futura_PT_Medium.svg\", {'777_com': true}),\n\t\tFutura_PT_Medium_ttf: new Asset(\"fonts/Futura_PT_Medium.ttf\", {'777_com': true}),\n\t\tFutura_PT_Medium_woff: new Asset(\"fonts/Futura_PT_Medium.woff\", {'777_com': true}),\n\t\tFutura_PT_Medium_woff2: new Asset(\"fonts/Futura_PT_Medium.woff2\", {'777_com': true}),\n\t\tFuturaPTBold_otf: new Asset(\"fonts/FuturaPTBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBoldOblique_otf: new Asset(\"fonts/FuturaPTBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBook_otf: new Asset(\"fonts/FuturaPTBook.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTBookOblique_otf: new Asset(\"fonts/FuturaPTBookOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBold_otf: new Asset(\"fonts/FuturaPTCondBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBoldOblique_otf: new Asset(\"fonts/FuturaPTCondBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBook_otf: new Asset(\"fonts/FuturaPTCondBook.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondBookOblique_otf: new Asset(\"fonts/FuturaPTCondBookOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondExtraBold_otf: new Asset(\"fonts/FuturaPTCondExtraBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondExtraBoldOblique_otf: new Asset(\"fonts/FuturaPTCondExtraBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondMedium_otf: new Asset(\"fonts/FuturaPTCondMedium.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTCondMediumOblique_otf: new Asset(\"fonts/FuturaPTCondMediumOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTDemi_otf: new Asset(\"fonts/FuturaPTDemi.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTDemiOblique_otf: new Asset(\"fonts/FuturaPTDemiOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTExtraBold_otf: new Asset(\"fonts/FuturaPTExtraBold.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTExtraBoldOblique_otf: new Asset(\"fonts/FuturaPTExtraBoldOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTHeavy_otf: new Asset(\"fonts/FuturaPTHeavy.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTHeavyOblique_otf: new Asset(\"fonts/FuturaPTHeavyOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTLight_otf: new Asset(\"fonts/FuturaPTLight.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTLightOblique_otf: new Asset(\"fonts/FuturaPTLightOblique.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTMedium_otf: new Asset(\"fonts/FuturaPTMedium.otf\", {'ballysdover_de': true}),\n\t\tFuturaPTMediumOblique_otf: new Asset(\"fonts/FuturaPTMediumOblique.otf\", {'ballysdover_de': true}),\n\t\ta_and_s_signwriter_ttf: new Asset(\"fonts/a_and_s_signwriter.ttf\", {'harrington_de': true}),\n\t\tGotham_Black_otf: new Asset(\"fonts/Gotham-Black.otf\", {'harrington_de': true}),\n\t\tGotham_BlackItalic_otf: new Asset(\"fonts/Gotham-BlackItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Bold_otf: new Asset(\"fonts/Gotham-Bold.otf\", {'harrington_de': true}),\n\t\tGotham_BoldItalic_otf: new Asset(\"fonts/Gotham-BoldItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Book_otf: new Asset(\"fonts/Gotham-Book.otf\", {'harrington_de': true}),\n\t\tGotham_BookItalic_otf: new Asset(\"fonts/Gotham-BookItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Light_otf: new Asset(\"fonts/Gotham-Light.otf\", {'harrington_de': true}),\n\t\tGotham_LightItalic_otf: new Asset(\"fonts/Gotham-LightItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Medium_otf: new Asset(\"fonts/Gotham-Medium.otf\", {'harrington_de': true}),\n\t\tGotham_MediumItalic_otf: new Asset(\"fonts/Gotham-MediumItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Thin_otf: new Asset(\"fonts/Gotham-Thin.otf\", {'harrington_de': true}),\n\t\tGotham_ThinItalic_otf: new Asset(\"fonts/Gotham-ThinItalic.otf\", {'harrington_de': true}),\n\t\tGotham_Ultra_otf: new Asset(\"fonts/Gotham-Ultra.otf\", {'harrington_de': true}),\n\t\tGotham_UltraItalic_otf: new Asset(\"fonts/Gotham-UltraItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Black_otf: new Asset(\"fonts/GothamXNarrow-Black.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BlackItalic_otf: new Asset(\"fonts/GothamXNarrow-BlackItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Bold_otf: new Asset(\"fonts/GothamXNarrow-Bold.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BoldItalic_otf: new Asset(\"fonts/GothamXNarrow-BoldItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Book_otf: new Asset(\"fonts/GothamXNarrow-Book.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_BookItalic_otf: new Asset(\"fonts/GothamXNarrow-BookItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Light_otf: new Asset(\"fonts/GothamXNarrow-Light.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_LightItalic_otf: new Asset(\"fonts/GothamXNarrow-LightItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Medium_otf: new Asset(\"fonts/GothamXNarrow-Medium.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_MediumItalic_otf: new Asset(\"fonts/GothamXNarrow-MediumItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Thin_otf: new Asset(\"fonts/GothamXNarrow-Thin.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_ThinItalic_otf: new Asset(\"fonts/GothamXNarrow-ThinItalic.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_Ultra_otf: new Asset(\"fonts/GothamXNarrow-Ultra.otf\", {'harrington_de': true}),\n\t\tGothamXNarrow_UltraItalic_otf: new Asset(\"fonts/GothamXNarrow-UltraItalic.otf\", {'harrington_de': true}),\n\t\tMontserrat_VariableFont_ttf: new Asset(\"fonts/Montserrat-VariableFont.ttf\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tIndustry_Black_eot: new Asset(\"fonts/Industry-Black.eot\", {'si_mi': true}),\n\t\tIndustry_Black_ttf: new Asset(\"fonts/Industry-Black.ttf\", {'si_mi': true}),\n\t\tIndustry_Black_woff: new Asset(\"fonts/Industry-Black.woff\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_eot: new Asset(\"fonts/Industry-BlackItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_ttf: new Asset(\"fonts/Industry-BlackItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BlackItalic_woff: new Asset(\"fonts/Industry-BlackItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Bold_eot: new Asset(\"fonts/Industry-Bold.eot\", {'si_mi': true}),\n\t\tIndustry_Bold_ttf: new Asset(\"fonts/Industry-Bold.ttf\", {'si_mi': true}),\n\t\tIndustry_Bold_woff: new Asset(\"fonts/Industry-Bold.woff\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_eot: new Asset(\"fonts/Industry-BoldItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_ttf: new Asset(\"fonts/Industry-BoldItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BoldItalic_woff: new Asset(\"fonts/Industry-BoldItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Book_eot: new Asset(\"fonts/Industry-Book.eot\", {'si_mi': true}),\n\t\tIndustry_Book_ttf: new Asset(\"fonts/Industry-Book.ttf\", {'si_mi': true}),\n\t\tIndustry_Book_woff: new Asset(\"fonts/Industry-Book.woff\", {'si_mi': true}),\n\t\tIndustry_BookItalic_eot: new Asset(\"fonts/Industry-BookItalic.eot\", {'si_mi': true}),\n\t\tIndustry_BookItalic_ttf: new Asset(\"fonts/Industry-BookItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_BookItalic_woff: new Asset(\"fonts/Industry-BookItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Demi_eot: new Asset(\"fonts/Industry-Demi.eot\", {'si_mi': true}),\n\t\tIndustry_Demi_ttf: new Asset(\"fonts/Industry-Demi.ttf\", {'si_mi': true}),\n\t\tIndustry_Demi_woff: new Asset(\"fonts/Industry-Demi.woff\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_eot: new Asset(\"fonts/Industry-DemiItalic.eot\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_ttf: new Asset(\"fonts/Industry-DemiItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_DemiItalic_woff: new Asset(\"fonts/Industry-DemiItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Light_eot: new Asset(\"fonts/Industry-Light.eot\", {'si_mi': true}),\n\t\tIndustry_Light_ttf: new Asset(\"fonts/Industry-Light.ttf\", {'si_mi': true}),\n\t\tIndustry_Light_woff: new Asset(\"fonts/Industry-Light.woff\", {'si_mi': true}),\n\t\tIndustry_LightItalic_eot: new Asset(\"fonts/Industry-LightItalic.eot\", {'si_mi': true}),\n\t\tIndustry_LightItalic_ttf: new Asset(\"fonts/Industry-LightItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_LightItalic_woff: new Asset(\"fonts/Industry-LightItalic.woff\", {'si_mi': true}),\n\t\tIndustry_Medium_eot: new Asset(\"fonts/Industry-Medium.eot\", {'si_mi': true}),\n\t\tIndustry_Medium_ttf: new Asset(\"fonts/Industry-Medium.ttf\", {'si_mi': true}),\n\t\tIndustry_Medium_woff: new Asset(\"fonts/Industry-Medium.woff\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_eot: new Asset(\"fonts/Industry-MediumItalic.eot\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_ttf: new Asset(\"fonts/Industry-MediumItalic.ttf\", {'si_mi': true}),\n\t\tIndustry_MediumItalic_woff: new Asset(\"fonts/Industry-MediumItalic.woff\", {'si_mi': true}),\n\t\tPoppins_Regular_ttf: new Asset(\"fonts/Poppins-Regular.ttf\", {'si_mi': true}),\n\t\tPoppins_SemiBold_ttf: new Asset(\"fonts/Poppins-SemiBold.ttf\", {'si_mi': true}),\n\t\tSolanoGothicMVB_Bd_ttf: new Asset(\"fonts/SolanoGothicMVB-Bd.ttf\", {'si_mi': true})\n\t},\n\timages: {\n\t\tarena_shaddow_png: new Asset(\"images/arena-shaddow.png\", {'777_com': true}),\n\t\tbroken_link_icon_png: new Asset(\"images/broken_link_icon.png\", {}),\n\t\tcasino_live_logo_mobile_png: new Asset(\"images/casino-live-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tcasino_live_logo_png: new Asset(\"images/casino-live-logo.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tcheck_png: new Asset(\"images/check.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tcheckbox_checked_png: new Asset(\"images/checkbox_checked.png\", {}),\n\t\tcheckbox_empty_png: new Asset(\"images/checkbox_empty.png\", {}),\n\t\tclose_modal_dialog_png: new Asset(\"images/close_modal_dialog.png\", {'777_com': true}),\n\t\tdeposit_header_icon_svg: new Asset(\"images/deposit_header_icon.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tempty_image_sq_gif: new Asset(\"images/empty-image-sq.gif\", {}),\n\t\tempty_image_gif: new Asset(\"images/empty-image.gif\", {}),\n\t\texclusives_list_icon_png: new Asset(\"images/exclusives_list_icon.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\tfull_screen_off_png: new Asset(\"images/full-screen-off.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tfull_screen_on_png: new Asset(\"images/full-screen-on.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\tgame_default_background_png: new Asset(\"images/game_default_background.png\", {}),\n\t\thorizontal_line_glow_mobile_png: new Asset(\"images/horizontal-line-glow-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\thorizontal_line_glow_png: new Asset(\"images/horizontal-line-glow.png\", {'777_com': true}),\n\t\tidle_recomm_toaster_bg_png: new Asset(\"images/idle-recomm-toaster-bg.png\", {}),\n\t\tinfoBTN_png: new Asset(\"images/infoBTN.png\", {}),\n\t\tios_share_svg: new Asset(\"images/ios-share.svg\", {}),\n\t\tjackpot_widget_title_crown_png: new Asset(\"images/jackpot_widget_title_crown.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\tlamp_png: new Asset(\"images/lamp.png\", {}),\n\t\tlive_tables_top_border_png: new Asset(\"images/live-tables-top-border.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tparty_jackpot_logo_png: new Asset(\"images/party_jackpot_logo.png\", {}),\n\t\tplaceholder_game_icon_png: new Asset(\"images/placeholder_game_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tplaceholder_game_icon_sq_png: new Asset(\"images/placeholder_game_icon_sq.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tright_arrow_png: new Asset(\"images/right-arrow.png\", {'777_com': true}),\n\t\tshaddow_bg_png: new Asset(\"images/shaddow-bg.png\", {'777_com': true}),\n\t\tside_menu_header_decoration_png: new Asset(\"images/side-menu-header-decoration.png\", {'777_com': true}),\n\t\tsplash_page_logo_0_0_png: new Asset(\"images/splash_page_logo-0-0.png\", {}),\n\t\tsplash_page_logo_0_111_png: new Asset(\"images/splash_page_logo-0-111.png\", {'777_com': true}),\n\t\tsplash_page_logo_1_53_png: new Asset(\"images/splash_page_logo-1-53.png\", {}),\n\t\tsplash_page_logo_31_46_png: new Asset(\"images/splash_page_logo-31-46.png\", {}),\n\t\tsplash_page_logo_58_82_png: new Asset(\"images/splash_page_logo-58-82.png\", {}),\n\t\tsplash_page_logo_68_98_png: new Asset(\"images/splash_page_logo-68-98.png\", {}),\n\t\tsplash_page_logo_69_100_png: new Asset(\"images/splash_page_logo-69-100.png\", {}),\n\t\tsplash_page_logo_70_102_png: new Asset(\"images/splash_page_logo-70-102.png\", {}),\n\t\tsplash_page_logo_71_104_png: new Asset(\"images/splash_page_logo-71-104.png\", {}),\n\t\tsplash_page_logo_72_105_png: new Asset(\"images/splash_page_logo-72-105.png\", {}),\n\t\tsplash_page_logo_73_107_png: new Asset(\"images/splash_page_logo-73-107.png\", {}),\n\t\tsplash_page_logo_75_113_png: new Asset(\"images/splash_page_logo-75-113.png\", {}),\n\t\tsplash_page_logo_76_119_png: new Asset(\"images/splash_page_logo-76-119.png\", {}),\n\t\tsplash_page_logo_79_125_png: new Asset(\"images/splash_page_logo-79-125.png\", {}),\n\t\tsplash_page_logo_8_78_png: new Asset(\"images/splash_page_logo-8-78.png\", {}),\n\t\tsplash_page_logo_81_129_png: new Asset(\"images/splash_page_logo-81-129.png\", {}),\n\t\tsplash_page_logo_84_137_png: new Asset(\"images/splash_page_logo-84-137.png\", {}),\n\t\tsplash_page_logo_87_141_png: new Asset(\"images/splash_page_logo-87-141.png\", {}),\n\t\tsplash_page_logo_88_144_png: new Asset(\"images/splash_page_logo-88-144.png\", {}),\n\t\tsplash_page_logo_91_151_png: new Asset(\"images/splash_page_logo-91-151.png\", {'si_mi': true}),\n\t\tsplash_page_logo_92_152_png: new Asset(\"images/splash_page_logo-92-152.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsplash_page_logo_93_154_png: new Asset(\"images/splash_page_logo-93-154.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsplash_page_logo_cip8_0_0_png: new Asset(\"images/splash_page_logo-cip8-0-0.png\", {}),\n\t\tsplash_page_logo_cip8_1_53_png: new Asset(\"images/splash_page_logo-cip8-1-53.png\", {}),\n\t\tsplash_page_logo_cip8_31_46_png: new Asset(\"images/splash_page_logo-cip8-31-46.png\", {}),\n\t\tsplash_page_logo_cip8_58_82_png: new Asset(\"images/splash_page_logo-cip8-58-82.png\", {}),\n\t\tsplash_page_logo_cip8_71_104_png: new Asset(\"images/splash_page_logo-cip8-71-104.png\", {}),\n\t\tsplash_page_logo_cip8_73_107_png: new Asset(\"images/splash_page_logo-cip8-73-107.png\", {}),\n\t\tsplash_page_logo_cip8_75_113_png: new Asset(\"images/splash_page_logo-cip8-75-113.png\", {}),\n\t\tsplash_page_logo_cip8_76_119_png: new Asset(\"images/splash_page_logo-cip8-76-119.png\", {}),\n\t\tsplash_page_logo_cip8_79_125_png: new Asset(\"images/splash_page_logo-cip8-79-125.png\", {}),\n\t\tsplash_page_logo_cip8_8_78_png: new Asset(\"images/splash_page_logo-cip8-8-78.png\", {}),\n\t\tsplash_page_logo_cip8_81_129_png: new Asset(\"images/splash_page_logo-cip8-81-129.png\", {}),\n\t\tsplash_page_logo_cip8_84_137_png: new Asset(\"images/splash_page_logo-cip8-84-137.png\", {}),\n\t\tsplash_page_logo_cip8_87_142_png: new Asset(\"images/splash_page_logo-cip8-87-142.png\", {}),\n\t\tsplash_page_logo_cip8_88_145_png: new Asset(\"images/splash_page_logo-cip8-88-145.png\", {}),\n\t\tsplash_page_logo_cip8_png: new Asset(\"images/splash_page_logo-cip8.png\", {}),\n\t\tsplash_page_logo_cis_0_0_png: new Asset(\"images/splash_page_logo-cis-0-0.png\", {}),\n\t\tsplash_page_logo_cis_1_53_png: new Asset(\"images/splash_page_logo-cis-1-53.png\", {}),\n\t\tsplash_page_logo_cis_31_46_png: new Asset(\"images/splash_page_logo-cis-31-46.png\", {}),\n\t\tsplash_page_logo_cis_58_82_png: new Asset(\"images/splash_page_logo-cis-58-82.png\", {}),\n\t\tsplash_page_logo_cis_71_104_png: new Asset(\"images/splash_page_logo-cis-71-104.png\", {}),\n\t\tsplash_page_logo_cis_73_107_png: new Asset(\"images/splash_page_logo-cis-73-107.png\", {}),\n\t\tsplash_page_logo_cis_75_113_png: new Asset(\"images/splash_page_logo-cis-75-113.png\", {}),\n\t\tsplash_page_logo_cis_76_119_png: new Asset(\"images/splash_page_logo-cis-76-119.png\", {}),\n\t\tsplash_page_logo_cis_79_125_png: new Asset(\"images/splash_page_logo-cis-79-125.png\", {}),\n\t\tsplash_page_logo_cis_8_78_png: new Asset(\"images/splash_page_logo-cis-8-78.png\", {}),\n\t\tsplash_page_logo_cis_81_129_png: new Asset(\"images/splash_page_logo-cis-81-129.png\", {}),\n\t\tsplash_page_logo_cis_84_137_png: new Asset(\"images/splash_page_logo-cis-84-137.png\", {}),\n\t\tsplash_page_logo_cis_87_142_png: new Asset(\"images/splash_page_logo-cis-87-142.png\", {}),\n\t\tsplash_page_logo_cis_88_145_png: new Asset(\"images/splash_page_logo-cis-88-145.png\", {}),\n\t\tsplash_page_logo_cis_91_151_png: new Asset(\"images/splash_page_logo-cis-91-151.png\", {}),\n\t\tsplash_page_logo_cis_png: new Asset(\"images/splash_page_logo-cis.png\", {}),\n\t\tSpriteSheetPC1920_png: new Asset(\"images/SpriteSheetPC1920.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\ttexture_png: new Asset(\"images/texture.png\", {'777_com': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\ttop_banner_placeholder_gif: new Asset(\"images/top_banner_placeholder.gif\", {}),\n\t\tvertical_line_glow_png: new Asset(\"images/vertical-line-glow.png\", {'777_com': true}),\n\t\twww_splash_page_logo_1_111_png: new Asset(\"images/www_splash_page_logo-1-111.png\", {}),\n\t\t_3px_tile_png: new Asset(\"images/3px-tile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t_777logo_png: new Asset(\"images/777logo.png\", {'777_com': true}),\n\t\t_777logo_svg: new Asset(\"images/777logo.svg\", {'777_com': true}),\n\t\tbrilliant_png: new Asset(\"images/brilliant.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tclose_modal_dialog_hover_png: new Asset(\"images/close_modal_dialog_hover.png\", {'777_com': true}),\n\t\thistory_bg_title_png: new Asset(\"images/history_bg_title.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_content_banner_png: new Asset(\"images/home-content-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\thome_page_top_banner_png: new Asset(\"images/home-page-top-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tinfo_img_png: new Asset(\"images/info-img.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tjackpots_bg_png: new Asset(\"images/jackpots-bg.png\", {'777_com': true}),\n\t\tlang_reg_icon_png: new Asset(\"images/lang_reg_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlang_selected_icon_png: new Asset(\"images/lang_selected_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_info_png: new Asset(\"images/letter-info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_play_png: new Asset(\"images/letter-play.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tletter_design_png: new Asset(\"images/letter_design.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_arena_banner_png: new Asset(\"images/live-arena-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tlive_chat_png: new Asset(\"images/live-chat.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tlive_content_banner_png: new Asset(\"images/live-content-banner.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tnotification_off_png: new Asset(\"images/notification off.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tonly_real_money_game_warning_png: new Asset(\"images/only-real-money-game-warning.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tpay_icon_png: new Asset(\"images/pay-icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tswiper_layout_bottom_shaddow_png: new Asset(\"images/swiper-layout-bottom-shaddow.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_menu_box_icon_png: new Asset(\"images/user-menu-box-icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tuser_png: new Asset(\"images/user.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t_888casinologo_dark_png: new Asset(\"images/888casinologo-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_mobile_svg: new Asset(\"images/888casinologo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_pc_svg: new Asset(\"images/888casinologo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t_888casinologo_png: new Asset(\"images/888casinologo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tblackSquare_png: new Asset(\"images/blackSquare.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\tdiv_lang_png: new Asset(\"images/div-lang.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tgermany_panic_icon_png: new Asset(\"images/germany_panic_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tballysdoverlogo_svg: new Asset(\"images/ballysdoverlogo.svg\", {'ballysdover_de': true}),\n\t\tballysdover_logo_svg: new Asset(\"images/ballysdover_logo.svg\", {'ballysdover_de': true}),\n\t\tdelaware_park_logo_svg: new Asset(\"images/delaware-park-logo.svg\", {'delawarepark_de': true}),\n\t\tdelawareparklogo_svg: new Asset(\"images/delawareparklogo.svg\", {'delawarepark_de': true}),\n\t\tharrahslogo_svg: new Asset(\"images/harrahslogo.svg\", {'harrahs_nj': true}),\n\t\thccasinologo_svg: new Asset(\"images/hccasinologo.svg\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\tharrington_logo_svg: new Asset(\"images/harrington-logo.svg\", {'harrington_de': true}),\n\t\tharringtonlogo_svg: new Asset(\"images/harringtonlogo.svg\", {'harrington_de': true}),\n\t\tmrgreenlogo_png: new Asset(\"images/mrgreenlogo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tmrgreenlogo_svg: new Asset(\"images/mrgreenlogo.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\tsi_island_resort_png: new Asset(\"images/si-island-resort.png\", {'si_mi': true}),\n\t\tsi_island_resort_svg: new Asset(\"images/si-island-resort.svg\", {'si_mi': true}),\n\t\tsi_sports_book_png: new Asset(\"images/si-sports-book.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_png: new Asset(\"images/si_logo_mobile.png\", {'si_mi': true}),\n\t\tsi_logo_mobile_svg: new Asset(\"images/si_logo_mobile.svg\", {'si_mi': true}),\n\t\tsi_logo_pc_png: new Asset(\"images/si_logo_pc.png\", {'si_mi': true}),\n\t\tsi_logo_pc_svg: new Asset(\"images/si_logo_pc.svg\", {'si_mi': true}),\n\t\thccasinologo_png: new Asset(\"images/hccasinologo.png\", {'wsop_nj': true}),\n\t\twsoplogo_svg: new Asset(\"images/wsoplogo.svg\", {'wsop_nj': true}),\n\t\tanimated_icons_poc: {\n\t\t\tmillionaire_genie_megaways: {\n\t\t\t\tgenie_megaways_v1_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.atlas\", {}),\n\t\t\t\tgenie_megaways_v1_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.json\", {}),\n\t\t\t\tgenie_megaways_v1_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v1.png\", {}),\n\t\t\t\tgenie_megaways_v2_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.atlas\", {}),\n\t\t\t\tgenie_megaways_v2_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.json\", {}),\n\t\t\t\tgenie_megaways_v2_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v2.png\", {}),\n\t\t\t\tgenie_megaways_v3_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.atlas\", {}),\n\t\t\t\tgenie_megaways_v3_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.json\", {}),\n\t\t\t\tgenie_megaways_v3_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v3.png\", {}),\n\t\t\t\tgenie_megaways_v4_atlas: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.atlas\", {}),\n\t\t\t\tgenie_megaways_v4_json: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.json\", {}),\n\t\t\t\tgenie_megaways_v4_png: new Asset(\"images/animated-icons-poc/millionaire-genie-megaways/genie_megaways_v4.png\", {})\n\t\t\t}\n\t\t},\n\t\tarena_link_to_offer: {\n\t\t\tClose_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Close_BTN_green.svg\", {}),\n\t\t\tGift_BTN_green_svg: new Asset(\"images/arena-link-to-offer/Gift_BTN_green.svg\", {})\n\t\t},\n\t\tbrowser_icons: {\n\t\t\tchrome_icon_PNG: new Asset(\"images/browser-icons/chrome-icon.PNG\", {}),\n\t\t\tmicrosoft_edge_png: new Asset(\"images/browser-icons/microsoft-edge.png\", {}),\n\t\t\tmozilla_firefox_png: new Asset(\"images/browser-icons/mozilla-firefox.png\", {})\n\t\t},\n\t\tburnout: {\n\t\t\tburnout_animation_atlas: new Asset(\"images/burnout/burnout_animation.atlas\", {}),\n\t\t\tburnout_animation_json: new Asset(\"images/burnout/burnout_animation.json\", {}),\n\t\t\tburnout_animation_png: new Asset(\"images/burnout/burnout_animation.png\", {}),\n\t\t\tburnout_animation_last_frame_png: new Asset(\"images/burnout/burnout_animation_last_frame.png\", {})\n\t\t},\n\t\tdaily_deal: {\n\t\t\tdaily_deal_chest_glow_png: new Asset(\"images/daily-deal/daily-deal-chest-glow.png\", {}),\n\t\t\tdaily_deal_chest_halo_png: new Asset(\"images/daily-deal/daily-deal-chest-halo.png\", {}),\n\t\t\tdaily_deal_chest_text_strip_svg: new Asset(\"images/daily-deal/daily-deal-chest-text-strip.svg\", {}),\n\t\t\tdaily_deal_chest_png: new Asset(\"images/daily-deal/daily-deal-chest.png\", {})\n\t\t},\n\t\tf2p: {\n\t\t\tfreeToPlay_atlas: new Asset(\"images/f2p/freeToPlay.atlas\", {'si_mi': true}),\n\t\t\tfreeToPlay_json: new Asset(\"images/f2p/freeToPlay.json\", {'si_mi': true}),\n\t\t\tfreeToPlay_png: new Asset(\"images/f2p/freeToPlay.png\", {'si_mi': true})\n\t\t},\n\t\tfree_play: {\n\t\t\tfp_left_arrow_png: new Asset(\"images/free-play/fp-left-arrow.png\", {}),\n\t\t\tfp_right_arrow_png: new Asset(\"images/free-play/fp-right-arrow.png\", {}),\n\t\t\tfp_step_msg_bg_png: new Asset(\"images/free-play/fp-step-msg-bg.png\", {}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/free-play/fp-vouchers-bg.png\", {}),\n\t\t\tfreeplay_bg_type_fp_png: new Asset(\"images/free-play/freeplay-bg-type-fp.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_fs_png: new Asset(\"images/free-play/freeplay-bg-type-fs.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_jfp_png: new Asset(\"images/free-play/freeplay-bg-type-jfp.png\", {'777_com': true}),\n\t\t\tfreeplay_bg_type_jfs_png: new Asset(\"images/free-play/freeplay-bg-type-jfs.png\", {'777_com': true}),\n\t\t\tfreeplay_type_fp_png: new Asset(\"images/free-play/freeplay-type-fp.png\", {'777_com': true}),\n\t\t\tfreeplay_type_fs_png: new Asset(\"images/free-play/freeplay-type-fs.png\", {'777_com': true}),\n\t\t\tfreeplay_type_jfp_png: new Asset(\"images/free-play/freeplay-type-jfp.png\", {'777_com': true}),\n\t\t\tfreeplay_type_jfs_png: new Asset(\"images/free-play/freeplay-type-jfs.png\", {'777_com': true})\n\t\t},\n\t\tgames_icons_background: {\n\t\t\tBGcardandtable_png: new Asset(\"images/games-icons-background/BGcardandtable.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGGameBlack_png: new Asset(\"images/games-icons-background/BGGameBlack.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGGameBlackSquare_png: new Asset(\"images/games-icons-background/BGGameBlackSquare.png\", {'777_com': true}),\n\t\t\tBGicon_png: new Asset(\"images/games-icons-background/BGicon.png\", {'777_com': true,'harrahs_nj': true}),\n\t\t\tBGredTiger_png: new Asset(\"images/games-icons-background/BGredTiger.png\", {'777_com': true})\n\t\t},\n\t\tgame_frame: {\n\t\t\tdemo_left_corner_png: new Asset(\"images/game_frame/demo_left_corner.png\", {'777_com': true}),\n\t\t\tdemo_right_corner_png: new Asset(\"images/game_frame/demo_right_corner.png\", {'777_com': true}),\n\t\t\tfreeplay_indicator_png: new Asset(\"images/game_frame/freeplay_indicator.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_indicator_selected_png: new Asset(\"images/game_frame/freeplay_indicator_selected.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_left_corner_png: new Asset(\"images/game_frame/freeplay_left_corner.png\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tfreeplay_right_corner_png: new Asset(\"images/game_frame/freeplay_right_corner.png\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_left_corner_png: new Asset(\"images/game_frame/real_left_corner.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\treal_right_corner_png: new Asset(\"images/game_frame/real_right_corner.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tregulation_strip_clock_png: new Asset(\"images/game_frame/regulation_strip_clock.png\", {})\n\t\t},\n\t\thistory: {\n\t\t\thistory_details_left_corner_png: new Asset(\"images/history/history-details-left-corner.png\", {'777_com': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\thistory_calendar_png: new Asset(\"images/history/history_calendar.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tjackpot_widget: {\n\t\t\tcrown_png: new Asset(\"images/jackpot_widget/crown.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tage_of_gods: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/age_of_gods/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/age_of_gods/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tdaily: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/daily/background.png\", {'777_com': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/daily/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true})\n\t\t\t},\n\t\t\thigh_noon: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/high_noon/background.png\", {'777_com': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/high_noon/logo.png\", {})\n\t\t\t},\n\t\t\thourly_captain8: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/hourly_captain8/background.png\", {}),\n\t\t\t\tbackground_landscape_png: new Asset(\"images/jackpot_widget/hourly_captain8/background_landscape.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/hourly_captain8/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tinfo_dialog: {\n\t\t\t\tmobile_png: new Asset(\"images/jackpot_widget/info_dialog/mobile.png\", {'777_com': true}),\n\t\t\t\tmobile_landscape_png: new Asset(\"images/jackpot_widget/info_dialog/mobile_landscape.png\", {'777_com': true}),\n\t\t\t\tpc_png: new Asset(\"images/jackpot_widget/info_dialog/pc.png\", {'777_com': true})\n\t\t\t},\n\t\t\tjackpot_king: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/jackpot_king/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/jackpot_king/logo.png\", {})\n\t\t\t},\n\t\t\tlive_party: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/live_party/background.png\", {'777_com': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/live_party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/live_party/logo.png\", {})\n\t\t\t},\n\t\t\tmillionaire_genie: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/millionaire_genie/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/millionaire_genie/logo.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t},\n\t\t\tparty: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/party/background.png\", {'777_com': true}),\n\t\t\t\tin_game_widget_background_png: new Asset(\"images/jackpot_widget/party/in_game_widget_background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/party/logo.png\", {}),\n\t\t\t\ttoaster_icon_png: new Asset(\"images/jackpot_widget/party/toaster_icon.png\", {'777_com': true}),\n\t\t\t\twinning_png: new Asset(\"images/jackpot_widget/party/winning.png\", {})\n\t\t\t},\n\t\t\ttitan: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/titan/background.png\", {})\n\t\t\t},\n\t\t\ttwilight: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/twilight/background.png\", {'777_com': true}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/twilight/logo.png\", {})\n\t\t\t},\n\t\t\tvegas_millions: {\n\t\t\t\tbackground_png: new Asset(\"images/jackpot_widget/vegas_millions/background.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/jackpot_widget/vegas_millions/logo.png\", {})\n\t\t\t}\n\t\t},\n\t\tlive_arena: {\n\t\t\tactive_indicator_bg_png: new Asset(\"images/live_arena/active_indicator_bg.png\", {}),\n\t\t\tdealer_icon_png: new Asset(\"images/live_arena/dealer_icon.png\", {'777_com': true}),\n\t\t\tseat_icon_png: new Asset(\"images/live_arena/seat_icon.png\", {'777_com': true}),\n\t\t\tseat_icon_dark_png: new Asset(\"images/live_arena/seat_icon_dark.png\", {'777_com': true}),\n\t\t\tlive_arena_widget: {\n\t\t\t\tbackground_png: new Asset(\"images/live_arena/live_arena_widget/background.png\", {}),\n\t\t\t\tcapsule_end_png: new Asset(\"images/live_arena/live_arena_widget/capsule_end.png\", {'777_com': true}),\n\t\t\t\tcapsule_mid_png: new Asset(\"images/live_arena/live_arena_widget/capsule_mid.png\", {'777_com': true}),\n\t\t\t\tcapsule_start_png: new Asset(\"images/live_arena/live_arena_widget/capsule_start.png\", {'777_com': true}),\n\t\t\t\tcrown_png: new Asset(\"images/live_arena/live_arena_widget/crown.png\", {}),\n\t\t\t\tlogo_png: new Asset(\"images/live_arena/live_arena_widget/logo.png\", {}),\n\t\t\t\tseparator_png: new Asset(\"images/live_arena/live_arena_widget/separator.png\", {'777_com': true})\n\t\t\t}\n\t\t},\n\t\tonboarding: {\n\t\t\tonboarding_logo_png: new Asset(\"images/onboarding/onboarding_logo.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tonboarding_logo_closing_png: new Asset(\"images/onboarding/onboarding_logo_closing.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t},\n\t\tregulation_specific: {\n\t\t\tdenmark: {\n\t\t\t\tsafe_to_play_png: new Asset(\"images/regulation_specific/denmark/safe-to-play.png\", {}),\n\t\t\t\tself_exclusion_png: new Asset(\"images/regulation_specific/denmark/self-exclusion.png\", {}),\n\t\t\t\tself_test_png: new Asset(\"images/regulation_specific/denmark/self-test.png\", {})\n\t\t\t},\n\t\t\tontario: {\n\t\t\t\tsafe_to_play_icon_svg: new Asset(\"images/regulation_specific/ontario/safe-to-play-icon.svg\", {})\n\t\t\t},\n\t\t\tsweeden: {\n\t\t\t\tsw_resp_game_limit_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit-symbol.png\", {}),\n\t\t\t\tsw_resp_game_limit_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-limit.png\", {}),\n\t\t\t\tsw_resp_game_panic_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic-symbol.png\", {}),\n\t\t\t\tsw_resp_game_panic_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-panic.png\", {}),\n\t\t\t\tsw_resp_game_self_test_symbol_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test-symbol.png\", {}),\n\t\t\t\tsw_resp_game_self_test_png: new Asset(\"images/regulation_specific/sweeden/sw-resp-game-self-test.png\", {})\n\t\t\t},\n\t\t\tus: {\n\t\t\t\tnj_rg_icon_svg: new Asset(\"images/regulation_specific/us/nj-rg-icon.svg\", {}),\n\t\t\t\tnj_us_flag_svg: new Asset(\"images/regulation_specific/us/nj-us-flag.svg\", {})\n\t\t\t}\n\t\t},\n\t\tresponsible_gambling: {\n\t\t\tage_18plus_capsule_svg: new Asset(\"images/responsible-gambling/age-18plus-capsule.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tage_18plus_flat_svg: new Asset(\"images/responsible-gambling/age-18plus-flat.svg\", {'777_com': true}),\n\t\t\tage_18plus_round_svg: new Asset(\"images/responsible-gambling/age-18plus-round.svg\", {'777_com': true}),\n\t\t\tage_21plus_flat_svg: new Asset(\"images/responsible-gambling/age-21plus-flat.svg\", {'777_com': true}),\n\t\t\tage_21plus_round_svg: new Asset(\"images/responsible-gambling/age-21plus-round.svg\", {'777_com': true,'si_mi': true}),\n\t\t\tbegambleaeare_logo_png: new Asset(\"images/responsible-gambling/begambleaeare-logo.png\", {'777_com': true}),\n\t\t\tgamecare_logo_png: new Asset(\"images/responsible-gambling/gamecare-logo.png\", {'777_com': true}),\n\t\t\tsafeZoneIcon_svg: new Asset(\"images/responsible-gambling/safeZoneIcon.svg\", {'777_com': true})\n\t\t},\n\t\tuser: {\n\t\t\tpost_login_mobile_svg: new Asset(\"images/user/post-login-mobile.svg\", {'777_com': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\twheel_of_fortune: {\n\t\t\tcolors_svg: new Asset(\"images/wheel-of-fortune/colors.svg\", {}),\n\t\t\tshell_svg: new Asset(\"images/wheel-of-fortune/shell.svg\", {'777_com': true})\n\t\t},\n\t\tarenas: {\n\t\t\tCasinoGames: {\n\t\t\t\tonline_blackjack_png: new Asset(\"images/arenas/CasinoGames/online_blackjack.png\", {'777_com': true}),\n\t\t\t\tonline_casino_games_png: new Asset(\"images/arenas/CasinoGames/online_casino_games.png\", {'777_com': true}),\n\t\t\t\tonline_jackpot_png: new Asset(\"images/arenas/CasinoGames/online_jackpot.png\", {'777_com': true}),\n\t\t\t\tonline_roulette_png: new Asset(\"images/arenas/CasinoGames/online_roulette.png\", {'777_com': true}),\n\t\t\t\tonline_slots_png: new Asset(\"images/arenas/CasinoGames/online_slots.png\", {'777_com': true})\n\t\t\t},\n\t\t\tHomePage: {\n\t\t\t\tblackjack_arena_info_png: new Asset(\"images/arenas/HomePage/blackjack_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcards_arena_info_png: new Asset(\"images/arenas/HomePage/cards_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tcasino_games_arena_png: new Asset(\"images/arenas/HomePage/casino_games_arena.png\", {'777_com': true}),\n\t\t\t\tdaily_jackpots_arena_icon_png: new Asset(\"images/arenas/HomePage/daily_jackpots_arena_icon.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tdefault_arena_png: new Asset(\"images/arenas/HomePage/default_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_png: new Asset(\"images/arenas/HomePage/live_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tnew_games_arena_png: new Asset(\"images/arenas/HomePage/new_games_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tnew_games_arena_info_png: new Asset(\"images/arenas/HomePage/new_games_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\troulette_arena_info_png: new Asset(\"images/arenas/HomePage/roulette_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tscratch_cards_arena_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena.png\", {'777_com': true}),\n\t\t\t\tscratch_cards_arena_info_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_arena_info_png: new Asset(\"images/arenas/HomePage/slots_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tslots_jackpots_arena_png: new Asset(\"images/arenas/HomePage/slots_jackpots_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvideo_poker_arena_info_png: new Asset(\"images/arenas/HomePage/video_poker_arena_info.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\t_888exclusive_arena_png: new Asset(\"images/arenas/HomePage/888exclusive_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\t_888exclusive_arena_info_png: new Asset(\"images/arenas/HomePage/888exclusive_arena_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tblackjack_arena_png: new Asset(\"images/arenas/HomePage/blackjack_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tcards_arena_png: new Asset(\"images/arenas/HomePage/cards_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tInstantWin_game_info_png: new Asset(\"images/arenas/HomePage/InstantWin_game_info.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/HomePage/live_arena_elite_lounge.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tlive_game_shows_arena_png: new Asset(\"images/arenas/HomePage/live_game_shows_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\troulette_arena_png: new Asset(\"images/arenas/HomePage/roulette_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tscratch_cards_arena_icon_png: new Asset(\"images/arenas/HomePage/scratch_cards_arena_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvideo_poker_arena_png: new Asset(\"images/arenas/HomePage/video_poker_arena.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvisual_sport_arena_info_png: new Asset(\"images/arenas/HomePage/visual_sport_arena_info.png\", {'ballysdover_de': true,'si_mi': true}),\n\t\t\t\tprogressive_slots_arena_icon_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_icon.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tprogressive_slots_arena_info_png: new Asset(\"images/arenas/HomePage/progressive_slots_arena_info.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t\tsi_exclusive_arena_png: new Asset(\"images/arenas/HomePage/si_exclusive_arena.png\", {'si_mi': true})\n\t\t\t},\n\t\t\tLiveArenas: {\n\t\t\t\tdefault_live_arena_png: new Asset(\"images/arenas/LiveArenas/default_live_arena.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_baccarat_png: new Asset(\"images/arenas/LiveArenas/live_arena_baccarat.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_bj_png: new Asset(\"images/arenas/LiveArenas/live_arena_bj.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_dream_catcher_png: new Asset(\"images/arenas/LiveArenas/live_arena_dream_catcher.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_elite_lounge_png: new Asset(\"images/arenas/LiveArenas/live_arena_elite_lounge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_poker_png: new Asset(\"images/arenas/LiveArenas/live_arena_poker.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tlive_arena_roulette_png: new Asset(\"images/arenas/LiveArenas/live_arena_roulette.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true})\n\t\t\t}\n\t\t},\n\t\tavatars: {\n\t\t\tdiamond_vip: {\n\t\t\t\tmy_account_diamond_vip_png: new Asset(\"images/avatars/diamond-vip/my-account-diamond-vip.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_hover_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_regular_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_regular_svg: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_hover_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_pressed_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_pressed_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_regular_png: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_diamond_vip_avatar_regular_svg: new Asset(\"images/avatars/diamond-vip/pre-login-diamond-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_diamond_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/diamond-vip/post-login-diamond-vip-avatar-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tmy_account_gold_vip_png: new Asset(\"images/avatars/gold-vip/my-account-gold-vip.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_hover_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_gold_vip_avatar_regular_svg: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_hover_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_gold_vip_avatar_pressed_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_pressed_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_gold_vip_avatar_regular_png: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_gold_vip_avatar_regular_svg: new Asset(\"images/avatars/gold-vip/pre-login-gold-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_gold_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/gold-vip/post-login-gold-vip-avatar-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tmy_account_vip_platinum_png: new Asset(\"images/avatars/platinum-vip/my-account-vip-platinum.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_hover_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_regular_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_regular_svg: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_hover_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_pressed_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_pressed_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_regular_png: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_vip_platinum_avatar_regular_svg: new Asset(\"images/avatars/platinum-vip/pre-login-vip-platinum-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_vip_platinum_avatar_selected_pressed_png: new Asset(\"images/avatars/platinum-vip/post-login-vip-platinum-avatar-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true})\n\t\t\t},\n\t\t\treg: {\n\t\t\t\tpost_login_hover_png: new Asset(\"images/avatars/reg/post-login-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_hover_svg: new Asset(\"images/avatars/reg/post-login-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_pressed_png: new Asset(\"images/avatars/reg/post-login-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_pressed_svg: new Asset(\"images/avatars/reg/post-login-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_png: new Asset(\"images/avatars/reg/post-login-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_svg: new Asset(\"images/avatars/reg/post-login-reg.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_hover_png: new Asset(\"images/avatars/reg/pre-login-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_hover_svg: new Asset(\"images/avatars/reg/pre-login-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_pressed_png: new Asset(\"images/avatars/reg/pre-login-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_pressed_svg: new Asset(\"images/avatars/reg/pre-login-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_png: new Asset(\"images/avatars/reg/pre-login-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_svg: new Asset(\"images/avatars/reg/pre-login-reg.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tmy_account_vip_reg_png: new Asset(\"images/avatars/reg-vip/my-account-vip-reg.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_hover_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_pressed_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpost_login_reg_vip_avatar_regular_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_regular_svg: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_hover_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-hover.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_pressed_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-pressed.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_icon_regular_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-icon-regular.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true}),\n\t\t\t\tMy_account_VIP_REG_icon_png: new Asset(\"images/avatars/reg-vip/My-account-VIP-REG-icon.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_icon_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-icon-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true}),\n\t\t\t\tpost_login_reg_vip_avatar_selected_pressed_png: new Asset(\"images/avatars/reg-vip/post-login-reg-vip-avatar-selected-pressed.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'wsop_nj': true}),\n\t\t\t\tpre_login_reg_vip_avatar_hover_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-hover.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_hover_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-hover.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_pressed_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-pressed.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_pressed_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-pressed.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_regular_png: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-regular.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tpre_login_reg_vip_avatar_regular_svg: new Asset(\"images/avatars/reg-vip/pre-login-reg-vip-avatar-regular.svg\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\n\t\t},\n\t\tbadges: {\n\t\t\tdropsAndWins_png: new Asset(\"images/badges/dropsAndWins.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\texclusive_png: new Asset(\"images/badges/exclusive.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thot_png: new Asset(\"images/badges/hot.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tnew_badge_png: new Asset(\"images/badges/new-badge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/badges/vip-badge.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tbanners: {\n\t\t\t_777InstantWin_arena_banner_mobile_png: new Asset(\"images/banners/777InstantWin_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\t_777InstantWin_arena_banner_pc_png: new Asset(\"images/banners/777InstantWin_arena_banner_pc.png\", {'777_com': true}),\n\t\t\t_777InstantWin_arena_banner_tablet_png: new Asset(\"images/banners/777InstantWin_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_mobile_png: new Asset(\"images/banners/all_casino_games_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_pc_png: new Asset(\"images/banners/all_casino_games_arena_banner_pc.png\", {'777_com': true}),\n\t\t\tall_casino_games_arena_banner_tablet_png: new Asset(\"images/banners/all_casino_games_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tblackjack_arena_banner_mobile_png: new Asset(\"images/banners/blackjack_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_png: new Asset(\"images/banners/blackjack_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_png: new Asset(\"images/banners/blackjack_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcasino_games_arena_banner_mobile_png: new Asset(\"images/banners/casino_games_arena_banner_mobile.png\", {'777_com': true}),\n\t\t\tcasino_games_arena_banner_pc_png: new Asset(\"images/banners/casino_games_arena_banner_pc.png\", {'777_com': true}),\n\t\t\tcasino_games_arena_banner_tablet_png: new Asset(\"images/banners/casino_games_arena_banner_tablet.png\", {'777_com': true}),\n\t\t\tevo_lobby_banner_mobile_png: new Asset(\"images/banners/evo_lobby_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_pc_png: new Asset(\"images/banners/evo_lobby_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tevo_lobby_banner_tablet_png: new Asset(\"images/banners/evo_lobby_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tjackpot_arena_banner_mobile_png: new Asset(\"images/banners/jackpot_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_pc_png: new Asset(\"images/banners/jackpot_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tjackpot_arena_banner_tablet_png: new Asset(\"images/banners/jackpot_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tlive_arena_banner_mobile_png: new Asset(\"images/banners/live_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tlive_arena_banner_pc_png: new Asset(\"images/banners/live_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tlive_arena_banner_tablet_png: new Asset(\"images/banners/live_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_mobile_png: new Asset(\"images/banners/new_games_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_pc_png: new Asset(\"images/banners/new_games_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tnew_games_arena_banner_tablet_png: new Asset(\"images/banners/new_games_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\troulette_arena_banner_mobile_png: new Asset(\"images/banners/roulette_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_png: new Asset(\"images/banners/roulette_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_png: new Asset(\"images/banners/roulette_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tscrach_card_arena_banner_mobile_png: new Asset(\"images/banners/scrach_card_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscrach_card_arena_banner_pc_png: new Asset(\"images/banners/scrach_card_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tscrach_card_arena_banner_tablet_png: new Asset(\"images/banners/scrach_card_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\tslots_arena_banner_mobile_png: new Asset(\"images/banners/slots_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_pc_png: new Asset(\"images/banners/slots_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tslots_arena_banner_tablet_png: new Asset(\"images/banners/slots_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_mobile_png: new Asset(\"images/banners/video_poker_arena_banner_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_pc_png: new Asset(\"images/banners/video_poker_arena_banner_pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tvideo_poker_arena_banner_tablet_png: new Asset(\"images/banners/video_poker_arena_banner_tablet.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'harrahs_nj': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t_888exclusive_arena_banner_mobile_png: new Asset(\"images/banners/888exclusive_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_banner_pc_png: new Asset(\"images/banners/888exclusive_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_banner_tablet_png: new Asset(\"images/banners/888exclusive_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true}),\n\t\t\t_888exclusive_arena_preview_image_png: new Asset(\"images/banners/888exclusive_arena_preview_image.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tcards_arena_banner_mobile_png: new Asset(\"images/banners/cards_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_pc_png: new Asset(\"images/banners/cards_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tcards_arena_banner_tablet_png: new Asset(\"images/banners/cards_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tInstantWin_arena_banner_mobile_png: new Asset(\"images/banners/InstantWin_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_pc_png: new Asset(\"images/banners/InstantWin_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tInstantWin_arena_banner_tablet_png: new Asset(\"images/banners/InstantWin_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tnew_evo_lobby_banner_mobile_png: new Asset(\"images/banners/new_evo_lobby_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\tnew_evo_lobby_banner_pc_png: new Asset(\"images/banners/new_evo_lobby_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\tnew_evo_lobby_banner_tablet_png: new Asset(\"images/banners/new_evo_lobby_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\tvirtual_sports_arena_banner_mobile_png: new Asset(\"images/banners/virtual_sports_arena_banner_mobile.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_pc_png: new Asset(\"images/banners/virtual_sports_arena_banner_pc.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tvirtual_sports_arena_banner_tablet_png: new Asset(\"images/banners/virtual_sports_arena_banner_tablet.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'si_mi': true}),\n\t\t\tprogressive_slots_arena_banner_mobile_png: new Asset(\"images/banners/progressive_slots_arena_banner_mobile.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_pc_png: new Asset(\"images/banners/progressive_slots_arena_banner_pc.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tprogressive_slots_arena_banner_tablet_png: new Asset(\"images/banners/progressive_slots_arena_banner_tablet.png\", {'harrahs_nj': true,'wsop_nj': true}),\n\t\t\texclusive_arena_banner_mobile_png: new Asset(\"images/banners/exclusive_arena_banner_mobile.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_pc_png: new Asset(\"images/banners/exclusive_arena_banner_pc.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\texclusive_arena_banner_tablet_png: new Asset(\"images/banners/exclusive_arena_banner_tablet.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tsi_exclusive_arena_banner_mobile_png: new Asset(\"images/banners/si_exclusive_arena_banner_mobile.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_pc_png: new Asset(\"images/banners/si_exclusive_arena_banner_pc.png\", {'si_mi': true}),\n\t\t\tsi_exclusive_arena_banner_tablet_png: new Asset(\"images/banners/si_exclusive_arena_banner_tablet.png\", {'si_mi': true}),\n\t\t\tblackjack_arena_banner_mobile_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_mobile_rtl.png\", {'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_pc_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_pc_rtl.png\", {'wsop_nj': true}),\n\t\t\tblackjack_arena_banner_tablet_rtl_png: new Asset(\"images/banners/blackjack_arena_banner_tablet_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_mobile_rtl_png: new Asset(\"images/banners/roulette_arena_banner_mobile_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_pc_rtl_png: new Asset(\"images/banners/roulette_arena_banner_pc_rtl.png\", {'wsop_nj': true}),\n\t\t\troulette_arena_banner_tablet_rtl_png: new Asset(\"images/banners/roulette_arena_banner_tablet_rtl.png\", {'wsop_nj': true})\n\t\t},\n\t\tlogos: {\n\t\t\tsi_logo_pc_svg: new Asset(\"images/logos/si_logo_pc.svg\", {'si_mi': true}),\n\t\t\tdiamond_vip: {\n\t\t\t\tvip_diamond_logo_mobile_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_diamond_logo_mobile_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_pc_dark_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_diamond_logo_pc_svg: new Asset(\"images/logos/diamond-vip/vip-diamond-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_diamond_logo_png: new Asset(\"images/logos/diamond-vip/vip-diamond-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tgold_vip: {\n\t\t\t\tvip_gold_logo_mobile_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_gold_logo_mobile_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_pc_dark_png: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_gold_logo_pc_svg: new Asset(\"images/logos/gold-vip/vip-gold-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_gold_logo_png: new Asset(\"images/logos/gold-vip/vip-gold-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\tplatinum_vip: {\n\t\t\t\tvip_platinum_logo_mobile_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_platinum_logo_mobile_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_pc_dark_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_platinum_logo_pc_svg: new Asset(\"images/logos/platinum-vip/vip-platinum-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_platinum_logo_png: new Asset(\"images/logos/platinum-vip/vip-platinum-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t},\n\t\t\treg_vip: {\n\t\t\t\tvip_regular_logo_mobile_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo.svg\", {'777_com': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tvip_regular_logo_mobile_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-mobile.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_pc_dark_png: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc-dark.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true}),\n\t\t\t\tvip_regular_logo_pc_svg: new Asset(\"images/logos/reg-vip/vip-regular-logo-pc.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\t\tvip_regular_logo_png: new Asset(\"images/logos/reg-vip/vip-regular-logo.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t\t}\n\t\t},\n\t\tsdk_icons: {\n\t\t\t_18_plus_png: new Asset(\"images/sdk_icons/18_plus.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\t_21_plus_png: new Asset(\"images/sdk_icons/21_plus.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_png: new Asset(\"images/sdk_icons/Close.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tClose_hover_png: new Asset(\"images/sdk_icons/Close_hover.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfprightarrow_png: new Asset(\"images/sdk_icons/fprightarrow.png\", {'777_com': true}),\n\t\t\tfpvoucherback_png: new Asset(\"images/sdk_icons/fpvoucherback.png\", {'777_com': true}),\n\t\t\tfpVoucherBG_png: new Asset(\"images/sdk_icons/fpVoucherBG.png\", {'777_com': true}),\n\t\t\tfpvoucherfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherfreeplay.png\", {'777_com': true}),\n\t\t\tfpvoucherfreespin_png: new Asset(\"images/sdk_icons/fpvoucherfreespin.png\", {'777_com': true}),\n\t\t\tfpvoucherinfoclose_png: new Asset(\"images/sdk_icons/fpvoucherinfoclose.png\", {'777_com': true}),\n\t\t\tfpvoucherinfoopen_png: new Asset(\"images/sdk_icons/fpvoucherinfoopen.png\", {'777_com': true}),\n\t\t\tfpvoucherjackpotfreeplay_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreeplay.png\", {'777_com': true}),\n\t\t\tfpvoucherjackpotfreespin_png: new Asset(\"images/sdk_icons/fpvoucherjackpotfreespin.png\", {'777_com': true}),\n\t\t\tfp_vouchers_bg_png: new Asset(\"images/sdk_icons/fp_vouchers_bg.png\", {'777_com': true}),\n\t\t\tfreeplayVoucherBG_png: new Asset(\"images/sdk_icons/freeplayVoucherBG.png\", {'777_com': true}),\n\t\t\tfreeSpinsVoucherBG_png: new Asset(\"images/sdk_icons/freeSpinsVoucherBG.png\", {'777_com': true}),\n\t\t\tfull_screen_png: new Asset(\"images/sdk_icons/full_screen.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tfull_screen_off_png: new Asset(\"images/sdk_icons/full_screen_off.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_fp_indicator_png: new Asset(\"images/sdk_icons/game-frame-fp-indicator.png\", {'777_com': true}),\n\t\t\tgame_frame_freeplay_mode_left_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_freeplay_mode_right_png: new Asset(\"images/sdk_icons/game_frame_freeplay_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_left_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_practicel_mode_right_png: new Asset(\"images/sdk_icons/game_frame_practicel_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_left_png: new Asset(\"images/sdk_icons/game_frame_real_mode_left.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgame_frame_real_mode_right_png: new Asset(\"images/sdk_icons/game_frame_real_mode_right.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tgeneral_notification_png: new Asset(\"images/sdk_icons/general_notification.png\", {'777_com': true}),\n\t\t\that_png: new Asset(\"images/sdk_icons/hat.png\", {'777_com': true}),\n\t\t\thot_png: new Asset(\"images/sdk_icons/hot.png\", {'777_com': true}),\n\t\t\ticons_down_arrow_png: new Asset(\"images/sdk_icons/icons_down_arrow.png\", {'777_com': true}),\n\t\t\tjackpotplayFreePlayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreePlayVoucherBG.png\", {'777_com': true}),\n\t\t\tjackpotplayFreeSpinVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayFreeSpinVoucherBG.png\", {'777_com': true}),\n\t\t\tjackpotplayVoucherBG_png: new Asset(\"images/sdk_icons/jackpotplayVoucherBG.png\", {'777_com': true}),\n\t\t\tleftarrow_png: new Asset(\"images/sdk_icons/leftarrow.png\", {'777_com': true}),\n\t\t\tnew_badge_png: new Asset(\"images/sdk_icons/new-badge.png\", {'777_com': true}),\n\t\t\tpassword_png: new Asset(\"images/sdk_icons/password.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\trightarrow_png: new Asset(\"images/sdk_icons/rightarrow.png\", {'777_com': true}),\n\t\t\ttoaster_information_message_png: new Asset(\"images/sdk_icons/toaster-information-message.png\", {'777_com': true}),\n\t\t\ttouchFinger_png: new Asset(\"images/sdk_icons/touchFinger.png\", {'777_com': true}),\n\t\t\tuser_png: new Asset(\"images/sdk_icons/user.png\", {'777_com': true}),\n\t\t\tusername_png: new Asset(\"images/sdk_icons/username.png\", {'777_com': true,'harrahs_nj': true,'wsop_nj': true}),\n\t\t\tvip_badge_png: new Asset(\"images/sdk_icons/vip-badge.png\", {'777_com': true}),\n\t\t\tgame_frame_bg_fp_left_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-left.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true}),\n\t\t\tgame_frame_bg_fp_right_png: new Asset(\"images/sdk_icons/game-frame-bg-fp-right.png\", {'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true}),\n\t\t\tpost_login_mobile_svg: new Asset(\"images/sdk_icons/post-login-mobile.svg\", {'ballysdover_de': true,'harrahs_nj': true,'si_mi': true,'wsop_nj': true}),\n\t\t\thistory_details_left_corner_png: new Asset(\"images/sdk_icons/history-details-left-corner.png\", {'si_mi': true})\n\t\t},\n\t\tstore: {\n\t\t\tstore_button_android_eng_png: new Asset(\"images/store/store-button-android-eng.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fin_png: new Asset(\"images/store/store-button-android-fin.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_fre_png: new Asset(\"images/store/store-button-android-fre.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_ger_png: new Asset(\"images/store/store-button-android-ger.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_nor_png: new Asset(\"images/store/store-button-android-nor.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_por_png: new Asset(\"images/store/store-button-android-por.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_rus_png: new Asset(\"images/store/store-button-android-rus.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_spa_png: new Asset(\"images/store/store-button-android-spa.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_android_swe_png: new Asset(\"images/store/store-button-android-swe.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_eng_svg: new Asset(\"images/store/store-button-ios-eng.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fin_svg: new Asset(\"images/store/store-button-ios-fin.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_fre_svg: new Asset(\"images/store/store-button-ios-fre.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_ger_svg: new Asset(\"images/store/store-button-ios-ger.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_nor_svg: new Asset(\"images/store/store-button-ios-nor.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_por_svg: new Asset(\"images/store/store-button-ios-por.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_rus_svg: new Asset(\"images/store/store-button-ios-rus.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_spa_svg: new Asset(\"images/store/store-button-ios-spa.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tstore_button_ios_swe_svg: new Asset(\"images/store/store-button-ios-swe.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\ttooltip: {\n\t\t\tgift_svg: new Asset(\"images/tooltip/gift.svg\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tmini_orbit: {\n\t\t\tcip: {\n\t\t\t\texclusives_list_icon_cip_png: new Asset(\"images/mini_orbit/cip/exclusives_list_icon_cip.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\ttexture_png: new Asset(\"images/mini_orbit/cip/texture.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cip/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\tjackpot_widget_title_crown_png: new Asset(\"images/mini_orbit/cip/jackpot_widget_title_crown.png\", {'wsop_nj': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'wsop_nj': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cip/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cip/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cip/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cip/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'delawarepark_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'wsop_nj': true})\n\t\t\t\t},\n\t\t\t\ttooltip: {\n\t\t\t\t\tgift_svg: new Asset(\"images/mini_orbit/cip/tooltip/gift.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t\t}\n\t\t\t},\n\t\t\tcis: {\n\t\t\t\tx_close_png: new Asset(\"images/mini_orbit/cis/x_close.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\t\tarenas_header_buttons: {\n\t\t\t\t\tcasino_games_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/casino_games_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tjackpots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/jackpots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tlive_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/live_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmy_casino_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/my_casino_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/selected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tslots_icon_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/slots_icon.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tunselected_png: new Asset(\"images/mini_orbit/cis/arenas_header_buttons/unselected.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\theader_icons: {\n\t\t\t\t\tgift_png: new Asset(\"images/mini_orbit/cis/header_icons/gift.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tmoreMenu_png: new Asset(\"images/mini_orbit/cis/header_icons/moreMenu.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true}),\n\t\t\t\t\tsearch_png: new Asset(\"images/mini_orbit/cis/header_icons/search.png\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true})\n\t\t\t\t},\n\t\t\t\ttooltip: {\n\t\t\t\t\tgift_svg: new Asset(\"images/mini_orbit/cis/tooltip/gift.svg\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tanimated_banners: {\n\t\t\tatmospheric_blackjack_banner_atlas: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_blackjack_banner_json: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_blackjack_banner_png: new Asset(\"images/animated-banners/atmospheric-blackjack-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_atlas: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_json: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_casinogames_banner_png: new Asset(\"images/animated-banners/atmospheric-casinogames-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_atlas: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_json: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_exclusive_banner_png: new Asset(\"images/animated-banners/atmospheric-exclusive-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_atlas: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_json: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_jackpots_banner_png: new Asset(\"images/animated-banners/atmospheric-jackpots-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_atlas: new Asset(\"images/animated-banners/atmospheric-live-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_json: new Asset(\"images/animated-banners/atmospheric-live-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_live_banner_png: new Asset(\"images/animated-banners/atmospheric-live-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_atlas: new Asset(\"images/animated-banners/atmospheric-newgames-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_json: new Asset(\"images/animated-banners/atmospheric-newgames-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_newgames_banner_png: new Asset(\"images/animated-banners/atmospheric-newgames-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_atlas: new Asset(\"images/animated-banners/atmospheric-roulette-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_json: new Asset(\"images/animated-banners/atmospheric-roulette-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_roulette_banner_png: new Asset(\"images/animated-banners/atmospheric-roulette-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_atlas: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_json: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_scratchcards_banner_png: new Asset(\"images/animated-banners/atmospheric-scratchcards-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_atlas: new Asset(\"images/animated-banners/atmospheric-slots-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_json: new Asset(\"images/animated-banners/atmospheric-slots-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_slots_banner_png: new Asset(\"images/animated-banners/atmospheric-slots-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_atlas: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.atlas\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_json: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.json\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true}),\n\t\t\tatmospheric_videopoker_banner_png: new Asset(\"images/animated-banners/atmospheric-videopoker-banner.png\", {'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true})\n\t\t}\n\t},\n\tlottie_json: {\n\t\tgeo_location_checking_json: new Asset(\"lottie-json/geo-location-checking.json\", {}),\n\t\tgeo_location_ok_json: new Asset(\"lottie-json/geo-location-ok.json\", {}),\n\t\ttitan_jackpot_json: new Asset(\"lottie-json/titan-jackpot.json\", {})\n\t},\n\tvideos: {\n\t\tharmonium_mp4: new Asset(\"videos/harmonium.mp4\", {})\n\t},\n\tgames: {\n\t\tgame_icon_placeholder_png: new Asset(\"games/game_icon_placeholder.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\tabout: {\n\t\t\teng_about_json: new Asset(\"games/about/eng_about.json\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t},\n\t\tpreview_default_images: {\n\t\t\tdefault_game_strip_card_and_table_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_card_and_table_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_card_and_table_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_png: new Asset(\"games/preview_default_images/default_game_strip_live.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_live_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_live_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_png: new Asset(\"games/preview_default_images/default_game_strip_slots.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true}),\n\t\t\tdefault_game_strip_slots_mobile_png: new Asset(\"games/preview_default_images/default_game_strip_slots_mobile.png\", {'777_com': true,'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrahs_nj': true,'harrington_de': true,'mrgreen_dk': true,'mrgreen_ger': true,'mrgreen_se': true,'si_mi': true,'wsop_nj': true})\n\t\t}\n\t},\n\tfallbackCMSComponent: {\n\t\tdefault_cgp_shell_css: new Asset(\"fallbackCMSComponent/default-cgp-shell.css\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tdefaultFooter_html: new Asset(\"fallbackCMSComponent/defaultFooter.html\", {'888casino_ca': true,'888casino_com': true,'888casino_dk': true,'888casino_es': true,'888casino_ger': true,'888casino_it': true,'888casino_nj': true,'888casino_nl': true,'888casino_pt': true,'888casino_ro': true,'888casino_se': true,'ballysdover_de': true,'delawarepark_de': true,'harrington_de': true,'si_mi': true}),\n\t\tharrahsFooter_html: new Asset(\"fallbackCMSComponent/harrahsFooter.html\", {'harrahs_nj': true}),\n\t\twsopFooter_html: new Asset(\"fallbackCMSComponent/wsopFooter.html\", {'wsop_nj': true})\n\t}\n};","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface IInfoIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class InfoIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport {ISvgIconProps, SvgIcon} from '../../../basic-ui-components/icon/svg-icon/svg.icon';\r\n\r\n\r\nexport interface ISearchIconProps extends ISvgIconProps {\r\n\r\n}\r\n\r\nexport class SearchIcon extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#0ea79b\", //brandTeal\r\n base01Contrast: \"#19322f\", //blackTeal\r\n base01Dark: \"#8cd1ba\", //softTeal\r\n base01Light: \"#c3e3c7\", //lightGreen\r\n\r\n base02: \"#fcf6d5\", //brandYellow\r\n base02Contrast: \"#4c1723\", //blackRed\r\n base02Dark: \"#a4867c\", //tan\r\n base02Light: \"#eadfc3\", //sepia\r\n\r\n base03: \"#bc3554\", //pink\r\n base03Contrast: \"#fcf6d5\", //brandYellow,\r\n base03Dark: \"#b01619\", //brick\r\n base03Light: \"#ff014f\", //red\r\n\r\n base04: \"#ffd683\", //peach\r\n base04Contrast: \"#4c1723\", //blackRed\r\n base04Dark: \"#ffbe0b\", //papaya\r\n base04Light: \"#ffff00\", //yellow\r\n\r\n\r\n base05: \"#7aec37\", //inchWorm\r\n base05Contrast: \"#000000\",\r\n base05Dark: \"#135823\",\r\n base05Light: \"#d5ec37\", //pear //#87ee4b\r\n\r\n logoBackground: \"#DAEBCD\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#FC6200\",\r\n base01Contrast: \"#000000\",\r\n base01Dark: \"#de5600\",\r\n base01Light: \"#fc721a\",\r\n\r\n base02: \"#ffcc02\",\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#e0b400\",\r\n base02Light: \"#ffd11a\",\r\n\r\n base03: \"#e91515\",\r\n base03Contrast: \"\",\r\n base03Dark: \"#cd1212\",\r\n base03Light: \"#eb2c2c\",\r\n\r\n base04: \"#0294f6\",\r\n base04Contrast: \"#ffffff\",\r\n base04Dark: \"#0282d8\",\r\n base04Light: \"#1b9ff7\",\r\n\r\n base05: \"#0c0c0c\",\r\n base05Contrast: \"#ffffff\",\r\n base05Dark: \"#0b0b0b\",\r\n base05Light: \"#242424\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#d62a8c\",\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#bc257b\",\r\n base01Light: \"#da3f98\",\r\n\r\n base02: \"#310a53\",\r\n base02Contrast: \"#ffffff\",\r\n base02Dark: \"#462365\",\r\n base02Light: \"#6d5c80\",\r\n\r\n base03: \"#ff014f\",\r\n base03Contrast: \"#ffffff\",\r\n base03Dark: \"#e00146\",\r\n base03Light: \"#ff1a61\",\r\n\r\n\r\n base04: \"#d5ec37\",\r\n base04Contrast: \"#180529\",\r\n base04Dark: \"#7aec37\",\r\n base04Light: \"#ffff00\",\r\n\r\n ...grayColors\r\n}","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#015536\",\r\n base01Contrast: \"#262627\",\r\n base01Dark: \"#05372C\",\r\n base01Light: \"#41B169\",\r\n\r\n base02: \"#047C4C\",\r\n base02Contrast: \"\",\r\n base02Dark: \"\",\r\n base02Light: \"\",\r\n\r\n base03: \"#FFFFFF\",\r\n base03Contrast: \"\",\r\n base03Dark: \"\",\r\n base03Light: \"\",\r\n\r\n base04: \"linear-gradient(90deg, #F1C141 0%, #F9F19A 48.96%, #F1C141 100%)\",\r\n base05: \"#F12727\",\r\n gold: \"#F1C141\",\r\n yellow: \"#F9F19A\",\r\n warmWhite: \"#FFFFFFCC\",\r\n ...grayColors\r\n}\r\n","import {grayColors} from \"../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#ee3831\", //red\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#ca2e1e\",\r\n base01Light: \"#e94838\",\r\n\r\n base02: \"#7ff800\", //brandGreen\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#7aec37\", //inchWorm\r\n base02Light: \"#d2f800\", //limeGreen\r\n\r\n base03: \"#fce403\", //turbo\r\n base03Contrast: \"#000000\",\r\n base03Dark: \"#ffff00\", //yellow\r\n base03Light: \"#d5ec37\", //pear\r\n\r\n base04: \"#c81503\",\r\n\r\n ...grayColors\r\n};","import { grayColors } from \"../../../architecture/gray-colors\";\r\n\r\nexport const baseColors = {\r\n base01: \"#c81503\", //red si cis\r\n base01Contrast: \"#ffffff\",\r\n base01Dark: \"#ca2e1e\",\r\n base01Light: \"#e94838\",\r\n base01LightMedium: \"#e63422\",\r\n\r\n base02: \"#7ff800\", //brandGreen\r\n base02Contrast: \"#000000\",\r\n base02Dark: \"#7aec37\", //inchWorm\r\n base02Light: \"#d2f800\", //limeGreen\r\n\r\n base03: \"#fce403\", //turbo\r\n base03Contrast: \"#000000\",\r\n base03Dark: \"#ffff00\", //yellow\r\n base03Light: \"#d5ec37\", //pear\r\n\r\n base04: \"#c81503\",\r\n\r\n base05: \"#c1c1c18f\",\r\n\r\n base06: \"#828282\",\r\n\r\n base07: \"#e3e3e3\",\r\n\r\n base08: \"#707372\",\r\n\r\n base08Shadow: \"#000000bf\",\r\n\r\n base09: \"#b2b2b2\",\r\n\r\n base10: \"#272727\",\r\n\r\n ...grayColors\r\n};","export function hexToRgba(hex: string, opacity: number = 1): string {\r\n var c;\r\n if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){\r\n c = hex.substring(1).split('');\r\n if(c.length === 3){\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\r\n }\r\n c = '0x'+c.join('');\r\n return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',' + opacity +')';\r\n }\r\n throw new Error('Bad color Hex code');\r\n}","export const FEATURE_GAME_RECOMMENDATIONS = 'GameRecommendations';\r\nexport const FEATURE_ROUTE_OVERWRITE = \"AbRouteOverwrite\";\r\nexport const FEATURE_DEPOSIT_WIDGET = \"DepositWidget\"; //used only on backend side\r\nexport const FEATURE_CASHOUT_WIDGET = \"CashoutWidget\"; //used only on backend side\r\nexport const FEATURE_TRANSACTION_HISTORY_WIDGET = \"TransactionHistoryWidget\";\r\nexport const FEATURE_NAME_CONTROL_CENTER_TOGGLE = \"AbTestingSafeZoneToggle\";\r\nexport const FEATURE_NAME_LIST_ON_TOP = \"ListOnTop\";\r\nexport const FEATURE_NAME_PARTY_JACKPOTS = \"PartyJackpots\";\r\nexport const FEATURE_NAME_SEARCH_GAME_SUGGESTED_BY_AI = \"SearchGameSuggestionByAI\";\r\nexport const FEATURE_NAME_PLAYERS_LIKE_YOU_GAMES_LIST_TYPE_ID = \"PlayersLikeYouGamesListTypeId\";\r\nexport const FEATURE_NAME_VIDEO_LIVE_STREAM = \"LiveStreamEnabled\";\r\nexport const FEATURE_NAME_STATIC_VIDEO_LIST = \"StaticVideoListEnabled\";\r\nexport const FEATURE_NAME_AI_SORT_GAME_LIST = \"AbTestingAiSortGamesLists\";\r\nexport const FEATURE_NAME_BECAUSE_YOU_PLAYED_LIST = \"BecauseYouPlayedListEnabled\";\r\nexport const FEATURE_NAME_MOBILE_HEADER_SEARCH_BUTTON = \"MobileHeaderSearchButton\";\r\nexport const FEATURE_NAME_ONBOARDING_TOUR = \"OnboardingTourActivated\";\r\n","export const CHANNEL_SOURCE = {\r\n casinoClient: 'CASINO_CLIENT',\r\n partyJackpotToaster: 'PARTY_JACKPOT_TOASTER',\r\n omg: 'OMG',\r\n myAccount: 'MY_ACCOUNT',\r\n uploadDocuments: 'UPLOAD_DOCUMENTS',\r\n registration: 'REGISTRATION',\r\n pendingPlay: 'PENDING_PLAY',\r\n pendingAction: 'PENDING_ACTION',\r\n geoLocationRetry: 'GEO_LOCATION_RETRY',\r\n geoLocation: 'GEO_LOCATION',\r\n rich: 'RICH',\r\n about_popup: 'ABOUT_POPUP',\r\n cashier:\"CASHIER\"\r\n}\r\n\r\nexport const CHANNEL_ELEMENTS = {\r\n depositButton: 'deposit_button',\r\n withdrawButton: 'withdraw_button',\r\n uploadDocumentsButton: 'upload_documents_button',\r\n transactionHistoryButton: 'transaction_history_button',\r\n retryButton: 'retry_button',\r\n plusButton: 'plus_button',\r\n urlParam: 'url_param',\r\n deepLink: 'deep_link',\r\n floatingIcon: 'floating_icon',\r\n controlCenterHeaderButton: 'safezone_header_button',\r\n controlCenterTooltip: 'control_center_tooltip',\r\n controlCenterUsefulLink: 'safezone_useful_link',\r\n gamesLimitsLobbyButton: 'games_limits_lobby_button',\r\n gamesLimitsGameButton: 'games_limits_game_button',\r\n omgAction:\"omg_action\",\r\n cashierAction:\"cashier_action\",\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_IDS = {\r\n sofRequired: 100,\r\n retryCloseDrawerMessage: 101,\r\n psRedirectFocusDialog: 102,\r\n timeSpentReminder: 104,\r\n nightLimitWarning: 105,\r\n nightLimitKick: 106,\r\n lugasCooldown:108,\r\n lugasActiveOnAnotherOperator:109,\r\n lugasLogout:110,\r\n loginMessage:112,\r\n realityCheckGermany: 113\r\n}\r\n\r\nexport const DISPLAY_MESSAGE_NAMES = {\r\n DISRUPTIVE_WARNING_MESSAGE_NAME: \"DisruptiveWarningMessage\",\r\n DISRUPTIVE_KICKOFF_MESSAGE_NAME: \"DisruptiveKickOffMessage\",\r\n LUGAS_COOLDOWN_MESSAGE_NAME:\"LugasCoolingPeriod\",\r\n LUGAS_ACTIVE_MESSAGE_NAME:\"LugasParallelPlaying\",\r\n LUGAS_LOGOUT_MESSAGE_NAME:\"LugasLogout\",\r\n REALITY_CHECK_GERMANY_MESSAGE_NAME: \"RealityCheck\",\r\n LOGIN_MESSAGE: \"LoginMessage\"\r\n}\r\n\r\nexport const ACTION_TAKEN_NAMES = {\r\n CONFIRM_ACTION: \"confirm\",\r\n CANCEL_ACTION: \"cancel\",\r\n}","export enum FP_VOUCHER_TYPES {\r\n FreeSpin = '1',\r\n FreePlay = '2',\r\n FreeJackpotSpin = '3',\r\n FreeJackpotPlay = '4'\r\n}\r\n\r\nexport const FP_MESSAGE_MODE = {\r\n POPUP: 'popup',\r\n EMBEDDED_INTERNAL: 'embedded-internal'\r\n};\r\n","export enum GAME_GROUP {\r\n ARCADE = 209,\r\n BACCARAT = 11,\r\n BACKGAMMONN = 40,\r\n BLACKJACK = 12,\r\n CARRIBEAN_POKER = 18,\r\n CRAPS = 10,\r\n CRAZY_BLACKJACK = 20,\r\n HEAD_TO_HEAD = 207,\r\n HI_LO = 202,\r\n KENO = 16,\r\n LIVE_CASINO = 201,\r\n PAI_GOW_POKER = 17,\r\n POKER = 100,\r\n POKER_TEMPLATE_GAMES = 206,\r\n POOLS = 212,\r\n POWER_VIDEO_POKER = 19,\r\n ROULETTE = 13,\r\n ROULETTE_LIKE = 203,\r\n SCRATCH_CARD = 204,\r\n SLOT = 14,\r\n VIDEO_SLOT = 30,\r\n VIDEO_POKER = 15,\r\n VIDEO_SLOT_BONUS_GAME = 31\r\n}\r\n","export enum JackpotInternalId {\r\n Daily = 8000,\r\n Twilight = 8001,\r\n HourlyCaptain8 = 8002,\r\n MillionaireGenie = 6,\r\n AgeOfTheGodsFranchises = 200019,\r\n\r\n}\r\n\r\nexport enum JackpotType {\r\n Daily = \"Daily\",\r\n HighNoon = \"HighNoon\",\r\n Twilight = \"Twilight\",\r\n Party = \"Party\",\r\n HourlyCaptain8 = \"HourlyCaptain8\",\r\n MillionaireGenie = \"MillionaireGenie\",\r\n AgeOfGods = \"AgeOfTheGodsFranchises\",\r\n Titan = \"Titan\",\r\n VegasMillions = \"VegasMillions\",\r\n JackpotKing = \"JackpotKing\"\r\n}\r\n\r\nexport enum JACKPOT_STATE {\r\n Cold = 1,\r\n Regular = 2,\r\n Hot = 3,\r\n OffHours = 4 // used only for Hourly Party Jackpots for now\r\n}\r\n","const MIGRATION = {\r\n PLAYER_MIGRATED_COOKIE : \"player_migrated\",\r\n LOADED_WITH_MIGRATION_TOKEN_SESSION_STORAGE_KEY: \"loadedWithMigrationToken\",\r\n MIGRATION_SOURCE_QUERY_PARAM: \"utm_source\",\r\n MIGRATION_SOURCE_QUERY_PARAM_VALUE: 'player_migration',\r\n MIGRATION_TOKEN_QUERY_PARAM: \"utm_content\",\r\n BUSINESS_CORRELATION_ID_QUERY_PARAM: \"utm_id\"\r\n};\r\n\r\nexport default MIGRATION;","\r\nexport enum GermanyResponsibleGamingButtonPlacement {\r\n inGame = 0,\r\n inDetailedHistory = 1,\r\n inHeader = 2\r\n}","export const QA_ENV_URBAN_DEFAULT_SETTINGS = {\r\n defaultIcon: 'https://mirage-orbit-latest-eu.888casino.com/configurations/888casino_com/assets/images/888casinologo-mobile.svg',\r\n defaultTitle: '888Casino',\r\n defaultActionURL: 'https://mirage-orbit-latest-eu.888casino.com',\r\n appKey: '64FbuTbIS9aQUIwB0cWoMA',\r\n token: 'MTo2NEZidVRiSVM5YVFVSXdCMGNXb01BOkFVRXNxa2hEUE5rZUtTOW1DLVdvR3hwMHNjdHEtNF9xLXJ1M3ZGazVJWEU',\r\n vapidPublicKey: 'BJOvGd2nCaeEGqqKnsJJhWmJzMvJqO4t3wSCqzVJ6uhHWw3891tqJhs8muo958dtbggZe4vM122EtKE9HkvUf9U='\r\n};\r\n\r\nexport const PWA_PROMPT_EVENT = \"pwaPromptEvent\";\r\nexport const PWA_PROMPT_CALLBACK = \"pwaPromptCallback\";\r\nexport const PWA_INSTALLED_CALLBACK = \"pwaInstalledCallback\";\r\nexport const PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY = \"orbit-pwa-should-auto-popup\";\r\n\r\n","//This is the cookie name used in unified.\r\nexport const STATE_OF_RESIDENCE_COOKIE_KEY: string = 'userSelectedState';\r\n","const TEMP_ACCOUNT_STATUS = {\r\n APPROVED: 'APPROVED',\r\n DOCUMENTS_NOT_RECEIVED: 'DOCUMENTS_NOT_RECEIVED',\r\n PENDING_VERIFICATION: 'PENDING_VERIFICATION'\r\n};\r\nexport {TEMP_ACCOUNT_STATUS};","export enum BalanceType {\r\n CASH = \"cash\",\r\n BONUS = \"bonus\",\r\n BOTH = \"both\"\r\n}\r\n","export type CyCssClass =\r\n 'cy-main-screen' |\r\n 'cy-brand-switch-list' |\r\n 'cy-brand-switch-list-item' |\r\n 'cy-menu-link' |\r\n 'cy-spinner' |\r\n 'cy-game-iframe' |\r\n 'cy-single-game-regular-template' |\r\n 'cy-game-image-container' |\r\n 'cy-play-real-game-button' |\r\n 'cy-play-demo-game-button' |\r\n 'cy-modal' |\r\n 'cy-modal-content' |\r\n 'cy-reality-check-options' |\r\n 'cy-modal-dialog-buttons-area' |\r\n 'cy-welcome-component' |\r\n 'cy-balance-box' |\r\n 'cy-balance-box-amount' |\r\n 'cy-profile-box' |\r\n 'cy-cashier-button' |\r\n 'cy-clock' |\r\n 'cy-game-window' |\r\n 'cy-logout-link' |\r\n 'cy-burger-button' |\r\n 'cy-profile-box-login-button' |\r\n 'cy-menu-links-group' |\r\n 'cy-profile-picture' |\r\n 'cy-menu-item' |\r\n 'cy-game-navbar-close-button' |\r\n 'cy-game-navbar-clock' |\r\n 'cy-game-stripe-clock' |\r\n 'cy-game-navbar' |\r\n 'cy-open-responsible-gaming-button' |\r\n 'cy-game-navbar-game-name' |\r\n 'cy-game-navbar-session-id' |\r\n 'cy-game-navbar-switch-to-real-label' |\r\n 'cy-game-navbar-switch-to-demo-label' |\r\n 'cy-game-navbar-game-mode-toggle' |\r\n \"cy-game-info-page-button\" |\r\n 'cy-welcome-cashier-button' |\r\n 'cy-game-navbar-fullscreen-button' |\r\n 'cy-game-regulation-stripe' |\r\n 'cy-spain-game-limit-duration-select' |\r\n 'cy-spain-game-limit-confirmation-dialog-title' |\r\n 'cy-spain-game-limit-loss-limit-select' |\r\n 'cy-spain-game-limit-interval-reminder-select' |\r\n 'cy-spain-game-limit-restriction-period-select' |\r\n 'cy-header-regulation-data'|\r\n 'cy-self-exclusion-link' |\r\n 'cy-safe-to-play' |\r\n 'cy-responsible-gaming-button' |\r\n 'cy-balance-amount-pc' |\r\n 'cy-header-bankroll-button-mobile' |\r\n 'cy-bonus-and-cash-balance' |\r\n 'cy-cache-balance' |\r\n 'cy-bonus-balance' |\r\n 'cy-login-button-text' |\r\n 'cy-register-button' |\r\n 'cy-last-login-label' |\r\n 'cy-main-nav' |\r\n 'cy-navbar-mobile-wrapper' |\r\n 'cy-session-timer' |\r\n 'cy-last-login-value' |\r\n 'cy-open-game-intermediate-page' |\r\n 'cy-regulation-game-session-id' |\r\n 'cy-regulation-participation-ticket-id' |\r\n 'cy-italy-game-limit-default-amount-option' |\r\n 'cy-italy-game-limit-other-amount-option' |\r\n 'cy-italy-game-limit-other-amount-input' |\r\n 'cy-italy-game-limit-regulatory-value' |\r\n 'cy-sweden-panic-button' |\r\n 'cy-sweden-panic-icon' |\r\n 'cy-sweden-game-limit-button' |\r\n 'cy-sweden-game-limit-icon' |\r\n 'cy-sweden-self-test-button' |\r\n 'cy-sweden-self-test-icon' |\r\n 'cy-modal-dialog-x-close-button' |\r\n 'cy-external-link-container' |\r\n 'cy-cashier-external-link-container' |\r\n 'cy-new-live-casino' |\r\n 'cy-live-casino' |\r\n 'cy-live-casino-widget-container' |\r\n 'cy-modal-main-title' |\r\n 'cy-italy-game-limit-message' |\r\n 'cy-italy-game-limit-message-section' |\r\n 'cy-italy-game-limit-error-section' |\r\n 'cy-dk-doga-icon' |\r\n 'cy-dk-stop-spillen-icon' |\r\n 'cy-dk-rofus-icon' |\r\n 'cy-clear-search-box-icon' |\r\n 'cy-found-games-list-box' |\r\n 'cy-no-found-games-box' |\r\n 'cy-found-games-more-box' |\r\n 'cy-found-games-more' |\r\n 'cy-search-game-item' |\r\n 'cy-user-cid' |\r\n 'cy-close-mobile-menu-icon' |\r\n 'cy-close-mobile-search-icon' |\r\n 'cy-game-search-input' |\r\n 'cy-search-title-box' |\r\n 'cy-game-search-box' |\r\n 'cy-suggested-links-suggested-games' |\r\n 'cy-lobby-header' |\r\n 'cy-lobby-header-title'|\r\n 'cy-navbar-right-container' |\r\n 'cy-homepage-header-arenas-container' |\r\n 'cy-homepage-top-banner-background' |\r\n 'cy-homepage-top-banner-divider' |\r\n 'cy-arena-box' |\r\n 'cy-header-arena-title' |\r\n 'cy-new-games-arena-badge' |\r\n 'cy-party-jackpot-in-game-container' |\r\n 'cy-party-jackpot-in-game-widget-amount' |\r\n 'cy-party-jackpot-welcome-popup' |\r\n 'cy-party-jackpot-welcome-popup-accept-button' |\r\n 'cy-party-jackpot-welcome-popup-decline-button' |\r\n 'cy-party-jackpot-welcome-popup-terms-and-conditions' |\r\n 'cy-reality-check-close-button' |\r\n 'cy-session-cooldown-popup' |\r\n 'cy-game-popup' |\r\n 'cy-game-popup-not-now-button' |\r\n 'cy-game-popup-open-real-button' |\r\n 'cy-game-popup-game-title' |\r\n 'cy-homepage-arenas-header' |\r\n 'cy-layout-wrapper-homepage'|\r\n 'cy-layout-wrapper-miniorbit-homepage' |\r\n 'cy-lobby-wrapper-miniorbit-arena' |\r\n 'cy-panic-button-germany' |\r\n 'cy-tooltip-click-here' |\r\n 'cy-modal-dialog-content' |\r\n 'cy-tooltip-box' |\r\n 'cy-history-more-details' |\r\n 'cy-details-history-header' |\r\n 'cy-useful-links-list' |\r\n 'cy-mini-orbit-useful-links-list' |\r\n 'cy-tooltip-close' |\r\n 'cy-remainder-select' |\r\n 'cy-more-info' |\r\n 'cy-free-play-indicator-button' |\r\n 'cy-deposit-button' |\r\n 'cy-user-menu-close-btn' |\r\n 'cy-free-play-voucher-container' |\r\n 'cy-free-play-games-container' |\r\n 'cy-free-play-game-item' |\r\n 'cy-drop-down-box' |\r\n 'cy-gaming-history-record' |\r\n 'cy-gaming-history-game-name' |\r\n 'cy-gaming-history-game-image' |\r\n 'cy-gaming-history-play-date' |\r\n 'cy-gaming-history-bet-value' |\r\n 'cy-gaming-history-winning-value' |\r\n 'cy-gaming-history-bankroll-value' |\r\n 'cy-gaming-history-free-play-winning' |\r\n 'cy-gaming-history-free-play-current-amount' |\r\n 'cy-gaming-history-amount-description' |\r\n 'cy-gaming-history-amount-value' |\r\n 'cy-gaming-history-round-id' |\r\n 'cy-migrated-gaming-history-round-id' |\r\n 'cy-gaming-history-session-id' |\r\n 'cy-gaming-history-participation-id' |\r\n 'cy-gaming-history-days-selector' |\r\n 'cy-gaming-history-big-win-message' |\r\n 'cy-gaming-history-loading-trigger' |\r\n 'cy-tipping-history-record' |\r\n 'cy-tipping-history-game-name' |\r\n 'cy-tipping-history-game-image' |\r\n 'cy-tipping-history-tip-id' |\r\n 'cy-tipping-history-play-date' |\r\n 'cy-tipping-history-tip-value' |\r\n 'cy-tipping-history-bankroll-value' |\r\n 'cy-tipping-history-days-selector' |\r\n 'cy-tipping-history-loading-trigger' |\r\n 'cy-tipping-history-amount-description' |\r\n 'cy-tipping-history-amount-value' |\r\n 'cy-skip-intermediate-page' |\r\n 'cy-orbit-swiper' |\r\n 'cy-swiper-button-prev' |\r\n 'cy-swiper-button-next' |\r\n 'cy-uk-malta-reality-check-title' |\r\n 'cy-live-casino-grid' |\r\n 'cy-live-casino-grid-item' |\r\n 'cy-live-casino-grid-item-infobar-game-seats-count-text' |\r\n 'cy-live-casino-grid-item-title' |\r\n 'cy-live-casino-grid-item-bet-interval' |\r\n 'cy-live-casino-grid-item-infobar-draws' |\r\n 'cy-live-casino-grid-item-infobar-dealer-name' |\r\n 'cy-live-casino-grid-item-infobar-bet-behind' |\r\n 'cy-live-casino-widget-amount' |\r\n 'cy-live-casino-widget-description' |\r\n 'cy-live-casino-filter-buttons' |\r\n 'cy-history-free-play-message' |\r\n 'cy-user-menu' |\r\n 'cy-games-list-title' |\r\n 'cy-games-title-text' |\r\n 'cy-orbit-swiper-wrapper' |\r\n 'cy-orbit-swiper-games-list' |\r\n 'cy-see-all-link' |\r\n 'cy-recently-played' |\r\n 'cy-help-mobile-link' |\r\n 'cy-filter-link' |\r\n 'cy-open-filters-button' |\r\n 'cy-apply-filters-button' |\r\n 'cy-clear-filters-button' |\r\n 'cy-side-menu' |\r\n 'cy-mini-orbit-side-menu-open-button' |\r\n 'cy-right-drawer' |\r\n 'cy-overlay' |\r\n 'cy-registration-popup-content' |\r\n 'cy-vertical-games-list' |\r\n 'cy-vertical-games-list-close-btn' |\r\n 'cy-lang-switcher-back' |\r\n 'cy-language-switcher-dropdown' |\r\n 'cy-lang-switch-label' |\r\n 'cy-lang-switch-current-lang' |\r\n 'cy-toast-container' |\r\n 'cy-toast' |\r\n 'cy-modal-dialog' |\r\n 'cy-modal-dialog-header' |\r\n 'cy-modal-dialog-consumer-content' |\r\n 'cy-source-of-funds-open-chat-btn' |\r\n 'cy-language-switcher-button' |\r\n 'cy-cms-banner-container' |\r\n 'cy-temp-account-days-number' |\r\n 'cy-temp-account-message-body' |\r\n 'cy-omg-indicator' |\r\n 'cy-jackpot-widget' |\r\n 'cy-cgp-red-tiger-widget-click-detector' |\r\n 'cy-game-jackpot-amount' |\r\n 'cy-useful-links-section' |\r\n 'cy-useful-links-item' |\r\n 'cy-useful-links-li-item' |\r\n 'cy-useful-links-item-expandable' |\r\n 'cy-useful-links-item-side-text' |\r\n 'cy-cgp-about-area' |\r\n 'cy-lobby-grid-arena' |\r\n 'cy-link-to-offer-banner-box' |\r\n 'cy-link-to-offer-wheel-of-fortune' |\r\n 'cy-link-to-offer-dialog-close-box' |\r\n 'cy-open-membership-deeplink' |\r\n 'cy-open-cashier-deeplink' |\r\n 'cy-link-to-offer-icon-box'|\r\n 'cy-games-grid-container' |\r\n 'cy-orbit-swiper-streaming-tile' |\r\n 'cy-orbit-swiper-streaming-tile-footer' |\r\n 'cy-cross-brand-link' |\r\n 'cy-arenas-header-button' |\r\n 'cy-live-video-item' |\r\n 'cy-players-like-you' |\r\n 'cy-because-you-played' |\r\n 'cy-game-title' |\r\n 'cy-lists-intersection-observer-target' |\r\n 'cy-inactivity-timeout-select' |\r\n 'cy-about-session-balance-amount' |\r\n 'cy-about-help-link' |\r\n 'cy-filters-games-list' |\r\n 'cy-game-net-position-value' |\r\n 'cy-game-duration-value' |\r\n 'cy-deposit-widget' |\r\n 'cy-deposit-widget-init-params' |\r\n 'cy-payments-redirect-focus' |\r\n 'cy-uk-tsr-main-text-box' |\r\n 'cy-withdraw-button' |\r\n 'cy-cashout-widget' |\r\n 'cy-cashout-widget-init-params' |\r\n 'cy-top-picks-list' |\r\n 'cy-arenas-header' |\r\n 'cy-logo' |\r\n 'cy-main-wrapper' |\r\n 'cy-clock-component' |\r\n 'cy-game-navbar-free-play-indicator' |\r\n 'cy-free-play-vouchers-container' |\r\n 'cy-header-menu-gift-button' |\r\n 'cy-overlay-content' |\r\n 'cy-user-menu-user-details' |\r\n 'cy-state-select-approve-button' |\r\n 'cy-wrong-app-message' |\r\n 'cy-swiper-buttons' |\r\n 'cy-burnout-animation-container' |\r\n 'cy-burnout-gift-button' |\r\n 'cy-tooltip-container' |\r\n 'cy-logo-container' |\r\n 'cy-navbar-container' |\r\n 'cy-user-profile-messages-indicator' |\r\n 'cy-free-play-indicator-dot' |\r\n 'cy-help-widget-app' |\r\n 'cy-header-help-button' |\r\n 'cy-form-post-form' |\r\n 'cy-free-to-play-click-box' |\r\n 'cy-modal-dialog-link' |\r\n 'cy-italy-other-limit-radio' |\r\n 'cy-standard-limit-radio' |\r\n 'cy-jackpot-widget-collecting-amount' |\r\n 'cy-jackpot-widget-amount'|\r\n 'cy-transaction-history-init-params' |\r\n 'cy-transaction-history-widget' |\r\n 'cy-netherlands-ksa-button' |\r\n 'cy-vouchers-previous-button' |\r\n 'cy-vouchers-next-button' |\r\n 'cy-voucher-card-face' |\r\n 'cy-voucher-card-back' |\r\n 'cy-game-restriction-geo-location-primary-button' |\r\n 'cy-game-restriction-geo-location-secondary-button' |\r\n 'cy-header-control-center-button' |\r\n 'cy-control-center-mini-app' |\r\n 'cy-control-center-mini-widget-init-params' |\r\n 'cy-control-center-full-app' |\r\n 'cy-control-center-full-widget-init-params' |\r\n 'cy-header-state-selector-button' |\r\n 'cy-state-select-dropdown' |\r\n 'cy-state-select-other-button' |\r\n 'cy-login-popup-approve-button' |\r\n 'cy-login-modal-content' |\r\n 'cy-login-popup-total-stakes' |\r\n 'cy-login-popup-net-position' |\r\n 'cy-advanced-filters' |\r\n 'cy-applied-advanced-filters-indicator' |\r\n 'cy-applied-advanced-filter-name' |\r\n 'cy-remove-advanced-filter-x-button' |\r\n 'cy-close-advanced-filters-x-button' |\r\n 'cy-mobile-header-search-button' |\r\n 'cy-daily-deal-box' |\r\n 'cy-hybrid-embedded-nav-menu' |\r\n 'cy-hybrid-embedded-nav-menu-list' |\r\n 'cy-hybrid-menu-item' |\r\n 'cy-free-play-on-boarding-tooltip' |\r\n 'cy-control-center-on-boarding-tooltip' |\r\n 'cy-my-account-external-link-container' |\r\n 'cy-registration-external-link-container' |\r\n 'cy-omg-external-link-container' |\r\n 'cy-forgot-password-external-link-container' |\r\n 'cy-forgot-username-external-link-container' |\r\n 'cy-deposit-pending-action-external-link-container' |\r\n 'cy-transaction-history-pending-action-external-link-container' |\r\n 'cy-pending-play-external-link-container' |\r\n 'cy-pending-login-external-link-container' |\r\n 'cy-rich-external-link-container' |\r\n 'cy-upload-documents-external-link-container' |\r\n 'cy-cross-brand-list' |\r\n 'cy-onboarding-tour' |\r\n 'cy-biometric-login-toggle' |\r\n 'cy-game-number-badge' |\r\n 'cy-search-results-number' |\r\n 'cy-search-title-text' |\r\n 'cy-useful-links-sub-items-list' |\r\n 'cy-useful-links-subitem';\r\n\r\n\r\n\r\nexport function CyClass(className: CyCssClass): string {\r\n return className.toString();\r\n}\r\n\r\nexport function CySelector(className: CyCssClass): string {\r\n return '.' + className.toString();\r\n}\r\n\r\nexport function CySelectors(...classNames: CyCssClass[]): string {\r\n return classNames.map(clsName => '.' + clsName).join(' ');\r\n}\r\n","export enum GameChildishIconMode { \r\n UseDefaultIcon,\r\n UseNonChildishIcon,\r\n PreferNonChildishIcon\r\n}\r\n","import {TimeSpan} from \"@sparkware/app-utils\";\r\n\r\nexport enum TSR_TYPE {\r\n SESSION_TIMER,\r\n GAME_TIMER\r\n}\r\n\r\nexport type ITimeSpentReminderOptions = ISessionTimeSpentReminderComponentProps | IGameTimeSpentReminderComponentProps;\r\n\r\nexport interface ITimeSpentReminderComponentBaseProps {\r\n playingTime: TimeSpan;\r\n}\r\n\r\ninterface ISessionTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.SESSION_TIMER;\r\n}\r\n\r\ninterface IGameTimeSpentReminderComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n timerType: TSR_TYPE.GAME_TIMER;\r\n onStopReminders: () => void;\r\n}\r\n\r\nexport interface ITimeSpentReminderWithBalanceComponentProps extends ITimeSpentReminderComponentBaseProps {\r\n totalNetLoss: number;\r\n isInGame: boolean;\r\n}","function hexToDec(h: string) {\r\n return parseInt(h, 16);\r\n}\r\n\r\nfunction decToHex(n: number) {\r\n let h = n.toString(16);\r\n if (h.length === 1) {\r\n return '0' + h;\r\n }\r\n return h;\r\n}\r\n\r\nfunction clamp(value: number, min: number, max: number) {\r\n return Math.min(Math.max(value, min), max)\r\n}\r\n\r\n// https://css-tricks.com/converting-color-spaces-in-javascript/\r\nexport function rgbToHsl(r: number, g: number, b: number) {\r\n // Make r, g, and b fractions of 1\r\n r = r / 255;\r\n g = g / 255;\r\n b = b / 255;\r\n\r\n // Find greatest and smallest channel values\r\n let cmin = Math.min(r,g,b),\r\n cmax = Math.max(r,g,b),\r\n delta = cmax - cmin,\r\n h = 0,\r\n s = 0,\r\n l = 0;\r\n \r\n // Calculate hue\r\n // No difference\r\n if (delta === 0)\r\n h = 0;\r\n // Red is max\r\n else if (cmax === r)\r\n h = ((g - b) / delta) % 6;\r\n // Green is max\r\n else if (cmax === g)\r\n h = (b - r) / delta + 2;\r\n // Blue is max\r\n else\r\n h = (r - g) / delta + 4;\r\n\r\n h = Math.round(h * 60);\r\n\r\n // Make negative hues positive behind 360°\r\n if (h < 0)\r\n h += 360;\r\n \r\n // Calculate lightness\r\n l = (cmax + cmin) / 2;\r\n\r\n // Calculate saturation\r\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\r\n \r\n // Multiply l and s by 100\r\n s = +(s * 100).toFixed(1);\r\n l = +(l * 100).toFixed(1);\r\n\r\n // return \"hsl(\" + h + \",\" + s + \"%,\" + l + \"%)\";\r\n return {\r\n hue: h,\r\n saturation: s,\r\n lightness: l\r\n };\r\n}\r\n\r\nexport function hslToRgb(h: number, s: number, l: number) {\r\n // Must be fractions of 1\r\n s /= 100;\r\n l /= 100;\r\n\r\n let c = (1 - Math.abs(2 * l - 1)) * s,\r\n x = c * (1 - Math.abs((h / 60) % 2 - 1)),\r\n m = l - c/2,\r\n r = 0,\r\n g = 0,\r\n b = 0;\r\n \r\n if (0 <= h && h < 60) {\r\n r = c; g = x; b = 0; \r\n } else if (60 <= h && h < 120) {\r\n r = x; g = c; b = 0;\r\n } else if (120 <= h && h < 180) {\r\n r = 0; g = c; b = x;\r\n } else if (180 <= h && h < 240) {\r\n r = 0; g = x; b = c;\r\n } else if (240 <= h && h < 300) {\r\n r = x; g = 0; b = c;\r\n } else if (300 <= h && h < 360) {\r\n r = c; g = 0; b = x;\r\n }\r\n r = Math.round((r + m) * 255);\r\n g = Math.round((g + m) * 255);\r\n b = Math.round((b + m) * 255);\r\n return {\r\n red: r,\r\n green: g,\r\n blue: b\r\n };\r\n}\r\n\r\nexport class Color {\r\n public readonly red: number;\r\n public readonly gre: number;\r\n public readonly blu: number;\r\n public readonly opa: number;\r\n\r\n static fromHex(hex: string, opacity?: number) {\r\n if (hex === \"transparent\") {\r\n return Color.transparent();\r\n }\r\n /**\r\n * A valid hex can be formed from 3, 4, 6 or 8 characters from 0 to F, case insensitive.\r\n * The long form (8 characters also contains opacity), 00 (numeric 0) is fully transparent, FF (numeric 255) is fully opaque\r\n * Short format hex, 3 characters for example #4A9 is the short form for #44AA99\r\n * Short format hexa, 4 characters for example #4A9B is the short form for #44AA99BB\r\n */\r\n if (!/^#?(([A-Fa-f0-9]{3}){1,2}|(([A-Fa-f0-9]{4}){1,2}))$/.test(hex)) {\r\n throw new Error('Bad color Hex code');\r\n }\r\n if (hex[0] === \"#\") hex = hex.substring(1);\r\n let c: string[] = hex.split('');\r\n if (c.length === 3) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\r\n }\r\n if (c.length === 4) {\r\n c = [c[0], c[0], c[1], c[1], c[2], c[2], c[3], c[3]];\r\n }\r\n const red = hexToDec('' + c[0] + c[1]);\r\n const gre = hexToDec('' + c[2] + c[3]);\r\n const blu = hexToDec('' + c[4] + c[5]);\r\n const opa255 = c.length === 8 ? hexToDec('' + c[6] + c[7]) : 255;\r\n const opa = opacity ? opacity : Math.round(10000 * opa255 / 255) / 10000;\r\n return new Color(red, gre, blu, opa);\r\n }\r\n\r\n static transparent() {\r\n return new Color(127, 127, 127, 0);\r\n }\r\n\r\n constructor(r: number, g: number, b: number, o: number = 1) {\r\n this.red = clamp(r, 0, 255);\r\n this.gre = clamp(g, 0, 255);\r\n this.blu = clamp(b, 0, 255);\r\n this.opa = clamp(o, 0, 1);\r\n }\r\n\r\n rgb() {\r\n return 'rgba(' + [this.red, this.gre, this.blu].join(', ') + ')';\r\n }\r\n\r\n rgba() {\r\n return 'rgba(' + [this.red, this.gre, this.blu, this.opa].join(', ') + ')';\r\n }\r\n\r\n hex(withHashtag = true) {\r\n return (withHashtag ? '#' : '') + decToHex(this.red) + decToHex(this.gre) + decToHex(this.blu);\r\n }\r\n\r\n hexa(withHashtag = true) {\r\n return (withHashtag ? '#' : '') + decToHex(this.red) + decToHex(this.gre) + decToHex(this.blu) + decToHex(Math.round(this.opa * 255));\r\n }\r\n\r\n /**\r\n * I am computing the distance between 2 colors using a simple Euclidian distance in RGB space even if RGB is not perceptually uniform,\r\n * because I only want to see how dark or how light a color is, to determine if I can lighten or darken it for the hover effect.\r\n * https://colorjs.io/docs/color-difference.html\r\n * In RGB space, the greatest distance possible is 441.6729559300637 from white (255, 255, 255) to black (0, 0, 0).\r\n * \r\n * So, for the hover effect, if the button is white, I cannot lighen the color white so I will darken it (making it a light gray)\r\n * \r\n * Another way of determining how bright or dark a color is, is to convert rgb to hsl space and use lightness\r\n * which we know is a percentual value (from 0 to 100%)\r\n * \r\n * Usage:\r\n * To compute the distance from black: color.distanceFrom(new Color(0, 0, 0))\r\n * To compute the distance from white: color.distanceFrom(new Color(255, 255, 255))\r\n */\r\n distanceFrom(c: Color) {\r\n return Math.sqrt(Math.pow(c.red - this.red, 2) + Math.pow(c.gre - this.gre, 2) + Math.pow(c.blu - this.blu, 2));\r\n }\r\n\r\n private adjustColorLightness(amount: number) {\r\n if (this.opa === 0) {\r\n if (amount > 0) {\r\n return new Color(255, 255, 255, amount / 100);\r\n }\r\n if (amount < 0) {\r\n return new Color(0, 0, 0, amount / 100);\r\n }\r\n }\r\n // return new Color(this.red + amount, this.gre + amount, this.blu + amount);\r\n const hslData = rgbToHsl(this.red, this.gre, this.blu);\r\n hslData.lightness = clamp(hslData.lightness + amount, 0, 100);\r\n const rgbData = hslToRgb(hslData.hue, hslData.saturation, hslData.lightness);\r\n return new Color(rgbData.red, rgbData.green, rgbData.blue, this.opa);\r\n }\r\n\r\n lighten(amount: number) {\r\n return this.adjustColorLightness(Math.abs(amount));\r\n }\r\n\r\n darken(amount: number) {\r\n return this.adjustColorLightness(-Math.abs(amount));\r\n }\r\n\r\n private adjustColorSaturation(amount: number) {\r\n const hslData = rgbToHsl(this.red, this.gre, this.blu);\r\n hslData.saturation = clamp(hslData.saturation + amount, 0, 100);\r\n const rgbData = hslToRgb(hslData.hue, hslData.saturation, hslData.lightness);\r\n return new Color(rgbData.red, rgbData.green, rgbData.blue, this.opa);\r\n }\r\n\r\n saturate(amount: number) {\r\n return this.adjustColorSaturation(Math.abs(amount));\r\n }\r\n\r\n desaturate(amount: number) {\r\n return this.adjustColorSaturation(-Math.abs(amount));\r\n }\r\n\r\n private adjustTransparency(amount: number) {\r\n const opacity = clamp(this.opa + amount, 0, 1);\r\n return new Color(this.red, this.gre, this.blu, opacity);\r\n }\r\n\r\n fadeIn(amount: number) {\r\n return this.adjustTransparency(Math.abs(amount));\r\n }\r\n \r\n fadeOut(amount: number) {\r\n return this.adjustTransparency(-Math.abs(amount));\r\n }\r\n}","import { TimeSpan } from \"@sparkware/app-utils\";\r\n\r\nexport interface ImagePreloadPromiseResponse {\r\n error: string | null;\r\n backgroundUrl: string;\r\n imageObj: HTMLImageElement;\r\n}\r\n\r\nexport function imagePreload(src: string, timeout?: TimeSpan) {\r\n timeout = timeout || TimeSpan.fromMinutes(2);\r\n return new Promise((res, rej) => {\r\n let image = new Image();\r\n image.onload = () => {\r\n clearTimeout(timeoutRejection);\r\n res({error: null, backgroundUrl: src, imageObj: image});\r\n };\r\n image.onerror = ()=> {\r\n rej({\r\n error: 'Could not load image on path => ' + src,\r\n backgroundUrl: src\r\n });\r\n };\r\n const timeoutRejection = setTimeout(() => {\r\n rej({\r\n error: 'Timeout. Could not load image on path => ' + src,\r\n backgroundUrl: src\r\n });\r\n }, timeout.totalMilliseconds);\r\n image.src = src;\r\n });\r\n}\r\n\r\nexport function imagePreloadWithDefault(src: string | null | undefined, defaultPath: string) {\r\n if (src) {\r\n return imagePreload(src).catch(() => {\r\n return imagePreload(defaultPath);\r\n });\r\n } else {\r\n return imagePreload(defaultPath);\r\n }\r\n}\r\n","import {\r\n CasinoStartupConfigurations,\r\n OrbitStartupConfigurations\r\n} from '../config-interfaces/casino-startup.configurations';\r\nimport {ApplicationStartupConfigurations} from '../config-interfaces/application-startup.configurations';\r\nimport {B2CStartupConfigurations} from '../config-interfaces/b2c-startup.configurations';\r\nimport {LauncherOverridesReader} from '../launcher-overrides-reader/launcher-overrides-reader';\r\nimport {LauncherOverrides} from '../config-interfaces/launcher-overrides';\r\nimport {IWindowService} from '../../services/window/window.service.interface';\r\nimport {IHttpService} from '../../services/http/http.service.interface';\r\nimport {ILoggerService} from '../../services/logger/logger.service.interface';\r\nimport {mockApplicationStartupConfigs} from '../../../utils/automation-helpers';\r\nimport {ALL_CONFIGS_KEY} from \"../../../app-consts\";\r\nimport {IConfigurationData} from \"../../services/configurations/configuration-data.interface\";\r\n\r\nconst overrideJson = require('json-override');\r\n\r\nexport class ApplicationStartupConfigurationsReader {\r\n constructor(private _defaultOrbitConfigurations: any,\r\n private _window: IWindowService,\r\n private _launcherOverridesReader: LauncherOverridesReader,\r\n private _http: IHttpService,\r\n private _logger: ILoggerService) {\r\n\r\n\r\n }\r\n\r\n private _launcherOverrides: LauncherOverrides | null;\r\n private _b2cConfigurations: B2CStartupConfigurations;\r\n private _skinFullName: string;\r\n\r\n async readApplicationConfigurations(): Promise {\r\n this._launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n this._b2cConfigurations = this._getB2CConfigurations();\r\n\r\n let casinoConfigurations = await this._getCasinoConfigurations();\r\n this._skinFullName = (`${casinoConfigurations.skin}_${casinoConfigurations.skinOverride}`).toLowerCase();\r\n const configs: ApplicationStartupConfigurations = {\r\n configurationPath: this._getConfigPath(casinoConfigurations),\r\n orbitServer: casinoConfigurations.sdk.config.ExtraProperties.paths.server,\r\n skin: casinoConfigurations.skin,\r\n skinOverride: casinoConfigurations.skinOverride,\r\n skinFullName: this._skinFullName,\r\n country: casinoConfigurations.country,\r\n orbit: casinoConfigurations.orbit,\r\n sdk: casinoConfigurations.sdk,\r\n admin: casinoConfigurations.adminConfig,\r\n b2c: this._b2cConfigurations,\r\n userSelectedState: casinoConfigurations.userSelectedState\r\n };\r\n\r\n return mockApplicationStartupConfigs(configs);\r\n }\r\n\r\n private _getConfigPath(casinoConfigurations: CasinoStartupConfigurations): string {\r\n\r\n let server = casinoConfigurations.sdk.config.ExtraProperties.paths.server;\r\n if(!server.endsWith('/')) {\r\n server += '/';\r\n }\r\n\r\n return server + `configurations/${this._skinFullName}`;\r\n }\r\n\r\n\r\n private async _getCasinoConfigurations(): Promise {\r\n let casinoConfigurations: CasinoStartupConfigurations = this._window.getGlobalProperty(ALL_CONFIGS_KEY);\r\n const skin = casinoConfigurations.skin.toLowerCase();\r\n const skinOverride = casinoConfigurations.skinOverride.toLowerCase();\r\n const lang = this._b2cConfigurations.language.iso3.toLowerCase();\r\n\r\n casinoConfigurations.orbit.config = await this._loadOrbitConfigFile(skin, skinOverride);\r\n casinoConfigurations.orbit.lang = await this._tryLoadOrbitLanguageOverrideFile(skin, skinOverride, lang);\r\n casinoConfigurations = await this._applyOrbitConfigsOverrides(casinoConfigurations);\r\n casinoConfigurations = this._applySdkConfigOverrides(casinoConfigurations);\r\n return casinoConfigurations;\r\n\r\n }\r\n\r\n private async _loadOrbitConfigFile(skin: string, skinOverride: string): Promise {\r\n try {\r\n const configModule = await import(`../../../settings/configs/${skin}/overrides/${skinOverride}/config`);\r\n\r\n return configModule.default;\r\n } catch (err) {\r\n this._logger.error(`Failed to load orbit configuration file for skin ${skin}/${skinOverride}`, err);\r\n throw err;\r\n }\r\n\r\n }\r\n\r\n private async _tryLoadOrbitLanguageOverrideFile(skin: string, skinOverride: string, languageIso3: string): Promise {\r\n try {\r\n const langOverrideModule = await import(`../../../settings/configs/${skin}/overrides/${skinOverride}/languages/${languageIso3}`);\r\n return langOverrideModule.default;\r\n } catch (err) {\r\n this._logger.debug(`There is no override file for language ${languageIso3} in skin ${skin}/${skinOverride}`, err);\r\n }\r\n\r\n }\r\n\r\n\r\n async _applyOrbitConfigsOverrides(casinoConfigurations: CasinoStartupConfigurations): Promise {\r\n casinoConfigurations.orbit.config = overrideJson(this._defaultOrbitConfigurations, casinoConfigurations.orbit.config);\r\n if(this._launcherOverrides && this._launcherOverrides.orbit && this._launcherOverrides.orbit.configs) {\r\n overrideJson(casinoConfigurations.orbit.config, this._launcherOverrides.orbit.configs);\r\n }\r\n return casinoConfigurations;\r\n }\r\n\r\n\r\n\r\n private _applySdkConfigOverrides(casinoConfigurations: CasinoStartupConfigurations): CasinoStartupConfigurations {\r\n\r\n if(!(casinoConfigurations.sdk && casinoConfigurations.sdk.config)) { // if SDK configs are not here it probably means the app is loaded from a fallback file\r\n return casinoConfigurations;\r\n }\r\n\r\n overrideJson(casinoConfigurations, {\r\n sdk: {\r\n config: (this._launcherOverrides && this._launcherOverrides.sdk) || {}\r\n }\r\n });\r\n\r\n overrideJson(casinoConfigurations, {\r\n sdk: {\r\n config: {\r\n Language: {\r\n iso3: this._b2cConfigurations.language.iso3,\r\n iso2: this._b2cConfigurations.language.iso2\r\n }\r\n }\r\n }\r\n });\r\n\r\n let orbitLang = casinoConfigurations.orbit.lang;\r\n if(orbitLang && orbitLang.text && orbitLang.text.SDKTexts) {\r\n overrideJson(casinoConfigurations.sdk.config.Language.text, orbitLang.text.SDKTexts);\r\n }\r\n\r\n return casinoConfigurations;\r\n }\r\n\r\n\r\n\r\n\r\n private _applyB2COverrides(b2cConfigs: B2CStartupConfigurations): B2CStartupConfigurations {\r\n\r\n if(this._launcherOverrides?.orbit) {\r\n let languageIso3Override = this._launcherOverrides.orbit.language;\r\n let languageIso2Override = this._launcherOverrides.orbit.iso2;\r\n\r\n if(languageIso3Override) {\r\n b2cConfigs.language = {...b2cConfigs.language, iso3: languageIso3Override};\r\n }\r\n\r\n if(languageIso2Override) {\r\n b2cConfigs.language = {...b2cConfigs.language, iso2: languageIso2Override};\r\n }\r\n\r\n let publicationIdOverride = this._launcherOverrides.orbit.publicationID;\r\n if(publicationIdOverride) {\r\n b2cConfigs.publicationId = publicationIdOverride;\r\n }\r\n }\r\n\r\n\r\n let segmentsOverrides = this._launcherOverrides?.webData?.segments;\r\n\r\n if(segmentsOverrides) {\r\n b2cConfigs.segments = {...b2cConfigs.segments, ...segmentsOverrides};\r\n }\r\n\r\n return b2cConfigs;\r\n }\r\n\r\n private _getB2CConfigurations() : B2CStartupConfigurations {\r\n let b2cConfigs = this._window.getGlobalProperty('webData') || {} as B2CStartupConfigurations;\r\n\r\n b2cConfigs.language = b2cConfigs.language || {};\r\n b2cConfigs.language.iso3 = b2cConfigs.language.iso3 || 'eng';\r\n b2cConfigs.language.iso2 = b2cConfigs.language.iso2 || 'en';\r\n\r\n\r\n if(this._launcherOverrides) {\r\n return this._applyB2COverrides(b2cConfigs);\r\n }\r\n\r\n return b2cConfigs;\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import ISdkHooksProvider from './sdk-hooks-provider.interface';\r\nimport {MINI_CIP_BASE_ROUTE, MINI_CIS_BASE_ROUTE} from '../../services/mini-orbit/mini-orbit-consts';\r\nimport {Uri} from '../../services/location/uri/uri';\r\nimport {IServiceFactoryExtended} from '../../services/service-factory-extended.interface';\r\nimport {IOrbitComponentToSdkAdapterService} from '../../../common/interfaces/orbit-component-to-sdk-adapter/orbit-component-to-sdk-adapter.service.interface';\r\nimport {ICashierService} from \"../../../common/interfaces/cashier.service.interface\";\r\nimport {IGameRunnerProxy} from \"../../../common/interfaces/game-runner-proxy.interface\";\r\nimport {ICasinofiedAnalyticsService} from \"../../../common/interfaces/casinofied-analytics-proxy.interface\";\r\nimport {IExternalLinksProxy} from \"../../../common/interfaces/external-links-proxy.interface\";\r\nimport {\r\n ICasinofiedAppLauncherService\r\n} from \"../../services/casinofied/app-launcher/casinofied-app-launcher.service.interface\";\r\nimport IPlayerMigration from \"../../../common/interfaces/player-migration.interface\";\r\nimport {IToasterProxy} from '../../../common/interfaces/toaster_proxy_service_interface';\r\nimport {ILinksNavigationService} from \"../../services/links-navigation/links-navigation.service.interface\";\r\nimport {ISpinnerService} from \"../../../common/interfaces/spinner.service.interface\";\r\n\r\nexport class SdkHooksProvider implements ISdkHooksProvider {\r\n services: IServiceFactoryExtended;\r\n\r\n redirectProxy(url: string): void {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n if (this.services) {\r\n //SDK is using this function to do redirects,\r\n //but we must do redirect only if the URL is an absolut URL.\r\n //If is a relative one like /gaming_history/ then we just need to do local routing\r\n if (this.services.window.isAbsolutUrl(url)) {\r\n this.services.location.redirect(url);\r\n } else {\r\n this.services.location.push(url);\r\n }\r\n } else {\r\n window.location.href = url;\r\n }\r\n };\r\n\r\n openInNewWindowHook(): (url: string) => void | null {\r\n if (this.services?.miniOrbit.isEnabled) {\r\n return this.services.miniOrbit.openUrl;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n isMiniCip(): boolean {\r\n return this._isMiniOrbit(MINI_CIP_BASE_ROUTE);\r\n }\r\n\r\n isMiniCis(): boolean {\r\n return this._isMiniOrbit(MINI_CIS_BASE_ROUTE);\r\n }\r\n\r\n private _isMiniOrbit(basePath: string): boolean {\r\n if (!this.services) {\r\n return false;\r\n }\r\n\r\n const uri = new Uri(new URL(window.location.href));\r\n return uri.pathName.getBase().toString().toLowerCase() === basePath;\r\n }\r\n\r\n getGameTypesMappingForSdk(): Record {\r\n if (!this.services) {\r\n return null;\r\n }\r\n\r\n const mapperData: Record = {};\r\n this.services?.configuration?.usedGameTypesBySite?.forEach(gameType => {\r\n mapperData[gameType] = {};\r\n });\r\n\r\n return mapperData;\r\n };\r\n\r\n getHeaderRegulationDataElement(): HTMLElement {\r\n return this.services?.header?.getHeaderRegulationDataElement();\r\n }\r\n\r\n resolveGameImagePath(imageFilePath: string): string {\r\n return this.services?.configuration?.resolveGameImagePath(imageFilePath);\r\n }\r\n\r\n getOrbitComponentToSdkAdapter(): IOrbitComponentToSdkAdapterService {\r\n return (this.services.orbitComponentInsideSdkProvider as any) as IOrbitComponentToSdkAdapterService;\r\n }\r\n\r\n getCashierService(): ICashierService {\r\n return this.services.cashier;\r\n }\r\n\r\n getGameRunnerService(): IGameRunnerProxy {\r\n return (this.services.gameRunner as any) as IGameRunnerProxy;\r\n }\r\n\r\n getCasinofiedAnalyticsService(): ICasinofiedAnalyticsService {\r\n return this.services.casinofiedAnalytics;\r\n }\r\n\r\n getSpinnerService(): ISpinnerService {\r\n return this.services.spinner;\r\n }\r\n\r\n\r\n getPlayerMigrationService(): IPlayerMigration {\r\n return this.services.playerMigration;\r\n }\r\n\r\n getExternalLinksProxyService(): IExternalLinksProxy {\r\n return this.services.externalLinks;\r\n }\r\n\r\n getToasterProxyService(): IToasterProxy {\r\n return this.services.toaster;\r\n }\r\n\r\n getCasinofiedAppLauncher(): ICasinofiedAppLauncherService {\r\n return this.services.appLauncher;\r\n }\r\n\r\n getLinksNavigationService(): ILinksNavigationService {\r\n return this.services.linksNavigation;\r\n }\r\n}","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class PropertiesEvaluator {\r\n constructor(private _propertiesEvaluators: IPropertyEvaluator[]) {\r\n }\r\n\r\n private _config: unknown = null;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isNullOrUndefined(this._config)) {\r\n let config = {};\r\n\r\n this._propertiesEvaluators.forEach(propEvaluator => {\r\n Object.defineProperty(config, propEvaluator.propertyName, {\r\n get: () => propEvaluator.evaluate(context),\r\n set: () => {\r\n /*TODO - this setter is here because since we upgrade to mobx 6 it throws an error in underscore.ts in mergeDeep function which is called in config_service getConfig. We won't need this when all SDK code will be moved to orbit*/\r\n },\r\n configurable: false,\r\n enumerable: true\r\n });\r\n });\r\n\r\n this._config = config;\r\n }\r\n\r\n return this._config;\r\n }\r\n\r\n static fromRoot(rootObject: object, context: IConfigurationEvaluationContext): PropertiesEvaluator {\r\n let rootProps = Object.keys(rootObject).map(propName => context.createPropertyEvaluator(propName, rootObject));\r\n return new PropertiesEvaluator(rootProps);\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IValueEvaluator} from '../../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IStatementEvaluator} from '../statement-evaluator/statement-evaluator.interface';\r\n\r\nexport class StatementsEvaluator implements IValueEvaluator {\r\n constructor(private _statementsEvaluators: IStatementEvaluator[], private _defaultValue: any) {\r\n }\r\n\r\n get defaultValue() {\r\n return this._defaultValue;\r\n }\r\n\r\n get evaluators(): IStatementEvaluator[] {\r\n return this._statementsEvaluators\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n for(let i = 0, len = this.evaluators.length; i < len; i++) {\r\n let statementEvaluator = this.evaluators[i];\r\n let evaluatedValue = statementEvaluator.evaluate(context);\r\n if(!Check.isNullOrUndefined(evaluatedValue)) {\r\n return this._applyValueTransformation(context, evaluatedValue);\r\n }\r\n }\r\n\r\n return this._applyValueTransformation(context, this.defaultValue);\r\n }\r\n\r\n private _applyValueTransformation(context: IConfigurationEvaluationContext, value) {\r\n return context.parsePropertyValue(value).evaluate(context)\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {PropertiesEvaluator} from '../../properties-evaluator/properties-evaluator';\r\nimport {IPropertyEvaluator} from '../../property-evaluator/property-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class ObjectEvaluator implements IValueEvaluator {\r\n constructor(private _object: object) {\r\n }\r\n\r\n get obj() {\r\n return this._object;\r\n }\r\n\r\n private _evaluatedValue: unknown = undefined;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isUndefined(this._evaluatedValue)) {\r\n let properties: IPropertyEvaluator[] = [];\r\n\r\n Object.keys(this.obj).forEach(propertyName => {\r\n properties.push(context.createPropertyEvaluator(propertyName, this.obj));\r\n });\r\n\r\n let configEvaluator = new PropertiesEvaluator(properties);\r\n this._evaluatedValue = configEvaluator.evaluate(context);\r\n }\r\n\r\n return this._evaluatedValue;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\n\r\nexport class ArrayEvaluator implements IValueEvaluator {\r\n constructor(private _itemsEvaluators: IValueEvaluator[]) {\r\n }\r\n\r\n get evaluators(): IValueEvaluator[] {\r\n return this._itemsEvaluators;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n return this.evaluators.map((item, index) => item.evaluate(context.createPropertyContext(index.toString())));\r\n }\r\n\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IValueEvaluator} from '../value-evaluator.interface/value-evaluator.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\nexport class SimpleValueEvaluator implements IValueEvaluator {\r\n constructor(private _value: any) {\r\n }\r\n\r\n get value(): any {\r\n return this._value;\r\n }\r\n\r\n private _evaluatedValue = undefined;\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n if(Check.isUndefined(this._evaluatedValue)) {\r\n this._evaluatedValue = context.applyValueTransformation(context.getCurrentPropertyPath(), this.value);\r\n }\r\n return this._evaluatedValue;\r\n }\r\n}\r\n\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IStatementEvaluator} from './statement-evaluator.interface';\r\n\r\n\r\n\r\nexport class StatementEvaluator implements IStatementEvaluator {\r\n constructor(private _statementDefinition: any) {\r\n }\r\n\r\n get definition(): any {\r\n return this._statementDefinition;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n let rules = (this.definition.rules || []).map(rule => context.createSegmentationRule(rule));\r\n let logicalOperator = context.createLogicalOperator(this.definition.condition || 'AND', rules);\r\n if(logicalOperator.evaluate(context)) {\r\n return this.definition.value;\r\n }\r\n return null;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {ILogicalOperator} from './logical-operator.interface/logical-operator.interface';\r\nimport {ISegmentationRule} from '../segmentation-rule/segmentation-rule.interface';\r\n\r\nexport abstract class BaseLogicalOperator implements ILogicalOperator {\r\n\r\n constructor(private _rules: ISegmentationRule[]) {\r\n\r\n }\r\n\r\n get rules(): ISegmentationRule[] {\r\n return this._rules;\r\n }\r\n\r\n abstract evaluate(context: IConfigurationEvaluationContext): boolean;\r\n}\r\n","import {BaseLogicalOperator} from '../base-logical-operator';\r\nimport {IConfigurationEvaluationContext} from '../../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\n\r\nexport class OrLogicalOperator extends BaseLogicalOperator {\r\n\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n for(let i = 0, len = this.rules.length; i < len; i++) {\r\n let rule = this.rules[i];\r\n if(rule.evaluate(context)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {BaseLogicalOperator} from '../base-logical-operator';\r\nimport {IConfigurationEvaluationContext} from '../../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\n\r\nexport class AndLogicalOperator extends BaseLogicalOperator {\r\n\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n if(this.rules.length === 0) {\r\n return false;\r\n }\r\n\r\n for(let i = 0, len = this.rules.length; i < len; i++) {\r\n let rule = this.rules[i];\r\n if(!rule.evaluate(context)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {ISegmentationRule} from './segmentation-rule.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class SegmentationRule implements ISegmentationRule {\r\n constructor(private _ruleDefinition: any) {\r\n }\r\n\r\n get definition(): any {\r\n return this._ruleDefinition;\r\n }\r\n evaluate(context: IConfigurationEvaluationContext): boolean {\r\n if(Check.isArray(this.definition.rules)) {\r\n let innerRules = this.definition.rules.map(rule => context.createSegmentationRule(rule));\r\n let logicalOperator = context.createLogicalOperator(this.definition.condition || 'AND', innerRules);\r\n return logicalOperator.evaluate(context);\r\n } else {\r\n let operator = context.createComparisonOperator(this.definition.operator);\r\n let segmentValue = context.getSegmentValue(this.definition.id);\r\n return operator.compare(segmentValue, this.definition.value)\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import {IComparisonOperator} from './comparison-operator.interface/comparison-operator.interface';\r\n\r\nexport abstract class BaseComparisonOperator implements IComparisonOperator {\r\n\r\n abstract compare(value1: unknown, value2: unknown): boolean;\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\n\r\nexport class EqualOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if(this._isBooleanAsString(value1) || this._isBooleanAsString(value2)) {\r\n return value1?.toString() === value2?.toString();\r\n }\r\n // eslint-disable-next-line\r\n return value1 == value2;\r\n }\r\n\r\n private _isBooleanAsString(value: any) {\r\n if (value === 'true' || value === 'false') {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {EqualOperator} from '../equal-operator/equal-operator';\r\n\r\nexport class NotEqualOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown) {\r\n return !(new EqualOperator().compare(value1, value2));\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IComparisonOperator} from '../statements/comparison-operators/comparison-operator.interface/comparison-operator.interface';\r\nimport {ISegmentationRule} from '../statements/segmentation-rule/segmentation-rule.interface';\r\nimport {ILogicalOperator} from '../statements/logical-operators/logical-operator.interface/logical-operator.interface';\r\nimport {IStatementEvaluator} from '../statements/statement-evaluator/statement-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\n\r\n\r\nexport class PropertyLevelContext implements IConfigurationEvaluationContext {\r\n constructor(private _originalContext: IConfigurationEvaluationContext, private _currentPropertyName) {\r\n\r\n }\r\n\r\n createComparisonOperator(operatorName: string): IComparisonOperator {\r\n return this._originalContext.createComparisonOperator(operatorName);\r\n }\r\n\r\n createLogicalOperator(logicalOperatorName: string, rules: ISegmentationRule[]): ILogicalOperator {\r\n return this._originalContext.createLogicalOperator(logicalOperatorName, rules);\r\n }\r\n\r\n createSegmentationRule(ruleDefinition: any): ISegmentationRule {\r\n return this._originalContext.createSegmentationRule(ruleDefinition);\r\n }\r\n\r\n createStatementEvaluator(statementDefinition: any): IStatementEvaluator {\r\n return this._originalContext.createStatementEvaluator(statementDefinition);\r\n }\r\n\r\n getSegmentValue(name: string): any {\r\n return this._originalContext.getSegmentValue(name);\r\n }\r\n\r\n parsePropertyValue(value: any): IValueEvaluator {\r\n return this._originalContext.parsePropertyValue(value);\r\n }\r\n\r\n\r\n getCurrentPropertyPath(): string {\r\n return this._originalContext.getCurrentPropertyPath() + '/' + this._currentPropertyName;\r\n }\r\n\r\n createPropertyContext(propertyName: string): IConfigurationEvaluationContext {\r\n return new PropertyLevelContext(this, propertyName);\r\n }\r\n\r\n applyValueTransformation(propertyPath: string, value: any): any {\r\n return this._originalContext.applyValueTransformation(propertyPath, value);\r\n }\r\n\r\n createPropertyEvaluator(propertyName: string, propertyOwner: object): IPropertyEvaluator {\r\n return this._originalContext.createPropertyEvaluator(propertyName, propertyOwner);\r\n }\r\n\r\n getLauncherGames(): number[] {\r\n return this._originalContext.getLauncherGames();\r\n }\r\n}\r\n","import {IConfigurationEvaluationContext} from '../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport {IPropertyEvaluator} from './property-evaluator.interface';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\n\r\n\r\n\r\nexport class PropertyEvaluator implements IPropertyEvaluator {\r\n constructor(private _propertyName: string, private _valueEvaluator: IValueEvaluator) {\r\n\r\n }\r\n\r\n get propertyName(): string {\r\n return this._propertyName;\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n\r\n let propertyContext = context.createPropertyContext(this.propertyName);\r\n\r\n try {\r\n return this._valueEvaluator.evaluate(propertyContext);\r\n } catch (err) {\r\n throw new Error(`Failed to evaluate property ${propertyContext.getCurrentPropertyPath()}; ${err}`);\r\n }\r\n\r\n }\r\n}\r\n","// BEWARE: In this file there are similar namings. Don't confuse them\r\n// TODO: Find better namings for interfaces and variables and eliminate implicit any's\r\ninterface IStatementsDefinition {\r\n defaultValue: unknown[];\r\n statements: unknown[];\r\n}\r\ninterface IStatementDefinition {\r\n condition: string;\r\n value: any,\r\n rules: unknown[]\r\n}\r\n\r\nexport function createStatementsDefinition(subLists: any): any {\r\n let statementsDefinition: IStatementsDefinition = {\r\n defaultValue: [],\r\n statements: []\r\n };\r\n\r\n if(!subLists) {\r\n return statementsDefinition;\r\n }\r\n\r\n subLists.forEach(sublist => {\r\n if (!sublist.Segment) {\r\n // the sublist with Segment null or undefined is considered to be the default value\r\n statementsDefinition.defaultValue = sublist.Games;\r\n } else {\r\n let statementDefinition: IStatementDefinition = {\r\n condition: \"AND\",\r\n value: sublist.Games,\r\n rules: []\r\n };\r\n\r\n sublist.Segment.forEach(segment => {\r\n statementDefinition.rules.push(_createStatementsRule(segment));\r\n });\r\n\r\n statementsDefinition.statements.push(statementDefinition);\r\n }\r\n });\r\n\r\n return statementsDefinition;\r\n}\r\n\r\nfunction _createStatementsRule(segment: any): any {\r\n return {\r\n id: segment.name,\r\n operator: \"=\",\r\n value:\r\n segment.value === 1 || segment.value === true || segment.value === \"true\"\r\n ? true\r\n : false // Admin sends 1 for true and 2 for false.\r\n };\r\n}\r\n","import { IPropertyEvaluator } from '../../property-evaluator/property-evaluator.interface';\r\nimport { IConfigurationEvaluationContext } from '../../configuration-evaluation-context/configuration-evaluation-context.interface';\r\nimport { createStatementsDefinition } from '../../../../../../app-react/services/configurations/create-statements-definition'\r\n\r\nexport class GamesIdPropertyEvaluator implements IPropertyEvaluator {\r\n constructor(private _owner: any, private _adminConfig: any) {\r\n\r\n }\r\n\r\n get owner(): any {\r\n return this._owner;\r\n }\r\n\r\n get adminConfig(): any {\r\n return this._adminConfig;\r\n }\r\n\r\n get propertyName(): string {\r\n return 'gamesId'\r\n }\r\n\r\n evaluate(context: IConfigurationEvaluationContext): any {\r\n let propertyContext = context.createPropertyContext(this.propertyName);\r\n\r\n let gamesAdminRefKey = this.owner.gamesAdminRefKey;\r\n\r\n //F TO DO - log if gamesAdminRefKey is missing\r\n\r\n let subLists = this.adminConfig && this.adminConfig.listsv2 && this.adminConfig.listsv2[gamesAdminRefKey];\r\n\r\n let gameTypes: number[] = [];\r\n if (!subLists) {\r\n //F TO DO - log if sub-lists is missing\r\n gameTypes = context.parsePropertyValue(this.owner[this.propertyName]).evaluate(propertyContext);\r\n } else {\r\n gameTypes = context.parsePropertyValue(createStatementsDefinition(subLists)).evaluate(propertyContext);\r\n }\r\n\r\n let launcherGames = context.getLauncherGames() || [];\r\n\r\n if (launcherGames.length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n return [...launcherGames, ...gameTypes];\r\n }\r\n}\r\n","import {BaseComparisonOperator} from \"../base-comparison-operator\";\r\n\r\nexport class IsFalsyOperator extends BaseComparisonOperator {\r\n compare(value1: unknown, value2: unknown): boolean {\r\n return !((value1 || '').toString() === (value2 || '').toString());\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ILoggerService} from '../../../../../logger/logger.service.interface';\r\n\r\nexport class GreaterThanOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService){\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if (!Check.isNumber(value1) || !Check.isNumber(value2)) {\r\n this._logger.error(`Greater Than Operator: Values should be numbers! value1=${value1}; value2=${value2}`);\r\n }\r\n\r\n return value1 > value2;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from '../base-comparison-operator';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ILoggerService} from '../../../../../logger/logger.service.interface';\r\n\r\nexport class LessThanOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService) {\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if (!Check.isNumber(value1) || !Check.isNumber(value2)) {\r\n this._logger.error(`Less Than Operator: Values should be numbers! value1=${value1}; value2=${value2}`);\r\n }\r\n return value1 < value2;\r\n }\r\n}\r\n","import {BaseComparisonOperator} from \"../base-comparison-operator\";\r\nimport {ILoggerService} from \"../../../../../logger/logger.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {EqualOperator} from \"../equal-operator/equal-operator\";\r\n\r\nexport class AnyOfOperator extends BaseComparisonOperator {\r\n constructor(private _logger: ILoggerService){\r\n super();\r\n }\r\n\r\n compare(value1: unknown, value2: unknown): boolean {\r\n if(!Check.isArray(value2)) {\r\n this._logger.error(`Any Of Operator: The second parameter should be an array! value2=${value2}`);\r\n return new EqualOperator().compare(value1, value2);\r\n }\r\n\r\n return value2.includes(value1);\r\n }\r\n}","import {StatementsEvaluator} from '../statements/statements-evaluator/statements-evaluator';\r\nimport {ObjectEvaluator} from '../value-evaluators/object-evaluator/object-evaluator';\r\nimport {ArrayEvaluator} from '../value-evaluators/array-evaluator/array-evaluator';\r\nimport {SimpleValueEvaluator} from '../value-evaluators/simple-value-evaluator/simple-value-evaluator';\r\nimport {IValueEvaluator} from '../value-evaluators/value-evaluator.interface/value-evaluator.interface';\r\nimport {IConfigurationEvaluationContext} from './configuration-evaluation-context.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IStatementEvaluator} from '../statements/statement-evaluator/statement-evaluator.interface';\r\nimport {StatementEvaluator} from '../statements/statement-evaluator/statement-evaluator';\r\nimport {ILogicalOperator} from '../statements/logical-operators/logical-operator.interface/logical-operator.interface';\r\nimport {ISegmentationRule} from '../statements/segmentation-rule/segmentation-rule.interface';\r\nimport {OrLogicalOperator} from '../statements/logical-operators/or-logical-operator/or-logical-operator';\r\nimport {AndLogicalOperator} from '../statements/logical-operators/and-logical-operator/and-logical-operator';\r\nimport {SegmentationRule} from '../statements/segmentation-rule/segmentation-rule';\r\nimport {IComparisonOperator} from '../statements/comparison-operators/comparison-operator.interface/comparison-operator.interface';\r\nimport {NotEqualOperator} from '../statements/comparison-operators/not-equal-operator/not-equal-operator';\r\nimport {EqualOperator} from '../statements/comparison-operators/equal-operator/equal-operator';\r\nimport {PropertyLevelContext} from '../property-level-context/property-level-context';\r\nimport {PropertyEvaluator} from '../property-evaluator/property-evaluator';\r\nimport {IPropertyEvaluator} from '../property-evaluator/property-evaluator.interface';\r\nimport {GamesIdPropertyEvaluator} from '../special-properties-evaluators/games-id-property-evaluator/games-id-property-evaluator';\r\nimport {IsFalsyOperator} from \"../statements/comparison-operators/is-falsy-operator/is-falsy-operator\";\r\nimport {IConfigurationEvaluationDataProvider} from './configuration-evaluation-data-provider.interface';\r\nimport {GreaterThanOperator} from \"../statements/comparison-operators/greater-than-operator/greater-than-operator\";\r\nimport {LessThanOperator} from \"../statements/comparison-operators/less-than-operator/less-than-operator\";\r\nimport {AnyOfOperator} from \"../statements/comparison-operators/any-of-operator/any-of-operator\";\r\nimport {isInsideAutomation} from '../../../../../utils/automation-helpers';\r\n\r\n\r\nexport function updateAssetPath(assetPath: string, configurationPath: string): string {\r\n return assetPath.replace(/{assetsPath}/gi, configurationPath + '/assets');\r\n}\r\n\r\nexport class ConfigurationEvaluationContext implements IConfigurationEvaluationContext {\r\n constructor(private dataProvider: IConfigurationEvaluationDataProvider) {\r\n\r\n }\r\n\r\n\r\n\r\n getSegmentValue(name: string): any {\r\n return this.dataProvider.getSegmentValue(name);\r\n }\r\n\r\n parsePropertyValue(value: any): IValueEvaluator {\r\n if(Check.isObject(value)) {\r\n if(this._hasStatementsOrDefaultValue(value)) {\r\n return new StatementsEvaluator(this._createStatementsEvaluators(value.statements), value.defaultValue);\r\n } else {\r\n return new ObjectEvaluator(value);\r\n }\r\n } else if(Check.isArray(value)) {\r\n return new ArrayEvaluator(value.map(item => this.parsePropertyValue(item)));\r\n } else {\r\n return new SimpleValueEvaluator(value);\r\n }\r\n }\r\n\r\n private _createStatementsEvaluators(statementsDefinitions): IStatementEvaluator[] {\r\n return (statementsDefinitions || []).map(statementDefinition => this.createStatementEvaluator(statementDefinition))\r\n }\r\n\r\n createStatementEvaluator(statementDefinition: any): IStatementEvaluator {\r\n return new StatementEvaluator(statementDefinition);\r\n }\r\n\r\n createLogicalOperator(logicalOperatorName: string, rules: ISegmentationRule[]): ILogicalOperator {\r\n switch (logicalOperatorName.toUpperCase()) {\r\n case 'OR':\r\n return new OrLogicalOperator(rules);\r\n case 'AND':\r\n return new AndLogicalOperator(rules);\r\n default: {\r\n throw new Error(`Unrecognized logical operator ${logicalOperatorName} for statement`);\r\n }\r\n }\r\n }\r\n\r\n createSegmentationRule(ruleDefinition: any): ISegmentationRule {\r\n return new SegmentationRule(ruleDefinition);\r\n }\r\n\r\n createComparisonOperator(operatorName: string): IComparisonOperator {\r\n switch (operatorName.toLowerCase()) {\r\n case 'equal':\r\n case '=':\r\n return new EqualOperator();\r\n case 'not_equal':\r\n case 'not equal':\r\n case '!=':\r\n return new NotEqualOperator();\r\n case 'is_falsy':\r\n case 'is falsy':\r\n return new IsFalsyOperator();\r\n case 'greater_than':\r\n return new GreaterThanOperator(this.dataProvider.logger);\r\n case 'less_than':\r\n return new LessThanOperator(this.dataProvider.logger);\r\n case \"any_of\":\r\n return new AnyOfOperator(this.dataProvider.logger);\r\n default:\r\n throw new Error(`Can't handle comparison operator ${operatorName}`);\r\n }\r\n }\r\n\r\n private _hasStatementsOrDefaultValue(obj: unknown): obj is {statements?: unknown, defaultValue?: unknown} {\r\n if(!Check.isNullOrUndefined(obj['statements'])\r\n || !Check.isNullOrUndefined(obj['defaultValue'])) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getCurrentPropertyPath(): string {\r\n return '';\r\n }\r\n\r\n createPropertyContext(propertyName: string): IConfigurationEvaluationContext {\r\n return new PropertyLevelContext(this, propertyName);\r\n }\r\n\r\n applyValueTransformation(propertyPath: string, value: any): any {\r\n if(!Check.isString(value)) {\r\n return value;\r\n }\r\n return updateAssetPath(value, this.dataProvider.configurationPath);\r\n }\r\n\r\n createPropertyEvaluator(propertyName: string, propertyOwner: any): IPropertyEvaluator {\r\n switch (propertyName) {\r\n case 'gamesId':\r\n return new GamesIdPropertyEvaluator(propertyOwner, this.dataProvider.admin);\r\n case 'gamesSettings':\r\n let propertyValue = propertyOwner.gamesSettings;\r\n if (propertyOwner.gamesSettings && propertyOwner.gamesSettings.gamesTags) {\r\n propertyValue = {...propertyValue, gamesTags: this._mergeGamesFromLauncher(propertyOwner.gamesSettings.gamesTags)}\r\n } else {\r\n propertyValue = {...propertyValue, gamesTags: this._mergeGamesFromLauncher(this.dataProvider.admin && this.dataProvider.admin.gamesTags)}\r\n }\r\n return new PropertyEvaluator(propertyName, this.parsePropertyValue(propertyValue));\r\n default:\r\n return new PropertyEvaluator(propertyName, this.parsePropertyValue(propertyOwner[propertyName]));\r\n }\r\n }\r\n\r\n\r\n private _mergeGamesFromLauncher(existingGamesTags: any): any {\r\n\r\n const demoSettings = {\r\n demoCTAAnonymous: {pc: true, mobile: true},\r\n demoCTAAuthorized: {pc: true, mobile: true},\r\n intermediatePageAnonymous: {pc: true, mobile: true},\r\n intermediatePageAuthorized: {pc: true, mobile: true}\r\n };\r\n\r\n existingGamesTags = existingGamesTags || {};\r\n\r\n if(isInsideAutomation()) {\r\n Object.keys(existingGamesTags).forEach(gameType => {\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n });\r\n }\r\n\r\n let launcherGameTypes = this.getLauncherGames();\r\n\r\n launcherGameTypes.forEach(gameType => {\r\n if(existingGamesTags[gameType]) {\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n } else {\r\n existingGamesTags[gameType] = {};\r\n existingGamesTags[gameType]['demoSettings'] = demoSettings;\r\n }\r\n });\r\n\r\n return existingGamesTags;\r\n }\r\n\r\n getLauncherGames(): number[] {\r\n return this.dataProvider.getLauncherGames() || [];\r\n }\r\n}\r\n","import {IServiceFactory} from '../../service-factory.interface';\r\nimport {GameInfo} from '../../games/game-info';\r\n\r\nexport enum PreviewFeatureType {\r\n description = 1,\r\n check = 2\r\n}\r\n\r\nexport interface PreviewFeatureEvaluationResult {\r\n title: string;\r\n value: any;\r\n type: PreviewFeatureType;\r\n}\r\nexport interface IGamePreviewFeature {\r\n readonly name: string;\r\n evaluate(services: IServiceFactory, gameInfo: GameInfo): PreviewFeatureEvaluationResult;\r\n}\r\n","import {ApplicationStartupConfigurations} from '../config-interfaces/application-startup.configurations';\r\nimport {LauncherOverridesReader} from '../launcher-overrides-reader/launcher-overrides-reader';\r\nimport {IWindowService} from '../../services/window/window.service.interface';\r\nimport {IConfigurationEvaluationDataProvider} from '../../services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-data-provider.interface';\r\nimport {PropertiesEvaluator} from '../../services/configurations/evaluation/properties-evaluator/properties-evaluator';\r\nimport {\r\n ConfigurationEvaluationContext\r\n} from '../../services/configurations/evaluation/configuration-evaluation-context/configuration-evaluation-context';\r\nimport {ILoggerService} from '../../services/logger/logger.service.interface';\r\nimport {CGP_OBJECT_NAME} from '../constants';\r\nimport ISdkHooksProvider from './sdk-hooks-provider.interface';\r\nimport {IThemeDefinition} from \"../../services/theme/theme-definition.interface\";\r\n\r\nconst overrideJson = require('json-override');\r\n\r\nexport class SdkInitializer {\r\n constructor(private _applicationConfiguration: ApplicationStartupConfigurations,\r\n private _sdkHooksProvider: ISdkHooksProvider,\r\n private _launcherOverridesReader: LauncherOverridesReader,\r\n private _windowService: IWindowService,\r\n private _theme: IThemeDefinition,\r\n private _logger: ILoggerService) {\r\n\r\n }\r\n\r\n init(): Promise {\r\n\r\n return import(/* webpackChunkName: \"cgp-sdk\" */ '../../../sdk/src/core/api').then(module => module.API).then(API => {\r\n window['LOG_LEVEL'] = this._applicationConfiguration.sdk.config.Logger.logLevel || 'INFO';\r\n const sdkApi = new API(this._applicationConfiguration.sdk.config);\r\n let sdkConfigOverrides: any = this.getSdkConfigOverrides();\r\n\r\n return new Promise(resolve => {\r\n let onInitCompleteCallback = () => {\r\n window[CGP_OBJECT_NAME] = sdkApi;\r\n resolve();\r\n };\r\n\r\n sdkApi.initialize(sdkConfigOverrides, onInitCompleteCallback);\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n private getSdkConfigOverrides() {\r\n let sdkConfigOverrides = {\r\n Country: this.getCountryServiceOverrides(),\r\n Skin: this.getSkinServiceOverrides(),\r\n Game: this.getGameServiceOverrides(),\r\n Integration: this.getIntegrationServiceOverrides(),\r\n Themes: this.getThemesServiceOverrides(),\r\n Http2: this.getHttp2ServiceOverrides(),\r\n JackpotToasters: this.getJackpotToastersServiceOverrides(),\r\n OrbitComponentRender: this.getOrbitComponentRenderOverrides(),\r\n CashierProxy: this.getCashierProxyOverrides(),\r\n GameRunnerProxy: this.getGameRunnerProxyOverrides(),\r\n CasinofiedAnalyticsProxy: this.getCasinofiedAnalyticsProxyOverrides(),\r\n ExternalLinksProxy: this.getExternalLinksProxyOverrides(),\r\n ToasterProxy: this.getToasterProxyOverrides(),\r\n CasinofiedAppLauncherProxy: this.getCasinofiedAppLauncherProxyOverrides(),\r\n PlayerMigrationProxy: this.getPlayerMigrationProxyOverrides(),\r\n LinksNavigationProxy: this.getLinksNavigationProxyOverrides(),\r\n SpinnerProxy: this.getSpinnerServiceProxyOverrides()\r\n };\r\n\r\n overrideJson(sdkConfigOverrides, this._evaluateSdkConfigsInsideOrbit());\r\n return sdkConfigOverrides;\r\n }\r\n\r\n private getJackpotToastersServiceOverrides(): any {\r\n return {\r\n toasterImage: this._theme.shellTheme.images.jackpotWidget.generic.crown.toString()\r\n };\r\n }\r\n\r\n private getCountryServiceOverrides(): any {\r\n return {\r\n country: this._applicationConfiguration.country,\r\n };\r\n }\r\n\r\n private getSkinServiceOverrides(): any {\r\n return this._applicationConfiguration.orbit?.config?.SDK?.Skin || {};\r\n }\r\n\r\n private _evaluateSdkConfigsInsideOrbit(): any {\r\n let sdkConfigsInsideOrbit = this._applicationConfiguration.orbit && this._applicationConfiguration.orbit.config && this._applicationConfiguration.orbit.config.SDK;\r\n if(!sdkConfigsInsideOrbit) {\r\n return {};\r\n }\r\n\r\n let segments: Record = {\r\n env: this._applicationConfiguration.sdk.config.ExtraProperties.env\r\n };\r\n\r\n let configEvaluationDataProvider: IConfigurationEvaluationDataProvider = {\r\n configurationPath: this._applicationConfiguration.configurationPath,\r\n getSegmentValue: (segmentName => segments[segmentName]),\r\n getLauncherGames: () => [],\r\n admin: this._applicationConfiguration.admin,\r\n logger: this._logger\r\n };\r\n\r\n let context = new ConfigurationEvaluationContext(configEvaluationDataProvider);\r\n let evaluator = PropertiesEvaluator.fromRoot(sdkConfigsInsideOrbit, context);\r\n return evaluator.evaluate(context);\r\n }\r\n\r\n private getGameServiceOverrides(): any {\r\n\r\n let result: any = {\r\n resolveGameImagePath: (imageFilePath: string) => this._sdkHooksProvider.resolveGameImagePath(imageFilePath)\r\n };\r\n\r\n result.gameDefaultIcon = this._theme.mainContentTheme.images.gameDefaultIcon.toString();\r\n result.backgroundDefault = this._theme.mainContentTheme.images.gameDefaultBackground.toString();\r\n\r\n return result;\r\n }\r\n\r\n private _waitForMapperCGP = (resolve: (value?: unknown) => void) => {\r\n let mapperData = this._sdkHooksProvider.getGameTypesMappingForSdk();\r\n if(mapperData) {\r\n resolve(mapperData);\r\n } else {\r\n setTimeout(() => this._waitForMapperCGP(resolve), 5);\r\n }\r\n };\r\n\r\n private _gameTypeMapper() {\r\n return new Promise(resolve => {\r\n this._waitForMapperCGP(resolve);\r\n });\r\n };\r\n\r\n private _getHeaderRegulationDataElement() {\r\n return new Promise(resolve => {\r\n this._waitForHeaderRegulationDataElement(resolve);\r\n });\r\n };\r\n\r\n private _waitForHeaderRegulationDataElement = (resolve: (value?: unknown) => void) => {\r\n let headerRegulationDataElement = this._sdkHooksProvider.getHeaderRegulationDataElement();\r\n this.waitForElement(headerRegulationDataElement, resolve);\r\n };\r\n\r\n waitForElement(element: HTMLElement, resolve: (value?: unknown) => void) {\r\n if(element) {\r\n resolve(element);\r\n } else {\r\n setTimeout(() => this._waitForHeaderRegulationDataElement(resolve), 5);\r\n }\r\n }\r\n\r\n private getIntegrationServiceOverrides(): any {\r\n let launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n\r\n return {\r\n gameTypeMapper: this._gameTypeMapper.bind(this),\r\n proxyLink: (url: string) => this._sdkHooksProvider.redirectProxy(url),\r\n openInNewWindowHook: () => this._sdkHooksProvider.openInNewWindowHook(),\r\n isMiniCipFunc: () => this._sdkHooksProvider.isMiniCip(),\r\n isMiniCisFunc: () => this._sdkHooksProvider.isMiniCis(),\r\n headerRegulationDataElement: this._getHeaderRegulationDataElement.bind(this),\r\n CMSSource: launcherOverrides?.orbit?.cmsSource\r\n };\r\n }\r\n\r\n private getThemesServiceOverrides(): any {\r\n let sdkTheme = this._theme.shellTheme?.sdk;\r\n if (sdkTheme) {\r\n return sdkTheme;\r\n }\r\n return {}\r\n }\r\n\r\n private getHttp2ServiceOverrides(): any {\r\n let result: any = {};\r\n let launcherOverrides = this._launcherOverridesReader.getOverrides();\r\n if(launcherOverrides?.sdk?.api) {\r\n result.origin = launcherOverrides.sdk.api;\r\n }\r\n\r\n result.skin = this._applicationConfiguration.skin;\r\n result.skinOverride = this._applicationConfiguration.skinOverride;\r\n return result;\r\n }\r\n\r\n private getOrbitComponentRenderOverrides(): any {\r\n return {\r\n getOrbitComponentToSdkAdapter: () => this._sdkHooksProvider.getOrbitComponentToSdkAdapter()\r\n }\r\n }\r\n\r\n private getCashierProxyOverrides(): any {\r\n return {\r\n getCashierService: () => this._sdkHooksProvider.getCashierService()\r\n };\r\n }\r\n\r\n private getGameRunnerProxyOverrides(): any {\r\n return {\r\n getGameRunnerService: () => this._sdkHooksProvider.getGameRunnerService()\r\n };\r\n }\r\n\r\n private getCasinofiedAnalyticsProxyOverrides(): any {\r\n return {\r\n getCasinofiedAnalyticsService: () => this._sdkHooksProvider.getCasinofiedAnalyticsService()\r\n };\r\n }\r\n\r\n private getSpinnerServiceProxyOverrides(): any {\r\n return {\r\n getSpinnerService: () => this._sdkHooksProvider.getSpinnerService()\r\n };\r\n }\r\n\r\n\r\n private getPlayerMigrationProxyOverrides(): any {\r\n return {\r\n getPlayerMigrationService: () => this._sdkHooksProvider.getPlayerMigrationService()\r\n };\r\n }\r\n\r\n private getExternalLinksProxyOverrides() {\r\n return {\r\n externalLinksService: () => this._sdkHooksProvider.getExternalLinksProxyService()\r\n }\r\n }\r\n\r\n private getCasinofiedAppLauncherProxyOverrides() {\r\n return {\r\n casinofiedAppLauncher: () => this._sdkHooksProvider.getCasinofiedAppLauncher()\r\n }\r\n }\r\n\r\n private getToasterProxyOverrides() {\r\n return {\r\n toasterService: () => this._sdkHooksProvider.getToasterProxyService()\r\n }\r\n }\r\n\r\n private getLinksNavigationProxyOverrides() {\r\n return {\r\n linksNavigation: () => this._sdkHooksProvider.getLinksNavigationService()\r\n };\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","export const QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE:string = 'dontShowEnvironmentPopUpBlockerAgain';","import { QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE } from './qa-environment-pop-up-blocker.service.constants';\r\nimport { ServiceBase } from './../ServiceBase';\r\nimport { IQAEnvironmentPopUpBlockerService } from './qa-environment-pop-up-blocker.service.interface';\r\nconst md5 = require('md5');\r\n\r\nexport class QAEnvironmentPopUpBlockerService extends ServiceBase implements IQAEnvironmentPopUpBlockerService {\r\n\r\n validatePassword(password) {\r\n if (md5(password) === this.services.configuration.servicesConfigs.QAEnvironmentPopUp.validationKey) {\r\n this._setCookie();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private _setCookie() {\r\n let expirationDate:Date = new Date();\r\n expirationDate.setMonth(expirationDate.getMonth() + 3);\r\n this.services.cookies.createCookie(QA_ENVIRONMENT_POP_UP_BLOCKER_COOKIE, 'true', expirationDate);\r\n }\r\n\r\n}","import { Check } from '@sparkware/app-utils';\r\nimport { observable, action, computed, makeObservable } from 'mobx';\r\nimport { ServiceBase } from '../ServiceBase';\r\nimport { IVideoPlayer } from './video-players/video-player.interface';\r\nimport { IServiceFactoryExtended } from '../service-factory-extended.interface';\r\nimport { IVideoPlayingService } from './video-playing.service.interface';\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport {ISwipeLogicHandler} from \"../arenas/models/swiper-logic-handler/swiper-logic-handler.interface\";\r\n\r\nexport abstract class VideoPlayingServiceBase extends ServiceBase implements IVideoPlayingService {\r\n\r\n public abstract gaCategory: string;\r\n\r\n @observable.ref\r\n isSupported: boolean = null;\r\n\r\n @action.bound\r\n private _setIsSupported(isSupported: boolean): void {\r\n this.isSupported = isSupported;\r\n }\r\n\r\n @observable.ref\r\n isVideoMuted: boolean = true;\r\n\r\n @action.bound\r\n private _setIsVideoMuted(isVideoMuted: boolean): void {\r\n this.isVideoMuted = isVideoMuted;\r\n }\r\n\r\n @observable.ref\r\n isAppVisible: boolean = true;\r\n\r\n @action.bound\r\n private _setIsAppVisible(isAppVisible: boolean): void {\r\n this.isAppVisible = isAppVisible;\r\n }\r\n\r\n @computed\r\n get isDisabledPrelogin(): boolean {\r\n if (this.services.user.isAuthorized) {\r\n return false;\r\n }\r\n\r\n const currentRegulationCode = this.services.regulation.getRegulationCode();\r\n const disableForRegulationPreLogin = this.services.configuration.servicesConfigs.LiveVideoStream.disableForRegulationPreLogin[currentRegulationCode];\r\n return !Check.isNullOrUndefined(disableForRegulationPreLogin) && disableForRegulationPreLogin;\r\n }\r\n\r\n //Swiper Handler for the orbit swiper handling the current playing video.\r\n //This implementation breaks if in the future there will be > 1 swipers playing the same type of video in the same page.\r\n //But for now, we need this to swipe to & start the next video after the current one finishes playing.\r\n private _swiperHandler: ISwipeLogicHandler | null = null;\r\n\r\n public setSwiperHandler(value: ISwipeLogicHandler): void {\r\n this._swiperHandler = value;\r\n }\r\n\r\n public getSwiperHandler(): ISwipeLogicHandler | null {\r\n return this._swiperHandler;\r\n }\r\n\r\n constructor (services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._init();\r\n this.services.sdk.events.onAppPaused(() => {\r\n this._setIsAppVisible(false);\r\n });\r\n this.services.sdk.events.onAppResumed(() => {\r\n this._setIsAppVisible(true);\r\n });\r\n services.sdk.events.onGameOpen(() => {\r\n this._setIsVideoMuted(true);\r\n });\r\n }\r\n\r\n private async _init() {\r\n const isSupported = await this._checkIfSupported();\r\n\r\n if (!isSupported) {\r\n this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(this.gaCategory)\r\n .addAction('VideoStreamNotSupported')\r\n .info();\r\n }\r\n\r\n this._setIsSupported(isSupported);\r\n }\r\n\r\n protected abstract _checkIfSupported(): Promise;\r\n\r\n public abstract getVideoPlayer(gameInfo: GameInfo, videoReference: HTMLVideoElement): Promise;\r\n\r\n toggleVideoSound() {\r\n this._setIsVideoMuted(!this.isVideoMuted);\r\n this.services.analytics.sendOrbitMarketingEvent(this.gaCategory, 'SOUND_CLICK', `${this.isVideoMuted ? \"OFF\" : \"ON\"}`);\r\n }\r\n}","import {VideoPlayingServiceBase} from \"./video-playing-service-base\";\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport {IVideoPlayer} from \"./video-players/video-player.interface\";\r\n\r\nexport const LIVE_STREAM_WATCH_TIME_LIMIT: number = 120000;\r\n\r\nexport class LiveStreamPlayingService extends VideoPlayingServiceBase {\r\n\r\n public gaCategory = \"ORBIT_LIVE_STREAM\";\r\n\r\n protected async _checkIfSupported() {\r\n const LiveStreamNativePlayer = await import(/* webpackChunkName: \"live-stream-player-native\"*/ './video-players/live-stream-players/native/video-live-stream-player-native').then(module => module.LiveStreamNativePlayer);\r\n if (LiveStreamNativePlayer.isSupported()) {\r\n return true;\r\n }\r\n\r\n const LiveStreamHlsPlayer = await import(/* webpackChunkName: \"live-stream-player-hls\"*/ './video-players/live-stream-players/hls/video-live-stream-player-hls').then(module => module.LiveStreamHlsPlayer);\r\n return LiveStreamHlsPlayer.isSupported();\r\n }\r\n\r\n async getVideoPlayer(gameInfo: GameInfo, videoReference: HTMLVideoElement, dontAutoSwipe?: boolean): Promise {\r\n\r\n const gameType = gameInfo.gameType;\r\n const streamSource = gameInfo.videoURL;\r\n\r\n //In the future, this should be coming from admin as well.\r\n const watchTimeLimit = LIVE_STREAM_WATCH_TIME_LIMIT;\r\n\r\n const LiveStreamNativePlayer = await import(/* webpackChunkName: \"live-stream-player-native\"*/ './video-players/live-stream-players/native/video-live-stream-player-native').then(module => module.LiveStreamNativePlayer);\r\n\r\n // We need to check also if not android because Evo live stream games not working on android real device because they use WAF and they don't get referer in android native.\r\n if (LiveStreamNativePlayer.isSupported() && !this.services.device.os.isAndroid) {\r\n return new LiveStreamNativePlayer(this.services, gameType, videoReference, streamSource, watchTimeLimit);\r\n }\r\n\r\n const LiveStreamHlsPlayer = await import(/* webpackChunkName: \"live-stream-player-hls\"*/'./video-players/live-stream-players/hls/video-live-stream-player-hls').then(module => module.LiveStreamHlsPlayer);\r\n if (LiveStreamHlsPlayer.isSupported()) {\r\n return new LiveStreamHlsPlayer(this.services, gameType, videoReference, streamSource, watchTimeLimit);\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {ITranslationService} from \"./translation.service.interface\";\r\n\r\nexport class TextTranslation {\r\n constructor(private readonly translationService: ITranslationService,\r\n public readonly translationKey: string,\r\n private readonly _parameters?: any) {\r\n }\r\n\r\n get translation(): string {\r\n return this.translationService.translate(this.translationKey, this._parameters);\r\n }\r\n\r\n}","import {ITranslationService} from './translation.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {TextTranslation} from \"./text-translation\";\r\n\r\nexport class TranslationService extends ServiceBase implements ITranslationService {\r\n\r\n get langData(): any {\r\n return this.services.language.translatedTexts;\r\n }\r\n\r\n translate(key: string, parameters?: any): string {\r\n try {\r\n let translatedPhrase = '';\r\n\r\n if (this.langData && key !== '') {\r\n if (this.langData[key]) {\r\n translatedPhrase = this.langData[key];\r\n } else {\r\n\r\n this.services.logger.debug(`Missing translation for ${key} in language ${this.services.language.currentLanguage}`);\r\n\r\n return key;\r\n }\r\n }\r\n return this._resolveBraces(translatedPhrase, parameters);\r\n } catch (err) {\r\n console.log('error in transform function, error message: ', err);\r\n return '';\r\n }\r\n }\r\n\r\n getTranslation(key: string, parameters?: any): TextTranslation {\r\n return new TextTranslation(this, key, parameters);\r\n }\r\n\r\n private _resolveBraces(str: string, value = null) {\r\n\r\n if('' === str)\r\n return str;\r\n\r\n if (Check.isObject(value)) {\r\n Object.keys(value).forEach(key => str = str.replace(`{${key}}`, value[key]));\r\n }\r\n else {\r\n\r\n let objectKeys = str.match(/[^{]+(?=\\})/g) || []; //array of object keys that have to be replaced (looking for {foo})\r\n\r\n for (let objectKey of objectKeys) {\r\n if (value) {\r\n str = str.replace(`{${objectKey}}`, value);\r\n } else {\r\n //if we didn't get value we will look the key in the config\r\n str = str.replace(`{${objectKey}}`, this.services.configuration.resolveConfigurationValue(objectKey));\r\n }\r\n }\r\n\r\n }\r\n return str;\r\n\r\n }\r\n}\r\n","export const CURRENCY_SYMBOLS: Record = {\r\n CAD: 'C$',\r\n NOK: 'Kr.',\r\n USD: '$',\r\n EUR: '€',\r\n GBP: '£',\r\n DKK: 'Kr.',\r\n SEK: 'kr',\r\n RON: 'RON'\r\n};","import {ICurrencyService} from './currency.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {CURRENCY_SYMBOLS} from \"./currency-symbol.interface\";\r\n\r\nexport class CurrencyService extends ServiceBase implements ICurrencyService {\r\n\r\n formatMoney(value: number, withDecimal?: boolean): string {\r\n return this.services.sdk.formatMoney(value, withDecimal);\r\n }\r\n\r\n // TODO: Check if formatMinMaxBet can be called with undefined/null\r\n // after switching to strictNullCheck and repair the signature and code\r\n formatMinMaxBet(minBet: number, maxBet: number): string | null {\r\n if(minBet && maxBet) {\r\n return this.formatMoney(minBet, true) + ' - ' + this.formatMoney(maxBet, true);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get currencyIso3(): string {\r\n return this.services.sdk.getCurrencyIso3();\r\n }\r\n\r\n get getCurrencySymbol(): string {\r\n return CURRENCY_SYMBOLS[this.currencyIso3] || this.currencyIso3;\r\n }\r\n}\r\n","import {\r\n ISendElasticEventOptions,\r\n IAnalyticsService,\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsAction,\r\n OrbitUserFlowAnalyticsLabel,\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel,\r\n OrbitMarketingEventAnalyticsAction,\r\n OrbitAIFeatureAnalyticsCategory,\r\n OrbitAIFeatureAnalyticsAction\r\n} from './analytics.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IElasticEventData, IStructuredLogger} from '../../../common/interfaces/structured-logging-service-interface';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class AnalyticsService extends ServiceBase implements IAnalyticsService {\r\n\r\n sendAnalytics(\r\n category: string,\r\n action: string | undefined = undefined,\r\n label: string | undefined = undefined,\r\n value: string | undefined = undefined,\r\n omitStructuredLogger?: boolean\r\n ) {\r\n this.services.sdk.sendAnalytics(category, action, label, value, omitStructuredLogger);\r\n }\r\n\r\n\r\n sendTechnicalEvent(action: string, label?: string, value?: any): void {\r\n this.sendAnalytics('[Technical-event]', action, label, value);\r\n }\r\n\r\n sendOrbitUserFlowEvent(category: string | OrbitUserFlowAnalyticsCategory, action: OrbitUserFlowAnalyticsAction, label?: string | OrbitUserFlowAnalyticsLabel, value?: any): void {\r\n try {\r\n let data:ISendElasticEventOptions ={\r\n eventType:\"Orbit_User_Flow\",\r\n category:category,\r\n action:action,\r\n label:label,\r\n value: value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n }\r\n catch (err){\r\n console.log(\"Error on Orbit sendOrbitUserFlowEvent : \" + err);\r\n }\r\n }\r\n\r\n sendOrbitMarketingEvent(category: string | OrbitMarketingEventAnalyticsCategory, action: OrbitMarketingEventAnalyticsAction, label?: string | OrbitMarketingEventAnalyticsLabel, value?: any): void {\r\n try {\r\n let data:ISendElasticEventOptions ={\r\n eventType:\"Orbit_Marketing\",\r\n category:category,\r\n action:action,\r\n label:label,\r\n value:value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n }\r\n catch (err){\r\n console.log(\"Error on Orbit sendOrbitMarketingEvent : \" + err);\r\n }\r\n }\r\n\r\n sendOrbitAIFeatureEvent(category: string | OrbitAIFeatureAnalyticsCategory, action: OrbitAIFeatureAnalyticsAction, label?: string, value?: any): void {\r\n try {\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: category,\r\n action: action,\r\n label: label,\r\n value: value\r\n }\r\n this.sendElasticInfoEvent(data, true);\r\n } catch (err) {\r\n console.log(\"Error on Orbit sendOrbitAIFeatureEvent : \" + err);\r\n }\r\n }\r\n\r\n sendElasticInfoEvent(options: ISendElasticEventOptions, sendToDWH?: boolean) {\r\n const logger: IStructuredLogger = this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(options.category)\r\n .addAction(options.action)\r\n .addLabel(options.label)\r\n .addValue(options.value)\r\n .addCustomData(options.customData);\r\n\r\n if (!Check.isNullOrUndefined(options.appID)) {\r\n logger.setAppID(options.appID);\r\n }\r\n\r\n if (sendToDWH) {\r\n logger.setEventType(options.eventType,'Log', 'Analytics');\r\n }\r\n else {\r\n logger.setEventType(options.eventType, 'Log');\r\n }\r\n\r\n logger.info();\r\n }\r\n\r\n getLogger(eventData?: IElasticEventData): IStructuredLogger {\r\n return this.services.sdk.structuredLoggingService.getLogger(eventData);\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.services.sdk.getGoogleClientID();\r\n }\r\n}\r\n","import {ILobbyGameInfoPreviewService} from './lobby-game-info-preview.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo} from '../games/game-info';\r\n\r\nconst TIME_TO_HANDLE_SET_GAME_PREVIEW = 800;\r\nconst TIME_TO_HANDLE_CLEAR_GAME_PREVIEW = 5000;\r\n\r\n\r\nexport class LobbyGameInfoPreviewService extends ServiceBase implements ILobbyGameInfoPreviewService {\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(() => this.services.device.isMobile,\r\n () => this._resetGamePreview());\r\n\r\n this.reaction(() => this.services.routing.currentRoute,\r\n () => this._resetGamePreview());\r\n }\r\n\r\n @observable.ref\r\n currentPreviewedGame: GameInfo = null;\r\n\r\n @action.bound\r\n private _setCurrentPreviewedGame(gameType: number | null): void {\r\n if (gameType) {\r\n this.currentPreviewedGame = this.services.games.gamesMap[gameType];\r\n } else {\r\n this.currentPreviewedGame = null;\r\n }\r\n\r\n }\r\n\r\n\r\n private _setGamePreviewTimeout;\r\n private _clearGamePreviewTimeout;\r\n\r\n\r\n enableGamePreview(): void {\r\n this._allowPreview = true;\r\n }\r\n\r\n disableGamePreview(): void {\r\n this._allowPreview = false;\r\n }\r\n\r\n private _allowPreview = false;\r\n get allowGamePreview(): boolean {\r\n return this._allowPreview && !this.services.device.isMobile;\r\n }\r\n\r\n private _currentGamePreviewPinned = false;\r\n\r\n pinCurrentGamePreview() {\r\n this._currentGamePreviewPinned = true;\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n }\r\n\r\n unPinCurrentGamePreview() {\r\n this._currentGamePreviewPinned = false;\r\n // basically when unPinCurrentGamePreview is called it means user mouse leave from the game preview\r\n this.clearGamePreview();\r\n }\r\n\r\n\r\n public setGamePreview(gameType: number): void {\r\n if(!this.allowGamePreview) {\r\n return;\r\n }\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n clearTimeout(this._setGamePreviewTimeout);\r\n this._setGamePreviewTimeout = setTimeout(() => {\r\n this._setCurrentPreviewedGame(gameType);\r\n }, TIME_TO_HANDLE_SET_GAME_PREVIEW);\r\n }\r\n\r\n public clearGamePreview(): void {\r\n if(!this.allowGamePreview) {\r\n return;\r\n }\r\n\r\n clearTimeout(this._setGamePreviewTimeout);\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n this._clearGamePreviewTimeout = setTimeout(() => {\r\n !this._currentGamePreviewPinned && this._setCurrentPreviewedGame(null);\r\n }, TIME_TO_HANDLE_CLEAR_GAME_PREVIEW);\r\n }\r\n\r\n private _resetGamePreview() {\r\n clearTimeout(this._setGamePreviewTimeout);\r\n clearTimeout(this._clearGamePreviewTimeout);\r\n this._setCurrentPreviewedGame(null);\r\n }\r\n\r\n\r\n}\r\n","import { action, observable, makeObservable } from 'mobx';\r\nimport { GameInfo } from '../games/game-info';\r\nimport { OnGameCloseParams, OnGameOpenParams } from '../sdk/sdk-events';\r\nimport { ServiceBase } from '../ServiceBase';\r\nimport { IRunningGameService } from './running-game.service.interface';\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\n\r\nexport class RunningGameService extends ServiceBase implements IRunningGameService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get isGameRunning(): boolean {\r\n return this.services.sdk.isGameRunning();\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.services.sdk.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.services.sdk.stopCurrentGameAutoplay();\r\n }\r\n\r\n closeRunningGame(): void {\r\n this.services.gameRunner.currentRunningGame?.closeGame({\r\n shouldSuggestNextGame: false\r\n });\r\n }\r\n\r\n @observable.ref\r\n lastPlayedRealGame: GameInfo = null;\r\n\r\n @observable.ref\r\n correlatedGamesForLastPlayedRealGame: GameInfo[] = [];\r\n\r\n private _listenForLastRealGame = false;\r\n\r\n\r\n @action.bound\r\n _setLastPlayedRealGame(lastGameInfo: GameInfo) {\r\n this.lastPlayedRealGame = lastGameInfo;\r\n }\r\n\r\n @action.bound\r\n _setCorrelatedGamesForLastPlayedRealGame(gameInfos: GameInfo[]) {\r\n this.correlatedGamesForLastPlayedRealGame = gameInfos;\r\n }\r\n\r\n listenForLastPlayedRealGame() {\r\n if (this._listenForLastRealGame) {\r\n return;\r\n }\r\n\r\n this.services.sdk.events.onGameClose((closeOptions: OnGameCloseParams) => {\r\n // showNextGameSuggestion should be filled as true when player itself closes the game (press on X button)\r\n if (closeOptions.isReal && closeOptions.isGamePlayed && closeOptions.showNextGameSuggestion) {\r\n this.setLastPlayedRealGame(closeOptions.gameType);\r\n }\r\n });\r\n\r\n this._listenForLastRealGame = true;\r\n }\r\n\r\n async setLastPlayedRealGame(gameType: number): Promise {\r\n const lastGameInfo = await this.services.games.getGameInfo(gameType);\r\n const correlatedGames = await this.services.games.getCorrelatedGames(gameType, 50);\r\n let gameInfosArray = (await this.services.games.getGamesInfoArray(correlatedGames)) || [];\r\n\r\n this._setLastPlayedRealGame(lastGameInfo);\r\n this._setCorrelatedGamesForLastPlayedRealGame(gameInfosArray);\r\n }\r\n\r\n private _listenForLastOpenDemoGame = false;\r\n\r\n @observable.ref\r\n lastOpenDemoGame: GameInfo = null;\r\n\r\n listenForLastOpenDemoGame() {\r\n if (this._listenForLastOpenDemoGame) {\r\n return;\r\n }\r\n\r\n this.services.sdk.events.onGameOpen((options: OnGameOpenParams) => {\r\n if (!options.isReal) {\r\n this.setLastOpenDemoGame(options.gameType);\r\n }\r\n });\r\n\r\n this._listenForLastOpenDemoGame = true;\r\n }\r\n\r\n async setLastOpenDemoGame(gameType: number): Promise {\r\n const gameInfo = await this.services.games.getGameInfo(gameType);\r\n this._setLastOpenDemoGame(gameInfo);\r\n }\r\n\r\n @action.bound\r\n _setLastOpenDemoGame(lastGameInfo: GameInfo) {\r\n this.lastOpenDemoGame = lastGameInfo;\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n//info-mobile\r\nexport const GameInfoButtonDefaultBox = styled.div`\r\n padding-right: 20px;\r\n margin-right: 15px;\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n cursor: pointer;\r\n`;","import styled from 'styled-components';\r\nimport {GameInfoButtonDefaultBox} from './game-info-button.default.box';\r\n\r\n\r\nexport const GameInfoButtonCasino777Box = styled(GameInfoButtonDefaultBox)`\r\n border-right: 1px solid $transparent;\r\n`;","import {GameInfoButtonDefaultBox} from './game-info-button.default.box';\r\nimport {GameInfoButtonCasino777Box} from './game-info-button.casino777.box';\r\nimport {styledByTheme} from '../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const GameInfoButtonBox = styledByTheme(GameInfoButtonDefaultBox).forCasino777(GameInfoButtonCasino777Box).apply();","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n flex-grow: 1;\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.body};\r\n line-height: normal;\r\n text-transform: capitalize;\r\n font-size: 1.4em;\r\n letter-spacing: 0.98px;\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n text-align: center;\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n text-align: left;\r\n`;\r\n\r\nexport const DialogTitleDefaultBox = styledByDevice(PcBox, MobileBox);","import {DialogTitleDefaultBox} from \"./dialog-title.default.box\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const DialogTitleMrGreenBox = styled(DialogTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n`;","import {DialogTitleDefaultBox} from './dialog-title.default.box';\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {DialogTitleMrGreenBox} from \"./dialog-title.mrgreen.box\";\r\n\r\nexport const DialogTitleBox = styledByTheme(DialogTitleDefaultBox)\r\n .forMrGreen(DialogTitleMrGreenBox)\r\n .forMrGreenCis(DialogTitleMrGreenBox)\r\n .apply();","import {DialogCloseButtonDefaultBox} from './dialog-close-button.default.box';\r\n\r\nexport const DialogCloseButtonBox = DialogCloseButtonDefaultBox;","import styled from 'styled-components';\r\nimport {XCloseButtonBox} from \"../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\nexport const DialogCloseButtonDefaultBox = styled(XCloseButtonBox)`\r\n width: ${props => props.theme.components.modalDialog.closeButtonSize};\r\n height: ${props => props.theme.components.modalDialog.closeButtonSize};\r\n`;","export const APPLY_BORDERS = 'apply-borders';\r\nexport const APPLY_ANIMATION = 'apply-animation';\r\nexport const MOBILE_CENTERED_HEADER = 'mobile-centered-header';\r\nexport const FORCE_TRANSPARENT_BACKGROUND = 'force-transparent-background';\r\nexport const FORCE_TRANSPARENT_CONTENT_BACKGROUND = 'force-transparent-content-background';\r\nexport const DISABLE_FULLSCREEN_MOBILE = 'disable-fullscreen-mobile';\r\nexport const FORCE_CENTRALIZATION = 'force-centralization';\r\nexport const APPLY_MAX_HEIGHT = 'apply-max-height';\r\nexport const FORCE_FULLSCREEN_TABLET = 'force-fullscreen-tablet';\r\nexport const APPLY_MODAL_CLOSING_ANIMATION = 'apply-modal-closing-animation';","import styled from 'styled-components';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {MOBILE_CENTERED_HEADER} from \"../../css-classes\";\r\n\r\nexport interface DialogHeaderDefaultBoxProps {\r\n className?: string;\r\n height?: number;\r\n}\r\n\r\nexport const DialogHeaderDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n padding: 10px 15px;\r\n min-height: 30px;\r\n height: ${props => Check.isNullOrUndefined(props.height) ? 'auto' : props.height + 'px'};\r\n width: 100%;\r\n\r\n &.${MOBILE_CENTERED_HEADER} .dialog-header-title {\r\n text-align: center;\r\n margin: 0;\r\n }\r\n\r\n border-top-left-radius: 7px;\r\n border-top-right-radius: 7px;\r\n`;","import styled from 'styled-components';\r\nimport {DialogHeaderDefaultBox} from './dialog-header.default.box';\r\n\r\nexport const DialogHeaderCipBox = styled(DialogHeaderDefaultBox)`\r\n position: relative;\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, white, transparent);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { DialogHeaderDefaultBox } from \"./dialog-header.default.box\";\r\n\r\nexport const DialogHeaderMrGreenCisBox = styled(DialogHeaderDefaultBox)`\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n`;","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {DialogHeaderDefaultBox} from './dialog-header.default.box';\r\nimport {DialogHeaderCipBox} from './dialog-header.cip.box';\r\nimport { DialogHeaderMrGreenCisBox } from './dialog-header.mrgreenCis';\r\n\r\nexport const DialogHeaderBox = styledByTheme(DialogHeaderDefaultBox)\r\n .forCip(DialogHeaderCipBox)\r\n .forWsopCip(DialogHeaderCipBox)\r\n .forMrGreenCis(DialogHeaderMrGreenCisBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const HeaderButtonsContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-end;\r\n position: absolute;\r\n right: 10px;\r\n \r\n`","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {DialogHeaderBox} from '../../boxes/header/dialog-header.box';\r\nimport {DialogTitleBox} from '../../boxes/title/dialog-title.box';\r\nimport {DialogCloseButtonBox} from '../../boxes/close-button/dialog-close-button.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {HeaderButtonsContainerBox} from \"../../boxes/header-buttons/header-buttons-container.box\";\r\n\r\nexport interface ModalDialogHeaderComponentProps extends PropsWithChildren {\r\n title?: string;\r\n hideCloseButton?: boolean;\r\n onCloseButtonClick?: () => void;\r\n className?: string;\r\n renderExtraButtons?: () => React.ReactElement;\r\n}\r\nexport class DialogHeaderComponent extends OrbitComponent {\r\n\r\n private _renderTitle() {\r\n if(!this.props.title) {\r\n return null;\r\n }\r\n\r\n return (\r\n {this.props.title}\r\n );\r\n }\r\n\r\n private _renderCloseButton() {\r\n if(this.props.hideCloseButton) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderExtraButtons() {\r\n if(this.props.renderExtraButtons) {\r\n return this.props.renderExtraButtons();\r\n }\r\n return null;\r\n }\r\n\r\n private _renderButtons() {\r\n if(this.props.hideCloseButton && !this.props.renderExtraButtons) {\r\n return null;\r\n }\r\n return (\r\n \r\n {this._renderExtraButtons()}\r\n {this._renderCloseButton()}\r\n \r\n )\r\n\r\n }\r\n\r\n private _renderContent() {\r\n if (this.props.children) {\r\n return this.props.children\r\n }\r\n\r\n return (\r\n <>\r\n {this._renderTitle()}\r\n {this._renderButtons()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if(!this.props.title && this.props.hideCloseButton && !this.props.children) {\r\n return null;\r\n }\r\n\r\n let height: number | null = null;\r\n\r\n return (\r\n \r\n {this._renderContent()}\r\n \r\n )\r\n }\r\n\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../../services/dialog/dialog.service.interface';\r\nimport {GameInfoButtonBox} from './boxes/game-info-button/game-info-button.box';\r\nimport {DialogTitleBox} from '../../../modal-dialog/boxes/title/dialog-title.box';\r\nimport {DialogCloseButtonBox} from '../../../modal-dialog/boxes/close-button/dialog-close-button.box';\r\nimport {Image} from '../../../raw-components/image/image';\r\nimport {DialogHeaderComponent} from '../../../modal-dialog/parts/header/dialog-header.component';\r\n\r\nexport interface MobileGamePreviewTitleComponentProps {\r\n gameInfo: GameInfo;\r\n arenaName?: string;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport const TitleComponent = observer(\r\n class TitleComponent extends OrbitComponent {\r\n\r\n _openGameInfo = () => {\r\n const gameInfo = this.props.gameInfo;\r\n this._closeInfoMobile();\r\n\r\n if (this.props.arenaName) {\r\n //TODO: Do we need it?\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this.props.arenaName, action: \"Open_Game_Info\", label: `SEO_${gameInfo.gameType}`}, true);\r\n }\r\n\r\n this.services.location.push(gameInfo.infoPageURL);\r\n };\r\n\r\n _closeInfoMobile = () => {\r\n this.props.dialogHandler?.close();\r\n };\r\n\r\n private _renderOpenInfoButton(gameInfo: GameInfo) {\r\n\r\n if (Check.isEmpty(gameInfo.infoPageURL) || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n {gameInfo.title}\r\n {this._renderOpenInfoButton(gameInfo)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../../../../themes/architecture/styled-by-device';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n\r\n//.info-image-wrapper + info-image\r\n\r\nconst DefaultBox = styled(Image)`\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin-bottom: 1.1rem;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n width: 375px;\r\n height: 121px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n height: 92px;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n opacity: 0.7;\r\n`;\r\n\r\nexport const StripeImageDefaultBox = styledByDevice(PcBox, MobileBox);","import {StripeImageDefaultBox} from './stripe-image.default.box';\r\n\r\nexport const StripeImageBox = StripeImageDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {StripeImageBox} from './boxes/stripe-image/stripe-image.box';\r\n\r\nexport interface GameImagePreviewComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameStripeImageComponent = observer(\r\n class GameStripeImageComponent extends OrbitComponent {\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n let imageSrc = gameInfo.stripImage ? gameInfo.stripImage : gameInfo.stripeImageFallback;\r\n // I noticed that sometimes react doesn't re render this component even if a different gameInfo is provided.\r\n // Setting key={gameInfo.gameType} seems to overcome this issue\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import {TrailerDefaultBox} from './trailer.default.box';\r\n\r\nexport const TrailerBox = TrailerDefaultBox;","import styled from 'styled-components';\r\n\r\n//.info-video-wrapper + info-movie\r\nexport const TrailerDefaultBox = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n margin-bottom: 1.1rem;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {GameStripeImageComponent} from '../stripe-image/game-stripe-image.component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {TrailerBox} from './boxes/trailer/trailer.box';\r\n\r\nexport interface GameTrailerPreviewComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\nexport const GameTrailerComponent = observer(\r\n class GameTrailerComponent extends OrbitComponent {\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n //we used here key={gameInfo.gameType} to make react re render the component when a different gameInfo is provided\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import * as React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameStripeImageComponent} from './stripe-image/game-stripe-image.component';\r\nimport {GameTrailerComponent} from './trailer/game-trailer.component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\n\r\nexport interface GameImageContainerComponentProps {\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const TrailerOrStripeImageComponent = observer(\r\n class TrailerOrStripeImageComponent extends OrbitComponent {\r\n render() {\r\n if (this.props.gameInfo.hasVideoTrailer) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\n//check-div\r\nexport const CellValueBoolDefaultBox = styled.div`\r\n width: 13px;\r\n height: 13px;\r\n float: right;\r\n background-image: url(\"${props => props.theme.images.checkMark.toString()}\");\r\n background-repeat: no-repeat;\r\n`;","export enum GAMES_CATEGORIES {\r\n SLOTS = 'slots',\r\n CARD_AND_TABLE = 'card-and-table',\r\n LIVE = 'live'\r\n};\r\n","import {CellValueBoolDefaultBox} from './cell-value-bool.default.box';\r\n\r\nexport const CellValueBoolBox = CellValueBoolDefaultBox;","import styled from 'styled-components';\r\n\r\n//game-info-text\r\nexport const CellValueTextDefaultBox = styled.span`\r\n float: right;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;","import styled from 'styled-components';\r\nimport {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\n\r\nexport const CellValueTextCasino777Box = styled(CellValueTextDefaultBox)`\r\n color: ${props => props.theme.colors.dangerDark};\r\n`;","import styled from 'styled-components';\r\nimport {baseColors} from '../../../../../../../../themes/definitions/mrgreen/base-colors';\r\nimport {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\n\r\nexport const CellValueTextMrGreenBox = styled(CellValueTextDefaultBox)`\r\n color: ${baseColors.white};\r\n`;","import {CellValueTextDefaultBox} from './cell-value-text.default.box';\r\nimport {CellValueTextCasino777Box} from './cell-value-text.casino777.box';\r\nimport {CellValueTextMrGreenBox} from './cell-value-text.mrgeen.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const CellValueTextBox = styledByTheme(CellValueTextDefaultBox)\r\n.forCasino777(CellValueTextCasino777Box)\r\n.forMrGreen(CellValueTextMrGreenBox)\r\n.apply();","import styled from 'styled-components';\r\n\r\nexport const CellTitleDefaultBox = styled.span`\r\n color: ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.body};\r\n`;","import styled from 'styled-components';\r\nimport {CellTitleDefaultBox} from './cell-title.default.box';\r\n\r\nexport const CellTitleMrGreenBox = styled(CellTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n`;","import styled from 'styled-components';\r\nimport {CellTitleDefaultBox} from './cell-title.default.box';\r\n\r\nexport const CellTitleSiBox = styled(CellTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import {CellTitleDefaultBox} from './cell-title.default.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\nimport {CellTitleMrGreenBox} from './cell-title.mrgeen.box'\r\nimport {CellTitleSiBox} from \"./cell-title.si.box\";\r\n\r\nexport const CellTitleBox = styledByTheme(CellTitleDefaultBox)\r\n .forMrGreen(CellTitleMrGreenBox)\r\n .forSI(CellTitleSiBox)\r\n .forSICis(CellTitleSiBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {PreviewFeatureType} from '../../../../../../services/game-preview-features-selector/preview-features/game-preview-feature.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {CellValueBoolBox} from './boxes/cell-value-bool/cell-value-bool.box';\r\nimport {CellValueTextBox} from './boxes/cell-value-text/cell-value-text.box';\r\nimport {CellTitleBox} from './boxes/cell-title/cell-title.box';\r\n\r\nexport interface GameFeaturePreviewCellComponentProps{\r\n title: string;\r\n type: PreviewFeatureType,\r\n value: any\r\n}\r\n\r\nexport class GameFeatureCellComponent extends OrbitComponent {\r\n\r\n private _renderNoInfo() {\r\n return (-);\r\n }\r\n private _renderCheckbox() {\r\n if(this.props.value) {\r\n return ();\r\n }\r\n\r\n return this._renderNoInfo();\r\n }\r\n\r\n private _renderDescription() {\r\n if(Check.isEmpty(this.props.value)) {\r\n return this._renderNoInfo();\r\n }\r\n\r\n return ({this.props.value});\r\n }\r\n\r\n\r\n private _renderValue() {\r\n if(this.props.type === PreviewFeatureType.check) {\r\n return this._renderCheckbox();\r\n }\r\n\r\n return this._renderDescription();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.title}\r\n {this._renderValue()}\r\n \r\n );\r\n\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n//game-info game-preview\r\n\r\nexport const TableContainerDefaultBox = styled.table`\r\n padding: 0 8px;\r\n border-radius: 5px;\r\n background-color: ${props => props.theme.colors.backgroundLight};\r\n color: ${props => props.theme.colors.textLight};\r\n & tbody {\r\n border: none;\r\n background: transparent;\r\n }\r\n\r\n & td {\r\n width: 50%;\r\n padding-right: 15px;\r\n height: 3.5rem;\r\n\r\n border-bottom: 1px solid ${props => props.theme.colors.boxBorder};\r\n border-top: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n }\r\n\r\n & tr {\r\n background-color: transparent;\r\n height: 30px;\r\n &:first-child {\r\n td {\r\n border-top: none;\r\n }\r\n }\r\n &:last-child {\r\n td {\r\n border-bottom: none;\r\n }\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {TableContainerDefaultBox} from './table-container.default.box';\r\nimport {hexToRgba} from '../../../../../../../../themes/hex-to-rgba';\r\n\r\nexport const TableContainerBoxCasino777Box = styled(TableContainerDefaultBox)`\r\n font-size: 1.6rem;\r\n font-weight: 400;\r\n \r\n & td { \r\n border-bottom: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.5)};\r\n height:4rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {baseColors} from '../../../../../../../../themes/definitions/mrgreen/base-colors';\r\nimport {TableContainerDefaultBox} from './table-container.default.box';\r\n\r\nexport const TableContainerBoxMrGreenBox = styled(TableContainerDefaultBox)`\r\n & tr { \r\n &:nth-of-type(odd){\r\n background: transparent;\r\n }\r\n }\r\n\r\n & td {\r\n border-bottom: 1px solid ${baseColors.white};\r\n border-top: none\r\n }\r\n`;","import {TableContainerDefaultBox} from './table-container.default.box';\r\nimport {TableContainerBoxCasino777Box} from './table-container.casino777.box';\r\nimport {TableContainerBoxMrGreenBox} from './table-container.mrgreen.box';\r\nimport {styledByTheme} from '../../../../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const TableContainerBox = styledByTheme(TableContainerDefaultBox)\r\n.forCasino777(TableContainerBoxCasino777Box)\r\n.forMrGreen(TableContainerBoxMrGreenBox)\r\n.apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {PreviewFeatureEvaluationResult} from '../../../../../../services/game-preview-features-selector/preview-features/game-preview-feature.interface';\r\nimport {splitArrayToChunks} from '../../../../../../../utils/array-helper';\r\nimport {GameFeatureCellComponent} from '../cell/game-feature-cell.component';\r\nimport {TableContainerBox} from './boxes/table-container/table-container.box';\r\n\r\n\r\nexport interface GameFeaturesPreviewTableComponentProps {\r\n features: PreviewFeatureEvaluationResult[]\r\n}\r\n\r\nexport class GameFeaturesTableComponent extends OrbitComponent {\r\n\r\n private _renderGameInfoTableRow(cells: PreviewFeatureEvaluationResult[]) {\r\n let key = cells.reduce((acc, curr) => curr.title + '_' + acc, '');\r\n return (\r\n \r\n {cells.map(cell => ())}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if(this.props.features.length === 0) {\r\n return null;\r\n }\r\n\r\n let chunks = splitArrayToChunks(this.props.features, 2);\r\n\r\n return (\r\n \r\n \r\n {chunks.map(chunk => this._renderGameInfoTableRow(chunk))}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const GameDescriptionDefaultTextBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.text};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding: 0 1rem 2rem;\r\n`;","import {GameDescriptionDefaultTextBox} from './game-description-text.default.box';\r\nimport {styledByTheme} from \"../../../../../../../themes/architecture/styled-by-theme\";\r\nimport styled from \"styled-components\";\r\n\r\nexport const GameDescriptionSIBox = styled(GameDescriptionDefaultTextBox)`\r\n color: ${props => props.theme.colors.textDark};\r\n`;\r\n\r\nexport const GameDescriptionTextBox = styledByTheme(GameDescriptionDefaultTextBox).forSI(GameDescriptionSIBox).apply();","import styled from 'styled-components';\r\nimport { flexAdaptiveSizeItem } from '../../themes/architecture/css-helpers/flex';\r\nimport { styledByDevice } from '../../themes/architecture/styled-by-device';\r\n\r\n\r\n\r\nconst DefaultBox = styled.h2`\r\n position: relative;\r\n min-width: 28rem;\r\n max-width: 82.5%;\r\n text-transform: uppercase;\r\n padding: 1rem 2rem;\r\n font-size: 1.5rem;\r\n line-height: normal;\r\n margin: 0;\r\n background: ${props => props.theme.components.generalTitle.colors.background};\r\n border-left: 3px solid ${props => props.theme.colors.brandPrimary};\r\n color: ${props => props.theme.colors.brandPrimary};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: .9rem 2rem;\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n min-width: 65%;\r\n max-width: 100%;\r\n padding: .8rem 2rem;\r\n font-size: 1.2rem;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${flexAdaptiveSizeItem}\r\n min-width: 0;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GeneralTitleDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {GeneralTitleDefaultBox} from '../../../../../basic-components/general-title/general-title.default.box';\r\n\r\n//.general-title\r\nexport const DefaultBox = styled(GeneralTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textLight};\r\n border-left: 2px solid ${props => props.theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.bold};\r\n\r\n margin: 0;\r\n margin-bottom: 10px;\r\n`;\r\n\r\n\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n font-size: 1.2rem;\r\n padding-left: 0.8rem;\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n font-size: 1.4rem;\r\n padding-left: 2rem;\r\n`;\r\n\r\nexport const SectionTitleDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport { PcBox as BasePcBox, MobileBox as BaseMobileBox } from './general-title.default.box';\r\nimport { CssRule } from '../../themes/architecture/css-helpers/css-rule';\r\nimport { styledByDevice } from '../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.secondary};\r\n padding-left:4.5rem;\r\n text-transform: capitalize;\r\n padding-top:.6rem;\r\n padding-bottom:.6rem;\r\n font-size:2rem;\r\n font-weight: 300;\r\n border-left: none;\r\n z-index:0;\r\n clip-path: polygon(0 0, 10px 50%, 0 100%, 100% 100%, 100% 0);\r\n ${CssRule.For.RTL.build()} & {\r\n clip-path: polygon(0 0, 0 100%, 100% 100%, calc(100% - 10px) 50%, 100% 0);\r\n }\r\n &:before {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${({theme}) => theme.images.spriteSheet.toString()}\");\r\n height: 20px;\r\n width: 20px;\r\n top: 10px;\r\n left: 16px;\r\n background-position: -176px -766px;\r\n background-repeat: no-repeat;\r\n z-index:-1;\r\n ${CssRule.For.RTL.build()} & {\r\n transform: scaleX(-1);\r\n }\r\n }\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n padding: 1rem 5.5rem;\r\n font-size:2rem;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n padding: .5rem 4rem;\r\n font-size: 1.6rem;\r\n &:before{\r\n background-position: -176px -819px;\r\n }\r\n`;\r\n\r\nexport const GeneralTitleCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleCasino777Box} from '../../../../../basic-components/general-title/general-title.casino777.box';\r\n\r\n\r\nexport const SectionTitleCasino777Box = styled(GeneralTitleCasino777Box)`\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: uppercase;\r\n font-size: 1.6rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -155px -861px;\r\n height: 40px;\r\n &:before{\r\n content: none;\r\n }\r\n`;","import {SectionTitleDefaultBox} from './section-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SectionTitleCasino777Box} from './section-title.casino777.box';\r\n\r\nexport const SectionTitleBox = styledByTheme(SectionTitleDefaultBox).forCasino777(SectionTitleCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {GameDescriptionTextBox} from './boxes/game-description-text/game-description-text.box';\r\nimport {SectionTitleBox} from '../../boxes/section-title/section-title.box';\r\n\r\nexport interface GameAboutTextComponentProps {\r\n aboutText: string\r\n}\r\n\r\nexport class GameAboutComponent extends OrbitComponent {\r\n render() {\r\n if(Check.isEmpty(this.props.aboutText)) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {this.services.translation.translate('ABOUT')}\r\n \r\n \r\n {this.props.aboutText}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameJackpotPreviewDefaultBox} from './game-jackpot-preview.default.box';\r\n\r\nexport const GameJackpotPreviewBox = GameJackpotPreviewDefaultBox;","import styled from 'styled-components';\r\n\r\n//game-info-jackpot game-preview\r\nexport const GameJackpotPreviewDefaultBox = styled.div`\r\n width: 100%;\r\n`;","import styled from 'styled-components';\r\nimport {GameJackpotComponent} from \"../../../../../../game-jackpot/game-jackpot.component\";\r\n\r\n//game-info-amount game-info-text\r\nexport const JackpotAmountPreviewDefaultBox = styled(GameJackpotComponent)`\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 2.4rem;\r\n font-weight: 800;\r\n text-align: inherit;\r\n margin-top: -4px;\r\n margin-bottom: 5px;\r\n padding: 0 1.5rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n font-size: 2.2rem;\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\nimport {baseColors} from '../../../../../../../themes/definitions/casino777/base-colors';\r\n\r\nexport const JackpotAmountPreviewCasino777Box = styled(JackpotAmountPreviewDefaultBox)`\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n color: ${baseColors.base04Dark};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\n\r\nexport const JackpotAmountPreviewCasinoSIBox = styled(JackpotAmountPreviewDefaultBox)`\r\n padding: 0 0.5rem;\r\n`;\r\n","import {JackpotAmountPreviewDefaultBox} from './jackpot-amount-preview.default.box';\r\nimport {JackpotAmountPreviewCasino777Box} from './jackpot-amount-preview.casino777.box';\r\nimport {styledByTheme} from '../../../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountPreviewCasinoSIBox} from \"./jackpot-amount-preview.si.box\";\r\n\r\nexport const JackpotAmountPreviewBox = styledByTheme(JackpotAmountPreviewDefaultBox)\r\n .forCasino777(JackpotAmountPreviewCasino777Box)\r\n .forSI(JackpotAmountPreviewCasinoSIBox)\r\n .apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../boxes/section-title/section-title.box';\r\nimport {GameJackpotPreviewBox} from './boxes/game-jackpot-preview/game-jackpot-preview.box';\r\nimport {JackpotAmountPreviewBox} from './boxes/jackpot-amount-preview/jackpot-amount-preview.box';\r\n\r\nexport interface GameJackpotPreviewComponentProps {\r\n gameType: number;\r\n}\r\n\r\nexport class GameJackpotPreviewComponent extends OrbitComponent {\r\n\r\n render() {\r\n //className={'game-info-jackpot game-preview'}\r\n return (\r\n \r\n \r\n {this.services.translation.translate('GAME_JACKPOT')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n width: 100%;\r\n`;\r\n\r\nconst PcBox = DefaultBox;\r\nconst MobileBox = styled(DefaultBox)`\r\n padding: 0 10px 20px;\r\n`;\r\n\r\nexport const GamePreviewInfoContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import {GamePreviewInfoContainerDefaultBox} from './game-preview-info-container.default.box';\r\n\r\nexport const GamePreviewInfoContainerBox = GamePreviewInfoContainerDefaultBox;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameFeaturesTableComponent} from './features/table/game-features-table.component';\r\nimport {GameAboutComponent} from './about/game-about.component';\r\nimport {GameJackpotPreviewComponent} from './jackpot/game-jackpot-preview.component';\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameInfo} from '../../../../services/games/game-info';\r\nimport {GamePreviewInfoContainerBox} from './game-preview-info-container.box';\r\n//import {RelatedGamesComponent} from './related-games/related-games.component';\r\n\r\nexport interface GameInfoWrapperComponentProps {\r\n gameInfo: GameInfo;\r\n gameTitleComponent: React.ReactNode | null;\r\n}\r\nexport class GamePreviewInfoContainerComponent extends OrbitComponent {\r\n\r\n private _renderJackpotPreview(gameInfo: GameInfo) {\r\n\r\n if(!gameInfo.hasJackpot){\r\n return null;\r\n }\r\n\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n\r\n let shouldRenderJackpotPreview = generalSettings?.gamesPreviewConfig?.shouldDisplayJackpot;\r\n\r\n if (Check.isNullOrUndefined(shouldRenderJackpotPreview) || shouldRenderJackpotPreview)\r\n {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n {this.props.gameTitleComponent}\r\n \r\n \r\n {this._renderJackpotPreview(gameInfo)}\r\n {/**/}\r\n \r\n );\r\n }\r\n}\r\n\r\n","import {ContainerDefaultBox} from './container.default.box';\r\n\r\nexport const ContainerBox = ContainerDefaultBox;\r\n\r\n","import styled from 'styled-components';\r\n\r\n\r\n/**\r\n ContainerDefaultBox is placed over TrailerOrStripeImageComponent using position absolute.\r\n We do this because TrailerOrStripeImageComponent has opacity 0.5\r\n and we can't put ContainerDefaultBox inside TrailerOrStripeImageComponent because will inherit that opacity\r\n */\r\n\r\n\r\nexport const ContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n","import {GameIconDefaultBox} from './game-icon.default.box';\r\n\r\nexport const GameIconBox = GameIconDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../components/raw-components/image/image';\r\n\r\n//game-info-icon\r\nexport const GameIconDefaultBox = styled(Image)`\r\n display: block;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n`;\r\n\r\n","import {PlayButtonsDefaultBox} from './play-buttons.default.box';\r\n\r\nexport const PlayButtonsBox = PlayButtonsDefaultBox;","import styled from 'styled-components';\r\n\r\n\r\nexport const PlayButtonsDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-end;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n margin-right: 10px;\r\n margin-left: 10px;\r\n`;\r\n","import {GameIconWrapperDefaultBox} from './game-icon-wrapper.default.box';\r\n\r\nexport const GameIconWrapperBox = GameIconWrapperDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameIconWrapperDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xs} {\r\n padding-left: 15px;\r\n width: 80%;\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo, OpenGameParameters} from '../../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../../services/dialog/dialog.service.interface';\r\nimport {ContainerBox} from './boxes/container/container.box';\r\nimport {GameIconBox} from '../../../../basic-components/game-icon/game-icon.box';\r\nimport {PlayButtonsBox} from '../../../../basic-components/play-buttons/play-buttons.box';\r\nimport {GameIconWrapperBox} from '../../../../basic-components/game-icon-wrapper/game-icon-wrapper.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport {Button} from '../../../../basic-ui-components/button/base/button.component';\r\n\r\nexport interface MobileDemoAndPlayComponentProps {\r\n gameInfo: GameInfo;\r\n openGameParams: OpenGameParameters;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\nexport const GameIconAndPlayButtonsComponent = observer(\r\n class GameIconAndPlayButtonsComponent extends OrbitComponent {\r\n\r\n private _openRealGame = () => {\r\n this.props.dialogHandler.close();\r\n this.props.gameInfo.open({...this.props.openGameParams, isRealMode: true});\r\n };\r\n\r\n private _openDemoGame = () => {\r\n this.props.dialogHandler.close();\r\n this.props.gameInfo.open({...this.props.openGameParams, isRealMode: false});\r\n };\r\n\r\n private _renderDemoButton(gameInfo: GameInfo) {\r\n if (!gameInfo.allowDemoButtonInIntermediatePage) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n { this.services.translation.translate('DEMO') }\r\n \r\n );\r\n }\r\n\r\n render() {\r\n if (!this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n const gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('PLAY')}\r\n \r\n
    \r\n {this._renderDemoButton(gameInfo)}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nexport const IntermediatePageDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n background-image: url(${props => props.theme.images.texture.toString()}); \r\n ${CssRule.For.mobile.tablet.build()} & {\r\n max-width: 54rem;\r\n height: auto;\r\n }\r\n \r\n`;\r\n\r\n","import {IntermediatePageDefaultBox} from './intermediate-page.default.box';\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport styled from \"styled-components\";\r\n\r\nconst IntermediatePageSIBox = styled(IntermediatePageDefaultBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n`;\r\n\r\nexport const IntermediatePageBox = styledByTheme(IntermediatePageDefaultBox).forSI(IntermediatePageSIBox).apply();","import {StripeImageAndButtonsDefaultBox} from './stripe-image-and-buttons.default.box';\r\n\r\nexport const StripeImageAndButtonsBox = StripeImageAndButtonsDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const StripeImageAndButtonsDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 220px;\r\n margin-bottom: 0.5rem;\r\n`;","import styled from 'styled-components';\r\n/**\r\n GradientBox is placed over TrailerOrStripeImageComponent using position absolute.\r\n We do this because TrailerOrStripeImageComponent has opacity 0.5\r\n and we can't put GradientBox inside TrailerOrStripeImageComponent because will inherit that opacity\r\n */\r\nexport const GradientDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: linear-gradient(to bottom, transparent 46%, ${props => props.theme.colors.background} 100%); \r\n`;","import styled from \"styled-components\";\r\nimport {GradientDefaultBox} from \"./gradient.default.box\";\r\nimport {hexToRgba} from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const GradientCasino777Box = styled(GradientDefaultBox)`\r\n background: linear-gradient(to bottom, ${props => hexToRgba(props.theme.colors.backgroundContrast, 0.3)}, ${props => hexToRgba(props.theme.colors.background, 0.6)});\r\n`","import {GradientDefaultBox} from './gradient.default.box';\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GradientCasino777Box} from \"./gradient.casino777.box\";\r\n\r\nexport const GradientBox = styledByTheme(GradientDefaultBox).forCasino777(GradientCasino777Box).apply();","import {WarningImageDefaultBox} from \"./warning-image.default.box\";\r\n\r\nexport const WarningImageBox = WarningImageDefaultBox;","import styled from \"styled-components\";\r\nimport { Image } from \"../../../../../raw-components/image/image\";\r\n\r\nexport const WarningImageDefaultBox = styled(Image)`\r\n margin: 10px 5px 5px 15px;\r\n`;","import {WarningTextDefaultBox} from \"./warning-text.default.box\";\r\n\r\nexport const WarningTextBox = WarningTextDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const WarningTextDefaultBox = styled.span`\r\n font-size: 1.2rem;\r\n width: calc(100% - 50px);\r\n display: inline-block;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n`;\r\n","import {WarningMessageDefaultBox} from \"./warning-message.default.box\";\r\n\r\nexport const WarningMessageBox = WarningMessageDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const WarningMessageDefaultBox = styled.div`\r\n position: relative;\r\n height: 40px;\r\n background-color: black;\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {WarningImageBox} from \"./boxes/warning-image/warning-image.box\";\r\nimport {WarningTextBox} from \"./boxes/warning-text/warning-text.box\";\r\nimport {WarningMessageBox} from \"./boxes/warning-message/warning-message.box\";\r\n\r\nexport class RealMoneyOnlyWarningComponent extends OrbitComponent<{}>{\r\n render() {\r\n return(\r\n \r\n \r\n {this.services.translation.translate('REAL_MONEY_GAME')}\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo, OpenGameParameters} from '../../../services/games/game-info';\r\nimport {TitleComponent} from './title/title.component';\r\nimport {TrailerOrStripeImageComponent} from '../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IModalDialogHandler} from '../../../services/dialog/dialog.service.interface';\r\nimport {GameIconAndPlayButtonsComponent} from './game-icon-and-play-buttons/game-icon-and-play-buttons.component';\r\nimport {IntermediatePageBox} from './boxes/intermediate-page/intermediate-page.box';\r\nimport {StripeImageAndButtonsBox} from './boxes/stripe-image-and-buttons/stripe-image-and-buttons.box';\r\nimport {GradientBox} from './boxes/gradient/gradient.box';\r\nimport {RealMoneyOnlyWarningComponent} from \"./only-real-money-warning/only-real-money-warning.component\";\r\n\r\nexport interface OpenGameIntermediatePageComponentProps {\r\n gameInfo: GameInfo;\r\n openGameParams: OpenGameParameters;\r\n dialogHandler: IModalDialogHandler;\r\n}\r\n\r\n\r\nexport const OpenGameIntermediatePageComponent = observer(\r\n class OpenGameIntermediatePageComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.device.isMobile,\r\n (isMobile) => {\r\n if(!isMobile) { // this is for when you switch from mobile to PC in the emulator or when you resize de browser window\r\n this.props.dialogHandler.close();\r\n }\r\n });\r\n }\r\n\r\n _renderOnlyRealMoneyWarning() {\r\n return this.props.gameInfo.allowWithdrawOnlyFromReal ? () : null;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderOnlyRealMoneyWarning()}\r\n \r\n \r\n {/*GameIconAndPlayButtonsComponent and GradientBox uses position absolute to place itself over the TrailerOrStripeImageComponent because TrailerOrStripeImageComponent box has opacity 0.5 */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n }\r\n }\r\n);","import {IGameRestriction} from \"./game-restriction.interface\";\r\n\r\nexport class NoGameRestriction implements IGameRestriction {\r\n isGameAllowedToPlayReal(): boolean {\r\n return true;\r\n }\r\n\r\n showUserMessage(): void {\r\n\r\n }\r\n\r\n}","import { computed, makeObservable } from 'mobx';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {IRunningGameHandler} from './running-game-handler.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {\r\n OpenGameIntermediatePageComponent\r\n} from \"../../components/lobby-game-info-preview/intermediate-page/open-game-intermediate-page.component\";\r\nimport React from \"react\";\r\nimport {GameIconAnimationState} from '../../components/single-game/common/parts/game-image/game-image.component';\r\nimport {\r\n IRunningGameControllerViewModel\r\n} from \"../game-runner/interfaces/game-controller/running-game-controller.interface\";\r\nimport {GameModeEnum} from \"../game-runner/interfaces/game-context/game-context-view-model.interface\";\r\nimport {IOpenFreePlayGameParams} from \"../game-runner/game-runner.service.interface\";\r\nimport {IGameRestriction} from \"../restrictions/game-restriction.interface\";\r\nimport {NoGameRestriction} from \"../restrictions/no-game-restriction\";\r\nimport {GAME_GROUP} from \"../../../common/const/game_groups_consts\";\r\nimport {NullableNumber, NullableString} from \"../../../common/types/nullable-types\";\r\nimport {GAMES_CATEGORIES} from \"./games-categories.enum\";\r\nimport {IGameInfo} from '../../../common/const/game-info.interface';\r\nimport {GAME_VOLATILITY} from '../../../sdk/src/services/games_information/games_information_service_interface';\r\nimport {\r\n OrbitMarketingEventAnalyticsCategory,\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../analytics/analytics.service.interface\";\r\nimport { GameChildishIconMode } from '../../../common/enums/game-childish-icon-mode.enum';\r\n\r\n\r\nexport interface OpenGameParameters {\r\n isRealMode: boolean;\r\n pageName?: string;\r\n listTitle?: string;\r\n listPosition?: number;\r\n AdminListID?: number;\r\n marketingParams?: MarketingParams;\r\n gameIndex?: number;\r\n aiEngine?: string;\r\n aiSortingType?: string;\r\n AIListTypeID?: number;\r\n openFromDrawer?:boolean;\r\n showIntermediatePage?: boolean;\r\n isCalledFromIntermediatePage?: boolean;\r\n animatedIconState?: GameIconAnimationState;\r\n freePlayParams?: IOpenFreePlayGameParams;\r\n skipFreePlaySuggestion?: boolean;\r\n referrerId?: NullableNumber;\r\n}\r\n\r\n\r\n\r\nexport function gameInfoComparerByTitle(game1: GameInfo, game2: GameInfo): number {\r\n if(game1.title < game2.title) {\r\n return -1\r\n } else if(game1.title > game2.title) {\r\n return 1\r\n }\r\n\r\n return 0;\r\n}\r\n\r\n\r\nexport class GameInfo {\r\n constructor(private _rawGameData: IGameInfo,\r\n private services: IServiceFactoryExtended,\r\n private _aboutText: string) {\r\n makeObservable(this);\r\n\r\n Object.defineProperty(this._rawGameData, 'allowSwitchGameMode', {\r\n get: () => this.allowSwitchGameMode,\r\n configurable: true\r\n });\r\n }\r\n\r\n private get _isMobile(): boolean {\r\n return this.services.device.isMobile;\r\n }\r\n\r\n private get _isAuthorized(): boolean {\r\n return this.services.user.isAuthorized;\r\n }\r\n\r\n get gameType(): number {\r\n return this._rawGameData.gameType;\r\n }\r\n\r\n get title(): string {\r\n return this._rawGameData.title;\r\n }\r\n\r\n get numberOfLines(): number {\r\n return this._rawGameData.numberOfLines;\r\n }\r\n\r\n\r\n get hasJackpot(): boolean {\r\n return this._rawGameData.hasJackpot || false;\r\n }\r\n\r\n get isNewGame(): boolean {\r\n return this._hasCustomFilter('new');\r\n }\r\n\r\n get isExclusiveGame(): boolean {\r\n return this._hasCustomFilter('exclusive');\r\n }\r\n\r\n private _hasCustomFilter(filterName: string): boolean {\r\n if (!filterName) {\r\n return false;\r\n }\r\n\r\n if (!Check.isArray(this._rawGameData.filtersList)) {\r\n return false;\r\n }\r\n\r\n filterName = filterName.toLowerCase();\r\n\r\n return 0 <= this._rawGameData.filtersList.findIndex(filter => filter.toLowerCase() === filterName);\r\n\r\n }\r\n\r\n get hasBonusGames(): boolean {\r\n return this._rawGameData.hasBonusGames || false;\r\n }\r\n\r\n get numberOfDecks(): number {\r\n return this._rawGameData.numberOfDecks;\r\n }\r\n\r\n get isMultiHand(): boolean {\r\n return this._rawGameData.isMultiHand || false;\r\n }\r\n\r\n get hasFreeSpins(): boolean {\r\n return this._rawGameData.hasFreeSpins || false;\r\n }\r\n\r\n get subGroupName(): string {\r\n return this._rawGameData.subGroupName;\r\n }\r\n\r\n get isEliteLounge(): boolean {\r\n return this._rawGameData.isEliteLounge || false;\r\n }\r\n\r\n get isChildish(): boolean {\r\n return this._rawGameData.isChildish || false;\r\n }\r\n\r\n get hasSideBets(): boolean {\r\n return this._rawGameData.hasSideBets || false;\r\n }\r\n\r\n get maxBetPerSpot(): number {\r\n return this._rawGameData.maxBetPerSpot;\r\n }\r\n\r\n get allowWithdrawOnlyFromReal(): boolean {\r\n return this._rawGameData.allowWithdrawOnlyFromReal;\r\n }\r\n\r\n get hasLowStakes(): boolean {\r\n return this._hasCustomFilter('lowStakes');\r\n }\r\n\r\n get hasHighStakes(): boolean {\r\n return this._hasCustomFilter('highStakes');\r\n }\r\n\r\n get ClassicSlots(): boolean {\r\n return this._rawGameData.ClassicSlots;\r\n }\r\n\r\n get allowMinMaxBet(): boolean {\r\n let isAllowedCategory = this.isCardOrTableGame || this.isLiveCasino;\r\n\r\n return !this.hasJackpot && isAllowedCategory;\r\n }\r\n\r\n\r\n @computed\r\n get allowHoverDetails(): boolean {\r\n\r\n if (this.gameGroup === 'Live Casino') {\r\n return false;\r\n }\r\n\r\n return !this._isAuthorized || this._rawGameData.forceDemoButton;\r\n }\r\n\r\n get allowTap(): boolean {\r\n return this._isMobile;\r\n }\r\n\r\n\r\n get hasInfoPage(): boolean {\r\n if (this.infoPageURL) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowDemoButtonInSingleGame(): boolean {\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n\r\n if (this._isMobile) {\r\n return false;\r\n }\r\n\r\n\r\n return (this._rawGameData.demoSettings\r\n && this._rawGameData.demoSettings.demoCTAAnonymous\r\n && this._rawGameData.demoSettings.demoCTAAnonymous.pc);\r\n }\r\n\r\n\r\n @computed\r\n get allowDemoButtonInIntermediatePage(): boolean {\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n if (this.services.user.isAuthorized) {\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAuthorized && this._rawGameData.demoSettings.demoCTAAuthorized.mobile;\r\n }\r\n\r\n return this._rawGameData.demoSettings && this._rawGameData.demoSettings.demoCTAAnonymous && this._rawGameData.demoSettings.demoCTAAnonymous.mobile;\r\n }\r\n\r\n get infoPageURL(): string {\r\n\r\n if (!this._rawGameData.infoPageURL) {\r\n return '';\r\n }\r\n\r\n if (!this.services.siteMap.isUrlInSiteMap(this._rawGameData.infoPageURL)) {\r\n this.services.logger.debug(`Page info '${this._rawGameData.infoPageURL}' for game ${this.gameType} - ${this.title} is not in the site map`);\r\n return '';\r\n }\r\n\r\n return this._rawGameData.infoPageURL\r\n }\r\n\r\n //Can be either a live stream URL or a static video URL.\r\n get videoURL(): string {\r\n if (!this._rawGameData.videoURL) {\r\n return '';\r\n }\r\n\r\n return this._rawGameData.videoURL;\r\n }\r\n\r\n get hasVideoURL(): boolean {\r\n return Boolean(this.videoURL);\r\n }\r\n\r\n get gameGroup(): string {\r\n return this._rawGameData.gameGroup;\r\n }\r\n\r\n get gameGroupId(): GAME_GROUP {\r\n return this._rawGameData.gameGroupId;\r\n }\r\n\r\n get gameCategory(): string {\r\n if(this.isVideoSlot || this.isScratchCards) {\r\n return GAMES_CATEGORIES.SLOTS;\r\n }\r\n\r\n if(this.isLiveCasino) {\r\n return GAMES_CATEGORIES.LIVE;\r\n }\r\n\r\n if(this.isCardOrTableGame) {\r\n return GAMES_CATEGORIES.CARD_AND_TABLE;\r\n }\r\n\r\n return '';\r\n\r\n }\r\n\r\n get gameCategoryClassName(): string {\r\n return 'game-category-' + this.gameCategory;\r\n }\r\n\r\n get companyName(): string {\r\n return this._rawGameData.companyName;\r\n }\r\n\r\n get vendorId(): number {\r\n return this._rawGameData.vendorId;\r\n }\r\n\r\n get vendorName(): string {\r\n return this._rawGameData.vendorName;\r\n }\r\n\r\n private _getDefaultGameImage(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (opts.animatedIcon) {\r\n return (images.animated_square) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_square)) : '';\r\n }\r\n return this._getResolvedGameImagePath(images.hybrid_icon);\r\n }\r\n\r\n if (opts.animatedIcon) {\r\n return (images.animated_round) ? this.getAnimatedJsonUrl(this._getResolvedGameImagePath(images.animated_round)) : '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n private _getImageForChildishGame(opts: {squareIcon: boolean; animatedIcon: boolean;}): string {\r\n let images = this._rawGameData?.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n const gameChildishMode = this.services.regulation.current.getChildishIconMode();\r\n if (gameChildishMode === GameChildishIconMode.UseDefaultIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n if (opts.squareIcon && images.hybrid_icon) {\r\n if (images.hybrid_non_childish_icon) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.hybrid_non_childish_icon);\r\n }\r\n else if (gameChildishMode === GameChildishIconMode.PreferNonChildishIcon) {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n else {\r\n /* Handling scenario of mode: UseNonChildishIcon, having only non_childish_icon (game is not restricted) but missing hybrid_non_childish_icon */\r\n return opts.animatedIcon ? '' : this.getGameImagePlaceHolderUrl(opts.squareIcon);\r\n }\r\n }\r\n else {\r\n if (images.non_childish_icon) {\r\n return opts.animatedIcon ? '' : this._getResolvedGameImagePath(images.non_childish_icon);\r\n }\r\n else {\r\n /* game is Childish & does not have non_childish_icon & is not restricted, it means we just PreferNonChildishIcon and we are happy with default icon*/\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n }\r\n }\r\n\r\n getGameImage(options?: {squareIcon?: boolean; animatedIcon?: boolean;}): string {\r\n let opts = {\r\n squareIcon: options?.squareIcon || false,\r\n animatedIcon: options?.animatedIcon || false,\r\n }\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n if(this.isChildish){\r\n return this._getImageForChildishGame(opts);\r\n }\r\n else {\r\n return this._getDefaultGameImage(opts);\r\n }\r\n }\r\n\r\n getBackgroundImage(): string {\r\n let background = this._rawGameData?.images?.background;\r\n if (!background) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(background);\r\n }\r\n\r\n private getAnimatedJsonUrl(pngImagePath: string) {\r\n if (!pngImagePath.endsWith('.png')) {\r\n this.services.logger.error(\"Animated icon path does not end in '.png': \" + pngImagePath);\r\n return '';\r\n }\r\n // we don't expect for substring '.png' to exist in other place than the end of the string, so we do a simple replace\r\n return pngImagePath.replace('.png', '.json');\r\n }\r\n\r\n getAnimatedImageTimings() {\r\n const animatedImageTimings = this._rawGameData && this._rawGameData.animatedImageTimings\r\n return {\r\n delay: animatedImageTimings?.delay || 2000,\r\n interval: animatedImageTimings?.interval || 3000,\r\n }\r\n }\r\n\r\n get gameImageInsideIntermediatePage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.icon);\r\n }\r\n\r\n get gameImageInHistoryPage(): string {\r\n let images = this._rawGameData && this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n let image: string = images.icon;\r\n if (this.services.theme.shouldUseSquareIcons && images.hybrid_icon) {\r\n image = images.hybrid_icon;\r\n }\r\n\r\n return this._getResolvedGameImagePath(image);\r\n }\r\n\r\n get badge(): string | null {\r\n return this._rawGameData.badge;\r\n }\r\n\r\n get videoThumbnailUrl(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.video_thumbnail);\r\n }\r\n\r\n @computed\r\n get badgeUrl(): string | null {\r\n if (this.badge) {\r\n return this.services.configuration.data.generalSettings.gamesSettings.gameBadgePath + this.badge + '.png';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get minBet(): number {\r\n return this._rawGameData.minBet;\r\n }\r\n\r\n get maxBet(): number {\r\n return this._rawGameData.maxBet;\r\n }\r\n\r\n get maxBetPerBrand(): number {\r\n return this._rawGameData.maxBetPerBrand;\r\n }\r\n\r\n getGameImagePlaceHolderUrl(useSquareIcon?: boolean): string {\r\n if (useSquareIcon) {\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolderSq.toString();\r\n }\r\n return this.services.theme.currentTheme.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n getImageSeoAlt() {\r\n\r\n let seoValue = this.services.configuration.data?.seo?.games?.images?.alt;\r\n\r\n return this.services.translation.translate(seoValue, {\r\n gameName: this.title,\r\n categoryName: this.gameCategory\r\n });\r\n };\r\n\r\n private _getResolvedGameImagePath(imagePath: string): string {\r\n return this.services.configuration.resolveGameImagePath(imagePath);\r\n }\r\n\r\n @computed\r\n get stripImage(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._isMobile ? this._getResolvedGameImagePath(images.strip_mobile) :\r\n this._getResolvedGameImagePath(images.strip_pc);\r\n }\r\n\r\n @computed\r\n get stripeImageFallback(): string {\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let previewDefaultImage = generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesPreviewDefaultImages;\r\n\r\n if (previewDefaultImage && this.gameCategory) {\r\n //Replace the game category dash to under score (like the image name for example card-and-table category name should be default_game_strip_card_and_table)\r\n let gameCategoryWithUnderScores = this.gameCategory.replace(/-/g, '_');\r\n previewDefaultImage = previewDefaultImage.replace(/{arena-category}/g, gameCategoryWithUnderScores);\r\n //Add _mobile if we are in mobile\r\n\r\n if (this.services.device.isMobile) {\r\n return previewDefaultImage.replace('.png', '_mobile.png');\r\n }\r\n\r\n return previewDefaultImage;\r\n }\r\n\r\n return ''\r\n }\r\n\r\n get hasVideoTrailer(): boolean {\r\n return this.gameType === 130136;\r\n }\r\n\r\n get aboutText(): string {\r\n return this._aboutText;\r\n }\r\n\r\n get multiplayer(): number {\r\n return this._rawGameData.multiplayer;\r\n }\r\n\r\n get isClassicSlot(): boolean {\r\n return this._hasCustomFilter('ClassicSlots');\r\n }\r\n\r\n get hasHighVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.High;\r\n }\r\n\r\n get hasLowVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Low;\r\n }\r\n\r\n get hasMediumVolatility(): boolean {\r\n return this.volatility === GAME_VOLATILITY.Medium;\r\n }\r\n\r\n get hasDailyJackpot(): boolean {\r\n return this._hasCustomFilter('DailyJackpot');\r\n }\r\n\r\n get hasTwilightJackpot(): boolean {\r\n return this._hasCustomFilter('TwilightJackpot');\r\n }\r\n\r\n get hasCaptain8tJackpot(): boolean {\r\n return this._hasCustomFilter('Captain8Jackpot');\r\n }\r\n\r\n get hasRedTigerJackpot(): boolean {\r\n return this._hasCustomFilter('RedTigerJackpot');\r\n }\r\n\r\n @computed\r\n get shouldShowIntermediatePage(): boolean {\r\n if (!this._isMobile) {\r\n return false;\r\n }\r\n\r\n if (!this._rawGameData.isAnonymousSupported) {\r\n return false;\r\n }\r\n\r\n if (this.isLiveCasino) {\r\n return false;\r\n }\r\n\r\n if (this._rawGameData.forceDemoButton) {\r\n return true;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (this._isAuthorized) {\r\n if ((this._rawGameData?.forceIntermediatePageForAutorizedUsers) || (demoSettings && demoSettings.intermediatePageAuthorized && demoSettings.intermediatePageAuthorized.mobile)) {\r\n return true;\r\n }\r\n } else {\r\n if (demoSettings?.intermediatePageAnonymous?.mobile) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n get isDemoModeSupported(): boolean {\r\n return Boolean(this._rawGameData.isAnonymousSupported);\r\n }\r\n\r\n @computed\r\n get allowSwitchGameMode(): boolean {\r\n\r\n if(!this.isDemoModeSupported) {\r\n return false;\r\n }\r\n\r\n let demoSettings = this._rawGameData.demoSettings;\r\n if (!demoSettings) {\r\n return false;\r\n }\r\n\r\n if (this._isAuthorized) {\r\n return Boolean(demoSettings?.demoCTAAuthorized?.pc);\r\n } else {\r\n return Boolean(demoSettings?.demoCTAAnonymous?.pc);\r\n }\r\n }\r\n\r\n async open(params: OpenGameParameters): Promise {\r\n\r\n if(this._showIntermediatePage(params)) {\r\n return;\r\n }\r\n\r\n if (this._shouldRedirectToMembership(params)) {\r\n this._openMembership();\r\n return {\r\n closeGame: () => {\r\n }\r\n };\r\n }\r\n\r\n this._sendOpenGameAnalytics(params);\r\n\r\n let gameController: IRunningGameControllerViewModel | null = null;\r\n if (params.isRealMode) {\r\n if(params.marketingParams) {\r\n this.services.sdk.eventsTrigger.updateMarketingParams(params.marketingParams);\r\n }\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Real,\r\n gameInfo: this,\r\n freePlayParams: params.freePlayParams,\r\n skipFreePlaySuggestion: params.skipFreePlaySuggestion,\r\n referrerId: params.referrerId\r\n });\r\n } else {\r\n gameController = await this.services.gameRunner.openGame({\r\n gameMode: GameModeEnum.Demo,\r\n gameInfo: this\r\n });\r\n }\r\n\r\n return {\r\n closeGame: async () => {\r\n await gameController?.closeGame({\r\n shouldSuggestNextGame: false\r\n })\r\n }\r\n }\r\n\r\n }\r\n\r\n private _shouldRedirectToMembership(params: OpenGameParameters): boolean {\r\n return params.isRealMode && params.isCalledFromIntermediatePage\r\n && !this.services.user.isAuthorized\r\n && (this.services.cmsSegmentation.isCstatus === false);\r\n }\r\n\r\n\r\n //TODO - this should return a Promise\r\n private _showIntermediatePage(params: OpenGameParameters): boolean {\r\n if (this.shouldShowIntermediatePage && params.showIntermediatePage) {\r\n const dialogContentRenderer = ((dialogHandler) => );\r\n this.services.dialog.showModal(dialogContentRenderer, {hideCloseButton: true});\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private _openMembership() {\r\n this.services.analytics.sendOrbitMarketingEvent(OrbitMarketingEventAnalyticsCategory.Conversion, 'Play', OrbitMarketingEventAnalyticsLabel.PreGamePopUp);\r\n this.services.externalLinks.openMembership({\r\n marketingParams: {\r\n dl: \"20614\"\r\n }\r\n });\r\n }\r\n\r\n private _sendOpenGameAnalytics(params: OpenGameParameters): void {\r\n if (!params.pageName || !params.listTitle) {\r\n return;\r\n }\r\n const listTitle = this._replaceUnderscore(params.listTitle);\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: params.pageName, action: 'game_click', label: listTitle, value: this.gameType.toString(), customData: params}, true);\r\n }\r\n\r\n\r\n isAllWordsMatch(words: RegExp[]) {\r\n let text = this.title + ' ' + this.vendorName;\r\n for (let index = 0; index < words.length; index++) {\r\n if (!text.match(words[index])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n get gameArenaIcon(): string {\r\n let images = this._rawGameData.images;\r\n if (!images) {\r\n return '';\r\n }\r\n\r\n return this._getResolvedGameImagePath(images.arena_icon);\r\n }\r\n\r\n /**\r\n * @description BI/BA request not to send the underscore as part of the list title since they split by underscore to get all the data on the label\r\n * @param listTitle\r\n * @private\r\n */\r\n private _replaceUnderscore(listTitle): string {\r\n return listTitle.replace(/_/g, '-');\r\n }\r\n\r\n get restriction(): IGameRestriction {\r\n\r\n if(this._rawGameData.restriction) {\r\n return this._rawGameData.restriction as IGameRestriction;\r\n }\r\n return new NoGameRestriction();\r\n }\r\n\r\n get isVideoSlot(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_SLOT\r\n || this.gameGroupId === GAME_GROUP.SLOT\r\n }\r\n\r\n //same as isCardOrTableGame() besides ARCADE, PAI_GOW_POKER, ROULETTE_LIKE\r\n get isCasinoGame() {\r\n const casinoGamesGroups = [\r\n GAME_GROUP.BACCARAT,\r\n GAME_GROUP.BLACKJACK,\r\n GAME_GROUP.CARRIBEAN_POKER,\r\n GAME_GROUP.CRAPS,\r\n GAME_GROUP.KENO,\r\n GAME_GROUP.POKER,\r\n GAME_GROUP.POKER_TEMPLATE_GAMES,\r\n GAME_GROUP.ROULETTE,\r\n GAME_GROUP.SCRATCH_CARD,\r\n GAME_GROUP.VIDEO_POKER\r\n ];\r\n\r\n return casinoGamesGroups.includes(this.gameGroupId);\r\n }\r\n\r\n get isVideoPoker(): boolean {\r\n return this.gameGroupId === GAME_GROUP.VIDEO_POKER;\r\n }\r\n\r\n get isScratchCards(): boolean {\r\n return this.gameGroupId === GAME_GROUP.SCRATCH_CARD;\r\n }\r\n\r\n get isBlackJack(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BLACKJACK;\r\n }\r\n\r\n get isRoulette(): boolean {\r\n return this.gameGroupId === GAME_GROUP.ROULETTE;\r\n }\r\n\r\n get isLiveCasino(): boolean {\r\n return this.gameGroupId === GAME_GROUP.LIVE_CASINO;\r\n }\r\n\r\n get isBaccarat(): boolean {\r\n return this.gameGroupId === GAME_GROUP.BACCARAT;\r\n }\r\n\r\n\r\n get isCardOrTableGame(): boolean {\r\n\r\n return this.isBlackJack\r\n || this.isRoulette\r\n || this.isBaccarat\r\n || this.isVideoPoker\r\n || this.gameGroupId === GAME_GROUP.CRAPS\r\n || this.gameGroupId === GAME_GROUP.KENO\r\n || this.gameGroupId === GAME_GROUP.CARRIBEAN_POKER\r\n || this.gameGroupId === GAME_GROUP.POKER_TEMPLATE_GAMES\r\n || this.gameGroupId === GAME_GROUP.ROULETTE_LIKE\r\n || this.gameGroupId === GAME_GROUP.ARCADE\r\n || this.gameGroupId === GAME_GROUP.POWER_VIDEO_POKER\r\n || this.gameGroupId === GAME_GROUP.PAI_GOW_POKER\r\n || this.gameGroupId === GAME_GROUP.CRAZY_BLACKJACK\r\n }\r\n\r\n get externalGameCode(): NullableString {\r\n return this._rawGameData.externalGameCode;\r\n }\r\n\r\n get themeIds(): number[] {\r\n return this._rawGameData.gameThemes ?? [];\r\n }\r\n\r\n get volatility(): GAME_VOLATILITY {\r\n return this._rawGameData.volatility;\r\n }\r\n}\r\n","import {AdminArenaConfiguration} from \"../../app-bootstrap/config-interfaces/casino-startup.configurations\";\r\nimport {createStatementsDefinition} from './create-statements-definition';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nenum List_Type {\r\n Swipers = \"swipers\",\r\n Grids = \"grids\",\r\n PopularTables = \"popularTables\"\r\n}\r\n\r\nexport function injectAdminArenas(\r\n originalConfigData: any,\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration}\r\n): void {\r\n\r\n if (originalConfigData.homePage) {\r\n originalConfigData.homePage.gamesLists = getAdminArenaLists(\r\n adminArenaConfigData,\r\n HOME_PAGE_ARENA,\r\n List_Type.Swipers\r\n );\r\n }\r\n\r\n if (originalConfigData.arenas) {\r\n Object.keys(originalConfigData.arenas).forEach(arenaKey => {\r\n\r\n if (arenaKey === LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].popularTables = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.PopularTables\r\n );\r\n } else if (arenaKey === NEW_LIVE_CASINO_ARENA_NAME) {\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n else {\r\n originalConfigData.arenas[arenaKey].swiperGamesList = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Swipers\r\n );\r\n originalConfigData.arenas[arenaKey].allGamesGrid = getAdminArenaLists(\r\n adminArenaConfigData,\r\n arenaKey,\r\n List_Type.Grids\r\n );\r\n }\r\n\r\n });\r\n }\r\n}\r\n\r\n\r\nfunction getAdminArenaLists(\r\n adminArenaConfigData: {[key: string]: AdminArenaConfiguration},\r\n arenaKey: string,\r\n listType: string\r\n) {\r\n let adminLists: unknown[] = [];\r\n if (adminArenaConfigData[arenaKey] && adminArenaConfigData[arenaKey].lists[listType]) {\r\n adminArenaConfigData[arenaKey].lists[listType].forEach(list => {\r\n let currentList = list.Metadata ?? {};\r\n\r\n currentList.display = Check.isNullOrUndefined(currentList.display) ? true : currentList.display;\r\n\r\n let segmentation = createStatementsDefinition(list.SubLists);\r\n currentList.gamesId = {};\r\n currentList.gamesId.defaultValue = segmentation.defaultValue;\r\n currentList.gamesId.statements = segmentation.statements;\r\n\r\n adminLists.push(currentList);\r\n });\r\n }\r\n\r\n return adminLists;\r\n}\r\n","import {GamesMap, IGameImageSize, IGamesService, RecentlyPlayedGames} from './games.service.interface';\r\nimport {GameInfo} from './game-info';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\n\r\nexport class GamesService extends ServiceBase implements IGamesService {\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => this.services.user.isAuthorized,\r\n () => {\r\n this._updateGamesMapPromise = this._updateGamesMap()\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n\r\n this.services.sdk.events.onRecentlyPlayedGamesUpdated(this._updateRecentlyPlayedGames);\r\n }\r\n\r\n\r\n @observable.ref\r\n gamesMap: GamesMap = {};\r\n @action.bound\r\n private _setGamesMap(gamesMap: GamesMap): void {\r\n this.gamesMap = gamesMap;\r\n }\r\n\r\n @observable.ref\r\n recentlyPlayedGames: RecentlyPlayedGames = {\r\n isInitialized: false,\r\n gameTypes: []\r\n };\r\n\r\n @action.bound\r\n private _updateRecentlyPlayedGames(gameTypes: number[]): void {\r\n if(!this.recentlyPlayedGames.isInitialized\r\n || !this.services.sdk.getUtils().arraysAreEqual(this.recentlyPlayedGames.gameTypes, gameTypes)) {\r\n this.recentlyPlayedGames = {\r\n isInitialized: true,\r\n gameTypes: gameTypes\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n private async _buildGamesMap(sdkGamesInfo: any): Promise {\r\n\r\n let aboutTexts = await this._getGamesAboutTexts();\r\n\r\n let gamesMap: GamesMap = {};\r\n\r\n const usedGameTypesBySiteMap = this.services.configuration.usedGameTypesBySite.reduce((accumulator, gt) => {\r\n accumulator[gt] = true;\r\n return accumulator;\r\n }, {});\r\n\r\n Object.keys(sdkGamesInfo).forEach(gameType => {\r\n try {\r\n // filter only in-layout games\r\n if (usedGameTypesBySiteMap[gameType]) {\r\n let sdkInfo = sdkGamesInfo[gameType];\r\n let generalSettings = this.services.configuration.data.generalSettings;\r\n let gameTagInfo = (generalSettings && generalSettings.gamesSettings && generalSettings.gamesSettings.gamesTags && generalSettings.gamesSettings.gamesTags[gameType]) || {};\r\n\r\n // for now, rawGameData will contain also gameTagInfo properties - which are read by adminClient settings\r\n // moreover, we'll add a new property on it regarding allowSwitchToDemo\r\n let rawGameData = Object.assign(sdkInfo, gameTagInfo);\r\n let gameInfo = new GameInfo(rawGameData, this.services, aboutTexts[gameType]);\r\n\r\n gamesMap[gameInfo.gameType] = gameInfo;\r\n \r\n }\r\n } catch(err) {\r\n this.services.logger.error(`Failed to generate GameInfo for game type ${gameType}`, err);\r\n }\r\n\r\n });\r\n\r\n return gamesMap;\r\n }\r\n\r\n private _gamesAboutTexts: {[key: string]: string} | null = null;\r\n\r\n private async _getGamesAboutTexts(): Promise<{[key: string]: string}> {\r\n if(this._gamesAboutTexts) {\r\n return this._gamesAboutTexts;\r\n }\r\n let gamesAboutTextConfigPath = this.services.configuration.data.generalSettings.gamesSettings.gamesAboutTextPath;\r\n\r\n //if there is no about path (not supported in this regulation) - we prevent the http call\r\n if(!gamesAboutTextConfigPath){\r\n this._gamesAboutTexts = {};\r\n return this._gamesAboutTexts;\r\n }\r\n\r\n let gamesAboutTextUrl = '';\r\n\r\n try {\r\n gamesAboutTextUrl = gamesAboutTextConfigPath.replace('{currentLanguage}', this.services.language.currentLanguage);\r\n let aboutTextsJson = await this.services.http.get(gamesAboutTextUrl);\r\n\r\n if(Check.isNullOrUndefined(aboutTextsJson) || Object.keys(aboutTextsJson).length === 0) {\r\n this.services.logger.warning(`No games about texts returned from ${gamesAboutTextUrl}`);\r\n }\r\n this._gamesAboutTexts = aboutTextsJson || {};\r\n\r\n return this._gamesAboutTexts!;\r\n } catch (err) {\r\n if(err && ('statusCode' in err) && err.statusCode === 404) {\r\n // NB: Ignore 404s, usually for things like spa_about.json that actually shouldn't exist.\r\n return {};\r\n }\r\n this.services.logger.error(`Failed to read games about texts from ${gamesAboutTextUrl}`, err);\r\n return {};\r\n }\r\n\r\n\r\n }\r\n\r\n private _updateGamesMapPromise: Promise = Promise.resolve();\r\n\r\n getGamesMapUpdatePromise(): Promise {\r\n return this._updateGamesMapPromise;\r\n }\r\n\r\n private async _updateGamesMap(): Promise {\r\n let usedGameTypesBySite = this.services.configuration.usedGameTypesBySite || [];\r\n if(usedGameTypesBySite.length === 0) {\r\n this.services.logger.error(`configuration.usedGameTypesBySite returned empty array`);\r\n return;\r\n }\r\n\r\n const gamesMap = await this._getGamesInfoMap(usedGameTypesBySite);\r\n\r\n this._setGamesMap(gamesMap);\r\n }\r\n\r\n async _getGamesInfoMap(gameTypes: number[]): Promise {\r\n try {\r\n let sdkGamesInfo = await this.services.sdk.getGamesInfo(gameTypes);\r\n \r\n return await this._buildGamesMap(sdkGamesInfo);\r\n } catch (err) {\r\n this.services.logger.error(`sdk.getGamesInfo failed in GamesService.getGamesInfo`, err);\r\n return {};\r\n }\r\n }\r\n\r\n async getGamesInfoMap(gameTypes: number[]): Promise {\r\n if (!gameTypes || gameTypes.length === 0) {\r\n return {};\r\n }\r\n\r\n // fill data from cache (if cache found)\r\n if (Object.keys(this.gamesMap).length > 0) {\r\n const inCacheGames = gameTypes.filter((gt) => this.gamesMap[gt]);\r\n const result = inCacheGames.reduce((acc, gt) => {acc[gt] = this.gamesMap[gt]; return acc;}, {});\r\n return result;\r\n } else {\r\n // otherwise fill it from SDK\r\n return this._getGamesInfoMap(gameTypes);\r\n }\r\n }\r\n\r\n async getGamesInfoForHistory(gameTypes: number[]): Promise {\r\n let sdkGamesInfo = await this.services.sdk.getGamesInfoForHistory(gameTypes);\r\n\r\n let gamesMap: GamesMap = {};\r\n Object.keys(sdkGamesInfo).forEach(gameType => {\r\n let rawGameData = Object.assign(sdkGamesInfo[gameType], this.gamesMap[gameType]);\r\n gamesMap[gameType] = new GameInfo(rawGameData, this.services, '')\r\n });\r\n return gamesMap;\r\n }\r\n\r\n async getGamesInfoArray(gameTypes: number[]): Promise {\r\n let gamesMap = await this.getGamesInfoMap(gameTypes);\r\n\r\n const result: GameInfo[] = [];\r\n for(let i = 0; i < gameTypes.length; i++) {\r\n const gameType = gameTypes[i];\r\n if (gamesMap[gameType]) {\r\n result.push(gamesMap[gameType]);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n async getGameInfo(gameType: number) {\r\n const gamesMap = await this.getGamesInfoMap([gameType]);\r\n if(gamesMap) {\r\n return gamesMap[gameType];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n async getCorrelatedGames(gameType: number, numberOfGames: number): Promise {\r\n try {\r\n return await this.services.sdk.getCorrelatedGames(gameType, numberOfGames);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to get from SDK the correlated games for game type ${gameType}`, err);\r\n return [];\r\n }\r\n }\r\n\r\n getGameImageExpectedSizes(useSquareIcons?: boolean, animated?: boolean): IGameImageSize {\r\n if (useSquareIcons) {\r\n if (animated) {\r\n return {\r\n width: 210,\r\n height: 292\r\n };\r\n }\r\n return {\r\n width: 400,\r\n height: 555\r\n };\r\n }\r\n\r\n return {\r\n width: 210,\r\n height: 210\r\n };\r\n }\r\n}\r\n","import {ConfigurationEvaluationContext} from './evaluation/configuration-evaluation-context/configuration-evaluation-context';\r\nimport {PropertiesEvaluator} from './evaluation/properties-evaluator/properties-evaluator';\r\nimport {IConfigurationData} from './configuration-data.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IConfigurationService} from './configuration.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {LIVE_CASINO_ARENA_NAME, NEW_GAMES_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from '../arenas/arena-consts';\r\nimport { observable, runInAction, makeObservable } from 'mobx';\r\nimport {ApplicationStartupConfigurations} from '../../app-bootstrap/config-interfaces/application-startup.configurations';\r\nimport {IConfigurationEvaluationDataProvider} from './evaluation/configuration-evaluation-context/configuration-evaluation-data-provider.interface';\r\nimport {injectAdminArenas} from './inject-admin-arenas';\r\nimport {HomePageHeaderArena} from \"./config-data-sections/home-page.configuration\";\r\nimport {IServicesConfigurations} from './config-data-sections/services-configurations';\r\nimport {ListConfiguration, SwiperGamesListConfiguration} from \"./config-data-sections/arenas.configuration\";\r\n\r\n\r\ntype GameTypesMap = {[key: number]: number};\r\n\r\nexport class ConfigurationsService extends ServiceBase implements IConfigurationService {\r\n\r\n startupConfiguration: ApplicationStartupConfigurations;\r\n\r\n constructor(services: IServiceFactoryExtended, startupConfigs: ApplicationStartupConfigurations) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.startupConfiguration = startupConfigs;\r\n\r\n this._createConfigData();\r\n }\r\n\r\n private _getConfigEvaluationContextServices(): IConfigurationEvaluationDataProvider {\r\n return {\r\n admin: this.startupConfiguration.admin,\r\n configurationPath: this.startupConfiguration.configurationPath,\r\n getLauncherGames: () => this.services.launcher.getTestedGames(),\r\n getSegmentValue: (segmentName) => this.services.segmentation.getSegmentValue(segmentName),\r\n logger: this.services.logger\r\n };\r\n }\r\n\r\n private _createConfigData(): void {\r\n let originalConfigData = this.startupConfiguration.orbit.config;\r\n if (this.startupConfiguration.admin && this.startupConfiguration.admin.arenas) {\r\n injectAdminArenas(originalConfigData, this.startupConfiguration.admin.arenas);\r\n }\r\n\r\n let context = new ConfigurationEvaluationContext(this._getConfigEvaluationContextServices());\r\n let configEvaluator = PropertiesEvaluator.fromRoot(originalConfigData, context);\r\n let data = configEvaluator.evaluate(context);\r\n this._defineCustomConfigProperty(data,\r\n 'allGamesTypes',\r\n () => {\r\n let gameTypes: number[] = [];\r\n let gamesTags = (data.generalSettings && data.generalSettings.gamesSettings && data.generalSettings.gamesSettings.gamesTags) || {};\r\n Object.getOwnPropertyNames(gamesTags).forEach(gt => {\r\n let gameType = parseInt(gt);\r\n if (!isNaN(gameType)) {\r\n gameTypes.push(gameType);\r\n }\r\n });\r\n return gameTypes;\r\n });\r\n\r\n\r\n runInAction(() => {\r\n this.data = data as IConfigurationData;\r\n });\r\n }\r\n\r\n\r\n private _defineCustomConfigProperty(configData: unknown, propertyName: string, evaluator: () => unknown) {\r\n Object.defineProperty(configData, propertyName, {\r\n get: evaluator,\r\n configurable: false\r\n });\r\n\r\n }\r\n\r\n @observable.ref\r\n data: IConfigurationData;\r\n\r\n get userSelectedState(): string {\r\n return this.startupConfiguration.userSelectedState;\r\n }\r\n\r\n get cmsPublicationId(): number {\r\n return this.startupConfiguration.b2c.publicationId;\r\n }\r\n\r\n get usedGameTypesBySite(): number[] {\r\n\r\n let gameTypesMap = {...this._getUsedGamesByHomePage(), ...this._getUsedGamesByArenas(), ...this._getUsedGameTypesByLiveGamesArena(), ...this._getUsedGameTypesByNewLiveGamesArena()};\r\n\r\n return Object.values(gameTypesMap);\r\n }\r\n\r\n private _getUsedGamesByHomePage(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n (this.data.homePage.gamesLists || []).forEach(gamesList => {\r\n if (gamesList.display) {\r\n let gamesIds = gamesList.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n })\r\n }\r\n\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGamesByArenas(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n Object.keys(this.data.arenas).forEach(arenaName => {\r\n let arenaConfig = this.data.arenas[arenaName];\r\n // game types from swipers\r\n (arenaConfig.swiperGamesList || []).forEach(swiperConfig => {\r\n if (swiperConfig.display) {\r\n let gamesIds = swiperConfig.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n });\r\n }\r\n\r\n }\r\n });\r\n\r\n // game types from all games grid\r\n (arenaConfig.allGamesGrid || []).forEach(gamesGridConfig => {\r\n if (gamesGridConfig.display) {\r\n let gamesIds = gamesGridConfig.gamesId || [];\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameType => {\r\n result[gameType] = gameType;\r\n });\r\n }\r\n }\r\n });\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGameTypesByLiveGamesArena(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n\r\n let liveCasinoArenaConfig = this.data.arenas[LIVE_CASINO_ARENA_NAME];\r\n if (!liveCasinoArenaConfig) {\r\n return result;\r\n }\r\n\r\n let gamesIds = liveCasinoArenaConfig.arenas && liveCasinoArenaConfig.arenas.gamesId;\r\n\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameTypeConfig => {\r\n if (gameTypeConfig.display) {\r\n result[gameTypeConfig.gameId] = gameTypeConfig.gameId;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n let popularTablesConfig = liveCasinoArenaConfig.popularTables;\r\n if (Check.isArray(popularTablesConfig)) {\r\n popularTablesConfig.forEach(tableConfig => {\r\n let tableGamesIds = tableConfig.gamesId || [];\r\n if (Check.isArray(tableGamesIds)) {\r\n tableGamesIds.forEach(gameType => result[gameType] = gameType);\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _getUsedGameTypesByNewLiveGamesArena(): GameTypesMap {\r\n let result: GameTypesMap = {};\r\n\r\n let liveCasinoArenaConfig = this.data.arenas[NEW_LIVE_CASINO_ARENA_NAME];\r\n if (!liveCasinoArenaConfig) {\r\n return result;\r\n }\r\n\r\n let gamesIds = liveCasinoArenaConfig.arenas && liveCasinoArenaConfig.arenas.gamesId;\r\n\r\n if (Check.isArray(gamesIds)) {\r\n gamesIds.forEach(gameTypeConfig => {\r\n if (gameTypeConfig.display) {\r\n result[gameTypeConfig.gameId] = gameTypeConfig.gameId;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n let popularTablesConfig = liveCasinoArenaConfig.popularTables;\r\n if (Check.isArray(popularTablesConfig)) {\r\n popularTablesConfig.forEach(tableConfig => {\r\n let tableGamesIds = tableConfig.gamesId || [];\r\n if (Check.isArray(tableGamesIds)) {\r\n tableGamesIds.forEach(gameType => result[gameType] = gameType);\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n resolveConfigurationValue(fullPath: string): string {\r\n let objectValue: any = this.data;\r\n let fullPathArray = fullPath.split('.');\r\n\r\n for (let objectKey of fullPathArray) {\r\n objectValue = objectValue[objectKey];\r\n }\r\n\r\n return (objectValue as string) || '';\r\n }\r\n\r\n\r\n buildConfigUrl(fileName: string): string {\r\n let configurationPath = this.startupConfiguration.configurationPath;\r\n if (!configurationPath.endsWith('/')) {\r\n configurationPath += '/';\r\n }\r\n return configurationPath + fileName;\r\n }\r\n\r\n resolveGameImagePath(imageFileName: string): string {\r\n if (Check.isEmpty(imageFileName)) {\r\n return '';\r\n }\r\n\r\n let imagesBasePath = this.startupConfiguration.sdk.config.ExtraProperties.paths.gamesImages; //paths.gamesImages is used by cypress environment\r\n if (imagesBasePath) {\r\n if (!imagesBasePath.endsWith('/')) {\r\n imagesBasePath += '/';\r\n }\r\n return imagesBasePath + imageFileName;\r\n } else {\r\n let serverPath = this.startupConfiguration.sdk.config.ExtraProperties.paths.server;\r\n if (!serverPath.endsWith('/')) {\r\n serverPath += '/';\r\n }\r\n return serverPath + 'gamesImages/' + imageFileName;\r\n }\r\n }\r\n\r\n resolveJsFilePath(fileName: string): string {\r\n if (Check.isEmpty(fileName)) {\r\n return '';\r\n }\r\n let serverPath = this.startupConfiguration.sdk.config.ExtraProperties.paths.server;\r\n let path = serverPath ? serverPath : this.services.window.origin;\r\n if (!path.endsWith('/')) {\r\n path += '/';\r\n }\r\n return (path + `js/${fileName}`);\r\n }\r\n\r\n getFontsPath(): string {\r\n return new URL(this.startupConfiguration.sdk.config.ExtraProperties.paths.server + \"/assets/fonts/\").href;\r\n }\r\n\r\n getGamesListByJackpotId(id: string): SwiperGamesListConfiguration {\r\n\r\n const homePageGamesLists = this.data.homePage.gamesLists || [];\r\n for (let i = 0; i < homePageGamesLists.length; i++) {\r\n let gamesList = homePageGamesLists[i];\r\n if (gamesList.jackpotWidget?.jackpotId) {\r\n let gamesIds = gamesList.gamesId || [];\r\n if (Check.isArray(gamesIds) && gamesList.jackpotWidget.jackpotId.toString() === id) {\r\n return gamesList;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n getSelfUpdatedByNewestGamesList(): ListConfiguration {\r\n const newGameArenaConfig = this.data.arenas[NEW_GAMES_ARENA_NAME];\r\n if (!newGameArenaConfig) {\r\n return null;\r\n }\r\n\r\n const gamesLists: ListConfiguration[] = (newGameArenaConfig.swiperGamesList || []).concat(newGameArenaConfig.allGamesGrid || []);\r\n const firstSelfUpdatedByNewest = gamesLists.find(listConfig => listConfig.display && listConfig.isSelfUpdatedByNewest);\r\n return firstSelfUpdatedByNewest;\r\n }\r\n\r\n private _getCurrentArenaLists() {\r\n const arenaType = this.services.routing.currentRoute.data?.arenaType;\r\n const lists = Check.isNullOrUndefined(arenaType) || arenaType === \"homePage\" ?\r\n this.data.homePage.gamesLists :\r\n this.services.configuration.data.arenas[arenaType].swiperGamesList;\r\n return lists;\r\n }\r\n\r\n getGamesListByTitle(title: string): SwiperGamesListConfiguration {\r\n const lists = this._getCurrentArenaLists();\r\n return lists?.find(list => list.title.toUpperCase() === title.toUpperCase());\r\n }\r\n\r\n getGamesListById(id: number): SwiperGamesListConfiguration {\r\n const lists = this._getCurrentArenaLists();\r\n return lists?.find(list => list.listId === id);\r\n }\r\n\r\n getHomePageHeaderArenas(): HomePageHeaderArena[] {\r\n let homePageHeaderArenas: HomePageHeaderArena[] = [];\r\n this.data.homePage.headerArenasOrder.forEach(name => {\r\n const arenaHeader = this.data.arenas[name].homepageHeader;\r\n if (arenaHeader) {\r\n homePageHeaderArenas.push(arenaHeader);\r\n }\r\n });\r\n return homePageHeaderArenas;\r\n }\r\n\r\n getHomePageHeaderArenasByUserOrientation(arenaNames: string[]): HomePageHeaderArena[] {\r\n let orderedArenas: HomePageHeaderArena[] = [];\r\n arenaNames.forEach(arenaName => {\r\n const arenaConfig: HomePageHeaderArena = this.data.arenas[arenaName] && this.data.arenas[arenaName].homepageHeader;\r\n if (arenaConfig) {\r\n orderedArenas.push(arenaConfig);\r\n }\r\n });\r\n return orderedArenas;\r\n }\r\n\r\n get servicesConfigs(): IServicesConfigurations {\r\n return this.services.sdk.getConfigs();\r\n }\r\n}\r\n","export enum LIST_TYPE_ID {\r\n STICKINESS = 0,\r\n BETS = 2,\r\n ACTIVE_USERS = 1\r\n}","import {IUserService} from './user.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UserData} from '../sdk/sdk.service.interface';\r\nimport {Check, TimeSpan} from '@sparkware/app-utils';\r\nimport {OnOauthStateChangedParams} from '../sdk/sdk-events';\r\nimport {GetPlatformTokenResponse} from \"../sdk/cgp-sdk.interface\";\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport MIGRATION from \"../../../common/const/migration_consts\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\nconst AUTOLOGIN_QUERY_PARAM = 'UserInfo';\r\n\r\nexport class UserService extends ServiceBase implements IUserService {\r\n\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.waitForAutoLogin();\r\n this._updateUserData({});\r\n this.services.sdk.events.onOAuthStateChanged(this._updateUserData);\r\n }\r\n\r\n @observable.ref\r\n isAuthorized: boolean = false;\r\n @observable.ref\r\n logoutReason: number = null;\r\n\r\n\r\n @observable.ref\r\n private _userData: UserData = {};\r\n\r\n @action.bound\r\n private _updateUserData(params: OnOauthStateChangedParams) {\r\n\r\n params = params || {};\r\n\r\n this.isAuthorized = this.services.sdk.isAuthorized;\r\n\r\n if (Check.isNullOrUndefined(params.logoutReason)) {\r\n this.logoutReason = null;\r\n } else {\r\n this.logoutReason = params.logoutReason;\r\n }\r\n\r\n const userData = (this.services.sdk.userData || {}) as UserData;\r\n\r\n if (!this.isAuthorized) {\r\n const playerStatus = this.services.localStorage.getItem('playerStatus');\r\n this.services.window.scrollTo(0,0);\r\n this._userData = {...userData, statusGroupId: (playerStatus ? parseInt(playerStatus): undefined)};\r\n } else {\r\n this._userData = userData;\r\n this.services.localStorage.setItem('playerStatus', userData.statusGroupId);\r\n\r\n this._checkForFaultyCStatus();\r\n }\r\n\r\n this._updateSegments();\r\n }\r\n\r\n // REQUIREMENT 1627624 - check if cStatus if false but user is logged in or FTD\r\n private _checkForFaultyCStatus() {\r\n const cStatus = this.services.cmsSegmentation.isCstatus;\r\n\r\n //cStatus is CMS segmentation indicates if the user is registered or FDL\r\n if (this.isAuthorized && cStatus === false) {\r\n //this.services.analytics.sendAnalytics(\"ERROR\", \"LOGGED_IN_CSTATUS_FALSE\", this.userData.cid);\r\n console.log('_checkForFaultyCStatus: ' + cStatus);\r\n }\r\n }\r\n\r\n @action.bound\r\n private _updateSegments() {\r\n this.segments = {\r\n IsAuthorized: this.isAuthorized,\r\n statusGroupId: this._userData.statusGroupId || 0,\r\n IsVIP: this._userData.IsVIP || false,\r\n GenderId: this._userData.GenderId || null,\r\n DaysSinceRegistration: this.daysSinceRegistration,\r\n RegistrationCountry: this.registrationCountry?.toLowerCase()\r\n }\r\n }\r\n\r\n @observable.ref\r\n segments = {};\r\n\r\n\r\n get hasActiveChallenges(): boolean {\r\n return this.services.sdk.activeChallengeCount > 0;\r\n }\r\n\r\n\r\n get name(): string {\r\n return this._userData.userName || '';\r\n }\r\n\r\n\r\n get cid(): string {\r\n return this._userData.cid || '';\r\n }\r\n\r\n get registrationCountry(): string {\r\n return this._userData.registrationCountry;\r\n }\r\n\r\n get joinDate(): string {\r\n return this._userData.joinDate;\r\n }\r\n\r\n get userData() {\r\n return this._userData;\r\n }\r\n\r\n get isVip(): boolean {\r\n return (this._userData.statusGroupId > 0 && this._userData.statusGroupId !== 4);\r\n }\r\n\r\n get timeSinceRegistration(): TimeSpan {\r\n if (!this._userData)\r\n return null;\r\n if (!this._userData.timeSinceRegistration)\r\n return null;\r\n return TimeSpan.parse(this._userData.timeSinceRegistration);\r\n }\r\n\r\n get daysSinceRegistration(): number {\r\n if (this.timeSinceRegistration)\r\n return this.timeSinceRegistration.totalDays;\r\n\r\n return Infinity;\r\n }\r\n\r\n get playerRMSStatus(): number {\r\n return this._userData.playerRMStatus;\r\n }\r\n\r\n get countryName(): string {\r\n return this.services.sdk.getCountryName();\r\n }\r\n\r\n getAutoLoginToken(): Promise {\r\n return this.services.sdk.getAutoLoginToken().then(data => data.token);\r\n }\r\n\r\n getPlatformToken(): Promise {\r\n return this.services.sdk.getPlatformToken();\r\n }\r\n\r\n getFirebaseToken(): string {\r\n return this.services.sdk.getFirebaseToken();\r\n }\r\n\r\n async openLogin(marketingParams?: MarketingParams): Promise {\r\n await this.services.sdk.openLoginForm(marketingParams);\r\n }\r\n\r\n isDocUploadRequired(): boolean {\r\n return this.services.sdk.getAccountData()?.IsDocUploadRequired;\r\n }\r\n\r\n logout(): Promise {\r\n return this.services.sdk.logout();\r\n }\r\n\r\n get genderTitle(): string {\r\n switch (this._userData.GenderId) {\r\n case 1:\r\n return 'MR_TITLE';\r\n case 2:\r\n return 'MRS_TITLE';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n\r\n private _isInAutoLogin(): boolean {\r\n return this.services.sdk.isInAutologin();\r\n }\r\n\r\n waitForAutoLogin(): Promise {\r\n\r\n if (!this._isInAutoLogin()) {\r\n return Promise.resolve();\r\n }\r\n\r\n\r\n return this.services.sdk.waitForAutologin()\r\n .then(() => {\r\n return this._removeAutoLoginTokenFromUrl()\r\n .catch((err) => {\r\n this.services.logger.error('Remove auto login token from URL failed!', err);\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n async ensureUserIsLoggedIn(initiator:string): Promise {\r\n await this.waitForAutoLogin();\r\n\r\n if (!this.isAuthorized) {\r\n try {\r\n await this.openLogin();\r\n } catch (err) {\r\n this.services.logger.debug(initiator + \" - login cancelled or failed.\", err);\r\n }\r\n }\r\n return this.isAuthorized;\r\n }\r\n\r\n\r\n private _removeAutoLoginTokenFromUrl(): Promise {\r\n let paramToBeRemoved: string = AUTOLOGIN_QUERY_PARAM;\r\n const currentUri = this.services.location.currentUri;\r\n if (currentUri.queryParams.hasParam(MIGRATION.MIGRATION_TOKEN_QUERY_PARAM)\r\n && currentUri.queryParams.getParamValue(MIGRATION.MIGRATION_SOURCE_QUERY_PARAM)?.toLowerCase() === MIGRATION.MIGRATION_SOURCE_QUERY_PARAM_VALUE) {\r\n paramToBeRemoved = MIGRATION.MIGRATION_TOKEN_QUERY_PARAM;\r\n }\r\n const urlWithoutToken = currentUri.removeSearchParam(paramToBeRemoved).toString();\r\n return this.services.location.replace(urlWithoutToken);\r\n }\r\n\r\n\r\n runAutoLogin(autoLoginParams: IAutoLoginParams): Promise {\r\n return this.services.sdk.runAutoLogin(autoLoginParams);\r\n }\r\n\r\n panicRestrictUser(): Promise {\r\n const offset = this.services.time.getTimezoneOffset();\r\n\r\n return this.services.api.userController.selfExclusionPanic({\r\n timezoneOffset: offset,\r\n productPackage: this.services.sdk.getProductPackageId()\r\n }).then(() => {\r\n this.logout();\r\n }).catch((err) => {\r\n this.services.sdk.structuredLoggingService\r\n .getLogger()\r\n .addCategory(\"PANIC SELF EXCLUSION\")\r\n .addAction(\"SelfExclusion fails\")\r\n .addValue(JSON.stringify(err))\r\n .error();\r\n this.logout();\r\n this.services.logger.error('Self Exclusion Panic Failed.', err);\r\n });\r\n }\r\n\r\n get loginIP(): string | null {\r\n return this.services.sdk.tokenInfo?.loginIP;\r\n }\r\n\r\n async getOpenSessionsRealMoneyBalance(): Promise {\r\n if(!this.isAuthorized) {\r\n return 0;\r\n }\r\n\r\n\r\n const openSessions = await this.services.api.openSessionsController.getOpenSessions({\r\n includeFreePlaySessions: false\r\n });\r\n\r\n return openSessions.sessionDetails.sum(s => s.Credit);\r\n\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.services.gnwp.getTempAccountGnwpSource();\r\n }\r\n\r\n}\r\n","import {ServiceBase} from \"../ServiceBase\";\r\nimport {IBrowserButtonsHandlerService} from \"./broswer-buttons-handler.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport Device from \"../../../sdk/src/utils/device/device\";\r\n\r\nexport class BrowserButtonsHandlerService extends ServiceBase implements IBrowserButtonsHandlerService {\r\n\r\n private pushedFakeHistoryState: boolean = false;\r\n\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n this._subscribe();\r\n }\r\n\r\n private _subscribe() {\r\n // this._handleSideMenusCloseOnBackButtonClick();\r\n }\r\n\r\n private _handleSideMenusCloseOnBackButtonClick() {\r\n\r\n this.reaction(() => ({\r\n isMobileSideMenuOpen: this.services.sideMenu.isMobileMenuOpen,\r\n isUserAreaMenuOpen: this.services.userMenu.isOpen,\r\n }),\r\n ({isMobileSideMenuOpen, isUserAreaMenuOpen}) => {\r\n if(!this.pushedFakeHistoryState && (isMobileSideMenuOpen || isUserAreaMenuOpen)){\r\n this.services.location.pushWithoutValidation(this.services.window.pathname);\r\n this.pushedFakeHistoryState = true;\r\n }else if(this.pushedFakeHistoryState && !isMobileSideMenuOpen && !isUserAreaMenuOpen){\r\n this.services.location.goBack();\r\n }\r\n });\r\n\r\n this._onBackButtonClicked(() => {\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.userMenu.closeMenu();\r\n });\r\n }\r\n\r\n private _onBackButtonClicked(callback){\r\n const _callback = (e) => {\r\n this.pushedFakeHistoryState = false;\r\n callback(e);\r\n }\r\n\r\n if(Device.hybrid.inCasino){\r\n return this.services.window.subscribeTo.hardwareBackButton(_callback);\r\n }\r\n\r\n return this.services.window.subscribeTo.popstate(_callback);\r\n }\r\n}","import {ISegmentationAggregatorService} from './segmentation-aggregator.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\n\r\nexport class SegmentationAggregatorService extends ServiceBase implements ISegmentationAggregatorService {\r\n constructor(serviceFactory: IServiceFactoryExtended) {\r\n super(serviceFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.reaction(\r\n () => {\r\n return {\r\n userSegments: this.services.user.segments,\r\n cmsSegments: this.services.cmsSegmentation.segments,\r\n deviceSegments: this.services.device.segments,\r\n isMobile: this.services.device.isMobile,\r\n isMiniOrbit: this.services.miniOrbit.isEnabled,\r\n isPWAInstallable: this.services.progressiveWebApp.isPWAInstallable\r\n }\r\n },\r\n () => {\r\n this._updateSegments();\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _updateSegments() {\r\n this._setAllSegments({\r\n ...this.services.cmsSegmentation.segments,\r\n ...this.services.user.segments,\r\n ...this.services.device.segments,\r\n ...this._extraSegments});\r\n }\r\n\r\n @observable.ref\r\n private _allSegments: Record = {};\r\n\r\n @observable.ref\r\n segmentsLastUpdate: number = null;\r\n\r\n\r\n @action.bound\r\n private _setAllSegments(allSegments) {\r\n this._allSegments = allSegments;\r\n this.segmentsLastUpdate = Date.now();\r\n }\r\n\r\n getSegmentValue(name: string): any {\r\n let segmentValue = this._allSegments[name];\r\n\r\n if(Check.isUndefined(segmentValue)) {\r\n this.services.logger.debug(`Segment ${name} doesn't exists in the segments list!`);\r\n }\r\n\r\n return segmentValue;\r\n }\r\n\r\n private get _extraSegments() {\r\n return {\r\n env: this.services.configuration.startupConfiguration.sdk.config.ExtraProperties.env,\r\n countryCode: this.services.configuration.startupConfiguration.country,\r\n brandID: this.services.sdk.getBrandID(),\r\n subBrandID: this.services.sdk.getSubBrandID(),\r\n regulationID: this.services.regulation.getRegulationCode(),\r\n iso3: this.services.language.currentLanguage,\r\n langCode: this.services.language.currentLanguage,\r\n isMiniOrbit: this.services.miniOrbit.isEnabled,\r\n isPWAInstallable: this.services.progressiveWebApp.isPWAInstallable\r\n };\r\n }\r\n\r\n get isCIS(): boolean {\r\n return Boolean(this.getSegmentValue('_IsCIS'));\r\n }\r\n\r\n get isCIP(): boolean {\r\n return Boolean(this.getSegmentValue('_IsCIP'));\r\n }\r\n\r\n}\r\n","import { IClientDeviceFeatures } from \"./client-device.features.interface\";\r\n\r\nexport class ClientDeviceFeatures implements IClientDeviceFeatures {\r\n}\r\n","import { action, observable, makeObservable } from \"mobx\";\r\nimport { IClientDeviceDetected } from \"./client-device.detected.interface\";\r\n\r\nexport class ClientDeviceDetected implements IClientDeviceDetected {\r\n @observable\r\n public clientHintsAvailable = false;\r\n @observable\r\n public model = \"\";\r\n @observable\r\n public architecture = \"\";\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public platform = \"\";\r\n @observable\r\n public platformVersion = \"\";\r\n @observable\r\n public bitness = \"\";\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public mobile = undefined;\r\n\r\n // this is sync data, no need to be observable, it's available from the begining\r\n @observable\r\n public brands = [];\r\n @observable\r\n public uaFullVersion = \"\";\r\n\r\n constructor() {\r\n makeObservable(this);\r\n\r\n this.buildInfo();\r\n }\r\n\r\n private get navigator() {\r\n return (window.navigator as any);\r\n }\r\n\r\n @action.bound\r\n private buildInfo() {\r\n if (this.navigator.userAgentData) {\r\n this.clientHintsAvailable = true;\r\n this.platform = this.navigator.userAgentData.platform;\r\n this.mobile = this.navigator.userAgentData.mobile;\r\n this.brands = this.navigator.userAgentData.brands;\r\n /* https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUAData/getHighEntropyValues */\r\n this.navigator.userAgentData.getHighEntropyValues([\r\n \"model\", \"architecture\", \"platform\", \"platformVersion\", \"bitness\", \"uaFullVersion\"\r\n ]).then(this.setAsyncdData);\r\n }\r\n }\r\n\r\n @action.bound\r\n private setAsyncdData = (data) => {\r\n this.platform = data.platform;\r\n this.platformVersion = data.platformVersion;\r\n this.mobile = data.mobile;\r\n\r\n this.model = data.model;\r\n this.uaFullVersion = data.uaFullVersion;\r\n this.architecture = data.architecture;\r\n this.bitness = data.bitness;\r\n };\r\n\r\n}\r\n","import { ServiceBase } from '../ServiceBase';\r\nimport { IClientDeviceService } from './client-device.service.interface';\r\nimport { IServiceFactoryExtended } from '../service-factory-extended.interface';\r\nimport { IClientDeviceDetected } from './detected/client-device.detected.interface';\r\nimport { IClientDeviceFeatures } from './features/client-device.features.interface';\r\nimport { ClientDeviceFeatures } from './features/client-device.features';\r\nimport { ClientDeviceDetected } from './detected/client-device.detected';\r\n\r\nexport class ClientDeviceService extends ServiceBase implements IClientDeviceService {\r\n public features: IClientDeviceFeatures;\r\n public detected: IClientDeviceDetected;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n this.features = new ClientDeviceFeatures();\r\n this.detected = new ClientDeviceDetected();\r\n }\r\n\r\n 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","import {IDeepLinkBuilder} from '../deep-link-builder.interface';\r\nimport {ICasinoLegacyDeepLinkActionChain} from '../../deep-link-actions/casino-legacy-deep-link-action-chain';\r\n\r\nexport class DeepLinkJsonObjectBuilder implements IDeepLinkBuilder {\r\n buildDeepLinkUrl(actionsChain: ICasinoLegacyDeepLinkActionChain): string {\r\n\r\n let deepLinkObject: any = {};\r\n let resultedMarketingParams: any = {};\r\n\r\n let currentActionIndex = -1;\r\n\r\n let currentActionsChainPointer: ICasinoLegacyDeepLinkActionChain | null = actionsChain;\r\n while(currentActionsChainPointer) {\r\n let actionPropName = '';\r\n let idPropName = '';\r\n\r\n if(currentActionIndex === -1) {\r\n actionPropName = 'action';\r\n idPropName = 'id'\r\n } else if(currentActionIndex === 0) {\r\n actionPropName = 'action_next';\r\n idPropName = 'id_next'\r\n } else {\r\n actionPropName = 'action_next' + currentActionIndex;\r\n idPropName = 'id_next' + currentActionIndex;\r\n }\r\n\r\n deepLinkObject[actionPropName] = currentActionsChainPointer.descriptor.action;\r\n if(currentActionsChainPointer.descriptor.actionParams && currentActionsChainPointer.descriptor.actionParams.id) {\r\n deepLinkObject[idPropName] = currentActionsChainPointer.descriptor.actionParams.id;\r\n }\r\n\r\n let marketingParams = currentActionsChainPointer.descriptor.marketingParams;\r\n if(marketingParams) {\r\n if(marketingParams.dl) {\r\n resultedMarketingParams.dl = marketingParams.dl;\r\n }\r\n\r\n if(marketingParams.wtc) {\r\n resultedMarketingParams.wtc = marketingParams.wtc;\r\n }\r\n }\r\n\r\n currentActionsChainPointer = currentActionsChainPointer.nextAction;\r\n currentActionIndex++;\r\n }\r\n\r\n if(Object.keys(deepLinkObject).length === 0) {\r\n return ''\r\n }\r\n\r\n deepLinkObject = {...deepLinkObject, ...resultedMarketingParams};\r\n\r\n // replace \" with ' - for some reason cause to JSON parsing to fail.\r\n const deepLinkObjectAfterConvert = JSON.stringify(deepLinkObject).split('\"').join('\\'')\r\n\r\n return \"#deeplink=\" + deepLinkObjectAfterConvert;\r\n }\r\n}\r\n","import {DeepLinkActionDescriptor, IDeepLinkParser} from '../deep-link-parser.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IDeepLinkBuilder} from '../../../deep-link-builders/deep-link-builder.interface';\r\nimport {DeepLinkJsonObjectBuilder} from '../../../deep-link-builders/deeplink-json-object-builder/deeplink-json-object-builder';\r\n\r\n\r\n\r\nexport class DeepLinkJsonObjectParser implements IDeepLinkParser {\r\n\r\n constructor(public deepLinkObject: any) {\r\n\r\n }\r\n\r\n\r\n getActionsDescriptors(): DeepLinkActionDescriptor[] {\r\n\r\n let marketingParams = {\r\n dl: this.deepLinkObject.dl,\r\n wtc: this.deepLinkObject.wtc\r\n };\r\n\r\n\r\n let result: DeepLinkActionDescriptor[] = [];\r\n\r\n result.push({\r\n action: this.deepLinkObject.action,\r\n marketingParams: marketingParams,\r\n actionParams: {\r\n id: this.deepLinkObject.id\r\n }\r\n });\r\n\r\n for(let i = 0; i <= 2; i++) {\r\n let actionNextPropName = i === 0 ? 'action_next' : 'action_next' + i;\r\n let idNextPropName = i === 0 ? 'id_next' : 'id_next' + i;\r\n\r\n if(!Check.isNullOrUndefined(this.deepLinkObject[actionNextPropName])) {\r\n let params = {\r\n id: this.deepLinkObject[idNextPropName],\r\n };\r\n\r\n result.push({\r\n action: this.deepLinkObject[actionNextPropName],\r\n marketingParams: marketingParams,\r\n actionParams: params\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n\r\n getDeepLinkBuilder(): IDeepLinkBuilder {\r\n return new DeepLinkJsonObjectBuilder();\r\n }\r\n\r\n}\r\n","export const DEEP_LINK_HASH_PARAM = 'deeplink=';","import {ServiceBase} from '../../../ServiceBase';\r\nimport {IDeepLinkParserService} from './deep-link-parser.service.interface';\r\nimport {IDeepLinkParser} from './parsers/deep-link-parser.interface';\r\nimport {DeepLinkJsonObjectParser} from './parsers/deep-link-json-object-parser/deep-link-json-object-parser';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {decodeUriComponentRecursive} from '../../../../../utils/url-utils';\r\nimport {DEEP_LINK_HASH_PARAM} from \"../../deeplink-consts\";\r\n\r\n\r\n\r\nexport const DEEP_LINK_QUERY_PARAM = 'deeplink';\r\nconst SPECIFIC_NAVIGATION = 'specificNavigation';\r\nconst SPECIFIC_NAVIGATION_PARAM = SPECIFIC_NAVIGATION + '=';\r\n\r\n\r\nexport class DeepLinkParserService extends ServiceBase implements IDeepLinkParserService {\r\n getParserFromCurrentRoute(): IDeepLinkParser | null {\r\n\r\n if(!this.services.location.currentUri) {\r\n return null;\r\n }\r\n\r\n let deepLinkJson = this._extractDeepLinkJsonFromFragment();\r\n\r\n\r\n if(!deepLinkJson) {\r\n deepLinkJson = this._extractDeepLinkJsonFromDeepLinkQueryParam();\r\n }\r\n\r\n let isDeepLinkFromSpecificNavigation = false;\r\n if(!deepLinkJson) {\r\n deepLinkJson = this._extractDeepLinkJsonFromSpecificNavigationQueryParam();\r\n if(deepLinkJson) {\r\n isDeepLinkFromSpecificNavigation = true;\r\n }\r\n }\r\n\r\n\r\n if(Check.isEmpty(deepLinkJson)) {\r\n return null;\r\n }\r\n\r\n try {\r\n let deepLinkObject: string | null = null;\r\n if(Check.isString(deepLinkJson)) {\r\n deepLinkObject = JSON.parse(deepLinkJson);\r\n } else if(Check.isObject(deepLinkJson)) {\r\n deepLinkObject = deepLinkJson;\r\n } else {\r\n return null;\r\n }\r\n\r\n if(this._isDeepLinkObject(deepLinkObject)) {\r\n return new DeepLinkJsonObjectParser(deepLinkObject);\r\n }\r\n\r\n return null;\r\n\r\n } catch (err) {\r\n if(isDeepLinkFromSpecificNavigation) {\r\n this.services.logger.info(`Current route specific navigation doesn't contain a deep link: ${this.services.location.currentUri.toString()}`);\r\n } else {\r\n this.services.logger.error(`Failed to parse deep link object from current route ${this.services.location.currentUri.toString()}`);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n\r\n getParserFromDeepLinkObject(deepLinkObject: any): IDeepLinkParser | null {\r\n if(this._isDeepLinkObject(deepLinkObject)) {\r\n return new DeepLinkJsonObjectParser(deepLinkObject);\r\n }\r\n return null;\r\n }\r\n\r\n private _isDeepLinkObject(obj: any): boolean {\r\n if(!Check.isObject(obj)) {\r\n return false;\r\n }\r\n\r\n if(!obj['action']){\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private _extractDeepLinkJsonFromFragment(): string | null {\r\n let fragment = this.services.location.currentUri.hash.value;\r\n if(!fragment) {\r\n return null;\r\n }\r\n\r\n fragment = decodeUriComponentRecursive(fragment);\r\n\r\n if(fragment.indexOf(DEEP_LINK_HASH_PARAM) !== 0 && fragment.indexOf(SPECIFIC_NAVIGATION_PARAM) !== 0) {\r\n return null;\r\n }\r\n\r\n return fragment.replace(DEEP_LINK_HASH_PARAM, '').replace(SPECIFIC_NAVIGATION_PARAM, '');\r\n }\r\n\r\n\r\n\r\n private _extractDeepLinkJsonFromDeepLinkQueryParam(): string | null {\r\n if (this.services.location.currentUri.queryParams.isEmpty) {\r\n return null;\r\n }\r\n\r\n return decodeUriComponentRecursive(this.services.location.currentUri.queryParams.getParamValue(DEEP_LINK_QUERY_PARAM) || '');\r\n }\r\n\r\n private _extractDeepLinkJsonFromSpecificNavigationQueryParam(): string | null {\r\n\r\n if (this.services.location.currentUri.queryParams.isEmpty) {\r\n return null;\r\n }\r\n\r\n return decodeUriComponentRecursive(this.services.location.currentUri.queryParams.getParamValue(SPECIFIC_NAVIGATION) || '');\r\n }\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IDeepLinkService} from './deep-link.service.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport { observable, reaction, runInAction, makeObservable } from 'mobx';\r\nimport {IReactionPublic} from 'mobx';\r\nimport {DEEP_LINK_QUERY_PARAM} from './legacy/deep-link-parsers/deep-link-parser.service';\r\nimport {ICasinoDeepLinkAction} from \"./casino-deep-link-action.interface\";\r\n\r\n\r\n\r\n/**\r\n Deep link can come from\r\n 1. route\r\n 2. SDK event\r\n 3. direct call window.orbit.deepLink\r\n 4. post message\r\n */\r\n\r\nexport class DeepLinkService extends ServiceBase implements IDeepLinkService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._subscribeToCurrentUriReaction(true);\r\n\r\n this.services.sdk.events.onDeepLinkReceived(this._executeDeepLinkFromSdkEvent);\r\n this.services.window.subscribeTo.postMessage(this._executeDeepLinkFromPostMessage);\r\n }\r\n\r\n\r\n private _subscribeToCurrentUriReaction(fireImmediately: boolean): void{\r\n reaction(() => this.services.location.currentUri,\r\n (arg, prev, reaction) => this._executeDeepLinkFromCurrentRoute(reaction),\r\n {\r\n fireImmediately: fireImmediately\r\n });\r\n }\r\n\r\n @observable.ref\r\n lastTimeDeepLinkWasExecuted: number;\r\n\r\n private _isExecuting: boolean = false;\r\n get isExecuting(): boolean {\r\n return this._isExecuting;\r\n }\r\n\r\n\r\n private async _waitForAutologin(): Promise {\r\n try {\r\n await this.services.user.waitForAutoLogin();\r\n } catch (err) {\r\n // we will continue the deep link flow if waiting for auto login to complete fails.\r\n // if there are any issues with the auto login probably the login screen will pop up\r\n // depending on the deep link action\r\n this.services.logger.error('Waiting for auto login to complete failed', err);\r\n }\r\n }\r\n\r\n private async _executeAction(action: ICasinoDeepLinkAction): Promise {\r\n if(this._isExecuting) {\r\n this.services.logger.error(`You tried to execute a deep link while another one is in progress. The following deep link will be ignored: ${JSON.stringify(action)}`);\r\n return;\r\n }\r\n this._isExecuting = true;\r\n\r\n try {\r\n await action.execute();\r\n } finally {\r\n this._isExecuting = false;\r\n runInAction(() => this.lastTimeDeepLinkWasExecuted = Date.now())\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n private async _executeDeepLinkFromCurrentRoute(reactionDisposer: IReactionPublic): Promise {\r\n\r\n\r\n try {\r\n reactionDisposer.dispose(); // we unsubscribe from this.services.location.currentUri reaction so if the currentUri changes inside the waitForAutoLogin or for any other reasons it will not trigger another deep link execution\r\n\r\n await this._waitForAutologin();\r\n\r\n // In case there is an auto login we want to create the deep link action after the auto login finishes\r\n // so any code that looks for isAuthorized during the action creation to find it on true\r\n let action = this.services.deepLinkActionsFactory.createActionFromCurrentRoute();\r\n if(!action) {\r\n return;\r\n }\r\n\r\n this.services.logger.debug('Execute deep link from current route: ' + this.services.location.currentUri.toString());\r\n\r\n const urlWithoutHash = this.services.location.currentUri.removeSearchParam(DEEP_LINK_QUERY_PARAM).getUrlWithoutHash();\r\n await this.services.location.replace(urlWithoutHash);\r\n\r\n await this._executeAction(action);\r\n\r\n } finally {\r\n this._subscribeToCurrentUriReaction(false);\r\n }\r\n\r\n\r\n }\r\n\r\n private _executeDeepLinkFromSdkEvent = async (deepLinkObject: any): Promise => {\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkObject);\r\n if(action) {\r\n this.services.logger.debug('Execute deep link object in _executeDeepLinkFromSdkEvent: ' + JSON.stringify(deepLinkObject));\r\n return this._executeAction(action);\r\n } else if (Check.isNullOrUndefined(deepLinkObject)){\r\n this.services.logger.warning(`${deepLinkObject} deep link object received from SDK DEEPLINK_RECEIVED event`);\r\n } else {\r\n this.services.logger.error(`Received deep link object from the SDK DEEPLINK_RECEIVED is not a valid deep link object. Received data: ${JSON.stringify(deepLinkObject)}`);\r\n }\r\n };\r\n\r\n async executeDeepLink(deepLinkObject: any, navigate?: any): Promise {\r\n if(!Check.isObject(deepLinkObject)) {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with a deepLinkObject argument that is not an object`);\r\n return;\r\n }\r\n if(Check.isEmpty(deepLinkObject)) {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with an empty deep deepLinkObject argument`);\r\n return;\r\n }\r\n\r\n this.services.logger.debug('Execute deep link object in executeDeepLink: ' + JSON.stringify(deepLinkObject));\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkObject);\r\n if(action) {\r\n if(Check.isString(navigate)) {\r\n this.services.location.push(navigate as string);\r\n } else if(Check.isArrayOfStrings(navigate)) {\r\n if(navigate.length > 0) {\r\n await this.services.location.push('/' + (navigate as Array).join('/'));\r\n }\r\n } else if(!Check.isNullOrUndefined(navigate)) {\r\n this.services.logger.error(`expecting _executeDeepLinkFromDirectCall to be called with a navigate parameter that is string or an array of strings but it was ${JSON.stringify(navigate)}`);\r\n }\r\n\r\n await this._executeAction(action);\r\n } else {\r\n this.services.logger.error(`_executeDeepLinkFromDirectCall was called with an invalid deep link object ${JSON.stringify(deepLinkObject)}`);\r\n }\r\n };\r\n\r\n private _executeDeepLinkFromPostMessage = async (postEvent: any): Promise => {\r\n let messageData = postEvent && postEvent.data;\r\n if(!messageData) {\r\n return;\r\n }\r\n\r\n if(messageData.ActionName !== 'deeplink') {\r\n return;\r\n }\r\n\r\n\r\n if(!messageData.data) {\r\n this.services.logger.error(`Received deep link post message action with ${messageData.data} data`);\r\n return;\r\n }\r\n\r\n let deepLinkJsonObject = null;\r\n\r\n try {\r\n deepLinkJsonObject = JSON.parse(messageData.data);\r\n } catch (err) {\r\n this.services.logger.error(`Failed to parse deep link object from post message: ${messageData.data}`, err);\r\n return;\r\n }\r\n\r\n await this._waitForAutologin();\r\n\r\n let action = this.services.deepLinkActionsFactory.createActionFromDeepLinkObject(deepLinkJsonObject);\r\n\r\n if(action) {\r\n this.services.logger.debug('Execute deep link object in _executeDeepLinkFromPostMessage: ' + messageData.data);\r\n return this._executeAction(action);\r\n } else {\r\n this.services.logger.error(`Received post message with invalid deep link object ${messageData.data}`);\r\n }\r\n\r\n }\r\n}\r\n\r\n","import {CmsUserSignature, DateAndTimeFormat, GameRawData, ITokenInfo} from './sdk.service.interface';\r\nimport {IRunningGameHandler} from '../games/running-game-handler.interface';\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {BalanceType} from \"../../../common/const/wallet_balance_type\";\r\nimport IStructuredLoggingService from \"../../../common/interfaces/structured-logging-service-interface\";\r\nimport {SdkOverlayZIndex} from \"../../../common/interfaces/sdk-overlay-z-index\";\r\nimport {IGeoLocationInfo} from \"../../../common/interfaces/geo-location-info.interface\";\r\nimport {GamingHistoryRecordRawData} from \"../gaming-history/gaming-history.service.interfce\";\r\nimport { IAbTestingFeatureProperties } from '../../../common/interfaces/ab-testing-interface';\r\nimport {IHybridService} from \"../hybrid/hybrid.service.interface\";\r\nimport {ILegacyRegulation} from \"../regulation/legacy-regulation.interface\";\r\nimport {NullableString} from \"../../../common/types/nullable-types\";\r\nimport ISdkGnwpService from \"../../../sdk/src/services/gnwp/gnwp_service_interface\";\r\nimport {IScriptLoaderService} from \"../scrip-loader/script-loader.service.interface\";\r\nimport {ISdkMessageButtonOptions} from '../../../common/interfaces/sdk-message-button-options';\r\nimport IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\ninterface OnEventParams {\r\n eventName: string;\r\n callback: Function;\r\n context: any;\r\n}\r\n\r\ninterface SendAnalyticsParams {\r\n category: string;\r\n action: string;\r\n label: string;\r\n value: string;\r\n omitStructuredLogger?: boolean\r\n}\r\n\r\ninterface GetAIListResponse {\r\n aiGameTypesArray: number[];\r\n aiEngine: string;\r\n}\r\n\r\n\r\n\r\n\r\nexport const CGP_EVENTS_NAMES = {\r\n ON_BEFORE_OAUTH_STATE_CHANGE: 'ON_BEFORE_OAUTH_STATE_CHANGE',\r\n OAUTH_STATE_CHANGE: 'OAUTH_STATE_CHANGE',\r\n RECENTLY_PLAYED_GAMES_UPDATED: 'RECENTLY_PLAYED_GAMES_UPDATED',\r\n AUTOLOGIN_SUCCESS: 'AUTOLOGIN_SUCCESS',\r\n AUTOLOGIN_FAILED: 'AUTOLOGIN_FAILED',\r\n DEEPLINK_RECEIVED: 'DEEPLINK_RECEIVED',\r\n GAME_OPEN: 'GAME_OPEN',\r\n CLOSE_GAME: 'CLOSE_GAME',\r\n LOGIN_FORM_OPEN: 'LOGIN_FORM_OPEN',\r\n LOGIN_FORM_CLOSE: 'LOGIN_FORM_CLOSE',\r\n TOKEN_LIFETIME_EXPIRED: 'TOKEN_LIFETIME_EXPIRED',\r\n LIVE_TABLES_UPDATE: 'LIVE_TABLES_UPDATE',\r\n GAMES_QUESTIONNAIRE_COMPLETED: 'GAMES_QUESTIONNAIRE_COMPLETED',\r\n GAME_POPUP_SHOW: 'GAME_POPUP_SHOW',\r\n BALANCE_UPDATED: 'BALANCE_UPDATED',\r\n REALITY_CHECK_OPENED: 'REALITY_CHECK_OPENED',\r\n REALITY_CHECK_CLOSED: 'REALITY_CHECK_CLOSED',\r\n REGISTRATION_COMPLETED: 'REGISTRATION_COMPLETED',\r\n APP_RESUMED: 'APP_RESUMED',\r\n APP_PAUSED: 'APP_PAUSED',\r\n EXTERNAL_LINK_CLOSED: 'EXTERNAL_LINK_CLOSED',\r\n TOUCH_ID_STATE_CHANGED: 'TOUCH_ID_STATE_CHANGED',\r\n OMG_DISPLAYED: 'OMG_DISPLAYED',\r\n SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED: 'SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED',\r\n LIVE_GAME_SWITCHED: 'LIVE_GAME_SWITCHED',\r\n PROMOTIONS_CHANGED: 'PROMOTIONS_CHANGED',\r\n DEPOSIT_WIDGET_CLOSED : 'DEPOSIT_WIDGET_CLOSED',\r\n};\r\n\r\n\r\nexport interface DeviceInfo {\r\n os: {\r\n name: string;\r\n version: number;\r\n isMobileOS: boolean;\r\n isIOS: boolean;\r\n isAndroid: boolean;\r\n isPC: boolean;\r\n isMacOS: boolean;\r\n };\r\n browser: {\r\n name: string;\r\n version: number;\r\n isSafari: boolean;\r\n isChrome: boolean;\r\n isFirefox: boolean;\r\n };\r\n model: {\r\n isIphone: boolean;\r\n isIpad: boolean;\r\n };\r\n hybrid: {\r\n isHybrid: boolean;\r\n isEmbedded: boolean;\r\n inCasino: boolean\r\n };\r\n feature: {\r\n isTouch: boolean;\r\n };\r\n isProgressiveWebApp: boolean;\r\n isStandalone: boolean;\r\n\r\n /** @deprecated */\r\n isMobile(): boolean;\r\n /** @deprecated */\r\n isTablet(): boolean;\r\n}\r\n\r\nexport interface CGPEventSubscription {\r\n off();\r\n}\r\n\r\n\r\nexport interface GetAutoLoginTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface GetPlatformTokenResponse {\r\n token: string;\r\n}\r\n\r\nexport interface IDailyDealCampaign {\r\n MarketingCampaignId: string;\r\n}\r\n\r\n\r\nexport interface CgpSkinInfo {\r\n getBrandName(): string;\r\n getPlatformSystemID(): number;\r\n getClientPlatform(): string;\r\n getVersion(): string;\r\n getCulture(): string;\r\n shouldEnforceHybridAppForMobileWebOnLoginAttempt(): boolean;\r\n shouldPreventOpenGameForMobileWebApp(): boolean;\r\n getMinimumAge(): number;\r\n}\r\n\r\nexport interface ISdkUtils {\r\n getGuid():string\r\n arraysAreEqual(arr1: any[], arr2: any[]): boolean;\r\n}\r\n\r\nexport interface ISdkRegulationService {\r\n isUSRegulation(): boolean;\r\n getRegulationCode(): number;\r\n getSessionCooldownConfig(): {featureEnabled: boolean; cooldownTime: string};\r\n shouldShowPlayerLimitsToaster(): boolean;\r\n getErrorMessage(errorCode: number): NullableString;\r\n forceDemoButton(): boolean;\r\n isLoginPopupEnabled(): boolean;\r\n}\r\n\r\nexport interface IOpenHistoryGameRequest {\r\n historyRecordData: GamingHistoryRecordRawData;\r\n gameType: number,\r\n gameName: string,\r\n gameRoundId: string,\r\n gameRoundDate: string;\r\n}\r\n\r\nexport interface ICgpSdk {\r\n countPlayerChallenges(): number;\r\n getRegulationDateAndTimeFormat(): DateAndTimeFormat;\r\n createComponentRenderer(componentId: string): any;\r\n device(): DeviceInfo;\r\n displayHybrid?: () => void;\r\n isHybridEmbeddedGame(gameType: number): boolean;\r\n openHybridLink(url: string): void;\r\n format$$$(value: number, withDecimal: boolean);\r\n getBalance();\r\n getAIList(maxGames: number, filterOutRecentlyPlayedGames: boolean, numberOfRecentlyPlayedGameToFilterOut: number): Promise;\r\n getAINewGamesList(maxGames: number, filterOutRecentlyPlayedGames: boolean, numberOfRecentlyPlayedGameToFilterOut: number): Promise;\r\n getAutoLoginToken(): Promise;\r\n getPlatformToken(): Promise;\r\n getFirebaseToken(): string;\r\n getBrandID(): number;\r\n getCorrelatedGames(gameType: number, numberOfGames: number): Promise;\r\n getExternalBrandCallbackURL(): string;\r\n getExternalBrandCallbackURLMethod(): string;\r\n getGamesInfo(gameTypes: number[]): Promise;\r\n getGamesThemes(): Record;\r\n getGamesVendors(): Record;\r\n getGamesCompanies(): Record;\r\n getGamesInfoForHistory(gameTypes: number[]): Promise;\r\n getGRSEnvironments(): Promise;\r\n getSourceSubBrandName(): string;\r\n getSubBrandID(): number;\r\n dateAndTimeFormat(): DateAndTimeFormat;\r\n getUserData(): any;\r\n getUsername(): string;\r\n getSessionId(): string;\r\n getUserSegments(): CmsUserSignature;\r\n isAuthorized(): boolean;\r\n isLoginFromRegistration():boolean;\r\n getCGPMaxOverlayZIndex(): number;\r\n structuredLoggingService():IStructuredLoggingService;\r\n isVIP(): boolean;\r\n logout(): Promise;\r\n menuActionExecute(key: string): void;\r\n onEvent(params: OnEventParams): CGPEventSubscription;\r\n routeChanged(): void;\r\n isGameRunning(): boolean;\r\n openGame(options: any): Promise;\r\n openInNewWindow(url: string, features?: string): void;\r\n openLoginForm(marketingParams?: MarketingParams): Promise;\r\n sendAnalytics(params: SendAnalyticsParams);\r\n setAutoLoginToken(autologinToken: any): void;\r\n startLiveTableFeeds(): void;\r\n stopLiveTableFeeds(): void;\r\n getAbTestingDataForFeature(featureName: string): IAbTestingFeatureProperties;\r\n getAbTestingData(): { [key: string]: IAbTestingFeatureProperties };\r\n waitForAnonymousAbTestingData(): Promise;\r\n getAnonymousPlayerAbTestingDataForFeature(featureName: string, shouldDefaultToLocalStorageData: boolean): IAbTestingFeatureProperties;\r\n getCurrentServerDate(): Date;\r\n getDailyDealCampaigns(): Promise;\r\n getBankroll(balanceType: BalanceType, plainNumber?: boolean): string | number;\r\n\r\n getJackpotsById(): unknown;\r\n getJackpotsByGameType(): unknown;\r\n\r\n getProductPackage(): number;\r\n\r\n getSkin(): CgpSkinInfo;\r\n runAutoLogin(autoLoginParams: IAutoLoginParams): Promise;\r\n\r\n getUtils(): ISdkUtils;\r\n onOrbitInitComplete(): void;\r\n\r\n getEnvironment(): string;\r\n pushDataToDataLayer(data:{}): void;\r\n getCountryName(): string;\r\n getCountryIso3(): string;\r\n getSupportedStates(): IStateOfResidence[];\r\n getWrongLocationDetectionPath(): string;\r\n getTrendingRecommendedGamesForPlayer(listTypeId: number[]):Promise<{[key:number] : number[]}>;\r\n\r\n getRegulationService(): ISdkRegulationService;\r\n\r\n waitForAutologin(): Promise;\r\n httpPost(url: string, requestData: unknown): Promise;\r\n httpGet(url: string, requestData: unknown): Promise;\r\n getConfigs(): any;\r\n loadScript(url: string, tagId?: string): Promise;\r\n getRefreshToken(): string;\r\n getCurrencyIso3(): string;\r\n readonly overlayZIndex: SdkOverlayZIndex;\r\n getGoogleClientID(): string;\r\n isInAutologin(): boolean;\r\n fireDepositWidgetClosed(): void;\r\n getToken(): ITokenInfo | null;\r\n\r\n continuePlayingCurrentGame(): void;\r\n stopCurrentGameAutoplay(): void;\r\n isDepositWidgetSupportedByHybrid(): boolean;\r\n getGeoLocationInfo(): Promise;\r\n getDownloadAppLink(): string;\r\n promptPushNotificationPermissionRequest(): void;\r\n openPopUpOnSecondWebView(content : string, timeout : number) : void;\r\n closePopUpOnSecondWebView() : void;\r\n getBurnoutAnimationZIndex(): number;\r\n readonly hybrid: IHybridService;\r\n readonly currentRegulation: ILegacyRegulation;\r\n getCurrentBrowserTabId(): string;\r\n readonly hasOpenOverlays: boolean;\r\n readonly gnwp: ISdkGnwpService;\r\n readonly scriptLoader: IScriptLoaderService;\r\n startGeoLocationOnOpenRealGame(): Promise;\r\n getButtonsForNonRetryGeoFlow(): Partial[];\r\n stopGameTimeReminders(): void;\r\n isEligibleForGameGeoRetry(): boolean;\r\n getRetryMessageButtons(analyticsLabel: string, resolve?, reject?): Partial[];\r\n startAutoRetryGeoProcess(): Promise;\r\n extractTokenProperty(tokenProperty: string);\r\n isLoginPopupEnabled(): boolean;\r\n getAccountData(): any;\r\n getTempAccountGnwpSource(): GNWP_SOURCES;\r\n openOptions(screenType: string, innerScreen?: string): void;\r\n}\r\n","import {CGP_EVENTS_NAMES, CGPEventSubscription, ICgpSdk} from './cgp-sdk.interface';\r\nimport { LiveTables } from '../live-table-feeds-service/live-table-feeds.service.interface';\r\nimport {TimeSpan} from '@sparkware/app-utils';\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {\r\n IFreePlayVoucherData,\r\n IFreePlayVoucherDelta\r\n} from \"../../../common/interfaces/free-play/free-play-voucher-data.interface\";\r\nimport {\r\n INetPositionGameTypeData\r\n} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/netposition_handler.interfaces\";\r\nimport {IOMGParsedData} from \"../../../sdk/src/services/player_messages_service/firebase/handlers/messages_handler\";\r\nimport {IJackpotDataById} from '../../../sdk/src/services/live_feeds/jackpots/jackpot_feeds_service_interface';\r\n\r\nexport interface OnShowGamePopupCallbackParams {\r\n gameType?: number,\r\n gamePopupApprovedCallback: () => void\r\n}\r\n\r\nexport interface OnGameOpenParams {\r\n gameType: number;\r\n isReal: boolean;\r\n}\r\n\r\nexport interface OnGameCloseParams {\r\n gameType: number;\r\n isReal: boolean;\r\n isGamePlayed: boolean;\r\n showNextGameSuggestion: boolean;\r\n}\r\n\r\nexport interface OnPlayerActionParams {\r\n actionName: string;\r\n options?: any;\r\n}\r\n\r\nexport interface OnOauthStateChangedParams {\r\n loginType?: number;\r\n logoutReason?: number;\r\n kickReason?: number;\r\n fromRegistration?: boolean;\r\n}\r\n\r\nexport class SdkEvents {\r\n constructor(private CGP: ICgpSdk) {\r\n\r\n }\r\n\r\n onOAuthStateChanged(callback: (params: OnOauthStateChangedParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBeforeOAuthStateChanged(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.ON_BEFORE_OAUTH_STATE_CHANGE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDeepLinkReceived(callback: (deepLinkObject: any) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.DEEPLINK_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onShowGamePopup(callback: (args: OnShowGamePopupCallbackParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_POPUP_SHOW,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameOpen(callback: (params: OnGameOpenParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAME_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGameClose(callback: (params?: OnGameCloseParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.CLOSE_GAME,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onPlayerAction(callback: (eventData: OnPlayerActionParams) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.PLAYER_ACTION,\r\n callback: (data) => callback(data || {} as OnPlayerActionParams),\r\n context: this\r\n });\r\n }\r\n\r\n onRecentlyPlayedGamesUpdated(callback: (gameTypes: number[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.RECENTLY_PLAYED_GAMES_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormOpen(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_OPEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginFormClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LOGIN_FORM_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTokenLifetimeExpired(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOKEN_LIFETIME_EXPIRED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveTableFeedsUpdate(callback: (tablesData: LiveTables) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_TABLES_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onGamesQuestionnaireCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.GAMES_QUESTIONNAIRE_COMPLETED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onJackpotsByIdUpdate(callback: (jackpots: unknown) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByGameUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOT_AMOUNTS_BY_GAME_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onJackpotsAmountsByIdUpdate(callback: (jackpots: Record) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LIVE_FEEDS_JACKPOTS_BY_ID_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBalanceUpdated(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.BALANCE_UPDATED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSessionTimerUpdate(callback: (data: {sessionTime: TimeSpan}) => void) {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_TIMER_UPDATE,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckOpened(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_OPENED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onRealityCheckClosed(callback: () => void) {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REALITY_CHECK_CLOSED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onRegistrationCompleted(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.REGISTRATION_COMPLETED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onAppPaused(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.APP_PAUSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onExternalLinkClosed(callback: (linkSource: string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.EXTERNAL_LINK_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onTouchIDActiveStateChanged(callback: (state: boolean) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.TOUCH_ID_STATE_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onOmgDisplayed(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.OMG_DISPLAYED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onBurnoutMessageReceived(callback: (state: unknown) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.SESSION_EVENT_PLAYER_BURNOUT_MESSAGE_RECEIVED,\r\n callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLiveGameSwitched(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.LIVE_GAME_SWITCHED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPromotionsChanged(callback: (data: {Cid: number, IsPromotionDisplayedInClient: boolean, IndicationInClientPromotionsIds: number[]}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: CGP_EVENTS_NAMES.PROMOTIONS_CHANGED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onDepositWidgetClosed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.DEPOSIT_WIDGET_CLOSED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridPostMessage(callback: (message: MessageEvent) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.HYBRID_POST_MESSAGE_ARRIVE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchAdded(callback: (data: IFreePlayVoucherData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_ADDED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchUpdated(callback: (data: IFreePlayVoucherDelta[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_UPDATED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFreePlayBatchRemoved(callback: (voucherIds: string[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_FREE_PLAY_BATCH_REMOVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV1(callback: (percentage: number | string) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onHybridEmbeddedGameLoadingIndicatorUpdateV2(callback: (eventData: {statusBar: number | string; numberOfPackages: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_UPDATE_V2,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseGotNewToken(callback: (eventData: {token: string}) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.FIREBASE_GOT_NEW_TOKEN,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onNetPositionUpdated(callback: (gamesTypesData: INetPositionGameTypeData[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_NET_POSITION_UPDATE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onLoginSessionResumed(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.LOGIN_SESSION_RESUMED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onUserApprovedPostLoginPopup(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.USER_APPROVE_GAME_POPUP,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onFirebaseOmgReceived(callback: (omgData: IOMGParsedData) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_OMG_RECEIVED,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onReceivedToaster(callback: (params: any[]) => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SESSION_EVENT_RECEIVED_TOASTER,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n onSecondWebViewClose(callback: () => void): CGPEventSubscription {\r\n return this.CGP.onEvent({\r\n eventName: SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE,\r\n callback: callback,\r\n context: this\r\n });\r\n }\r\n\r\n}\r\n","import Event from \"../../../sdk/src/utils/event\";\r\nimport {SYSTEM_EVENTS} from \"../../../sdk/src/events/events\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\nimport {IOmgHandlerHook} from \"../external-links/handlers/omg/omg-handler.hook.interface\";\r\n\r\nexport class SdkEventsTrigger {\r\n gameOpen(eventData: {gameType: number; isReal: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_OPEN, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal\r\n });\r\n }\r\n\r\n gameClosed(eventData: {gameType: number; isReal: boolean; isGamePlayed: boolean; showNextGameSuggestion: boolean}): void {\r\n Event.fire(SYSTEM_EVENTS.CLOSE_GAME, {\r\n gametype: eventData.gameType,\r\n gameType: eventData.gameType,\r\n isReal: eventData.isReal,\r\n isGamePlayed: eventData.isGamePlayed,\r\n showNextGameSuggestion: eventData.showNextGameSuggestion\r\n });\r\n }\r\n\r\n keepAlive(): void {\r\n Event.fire(SYSTEM_EVENTS.EXTEND_USER_TIME_TO_LIVE);\r\n }\r\n\r\n liveGameSwitched(): void {\r\n Event.fire(SYSTEM_EVENTS.LIVE_GAME_SWITCHED);\r\n }\r\n\r\n hybridGameLoadingIndicatorClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOADING_INDICATOR_EMBEDDED_CLOSED_BY_X);\r\n }\r\n\r\n updateMarketingParams(marketingParams: any): void {\r\n Event.fire(SYSTEM_EVENTS.INCOMING_MARKETING_DATA, marketingParams);\r\n }\r\n\r\n\r\n navigateToGameInWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.WEB_VIEW_NAVIGATE_GAME, url);\r\n }\r\n\r\n gameSequenceFinishedSuccess(): void {\r\n Event.fire(SYSTEM_EVENTS.GAME_SEQUENCE_FINISH, true);\r\n }\r\n\r\n showHybridAlert(message: string): void {\r\n Event.fire(SYSTEM_EVENTS.HYBRID_ALERT, message);\r\n }\r\n\r\n locationPopupClosed(): void {\r\n Event.fire(SYSTEM_EVENTS.LOCATION_POPUP_CLOSED);\r\n }\r\n\r\n registrationCompleted(params: {UserInfo: string, SourceProductPackage: string}) {\r\n Event.fire(SYSTEM_EVENTS.REGISTRATION_COMPLETED, params);\r\n }\r\n\r\n externalLinkClosed(params: {gnwpSource: GNWP_SOURCES}): void {\r\n Event.fire(SYSTEM_EVENTS.EXTERNAL_LINK_CLOSED, params.gnwpSource)\r\n }\r\n\r\n omgDisplayed(omgHook: IOmgHandlerHook): void {\r\n Event.fire(SYSTEM_EVENTS.OMG_DISPLAYED, omgHook)\r\n }\r\n\r\n closeAllSecondWebViews(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_ALL);\r\n }\r\n\r\n closeNyxSecondWebView(): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_CLOSE_NYX);\r\n }\r\n\r\n openUrlInSecondWebView(url: string): void {\r\n Event.fire(SYSTEM_EVENTS.SECOND_WEB_VIEW_NAVIGATE_SPORT, url);\r\n }\r\n\r\n closeModifyBimetricDialog(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_STATE_CHANGED);\r\n }\r\n\r\n onInitScreenShow(): void {\r\n Event.fire(SYSTEM_EVENTS.TOUCH_ID_INIT_SCREEN_SHOW);\r\n }\r\n}","import {\r\n AIRecommendations,\r\n CmsUserSignature,\r\n ISdkService,\r\n OpenGameOptions,\r\n UserData, GameRawData, DateAndTimeFormat, ITokenInfo\r\n} from './sdk.service.interface';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n DeviceInfo,\r\n GetAutoLoginTokenResponse,\r\n ICgpSdk,\r\n CgpSkinInfo,\r\n GetPlatformTokenResponse,\r\n ISdkUtils,\r\n ISdkRegulationService\r\n} from './cgp-sdk.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IRunningGameHandler} from '../games/running-game-handler.interface';\r\nimport {SdkEvents} from './sdk-events';\r\nimport {ISdkComponentRenderer} from '../sdk-component-factory/sdk-component-factory.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {CGP_OBJECT_NAME} from '../../app-bootstrap/constants';\r\nimport {IAutoLoginParams} from '../../../common/interfaces/autologin-params.interface';\r\nimport {BalanceType} from '../../../common/const/wallet_balance_type';\r\nimport IStructuredLoggingService from \"../../../common/interfaces/structured-logging-service-interface\";\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\nimport {IGeoLocationInfo} from \"../../../common/interfaces/geo-location-info.interface\";\r\nimport {IAbTestingFeatureProperties} from '../../../common/interfaces/ab-testing-interface';\r\nimport {IHybridService} from \"../hybrid/hybrid.service.interface\";\r\nimport {ILegacyRegulation} from \"../regulation/legacy-regulation.interface\";\r\nimport {SdkEventsTrigger} from \"./sdk-events-trigger\";\r\nimport ISdkGnwpService from \"../../../sdk/src/services/gnwp/gnwp_service_interface\";\r\nimport {IScriptLoaderService} from \"../scrip-loader/script-loader.service.interface\";\r\nimport {ISdkMessageButtonOptions} from \"../../../common/interfaces/sdk-message-button-options\";\r\nimport {IModalDialogButtonsComponentProps, IModalDialogActionProps} from \"../../components/modal-dialog/modal-dialog-actions.component\";\r\nimport IStateOfResidence from \"../../../common/interfaces/state-of-residence.interface\";\r\nimport {GNWP_SOURCES} from \"../gnwp/gnwp-consts\";\r\n\r\nexport interface IGetAiRecommendationsOptions {\r\n maxGames?: number;\r\n filterOutRecentlyPlayedGames?: boolean;\r\n numberOfRecentlyPlayedGameToFilterOut?: number;\r\n}\r\n\r\nexport class SdkService extends ServiceBase implements ISdkService {\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._updateLocalStorageAccordingToCookie();\r\n\r\n this._displayHybrid();\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n () => {\r\n if (this.services.location.hasNavigationHistory) {\r\n this.CGP.routeChanged();\r\n }\r\n });\r\n }\r\n\r\n private _displayHybrid() {\r\n //F TO DO why is this here and not in the SDK ?\r\n if (Check.isFunction(this.CGP.displayHybrid)) {\r\n this.CGP.displayHybrid();\r\n }\r\n }\r\n\r\n private _events: SdkEvents = null;\r\n\r\n get events(): SdkEvents {\r\n if (!this._events) {\r\n this._events = new SdkEvents(this.CGP);\r\n }\r\n\r\n return this._events;\r\n }\r\n\r\n\r\n private get CGP(): ICgpSdk {\r\n return this.services.window.getGlobalProperty(CGP_OBJECT_NAME) as ICgpSdk;\r\n }\r\n\r\n\r\n get isAuthorized(): boolean {\r\n return this.CGP.isAuthorized();\r\n }\r\n\r\n get isLoginFromRegistration(): boolean {\r\n return this.CGP.isLoginFromRegistration();\r\n }\r\n\r\n get getCGPMaxOverlayZIndex(): number {\r\n return this.CGP.getCGPMaxOverlayZIndex();\r\n }\r\n\r\n get structuredLoggingService(): IStructuredLoggingService {\r\n return this.CGP.structuredLoggingService();\r\n }\r\n\r\n get dateAndTimeFormat(): DateAndTimeFormat {\r\n return this.CGP.getRegulationDateAndTimeFormat();\r\n }\r\n\r\n get userData(): UserData {\r\n let rawUserData = this.CGP.getUserData();\r\n let rawAccountData = (rawUserData && rawUserData.accountData) || {};\r\n\r\n\r\n return {\r\n userName: rawUserData?.userName,\r\n firstName: rawAccountData.FirstName,\r\n lastName: rawAccountData.LastName,\r\n IsVIP: this.CGP.isVIP(),\r\n DWHGameGroupOrientation: rawAccountData.DWHGameGroupOrientation, // when product are asking to do something with user Orientation, - it is not this one. use this.services.userGameOrientation.gameGroup\r\n statusGroupId: rawAccountData.StatusGroupId,\r\n GenderId: rawAccountData.genderID,\r\n timeSinceRegistration: rawAccountData.TimeSinceRegistration,\r\n cid: rawUserData?.cid,\r\n playerRMStatus: rawAccountData.PlayerRMStatus,\r\n sessionId: this.CGP.getSessionId(),\r\n registrationCountry: rawAccountData.RegistrationCountry,\r\n joinDate: rawAccountData.JoinDate,\r\n isFTD: rawAccountData.FTDSubBrand === this.getSubBrandID(),\r\n IsPromotionPermitted: rawAccountData.IsPromotionPermitted,\r\n taxId: rawAccountData.TaxId\r\n };\r\n }\r\n\r\n\r\n @observable.ref\r\n isSdkReady: boolean = true;\r\n\r\n @action.bound\r\n private _setIsSdkReady(value: boolean) {\r\n this.isSdkReady = value;\r\n }\r\n\r\n getAIRecommendations(options?: IGetAiRecommendationsOptions): Promise {\r\n return this.CGP.getAIList(options?.maxGames, options?.filterOutRecentlyPlayedGames, options?.numberOfRecentlyPlayedGameToFilterOut).then(data => {\r\n return {\r\n gameTypes: data.aiGameTypesArray || [],\r\n engine: data.aiEngine\r\n };\r\n });\r\n }\r\n\r\n getTrendingRecommendedGamesForPlayer(...listTypeIds: number[]): Promise<{[key: number]: number[]}> {\r\n return this.CGP.getTrendingRecommendedGamesForPlayer(listTypeIds);\r\n }\r\n\r\n getAINewRecommendations(options?: IGetAiRecommendationsOptions): Promise {\r\n return this.CGP.getAINewGamesList(options?.maxGames, options?.filterOutRecentlyPlayedGames, options?.numberOfRecentlyPlayedGameToFilterOut).then(data => {\r\n return {\r\n gameTypes: data.aiGameTypesArray || [],\r\n engine: data.aiEngine\r\n };\r\n });\r\n }\r\n\r\n getCurrentServerDate(): Date {\r\n return this.CGP.getCurrentServerDate();\r\n }\r\n\r\n getAbTestingData(): {[key: string]: IAbTestingFeatureProperties} {\r\n return this.CGP.getAbTestingData();\r\n }\r\n\r\n getAbTestingDataForFeature(featureName: string): IAbTestingFeatureProperties {\r\n return this.CGP.getAbTestingDataForFeature(featureName);\r\n }\r\n\r\n waitForAnonymousAbTestingData(): Promise {\r\n return this.CGP.waitForAnonymousAbTestingData();\r\n }\r\n\r\n sendAnalytics(category: string, action: string = null, label: string = null, value: string = null, omitStructuredLogger: boolean = null) {\r\n try {\r\n this.CGP.sendAnalytics({\r\n category: category,\r\n action: action,\r\n label: label,\r\n value: value,\r\n omitStructuredLogger: omitStructuredLogger\r\n });\r\n } catch (ex) {\r\n this.services.logger.error(`SdkService failed to sendAnalytics: ${ex}`);\r\n }\r\n }\r\n\r\n getCmsUserSignature(): CmsUserSignature {\r\n return this.CGP.getUserSegments();\r\n }\r\n\r\n formatMoney(value: number, withDecimal: boolean = false): string {\r\n return this.CGP.format$$$(value, withDecimal);\r\n }\r\n\r\n get device(): DeviceInfo {\r\n return this.CGP.device();\r\n }\r\n\r\n waitForAutologin(): Promise {\r\n return this.CGP.waitForAutologin();\r\n }\r\n\r\n getAnonymousPlayerAbTestingDataForFeature(featureName: string, shouldDefaultToLocalStorageData: boolean): IAbTestingFeatureProperties {\r\n return this.CGP.getAnonymousPlayerAbTestingDataForFeature(featureName, shouldDefaultToLocalStorageData);\r\n }\r\n\r\n isGameRunning(): boolean {\r\n return this.CGP.isGameRunning();\r\n }\r\n\r\n async openGame(options: OpenGameOptions): Promise {\r\n\r\n let openGameOptions: any = {...options};\r\n if (!options.showRegister) {\r\n openGameOptions.navbar = { //F TO DO - do we realy need this navbar option ?\r\n login: {\r\n showRegister: false\r\n }\r\n }\r\n }\r\n\r\n return await this.CGP.openGame(openGameOptions);\r\n\r\n }\r\n\r\n async openLoginForm(marketingParams?: MarketingParams): Promise {\r\n\r\n await this.CGP.openLoginForm(marketingParams);\r\n }\r\n\r\n createComponentRenderer(componentId: string): ISdkComponentRenderer {\r\n return this.CGP.createComponentRenderer(componentId) as ISdkComponentRenderer;\r\n }\r\n\r\n getGamesInfoForHistory(gameTypes: number[]): Promise {\r\n return this.CGP.getGamesInfoForHistory(gameTypes);\r\n }\r\n\r\n getGamesInfo(gameTypes: number[]): Promise {\r\n return this.CGP.getGamesInfo(gameTypes);\r\n }\r\n\r\n getGamesThemes(): Record {\r\n return this.CGP.getGamesThemes();\r\n }\r\n\r\n getGamesVendors(): Record {\r\n return this.CGP.getGamesVendors();\r\n }\r\n\r\n getGamesCompanies(): Record {\r\n return this.CGP.getGamesCompanies();\r\n }\r\n\r\n getAutoLoginToken(): Promise {\r\n return this.CGP.getAutoLoginToken();\r\n }\r\n\r\n getPlatformToken(): Promise {\r\n return this.CGP.getPlatformToken();\r\n }\r\n\r\n getFirebaseToken(): string {\r\n return this.CGP.getFirebaseToken();\r\n }\r\n\r\n getCorrelatedGames(gameType: number, numberOfGames: number = 3): Promise {\r\n return this.CGP.getCorrelatedGames(gameType, numberOfGames);\r\n }\r\n\r\n logout(): Promise {\r\n return this.CGP.logout();\r\n }\r\n\r\n getBrandID(): number {\r\n return this.CGP.getBrandID();\r\n }\r\n\r\n getSubBrandID(): number {\r\n return this.CGP.getSubBrandID();\r\n }\r\n\r\n getRegulationService(): ISdkRegulationService {\r\n return this.CGP.getRegulationService();\r\n }\r\n\r\n isHybridEmbeddedGame(gameType: number): boolean {\r\n return this.CGP.isHybridEmbeddedGame(gameType);\r\n }\r\n\r\n openHybridLink(url: string): void {\r\n this.CGP.openHybridLink(url);\r\n }\r\n\r\n private _updateLocalStorageAccordingToCookie() {\r\n try {\r\n let autologinCookie = this.services.cookies.getCookie('orbit_autologin_token');\r\n\r\n if (autologinCookie) {\r\n this.CGP.setAutoLoginToken(autologinCookie);\r\n }\r\n } catch (err) {\r\n this.services.logger.error('update local storage according to cookie failed. Error: ' + err);\r\n } finally {\r\n // Remove cookie\r\n this.services.cookies.removeCookie('orbit_autologin_token');\r\n }\r\n\r\n }\r\n\r\n getGRSEnvironmentUrls(): Promise {\r\n return this.CGP.getGRSEnvironments();\r\n }\r\n\r\n @computed\r\n get activeChallengeCount(): number {\r\n return this.CGP.countPlayerChallenges();\r\n }\r\n\r\n openInNewWindow(url: string, features?: string): void {\r\n return this.CGP.openInNewWindow(url, features);\r\n }\r\n\r\n executeMenuAction(id: string): void {\r\n this.CGP.menuActionExecute(id);\r\n }\r\n\r\n menuActionExecute(key: string): void {\r\n return this.CGP.menuActionExecute(key);\r\n }\r\n\r\n\r\n startLiveTableFeeds(): void {\r\n if (Check.isFunction(this.CGP.startLiveTableFeeds)) {\r\n this.CGP.startLiveTableFeeds();\r\n } else {\r\n //TODO - to be removed in the future\r\n (this.CGP as any).startEvolutionLiveFeeds();\r\n }\r\n }\r\n\r\n stopLiveTableFeeds(): void {\r\n if (Check.isFunction(this.CGP.stopLiveTableFeeds)) {\r\n this.CGP.stopLiveTableFeeds();\r\n } else {\r\n //TODO - to be removed in the future\r\n (this.CGP as any).stopEvolutionLiveFeeds();\r\n }\r\n }\r\n\r\n getDailyDealCampaigns() {\r\n return this.CGP.getDailyDealCampaigns();\r\n }\r\n\r\n getJackpotsById() {\r\n return this.CGP.getJackpotsById();\r\n }\r\n\r\n getJackpotsByGameType() {\r\n return this.CGP.getJackpotsByGameType();\r\n }\r\n\r\n getBankroll(balanceType: BalanceType, plainNumber?: boolean) {\r\n return this.CGP.getBankroll(balanceType, plainNumber);\r\n }\r\n\r\n runAutoLogin(autoLoginParams: IAutoLoginParams) {\r\n return this.CGP.runAutoLogin(autoLoginParams);\r\n }\r\n\r\n\r\n getProductPackageId(): number {\r\n return this.CGP.getProductPackage();\r\n }\r\n\r\n getSkin(): CgpSkinInfo {\r\n return {\r\n getPlatformSystemID: () => this.CGP.getSkin().getPlatformSystemID(),\r\n getClientPlatform: () => this.CGP.getSkin().getClientPlatform(),\r\n getVersion: () => this.CGP.getSkin().getVersion(),\r\n getCulture: () => this.CGP.getSkin().getCulture(),\r\n shouldEnforceHybridAppForMobileWebOnLoginAttempt: () => this.CGP.getSkin().shouldEnforceHybridAppForMobileWebOnLoginAttempt(),\r\n shouldPreventOpenGameForMobileWebApp: () => this.CGP.getSkin().shouldPreventOpenGameForMobileWebApp(),\r\n getBrandName: () => this.CGP.getSkin().getBrandName(),\r\n getMinimumAge: () => this.CGP.getSkin().getMinimumAge()\r\n }\r\n }\r\n\r\n getUtils(): ISdkUtils {\r\n return this.CGP.getUtils();\r\n };\r\n\r\n fireOrbitInitComplete(): void {\r\n this.CGP.onOrbitInitComplete();\r\n }\r\n\r\n getEnvironment(): string {\r\n return this.CGP.getEnvironment();\r\n }\r\n\r\n pushDataToDataLayer(data: {}): void {\r\n this.CGP.pushDataToDataLayer(data);\r\n }\r\n\r\n getCountryName() {\r\n return this.CGP.getCountryName();\r\n }\r\n\r\n getCountryIso3(): string {\r\n return this.CGP.getCountryIso3();\r\n }\r\n\r\n getSupportedStates(): IStateOfResidence[] {\r\n return this.CGP.getSupportedStates();\r\n }\r\n\r\n getWrongLocationDetectionPath(): string {\r\n return this.CGP.getWrongLocationDetectionPath();\r\n }\r\n\r\n httpPost(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpPost(url, requestData);\r\n }\r\n\r\n httpGet(url: string, requestData: unknown): Promise {\r\n return this.CGP.httpGet(url, requestData);\r\n }\r\n\r\n getConfigs(): any {\r\n return this.CGP.getConfigs();\r\n }\r\n\r\n loadScript(url: string, tagId?: string): Promise {\r\n return this.CGP.loadScript(url, tagId);\r\n }\r\n\r\n getRefreshToken(): string {\r\n return this.CGP.getRefreshToken();\r\n }\r\n\r\n getCurrencyIso3(): string {\r\n return this.CGP.getCurrencyIso3();\r\n }\r\n\r\n get overlayZIndex() {\r\n return this.CGP.overlayZIndex;\r\n }\r\n\r\n getGoogleClientID(): string {\r\n return this.CGP.getGoogleClientID();\r\n }\r\n\r\n isInAutologin(): boolean {\r\n return this.CGP.isInAutologin();\r\n }\r\n\r\n fireDepositWidgetClosed(): void {\r\n this.CGP.fireDepositWidgetClosed();\r\n }\r\n\r\n get tokenInfo(): ITokenInfo | null {\r\n return this.CGP.getToken() || null;\r\n }\r\n\r\n continuePlayingCurrentGame(): void {\r\n this.CGP.continuePlayingCurrentGame();\r\n }\r\n\r\n stopCurrentGameAutoplay(): void {\r\n this.CGP.stopCurrentGameAutoplay();\r\n }\r\n\r\n getGeoLocationInfo(): Promise {\r\n return this.CGP.getGeoLocationInfo();\r\n }\r\n\r\n getDownloadAppLink(): string {\r\n return this.CGP.getDownloadAppLink();\r\n }\r\n\r\n isDepositWidgetSupportedByHybrid(): boolean {\r\n return this.CGP.isDepositWidgetSupportedByHybrid();\r\n }\r\n\r\n promptPushNotificationPermissionRequest() {\r\n return this.CGP.promptPushNotificationPermissionRequest();\r\n }\r\n\r\n openPopUpOnSecondWebView(content: string, timeout: number): void {\r\n this.CGP.openPopUpOnSecondWebView(content, timeout);\r\n }\r\n\r\n closePopUpOnSecondWebView(): void {\r\n this.CGP.closePopUpOnSecondWebView();\r\n }\r\n\r\n getBurnoutAnimationZIndex() {\r\n return this.CGP.getBurnoutAnimationZIndex();\r\n }\r\n\r\n get hybrid(): IHybridService {\r\n return this.CGP.hybrid;\r\n }\r\n\r\n get currentRegulation(): ILegacyRegulation {\r\n return this.CGP.currentRegulation;\r\n }\r\n\r\n eventsTrigger: SdkEventsTrigger = new SdkEventsTrigger();\r\n\r\n getCurrentBrowserTabId(): string {\r\n return this.CGP.getCurrentBrowserTabId();\r\n }\r\n\r\n get hasOpenOverlays(): boolean {\r\n return this.CGP.hasOpenOverlays;\r\n }\r\n\r\n get gnwp(): ISdkGnwpService {\r\n return this.CGP.gnwp;\r\n }\r\n\r\n get scriptLoader(): IScriptLoaderService {\r\n return this.CGP.scriptLoader;\r\n }\r\n\r\n startGeoLocationOnOpenRealGame(): Promise {\r\n return this.CGP.startGeoLocationOnOpenRealGame();\r\n }\r\n\r\n private _convertButtonsToOrbitFormat(buttons) {\r\n\r\n const sdkButtonToModalButton = (sdkBtnOpts: Partial): IModalDialogActionProps => {\r\n return {\r\n text: sdkBtnOpts.name || \"\",\r\n onClick: sdkBtnOpts.callback,\r\n className: sdkBtnOpts.cssClass\r\n };\r\n };\r\n\r\n const primarySdkButton = buttons.find((sdkBtnOpts) => {\r\n return Check.isNullOrUndefined(sdkBtnOpts.type) || sdkBtnOpts.type === \"main\";\r\n });\r\n const secondarySdkButton = buttons.find((sdkBtnOpts) => {\r\n return (sdkBtnOpts.type && sdkBtnOpts.type === \"secondary\");\r\n });\r\n\r\n let modalDialogButtonsComponentProps: IModalDialogButtonsComponentProps = {} as IModalDialogButtonsComponentProps;\r\n if (primarySdkButton) {\r\n // if we detected a primary button then we are OK, use it, and if the secondary exists also, use that too\r\n modalDialogButtonsComponentProps.primaryAction = sdkButtonToModalButton(primarySdkButton);\r\n if (secondarySdkButton) {\r\n modalDialogButtonsComponentProps.secondaryAction = sdkButtonToModalButton(secondarySdkButton);\r\n }\r\n } else {\r\n // if we did not detected a primary button, use the secondary as primary because the primary is required in IModalDialogButtonsComponentProps\r\n if (secondarySdkButton) {\r\n modalDialogButtonsComponentProps.primaryAction = sdkButtonToModalButton(secondarySdkButton);\r\n } else {\r\n throw new Error(\"No button found that we can use as primary button\");\r\n }\r\n }\r\n\r\n return modalDialogButtonsComponentProps;\r\n }\r\n\r\n\r\n getButtonsForNonRetryGeoFlow(): IModalDialogButtonsComponentProps {\r\n const buttons = this.CGP.getButtonsForNonRetryGeoFlow();\r\n return this._convertButtonsToOrbitFormat(buttons);\r\n }\r\n\r\n getRetryMessageButtons(analyticsLabel: string, resolve?, reject?): IModalDialogButtonsComponentProps {\r\n const buttons = this.CGP.getRetryMessageButtons(analyticsLabel, resolve, reject);\r\n return this._convertButtonsToOrbitFormat(buttons);\r\n }\r\n\r\n stopGameTimeReminders(): void {\r\n this.CGP.stopGameTimeReminders();\r\n }\r\n\r\n isEligibleForGameGeoRetry(): boolean {\r\n return this.CGP.isEligibleForGameGeoRetry();\r\n }\r\n\r\n startAutoRetryGeoProcess(): Promise {\r\n return this.CGP.startAutoRetryGeoProcess();\r\n }\r\n\r\n extractTokenProperty(tokenProperty: string) {\r\n return this.CGP.extractTokenProperty(tokenProperty);\r\n }\r\n\r\n isLoginPopupEnabled(): boolean {\r\n return this.CGP.isLoginPopupEnabled();\r\n }\r\n\r\n getAccountData(): any {\r\n return this.CGP.getAccountData();\r\n }\r\n\r\n getTempAccountGnwpSource(): GNWP_SOURCES {\r\n return this.CGP.getTempAccountGnwpSource();\r\n }\r\n\r\n openOptions(screenType: string, innerScreen?: string): void {\r\n this.CGP.openOptions(screenType, innerScreen);\r\n }\r\n\r\n}","export const CGP_OBJECT_NAME = 'CGP';\r\n\r\n\r\n","import React from 'react';\r\nimport {IGamesFilterStrategy} from \"../games-filter-strategy.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GamesMap} from \"../../../games/games.service.interface\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {IPcFilterIndicatorRenderingOptions} from \"../../games-filter.service.interface\";\r\n\r\nexport class NoGamesFilterStrategy implements IGamesFilterStrategy {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n get filteredGamesMap(): GamesMap {\r\n return this.services.games.gamesMap;\r\n }\r\n readonly isFilteringAvailable: boolean = false;\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n return null;\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n return null;\r\n }\r\n\r\n showFiltersEditor(): void {\r\n }\r\n\r\n dispose(): void {\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\r\n }\r\n}","import {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {\r\n IGamesFilterService,\r\n IPcFilterIndicatorRenderingOptions\r\n} from './games-filter.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGamesFilterStrategy} from \"./strategies/games-filter-strategy.interface\";\r\nimport {GameInfo} from \"../games/game-info\";\r\nimport React from \"react\";\r\nimport {action, computed, makeObservable, observable} from \"mobx\";\r\nimport {Nullable} from \"../../../common/types/nullable-types\";\r\nimport {NoGamesFilterStrategy} from \"./strategies/no-filter/no-games-filter.strategy\";\r\nimport {IArenaViewModel} from '../arenas/models/arenas/arena-view-model.interface';\r\n\r\nexport class GamesFilterService extends ServiceBase implements IGamesFilterService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n\r\n this.reaction(() => this.services.routing.currentRoute, () => {\r\n this._setCurrentStrategy(this.services.arenas.getCurrentArena())\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n @action.bound\r\n private _setCurrentStrategy(currentArena: IArenaViewModel) {\r\n if (this._currentFilteringStrategy) {\r\n this._currentFilteringStrategy.dispose();\r\n }\r\n\r\n if(currentArena) {\r\n this._currentFilteringStrategy = currentArena.getGamesFilteringStrategy();\r\n } else {\r\n this._currentFilteringStrategy = new NoGamesFilterStrategy(this.services);\r\n }\r\n }\r\n\r\n\r\n get filteredGamesMap(): Record {\r\n return this._currentFilteringStrategy.filteredGamesMap;\r\n }\r\n\r\n\r\n @computed\r\n get currentAppliedFiltersIds(): string[] {\r\n const urlHash = this.services.location.currentUri.hash?.value;\r\n if(urlHash) {\r\n let params = urlHash.split('=');\r\n if(params[0]?.toLowerCase() === 'filters') {\r\n return params[1].split(',');\r\n }\r\n }\r\n\r\n return [];\r\n\r\n }\r\n\r\n async applyFilters(filterIds: string[]): Promise {\r\n this.services.window.scrollTo(0, 0);\r\n\r\n if(filterIds.length > 0) {\r\n await this.services.location.push('#filters=' + filterIds.join(','));\r\n } else {\r\n await this.services.location.push(this.services.location.currentUri.pathName.toString());\r\n }\r\n }\r\n\r\n async clearFilters(): Promise {\r\n await this.services.location.push(this.services.location.currentUri.pathName.toString());\r\n }\r\n\r\n @observable.ref\r\n private _currentFilteringStrategy: IGamesFilterStrategy;\r\n\r\n get isFilterOn(): boolean {\r\n return this.currentAppliedFiltersIds.length > 0;\r\n }\r\n\r\n get isFilteringAvailable(): boolean {\r\n return this._currentFilteringStrategy.isFilteringAvailable;\r\n }\r\n\r\n isFilterApplied(filterId: string): boolean {\r\n return this.currentAppliedFiltersIds.includes(filterId);\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n return this._currentFilteringStrategy.renderMobileFiltersIndicator();\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n return this._currentFilteringStrategy.renderPCFiltersIndicator();\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this._currentFilteringStrategy.showFiltersEditor();\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return this._currentFilteringStrategy.getNumberOfGamesBeforeUserApply(filterIDS);\r\n }\r\n}\r\n","import React, {useCallback, useMemo, useRef, useState} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {MenuItemKey} from '../../../../services/configurations/config-data-sections/generated-config-const';\r\nimport {MenuItemComponentProps} from '../../../../services/menu-items-common/menu-item-component-props.interface';\r\nimport {UsefulLinksListBox} from '../../boxes/useful-links-list/useful-links-list.box';\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\n\r\ninterface ExpandableUsefulLinkitemComponentProps extends MenuItemComponentProps {\r\n subItems: MenuItemKey[];\r\n onSubItemClick?: () => void;\r\n}\r\n\r\nexport const ExpandableUsefulLinkItemComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n let [expanded, setExpanded] = useState(false);\r\n let subItems = useMemo(() => {\r\n return props.subItems\r\n .map((key) => services.userMenu.getUsefulLinkMenuItem(key))\r\n .filter((menuItem) => menuItem.display);\r\n }, [props.subItems, services]);\r\n\r\n const onClickHandler = useCallback(() => {\r\n // For expandable, don;t use \"props.menuItem.execute();\" we don't want to navigate and we don't want to close the user menu\r\n setExpanded((currentValue) => !currentValue);\r\n }, []);\r\n\r\n let height = useRef((subItems.length * 3.75) + \"rem\");\r\n const onLinksListBoxCaptureRef = useCallback((el: HTMLElement | null) => {\r\n if (el) {\r\n const heightCssVal = el.style.height;\r\n el.style.height = \"auto\";\r\n const rect = el.getBoundingClientRect();\r\n height.current = rect.height + \"px\";\r\n el.style.height = heightCssVal;\r\n }\r\n }, []);\r\n\r\n if (subItems.length === 0) {\r\n return null;\r\n }\r\n\r\n if (subItems.length === 1) {\r\n return subItems[0].renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: props.showSeparator});\r\n }\r\n\r\n return \r\n \r\n { subItems.map((menuItem) => menuItem.renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: false, className: CyClass('cy-useful-links-subitem')})) }\r\n \r\n \r\n\r\n});","import React from 'react';\r\nimport {ExpandableUsefulLinkItemComponent} from \"../../../../components/useful-links/parts/useful-link-item/expandable-useful-link-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {ExpandableMenuItemConfig} from '../../../menu-items-common/expandable/expandable-menu-item.interface';\r\nimport {IMenuItemConfigReader} from '../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface';\r\nimport {IServiceFactoryExtended} from '../../../service-factory-extended.interface';\r\nimport {IRenderMenuItemOptions} from '../../../menu-items-common/renderer/menu-item.renderer.interface';\r\n\r\nexport class GenericExpandableUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(public readonly expandableKey: ExpandableMenuItemConfig,\r\n configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended\r\n ) {\r\n super(expandableKey.menuItemKey, configReader, services)\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {IMenuItemConfigReader} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CustomMenuItemRendererConstructorDefinition, IMenuItemRenderer} from \"./menu-item.renderer.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\n\r\nexport function loadCustomMenuItemsRenderers(rendererModules: any[],\r\n menuItemConfigReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended): Record {\r\n return rendererModules.map((module: any) => {\r\n const RendererConstructor: CustomMenuItemRendererConstructorDefinition = module.default;\r\n return new RendererConstructor(menuItemConfigReader, services);\r\n }).toDictionary(item => item.key);\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const UserMenuItemsTitleBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0.5rem 0;\r\n font-size: 1.4rem;\r\n color: ${props => props.theme.colors.textLight};\r\n`;\r\n","import {RedTigerJackpotWidgetConfiguration} from './red-tiger-jackpot-widget.configuration';\r\nimport {JackpotWidgetConfiguration} from './jackpot-widget.configuration';\r\nimport {HomePageHeaderArena} from \"./home-page.configuration\";\r\nimport {LinkToOfferConfiguration} from \"./link-to-offer.configuration\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\nimport {\r\n CategoryDefinitionId\r\n} from \"../../games-filter/filters-categories-definitions/filter-category-definition.interface\";\r\nimport {GAME_GROUP} from \"../../../../common/const/game_groups_consts\";\r\nimport { TitanJackpotWidgetConfiguration } from './titan-jackpot-widget.configuration';\r\n\r\nexport interface InfoSideBarConfiguration {\r\n readonly infoImage: string;\r\n readonly infoTitle: string;\r\n readonly infoText: string;\r\n}\r\n\r\nexport enum ApiListType {\r\n TOP_PICKS = \"TOP_PICKS\",\r\n NEW_GAMES = \"NEW_GAMES\",\r\n PLAYERS_LIKE_YOU = \"PLAYERS_LIKE_YOU\",\r\n RECENTLY_PLAYED = \"RECENTLY_PLAYED\",\r\n STATIC_VIDEO = \"STATIC_VIDEO\",\r\n LIVE_CASINO_VIDEO = \"LIVE_CASINO_VIDEO\",\r\n BECAUSE_YOU_PLAYED = \"BECAUSE_YOU_PLAYED\",\r\n}\r\n\r\nexport interface ListConfiguration {\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly gamesId: number[];\r\n readonly isSelfUpdatedByNewest?: boolean;\r\n readonly forceRoundIcons?: boolean;\r\n}\r\n\r\n\r\n\r\nexport interface SeoSectionConfiguration {\r\n display: boolean;\r\n componentID: string;\r\n templateID: string;\r\n fallbackComponent: string;\r\n}\r\n\r\nexport interface HeaderArenaConfiguration {\r\n display: boolean;\r\n title: string;\r\n image: string;\r\n link: string;\r\n}\r\n\r\n\r\n\r\nexport interface ArenaCommonConfiguration {\r\n topImage: string;\r\n animatedTopImage?: string;\r\n title: string;\r\n seoSection: SeoSectionConfiguration;\r\n}\r\n\r\nexport interface CasinoArenaPromotionalBannerConfiguration {\r\n templateID: string;\r\n componentID: string;\r\n displayListPlace?: number;\r\n displayRowPlace?: number;\r\n displayTablePlace?: number;\r\n fallbackComponent?: string;\r\n}\r\n\r\nexport interface CasinoArenaConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner?: CasinoArenaPromotionalBannerConfiguration\r\n linkToOffer?: LinkToOfferConfiguration;\r\n filters: NullableUndefined;\r\n advancedFilters?: {\r\n categories: [{\r\n id: CategoryDefinitionId;\r\n }];\r\n };\r\n infoSideBar: InfoSideBarConfiguration;\r\n swiperGamesList: SwiperGamesListConfiguration[];\r\n allGamesGrid: ArenaGamesGridConfiguration[];\r\n orderListsByAI?: boolean;\r\n arenaType?: string;\r\n homepageHeader?: HomePageHeaderArena;\r\n}\r\n\r\nexport interface SwiperGamesListConfiguration extends ListConfiguration {\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly gamesId: number[];\r\n readonly gamesAdminRefKey?: string;\r\n readonly templateType?: string;\r\n readonly redTigerWidget?: RedTigerJackpotWidgetConfiguration;\r\n readonly titanJackpotWidget?: TitanJackpotWidgetConfiguration;\r\n readonly jackpotWidget?: JackpotWidgetConfiguration;\r\n readonly titleIconClassName?: string;\r\n readonly useSquareIcons?: boolean;\r\n readonly showNumberBadge?: boolean;\r\n readonly useAISortedList?: boolean;\r\n readonly ignoreNumberOfGamesInAISorting?: number;\r\n readonly forceListInLayout?: boolean;\r\n readonly seeAll?: string;\r\n readonly listId?: number; // should be mandatory??\r\n readonly shouldInjectUsernameInTitle?: boolean;\r\n readonly apiListType?: ApiListType;\r\n readonly allowedGameGroups?: GAME_GROUP[];\r\n}\r\n\r\nexport interface LiveCasinoHeaderConfiguration {\r\n display: boolean;\r\n gameId: number;\r\n image: string;\r\n}\r\n\r\nexport interface LiveCasinoPromotionalBannerConfiguration {\r\n displayTablePlace: number;\r\n displayRowPlace: number;\r\n componentID: string;\r\n templateID: string;\r\n bannerAdminPlaceholderId?: string;\r\n}\r\n\r\nexport interface LiveCasinoConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner: LiveCasinoPromotionalBannerConfiguration;\r\n linkToOffer?: LinkToOfferConfiguration\r\n arenas: {\r\n gamesId: LiveCasinoHeaderConfiguration[];\r\n },\r\n popularTables: LiveCasinoPopularTableConfiguration[];\r\n customLayout: string;\r\n}\r\n\r\nexport interface NewLiveCasinoConfiguration extends ArenaCommonConfiguration {\r\n promotionalBanner: LiveCasinoPromotionalBannerConfiguration;\r\n arenas: HeaderFilterConfiguration[],\r\n allGamesGrid: ArenaGamesGridConfiguration[];\r\n customLayout: string;\r\n useAISortedList: boolean;\r\n linkToOffer?: LinkToOfferConfiguration;\r\n}\r\n\r\nexport interface LiveCasinoPopularTableConfiguration {\r\n title: string;\r\n gamesId: number[];\r\n useAISortedList?: boolean;\r\n ignoreNumberOfGamesInAISorting?: number;\r\n}\r\n\r\nexport interface ArenaGamesGridConfiguration extends ListConfiguration {\r\n readonly listId: number;\r\n readonly title: string;\r\n readonly display: boolean;\r\n readonly useAISortedList?: boolean;\r\n readonly ignoreNumberOfGamesInAISorting?: number;\r\n readonly gamesId: number[];\r\n readonly templateType?: string;\r\n readonly gamesAdminRefKey?: string;\r\n readonly useSquareIcons?: boolean;\r\n}\r\n\r\nexport interface HeaderFilterConfiguration {\r\n display: boolean;\r\n title: string;\r\n image: string;\r\n filter: string;\r\n seoPage: string;\r\n isActiveTabDefault?: boolean;\r\n maxGamesToShow?: number;\r\n banners?: {\r\n promotionalBanner: {\r\n templateID: string,\r\n componentID: string,\r\n bannerAdminPlaceholderId?: string\r\n }\r\n }\r\n}\r\n\r\nexport type ArenaConfiguration = CasinoArenaConfiguration & LiveCasinoConfiguration & NewLiveCasinoConfiguration;\r\n\r\nexport type ArenasConfiguration = {[key: string]: ArenaConfiguration};\r\n\r\n","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IUserMenuSectionBoxProps {\r\n noVerticalPadding?: boolean;\r\n noHorizontalPadding?: boolean;\r\n}\r\n\r\nconst UserMenuSectionDefaultBox = styled.div`\r\n margin-top: 1rem;\r\n color: ${({theme}) => theme.colors.text};\r\n background: ${({theme}) => theme.colors.background};\r\n border-radius: 5px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} { \r\n margin-top: 1rem;\r\n }\r\n\r\n 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(key => this._getUsefulLinksMenuItem(key)).filter(menuItem => menuItem.display);\r\n }\r\n\r\n get userMenuItems(): IMenuItemRenderer[] {\r\n return (this.services.configuration.data.drawer.userMenuItems ?? []).map(key => this._getUserMenuItem(key)).filter(menuItem => menuItem.display);\r\n }\r\n\r\n doLogout() {\r\n this._sendOrbitUserFlowAnalytics('logoutMenuItem');\r\n this.services.regulation.current.logoutUser();\r\n this.closeMenu();\r\n }\r\n\r\n /**\r\n * This method returns a greeting translation key based on time of day. \"Good Morning\", \"Good Afternoon\" etc\r\n * It was used in WelcomeUser component but not anymore, however, I did not deleted this method\r\n */\r\n get greeting() {\r\n const now = new Date();\r\n const hour = now.getHours();\r\n const minute = now.getMinutes();\r\n\r\n const {defaultMessage, conditions} = this.services.configuration.data.drawer.welcomeMessage;\r\n let result = defaultMessage;\r\n for (const rule of conditions) {\r\n const [ruleHour, ruleMinute] = rule.time.split(':').map(parseInt);\r\n\r\n if (hour > ruleHour) {\r\n result = rule.text;\r\n } else if (hour === ruleHour) {\r\n // NB: only if the current hour is strictly equal to the rule hour do we need to check the minutes\r\n if (minute >= ruleMinute) {\r\n result = rule.text;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n launchMyAccount(): void {\r\n this._sendOrbitUserFlowAnalytics('myAccountButton');\r\n this.services.externalLinks.openMyAccount();\r\n this.closeMenu();\r\n }\r\n\r\n launchDeposit(): void {\r\n this._sendOrbitUserFlowAnalytics('depositButton');\r\n this.services.cashier.openDeposit({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n this.closeMenu();\r\n }\r\n\r\n launchWithdraw(): void {\r\n this._sendOrbitUserFlowAnalytics('withdrawButton');\r\n this.services.cashier.openWithdraw({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.withdrawButton\r\n }\r\n });\r\n this.closeMenu();\r\n }\r\n\r\n openRewards(): void {\r\n this.openMenu();\r\n this._setIsRewardsInfo(true);\r\n }\r\n\r\n closeMenu(): void {\r\n if (this.isOpen) {\r\n this._setIsOpen(false);\r\n this._setIsRewardsInfo(false);\r\n }\r\n }\r\n\r\n openMenu(): void {\r\n if (!this.isOpen) {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigator', 'Navbar', 'Open_UserMenu');\r\n this._setIsOpen(true);\r\n this.services.sideMenu.closeMobileMenu();\r\n this.services.drawer.right.closeDrawer();\r\n }\r\n }\r\n}\r\n\r\n\r\n","import styled, { css } from 'styled-components';\r\nimport { Image } from '../../../../raw-components/image/image';\r\n\r\nexport const GameBadgeDefaultBox = styled(Image) <{ useSquareIcons?: boolean; }>`\r\n position: absolute;\r\n \r\n ${props => props.useSquareIcons ? css`\r\n bottom: 0;\r\n left: 0;\r\n max-width: 40%;\r\n ` \r\n : css`\r\n top: 0;\r\n left: 0;\r\n height: 24%;\r\n width: 23%;\r\n `}\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameBadgeDefaultBox} from './game-badge.default.box';\r\n\r\nexport const GameBadgeCasino777Box = styled(GameBadgeDefaultBox)`\r\n height: 28%;\r\n width: 28%;\r\n`;","import {GameBadgeDefaultBox} from './game-badge.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameBadgeCasino777Box} from './game-badge.casino777.box';\r\n\r\nexport const GameBadgeBox = styledByTheme(GameBadgeDefaultBox)\r\n .forCasino777(GameBadgeCasino777Box)\r\n .apply();\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {GameBadgeBox} from '../../boxes/game-badge/game-badge.box';\r\n\r\nexport interface GameBadgeComponentProps {\r\n badgeUrl?: string;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\n\r\nexport class GameBadgeComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.badgeUrl) {\r\n return null;\r\n }\r\n\r\n if(this.props.badgeUrl) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n }\r\n}\r\n","import React from 'react';\r\nimport {GameBadgeComponent} from '../game-badge/game-badge.component';\r\nimport {GameImageComponent, GameIconAnimationState} from '../game-image/game-image.component';\r\nimport {observer} from 'mobx-react';\r\nimport {TapHandler} from '../../../../tap-handler/tap-handler.component';\r\nimport {AnyStyledComponent} from 'styled-components';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {GAME_IMAGE_CONTAINER} from '../../../css-constants';\r\nimport {OrbitComponentWithState} from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\n\r\ninterface GameImageContainerComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport interface GameGameImageContainerComponentProps {\r\n gameInfo: GameInfo;\r\n box: AnyStyledComponent;\r\n playRealGameButton: React.ReactNode | null;\r\n onOpenRealGame: () => void;\r\n useSquareIcons?: boolean;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n}\r\n\r\n\r\nexport const GameImageContainerComponent = observer(\r\n class GameImageContainerComponent extends OrbitComponentWithState {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n }\r\n\r\n private _handleImageDoneLoading = () => {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n //className=\"game-item-image\"\r\n const gameItemImageRef: any = React.createRef();\r\n const Box = this.props.box;\r\n\r\n return (\r\n \r\n \r\n \r\n {this.props.playRealGameButton}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {TWO_LINES_TITLE} from '../../../css-constants';\r\n\r\nexport const GameTitleDefaultBox = styled.div<{hasTwoLinesTitle?: boolean}>`\r\n text-align: center;\r\n color: ${props => props.theme.colors.backgroundContrast};\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n line-height: normal;\r\n width: 100%;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n direction: initial;\r\n padding-bottom: 2px;\r\n\r\n &.${TWO_LINES_TITLE} {\r\n max-width: 90%;\r\n white-space: initial;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.2rem;\r\n padding-bottom: 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`\r\n","import styled from \"styled-components\";\r\nimport {GameTitleDefaultBox} from \"./game-title.default.box\";\r\n\r\nexport const GameTitleCipBox = styled(GameTitleDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n ${({theme}) => theme.font.presets.regular};\r\n }\r\n`","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleSIBox = styled(GameTitleDefaultBox)`\r\n font-weight: bold;\r\n`\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleMrGreenBox = styled(GameTitleDefaultBox)`\r\n ${({theme}) => theme.font.presets.light}\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\nimport {GameTitleCipBox} from \"./game-title.cip.box\";\r\nimport {GameTitleSIBox} from \"./game-title.si.box\";\r\nimport {GameTitleMrGreenBox} from './game-title.mrgreen.box';\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox)\r\n .forCip(GameTitleCipBox)\r\n .forWsopCip(GameTitleCipBox)\r\n .forSI(GameTitleSIBox)\r\n .forSICis(GameTitleSIBox)\r\n .forCasino777(GameTitleCasino777Box)\r\n .forMrGreen(GameTitleMrGreenBox).apply();","import styled from 'styled-components';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n text-align: center;\r\n opacity: 1;\r\n color: ${props => props.theme.colors.brandSecondary};\r\n\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n\r\nexport const MinMaxBetAmountDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './min-max-bet-amount.default.box';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n font-size: 1.4rem;\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`;\r\n\r\n\r\nexport const MinMaxBetAmountCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\n\r\nexport const MinMaxBetAmountSIBox = styled(MinMaxBetAmountDefaultBox) `\r\n color: ${({theme}) => theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\nimport {baseColors} from '../../../../../themes/definitions/mrgreen/base-colors';\r\n\r\nexport const MinMaxBetAmountMrGreenBox = styled(MinMaxBetAmountDefaultBox)`\r\n color: ${baseColors.gray033};\r\n\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${baseColors.gray033};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {GAME_GROUP_LIVE_CASINO} from '../../../css-constants';\r\n\r\nexport const MinMaxBetAmountCisBox = styled(MinMaxBetAmountDefaultBox)`\r\n .${GAME_GROUP_LIVE_CASINO} & {\r\n color: ${({theme}) => theme.colors.brandSecondary};\r\n }\r\n`;\r\n","import {MinMaxBetAmountDefaultBox} from './min-max-bet-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {MinMaxBetAmountCasino777Box} from './min-max-bet-amount.casino777.box';\r\nimport {MinMaxBetAmountSIBox} from './min-max-bet-amount.si.box';\r\nimport {MinMaxBetAmountMrGreenBox} from './min-max-bet-amount.mrgreen.box';\r\nimport { MinMaxBetAmountCisBox } from './min-max-bet-amount.cis.box';\r\n\r\nexport const MinMaxBetAmountBox = styledByTheme(MinMaxBetAmountDefaultBox)\r\n .forCasino777(MinMaxBetAmountCasino777Box)\r\n .forSI(MinMaxBetAmountSIBox)\r\n .forMrGreen(MinMaxBetAmountMrGreenBox)\r\n .forMrGreenCis(MinMaxBetAmountMrGreenBox)\r\n .forCis(MinMaxBetAmountCisBox)\r\n .forCip(MinMaxBetAmountCisBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\n\r\nexport interface InfoPageButtonComponentProps {\r\n enabled: boolean;\r\n onOpenInfoPage: () => void;\r\n}\r\n\r\nexport const InfoPageButtonComponent = observer(\r\n class InfoPageButtonComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.enabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {GameButtonsDefaultBox} from './game-buttons.default.box';\r\n\r\nexport const GameButtonsBox = GameButtonsDefaultBox;","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n//.hover-details\r\nexport const GameButtonsDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n width: 100%;\r\n z-index: 2;\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n transform: translateY(5rem);\r\n opacity: 0;\r\n transition: all 0.3s ease-in-out;\r\n padding-top: 2px;\r\n\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n`;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {CyClass} from '../../../../../../common/cy-classes';\r\n\r\nexport interface PlayDemoButtonComponentProps {\r\n enabled: boolean;\r\n onOpenAnonymousGame: () => void;\r\n}\r\n\r\nexport const PlayDemoButtonComponent = observer(\r\n class PlayDemoButtonComponent extends OrbitComponent {\r\n\r\n render() {\r\n if(!this.props.enabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n { this.services.translation.translate('DEMO') }\r\n \r\n );\r\n\r\n }\r\n }\r\n);\r\n\r\n","import styled from 'styled-components';\r\n\r\ninterface GameDetailsContainerProps {\r\n squareGameIcon?: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n align-content: center;\r\n justify-content: flex-start;\r\n overflow: hidden;\r\n top: ${props => props.squareGameIcon? '10px' : '0'};\r\n min-height: 4.7rem;\r\n padding: 0 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 4rem;\r\n padding: 0 0.4rem;\r\n top: ${props => props.squareGameIcon? '5px' : '0'};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n min-height: 3.6rem;\r\n }\r\n /** Glow Line Boottom **/\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowPC.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: bottom center;\r\n background-size: contain;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: 40px;\r\n margin: 0 auto;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n background-image: url(\"${props => props.theme.images.horizontalLineGlowMobile.toString()}\");\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {\r\n GameDetailsContainerDefaultBox\r\n} from './game-details-container.default.box';\r\n\r\n\r\n\r\nexport const GameDetailsContainerCasino777Box = styled(GameDetailsContainerDefaultBox)`\r\n overflow: initial;\r\n &:after {\r\n background-size: 75%;\r\n opacity: .6;\r\n height: 15px;\r\n bottom:-15px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n bottom:-18px;\r\n }\r\n }\r\n`","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameDetailsContainerCasino777Box} from './game-details-container.casino777.box';\r\n\r\nexport const GameDetailsContainerBox = styledByTheme(GameDetailsContainerDefaultBox).forCasino777(GameDetailsContainerCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 70%;\r\n text-align: center;\r\n opacity: 1;\r\n font-size: 1.4rem;\r\n font-weight: 600;\r\n margin-bottom: 4px;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3rem;\r\n font-weight: 400;\r\n width: 100%;\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\n\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n color: ${props => props.theme.colors.dangerLight};\r\n font-weight: 600;\r\n ${({theme}) => theme.font.presets.bold};\r\n font-size: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 1.4rem;\r\n top: 2rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.2rem;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountSiBox = styled(JackpotAmountDefaultBox)`\r\n font-size: ${props => props.theme.font.size.small};\r\n font-weight: 400;\r\n`","import styled from \"styled-components\";\r\nimport {JackpotAmountDefaultBox} from \"./jackpot-amount.default.box\";\r\n\r\nexport const JackpotAmountMrgreenBox = styled(JackpotAmountDefaultBox)`\r\n width: 100%;\r\n`","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\nimport {JackpotAmountSiBox} from \"./jackpot-amount.si.box\";\r\nimport {JackpotAmountMrgreenBox} from \"./jackpot-amount.mrgreen.box\";\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox)\r\n .forCasino777(JackpotAmountCasino777Box)\r\n .forSI(JackpotAmountSiBox)\r\n .forSICis(JackpotAmountSiBox)\r\n .forMrGreen(JackpotAmountMrgreenBox)\r\n .forMrGreenCis(JackpotAmountMrgreenBox)\r\n .apply();","import {GameInfoContainerDefaultBox} from './game-info-container.default.box';\r\n\r\nexport const GameInfoContainerBox = GameInfoContainerDefaultBox;","import styled from 'styled-components';\r\nimport {ENABLE_HOVER_ANIMATION, GAME_BOX} from '../../../css-constants';\r\n\r\nexport const GameInfoContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n padding-top: 2px;\r\n width: 100%;\r\n transition: all 0.3s ease-in-out;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0;\r\n }\r\n \r\n\r\n .${GAME_BOX}:hover &{\r\n &.${ENABLE_HOVER_ANIMATION} {\r\n transform: translateY(6rem);\r\n opacity: 0;\r\n }\r\n \r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const AmountContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 2.5rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n min-height: 2.0rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const TwoRowsGameTitleContainerBox = styled.div<{hasDetails: boolean}>`\r\n height: 3.5rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n height: 2.7rem;\r\n }\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport {observer} from 'mobx-react';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport classNames from 'classnames';\r\nimport {ENABLE_HOVER_ANIMATION, TWO_LINES_TITLE} from '../../../css-constants';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\n\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {MinMaxBetAmountBox} from '../../boxes/min-max-bet-amount/min-max-bet-amount.box';\r\nimport {InfoPageButtonComponent} from '../info-page-button/info-page-button.component';\r\nimport {GameButtonsBox} from '../../boxes/game-buttons/game-buttons.box';\r\nimport {PlayDemoButtonComponent} from '../play-demo-button/play-demo-button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\nimport {GameInfoContainerBox} from '../../boxes/game-info-container/game-info-container.box';\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\nimport { AmountContainerBox } from '../../boxes/amount-container/amount-container.box';\r\nimport { TwoRowsGameTitleContainerBox } from '../../boxes/two-rows-game-title-container/two-rows-game-title-container.box';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n squareGameIcon?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n\r\n private get _allowHoverDetails(): boolean {\r\n\r\n if (this.props.disableGameInfoHover || this.services.device.isMobile || !this.props.gameInfo.allowHoverDetails) {\r\n return false;\r\n }\r\n\r\n return Boolean(this.props.gameInfo.hasInfoPage || this.props.gameInfo.allowDemoButtonInSingleGame);\r\n }\r\n\r\n\r\n private _renderGameButtons() {\r\n if (!this._allowHoverDetails) {\r\n return null;\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderAmount() {\r\n if (this.props.gameInfo.hasJackpot) {\r\n return this._renderJackpot();\r\n }\r\n\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n const hasMinMaxBets = this.props.gameInfo.allowMinMaxBet && formattedMinBaxBets;\r\n if (hasMinMaxBets) {\r\n return this._renderMinBaxBet();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _hasDetails() {\r\n return this.props.gameInfo.allowMinMaxBet || this.props.gameInfo.hasJackpot;\r\n }\r\n\r\n private _renderJackpot() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderMinBaxBet() {\r\n const formattedMinBaxBets = this.services.currency.formatMinMaxBet(this.props.gameInfo.minBet, this.props.gameInfo.maxBet);\r\n return (\r\n \r\n {formattedMinBaxBets}\r\n \r\n );\r\n }\r\n\r\n private _renderTitle() {\r\n const hasDetails = this._hasDetails();\r\n if (this.props.hasTwoLinesTitle) {\r\n return \r\n \r\n {this.props.gameInfo.title}\r\n \r\n ;\r\n } else {\r\n return \r\n {this.props.gameInfo.title}\r\n ;\r\n }\r\n }\r\n\r\n private _renderGameInfoSection() {\r\n return (\r\n \r\n {this._renderTitle()}\r\n {this.props.hasTwoLinesTitle || this._hasDetails()?\r\n {this._renderAmount()}\r\n : null}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderGameInfoSection()}\r\n {this._renderGameButtons()}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {HOME_PAGE, LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface GameBoxProps {\r\n squareGameIcon: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n margin-top: 10px;\r\n margin-bottom: 3rem;\r\n width: calc(100% / 7);\r\n text-align: center;\r\n cursor: pointer;\r\n user-select: none;\r\n\r\n\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n justify-content: center;\r\n }\r\n`;\r\n\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} &.${SWIPER_MODE} {\r\n width: 16.6667%;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1%;\r\n width: calc(100% / 7);\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: ${props => props.squareGameIcon ? '15px' : '0'};\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0 4px;\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 16.667%;\r\n &.${SWIPER_MODE} {\r\n width: 16.1%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 20%;\r\n &.${SWIPER_MODE} {\r\n width: 19%;\r\n }\r\n }\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 33.3333%;\r\n &.${SWIPER_MODE} {\r\n width: 31%;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);","import styled, { css } from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game.default.box';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst common = css`\r\n ${({theme}) => theme.font.presets.bold};\r\n`;\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common}\r\n margin-bottom: 5.5rem;\r\n\r\n .${SWIPER_MODE} &{\r\n height:24rem;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${LOBBY_PAGE} & {\r\n width:14.25%;\r\n padding: 0 1%;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n .${SWIPER_MODE} & {\r\n height:22rem;\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common}\r\n\r\n margin-bottom: 0;\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n .${SWIPER_MODE} &{\r\n height: 18rem;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n .${SWIPER_MODE} &{\r\n height: 26rem;\r\n }\r\n }\r\n`;\r\n\r\nexport const GameCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport {GameDefaultBox} from \"./game.default.box\";\r\n\r\nexport const GameCisBox = styled(GameDefaultBox)`\r\n margin-bottom: 0;\r\n margin-top: 0\r\n`;","import {GameDefaultBox} from './game.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameCasino777Box} from './game.casino777.box';\r\nimport {GameCisBox} from \"./game.cis.box\";\r\n\r\n// TODO: address this any!!!!\r\nexport const GameBox: any = styledByTheme(GameDefaultBox)\r\n .forCis(GameCisBox)\r\n .forCasino777(GameCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\nimport {GAME_BOX} from '../../../css-constants';\r\n\r\n\r\nexport const PlayRealButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0;\r\n transition: all 0.35s ease-in-out;\r\n\r\n .${GAME_BOX}:hover & {\r\n transform: translateY(0);\r\n opacity: 0.9;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lowHeight}, ${({theme}) => theme.mediaQuery.xlExact} {\r\n background-position: -552px -408px;\r\n }\r\n\r\n`;","import styled from 'styled-components';\r\nimport {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\n\r\nexport const PlayRealButtonCasino777Box = styled(PlayRealButtonDefaultBox)`\r\n background-position: -195px -354px;\r\n width: 6.3rem;\r\n height: 6.3rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n background-position: -201px -358px;\r\n }\r\n`;","import {PlayRealButtonDefaultBox} from './play-real-button.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {PlayRealButtonCasino777Box} from './play-real-button.casino777.box';\r\n\r\n\r\nexport const PlayRealButtonBox = styledByTheme(PlayRealButtonDefaultBox).forCasino777(PlayRealButtonCasino777Box).apply();\r\n","import styled, {css} from 'styled-components';\r\nimport { ORBIT_TAP } from '../../../../../themes/css-global-classes';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface GameImageContainerProps {\r\n isLoading?: boolean;\r\n squareIcon?: boolean;\r\n isCasinoGameIcon?: boolean;\r\n}\r\n\r\nfunction getPlaceholderBackground(theme, isLoading: boolean, isSquareIcon: boolean, isCasinoGameIcon: boolean): string {\r\n\r\n if (isLoading) {\r\n return theme.images.emptyImage.toString();\r\n }\r\n\r\n if (isCasinoGameIcon) {\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.cardAndTablesSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.cardAndTablesBackgroundImage.toString();\r\n }\r\n\r\n if (isSquareIcon) {\r\n return theme.images.singleGame.defaultSquareBackgroundImage.toString();\r\n }\r\n\r\n return theme.images.singleGame.defaultBackgroundImage.toString();\r\n}\r\n\r\n//.game-item-image\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n max-width: 21rem;\r\n margin: auto;\r\n background: url(${({theme, squareIcon, isLoading, isCasinoGameIcon}) => getPlaceholderBackground(theme, isLoading, squareIcon, isCasinoGameIcon)}) no-repeat center center;\r\n background-size: 100%;\r\n ${props => props.squareIcon && css`\r\n border-radius: 15px;\r\n background-size: 96%;\r\n `};\r\n\r\n &::after {\r\n position: absolute;\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n content: \"\";\r\n top: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n left: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n right: ${({squareIcon}) => squareIcon ? \"0\" : \"1rem\"};\r\n bottom: ${({squareIcon}) => squareIcon ? \"0\" : \"1.5rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n\r\n border-radius: ${({squareIcon}) => squareIcon ? \"1.5rem\" : \"35%\"};\r\n animation: LoadingAnimation 1s linear 3;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n transform: none;\r\n\r\n &.${ORBIT_TAP} {\r\n transform: scale(0.95);\r\n }\r\n\r\n ${props => props.squareIcon && css`\r\n border-radius: 8px;\r\n `};\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\n\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './game-image-container.default.box';\r\nimport {LOBBY_PAGE} from '../../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\nimport {SINGLE_GAME_IMAGE} from '../../../css-constants';\r\n\r\n\r\nfunction common(): string {\r\n return `\r\n max-width: 19rem;\r\n & > .${SINGLE_GAME_IMAGE} {\r\n top: 4px;\r\n position: relative;\r\n }\r\n `;\r\n}\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n ${common()}\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n &img {\r\n min-height: 139px\r\n .${LOBBY_PAGE} & {\r\n min-height: 125px;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n ${common()}\r\n`;\r\n\r\nexport const GameImageContainerCasino777Box = styledByDevice(PcBox, MobileBox);\r\n","import React from \"react\";\r\nimport { observable, action, makeObservable } from \"mobx\";\r\nimport { observer } from \"mobx-react\";\r\nimport {GameInfo} from \"../../../services/games/game-info\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileComponent} from \"../../live-streaming-tile/video-common-components/video-tile/video-tile.component\";\r\nimport {VideoItemContainerBox} from \"./boxes/video-item-container.box\";\r\nimport {IVideoPlayingService} from \"../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport enum VIDEO_ITEM_TYPE {\r\n LIVE_STREAM = 'Live-Streaming-Video-Item',\r\n STATIC = 'Static-Video-Item'\r\n}\r\n\r\nexport interface SingleGameVideoTemplateProps {\r\n gameInfo: GameInfo;\r\n intersectionTarget?: HTMLDivElement;\r\n onOpenRealGame: () => void;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n gameIndex?: number;\r\n onBringInCentralView: (gameIndex: number) => void;\r\n\r\n}\r\n\r\n@observer\r\nexport class SingleGameVideoTemplate extends OrbitComponent {\r\n\r\n constructor(props: SingleGameVideoTemplateProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n\r\n private _inSwiperIntersectionObserver: IntersectionObserver | null = null;\r\n private _viewportIntersectionObserver: IntersectionObserver | null = null;\r\n private _videoContainerElement: HTMLDivElement | null = null;\r\n @observable.ref\r\n private _isInCenterStage = false;\r\n @observable.ref\r\n private _inViewport = false;\r\n\r\n private _captureVideoContainerRef = (element: HTMLDivElement | null) => {\r\n this._videoContainerElement = element;\r\n if (!this._inSwiperIntersectionObserver || !this._viewportIntersectionObserver) {\r\n return;\r\n }\r\n if (element) {\r\n this._inSwiperIntersectionObserver.observe(element);\r\n this._viewportIntersectionObserver.observe(element);\r\n } else {\r\n this._inSwiperIntersectionObserver.unobserve(element);\r\n this._viewportIntersectionObserver.unobserve(element);\r\n }\r\n }\r\n\r\n\r\n private _triggerOnBringInCentralView(): void {\r\n if (this._inViewport && this._isInCenterStage) {\r\n this.props.onBringInCentralView(this.props.gameIndex);\r\n }\r\n }\r\n\r\n private _createSwiperIntersectionObserver(element: HTMLElement) {\r\n const intersectionObserverOptions: IntersectionObserverInit = {\r\n threshold: 0.99,\r\n root: element\r\n };\r\n if (this.services.mediaQuery.xlAndAbove) {\r\n intersectionObserverOptions.rootMargin = \"0px -33.33%\";\r\n }\r\n\r\n this._inSwiperIntersectionObserver = new IntersectionObserver(this._inSwiperIntersectionObserverCallback, intersectionObserverOptions);\r\n }\r\n\r\n private _inSwiperIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setIsInCenterStage(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setIsInCenterStage(i: boolean) {\r\n this._isInCenterStage = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroySwiperIntersectionObserver() {\r\n if (this._inSwiperIntersectionObserver) {\r\n this._inSwiperIntersectionObserver.disconnect();\r\n this._inSwiperIntersectionObserver = null;\r\n }\r\n }\r\n\r\n private _createViewportIntersectionObserver() {\r\n this._viewportIntersectionObserver = new IntersectionObserver(this._viewportIntersectionObserverCallback, {\r\n threshold: 0.99\r\n });\r\n }\r\n\r\n private _viewportIntersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n entries.forEach((entry) => {\r\n this.setInViewport(entry.isIntersecting);\r\n });\r\n }\r\n\r\n @action.bound\r\n setInViewport(i: boolean) {\r\n this._inViewport = i;\r\n this._triggerOnBringInCentralView();\r\n }\r\n\r\n private _destroyViewportIntersectionObserver() {\r\n if (this._viewportIntersectionObserver) {\r\n this._viewportIntersectionObserver.disconnect();\r\n this._viewportIntersectionObserver = null;\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this._createViewportIntersectionObserver();\r\n if (this._videoContainerElement) {\r\n this._viewportIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n if (this.props.intersectionTarget) {\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n if (this._videoContainerElement) {\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroySwiperIntersectionObserver();\r\n this._destroyViewportIntersectionObserver();\r\n }\r\n\r\n componentDidUpdate(prevProps: SingleGameVideoTemplateProps) {\r\n if (this.props.intersectionTarget) {\r\n if (this.props.intersectionTarget !== prevProps.intersectionTarget) {\r\n this._destroySwiperIntersectionObserver();\r\n this._createSwiperIntersectionObserver(this.props.intersectionTarget);\r\n this._inSwiperIntersectionObserver.observe(this._videoContainerElement);\r\n }\r\n } else {\r\n this._destroySwiperIntersectionObserver();\r\n }\r\n }\r\n\r\n private _getVideoPlayingService = (): IVideoPlayingService => {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.LIVE_STREAM) {\r\n return this.services.liveStreamPlaying;\r\n }\r\n\r\n return this.services.staticVideoPlaying;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameImageContainerCasino777Box} from './game-image-container.casino777.box';\r\n\r\nexport const GameImageContainerBox = styledByTheme(GameImageContainerDefaultBox).forCasino777(GameImageContainerCasino777Box).apply();","import styled from \"styled-components\";\r\n\r\nexport const GameNumberBadgeDefaultBox = styled.div`\r\n font-size: 100px;\r\n line-height: 1;\r\n ${({theme}) => theme.font.presets.secondary};\r\n margin-right: -30px;\r\n color: ${props => props.theme.colors.backgroundDark};\r\n z-index: 2;\r\n text-shadow: -1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px -1px 0 ${props => props.theme.colors.brandPrimary},\r\n -1px 1px 0 ${props => props.theme.colors.brandPrimary},\r\n 1px 1px 0 ${props => props.theme.colors.brandPrimary};\r\n\r\n /**\r\n * BUGFIX-1896215 https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1896215\r\n * In a scrolling container (in this case orbit swiper), the first animated icon loaded is above all elements (in this case the static image and the number badge)\r\n * When swiping, if the first animated icon gets out of the viewport and unloads, the problem is transfered to the second animation.\r\n * Yes, I know, the solution doesn't have any logic. But I tried this long shot and it worked:\r\n * https://css-tricks.com/forums/topic/safari-for-ios-z-index-ordering-bug-while-scrolling-a-page-with-a-fixed-element/\r\n * https://stackoverflow.com/questions/16033416/while-scrolling-on-an-ios-device-the-z-index-of-elements-isnt-working\r\n * https://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela\r\n */\r\n -webkit-transform: translate3d(0,0,0);\r\n /**\r\n * Because YES, Safari is the new Internet Explorer!!!\r\n */\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-right: -17px;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 75px;\r\n margin-right: -16px;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\n\r\nexport const GameNumberBadgeMrGreenBox = styled(GameNumberBadgeDefaultBox)`\r\n font-size: 110px;\r\n font-family: \"Oleo-Script-Bold\", verdana, sans-serif;\r\n text-shadow: none;\r\n color: white;\r\n -webkit-text-fill-color: white;\r\n -webkit-text-stroke-width: 3px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.brandPrimary};\r\n`;\r\n","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {GameNumberBadgeDefaultBox} from \"./game-number-badge.default.box\";\r\nimport {GameNumberBadgeMrGreenBox} from \"./game-number-badge.mrgreen.box\";\r\n\r\nexport const GameNumberBadgeBox = styledByTheme(GameNumberBadgeDefaultBox).forMrGreen(GameNumberBadgeMrGreenBox).apply();\r\n","import React from 'react'\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {observer} from 'mobx-react';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {PlayRealButtonBox} from './boxes/play-real-button/play-real-button.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameNumberBadgeBox} from \"./boxes/game-number-badge/game-number-badge.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport { GameIconAnimationState } from '../common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameRegularTemplateComponentProps {\r\n className: string;\r\n gameInfo: GameInfo;\r\n disableGameInfoHover: boolean;\r\n onMouseEnter: () => void;\r\n onMouseLeave: () => void;\r\n onOpenRealGame: () => void;\r\n onOpenAnonymousGame: () => void;\r\n onOpenInfoPage: () => void;\r\n onAnimationIconStateChange?(state: GameIconAnimationState): void;\r\n gameIndex?: number;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n hasTwoLinesTitle: boolean;\r\n}\r\n\r\nexport const SingleGameRegularTemplateComponent = observer(\r\n class SingleGameRegularTemplateComponent extends OrbitComponent {\r\n\r\n get gameInfo(): GameInfo {\r\n return this.props.gameInfo;\r\n }\r\n\r\n private _renderPlayRealGameButton() {\r\n if(this.services.device.os.isMobileOS) {\r\n return null;\r\n }\r\n\r\n return ();\r\n }\r\n\r\n private _renderGameNumberBadge() {\r\n if(!this.props.showNumberBadge || Check.isNullOrUndefined(this.props.gameIndex)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.gameIndex+1}\r\n \r\n )\r\n }\r\n render() {\r\n return (\r\n <>\r\n\r\n {this._renderGameNumberBadge()}\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport class CssClassNameBuilder {\r\n _classes: string[] = [];\r\n append(...classes): this {\r\n\r\n classes.forEach(item => {\r\n if(Check.isString(item)) {\r\n this._classes.push(item);\r\n } else if(Check.isArray(item)) {\r\n item.forEach(c => this._classes.push(String(c)));\r\n } else if (Check.isNullOrUndefined(item)) {\r\n // just ignore it\r\n } else {\r\n throw new Error('append method accepts only string or string[] as argument');\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n build() {\r\n let result = this._classes.reduce((acc, curr) => acc + ' ' + curr, '');\r\n return result.substring(1, result.length);\r\n }\r\n}\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SWIPER_MODE} from '../../../css-constants';\r\nimport {styledByDevice} from '../../../../../themes/architecture/styled-by-device';\r\n\r\nconst DefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n width: 32%;\r\n margin: 10px 1% 0 0.25rem;\r\n padding-left: 0;\r\n padding-right: 0;\r\n padding-bottom: 5rem;\r\n cursor: pointer;\r\n user-select: none;\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n justify-content: center;\r\n &.${SWIPER_MODE} {\r\n flex-shrink: 0;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n flex-direction: row;\r\n justify-content: space-around;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n width: 49%;\r\n flex-shrink: 0;\r\n padding: 0.5rem;\r\n margin-right:0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: 100%;\r\n padding: 0 2em 1em;\r\n margin-left:0;\r\n margin-right:0;\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\nexport const GameDefaultBox = styledByDevice(PcBox, MobileBox);\r\n\r\n","import {GameDefaultBox} from './game.default.box';\r\n\r\nexport const GameBox = GameDefaultBox;","import styled from 'styled-components';\r\nimport { styledByDevice } from '../../../../../themes/architecture/styled-by-device';\r\nimport { CssRule } from '../../../../../themes/architecture/css-helpers/css-rule';\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 40%;\r\n max-width: 20rem;\r\n margin-left: 0;\r\n margin-right: 3.5rem;\r\n overflow: visible;\r\n background-size: 100%;\r\n background-image: url(\"${props => props.theme.images.singleGame.defaultBackgroundImage.toString()}\");\r\n background-repeat: no-repeat;\r\n\r\n &:after {\r\n content: \"\";\r\n background-image: url(\"${props => props.theme.images.verticalLineGlow.toString()}\");\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n position: absolute;\r\n top: 0;\r\n height: 100%;\r\n transform: translateX(100%);\r\n }\r\n`;\r\n\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n\r\n\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n &:after {\r\n right: -10px;\r\n width: 40px;\r\n ${CssRule.For.RTL.build()} & {\r\n right: 28px;\r\n }\r\n }\r\n }\r\n\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n &:after {\r\n right: -8%;\r\n width: 25px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: 80%;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const GameImageContainerDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import {GameImageContainerDefaultBox} from './game-image-container.default.box';\r\n\r\nexport const GameImageContainerBox = GameImageContainerDefaultBox;","import {GameDetailsContainerDefaultBox} from './game-details-container.default.box';\r\n\r\nexport const GameDetailsContainerBox = GameDetailsContainerDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const GameDetailsContainerDefaultBox = styled.div`\r\n position: relative;\r\n flex: 1 0 auto;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0;\r\n overflow: hidden;\r\n text-align: center;\r\n font-size: 1rem;\r\n align-items: flex-start;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n font-size: 0.85rem;\r\n justify-content: space-between;\r\n min-height: 4rem;\r\n }\r\n \r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n align-items: center;\r\n font-size: 0.7rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const GameTitleDefaultBox = styled.div`\r\n line-height: 2.5rem;\r\n font-size: 1.5em;\r\n font-weight: 300;\r\n ${({theme}) => theme.font.presets.medium};\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n max-width: 13rem;\r\n line-height: 1.7;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {GameTitleDefaultBox} from './game-title.default.box';\r\n\r\nexport const GameTitleCasino777Box = styled(GameTitleDefaultBox)`\r\n font-size: 1.9em;\r\n`;\r\n","import {GameTitleDefaultBox} from './game-title.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {GameTitleCasino777Box} from './game-title.casino777.box';\r\n\r\n\r\nexport const GameTitleBox = styledByTheme(GameTitleDefaultBox).forCasino777(GameTitleCasino777Box).apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotAmountDefaultBox = styled.div`\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 2.6em;\r\n width: 100%;\r\n margin-bottom: 4px;\r\n @media ${({theme}) => theme.mediaQuery.xlExact} {\r\n font-size: 2.2em;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {baseColors} from \"../../../../../themes/definitions/casino777/base-colors\";\r\n\r\nexport const JackpotAmountCasino777Box = styled(JackpotAmountDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-weight: 300;\r\n color: ${baseColors.base04Dark};\r\n text-shadow: 3px 3px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight}, 1px 1px 0 ${props => props.theme.colors.textLight}, 2px 2px 0 ${props => props.theme.colors.textLight}, 0 0 0 ${props => props.theme.colors.textLight};\r\n -webkit-text-stroke-width: .5px;\r\n -webkit-text-stroke-color: ${props => props.theme.colors.textLight};\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n color: ${props => props.theme.colors.textLight};\r\n text-shadow: none;\r\n letter-spacing: .3px;\r\n -webkit-text-stroke-width: 0;\r\n -webkit-text-stroke-color: transparent;\r\n }\r\n`;\r\n","import {JackpotAmountDefaultBox} from './jackpot-amount.default.box';\r\nimport {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {JackpotAmountCasino777Box} from './jackpot-amount.casino777.box';\r\n\r\nexport const JackpotAmountBox = styledByTheme(JackpotAmountDefaultBox).forCasino777(JackpotAmountCasino777Box).apply();","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\nimport {Button} from '../../../../../basic-ui-components/button/base/button.component';\r\nimport {GameDetailsContainerBox} from '../../boxes/game-details-container/game-details-container.box';\r\nimport {GameTitleBox} from '../../boxes/game-title/game-title.box';\r\nimport {JackpotAmountBox} from '../../boxes/jackpot-amount/jackpot-amount.box';\r\nimport {GameJackpotComponent} from '../../../../game-jackpot/game-jackpot.component';\r\n\r\nexport interface GameDetailsContainerComponentProps {\r\n gameInfo: GameInfo;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const GameDetailsContainerComponent = observer(\r\n class GameDetailsContainerComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.gameInfo.title}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {this.services.translation.translate('HIT_THE_JACKPOT')}\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\nimport {GameImageContainerComponent} from '../common/parts/game-image-container.component/game-image-container.component';\r\nimport {GameBox} from './boxes/game/game.box';\r\nimport {GameImageContainerBox} from './boxes/game-image-container/game-image-container.box';\r\nimport {GameDetailsContainerComponent} from './parts/game-details-container/game-details-container.component';\r\nimport {GAME_BOX_JACKPOT_TEMPLATE} from '../css-constants';\r\n\r\nexport interface SingleGameJackpotTemplateComponentProps {\r\n gameInfo: GameInfo;\r\n className: string;\r\n onOpenRealGame: () => void;\r\n}\r\n\r\nexport const SingleGameJackpotTemplateComponent = observer(\r\n class SingleGameJackpotTemplateComponent extends OrbitComponent {\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {LiveGameContainerDefaultBox} from \"./live-game-container.default.box\";\r\n\r\nexport const LiveGameContainerBox = LiveGameContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveGameContainerDefaultBox = styled.div`\r\n\r\n flex-shrink: 0;\r\n width: calc(100% / 4);\r\n padding: 1rem 0.5rem 3rem 0.5rem;\r\n\r\n @media ${props => props.theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 2);\r\n padding: 1rem 0.5rem;\r\n }\r\n`;\r\n","import React from 'react'\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {LiveGameContainerBox} from './boxes/live-game-container/live-game-container.box';\r\nimport {LiveCasinoArenaGridItem} from '../../arena-host/new-live-casino-arena/live-casino-arena-grid/live-casino-arena-grid-item.component';\r\nimport {GameInfo} from '../../../services/games/game-info';\r\n\r\nexport interface SingleGameLiveTemplateComponentProps {\r\n tableConfig: GameInfo;\r\n}\r\n\r\nexport const SingleGameLiveTemplateComponent = observer(\r\n class SingleGameLiveTemplateComponent extends OrbitComponent {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import {VideoTileDefaultBox} from \"./video-tile-default.box\";\r\n\r\nexport const VideoTileBox = VideoTileDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileDefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n box-shadow: ${props => props.theme.colors.boxBorderDark} 0px 10px 8px -6px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n border-radius: 12px;\r\n border: 0.5px solid ${props => props.theme.components.newLiveCasino.colors.gridItem.wrapperBorder};\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.lAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 12.5vw;\r\n }\r\n\r\n @media ${({theme}) => `${theme.mediaQuery.mAndBelow} and ${theme.mediaQuery.landscape}`} {\r\n padding: 0 25vw;\r\n }\r\n`;\r\n","import {VideoOverlayItemDefaultBox} from \"./video-overlay-item.default.box\";\r\n\r\nexport const VideoOverlayItemBox = VideoOverlayItemDefaultBox;\r\n","import styled, {css} from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\ninterface ILiveStreamingOverlayItemDefaultBoxProps {\r\n capsule?: boolean;\r\n transparent?: boolean;\r\n}\r\n\r\nexport const VideoOverlayItemDefaultBox = styled.div`\r\n display: flex;\r\n background: ${({theme, transparent}) => !transparent && hexToRgba(theme.colors.background.toString(), 0.7)};\r\n\r\n\r\n ${({capsule}) => !capsule ? css`\r\n padding: 2px;\r\n border-radius: 4px;\r\n ` : css`\r\n padding: 0 0.25rem;\r\n border-radius: 2rem;\r\n `}\r\n`;\r\n","import {VideoSoundButtonDefaultBox} from \"./video-sound-button-default.box\";\r\n\r\nexport const VideoSoundButtonBox = VideoSoundButtonDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoSoundButtonDefaultBox = styled.div`\r\n padding: 0.25rem;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.9) };\r\n border-radius: 50%;\r\n`;\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoSoundButtonBox} from \"./boxes/video-sound-button.box\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoSoundButtonComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n}\r\n\r\nexport class VideoSoundButtonComponent extends OrbitComponent {\r\n private _renderIcon() {\r\n\r\n if (this.props.videoPlayingService.isVideoMuted) {\r\n const MuteIcon = this.services.theme.currentTheme.icons.muteIcon;\r\n return ;\r\n }\r\n\r\n const UnmuteIcon = this.services.theme.currentTheme.icons.unmuteIcon;\r\n return ;\r\n }\r\n\r\n private _handleClick() {\r\n this.props.videoPlayingService.toggleVideoSound();\r\n }\r\n\r\n render() {\r\n return (\r\n this._handleClick()}>\r\n {this._renderIcon()}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoOverlayItemBox} from \"../video-overlay-item/video-overlay-item.box\";\r\nimport {VideoSoundButtonComponent} from \"../video-sound-button/video-sound-button.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\nexport interface VideoTileOverlayComponentProps {\r\n videoPlayingService: IVideoPlayingService;\r\n videoPlaying: boolean;\r\n bottomLeftComponent?: React.ReactNode;\r\n bottomRightComponent?: React.ReactNode;\r\n}\r\n\r\nexport class VideoTileOverlayComponent extends OrbitComponent {\r\n\r\n private _padding = \"1rem\";\r\n\r\n private _renderTopRight(): React.ReactElement {\r\n if (!this.props.videoPlaying) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderBottomLeft(): React.ReactElement {\r\n if (!this.props.bottomLeftComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomLeftComponent}\r\n \r\n );\r\n }\r\n\r\n private _renderBottomRight(): React.ReactElement {\r\n if (!this.props.bottomRightComponent) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.props.bottomRightComponent}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderTopRight()}\r\n {this._renderBottomLeft()}\r\n {this._renderBottomRight()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoTileOverlayDefaultBox} from \"./video-tile-overlay-default.box\";\r\n\r\nexport const VideoTileOverlayBox = VideoTileOverlayDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 1.5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${({theme}) => theme.colors.textLight};\r\n background: rgba(0,0,0,0.5);\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoTileStaticImageOverlayDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0px;\r\n right: 0;\r\n background-color: ${props => hexToRgba(props.theme.colors.background, 0.85)};;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../themes/hex-to-rgba\";\r\nimport {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\n\r\nexport const VideoTileStaticImageOverlayMrGreenBox = styled(VideoTileStaticImageOverlayDefaultBox)`\r\n background-color: ${props => hexToRgba(props.theme.colors.backgroundMiddleDark, 0.85)};\r\n`;\r\n","import {VideoTileStaticImageOverlayDefaultBox} from \"./video-tile-static-image-overlay-default.box\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {VideoTileStaticImageOverlayMrGreenBox} from \"./video-tile-static-image-overlay.mrgreen.box\";\r\n\r\nexport const VideoTileStaticImageOverlayBox = styledByTheme(VideoTileStaticImageOverlayDefaultBox)\r\n .forMrGreen(VideoTileStaticImageOverlayMrGreenBox)\r\n .apply();\r\n","import {VideoTileSkeletonContainerDefaultBox} from \"./video-tile-skeleton-container-default.box\";\r\n\r\nexport const VideoTileSkeletonContainerBox = VideoTileSkeletonContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonContainerDefaultBox = styled.div`\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.video`\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const VideoDefaultBox = DefaultBox;\r\n","import { VideoDefaultBox } from './video-default.box';\r\nimport { styledByTheme } from '../../../../../themes/architecture/styled-by-theme';\r\n\r\nexport const VideoBox = styledByTheme(VideoDefaultBox).apply();\r\n","import { VideoPlayButtonDefaultBox } from './video-play-button.default.box';\r\n\r\n\r\nexport const VideoPlayButtonBox = VideoPlayButtonDefaultBox;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const VideoPlayButtonDefaultBox = styled.button`\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-position: -544px -409px;\r\n background-size: 1200px;\r\n background-repeat: no-repeat;\r\n position: absolute;\r\n cursor: pointer;\r\n right: 0;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n margin: auto;\r\n width: 6rem;\r\n height: 6rem;\r\n opacity: 0.9;\r\n transform: scale(1.5);\r\n transform: translateY(0);\r\n transition: all 0.35s ease-in-out;\r\n`;\r\n","import styled from 'styled-components';\r\n\r\ninterface LiveStreamingVideoContainerBoxProps {\r\n videoIsLoading: boolean;\r\n videoWatchTimeLimitReached: boolean;\r\n displayVideo: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n display: ${props => props.displayVideo ? 'block' : 'none'};\r\n width: 100%;\r\n height: 100%;\r\n ${props => props.videoIsLoading || props.videoWatchTimeLimitReached ? 'filter: blur(2px)' : null};\r\n`;\r\n\r\nexport const VideoContainerDefaultBox = DefaultBox;\r\n","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { VideoContainerDefaultBox } from './video-container-default.box';\r\n\r\nexport const VideoContainerBox = styledByTheme(VideoContainerDefaultBox).apply();\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { CyClass } from '../../../../../common/cy-classes';\r\nimport { OrbitComponent } from '../../../base-components/orbit-component/orbit-component';\r\nimport { IVideoPlayer } from '../../../../services/video-live-stream/video-players/video-player.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport { VideoBox } from './boxes/video.box';\r\nimport { VideoPlayButtonBox } from \"../video-play-button/video-play-button.box\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {VideoContainerBox} from '../video-container/video-container.box';\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\n\r\ninterface VideoComponentProps {\r\n gameInfo: GameInfo;\r\n muted: boolean;\r\n onError?: (hasError: boolean, retryFn?: (() => void) | undefined) => void;\r\n onLoading?: (isLoading: boolean) => void;\r\n onWatchTimeLimitReached?: (watchTimeLimitReached: boolean) => void;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n display: boolean;\r\n videoPlayingService: IVideoPlayingService;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoComponent extends OrbitComponent {\r\n @observable.ref\r\n private _videoPlayer: IVideoPlayer = null;\r\n\r\n constructor(props: VideoComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @action.bound\r\n setLiveStreamPlayer(player: IVideoPlayer) {\r\n this._videoPlayer = player;\r\n }\r\n\r\n private _videoElement: HTMLVideoElement | null = null;\r\n private _isAppVisible = true;\r\n\r\n private _captureVideoRef = (mediaElement: HTMLVideoElement | null) => {\r\n if (mediaElement) {\r\n this._videoElement = mediaElement;\r\n }\r\n }\r\n\r\n private async _createVideoPlayer() {\r\n const liveStreamPlayer = await this.props.videoPlayingService.getVideoPlayer(this.props.gameInfo, this._videoElement, this.props.isLastGametype);\r\n this.setLiveStreamPlayer(liveStreamPlayer);\r\n }\r\n\r\n private _playVideo = async () => {\r\n if (!this._videoPlayer) {\r\n await this._createVideoPlayer();\r\n }\r\n\r\n this._videoPlayer.play();\r\n }\r\n\r\n private _pauseVideo = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.pause();\r\n }\r\n }\r\n\r\n private _detectIfVideoIsInFocus = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n } else {\r\n this._pauseVideo();\r\n }\r\n }\r\n\r\n private _handlePlayVideoClick = () => {\r\n if (this._isAppVisible && this.props.isInCenterStage && this.props.inViewport) {\r\n this._playVideo();\r\n this._videoPlayer.logUIAction('info', 'VideoPlayClick');\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendAnalytics(gaCategory, \"AUTOPLAY\", \"VIDEO_PLAY_CLICK\", this.props.gameInfo.gameType, true);\r\n }\r\n }\r\n\r\n private _renderPlayerControls = () => {\r\n return this._videoPlayer?.autoplayAllowed ? null : (\r\n \r\n );\r\n }\r\n\r\n @action.bound\r\n private _destroyPlayer = () => {\r\n if (this._videoPlayer) {\r\n this._videoPlayer.destroy();\r\n this._videoPlayer = null;\r\n }\r\n };\r\n\r\n private _retryPlay = () => {\r\n this._destroyPlayer();\r\n this._detectIfVideoIsInFocus();\r\n };\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this._detectIfVideoIsInFocus();\r\n\r\n this.reaction(() => this._videoPlayer?.hasError, (hasError) => {\r\n this.props.onError(hasError, hasError ? this._retryPlay : undefined);\r\n });\r\n this.reaction(() => this._videoPlayer?.isLoading, (isLoading) => {\r\n this.props.onLoading(isLoading);\r\n });\r\n this.reaction(() => this._videoPlayer?.watchTimeLimitReached, (watchTimeLimitReached) => {\r\n this.props.onWatchTimeLimitReached(watchTimeLimitReached);\r\n });\r\n this.reaction(() => this.props.videoPlayingService.isAppVisible, (isAppVisible) => {\r\n this._isAppVisible = isAppVisible;\r\n this._detectIfVideoIsInFocus();\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: VideoComponentProps) {\r\n if (this.props.isInCenterStage !== prevProps.isInCenterStage || this.props.inViewport !== prevProps.inViewport) {\r\n this._detectIfVideoIsInFocus();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n\r\n this._destroyPlayer();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this._renderPlayerControls()}\r\n \r\n )\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedButtonProps {\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedButton = styled.div`\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n margin-left: auto;\r\n\r\n background: rgba(255, 255, 255, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2.5s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.25;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\ninterface SkeletonAnimatedRectangleProps {\r\n top?: boolean;\r\n left?: boolean;\r\n right?: boolean;\r\n bottom?: boolean;\r\n width: string;\r\n height: string;\r\n borderRadius?: string;\r\n}\r\n\r\nexport const SkeletonAnimatedRectangle = styled.div`\r\n\r\n position: absolute;\r\n\r\n top: ${({top}) => top ? \"1rem\" : \"initial\"};\r\n left: ${({left}) => left ? \"1rem\" : \"initial\"};\r\n right: ${({right}) => right ? \"1rem\" : \"initial\"};\r\n bottom: ${({bottom}) => bottom ? \"1rem\" : \"initial\"};\r\n\r\n width: ${({width}) => width};\r\n height: ${({height}) => height};\r\n\r\n background: rgba(0, 0, 0, 0.25);\r\n\r\n border-radius: ${({borderRadius}) => borderRadius || \"5px\"};\r\n animation: PulsatingAnimation 2s alternate infinite;\r\n\r\n @keyframes PulsatingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.5;\r\n }\r\n }\r\n`;\r\n","import {VideoTileFooterDefaultBox} from \"./video-tile-footer-default.box\";\r\n\r\nexport const VideoTileFooterBox = VideoTileFooterDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterDefaultBox = styled.div`\r\n display: flex;\r\n position: relative;\r\n padding: 2rem 1rem;\r\n align-items: center;\r\n justify-content: space-between;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n padding: 3rem 2.5rem;\r\n }\r\n\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n width: 100%;\r\n height: 1px;\r\n left: 0;\r\n bottom: 0;\r\n background: linear-gradient(90deg, transparent 10%, rgba(255, 255, 255, 0.85), transparent 90%);\r\n }\r\n`;\r\n","import {VideoTileSkeletonDefaultbox} from \"./video-tile-skeleton.defaultbox\";\r\n\r\nexport const VideoTileSkeletonbox = VideoTileSkeletonDefaultbox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileSkeletonDefaultbox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => theme.colors.backgroundLight.toString()};\r\n`;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport {Image} from \"../raw-components/image/image\";\r\nimport {GameBox} from \"../single-game/regular-template/boxes/game/game.box\";\r\nimport {GameBox as JackpotGameBox} from \"../single-game/jackpot-template/boxes/game/game.box\";\r\nimport {GameTitleBox} from \"../single-game/regular-template/boxes/game-title/game-title.box\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {GameImageContainerBox} from \"../single-game/regular-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameImageContainerBox as JackpotGameImageContainerBox} from \"../single-game/jackpot-template/boxes/game-image-container/game-image-container.box\";\r\nimport {GameDetailsContainerBox} from \"../single-game/regular-template/boxes/game-details-container/game-details-container.box\";\r\nimport {GameDetailsContainerBox as JackpotGameDetailsContainerBox} from \"../single-game/jackpot-template/boxes/game-details-container/game-details-container.box\";\r\nimport {AspectRatioContainerComponent} from \"../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from \"../../themes/css-global-classes\";\r\nimport {VideoTileBox} from \"../live-streaming-tile/video-common-components/video-tile/boxes/video-tile.box\";\r\nimport {SkeletonAnimatedButton} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-button.box\";\r\nimport {SkeletonAnimatedRectangle} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/skeleton-animated-rectangle.box\";\r\nimport {VideoTileFooterBox} from \"../live-streaming-tile/video-common-components/video-tile-footer/boxes/video-tile-footer.box\";\r\nimport {VideoTileSkeletonbox} from \"../live-streaming-tile/video-common-components/video-tile-skeleton/video-tile.skeletonbox\";\r\nimport { CyClass } from \"../../../common/cy-classes\";\r\nimport { AmountContainerBox } from \"./regular-template/boxes/amount-container/amount-container.box\";\r\n\r\nconst DummyTextBox = styled.div`\r\n background: linear-gradient(90deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.25));\r\n background-size: 400px 100%;\r\n border-radius: 5px;\r\n animation: TextLoadingAnimation 1s linear infinite;\r\n\r\n @keyframes TextLoadingAnimation {\r\n 0% {\r\n background-position-x: -200px;\r\n }\r\n 100% {\r\n background-position-x: 200px;\r\n }\r\n }\r\n`;\r\n\r\nconst DummyTextBoxAbsolute = styled(DummyTextBox)`\r\n position: absolute;\r\n top: 0;\r\n left: 25%;\r\n right: 25%;\r\n bottom: 0;\r\n`;\r\n\r\ninterface IDummyTextBoxRelativeProps {\r\n small?: boolean;\r\n}\r\n\r\nconst DummyTextBoxRelative = styled(DummyTextBox)`\r\n position: relative;\r\n width: ${({small}) => small ? \"50%\" : \"80%\"};\r\n height: 2rem;\r\n margin-bottom: 1rem;\r\n`;\r\n\r\nexport interface ISingleGameSkeletonComponentProps {\r\n templateType: string;\r\n useSquareIcons: boolean;\r\n placeholderImageSrc: string;\r\n}\r\n\r\nexport class SingleGameSkeletonComponent extends OrbitComponent {\r\n\r\n private _renderRegularGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderJackpotGameSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderVideoSkeleton() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n :\r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render () {\r\n\r\n if (this.props.templateType === JACKPOTS_ITEM) {\r\n return this._renderJackpotGameSkeleton();\r\n }\r\n\r\n if ([LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM].includes(this.props.templateType)) {\r\n return this._renderVideoSkeleton();\r\n }\r\n\r\n return this._renderRegularGameSkeleton();\r\n }\r\n}\r\n","import {VideoRetryScreenTileDefaultBox} from \"./video-retry-screen-tile-default.box\";\r\n\r\nexport const VideoRetryScreenTileBox = VideoRetryScreenTileDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../themes/hex-to-rgba\";\r\n\r\nexport const VideoRetryScreenTileDefaultBox = styled.div`\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n background: ${({theme}) => hexToRgba(theme.colors.background.toString(), 0.6)};\r\n`;\r\n","import {VideoRetryScreenIconDefaultBox} from \"./video-retry-screen-icon-default.box\";\r\n\r\nexport const VideoRetryScreenIconBox = VideoRetryScreenIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenIconDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 5rem;\r\n height: 5rem;\r\n background: ${({theme}) => theme.colors.background.toString()};\r\n border-radius: 50%;\r\n`;\r\n","import {VideoRetryScreenTitleDefaultBox} from \"./video-retry-screen-title-default.box\";\r\n\r\nexport const VideoRetryScreenTitleBox = VideoRetryScreenTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTitleDefaultBox = styled.div`\r\n margin: 1rem 0;\r\n font-size: 2rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {VideoRetryScreenTextDefaultBox} from \"./video-retry-screen-text-default.box\";\r\n\r\nexport const VideoRetryScreenTextBox = VideoRetryScreenTextDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoRetryScreenTextDefaultBox = styled.div`\r\n margin-bottom: 1rem;\r\n font-size: 1.6rem;\r\n line-height: 1.5;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from 'react';\r\nimport {VideoRetryScreenTileBox} from \"./video-retry-screen-boxes/video-retry-screen-tile.box\";\r\nimport {VideoRetryScreenIconBox} from \"./video-retry-screen-boxes/video-retry-screen-icon.box\";\r\nimport {SvgSizeUnit} from \"../../../../basic-ui-components/icon/svg-icon/svg.icon\";\r\nimport {VideoRetryScreenTitleBox} from \"./video-retry-screen-boxes/video-retry-screen-title.box\";\r\nimport {VideoRetryScreenTextBox} from \"./video-retry-screen-boxes/video-retry-screen-text.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\n\r\nexport interface VideoRetryScreenComponentProps {\r\n retryFn: () => void;\r\n setHasError: (value: boolean, retryFn?: (() => void) | undefined) => void;\r\n}\r\n\r\nexport default class VideoRetryScreenComponent extends OrbitComponent {\r\n\r\n private _retryAndSetError = () => {\r\n if (this.props.retryFn) {\r\n this.props.retryFn();\r\n }\r\n this.props.setHasError(false);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const BrokenLinkIcon = this.services.theme.currentTheme.icons.brokenLinkIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_TITLE')}\r\n \r\n \r\n {this.services.translation.translate('CANT_CONNECT_ERROR_MESSAGE')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport React from 'react';\r\nimport {LiveCasinoGridItemThumbnailImageBox} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/boxes/thumbnail/live-casino-grid-item-thumbnail-image.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {addQueryParam} from \"../../../../../utils/url-utils\";\r\n\r\nexport interface VideoThumbnailImageComponentProps {\r\n onLoad: () => void;\r\n onSettled: () => void;\r\n gameInfo: GameInfo;\r\n filterBlur: boolean;\r\n}\r\n\r\nexport default class VideoThumbnailImageComponent extends OrbitComponent {\r\n\r\n //Priority for game video thumbnail image(takes the 1st that exists):\r\n // gameinfo.videoThumbnailUrl\r\n // tableinfo.TableImage\r\n // gameinfo.gameArenaIcon\r\n\r\n private _getImageSource = (): string => {\r\n const gameInfo: GameInfo = this.props.gameInfo;\r\n\r\n if (gameInfo?.videoThumbnailUrl) {\r\n return gameInfo?.videoThumbnailUrl;\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(gameInfo.gameType);\r\n\r\n if (Check.isEmpty(tableInfo) || !tableInfo.TableImage) {\r\n return gameInfo?.gameArenaIcon;\r\n } else {\r\n // We need this random because we want to force react to reload the image because the url of the image is identical but the image changed.\r\n let imageRandom = Math.random();\r\n\r\n return addQueryParam(tableInfo.TableImage, imageRandom.toString());\r\n }\r\n };\r\n\r\n render(): React.ReactNode {\r\n return ();\r\n }\r\n}\r\n","import {VideoTileBettingRangeDefaultBox} from \"./video-tile-betting-range-default.box\";\r\n\r\nexport const VideoTileBettingRangeBox = VideoTileBettingRangeDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\n\r\nexport const VideoTileBettingRangeDefaultBox = styled.div`\r\n font-size: 1.2rem;\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n line-height: 1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n margin: 12px 0 0 0rem;\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileGameTitleDefaultBox} from \"./video-tile-game-title-default.box\";\r\n\r\nexport const VideoTileGameTitleBox = VideoTileGameTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileGameTitleDefaultBox = styled.div`\r\n text-overflow: ellipsis;\r\n font-size: 1rem;\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n line-height: 1.1;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove } {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n","import {VideoTileFooterSectionDefaultBox} from \"./video-tile-footer-section-default.box\";\r\n\r\nexport const VideoTileFooterSectionBox = VideoTileFooterSectionDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const VideoTileFooterSectionDefaultBox = styled.div<{width?: string;}>`\r\n width: ${({width}) => width ? width : \"auto\"};\r\n margin-right: 1rem;\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotValueDefaultBox = styled.span`\r\n color: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n margin-left: 0.5rem;\r\n`;\r\n\r\nexport const VideoListJackpotValueBox = VideoListJackpotValueDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nconst VideoListJackpotContainerDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n font-size: 1.2rem;\r\n margin-top: 5px;\r\n`;\r\n\r\nexport const VideoListJackpotContainerBox = VideoListJackpotContainerDefaultBox;","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React, {ReactNode} from 'react';\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {ILiveTableInfo} from \"../../../../services/live-table-feeds-service/live-table-feeds.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {VideoTileBettingRangeBox} from \"../video-tile-betting-range/video-tile-betting-range.box\";\r\nimport {VideoTileGameTitleBox} from \"../video-tile-game-title/video-tile-game-title.box\";\r\nimport {VideoTileFooterBox} from \"./boxes/video-tile-footer.box\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {VideoTileFooterSectionBox} from \"./boxes/video-tile-footer-section.box\";\r\nimport {Button} from \"../../../../basic-ui-components/button/base/button.component\";\r\nimport {GameJackpotComponent} from \"../../../game-jackpot/game-jackpot.component\";\r\nimport {\r\n VideoListJackpotValueBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-value/video-list-jackpot-value.box\";\r\nimport {\r\n VideoListJackpotContainerBox\r\n} from \"../../static-video-specific-components/video-list-jackpot-container/video-list-jackpot-container.box\";\r\n\r\nexport type VideoTileFooterType = \"jackpot\" | \"bets\";\r\n\r\nexport interface VideoTileFooterComponentProps {\r\n onClickPlay: () => void;\r\n gameInfo: GameInfo;\r\n type: VideoTileFooterType;\r\n}\r\n\r\nexport default class VideoTileFooterComponent extends OrbitComponent {\r\n\r\n //Information from GetLiveTables request feed, for live casino games only.\r\n private get _tableInfo(): ILiveTableInfo | null {\r\n return this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n }\r\n\r\n private _renderMinMaxBet(): ReactNode {\r\n\r\n let minBet: number;\r\n let maxBet: number;\r\n\r\n if(Check.isNullOrUndefined(this._tableInfo?.MinBet) || Check.isNullOrUndefined(this._tableInfo?.MaxBet)){\r\n minBet = this.props.gameInfo.minBet;\r\n maxBet = this.props.gameInfo.maxBet;\r\n } else {\r\n minBet = this._tableInfo.MinBet;\r\n maxBet = this._tableInfo.MaxBet;\r\n }\r\n\r\n return (\r\n \r\n {this.services.currency.formatMinMaxBet(minBet, maxBet)}\r\n \r\n );\r\n }\r\n\r\n private _renderGameTitle(): ReactNode {\r\n\r\n let title = this.props.gameInfo?.title || \"\\xa0\";\r\n\r\n if (this._tableInfo?.Name?.length > 0) {\r\n title = this._tableInfo.Name;\r\n }\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n\r\n private _renderJackpot() {\r\n if(!this.props.gameInfo.hasJackpot) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {this.services.translation.translate(\"JACKPOT\")}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderSecondaryText() {\r\n switch (this.props.type) {\r\n case \"bets\":\r\n return this._renderMinMaxBet();\r\n case \"jackpot\":\r\n return this._renderJackpot();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n return (\r\n \r\n \r\n {this._renderGameTitle()}\r\n {this._renderSecondaryText()}\r\n \r\n \r\n \r\n {this.services.translation.translate(\"PLAY_NOW\")}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { imagePreload, ImagePreloadPromiseResponse } from \"../../../../../common/utils/image-preload\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {VideoTileBox} from \"./boxes/video-tile.box\";\r\nimport {AspectRatioContainerComponent} from \"../../../raw-components/aspect-ratio-container/aspect-ratio-container.component\";\r\nimport {VideoTileOverlayComponent} from \"../video-tile-overlay/video-tile-overlay.component\";\r\nimport {VideoTileOverlayBox} from \"../video-tile-overlay/boxes/video-tile-overlay.box\";\r\nimport {VideoTileStaticImageOverlayBox} from \"../video-tile-static-image-overlay/video-tile-static-image-overlay.box\";\r\nimport {VideoTileSkeletonContainerBox} from \"../video-tile-skeleton-container/video-tile-skeleton-container.box\";\r\nimport {VideoComponent} from \"../video-component/video.component\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {observer} from \"mobx-react\";\r\nimport {GameInfo} from \"../../../../services/games/game-info\";\r\nimport {SingleGameSkeletonComponent} from \"../../../single-game/single-game-skeleton.component\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TableSeatsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/table-seats.component\";\r\nimport {RouletteDrawsComponent} from \"../../../arena-host/new-live-casino-arena/live-casino-arena-grid/shared-components/roulette-draws.component\";\r\nimport {IVideoPlayingService} from \"../../../../services/video-live-stream/video-playing.service.interface\";\r\nimport VideoRetryScreenComponent from \"../video-retry-screen/video-retry-screen.component\";\r\nimport {VIDEO_ITEM_TYPE} from \"../../../single-game/video-template/single-game-video-template.component\";\r\nimport VideoThumbnailImageComponent from \"../video-thumbnail-image/video-thumbnail-image.component\";\r\nimport VideoTileFooterComponent from \"../video-tile-footer/video-tile-footer.component\";\r\nimport {\r\n OrbitMarketingEventAnalyticsLabel\r\n} from \"../../../../services/analytics/analytics.service.interface\";\r\n\r\nexport interface VideoTileComponentProps {\r\n gameInfo: GameInfo;\r\n isInCenterStage: boolean;\r\n inViewport: boolean;\r\n onOpenRealGame: () => void;\r\n videoPlayingService: IVideoPlayingService;\r\n videoItemType: VIDEO_ITEM_TYPE;\r\n isLastGametype?: boolean;\r\n}\r\n\r\n@observer\r\nexport class VideoTileComponent extends OrbitComponent {\r\n\r\n constructor(props: VideoTileComponentProps) {\r\n\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private _posterImageLoadPromise: Promise | undefined = undefined;\r\n\r\n @observable.ref\r\n private _hasError: boolean = false;\r\n\r\n private _retryFn: (() => void) | undefined;\r\n\r\n @action.bound\r\n setHasError(value: boolean, retryFn?: (() => void) | undefined) {\r\n this._hasError = value;\r\n this._retryFn = retryFn;\r\n }\r\n\r\n @observable.ref\r\n private _posterImageLoaded = false;\r\n\r\n @action.bound\r\n private setPosterImageLoaded(value: boolean) {\r\n this._posterImageLoaded = value;\r\n }\r\n\r\n private onPosterImageLoaded = () => {\r\n this.setPosterImageLoaded(true);\r\n }\r\n\r\n @observable.ref\r\n private _isVideoLoading: boolean = true;\r\n\r\n @observable.ref\r\n private _isFirstTimeLoading: boolean = true;\r\n\r\n @action.bound\r\n setIsVideoLoading(value: boolean) {\r\n this._isVideoLoading = value;\r\n if (value === false) {\r\n this.firstTimeLoadingDone();\r\n }\r\n }\r\n\r\n @action.bound\r\n firstTimeLoadingDone() {\r\n if (this._isFirstTimeLoading === true) {\r\n this._isFirstTimeLoading = false;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private _isWatchTimeLimitReached: boolean = false;\r\n\r\n @action.bound\r\n setIsWatchTimeLimitReached(value: boolean) {\r\n this._isWatchTimeLimitReached = value;\r\n }\r\n\r\n private _onPlayClickHandler = () => {\r\n this.props.onOpenRealGame();\r\n const gaCategory = this.props.videoPlayingService.gaCategory;\r\n this.services.analytics.sendOrbitMarketingEvent(gaCategory, 'PLAY_GAME', OrbitMarketingEventAnalyticsLabel.Click, this.props.gameInfo.gameType);\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.gameInfo.videoThumbnailUrl) {\r\n this._posterImageLoadPromise = imagePreload(this.props.gameInfo.videoThumbnailUrl);\r\n this._posterImageLoadPromise.then(this.onPosterImageLoaded);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this._posterImageLoadPromise) {\r\n this._posterImageLoadPromise = undefined;\r\n }\r\n }\r\n\r\n private _renderPlayerOverlay() {\r\n if (!this._isWatchTimeLimitReached && !this._isVideoLoading) {\r\n return null;\r\n }\r\n\r\n let statusText = '';\r\n if (this._isWatchTimeLimitReached) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_WATCH_TIME_REACHED');\r\n } else if (this._isVideoLoading) {\r\n statusText = this.services.translation.translate('LIVE_STREAM_VIDEO_LOADING');\r\n }\r\n\r\n return {statusText};\r\n }\r\n\r\n private _renderRetryScreen() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n private _renderPlayer() {\r\n return (\r\n \r\n {/* For the video element I cannot conditionally render it for this.props.isInCenterStage because when the video reaches end and the user\r\n swipes right/left it renders again and starts again */}\r\n \r\n {((this.services.mediaQuery.xlAndAbove && !this.props.isInCenterStage) || this._hasError || (this.props.isInCenterStage && this._isFirstTimeLoading && this._posterImageLoaded)) ? this._renderVideoThumbnailImage(this._hasError && this.props.isInCenterStage) : this._renderPlayerOverlay()}\r\n {this._renderTileOverlayComponent()}\r\n {(this._hasError && this.props.isInCenterStage) ? this._renderRetryScreen() : null}\r\n \r\n );\r\n }\r\n\r\n private _renderTileOverlayComponent(): React.ReactNode {\r\n if (this.props.videoItemType === VIDEO_ITEM_TYPE.STATIC) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const tableInfo = this.services.liveTableFeeds.getTableInfo(this.props.gameInfo.gameType);\r\n\r\n return (\r\n }\r\n bottomRightComponent={}\r\n videoPlaying={this.props.isInCenterStage && !this._hasError}\r\n />\r\n )\r\n\r\n }\r\n\r\n private _renderVideoThumbnailImage(filterBlur: boolean) {\r\n return \r\n }\r\n\r\n private _renderFooter() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderSkeleton() {\r\n if (this._isFirstTimeLoading && !this._posterImageLoaded) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n }\r\n\r\n private _renderStaticImageOverlay() {\r\n if (this.props.isInCenterStage || this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n }\r\n return ;\r\n }\r\n\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderPlayer()}\r\n {this._renderFooter()}\r\n {this._renderSkeleton()}\r\n {this._renderStaticImageOverlay()}\r\n \r\n );\r\n }\r\n}\r\n","import {VideoItemContainerDefaultBox} from \"./video-item-container-default.box\";\r\n\r\nexport const VideoItemContainerBox = VideoItemContainerDefaultBox;\r\n","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const VideoItemContainerDefaultBox = styled.div<{stepBackStyle: boolean;}>`\r\n width: 100%;\r\n ${flexFixedSizeItem}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n width: 33.33%;\r\n transition: transform 0.5s ease-in-out;\r\n transform: ${({stepBackStyle}) => stepBackStyle ? \"scale(0.7)\" : \"scale(1)\"};\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SingleGameRegularTemplateComponent} from './regular-template/single-game-regular-template.component';\r\nimport {GameInfo, OpenGameParameters} from '../../services/games/game-info';\r\nimport {CssClassNameBuilder} from '../../../utils/css-class-name-builder';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_BOX, SWIPER_MODE} from './css-constants';\r\nimport {SingleGameJackpotTemplateComponent} from './jackpot-template/single-game-jackpot-template.component';\r\nimport {JACKPOTS_ITEM, LIVE_CASINO_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../themes/css-global-classes';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {SingleGameLiveTemplateComponent} from './live-template/single-game-live-template.component';\r\nimport {SingleGameVideoTemplate, VIDEO_ITEM_TYPE} from './video-template/single-game-video-template.component';\r\nimport {GameIconAnimationState} from './common/parts/game-image/game-image.component';\r\n\r\nexport interface SingleGameComponentProps {\r\n gameType: number;\r\n seoCategory: string;\r\n listTitle: string;\r\n listPosition?: number,\r\n AdminListID?: number,\r\n AIListTypeID?: number;\r\n templateType?: any;\r\n gameIndex?: number;\r\n skipIntermediatePage?: boolean;\r\n disableGameInfoHover: boolean;\r\n isInsideSwiper?: boolean;\r\n aiEngine?: string;\r\n useSquareIcons?: boolean;\r\n showNumberBadge?: boolean;\r\n intersectionTarget?: HTMLDivElement;\r\n hasTwoLinesTitle?: boolean;\r\n isLastGametype?: boolean;\r\n onBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\nexport const SingleGameComponent = observer(\r\n class SingleGameComponent extends OrbitComponent {\r\n private animatedIconState: GameIconAnimationState = \"static\";\r\n\r\n get gameInfo(): GameInfo {\r\n return this.services.games.gamesMap[this.props.gameType];\r\n }\r\n\r\n private openRealGame = () => {\r\n this._openGame(true);\r\n };\r\n\r\n private openAnonymousGame = () => {\r\n this._openGame(false);\r\n };\r\n\r\n private openInfoPage = () => {\r\n this.services.location.push(this.gameInfo.infoPageURL);\r\n this.sendAnalytics(`SEO_${this.gameInfo.gameType}`);\r\n };\r\n\r\n private _openGame(openInRealMode: boolean): void {\r\n\r\n\r\n const openGameParams: OpenGameParameters = {\r\n isRealMode: openInRealMode,\r\n pageName: this.props.seoCategory,\r\n listTitle: this.props.listTitle,\r\n listPosition: this.props.listPosition,\r\n AdminListID: this.props.AdminListID,\r\n AIListTypeID: this.props.AIListTypeID,\r\n gameIndex: this.props.gameIndex,\r\n aiEngine: this.props.aiEngine,\r\n showIntermediatePage: !this.props.skipIntermediatePage,\r\n animatedIconState: this.animatedIconState\r\n };\r\n\r\n this.gameInfo.open(openGameParams)\r\n }\r\n\r\n private get _allowPreview(): boolean {\r\n return this.services.lobbyGameInfoPreview.allowGamePreview\r\n && !this.props.disableGameInfoHover;\r\n }\r\n\r\n private sendAnalytics(label: string) {\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category:this.props.seoCategory, action: this.props.listTitle, label: label}, true);\r\n }\r\n\r\n private setAnimatedIconState = (state: GameIconAnimationState) => {\r\n this.animatedIconState = state;\r\n }\r\n\r\n private onMouseEnter = () => {\r\n if (this._allowPreview) {\r\n this.services.lobbyGameInfoPreview.setGamePreview(this.props.gameType);\r\n }\r\n };\r\n\r\n\r\n private onMouseLeave = () => {\r\n if (this._allowPreview) {\r\n this.services.lobbyGameInfoPreview.clearGamePreview();\r\n }\r\n };\r\n\r\n\r\n private _buildComponentClasses(gameInfo: GameInfo): string {\r\n let builder = new CssClassNameBuilder();\r\n\r\n builder.append(GAME_BOX);\r\n\r\n if(this.props.isInsideSwiper) {\r\n builder = builder.append(SWIPER_MODE);\r\n }\r\n\r\n if (gameInfo) {\r\n builder = builder.append(`game-group-${toCssClass(gameInfo.gameGroup)}`)\r\n .append(gameInfo.gameCategoryClassName)\r\n .append(`game-company-${toCssClass(gameInfo.companyName)}`)\r\n .append(`game-type-${gameInfo.gameType}`);\r\n }\r\n\r\n if(this.props.skipIntermediatePage) {\r\n builder.append(CyClass('cy-skip-intermediate-page'));\r\n }\r\n\r\n return builder.build();\r\n\r\n }\r\n\r\n render() {\r\n\r\n let gameInfo = this.gameInfo;\r\n\r\n if(!gameInfo) {\r\n return null;\r\n }\r\n\r\n try {\r\n\r\n const classes = this._buildComponentClasses(gameInfo);\r\n\r\n switch (this.props.templateType) {\r\n\r\n case JACKPOTS_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case LIVE_CASINO_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case LIVE_STREAMING_ITEM:\r\n return (\r\n \r\n );\r\n\r\n case STATIC_VIDEO_ITEM:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n\r\n } catch (err) {\r\n this.services.logger.error(`Failed to render SingleGameComponent for game ${gameInfo.gameType} - ${gameInfo.title} in list ${this.props.listTitle}`, err);\r\n return null;\r\n }\r\n }\r\n }\r\n);\r\n\r\nfunction toCssClass(str: string){\r\n try{\r\n return str.replace(/\\s+/g, '-').toLowerCase();\r\n }\r\n catch(e){\r\n return '';\r\n }\r\n}\r\n\r\n","import styled from 'styled-components';\r\nimport {GameBox} from '../../../single-game/regular-template/boxes/game/game.box';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\n\r\n\r\nexport const GamePlaceHolderDefaultBox = styled(GameBox)`\r\n ${CssRule.For.mobile.embededHybrid.build()} & , ${CssRule.For.mobile.miniOrbit.build()} & {\r\n display: none;\r\n }\r\n`;","import {NullableNumber} from \"../../../common/types/nullable-types\";\r\nimport { IJackpotHandler } from \"./jackpot-handler/jackpot-handler.interface\";\r\nimport {JACKPOT_STATE, JackpotType} from '../../../common/const/jackpot_map_ids';\r\n\r\nexport enum JackpotThemeType {\r\n Light,\r\n Dark\r\n}\r\n\r\nexport interface IJackpotStatefulData {\r\n amountInCents: number;\r\n jackpotId: string;\r\n jackpotState: JACKPOT_STATE;\r\n lastWinAmount: number;\r\n mustHitTime: Date;\r\n}\r\n\r\nexport interface IJackpotStatelessData {\r\n amountInCents: number;\r\n jackpotId: string;\r\n jackpotState: 0;\r\n lastWinAmount: 0;\r\n}\r\n\r\nexport type IJackpotData = IJackpotStatefulData | IJackpotStatelessData;\r\n\r\nexport interface IJackpotsService {\r\n getGameJackpot(gameType: number): NullableNumber;\r\n readonly currentJackpotsById: Record;\r\n getThemeType(jpType: JackpotType): JackpotThemeType;\r\n}\r\n","import {GamePlaceHolderDefaultBox} from './game-placeholder.default.box';\r\n\r\nexport const GamePlaceHolderBox = GamePlaceHolderDefaultBox;","import {GameImageDefaultBox} from './game-image.default.box';\r\n\r\nexport const GameImageBox = GameImageDefaultBox;","import styled from 'styled-components';\r\nimport {GameImageBox as BaseGameImageBox} from '../../../single-game/common/boxes/game-image/game-image.box';\r\n\r\nexport const GameImageDefaultBox = styled(BaseGameImageBox)`\r\n cursor: default;\r\n`;\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {GamePlaceHolderBox} from './boxes/placeholder/game-placeholder.box';\r\nimport {GameImageBox} from './boxes/game-image/game-image.box';\r\nimport {GameImageContainerBox} from '../single-game/regular-template/boxes/game-image-container/game-image-container.box';\r\nimport {observer} from 'mobx-react';\r\nimport {GAME_IMAGE_CONTAINER, SWIPER_MODE} from '../single-game/css-constants';\r\nimport classNames from 'classnames';\r\n\r\nexport interface SingleGamePlaceholderComponentProps {\r\n isInsideSwiper: boolean\r\n}\r\n\r\nexport const SingleGamePlaceholderComponent = observer(\r\n class SingleGamePlaceholderComponent extends OrbitComponent {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {HOME_PAGE, JACKPOTS_ITEM, LIVE_STREAMING_ITEM, STATIC_VIDEO_ITEM} from '../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n width: 100%;\r\n padding: 0;\r\n margin: 0 auto;\r\n overflow: hidden;\r\n`;\r\n\r\n//Temporary duplicate style for STATIC_VIDEO_ITEM and LIVE_STREAMING_ITEM\r\nexport const PcBox = styled(DefaultBox)`\r\n .${HOME_PAGE} & {\r\n width: 90%;\r\n &.${JACKPOTS_ITEM} {\r\n width: 100%;\r\n }\r\n }\r\n\r\n &.${LIVE_STREAMING_ITEM},\r\n &.${STATIC_VIDEO_ITEM} {\r\n width: 104%;\r\n padding-bottom: 2.5rem;\r\n padding-top: 1.5rem;\r\n margin-left: -2%;\r\n clip-path: polygon(8% 0, 92% 0%, 92% 100%, 8% 100%);\r\n overflow: unset;\r\n }\r\n`;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n padding: 0;\r\n`;\r\n\r\nexport const SwiperWrapperDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './swiper-wrapper.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n padding-top: 0.5rem;\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-top: 0;\r\n`;\r\n\r\n\r\nexport const SwiperWrapperCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './swiper-wrapper.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n .${HOME_PAGE} & {\r\n width: 100%;\r\n }\r\n`;\r\n\r\nconst MobileBox = styled(BaseMobileBox)`\r\n padding-left: 6px;\r\n`;\r\n\r\nexport const SwiperWrapperMrGreenBox = styledByDevice(PcBox, MobileBox);","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperWrapperDefaultBox} from './swiper-wrapper.default.box';\r\nimport {SwiperWrapperCasino777Box} from './swiper-wrapper.casino777.box';\r\nimport {SwiperWrapperMrGreenBox} from './swiper-wrapper.mrgreen.box';\r\n\r\nexport const SwiperWrapperBox = styledByTheme(SwiperWrapperDefaultBox)\r\n .forCasino777(SwiperWrapperCasino777Box)\r\n .forMrGreen(SwiperWrapperMrGreenBox).apply();","import styled, { css } from 'styled-components';\r\nimport {JACKPOTS_ITEM} from '../../../../themes/css-global-classes';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\n\r\ninterface SwiperGamesListBoxProp {\r\n isTouchDevice: boolean;\r\n}\r\n\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n justify-content: flex-start;\r\n transition: transform .5s ease-in-out;\r\n will-change: transform;\r\n width: 100%;\r\n height: 100%;\r\n margin-top: 10px;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n overflow: -moz-scrollbars-none;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({isTouchDevice}) => !isTouchDevice? css`\r\n overflow: visible;\r\n ` : css`\r\n overflow-x: scroll;\r\n overflow-y: hidden;\r\n `}\r\n`;\r\n\r\nconst PcBox = styled(DefaultBox)`\r\n`;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n margin-top: 5px;\r\n margin-bottom: 20px;\r\n\r\n .${JACKPOTS_ITEM} & {\r\n display: flex;\r\n flex-wrap: wrap;\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n flex-direction: column;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n flex-direction: row;\r\n }\r\n }\r\n`;\r\n\r\nexport const SwiperGamesListDefaultBox = styledByDevice(PcBox, MobileBox);\r\n","import styled from \"styled-components\";\r\nimport { SwiperGamesListDefaultBox } from \"./swiper-games-list.default.box\";\r\n\r\nexport const SwiperGamesListSICisBox = styled(SwiperGamesListDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n margin-top: 0;\r\n padding-bottom: 1.2rem;\r\n box-shadow: 0px 0px 8px #00000059;\r\n`;","import styled from \"styled-components\";\r\nimport { SwiperGamesListDefaultBox } from \"./swiper-games-list.default.box\";\r\n\r\nexport const SwiperGamesListMrGreenBox = styled(SwiperGamesListDefaultBox)`\r\n margin-top: 0;\r\n`;","import { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { SwiperGamesListDefaultBox } from './swiper-games-list.default.box';\r\nimport { SwiperGamesListSICisBox } from './swiper-games-list.siCis.box';\r\nimport {SwiperGamesListMrGreenBox} from \"./swiper-games-list.mrgreen.box\";\r\n\r\nexport const SwiperGamesListBox = styledByTheme(SwiperGamesListDefaultBox)\r\n .forMrGreen(SwiperGamesListMrGreenBox)\r\n .forMrGreenCis(SwiperGamesListMrGreenBox)\r\n .forSICis(SwiperGamesListSICisBox)\r\n .apply();","import {SwiperDefaultBox} from './swiper.default.box';\r\n\r\nexport const SwiperBox = SwiperDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const SwiperDefaultBox = styled.div`\r\n /** This overflow hidden solves a problem with live video streaming on right-to-left languages\r\n Without it, the IntersectionObserver does not work correctly and a weird behavior happens:\r\n The first video flicker like it is intersecting and transforms from scale(0.7) to scale(1) but in that process it loses intersection (ratio>0.99) and transforms back\r\n And again and again, an infinite flicker */\r\n overflow: hidden;\r\n`;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {SingleGameComponent} from '../single-game/single-game.component';\r\nimport {SingleGamePlaceholderComponent} from '../single-game-placeholder/single-game-placeholder.component';\r\nimport classNames from 'classnames';\r\nimport {SwiperWrapperBox} from './boxes/swiper-wrapper/swiper-wrapper.box';\r\nimport {SwiperGamesListBox} from './boxes/swiper-games-list/swiper-games-list.box';\r\nimport {SwiperBox} from './boxes/swiper/swiper.box';\r\nimport {SingleGameSkeletonComponent} from '../single-game/single-game-skeleton.component';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {TextTranslation} from \"../../services/translation/text-translation\";\r\nimport {OrbitComponent} from \"../base-components/orbit-component/orbit-component\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\nimport { observable, action, makeObservable } from 'mobx';\r\n\r\nexport interface OrbitSwiperComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n numberOfPlaceholders?: number;\r\n skipIntermediatePage?: boolean;\r\n showNumberBadge?: boolean;\r\n className?: string;\r\n listPosition: number;\r\n lastGameType?: number;\r\n onGameBringInCentralView?: (gameIndex: number) => void;\r\n}\r\n\r\n\r\n@observer\r\nexport class OrbitSwiperComponent extends OrbitComponent {\r\n constructor(props: OrbitSwiperComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n private get _title(): TextTranslation {\r\n return this.props.viewModel.title;\r\n }\r\n\r\n private get _shouldUseSquareIcons(): boolean {\r\n return this.props.viewModel.shouldUseSquareIcons();\r\n }\r\n\r\n private _renderOneGame(gameType: number, gameIndex: number, isLastGametype?: boolean) {\r\n return ;\r\n }\r\n\r\n private _renderPlaceholders() {\r\n\r\n if (this.props.viewModel.numberOfGamesSkeletons > 0) {\r\n return null;\r\n }\r\n\r\n let placeHolders: React.ReactNode[] = [];\r\n let numberOfPlaceholders = this.props.numberOfPlaceholders || 0;\r\n\r\n for (let i = 0; i < numberOfPlaceholders; i++) {\r\n placeHolders.push();\r\n }\r\n\r\n return placeHolders;\r\n }\r\n\r\n\r\n private _swiperGameListElement: HTMLDivElement | null = null;\r\n\r\n private _captureSwiperGameListElement = (element: HTMLDivElement | null) => {\r\n this._swiperGameListElement = element;\r\n this.props.viewModel.swipeLogicHandler.setElement(element);\r\n };\r\n\r\n /* I hate to put observable on a dom element but for now I cannot see another method to rapidly notify child nodes that the wrapper is ready to be used in IntersectionObserver as root\r\n I can create the intersection observer here and pass it instead of the DOM element but I would also need to put observable on the intersection observer */\r\n @observable.ref\r\n private _swiperWrapperElement: HTMLDivElement | null = null;\r\n @action.bound\r\n private _captureSwiperWrapperElement = (element: HTMLDivElement | null) => {\r\n this._swiperWrapperElement = element;\r\n };\r\n\r\n private get aiEngine(): string {\r\n return this.props.viewModel.aiEngine;\r\n }\r\n\r\n private _renderGamesSkeletons() {\r\n\r\n let numSkeletons = this.props.viewModel.numberOfGamesSkeletons;\r\n let placeholderImageSrc: string;\r\n if (this._shouldUseSquareIcons) {\r\n placeholderImageSrc = this.services.theme.currentTheme?.images.gameIconPlaceHolderSq.toString();\r\n } else {\r\n placeholderImageSrc = this.services.theme.currentTheme?.images.gameIconPlaceHolder.toString();\r\n }\r\n\r\n let skeletons = [];\r\n\r\n for (let i = 1; i <= numSkeletons; i++) {\r\n skeletons.push(\r\n \r\n );\r\n }\r\n\r\n return skeletons;\r\n }\r\n\r\n private _renderGames() {\r\n\r\n const gameTypes = this.props.viewModel.gameTypes;\r\n if (gameTypes.length > 0) {\r\n return gameTypes.map((gameType, index) => {\r\n return this._renderOneGame(gameType, index, gameType === this.props.lastGameType)\r\n });\r\n }\r\n\r\n return this._renderGamesSkeletons();\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => [this.props.viewModel.gameTypes],\r\n () => this.props.viewModel.swipeLogicHandler.setElement(this._swiperGameListElement),\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly, prevState: Readonly<{}>, snapshot?: any) {\r\n this.props.viewModel.swipeLogicHandler.setElement(this._swiperGameListElement)\r\n }\r\n\r\n render() {\r\n if (!this.props.viewModel.isVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n\r\n {this.props.viewModel.renderListHeader()}\r\n\r\n \r\n \r\n {this.props.viewModel.renderSpecialWidgets()}\r\n {this._renderGames()}\r\n {this._renderPlaceholders()}\r\n \r\n {this.props.viewModel.renderListNavigation()}\r\n \r\n\r\n {this.props.viewModel.renderListFooter()}\r\n\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface RecentlyPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number\r\n}\r\n\r\nexport const RecentlyPlayedComponent = observer(\r\n class RecentlyPlayedComponent extends OrbitComponent {\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n let numberOfPlaceholders = Math.max(0, 6 - viewModel.gameTypes.length);\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {IGamesListRenderer} from \"./games-list-renderer.interface\";\r\nimport {IGamesListViewModel} from \"./games-list-view-model.interface\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {TextTranslation} from \"../../../translation/text-translation\";\r\n\r\nexport abstract class GamesListBaseModel implements IGamesListRenderer, IGamesListViewModel {\r\n constructor(protected readonly arena: IArenaToGamesListAdapter) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get listId(): number;\r\n abstract get title(): TextTranslation;\r\n abstract get forceInLayout(): boolean;\r\n abstract get templateType(): string;\r\n\r\n protected abstract get _forceRoundIcons(): boolean;\r\n protected abstract get _useSquareIcons(): boolean;\r\n protected abstract get _isAISorted(): boolean;\r\n protected abstract get _numberOfGamesToBeIgnoredInAISorting(): number | undefined;\r\n protected abstract _shouldBeDisplayed(): boolean;\r\n protected abstract _renderList(listPosition: number): React.ReactElement | null;\r\n protected abstract _getGameTypes(): number[];\r\n abstract renderListHeader(): React.ReactElement;\r\n\r\n protected get services(): IServiceFactoryExtended {\r\n return this.arena.services;\r\n }\r\n\r\n get arenaName(): string {\r\n return this.arena.arenaName;\r\n }\r\n\r\n get listKey(): string {\r\n return `${this.arena.arenaName}_${this.title.translationKey}_${this.listId}`;\r\n }\r\n\r\n get aiEngine(): string {\r\n if(this.arena.aiEngine) {\r\n return this.arena.aiEngine;\r\n }\r\n\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.getAiEngine();\r\n }\r\n\r\n return \"\";\r\n }\r\n get maxGamesToShowInList(): number {\r\n return this.arena.maxGamesToShowInList;\r\n }\r\n\r\n @computed\r\n get isVisible(): boolean {\r\n return this._shouldBeDisplayed();\r\n }\r\n\r\n @computed\r\n get gameTypes(): number[] {\r\n return this._applyGameTypesTransformations(this._getGameTypes());\r\n }\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n return this._reduceGameTypes(\r\n this._sortGameTypes(\r\n this._distinctGameTypes(gameTypes)));\r\n }\r\n\r\n protected _sortGameTypes(gameTypes: number[]): number[] {\r\n if(this._isAISorted) {\r\n return this.services.aiEngine.sortGames(gameTypes, {ignoreNumberOfGames: this._numberOfGamesToBeIgnoredInAISorting});\r\n }\r\n return gameTypes;\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n return gameTypes.filter(gt => this.services.gamesFilter.filteredGamesMap[gt])\r\n .slice(0, this.maxGamesToShowInList);\r\n }\r\n\r\n protected _distinctGameTypes(gameTypes: number[]): number[] {\r\n return [...new Set(gameTypes)];\r\n }\r\n\r\n shouldUseSquareIcons(): boolean {\r\n if(this._forceRoundIcons){\r\n return false;\r\n }\r\n\r\n return this.services.theme.shouldUseSquareIcons || this._useSquareIcons;\r\n }\r\n\r\n render(listPosition: number): React.ReactElement | null {\r\n return this._renderList(listPosition);\r\n }\r\n\r\n}","export const JACKPOT_WIDGET = 'daily-jackpot';\r\nexport const RED_TIGER_JACKPOT = 'red-tiger-jackpot';","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\nimport { CssRule } from '../../../../themes/architecture/css-helpers/css-rule';\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\nimport {EXCLUSIVES_LIST_ICON} from \"../../../../themes/css-global-classes\";\r\n\r\nexport const ListTitleIconDefaultBox = styled.span`\r\n ${flexFixedSizeItem}\r\n display: inline-block;\r\n width: 3rem;\r\n height: 2.5rem;\r\n margin: 0 1rem 0 0;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n ${CssRule.For.mobile.build()} & {\r\n width: 2rem;\r\n height: 2rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.dailyJackpot.toString()}\")\r\n }\r\n\r\n .${EXCLUSIVES_LIST_ICON} & {\r\n background-image: url(\"${props => props.theme.images.gamesListTitle.exclusive.toString()}\")\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {JACKPOT_WIDGET} from '../../constants';\r\n\r\nexport const ListTitleIconWsopCipBox = styled(ListTitleIconDefaultBox)`\r\n .${JACKPOT_WIDGET} & {\r\n background-image: url(\"${props => props.theme.images.miniOrbit.gamesListTitleOverride.dailyJackpot.toString()}\");\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const ListTitleIconCisBox = styled.span``;","import {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {ListTitleIconDefaultBox} from \"./list-title-icon.default.box\";\r\nimport {ListTitleIconWsopCipBox} from \"./list-title-icon.wsop.cip.box\";\r\nimport {ListTitleIconCisBox} from \"./list-title-icon.cis.box\";\r\n\r\nexport const ListTitleIconBox = styledByTheme(ListTitleIconDefaultBox)\r\n .forCis(ListTitleIconCisBox)\r\n .forWsopCip(ListTitleIconWsopCipBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div<{isClickable?: boolean}>`\r\n cursor: ${({isClickable}) => isClickable ? \"pointer\" : \"default\"};\r\n\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n`;\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget.default.box';\r\nimport {styledByTheme} from '../../../themes/architecture/styled-by-theme';\r\n\r\nexport const JackpotWidgetBox = styledByTheme(JackpotWidgetDefaultBox).apply();","import styled, {css} from 'styled-components';\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from '../../jackpot-widget.component';\r\nimport {OrbitTheme} from '../../../../themes/architecture/orbit-theme.interface';\r\n\r\nexport interface IJackpotWidgetBgBoxProps {\r\n jackpotType: JackpotType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n shouldRenderSkeleton?: boolean;\r\n}\r\n\r\nconst handleBackgroundImage = (props: IJackpotWidgetBgBoxProps, theme: OrbitTheme) => {\r\n if (props.shouldRenderSkeleton) {\r\n return 'none';\r\n }\r\n if (\r\n (props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE || props.layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE) &&\r\n theme.images.jackpotWidget.byType[props.jackpotType].landscape?.background\r\n ) {\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].landscape.background.toString() + ')';\r\n }\r\n return 'url(' + theme.images.jackpotWidget.byType[props.jackpotType].background.toString() + ')';\r\n}\r\n\r\nexport const JackpotWidgetBgBox = styled.div`\r\n background-image: ${props => handleBackgroundImage(props, props.theme) };\r\n background-size: cover;\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n width: 100%;\r\n height: 100%;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n\r\n border-radius: 10px;\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n flex-direction: row;\r\n align-items: center;\r\n `}\r\n\r\n animation: JackpotBackgroundLoadingAnimation 1.5s linear infinite;\r\n\r\n @keyframes JackpotBackgroundLoadingAnimation {\r\n 0% {\r\n background-color: #000000;\r\n }\r\n 50% {\r\n background-color: #171717;\r\n }\r\n 100% {\r\n background-color: #000000;\r\n }\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {IJackpotWidgetLogoBoxProps} from \"./jackpot-widget-logo.box\";\r\n\r\nexport const JackpotWidgetLogoDefaultBox = styled.img`\r\n /* In a widget of 468px wide, logo should be 222px wide */\r\n width: 47.436%;\r\n margin: 0rem auto;\r\n display: block;\r\n \r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT && css`\r\n\t width: 78%;\r\n\t padding-top: 1rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: 83%;\r\n }\r\n `}\r\n\r\n ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n width: 25%;\r\n padding-left: 1rem;\r\n `}\r\n`;","import styled from \"styled-components\";\r\nimport {IJackpotWidgetLogoBoxProps} from \"./jackpot-widget-logo.box\";\r\n\r\nexport const JackpotWidgetLogoMrGreenBox = styled.img`\r\n display: none;\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};\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}\r\n\r\nconst handleAmountBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number, mAndBelow: boolean = false) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In desktop view at a widget width of 468px, the amount should be of font-size 35px */\r\n return widgetWidth * 35 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 16px */\r\n return widgetWidth * 16 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n if (mAndBelow) {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 16px */\r\n return widgetWidth * 16 / 131 + \"px\";\r\n } else {\r\n /** In mobile view at a widget width of 131px, the amount should be of font-size 19px */\r\n return widgetWidth * 19 / 131 + \"px\";\r\n }\r\n }\r\n};\r\n\r\nconst JackpotWidgetAmountDefaultBox = styled.div`\r\n text-align: center;\r\n width: 100%;\r\n color: ${({state, theme}) => state === JACKPOT_STATE.Cold ? theme.colors.textLight : theme.colors.brandSecondary };\r\n text-shadow: 0px 2px 3px ${({theme}) => theme.colors.backgroundMiddleDark};\r\n /* font-preset: a standardized combination of font-family + font-weight + font-style + font-stretch */\r\n ${({state, theme}) => state === JACKPOT_STATE.Cold ? theme.font.presets.bold : theme.font.presets.black }\r\n ${({state}) => state === JACKPOT_STATE.Cold ? css`\r\n opacity: 0.8;\r\n ` : null };\r\n font-size: ${({layout, widgetWidth}) => handleAmountBoxFontSize(layout, widgetWidth)};\r\n /* bugfix: 2039067 */\r\n padding-bottom: 0.8rem;\r\n line-height: 1.2;\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: ${({layout, widgetWidth}) => handleAmountBoxFontSize(layout, widgetWidth, true)};\r\n }\r\n`;\r\n\r\nconst JackpotWidgetAmountCasino777Box = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({state, theme, themeType}) => (themeType === JackpotThemeType.Light ? (state === JACKPOT_STATE.Cold ? theme.colors.textContrast : theme.colors.danger) : theme.colors.brandSecondary) };\r\n text-shadow: none;\r\n`;\r\n\r\nconst JackpotWidgetAmountSiBox = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.moneyColor };\r\n text-shadow: none;\r\n`;\r\n\r\nconst JackpotWidgetAmountrMrGreenBox = styled(JackpotWidgetAmountDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n ${({theme}) => theme.font.presets.bold};\r\n span {\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n } ;\r\n`;\r\n\r\nexport const JackpotWidgetAmountBox = styledByTheme(JackpotWidgetAmountDefaultBox)\r\n .forCasino777(JackpotWidgetAmountCasino777Box)\r\n .forSI(JackpotWidgetAmountSiBox)\r\n .forSICis(JackpotWidgetAmountSiBox)\r\n .forMrGreen(JackpotWidgetAmountrMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountrMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountrMrGreenBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport interface IJackpotWidgetFooterBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nexport const JackpotWidgetFooterDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0 2rem;\r\n\tmin-height: 1rem;\r\n\r\n ${({layout}) => (layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT) && css`\r\n\t flex-direction: column;\r\n\t padding: 0rem 0rem 0.6rem;\r\n\t\tmin-height: 4rem;\r\n\t`}\r\n\r\n\t${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE && css`\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\twidth: 35%;\r\n\t\tpadding: 0 1rem 0 0;\r\n\t`}\r\n`;\r\n\r\nexport const JackpotWidgetFooterMrGreenBox = styled(JackpotWidgetFooterDefaultBox)`\r\n\t${({layout}) => (layout === JACKPOT_WIDGET_LAYOUT.PORTRAIT) && css`\r\n\t\tmin-height: inherit;\r\n\t`}\r\n`;\r\n\r\nexport const JackpotWidgetFooterBox = styledByTheme(JackpotWidgetFooterDefaultBox)\r\n\t.forMrGreen(JackpotWidgetFooterMrGreenBox)\r\n\t.forMrGreenCip(JackpotWidgetFooterMrGreenBox)\r\n\t.forMrGreenCis(JackpotWidgetFooterMrGreenBox)\r\n\t.apply();\r\n\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_STATE} from '../../../../../../../common/const/jackpot_map_ids';\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetClockLabelBox{\r\n state: JACKPOT_STATE;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleClockLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 14px */\r\n return widgetWidth * 14 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 131 + \"px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetClockLabelDefaultBox = styled.div`\r\n ${({theme}) => theme.font.presets.body};\r\n text-transform: uppercase;\r\n color: ${({state, theme}) => state === JACKPOT_STATE.Hot ? theme.colors.brandSecondary : theme.colors.textLight };\r\n letter-spacing: 0.02rem;\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"74%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"left\" : \"center\" };\r\n font-size: ${({widgetWidth, layout}) => handleClockLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetClockLabelCasino777Box = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({state, theme, themeType}) => themeType === JackpotThemeType.Light ? (state === JACKPOT_STATE.Hot ? theme.colors.danger : theme.colors.textContrast) : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetClockLabelSiBox = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\nconst JackpotWidgetClockLabelMrGreenBox = styled(JackpotWidgetClockLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n text-transform: capitalize;\r\n`;\r\n\r\nexport const JackpotWidgetClockLabelBox = styledByTheme(JackpotWidgetClockLabelDefaultBox)\r\n .forCasino777(JackpotWidgetClockLabelCasino777Box)\r\n .forSI(JackpotWidgetClockLabelSiBox)\r\n .forSICis(JackpotWidgetClockLabelSiBox)\r\n .forMrGreen(JackpotWidgetClockLabelMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetClockLabelMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetClockLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetClockBoxProps {\r\n className?: string;\r\n widgetWidth?: number;\r\n themeType: JackpotThemeType;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n}\r\n\r\nconst handleClockBoxFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number): string => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 30px */\r\n return widgetWidth ? (widgetWidth * 30 / 468 + \"px\") : \"30px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 15px */\r\n return widgetWidth ? (widgetWidth * 15 / 375 + \"px\") : \"15px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 15px */\r\n return widgetWidth ? (widgetWidth * 15 / 131 + \"px\") : \"15px\";\r\n }\r\n};\r\n\r\nconst JackpotWidgetClockDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight};\r\n font-family: ${({theme}) => theme.components.jackpotWidget.font.clock};\r\n\r\n width: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"26%\" : \"100%\" };\r\n text-align: ${({layout}) => layout === JACKPOT_WIDGET_LAYOUT.LANDSCAPE ? \"right\" : \"center\" };\r\n\r\n /** For the floating clock shown in game, no need to compute relative (fluid) font-size */\r\n font-size: ${({widgetWidth, layout}) => handleClockBoxFontSize(layout, widgetWidth)};\r\n /* bugfix: 2039067 */\r\n line-height: 1.0;\r\n padding-bottom: 0.5rem;\r\n`;\r\n\r\nconst JackpotWidgetClockCasino777Box = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({themeType, theme}) => themeType === JackpotThemeType.Light ? theme.colors.brandPrimaryContrast : theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetClockSiBox = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({theme}) => /* theme.colors.textContrast */ theme.colors.moneyColor };\r\n`;\r\n\r\nconst JackpotWidgetClockMrGreenBox = styled(JackpotWidgetClockDefaultBox)`\r\n color: ${({theme}) => theme.colors.textDark };\r\n ${({theme}) => theme.font.presets.bold};\r\n font-weight: 600;\r\n padding-bottom: 0;\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 { observable, action, makeObservable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport { TimeSpan } from '@sparkware/app-utils';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport { JackpotWidgetClockBox } from './boxes/footer/clock/box/jackpot-widget-clock.box';\r\nimport {JackpotType} from '../../../common/const/jackpot_map_ids';\r\nimport {JACKPOT_WIDGET_LAYOUT} from './jackpot-widget.component';\r\nimport {SetIntervalType} from \"../../../common/types/set-interval-type\";\r\nimport {IJackpotStatefulData} from '../../services/jackpots/jackpots.service.interface';\r\n\r\ninterface IDailyJackpotWidgetClockComponentProps {\r\n jackpotData: IJackpotStatefulData;\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth?: number;\r\n jackpotType: JackpotType;\r\n}\r\n\r\n@observer\r\nexport class JackpotWidgetClockComponent extends OrbitComponent {\r\n private updateClockInterval: SetIntervalType;\r\n\r\n @observable.ref\r\n private clockValue: string = \"\";\r\n\r\n constructor(props: IDailyJackpotWidgetClockComponentProps) {\r\n super(props);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.clockInit();\r\n }\r\n\r\n componentDidUpdate(prevProps: IDailyJackpotWidgetClockComponentProps) {\r\n if ( prevProps.jackpotData.mustHitTime !== this.props.jackpotData.mustHitTime) {\r\n this.clearClockInterval();\r\n this.clockInit();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.clearClockInterval();\r\n }\r\n\r\n private clockInit() {\r\n this.updateClock();\r\n this.updateClockInterval = setInterval(() => {\r\n this.updateClock();\r\n }, 1000);\r\n }\r\n\r\n private clearClockInterval() {\r\n if (this.updateClockInterval) {\r\n clearInterval(this.updateClockInterval);\r\n this.updateClockInterval = undefined;\r\n }\r\n }\r\n\r\n @action.bound\r\n private updateClock() {\r\n const serverDate = this.services.time.getCurrentServerDate();\r\n if (!serverDate) {\r\n this.services.logger.warning('Server date is invalid');\r\n return;\r\n }\r\n\r\n const mustHitDate = this.props.jackpotData.mustHitTime;\r\n\r\n // round it to 1 second\r\n const remainingTimeMilis = Math.round((mustHitDate.getTime() - serverDate.getTime()) / 1000) * 1000;\r\n const remainingTimeTimeSp = TimeSpan.fromMilliseconds(Math.max(0, remainingTimeMilis));\r\n this.clockValue = remainingTimeTimeSp.toString({useTotalHours: true});\r\n }\r\n\r\n render() {\r\n return \r\n {this.clockValue}\r\n ;\r\n }\r\n}\r\n","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport { JackpotThemeType } from \"../../../../../services/jackpots/jackpots.service.interface\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../../jackpot-widget.component\";\r\n\r\ninterface IJackpotWidgetAmountLabelBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n themeType: JackpotThemeType;\r\n}\r\n\r\nconst handleAmountLabelFontSize = (layout: JACKPOT_WIDGET_LAYOUT, widgetWidth: number) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n /** In landscape view at a widget width of 468px, the amount should be of font-size 15px */\r\n return widgetWidth * 15 / 468 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n /** In minimized view at a widget width of 375px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 375 + \"px\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n /** In portrait view at a widget width of 131px, the amount should be of font-size 9px */\r\n return widgetWidth * 9 / 131 + \"px\";\r\n }\r\n};\r\n\r\n/**\r\n * This is the \"PAID\" label shown above the amount at cold state\r\n */\r\nconst JackpotWidgetAmountLabelDefaultBox = styled.div`\r\n width: 100%;\r\n margin: 0 auto;\r\n text-align: center;\r\n letter-spacing: 0.2rem;\r\n\r\n text-transform: uppercase;\r\n color: ${({theme}) => theme.colors.textLight};\r\n ${({theme}) => theme.font.presets.ultra};\r\n\r\n font-size: ${({widgetWidth, layout}) => handleAmountLabelFontSize(layout, widgetWidth)};\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelCasino777Box = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${(props) => props.themeType === JackpotThemeType.Light ? props.theme.colors.brandPrimaryContrast : props.theme.colors.brandSecondary};\r\n`;\r\n\r\nconst JackpotWidgetAmountLabelSiBox = styled(JackpotWidgetAmountLabelDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast };\r\n`;\r\n\r\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 {JackpotWidgetConfiguration} from '../../services/configurations/config-data-sections/jackpot-widget.configuration';\r\nimport {JackpotWidgetBox} from './boxes/jackpot-widget.box';\r\nimport {JackpotWidgetBgBox} from './boxes/bg/jackpot-widget-bg.box';\r\nimport {JackpotWidgetLogoBox} from './boxes/logo/jackpot-widget-logo.box';\r\nimport {JackpotWidgetAmountBox} from './boxes/amount/jackpot-widget-amount.box';\r\nimport {JackpotWidgetFooterBox} from './boxes/footer/jackpot-widget-footer.box';\r\nimport {JackpotWidgetClockLabelBox} from './boxes/footer/clock/label/jackpot-widget-clock-label.box';\r\nimport {JackpotWidgetClockComponent} from './jackpot-widget-clock.component';\r\nimport {JackpotWidgetAmountLabelBox} from './boxes/amount/label/jackpot-widget-amount-label.box';\r\nimport {JackpotWidgetCollectingLabelBox} from './boxes/footer/collecting/label/jackpot-widget-collecting-label';\r\nimport {JackpotWidgetCollectingAmountBox} from './boxes/footer/collecting/amount/jackpot-widget-collecting-amount';\r\nimport {JackpotWidgetBorderShine, JackpotWidgetRadialShine} from './boxes/shine/jackpot-widget-shine.box';\r\nimport {JackpotWidgetAspectRatioBox} from './boxes/aspect-ratio/jackpot-widget-aspect-ratio.box';\r\nimport {JackpotWidgetAmountContainer} from './boxes/amount/jackpot-widget-amount-container.box';\r\nimport {JackpotWidgetClockLabelSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box\";\r\nimport {JackpotWidgetCollectingLabelSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box\";\r\nimport {JackpotWidgetFooterSkeletonBox} from \"./skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box\";\r\nimport {JackpotWidgetAmountSkeletonBox} from \"./skeleton/boxes/jackpot-widget-amount-skeleton.box\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport { imagePreload } from '../../../common/utils/image-preload';\r\nimport {ResizeObserver, ResizeObserverEntry} from '@juggle/resize-observer';\r\nimport { IJackpotHandler } from '../../services/jackpots/jackpot-handler/jackpot-handler.interface';\r\nimport { IJackpotData } from '../../services/jackpots/jackpots.service.interface';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {SpacerBox} from '../../basic-ui-components/layout/spacer.box';\r\nimport JackpotTitleBox from \"./boxes/title/jackpot-title.box\";\r\n\r\n\r\nexport enum JACKPOT_WIDGET_LAYOUT {\r\n PORTRAIT,\r\n LANDSCAPE,\r\n LANDSCAPE_WIDE\r\n}\r\n\r\nexport interface IJackpotWidgetLayout {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n}\r\n\r\nexport interface JackpotWidgetComponentProps {\r\n\t/**\r\n\t * We send the wrapper as prop because if the widget is not rendered, then we don't want to render the Wrapper either\r\n\t */\r\n WrapperBox?: React.ComponentType;\r\n\twidgetConfig?: JackpotWidgetConfiguration;\r\n layout?: JACKPOT_WIDGET_LAYOUT;\r\n seoCategory?: string;\r\n onClick?: () => void;\r\n}\r\n\r\n@observer\r\nexport class JackpotWidgetComponent extends OrbitComponent {\r\n\r\n constructor(props: JackpotWidgetComponentProps) {\r\n super(props);\r\n makeObservable(this);\r\n }\r\n\r\n private _onWidgetClick = () => {\r\n //Product want to check how many users click on the widgets even if it's not clickable\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Jackpot_Widget\", `${this.services.routing.currentRoute?.data?.arenaType}, ${this.props.widgetConfig?.jackpotType}`);\r\n\r\n if (this.props.onClick) {\r\n const listInfo = this.services.configuration.getGamesListByJackpotId(this.props.widgetConfig.jackpotId);\r\n this.services.analytics.sendOrbitMarketingEvent(this.props.seoCategory ?? \"List_Widget\", \"Widget_Clicked\", this.props.widgetConfig.jackpotType + (listInfo?.title ? \"_\" + listInfo.title : \"\"));\r\n this.props.onClick();\r\n }\r\n }\r\n\r\n private _isWidgetClickable = () => {\r\n return !!this.props.onClick || this.props.widgetConfig.jackpotType === JackpotType.Party;\r\n }\r\n\r\n @observable.ref\r\n private imagesReady = false;\r\n\r\n\r\n @action.bound\r\n private _setImagesReady(readyState: boolean) {\r\n this.imagesReady = readyState;\r\n }\r\n\r\n private get _isJackpotHandlerReady(): boolean {\r\n const jackpotId = this.props.widgetConfig?.jackpotId ?? JackpotInternalId.Daily;\r\n const jackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n return !Check.isNullOrUndefined(jackpotHandler?.jackpotData);\r\n }\r\n\r\n private get _shouldRenderSkeleton() {\r\n return (!this.imagesReady || !this._isJackpotHandlerReady);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n const jackpotType = this.props.widgetConfig?.jackpotType ?? JackpotType.Daily;\r\n\r\n if (!this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType]) {\r\n // this can happen if in Orbit Admin metadata has jackpotType has unknown value for Orbit - for example \"HourlyCaptain8\"\r\n this.services.logger.warning(`Unknown JP type ${jackpotType} found!`)\r\n return;\r\n }\r\n\r\n Promise.all([\r\n imagePreload(this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType].logo.toString()),\r\n imagePreload(this.services.theme.currentTheme.images.jackpotWidget.byType[jackpotType].background.toString())\r\n ]).then(() => {\r\n this._setImagesReady(true);\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.resizeObserverInstance) {\r\n this.resizeObserverInstance.disconnect();\r\n this.resizeObserverInstance = null;\r\n }\r\n }\r\n\r\n @observable.ref\r\n private widgetWidth: number;\r\n private aspectRatioBox: HTMLDivElement | null;\r\n private resizeObserverInstance: ResizeObserver;\r\n private disposer: undefined | ((oldRefEl: HTMLDivElement) => void);\r\n\r\n @action.bound\r\n private setWidgetWidth = (entries: ResizeObserverEntry[]) => {\r\n // We know we are only watching the aspect ratio box element so we take the first element in the array.\r\n // We are not using this.aspectRatioBox directly because from a typescript point of view that could be null\r\n // and from a react component lifecycle perspective it could be null as well\r\n let targetElement = entries[0].target;\r\n const elementRectangle = targetElement.getBoundingClientRect();\r\n this.widgetWidth = elementRectangle.width;\r\n };\r\n\r\n private _captureJackpotWidgetAspectRatioBoxRef = (refEl: HTMLDivElement | null) => {\r\n if (this.disposer) {\r\n this.disposer(this.aspectRatioBox);\r\n this.disposer = undefined;\r\n }\r\n this.aspectRatioBox = refEl;\r\n if (this.aspectRatioBox) {\r\n if (!this.resizeObserverInstance) {\r\n this.resizeObserverInstance = new ResizeObserver(this.setWidgetWidth);\r\n }\r\n this.resizeObserverInstance.observe(this.aspectRatioBox);\r\n this.disposer = (oldRefEl: HTMLDivElement) => {\r\n // At unmount, the resizeObserverInstance will be destroyed and the disposer will be called too late.\r\n // In that case, we don't do anything since the observer was disconnected at unmount\r\n if (this.resizeObserverInstance) {\r\n this.resizeObserverInstance.unobserve(oldRefEl);\r\n }\r\n }\r\n }\r\n };\r\n\r\n private _getCountDownTimerTranslationKey(jackpotState: JACKPOT_STATE) {\r\n let translationKey = '';\r\n switch (jackpotState) {\r\n case JACKPOT_STATE.Hot:\r\n translationKey = 'JACKPOT-WIDGET-DROPS-SOON';\r\n break;\r\n\r\n case JACKPOT_STATE.OffHours:\r\n translationKey = 'JACKPOT-WIDGET-STARTS-SOON';\r\n break;\r\n\r\n case JACKPOT_STATE.Regular:\r\n default:\r\n translationKey = 'JACKPOT-WIDGET-MUST-PAY';\r\n break;\r\n }\r\n\r\n return translationKey;\r\n }\r\n\r\n private _getJackpotWidgetLayout(): JACKPOT_WIDGET_LAYOUT {\r\n return this.props.layout || JACKPOT_WIDGET_LAYOUT.PORTRAIT;\r\n }\r\n\r\n render() {\r\n if (!this.props.widgetConfig || !this.props.widgetConfig.display) {\r\n return null;\r\n }\r\n\r\n const jackpotId = String(this.props.widgetConfig.jackpotId ?? JackpotInternalId.Daily);\r\n const jackpotType: JackpotType = this.props.widgetConfig.jackpotType ?? JackpotType.Daily;\r\n\r\n const jackpotHandler: IJackpotHandler = this.services.jackpots.currentJackpotsById[jackpotId];\r\n const jackpotData = (jackpotHandler?.jackpotData || {}) as IJackpotData;\r\n\r\n if (!this._shouldRenderSkeleton) {\r\n jackpotHandler.startGradual(jackpotData);\r\n }\r\n\r\n const {jackpotState, lastWinAmount} = jackpotData || {};\r\n\r\n const WrapperBox = this.props.WrapperBox || React.Fragment;\r\n\r\n const layout = this._getJackpotWidgetLayout();\r\n\r\n const themeType = this.services.jackpots.getThemeType(jackpotType);\r\n\r\n 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 {jackpotState === JACKPOT_STATE.Cold ?\r\n this.services.currency.formatMoney(lastWinAmount) :\r\n this.services.currency.formatMoney(jackpotHandler.jackpotAmount)}\r\n \r\n \r\n \r\n \r\n { jackpotData.jackpotState ?\r\n (jackpotState === JACKPOT_STATE.Cold ?\r\n <>\r\n \r\n {this.services.translation.translate('JACKPOT-WIDGET-NEXT-JACKPOT')}\r\n \r\n\r\n \r\n {this.services.currency.formatMoney(jackpotHandler.jackpotAmount)}\r\n \r\n :\r\n <>\r\n \r\n {this.services.translation.translate(this._getCountDownTimerTranslationKey(jackpotState))}\r\n \r\n \r\n \r\n ) : }\r\n \r\n }\r\n \r\n \r\n \r\n ;\r\n }\r\n};\r\n","import styled from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetAspectRatioBoxProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n};\r\n\r\nconst handlePaddingTop = (layout: JACKPOT_WIDGET_LAYOUT) => {\r\n switch (layout) {\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE:\r\n return \"58%\";\r\n case JACKPOT_WIDGET_LAYOUT.LANDSCAPE_WIDE:\r\n return \"25%\";\r\n case JACKPOT_WIDGET_LAYOUT.PORTRAIT:\r\n default:\r\n return \"123%\";\r\n }\r\n};\r\n\r\nexport const JackpotWidgetAspectRatioBox = styled.div`\r\n position: relative;\r\n padding-top: ${({layout}) => handlePaddingTop(layout)};\r\n transition: padding-top 0.5s ease-in-out;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport interface IJackpotWidgetAmountContainerProps {\r\n layout: JACKPOT_WIDGET_LAYOUT;\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 padding-bottom: 25%;\r\n`;\r\n\r\nexport const JackpotWidgetAmountContainer = styledByTheme(JackpotWidgetAmountContainerDefaultBox)\r\n .forMrGreen(JackpotWidgetAmountContainerMrGreenBox)\r\n .forMrGreenCip(JackpotWidgetAmountContainerMrGreenBox)\r\n .forMrGreenCis(JackpotWidgetAmountContainerMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetFooterElementSkeletonBox = styled.div`\r\n width: 20%;\r\n height: 2rem;\r\n \r\n animation: FooterElementSkeletonAnimation 1.5s linear infinite;\r\n \r\n @keyframes FooterElementSkeletonAnimation {\r\n 0% {\r\n background-color: #474747;\r\n }\r\n 100% {\r\n background-color: #333333;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetFooterElementSkeletonBox} from \"./jackpot-widget-footer-element-skeleton.box\";\r\n\r\nexport const JackpotWidgetClockLabelSkeletonBox = styled(JackpotWidgetFooterElementSkeletonBox)`\r\n margin-left: 50%;\r\n`;","import styled from \"styled-components\";\r\nimport {JackpotWidgetFooterElementSkeletonBox} from \"./jackpot-widget-footer-element-skeleton.box\";\r\n\r\nexport const JackpotWidgetCollectingLabelSkeletonBox = styled(JackpotWidgetFooterElementSkeletonBox)`\r\n margin-left: 5%;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetFooterSkeletonBox = styled.div`\r\n display: flex;\r\n margin-bottom: 0.8rem;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const JackpotWidgetAmountSkeletonBox = styled.div`\r\n margin-top: 35%;\r\n margin-left: 25%;\r\n\r\n width: 50%;\r\n height: 2.8rem;\r\n \r\n animation: AmountSkeletonAnimation 1.5s linear infinite;\r\n @keyframes AmountSkeletonAnimation {\r\n 0% {\r\n background-color: #474747;\r\n }\r\n 100% {\r\n background-color: #333333;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const SpacerBox = styled.div<{height: string}>`\r\n height: ${({height}) => height};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../themes/architecture/styled-by-theme\";\r\nimport {JACKPOT_WIDGET_LAYOUT} from \"../../jackpot-widget.component\";\r\n\r\nexport interface IJackpotWidgetTitleBox {\r\n layout: JACKPOT_WIDGET_LAYOUT;\r\n widgetWidth: number;\r\n}\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: block;\r\n text-shadow: 0px 2.70px 2.70px rgba(0, 0, 0, 0.29);\r\n line-height: 1.2;\r\n text-align: center;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n padding-top: 5%;\r\n\r\n font-size: ${({layout, widgetWidth}) => handleTitleBoxFontSize(layout, widgetWidth)};\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: ${({layout, widgetWidth}) => handleTitleBoxFontSize(layout, widgetWidth, true)};\r\n }\r\n\r\n`;\r\n\r\nconst JackpotTitleBox = styledByTheme(JackpotTitleDefaultBox)\r\n .forMrGreen(JackpotTitleMrGreenBox)\r\n .forMrGreenCip(JackpotTitleMrGreenBox)\r\n .forMrGreenCis(JackpotTitleMrGreenBox)\r\n .apply();\r\n\r\nexport default JackpotTitleBox;\r\n\r\n","import {JackpotWidgetDefaultBox} from './jackpot-widget-wrapper.default.box';\r\n\r\nexport const JackpotWidgetWrapperBox = JackpotWidgetDefaultBox;\r\n","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const JackpotWidgetDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n margin: 1rem 1rem 3rem;\r\n align-self: stretch;\r\n max-width: 24rem;\r\n width: calc(100% / 6);\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: calc(100% / 5);\r\n margin: 1rem 1.5rem 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 3);\r\n margin: 1rem 1.5rem 0;\r\n }\r\n`;\r\n","import {RedTigerWidgetDefaultBox} from './red-tiger-widget.default.box';\r\n\r\nexport const RedTigerWidgetBox = RedTigerWidgetDefaultBox;\r\n","import styled from 'styled-components';\r\nimport { flexFixedSizeItem } from '../../../../themes/architecture/css-helpers/flex';\r\n\r\nexport const RedTigerWidgetDefaultBox = styled.div`\r\n ${flexFixedSizeItem}\r\n margin: 1rem 1rem 3rem;\r\n align-self: stretch;\r\n max-width: 24rem;\r\n width: calc(100% / 6);\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 1rem 1.5rem 0;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n width: calc(100% / 5);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: calc(100% / 3);\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\n\r\nexport const RedTigerWidgetHitAreaDefaultBox = styled.div`\r\n cursor: pointer;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { RedTigerWidgetHitAreaDefaultBox } from './red-tiger-widget-hit-area.default.box';\r\n\r\n\r\nexport const RedTigerWidgetHitAreaCasino777Box = styled(RedTigerWidgetHitAreaDefaultBox)`\r\n cursor: default;\r\n`;","import { styledByTheme } from './../../../../themes/architecture/styled-by-theme';\r\nimport { RedTigerWidgetHitAreaDefaultBox } from './red-tiger-widget-hit-area.default.box';\r\nimport { RedTigerWidgetHitAreaCasino777Box } from './red-tiger-widget-hit-area.casino777.box';\r\n\r\nexport const RedTigerWidgetHitAreaBox = styledByTheme(RedTigerWidgetHitAreaDefaultBox)\r\n .forCasino777(RedTigerWidgetHitAreaCasino777Box)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const RedTigerWidgetFrameContainerDefaultBox = styled.iframe`\r\n pointer-events: none;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 10px;\r\n`;\r\n","import { styledByTheme } from './../../../../themes/architecture/styled-by-theme';\r\nimport { RedTigerWidgetFrameContainerDefaultBox } from './red-tiger-widget-frame-container.default.box';\r\n\r\nexport const RedTigerWidgetFrameContainerBox = styledByTheme(RedTigerWidgetFrameContainerDefaultBox)\r\n .apply();","import React from 'react';\r\nimport { OrbitComponent } from '../base-components/orbit-component/orbit-component';\r\nimport { RedTigerJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/red-tiger-jackpot-widget.configuration';\r\nimport { observer } from 'mobx-react';\r\nimport { RedTigerWidgetBox } from './boxes/widget/red-tiger-widget.box';\r\nimport { RedTigerWidgetHitAreaBox } from './boxes/hitArea/red-tiger-widget-hit-area.box';\r\nimport { RedTigerWidgetFrameContainerBox } from './boxes/frameContainer/red-tiger-widget-frame-container.box';\r\nimport { CyClass } from '../../../common/cy-classes';\r\n\r\ninterface RedTigerWidgedComponentProps {\r\n widgetConfig?: RedTigerJackpotWidgetConfiguration;\r\n}\r\n\r\nexport const RedTigerWidgetComponent = observer(\r\n class RedTigerWidgetComponent extends OrbitComponent {\r\n \r\n private _onWidgetClick = () => {\r\n this.services.redTiger.redirectToWidgetActionLink(this.props.widgetConfig.actionLink);\r\n }\r\n \r\n private _logMissingProps() {\r\n if (!this.props.widgetConfig.actionLink) {\r\n // actionLink is optional. For example on 777 we don't have it\r\n this.services.logger.info('Missing actionLink parameter for RedTigerWidgetComponent');\r\n }\r\n\r\n if (!this.props.widgetConfig.parameters?.skin) {\r\n this.services.logger.warning('Missing skin parameter for RedTigerWidgetComponent');\r\n }\r\n\r\n if (!this.props.widgetConfig.parameters?.jackpotId) {\r\n this.services.logger.warning('Missing jackpotId parameter for RedTigerWidgetComponent');\r\n }\r\n }\r\n\r\n render() {\r\n if(!this.props.widgetConfig?.display) {\r\n return null;\r\n }\r\n this._logMissingProps();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport { GeneralTitleDefaultBox } from './general-title.default.box';\r\n\r\nexport const GeneralTitleCasinoSIBox = styled(GeneralTitleDefaultBox)`\r\n flex-grow: 100;\r\n border-radius: 3px 0px 0px 3px;\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n`;","import {GeneralTitleDefaultBox} from './general-title.default.box';\r\nimport {GeneralTitleCasino777Box} from './general-title.casino777.box';\r\nimport {GeneralTitleCasinoSIBox} from './general-title.si.box';\r\nimport {styledByTheme} from '../../themes/architecture/styled-by-theme';\r\n\r\nexport const GeneralTitleBox = styledByTheme(GeneralTitleDefaultBox)\r\n .forCasino777(GeneralTitleCasino777Box)\r\n .forSI(GeneralTitleCasinoSIBox)\r\n .apply();\r\n\r\n","import styled from 'styled-components';\r\nimport {GeneralTitleBox} from '../../../../basic-components/general-title/general-title.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\n\r\nexport const ListTitleTextDefaultBox = styled(GeneralTitleBox)`\r\n letter-spacing: 0.2rem;\r\n display: flex;\r\n align-items: center;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n border-left: 2px solid ${props => props.theme.components.gamesListTitle.colors.text.dailyJackpot};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.redTigerJackpot};\r\n border-left: 2px solid #ff014f;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-top: 0.6rem;\r\n padding-bottom: 0.6rem;\r\n padding-right: 0.1rem;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from '../../constants';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\n\r\nexport const ListTitleTextCasino777Box = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n align-items: flex-start;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextCipBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n`;","import styled from \"styled-components\";\r\nimport {ListTitleTextDefaultBox} from \"./list-title-text.default.box\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\n\r\nexport const ListTitleTextCisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.secondary};\r\n background: none;\r\n border-left: none;\r\n padding: 0 0;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n color: ${props => props.theme.components.gamesListTitle.colors.text.regular};\r\n border-left: none\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from '../../constants';\r\n\r\nexport const ListTitleTextSiBox = styled(ListTitleTextDefaultBox)`\r\n letter-spacing: 0.1rem;\r\n \r\n background-image: linear-gradient(to right, ${props => props.theme.colors.background} 0%, ${props => props.theme.colors.background} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: transparent;\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 5px solid ${props => props.theme.colors.brandPrimary};\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../constants\";\r\nimport {HOME_PAGE} from '../../../../themes/css-global-classes';\r\n\r\nexport const ListTitleTextMrGreenBox = styled(ListTitleTextDefaultBox)`\r\n background: none;\r\n border-left: 0;\r\n\r\n /* This is done to keep the alignment between the list title and the first game in the list */\r\n padding-left: calc(max(0px, 100% / 7 - 21rem) / 2);\r\n .${HOME_PAGE} & {\r\n padding-left: calc(max(0px, 100% / 6 - 21rem) / 2);\r\n }\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n padding-left: 10px;\r\n .${HOME_PAGE} & {\r\n padding-left: 10px;\r\n }\r\n }\r\n\r\n font-size: 2.4rem;\r\n letter-spacing: normal;\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n font-size: 1.6rem;\r\n }\r\n\r\n .${JACKPOT_WIDGET} & {\r\n border-left: 0;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: 0;\r\n }\r\n`;\r\n\r\n","import styled from \"styled-components\";\r\nimport { JACKPOT_WIDGET, RED_TIGER_JACKPOT } from \"../../constants\";\r\nimport { ListTitleTextDefaultBox } from \"./list-title-text.default.box\";\r\n\r\nexport const ListTitleTextSICisBox = styled(ListTitleTextDefaultBox)`\r\n ${({theme}) => theme.font.presets.medium};\r\n \r\n letter-spacing: 0.56px;\r\n font-size: 14px;\r\n background-image: linear-gradient(to right, ${props => props.theme.colors.backgroundContrast} 0%, ${props => props.theme.colors.backgroundContrast} 70%, ${props => props.theme.colors.background}00 100%);\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n\r\n border-left: none;\r\n \r\n .${JACKPOT_WIDGET} & {\r\n border-left: none;\r\n }\r\n\r\n .${RED_TIGER_JACKPOT} & {\r\n border-left: none;\r\n }\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleTextDefaultBox} from './list-title-text.default.box';\r\nimport {ListTitleTextCasino777Box} from './list-title-text.casino777.box';\r\nimport {ListTitleTextCipBox} from \"./list-title-text.cip.box\";\r\nimport {ListTitleTextCisBox} from \"./list-title-text.cis.box\";\r\nimport {ListTitleTextSiBox} from \"./list-title-text.si.box\";\r\nimport {ListTitleTextMrGreenBox} from \"./list-title-text.mrgreen.box\";\r\nimport { ListTitleTextSICisBox } from './list-title-text.siCis.box';\r\n\r\nexport const ListTitleTextBox = styledByTheme(ListTitleTextDefaultBox)\r\n .forCip(ListTitleTextCipBox)\r\n .forWsopCip(ListTitleTextCipBox)\r\n .forCis(ListTitleTextCisBox)\r\n .forCasino777(ListTitleTextCasino777Box)\r\n .forSI(ListTitleTextSiBox)\r\n .forSICis(ListTitleTextSICisBox)\r\n .forMrGreen(ListTitleTextMrGreenBox)\r\n .forMrGreenCis(ListTitleTextMrGreenBox)\r\n .apply();","import styled from 'styled-components';\r\n\r\n\r\nexport const ListTitleDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n padding: 0.3rem 1.5rem;\r\n &:before {\r\n content: \"\";\r\n background-image: radial-gradient(50% 80% at top, rgba(0,0,0,0.5), transparent);\r\n opacity:0.5;\r\n background-repeat: no-repeat;\r\n background-position: 50% 0;\r\n background-size: contain;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 35rem;\r\n width: 100%;\r\n z-index: -1;\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n height: 25rem;\r\n }\r\n }\r\n`;","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleCasino777Box = styled(ListTitleDefaultBox)`\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\n\r\nexport const ListTitleMrGreenBox = styled(ListTitleDefaultBox)`\r\n padding-left: 0;\r\n &:before {\r\n content: none\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCipBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport {ListTitleDefaultBox} from \"./list-title.default.box\";\r\n\r\nexport const ListTitleCisBox = styled(ListTitleDefaultBox)`\r\n &:before {\r\n display: none;\r\n }\r\n \r\n border-top: 1.5px solid ${props => props.theme.colors.brandPrimary};\r\n background-color: ${props => props.theme.colors.background};\r\n`;\r\n","import styled from 'styled-components';\r\nimport { baseColors } from '../../../../themes/definitions/si/cis/base-colors';\r\nimport { ListTitleCisBox } from './list-title.cis.box';\r\n\r\nexport const ListTitleSICisBox = styled(ListTitleCisBox)`\r\n background-color: ${props => props.theme.colors.backgroundContrast};\r\n box-shadow: 0px 0px 6px ${baseColors.base08Shadow};\r\n z-index: 2;\r\n`;\r\n","import {styledByTheme} from '../../../../themes/architecture/styled-by-theme';\r\nimport {ListTitleDefaultBox} from './list-title.default.box';\r\nimport {ListTitleCasino777Box} from './list-title.casino777.box';\r\nimport {ListTitleMrGreenBox} from './list-title.mrgreen.box';\r\nimport {ListTitleCipBox} from './list-title.cip.box';\r\nimport {ListTitleCisBox} from \"./list-title.cis.box\";\r\nimport { ListTitleSICisBox } from './list-title.siCis.box';\r\n\r\nexport const ListTitleBox = styledByTheme(ListTitleDefaultBox)\r\n .forCasino777(ListTitleCasino777Box)\r\n .forCip(ListTitleCipBox)\r\n .forWsopCip(ListTitleCipBox)\r\n .forCis(ListTitleCisBox)\r\n .forSICis(ListTitleSICisBox)\r\n .forMrGreen(ListTitleMrGreenBox)\r\n .apply();","import React, {PropsWithChildren} from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {FlexGrowItemBox} from '../../themes/architecture/css-helpers/flex';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from \"classnames\";\r\nimport {ListTitleBox} from './boxes/list-title/list-title.box';\r\n\r\nexport interface GameListTitleComponentProps extends PropsWithChildren {\r\n className?: string;\r\n title: React.ReactElement;\r\n}\r\n\r\nexport const GameListTitleComponent = observer(\r\n class GameListTitleComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const cssClasses = classNames('cy-games-list-title', this.props.className);\r\n\r\n return (\r\n \r\n {this.props.title}\r\n {this.services.mediaQuery.mAndAbove ? : null}\r\n {this.props.children}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\n\r\nexport const SwiperButtonsDefaultBox = styled.div`\r\n display: flex;\r\n align-items: center;\r\n @media ${({theme}) => theme.mediaQuery.mAndAbove} {\r\n margin: 0 1rem;\r\n }\r\n`;\r\n\r\n\r\n\r\n","import styled from 'styled-components';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\n\r\nexport const SwiperButtonsCasino777Box = styled(SwiperButtonsDefaultBox)`\r\n right:.8rem;\r\n`;","import {styledByTheme} from '../../../../../themes/architecture/styled-by-theme';\r\nimport {SwiperButtonsDefaultBox} from './swiper-buttons.default.box';\r\nimport {SwiperButtonsCasino777Box} from './swiper-buttons.casino777.box';\r\n\r\nexport const SwiperButtonsBox = styledByTheme(SwiperButtonsDefaultBox).forCasino777(SwiperButtonsCasino777Box).apply();","import styled, { css } from \"styled-components\";\r\n\r\nexport const SwiperButtonBox = styled.div<{isTouchDevice?: boolean}>`\r\n margin: 0 0.5rem;\r\n\r\n ${({isTouchDevice}) => isTouchDevice ? css`\r\n display: none;\r\n ` : null}\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {SwiperButtonsBox} from './boxes/wrapper/swiper-buttons.box';\r\nimport {SwiperButtonBox} from './boxes/button/swiper-button.box';\r\nimport { Button } from '../../../basic-ui-components/button/base/button.component';\r\nimport {ISwipeLogicHandler} from \"../../../services/arenas/models/swiper-logic-handler/swiper-logic-handler.interface\";\r\nimport {CyClass} from \"../../../../common/cy-classes\";\r\n\r\n\r\nexport interface OrbitSwiperButtonsProps {\r\n analyticsAction: string;\r\n swiper: ISwipeLogicHandler;\r\n seeAllButtonUrl: string;\r\n seoCategory: string;\r\n}\r\n\r\n\r\n\r\nexport const OrbitSwiperButtons = observer(class OrbitSwiperButtons extends OrbitComponent {\r\n\r\n\r\n private onSwiperButtonPrevClick = () => {\r\n this.props.swiper.movePrevious();\r\n };\r\n\r\n private onSwiperButtonNextClick = () => {\r\n this.props.swiper.moveNext();\r\n };\r\n\r\n private _renderMoveNextAndPreviousButtons() {\r\n\r\n if (!this.props.swiper.allowNext && !this.props.swiper.allowPrevious) {\r\n return null;\r\n }\r\n\r\n const isTouchDevice = this.services.device.feature.isTouch; // device has touch\r\n\r\n return (<>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n\r\n }\r\n\r\n private seeAllClickHandler = () => {\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this.props.seoCategory, action: 'See_All', label: this.props.analyticsAction}, true);\r\n\r\n const url = this.props.seeAllButtonUrl;\r\n this.services.location.push(url);\r\n };\r\n\r\n private _renderSeeAllButton() {\r\n if(this.props.seeAllButtonUrl.length === 0 || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return \r\n \r\n {this.services.translation.translate('SEE_ALL')}\r\n \r\n ;\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n {this._renderMoveNextAndPreviousButtons()}\r\n {this._renderSeeAllButton()}\r\n \r\n );\r\n }\r\n});\r\n\r\n\r\n","import { action, computed, observable, makeObservable } from 'mobx';\r\nimport { DomEventSubscription } from '../../../../../utils/event-listener-registration';\r\nimport {IServiceFactory} from '../../../service-factory.interface';\r\nimport {IGamesListViewModel} from \"../lists/games-list-view-model.interface\";\r\nimport {ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\n\r\nexport class SwipeLogicHandler implements ISwipeLogicHandler {\r\n private _resizeEventHandler: DomEventSubscription;\r\n\r\n constructor(private services: IServiceFactory,\r\n private readonly _gamesListViewModel: IGamesListViewModel) {\r\n makeObservable(this);\r\n\r\n this._isRTLLanguage = this.services.language.isRTLLanguage;\r\n }\r\n\r\n @observable.ref\r\n private _element: HTMLElement = null;\r\n\r\n @observable.ref\r\n private _currentTranslateAmount: number = 0;\r\n\r\n @action.bound\r\n setElement(element: HTMLElement) {\r\n this._unsubscribe();\r\n if(element) {\r\n this._element = element;\r\n this._setScrollWidth(element.scrollWidth);\r\n this._currentTranslateAmount = this.services.window.getElementHorizontalTranslationAmount(this._element as Element);\r\n this._subscribe();\r\n } else {\r\n this.resetScrollPosition();\r\n this._element = null;\r\n }\r\n }\r\n\r\n @action.bound\r\n resetScrollPosition() {\r\n this._currentTranslateAmount = 0;\r\n if (this._element) {\r\n this._element['style'].transform = `translate3d(0px, 0, 0)`;\r\n }\r\n }\r\n\r\n updateScrollWidth() {\r\n if (this._element) {\r\n this._setScrollWidth(this._element.scrollWidth);\r\n }\r\n }\r\n\r\n private _subscribe() {\r\n this._resizeEventHandler = this.services.window.subscribeTo.resize(() => {\r\n this.updateScrollWidth();\r\n });\r\n\r\n if(this.services.device.isMobile && this._element) {\r\n this._element.addEventListener(\"scroll\", this._onMobileSwipe);\r\n }\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._resizeEventHandler) {\r\n this._resizeEventHandler.dispose();\r\n }\r\n\r\n if(this.services.device.isMobile && this._element) {\r\n this._element.removeEventListener(\"scroll\", this._onMobileSwipe);\r\n }\r\n }\r\n\r\n private readonly _isRTLLanguage : boolean;\r\n\r\n\r\n @computed\r\n get allowPrevious(): boolean {\r\n if (this._element) {\r\n return Math.abs(this._currentTranslateAmount) >= 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed\r\n get allowNext(): boolean {\r\n if (this._element) {\r\n return Math.abs(this._currentTranslateAmount) < this._maximumTranslationAmount - 1;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n\r\n private get _width(): number {\r\n return this.services.window.getElementWidth(this._element);\r\n }\r\n\r\n\r\n @action.bound\r\n private _setScrollWidth(value: number): void {\r\n this._scrollWidth = value;\r\n }\r\n\r\n @observable.ref\r\n private _scrollWidth = 0;\r\n\r\n\r\n @computed\r\n private get _maximumTranslationAmount(): number {\r\n if(this._element) {\r\n return this._scrollWidth - this._width;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private _isSwiperOnTheMove = false;\r\n\r\n @action.bound\r\n private _slide(computeIncrement: (absoluteCurrentTranslationAmount: number) => number) {\r\n if(this._isSwiperOnTheMove) {\r\n return;\r\n }\r\n\r\n this._isSwiperOnTheMove = true;\r\n\r\n try {\r\n let currentTranslateAmount = this.services.window.getElementHorizontalTranslationAmount(this._element);\r\n let increment = computeIncrement(Math.abs(currentTranslateAmount));\r\n\r\n if(this._isRTLLanguage) {\r\n increment = -1 * increment;\r\n }\r\n\r\n let translateAmount = currentTranslateAmount + increment;\r\n\r\n this._element['style'].transform = `translate3d(${translateAmount}px, 0, 0)`;\r\n this._currentTranslateAmount = translateAmount;\r\n\r\n this._sendAnalytics();\r\n } finally {\r\n this._isSwiperOnTheMove = false;\r\n }\r\n }\r\n\r\n private _sendAnalytics() {\r\n this.services.analytics.sendElasticInfoEvent({eventType:\"CGP_Game_Click\",category: this._gamesListViewModel.arenaName, action: 'Swipe', label: this._gamesListViewModel.title.translationKey}, true);\r\n }\r\n\r\n\r\n moveNext(): void {\r\n if(this.allowNext) {\r\n this._slide((absoluteCurrentTranslationAmount) => -1 * Math.min(this._width, this._maximumTranslationAmount - absoluteCurrentTranslationAmount));\r\n }\r\n\r\n }\r\n\r\n movePrevious(): void {\r\n if(this.allowPrevious) {\r\n this._slide((absoluteCurrentTranslationAmount) => Math.min(this._width, absoluteCurrentTranslationAmount));\r\n }\r\n }\r\n\r\n private _mobileScrollingTimeout: any;\r\n private _onMobileSwipe = () => {\r\n //Clear the timeout on every scroll to prevent form the scroll(swipe) event to fire multiple times. (debounce)\r\n clearTimeout(this._mobileScrollingTimeout);\r\n // Set a timeout to fire after the scrolling as end\r\n this._mobileScrollingTimeout = setTimeout(() => {\r\n this._sendAnalytics();\r\n }, 100);\r\n };\r\n}\r\n","import React, { useMemo, useRef } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\nimport { TitanJackpotWidgetConfiguration } from '../../services/configurations/config-data-sections/titan-jackpot-widget.configuration';\r\nimport { LottiePlayer } from '../lottie-player/lottie-player.component';\r\nimport { AnimationItem } from 'lottie-web';\r\n\r\nconst ENTER_FRAME_EVENT_NAME = 'enterFrame';\r\n\r\nconst ANIMATION_PAUSE_INTERVAL = 3000;\r\n\r\nconst MINOR_JACKPOT_FRAME = 10;\r\nconst MAJOR_JACKPOT_FRAME = 90;\r\nconst MEGA_JACKPOT_FRAME = 180;\r\n\r\nconst ANIMATION_FRAME_STOPS = [MINOR_JACKPOT_FRAME, MAJOR_JACKPOT_FRAME, MEGA_JACKPOT_FRAME];\r\n\r\ninterface ITitanAnimationComponentProps {\r\n widgetConfig: TitanJackpotWidgetConfiguration;\r\n}\r\n\r\nexport const TitanJackpotAnimationComponent: React.FC = observer((props) => {\r\n let lottie = useRef(null);\r\n let animationCounter = 0;\r\n\r\n const services = useServices();\r\n\r\n const styles = useMemo(() => ({ borderRadius: 10, display: 'grid' }), []);\r\n\r\n const updateAnimationCounter = (): void => {\r\n animationCounter++;\r\n }\r\n\r\n const getTitanJackpotIndex = (): number => {\r\n return animationCounter % props.widgetConfig?.jackpotIds.length;\r\n }\r\n\r\n const getCurrentJackpotId = (): string => {\r\n const index: number = getTitanJackpotIndex();\r\n\r\n return String(props.widgetConfig.jackpotIds[index]);\r\n }\r\n\r\n const setLottieInstance = (instance: AnimationItem): void => {\r\n if (lottie.current) {\r\n lottie.current.removeEventListener(ENTER_FRAME_EVENT_NAME, handleEnterFrame);\r\n }\r\n\r\n if (!instance) {\r\n return;\r\n }\r\n\r\n lottie.current = instance;\r\n lottie.current.addEventListener(ENTER_FRAME_EVENT_NAME, handleEnterFrame);\r\n };\r\n\r\n const handleEnterFrame = (e): void => {\r\n if (Math.round(lottie.current.currentFrame) === ANIMATION_FRAME_STOPS[getTitanJackpotIndex()]) {\r\n lottie.current.pause();\r\n\r\n services.titanJackpot.updateJackpotHandler(getCurrentJackpotId());\r\n\r\n setTimeout(() => {\r\n lottie.current.play();\r\n }, ANIMATION_PAUSE_INTERVAL);\r\n\r\n updateAnimationCounter();\r\n }\r\n }\r\n\r\n return (\r\n \r\n )\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const TitanJackpotAmountBox = styled.div`\r\n position: absolute;\r\n top: calc(69%);\r\n\r\n text-align: center;\r\n\r\n color: ${props => props.theme.colors.brandSecondary};\r\n ${({theme}) => theme.font.presets.ultra};\r\n font-size: 1.8em;\r\n width: 100%;\r\n \r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.3em; \r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n font-size: 1.1em;\r\n }\r\n`;","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport { TitanJackpotAmountBox } from './boxes/titan-jackpot-amount-container.box'\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\n\r\nexport const TitanJackpotAmountComponent: React.FC = observer(() => {\r\n const services = useServices();\r\n\r\n return (\r\n \r\n {services.currency.formatMoney(services.titanJackpot.jackpotHandler?.jackpotAmount)}\r\n \r\n )\r\n});","import React from 'react';\r\nimport { observer } from \"mobx-react\";\r\nimport { TitanJackpotWidgetConfiguration } from \"../../services/configurations/config-data-sections/titan-jackpot-widget.configuration\";\r\nimport { JackpotWidgetAspectRatioBox } from '../jackpot-widget/boxes/aspect-ratio/jackpot-widget-aspect-ratio.box';\r\nimport { JackpotWidgetBgBox } from '../jackpot-widget/boxes/bg/jackpot-widget-bg.box';\r\nimport { JackpotWidgetBox } from '../jackpot-widget/boxes/jackpot-widget.box';\r\nimport { JACKPOT_WIDGET_LAYOUT } from '../jackpot-widget/jackpot-widget.component';\r\nimport { JackpotType } from '../../../common/const/jackpot_map_ids';\r\nimport { TitanJackpotAnimationComponent } from './titan-jackpot-animation.component';\r\nimport { TitanJackpotAmountComponent } from './titan-jackpot-amount.component';\r\nimport { JackpotWidgetClockLabelSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-clock-label-skeleton.box';\r\nimport { JackpotWidgetCollectingLabelSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-collecting-label-skeleton.box';\r\nimport { JackpotWidgetFooterSkeletonBox } from '../jackpot-widget/skeleton/boxes/footer/jackpot-widget-footer-container-skeleton.box';\r\nimport { JackpotWidgetAmountSkeletonBox } from '../jackpot-widget/skeleton/boxes/jackpot-widget-amount-skeleton.box';\r\nimport { Check } from '@sparkware/app-utils';\r\nimport { useServices } from '../../react-hooks/use-services.hook';\r\n\r\n\r\ninterface ITitanJackpotWidgetProps {\r\n WrapperBox?: React.ComponentType;\r\n widgetConfig?: TitanJackpotWidgetConfiguration;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const TitanJackpotWidgetComponent: React.FC = observer((props: ITitanJackpotWidgetProps) => {\r\n const services = useServices();\r\n\r\n const WrapperBox = props.WrapperBox || React.Fragment;\r\n\r\n const isJackpotHandlerReady = (): boolean => {\r\n if (!props.widgetConfig?.jackpotIds?.length) {\r\n return false;\r\n }\r\n\r\n return props.widgetConfig.jackpotIds.every(jkpId => {\r\n const jackpotHandler = services.jackpots.currentJackpotsById[String(jkpId)];\r\n return !Check.isNullOrUndefined(jackpotHandler?.jackpotData);\r\n })\r\n }\r\n\r\n const renderTitanJackpotContent = (): React.ReactNode => {\r\n return isJackpotHandlerReady() ?\r\n <>\r\n \r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n }\r\n\r\n if (!props.widgetConfig?.display) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n props.onClick()} isClickable={!!props.onClick} className=\"cy-jackpot-widget\">\r\n \r\n {renderTitanJackpotContent()}\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport {GamesListBaseModel} from \"./games-list-base.model\";\r\nimport {\r\n ApiListType,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {EXCLUSIVES_LIST_ICON, JACKPOTS_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport {TextTranslation} from \"../../../translation/text-translation\";\r\nimport {ListTitleIconBox} from \"../../../../components/game-list-title/boxes/list-title-icon/list-title-icon.box\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {JackpotWidgetComponent} from \"../../../../components/jackpot-widget/jackpot-widget.component\";\r\nimport {JackpotWidgetWrapperBox} from \"../../../../components/orbit-swiper/boxes/jackpot-widget-wrapper/jackpot-widget-wrapper.box\";\r\nimport {RedTigerWidgetComponent} from \"../../../../components/red-tiger-widget/red-tiger-widget.component\";\r\nimport {ISwiperListViewModel} from \"./swiper-list-view-model.interface\";\r\nimport {JACKPOT_WIDGET, RED_TIGER_JACKPOT} from \"../../../../components/game-list-title/constants\";\r\nimport {ListTitleTextBox} from \"../../../../components/game-list-title/boxes/list-title-text/list-title-text.box\";\r\nimport {GameListTitleComponent} from \"../../../../components/game-list-title/game-list-title.component\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitSwiperButtons} from \"../../../../components/orbit-swiper/orbit-swiper-buttons/orbit-swiper-buttons\";\r\nimport {SwipeLogicHandler} from \"../swiper-logic-handler/swipe-logic-handler\";\r\nimport {ISwipeLogicHandler} from \"../swiper-logic-handler/swiper-logic-handler.interface\";\r\nimport { JackpotType } from '../../../../../common/const/jackpot_map_ids';\r\nimport { TitanJackpotWidgetComponent } from '../../../../components/titan-jackpot-widget/titan-jackpot-widget.component';\r\n\r\nexport abstract class SwiperListBaseModel extends GamesListBaseModel implements ISwiperListViewModel {\r\n\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(arena);\r\n }\r\n \r\n get listId(): number {\r\n return this.listConfiguration.listId;\r\n }\r\n\r\n get apiListType(): ApiListType | undefined {\r\n return this.listConfiguration.apiListType;\r\n }\r\n\r\n get title(): TextTranslation {\r\n return this.services.translation.getTranslation(this.listConfiguration.title, this._getTitleTranslationParams());\r\n }\r\n\r\n get swipeLogicHandler() {\r\n return this._swipeLogicHandler;\r\n }\r\n\r\n get showGameTitleOnMultipleLines() {\r\n const widgetConfig = this.listConfiguration.jackpotWidget;\r\n\t\tif (!widgetConfig || !widgetConfig.display) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n return widgetConfig.jackpotType === JackpotType.HourlyCaptain8;\r\n }\r\n\r\n protected _swipeLogicHandler: ISwipeLogicHandler = new SwipeLogicHandler(this.services, this);\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n return this.listConfiguration.shouldInjectUsernameInTitle ? this.services.user.name : undefined;\r\n }\r\n\r\n protected get _numberOfGamesToBeIgnoredInAISorting(): number | undefined {\r\n return this.listConfiguration.ignoreNumberOfGamesInAISorting;\r\n }\r\n\r\n get listTypeId(): number | null {\r\n return null;\r\n }\r\n\r\n get showNumberBadge(): boolean | undefined {\r\n return this.listConfiguration.showNumberBadge;\r\n }\r\n\r\n protected get _seeAllUrl(): string {\r\n const seeAllConfig = this.listConfiguration.seeAll || '';\r\n\r\n /**\r\n * We used to support SeeAll Button as an object, from 6.6.21 we've changed that to string, this is backward compatibility\r\n * Task https://dev.azure.com/888holdings/GamingNDL/_workitems/edit/1737512\r\n */\r\n if (Check.isObject(seeAllConfig)) {\r\n return (seeAllConfig as any).url || '';\r\n }\r\n\r\n return seeAllConfig;\r\n }\r\n\r\n protected get _isAISorted(): boolean {\r\n return this.listConfiguration.useAISortedList;\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return !this.services.gamesFilter.isFilterOn;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n const gameTypes = this.listConfiguration.gamesId || [];\r\n if (this.services.gamesFilter.isFilterOn) {\r\n return [];\r\n }\r\n\r\n return gameTypes;\r\n }\r\n\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n if (this.listConfiguration.jackpotWidget) {\r\n return 4;\r\n }\r\n\r\n if (this.listConfiguration.templateType === JACKPOTS_ITEM) {\r\n return 2;\r\n }\r\n\r\n return 6;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _reduceGameTypes(gameTypes: number[]): number[] {\r\n gameTypes = super._reduceGameTypes(gameTypes);\r\n return this._reduceGameTypesForJackpotsItemTemplateInHomePage(gameTypes);\r\n }\r\n\r\n private _reduceGameTypesForJackpotsItemTemplateInHomePage(gameTypes: number[]): number[] {\r\n if (!this.services.device.isMobile) {\r\n return gameTypes;\r\n }\r\n if (this.listConfiguration.templateType !== JACKPOTS_ITEM) {\r\n return gameTypes;\r\n }\r\n if (!this.services.location.isHomePage) {\r\n return gameTypes;\r\n }\r\n return gameTypes.slice(0, 6);\r\n }\r\n\r\n get forceInLayout(): boolean {\r\n return this.listConfiguration.forceListInLayout;\r\n }\r\n\r\n private get _isJackpotWidgetHost(): boolean {\r\n return Boolean(this.listConfiguration.jackpotWidget?.display);\r\n }\r\n\r\n private get _isRedTigerJackpotWidgetHost(): boolean {\r\n return Boolean(this.listConfiguration.redTigerWidget?.display);\r\n }\r\n\r\n get templateType(): string {\r\n return this.listConfiguration.templateType;\r\n }\r\n\r\n protected get _forceRoundIcons(): boolean {\r\n return this.listConfiguration.forceRoundIcons;\r\n }\r\n \r\n protected get _useSquareIcons(): boolean {\r\n return this.listConfiguration.useSquareIcons;\r\n }\r\n\r\n protected _renderJackpotWidget() {\r\n let onClickHandler = null;\r\n if(this.services.location.isHomePage) {\r\n onClickHandler = () => this.services.location.push('/jackpots/');\r\n }\r\n\r\n return ()\r\n }\r\n\r\n protected _renderRedTigerWidget() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _renderTitanJackpotWidget() {\r\n let onClickHandler = null;\r\n if(this.services.location.isHomePage) {\r\n onClickHandler = () => this.services.location.push('/jackpots/');\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n renderSpecialWidgets(): React.ReactElement | null {\r\n return (\r\n <>\r\n {this._renderJackpotWidget()}\r\n {this._renderRedTigerWidget()}\r\n {this._renderTitanJackpotWidget()}\r\n \r\n );\r\n }\r\n\r\n renderListHeader(): React.ReactElement {\r\n return (\r\n \r\n {this._renderSwiperButtons()}\r\n \r\n )\r\n }\r\n\r\n protected _renderSwiperButtons() {\r\n return ;\r\n }\r\n\r\n\r\n _getTitleCssClasses(): string[] {\r\n const cssClasses: string[] = [this.listConfiguration.titleIconClassName];\r\n if(this._isJackpotWidgetHost) {\r\n cssClasses.push(JACKPOT_WIDGET);\r\n }\r\n\r\n if(this._isRedTigerJackpotWidgetHost) {\r\n cssClasses.push(RED_TIGER_JACKPOT)\r\n }\r\n\r\n return cssClasses;\r\n }\r\n\r\n _renderHeaderIconAndText(): React.ReactElement {\r\n return (\r\n \r\n {this._renderHeaderIcon()}\r\n {this._renderHeaderText()}\r\n \r\n )\r\n }\r\n\r\n protected _renderHeaderIcon(): React.ReactElement | null {\r\n if (this._isJackpotWidgetHost || this.listConfiguration.titleIconClassName === EXCLUSIVES_LIST_ICON) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return this.title.translation\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n renderListFooter(): React.ReactElement | null {\r\n return null;\r\n }\r\n}\r\n","import {SwiperListBaseModel} from \"./swiper-list-base.model\";\r\n\r\nexport abstract class ApiListBaseModel extends SwiperListBaseModel {\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _applyGameGroupFiltering(gameTypes: number[]): number[] {\r\n const allowedGameGroups = this.listConfiguration.allowedGameGroups;\r\n if (!allowedGameGroups || allowedGameGroups.length === 0) {\r\n return gameTypes;\r\n }\r\n\r\n return gameTypes.filter(gameType => {\r\n return allowedGameGroups.includes(this.services.games.gamesMap[gameType]?.gameGroupId);\r\n });\r\n }\r\n}","import React from \"react\";\r\nimport {RecentlyPlayedComponent} from \"../../../../../components/recently-played/recently-played.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\n\r\nexport class RecentlyPlayedListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(!this.services.user.isAuthorized || this.services.games.recentlyPlayedGames.isInitialized) {\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 1;\r\n }\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n if (!this.services.games.recentlyPlayedGames.gameTypes) {\r\n return [];\r\n }\r\n\r\n let gameTypes = this.services.games.recentlyPlayedGames.gameTypes;\r\n return this._applyGameGroupFiltering(gameTypes);\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ();\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\n\r\ninterface TopPicksComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const TopPicksComponent = observer(class TopPicksComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const viewModel = this.props.viewModel;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n\r\n\r\n","import React from \"react\";\r\nimport {TopPicksComponent} from \"../../../../../components/ai-list/top-picks.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class TopPicksListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(!this.services.aiEngine.aiRecommendedGames.isInitialized) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this._getGameTypes().length > 0;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.aiEngine.aiRecommendedGames?.gameTypes || [];\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n return this.services.user.userData.firstName;\r\n }\r\n\r\n get aiEngine(): string {\r\n return this.services.aiEngine.aiRecommendedGames?.engine || '';\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ();\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface AiNewGamesListComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const AiNewGamesListComponent = observer(\r\n class AiNewGamesListComponent extends OrbitComponent {\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n )\r\n }\r\n\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {AiNewGamesListComponent} from \"../../../../../components/ai-new-games-list/ai-new-games-list.component\";\r\nimport {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class NewGamesListModel extends SwiperListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration,\r\n arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(Check.isNullOrUndefined(this.services.aiNewEngine.aiNewRecommendedGames)) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.aiNewEngine.aiNewRecommendedGames?.gameTypes || [];\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n return this.services.user.name;\r\n }\r\n\r\n get aiEngine(): string {\r\n return this.services.aiNewEngine.aiNewRecommendedGames?.engine || '';\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return ;\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface PlayersLikeYouComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const PlayersLikeYouComponent = observer(\r\n class PlayersLikeYouComponent extends OrbitComponent {\r\n\r\n render() {\r\n\r\n const viewModel = this.props.viewModel;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from \"react\";\r\nimport {LIST_TYPE_ID} from \"../../../../../../common/const/ai-trending-list-ids-map\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {PlayersLikeYouComponent} from \"../../../../../components/players-like-you/players-like-you.component\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nconst NUMBER_OF_TRENDING_RECOMMENDATIONS = 10;\r\n\r\nexport class PlayersLikeYouListModel extends ApiListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(Check.isNullOrUndefined(this._computeGameTypes())) {\r\n return super._shouldBeDisplayed();\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get listTypeId(): number {\r\n if(Check.isNullOrUndefined(this.services.abTestingFeatureDataProvider.playersLikeYouGamesListTypeId)) {\r\n return LIST_TYPE_ID.ACTIVE_USERS;\r\n }\r\n\r\n return parseInt(this.services.abTestingFeatureDataProvider.playersLikeYouGamesListTypeId);\r\n }\r\n\r\n protected _getTitleTranslationParams() {\r\n let topCount = NUMBER_OF_TRENDING_RECOMMENDATIONS;\r\n\r\n if(0 < this.gameTypes.length && this.gameTypes.length < topCount) {\r\n topCount = this.gameTypes.length;\r\n }\r\n\r\n return {\r\n topNumber: topCount,\r\n countryName: this.services.user.countryName || this.services.translation.translate(\"YOUR_COUNTRY\")\r\n }\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this._computeGameTypes() || [];\r\n }\r\n\r\n protected get _useSquareIcons(): boolean {\r\n return true;\r\n }\r\n\r\n private _computeGameTypes(): number[] | null {\r\n if(this.listTypeId === LIST_TYPE_ID.ACTIVE_USERS) {\r\n return this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n } else {\r\n return this.services.aiEngine.trendingRecommendedGamesForPlayerByBets\r\n }\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return NUMBER_OF_TRENDING_RECOMMENDATIONS;\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {OrbitSwiperComponent} from \"../../../../../components/orbit-swiper/orbit-swiper.component\";\r\nimport {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\n\r\nexport class StaticSwiperListModel extends SwiperListBaseModel {\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n const listConfig = this.listConfiguration;\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {SingleGameComponent} from '../../single-game/single-game.component';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\n\r\nexport interface GamesGridBatchComponentProps {\r\n batchIndex: number;\r\n gameTypes: number[];\r\n aiEngine: string;\r\n seoCategory: string;\r\n skipIntermediatePage: boolean;\r\n disableGameInfoHover: boolean;\r\n listTitleTranslationKey: string;\r\n templateType?: string;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\nexport interface GamesGridBatchComponentState {\r\n isResolved: boolean;\r\n}\r\n\r\nconst NUMBER_OF_GAMES_IN_BATCH = 20;\r\n\r\nexport const GamesGridBatchComponent = observer(\r\n class GamesGridBatchComponent extends OrbitComponentWithState {\r\n\r\n state = {\r\n isResolved: false\r\n };\r\n\r\n private _renderOneGame(gameType: number, gameIndex: number) {\r\n\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _intersectionObserver: IntersectionObserver | null;\r\n\r\n private _intersectionObserverCallback = (entries: IntersectionObserverEntry[]) => {\r\n if (entries[0].intersectionRatio > 0 || entries[0].isIntersecting) {\r\n this._destroyIntersectionObserver();\r\n this.setState({\r\n isResolved: true\r\n });\r\n }\r\n };\r\n\r\n private _createIntersectionObserver(element: HTMLElement) {\r\n\r\n this._destroyIntersectionObserver(); // just in case this is called twice for this component we want to discard the existing intersection observer and create a new one\r\n\r\n this._intersectionObserver = new IntersectionObserver(this._intersectionObserverCallback, {\r\n rootMargin: '400px',\r\n threshold: 0.1\r\n });\r\n\r\n this._intersectionObserver.observe(element);\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this._destroyIntersectionObserver();\r\n }\r\n\r\n private _destroyIntersectionObserver() {\r\n if (this._intersectionObserver) {\r\n this._intersectionObserver.disconnect();\r\n this._intersectionObserver = null;\r\n }\r\n }\r\n\r\n private _captureThresholdElement = (element: HTMLElement | null) => {\r\n if (element) {\r\n this._createIntersectionObserver(element)\r\n }\r\n };\r\n\r\n private _renderNextBatch() {\r\n const nextBatchGameTypes = this.props.gameTypes.slice(NUMBER_OF_GAMES_IN_BATCH);\r\n if(nextBatchGameTypes.length === 0) {\r\n return null;\r\n }\r\n\r\n const propsForNextBatch = {\r\n ...this.props,\r\n batchIndex: this.props.batchIndex + 1,\r\n gameTypes: nextBatchGameTypes\r\n };\r\n\r\n return ();\r\n }\r\n\r\n private _renderCurrentBatch() {\r\n const batchIndexOffset = this.props.batchIndex * NUMBER_OF_GAMES_IN_BATCH;\r\n const currentBatchGameTypes = this.props.gameTypes.slice(0, NUMBER_OF_GAMES_IN_BATCH);\r\n return (\r\n <>\r\n {currentBatchGameTypes.map((gameType, index) => this._renderOneGame(gameType, batchIndexOffset + index))}\r\n {this._renderNextBatch()}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n\r\n if(this.props.batchIndex === 0 || this.state.isResolved) {\r\n return this._renderCurrentBatch();\r\n }\r\n\r\n return (\r\n
    \r\n )\r\n }\r\n }\r\n);\r\n","import styled from 'styled-components';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\nimport {LOBBY_PAGE} from '../../../../themes/css-global-classes';\r\n\r\n\r\n//games-layout static-layout\r\nconst DefaultBox = styled.div`\r\n position: relative;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nexport const PcBox = DefaultBox;\r\n\r\nexport const MobileBox = styled(DefaultBox)`\r\n .${LOBBY_PAGE} & {\r\n padding: 0 1rem;\r\n }\r\n`;\r\n\r\nexport const GamesGridDefaultBox = styledByDevice(PcBox, MobileBox);","import styled from 'styled-components';\r\nimport {PcBox as BasePcBox, MobileBox as BaseMobileBox} from './games-grid.default.box';\r\nimport {styledByDevice} from '../../../../themes/architecture/styled-by-device';\r\n\r\nconst PcBox = styled(BasePcBox)`\r\n margin-top: 1.4rem;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n margin-top: 1.8rem;\r\n }\r\n`;\r\n\r\n\r\nconst MobileBox = BaseMobileBox;\r\n\r\nexport const GamesGridCasino777Box = styledByDevice(PcBox, MobileBox);","import styled from \"styled-components\";\r\nimport { GamesGridDefaultBox } from \"./games-grid.default.box\";\r\n\r\nexport const GamesGridSICisBox = styled(GamesGridDefaultBox)`\r\n background: ${props => props.theme.colors.backgroundLight};\r\n`;\r\n","import { GamesGridDefaultBox } from './games-grid.default.box';\r\nimport { GamesGridCasino777Box } from './games-grid.casino777.box';\r\nimport { styledByTheme } from '../../../../themes/architecture/styled-by-theme';\r\nimport { GamesGridSICisBox } from './games-grid.siCis.box';\r\n\r\nexport const GamesGridBox = styledByTheme(GamesGridDefaultBox)\r\n .forCasino777(GamesGridCasino777Box)\r\n .forSICis(GamesGridSICisBox)\r\n .apply();","import {NoGamesFoundMessageDefaultBox} from './no-games-found-message.default.box';\r\n\r\nexport const NoGamesFoundMessageBox = NoGamesFoundMessageDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const NoGamesFoundMessageDefaultBox = styled.p`\r\n font-size: 1.2rem;\r\n margin: 15px 0;\r\n min-height: 300px;\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {CGP_GAME_OPEN} from \"../../../themes/css-global-classes\";\r\n\r\nexport const GamesGridContainerBox = styled.div`\r\n .${CGP_GAME_OPEN} & {\r\n display: none;\r\n }\r\n`;","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {GamesGridBatchComponent} from './games-grid-batch/games-grid-batch.component';\r\nimport {GamesGridBox} from './boxes/games-grid/games-grid.box';\r\nimport {NoGamesFoundMessageBox} from './boxes/no-games-found-message/no-games-found-message.box';\r\nimport classNames from 'classnames';\r\nimport {GRID_GAMES_LIST} from '../single-game/css-constants';\r\nimport {GamesGridContainerBox} from \"./boxes/games-grid-container.box\";\r\nimport {IGamesListViewModel} from \"../../services/arenas/models/lists/games-list-view-model.interface\";\r\n\r\nexport interface GamesGridComponentProps {\r\n viewModel: IGamesListViewModel;\r\n skipIntermediatePage: boolean;\r\n disableGameInfoHover: boolean;\r\n useSquareIcons?: boolean;\r\n}\r\n\r\nexport const GamesGridComponent = observer(class GamesGridComponent extends OrbitComponent {\r\n\r\n private _renderTitle() {\r\n\r\n if(!this.props.disableGameInfoHover && this.services.gamesFilter.isFilterOn) {\r\n return null;\r\n }\r\n return this.props.viewModel.renderListHeader();\r\n }\r\n\r\n private _renderGames(gameTypes: number[]) {\r\n return (\r\n\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private _renderNoGames() {\r\n if(this.services.gamesFilter.isFilterOn) {\r\n return (\r\n {this.services.translation.translate('YOUR_SEARCH_DID_NOT_MATCH_ANY_GAMES')}\r\n )\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private _renderContent() {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n if(gameTypes.length === 0) {\r\n return this._renderNoGames();\r\n }\r\n return (\r\n <>\r\n {this._renderTitle()}\r\n {this._renderGames(gameTypes)}\r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n {this._renderContent()}\r\n \r\n );\r\n }\r\n});\r\n","import React from \"react\";\r\nimport {GamesListBaseModel} from \"../games-list-base.model\";\r\nimport {GamesGridComponent} from \"../../../../../components/games-grid/games-grid.component\";\r\nimport {ArenaGamesGridConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {TextTranslation} from \"../../../../translation/text-translation\";\r\nimport {GameListTitleComponent} from \"../../../../../components/game-list-title/game-list-title.component\";\r\nimport {ListTitleTextBox} from \"../../../../../components/game-list-title/boxes/list-title-text/list-title-text.box\";\r\n\r\nexport class GamesGridListModel extends GamesListBaseModel {\r\n constructor(protected readonly gridConfig: ArenaGamesGridConfiguration,\r\n arena: IArenaToGamesListAdapter) {\r\n super(arena)\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.gridConfig.gamesId || [];\r\n }\r\n\r\n protected get _isAISorted(): boolean {\r\n return this.gridConfig.useAISortedList;\r\n }\r\n\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return true;\r\n //return this.gridConfig.display;\r\n }\r\n\r\n protected get _numberOfGamesToBeIgnoredInAISorting(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n get listId(): number {\r\n return this.gridConfig.listId;\r\n }\r\n\r\n get title(): TextTranslation {\r\n return this.services.translation.getTranslation(this.gridConfig.title);\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return this._getGameTypes().length; // for grids we show all games\r\n }\r\n\r\n get forceInLayout(): boolean {\r\n return true;\r\n }\r\n\r\n get templateType(): string {\r\n return this.gridConfig.templateType;\r\n }\r\n\r\n protected get _forceRoundIcons(): boolean {\r\n return this.gridConfig.forceRoundIcons;\r\n }\r\n \r\n protected get _useSquareIcons(): boolean {\r\n return this.gridConfig.useSquareIcons;\r\n }\r\n\r\n private get _shouldSquareIconsBeUsed(): boolean {\r\n return this.shouldUseSquareIcons();\r\n }\r\n\r\n renderListHeader(): React.ReactElement {\r\n const title = (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n}","import {StaticSwiperListModel} from \"../static-swiper/static-swiper-list.model\";\r\n\r\nexport class LiveCasinoListModel extends StaticSwiperListModel {\r\n\r\n protected _applyGameTypesTransformations(gameTypes: number[]): number[] {\r\n gameTypes = super._applyGameTypesTransformations(gameTypes);\r\n return this.services.liveTableFeeds.moveGamesThatOpenSoonToTheEnd(gameTypes);\r\n }\r\n}","import React from 'react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {observer} from 'mobx-react';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {ISwiperListViewModel} from \"../../services/arenas/models/lists/swiper-list-view-model.interface\";\r\n\r\ninterface BecauseYouPlayedComponentProps {\r\n viewModel: ISwiperListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const BecauseYouPlayedComponent = observer(\r\n class BecauseYouPlayedComponent extends OrbitComponent {\r\n \r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n this.reaction(() => this.services.runningGame.correlatedGamesForLastPlayedRealGame,\r\n (correlatedGames) => {\r\n this.props.viewModel.swipeLogicHandler.resetScrollPosition();\r\n }\r\n );\r\n }\r\n \r\n render() {\r\n const viewModel = this.props.viewModel;\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n);\r\n","import React from \"react\";\r\nimport { BecauseYouPlayedComponent } from \"../../../../../components/because-you-played/because-you-played.component\";\r\nimport { SwiperGamesListConfiguration } from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { IArenaToGamesListAdapter } from \"../../arenas/arena-to-games-list-adapter.interface\";\r\nimport {ApiListBaseModel} from \"../api-list-base.model\";\r\n\r\nexport class BecauseYouPlayedPlayedListModel extends ApiListBaseModel {\r\n constructor(protected readonly listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n this.services.runningGame.listenForLastPlayedRealGame();\r\n }\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n return super._shouldBeDisplayed() &&\r\n this.gameTypes.length > 0;\r\n }\r\n\r\n protected _getTitleTranslationParams(): object | string | undefined {\r\n const lastPlayedGames = this.services.becauseYouPlayed.currentBecauseYouPlayedGames[0];\r\n if (lastPlayedGames) {\r\n return {\r\n gameName: lastPlayedGames.title\r\n }\r\n }\r\n\r\n return super._getTitleTranslationParams();\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n return this.services.becauseYouPlayed.currentBecauseYouPlayedGames.map(gInfo => gInfo.gameType);\r\n }\r\n\r\n\r\n\r\n protected _renderList(listPosition: number): React.ReactElement> {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import {LiveStreamingListTitleDefaultBox} from \"./live-streaming-list-title.default.box\";\r\n\r\nexport const LiveStreamingListTitleBox = LiveStreamingListTitleDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingListTitleDefaultBox = styled.div`\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n`;\r\n","import {LiveStreamingTitleIconDefaultBox} from \"./live-streaming-title-icon.default.box\";\r\n\r\nexport const LiveStreamingTitleIconBox = LiveStreamingTitleIconDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const LiveStreamingTitleIconDefaultBox = styled.div`\r\n padding: 0 4px;\r\n margin-right: 1rem;\r\n border-radius: 2px;\r\n letter-spacing: 0;\r\n\r\n color: ${({theme}) => theme.colors.background.toString()};\r\n background: ${({theme}) => theme.colors.brandPrimary.toString()};\r\n\r\n animation: FlashingAnimation 2s ease infinite;\r\n\r\n @keyframes FlashingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.25;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import {IServiceFactory} from \"../../../service-factory.interface\";\r\nimport { action, observable, makeObservable } from \"mobx\";\r\nimport {ISwipeLogicHandlerMoveNextOptions, ISwipeLogicHandler} from \"./swiper-logic-handler.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ISwiperListViewModel} from \"../lists/swiper-list-view-model.interface\";\r\n\r\nexport class LiveStreamSwipeLogicHandler implements ISwipeLogicHandler {\r\n\r\n private _element: HTMLElement = null;\r\n private _touchStartX = 0;\r\n private _swipeDirection = 0;\r\n private _touchDragThreshold = 25;\r\n private _swipeTransitionCss = \"transform 0.5s ease-in-out\";\r\n\r\n constructor(private readonly _services: IServiceFactory, private readonly _gamesListViewModel: ISwiperListViewModel) {\r\n makeObservable(this);\r\n }\r\n\r\n @observable.ref\r\n allowNext: boolean = true;\r\n @observable.ref\r\n allowPrevious: boolean = true;\r\n\r\n private _subscribe() {\r\n this._unsubscribe();\r\n this._element.addEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.addEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.addEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n\r\n private _unsubscribe() {\r\n if (this._element) {\r\n this._element.removeEventListener(\"transitionend\", this._handleTransitionEnd);\r\n this._element.removeEventListener(\"touchstart\", this._handleTouchStart);\r\n this._element.removeEventListener(\"touchend\", this._handleTouchEnd);\r\n }\r\n }\r\n\r\n private _handleTouchStart = (event: TouchEvent) => {\r\n this._touchStartX = event.changedTouches[0].clientX;\r\n }\r\n\r\n private _handleTouchEnd = (event: TouchEvent) => {\r\n\r\n const dragDistance = Math.abs(event.changedTouches[0].clientX - this._touchStartX);\r\n\r\n if (dragDistance < this._touchDragThreshold) return;\r\n\r\n if (event.changedTouches[0].clientX < this._touchStartX) {\r\n this.moveNext();\r\n } else {\r\n this.movePrevious();\r\n }\r\n }\r\n\r\n private _handleTransitionEnd = (event: TransitionEvent) => {\r\n\r\n /** this._element is the swiper element and\r\n * if any element inside has any kind of transitions on their transform css property...\r\n * their \"transitionend\" events will also be catched here\r\n * So we check the event target because\r\n * we want to run this handler only for events that have this._element as target */\r\n if (event.propertyName === \"transform\" && event.target === this._element) {\r\n\r\n if (this._swipeDirection < 0) {\r\n\r\n this._element.append(this._element.firstElementChild);\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n this._setIsNavigationAllowed(true);\r\n }\r\n };\r\n\r\n @action.bound\r\n private _setIsNavigationAllowed(allowed: boolean) {\r\n this.allowNext = allowed;\r\n this.allowPrevious = allowed;\r\n }\r\n\r\n setElement(element: HTMLElement): void {\r\n if (element) {\r\n this._element = element;\r\n this._element.style.overflow = \"initial\";\r\n this._subscribe();\r\n } else {\r\n this._element = null;\r\n this._unsubscribe();\r\n }\r\n }\r\n\r\n moveNext(options?: ISwipeLogicHandlerMoveNextOptions): void {\r\n\r\n if (!this.allowNext) return;\r\n\r\n options = {\r\n moveOnVideoFinished: false,\r\n ...options\r\n };\r\n\r\n this._reportSwipeToAnalytics(true, options.moveOnVideoFinished);\r\n\r\n this._swipeDirection = -1;\r\n this._element.style.transition = this._swipeTransitionCss;\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n this._setIsNavigationAllowed(false);\r\n }\r\n\r\n movePrevious(): void {\r\n\r\n if (!this.allowPrevious) return;\r\n\r\n this._reportSwipeToAnalytics(false);\r\n\r\n this._swipeDirection = 1;\r\n\r\n this._element.style.transition = \"none\";\r\n this._element.prepend(this._element.lastElementChild);\r\n const translateAmount = (this._services.mediaQuery.xlAndAbove ? 33.33 : 100) * (this._services.language.isRTLLanguage ? 1 : -1);\r\n this._element.style.transform = \"translateX(\" + translateAmount + \"%)\";\r\n\r\n this._setIsNavigationAllowed(false);\r\n\r\n requestAnimationFrame(() => {\r\n this._element.style.transition = this._swipeTransitionCss;\r\n this._element.style.transform = \"translateX(0)\";\r\n });\r\n }\r\n\r\n resetScrollPosition(): void {\r\n this._element.style.transform = \"translateX(0)\";\r\n }\r\n\r\n private _currentGameIndex: NullableNumber = null;\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._currentGameIndex = gameIndex;\r\n }\r\n\r\n private _reportSwipeToAnalytics(swipeToLeft:boolean, isAutoSwipe:boolean=false): void {\r\n try {\r\n\r\n if(Check.isNullOrUndefined(this._currentGameIndex)) {\r\n return;\r\n }\r\n\r\n let nextGame;\r\n if(swipeToLeft === true){\r\n nextGame = (this._currentGameIndex + 1) % this._gamesListViewModel.gameTypes.length;\r\n }\r\n else {\r\n nextGame = (this._currentGameIndex>0) ? (this._currentGameIndex-1) : (this._gamesListViewModel.gameTypes.length-1);\r\n }\r\n\r\n let swipeFromGameId = this._gamesListViewModel.gameTypes[this._currentGameIndex];\r\n\r\n this._services.analytics.sendElasticInfoEvent({\r\n eventType:\"CGP_GENERIC_EVENT\",\r\n category: this._gamesListViewModel.arenaName,\r\n label: 'SWIPE',\r\n action: \"LIVE_CASINO_VIDEO\",\r\n customData: {\r\n swipeFromGameId:swipeFromGameId,\r\n swipeFromGameIndex:this._currentGameIndex,\r\n swipeToGameId:this._gamesListViewModel.gameTypes[nextGame],\r\n isAutoSwipe:isAutoSwipe\r\n }\r\n }, true);\r\n }\r\n catch (err){\r\n console.log(\"SWIPE analytics report failed : \" + err);\r\n }\r\n }\r\n\r\n}\r\n","import styled from \"styled-components\";\r\nimport { CssRule } from \"../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\ninterface LiveStreamingNavigationProps {\r\n isActive: boolean;\r\n}\r\n\r\nconst LiveStreamingNavigationCommonBox = styled.div`\r\n position: absolute;\r\n top: 35%;\r\n width: 3rem;\r\n height: 3rem;\r\n opacity: ${({isActive}) => isActive ? \"1\" : \"0.25\"};\r\n cursor: pointer;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* So ... height is 100 * 0.7 */\r\n height: 70%;\r\n /* top is 100 * (1-0.7) / 2 */\r\n top: 15%;\r\n /* 23.331 is 33.33*0.7 */\r\n width: 23.331%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationPrevButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n left: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* left is 33.33*(1-0.7)/2 */\r\n left: 5%;\r\n }\r\n`;\r\n\r\nexport const VideoListNavigationNextButtonDefaultBox = styled(LiveStreamingNavigationCommonBox)`\r\n right: 1rem;\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n /* On PC, one tile is a third of the swiper, but the ones not in center are scaled to 0.7 */\r\n /* right is 33.33*(1-0.7)/2 */\r\n right: 5%;\r\n }\r\n`;\r\n\r\nconst VideoCutCommonBox = styled.div`\r\n position: absolute;\r\n height: 80%;\r\n width: 2px;\r\n top: 10%;\r\n`;\r\n\r\nexport const VideoListLeftCutDefaultBox = styled(VideoCutCommonBox)`\r\n left: 8%;\r\n margin-left: -6px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n left: unset;\r\n margin-left: 0px;\r\n right: 8%;\r\n margin-right: 6px;\r\n }\r\n`;\r\nexport const VideoListRightCutDefaultBox = styled(VideoCutCommonBox)`\r\n right: 8%;\r\n margin-right: 11px;\r\n\r\n ${CssRule.For.RTL.build()} & {\r\n right: unset;\r\n margin-right: 0px;\r\n left: 8%;\r\n margin-left: -11px;\r\n }\r\n`;\r\n","import {VideoListNavigationPrevButtonDefaultBox, VideoListNavigationNextButtonDefaultBox, VideoListLeftCutDefaultBox, VideoListRightCutDefaultBox} from \"./video-navigation.default.box\";\r\n\r\nexport const VideoListNavigationPrevButtonBox = VideoListNavigationPrevButtonDefaultBox;\r\nexport const VideoListNavigationNextButtonBox = VideoListNavigationNextButtonDefaultBox;\r\n\r\nexport const VideoListLeftCutBox = VideoListLeftCutDefaultBox;\r\nexport const VideoListRightCutBox = VideoListRightCutDefaultBox;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {OrbitSwiperComponent} from '../orbit-swiper/orbit-swiper.component';\r\nimport {IVideoListViewModel} from \"../../services/arenas/models/lists/video-list/video-list-view-model.interface\";\r\n\r\n\r\ninterface VideoListComponentProps {\r\n viewModel: IVideoListViewModel;\r\n listPosition: number;\r\n}\r\n\r\nexport const VideoListComponent = observer(class VideoListComponent extends OrbitComponent {\r\n\r\n // For static video list we need to know the final gametype(from UI perspective)\r\n // For the final gametype, once video finishes, we don't auto swipe to the next one(= first one).\r\n private _getLastGameType(): number {\r\n let gameTypes = this.props.viewModel.gameTypes;\r\n let index = this.services.mediaQuery.xlAndAbove ? 0 : (gameTypes.length - 1);\r\n return gameTypes[index];\r\n }\r\n\r\n private _onGameBringInCentralView = (gameIndex: number) => {\r\n this.props.viewModel.setCurrentGameIndex(gameIndex);\r\n }\r\n\r\n render() {\r\n const viewModel = this.props.viewModel;\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import {SwiperListBaseModel} from \"../swiper-list-base.model\";\r\nimport {LiveStreamSwipeLogicHandler} from \"../../swiper-logic-handler/live-stream-swipe-logic-handler\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport React from \"react\";\r\nimport {\r\n VideoListLeftCutBox, VideoListNavigationNextButtonBox,\r\n VideoListNavigationPrevButtonBox, VideoListRightCutBox\r\n} from \"../../../../../components/live-streaming-tile/video-common-components/video-navigation/video-navigation.box\";\r\nimport {VideoListComponent} from \"../../../../../components/video-list-component/video-list.component\";\r\nimport {IVideoListViewModel} from \"./video-list-view-model.interface\";\r\n\r\nexport abstract class DefaultVideoListModel extends SwiperListBaseModel implements IVideoListViewModel {\r\n protected _swipeLogicHandler: LiveStreamSwipeLogicHandler = new LiveStreamSwipeLogicHandler(this.services, this);\r\n\r\n protected get _isAISorted(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getGameTypesOffsetFromLocalStorage(): number {\r\n let storedValue = this.services.localStorage.getItem(this._offsetStorageKey);\r\n\r\n return Check.isNullOrUndefined(storedValue) ? 0 : parseInt(storedValue);\r\n }\r\n\r\n protected _offsetStorageKey: string = 'orbit-video-list-gametype-offset' + this.listConfiguration.listId;\r\n\r\n /**\r\n * This must be static. Because the ListFactory.createSwiper will be called several times, and that will create a new instance of this class.\r\n * (For every live casino video list and every time the list changes and maybe when the ai changes the list sorting)\r\n * So if this is not \"static\" at every instance creation _gameTypesOffset will be initialized with \"undefined\"\r\n * and when calling _getGameTypes the cycling will run again for every new instance.\r\n * And we want to do this only once after page load\r\n */\r\n protected static _gameTypesOffsets: Record = {};\r\n\r\n protected _cycleGamesAndIncrementOffset(baseArray: number[]) {\r\n if(Check.isNullOrUndefined(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey])) {\r\n DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] = this._getGameTypesOffsetFromLocalStorage();\r\n let newOffset = (DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey] + 1) % (this.listConfiguration.gamesId.length);\r\n this.services.localStorage.setItem(this._offsetStorageKey, newOffset);\r\n }\r\n\r\n return baseArray.splice(DefaultVideoListModel._gameTypesOffsets[this._offsetStorageKey]).concat(baseArray);\r\n }\r\n\r\n get gameTypes(): number[] {\r\n // gameTypes is a getter and in javascript I cannot call \"super.gameTypes\"\r\n let gTypes = this._applyGameTypesTransformations(this._getGameTypes());\r\n\r\n if (this.services.mediaQuery.xlAndAbove && gTypes.length > 2) {\r\n let lastGame = gTypes.pop();\r\n gTypes.unshift(lastGame);\r\n }\r\n return gTypes;\r\n }\r\n\r\n renderListNavigation(): React.ReactElement | null {\r\n\r\n const PrevIcon = this.services.theme.currentTheme.icons.leftArrowIcon;\r\n const NextIcon = this.services.theme.currentTheme.icons.rightArrowIcon;\r\n\r\n return (\r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n this.swipeLogicHandler.movePrevious()}>\r\n \r\n \r\n this.swipeLogicHandler.moveNext()}>\r\n \r\n \r\n {this.services.mediaQuery.xlAndAbove ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n );\r\n }\r\n\r\n\r\n\r\n _renderList(listPosition: number): React.ReactElement | null {\r\n return (\r\n \r\n );\r\n }\r\n\r\n setCurrentGameIndex(gameIndex: number): void {\r\n this._swipeLogicHandler.setCurrentGameIndex(gameIndex);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {LiveStreamingListTitleBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-list-title/live-streaming-list-title.box\";\r\nimport {LiveStreamingTitleIconBox} from \"../../../../../components/live-streaming-tile/live-streaming-specific-components/live-streaming-title-icon/live-streaming-title-icon.box\";\r\nimport {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {LIVE_STREAMING_ITEM} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport class LiveStreamingVideoListModel extends DefaultVideoListModel {\r\n\r\n get templateType(): string {\r\n return LIVE_STREAMING_ITEM;\r\n }\r\n\r\n private _isLiveStreamDisabled = () => {\r\n // live stream should be rendered on mobile only, excepting CIP8, if is enable from AB and\r\n // if user is authorized or if is not authorized only if is not disabled prelogin\r\n return this.services.miniOrbit.isEnabled ||\r\n !this.services.abTestingFeatureDataProvider.isVideoLiveStreamEnabled ||\r\n this.services.liveStreamPlaying.isDisabledPrelogin\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isLiveStreamDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 9;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n if(!Check.isNullOrUndefined(this.services.liveStreamPlaying.isSupported)\r\n && !this.services.liveStreamPlaying.isSupported) {\r\n return [];\r\n }\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n if(this.services.liveTableFeeds.tablesData.length === 0) {\r\n return gameTypes;\r\n } else {\r\n return gameTypes.filter(gType => this.services.liveTableFeeds.openTablesIds.find(tableId => tableId === gType.toString()));\r\n }\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n if(Check.isNullOrUndefined(this.services.liveStreamPlaying.isSupported) || this.services.liveTableFeeds.tablesData.length === 0) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n protected _renderHeaderIcon(): React.ReactElement | null {\r\n return (\r\n LIVE\r\n );\r\n }\r\n\r\n protected _renderHeaderText(): string | React.ReactElement {\r\n return (\r\n \r\n {this.title.translation}\r\n \r\n );\r\n }\r\n\r\n}\r\n","\r\nexport interface IUserGameOrientationService {\r\n readonly gameGroup: IUserGameOrientation;\r\n}\r\n\r\nexport enum GAME_ORIENTATION_IDS{\r\n SLOTS = 5003,\r\n BLACKJACK = 5001,\r\n ROULETTE = 5002,\r\n LIVE_BLACKJACK = 5009,\r\n LIVE_ROULETTE = 5010,\r\n LIVE_CASINO = 6003,\r\n CASINO_SKILL = 6001,\r\n CASINO_SOFT = 6002,\r\n CASINO_MIXT = 8001\r\n}\r\n\r\nexport interface IUserGameOrientation{\r\n groupId?: number;\r\n groupName: string;\r\n}","import {DefaultVideoListModel} from \"./default-video-list.model\";\r\nimport {STATIC_VIDEO_ITEM} from \"../../../../../themes/css-global-classes\";\r\nimport {SwiperGamesListConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IArenaToGamesListAdapter} from \"../../arenas/arena-to-games-list-adapter.interface\";\r\n\r\nexport class StaticVideoListModel extends DefaultVideoListModel {\r\n\r\n constructor(listConfiguration: SwiperGamesListConfiguration, arena: IArenaToGamesListAdapter) {\r\n super(listConfiguration, arena);\r\n\r\n this.services.staticVideoPlaying.setSwiperHandler(this.swipeLogicHandler);\r\n }\r\n\r\n get templateType(): string {\r\n return STATIC_VIDEO_ITEM;\r\n }\r\n\r\n private _isStaticVideoListDisabled = () => {\r\n return (\r\n this.services.miniOrbit.isEnabled ||\r\n this.services.staticVideoPlaying.isDisabledPrelogin ||\r\n !this.services.abTestingFeatureDataProvider.isStaticVideoListEnabled\r\n );\r\n };\r\n\r\n protected _shouldBeDisplayed(): boolean {\r\n if(this._isStaticVideoListDisabled()) {\r\n return false;\r\n }\r\n\r\n return super._shouldBeDisplayed() && this.gameTypes.length > 0;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 4;\r\n }\r\n\r\n protected _getGameTypes(): number[] {\r\n\r\n let baseArray = [...this.listConfiguration.gamesId];\r\n let gameTypes = this._cycleGamesAndIncrementOffset(baseArray);\r\n\r\n gameTypes = gameTypes.filter((gt) => this.services.games.gamesMap[gt]?.hasVideoURL);\r\n\r\n return gameTypes;\r\n }\r\n\r\n get numberOfGamesSkeletons(): number {\r\n return this._getNumberOfGamesSkeletons();\r\n }\r\n\r\n protected _getNumberOfGamesSkeletons(): number {\r\n return 1;\r\n }\r\n}\r\n","import {\r\n ApiListType, ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesListModel} from \"./games-list-model.interface\";\r\nimport {RecentlyPlayedListModel} from \"./recently-played/recently-played-list.model\";\r\nimport {TopPicksListModel} from \"./top-picks/top-picks-list.model\";\r\nimport {NewGamesListModel} from \"./new-games/new-games-list.model\";\r\nimport {PlayersLikeYouListModel} from \"./players-like-you/players-like-you-list.model\";\r\nimport {StaticSwiperListModel} from \"./static-swiper/static-swiper-list.model\";\r\nimport {IArenaToGamesListAdapter} from \"../arenas/arena-to-games-list-adapter.interface\";\r\nimport {GamesGridListModel} from \"./games-grid/games-grid-list.model\";\r\nimport {LiveCasinoListModel} from \"./live-casino/live-casino-list.model\";\r\nimport {LIVE_CASINO_ITEM} from \"../../../../themes/css-global-classes\";\r\nimport { BecauseYouPlayedPlayedListModel } from \"./because-you-played/because-you-played-list.model\";\r\nimport {LiveStreamingVideoListModel} from \"./video-list/live-streaming-video-list.model\";\r\nimport {StaticVideoListModel} from \"./video-list/static-video-list.model\";\r\n\r\n\r\nexport class ListFactory {\r\n\r\n constructor(private readonly arena: IArenaToGamesListAdapter) {\r\n }\r\n createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n\r\n\r\n if(swiperConfig.templateType === LIVE_CASINO_ITEM) {\r\n return new LiveCasinoListModel(swiperConfig, this.arena);\r\n }\r\n\r\n switch (swiperConfig.apiListType) {\r\n case ApiListType.RECENTLY_PLAYED:\r\n return new RecentlyPlayedListModel(swiperConfig, this.arena);\r\n case ApiListType.TOP_PICKS:\r\n return new TopPicksListModel(swiperConfig, this.arena);\r\n case ApiListType.NEW_GAMES:\r\n return new NewGamesListModel(swiperConfig, this.arena);\r\n case ApiListType.PLAYERS_LIKE_YOU:\r\n return new PlayersLikeYouListModel(swiperConfig, this.arena);\r\n case ApiListType.LIVE_CASINO_VIDEO: // maybe rename this to LIVE_STREAMING_VIDEO,but it'd also need admin updated\r\n return new LiveStreamingVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.STATIC_VIDEO:\r\n return new StaticVideoListModel(swiperConfig, this.arena);\r\n case ApiListType.BECAUSE_YOU_PLAYED:\r\n return new BecauseYouPlayedPlayedListModel(swiperConfig, this.arena);\r\n\r\n default:\r\n return new StaticSwiperListModel(swiperConfig, this.arena);\r\n\r\n }\r\n }\r\n\r\n createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return new GamesGridListModel(gridConfig, this.arena);\r\n }\r\n}\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"./arena-view-model.interface\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../configurations/config-data-sections/arenas.configuration\";\r\nimport { action, computed, observable, reaction, makeObservable } from \"mobx\";\r\nimport {IArenaToGamesListAdapter} from \"./arena-to-games-list-adapter.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../lists/games-list-model.interface\";\r\nimport React from \"react\";\r\nimport {ListFactory} from \"../lists/list-factory\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {ListsSortOrderStorage} from \"../lists-sort-order-storage\";\r\nimport {IGamesListRenderer} from \"../lists/games-list-renderer.interface\";\r\nimport {BannerComponent} from \"../../../../components/banner/banner.component\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../games-filter/strategies/games-filter-strategy.interface\";\r\n\r\nexport type BannerConfig = {position: number; templateID: string; componentID: string; fallbackComponent: string, bannerAdminPlaceholderId: string};\r\n\r\nexport abstract class ArenaBaseModel implements IArenaToGamesListAdapter, IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n public readonly services: IServiceFactoryExtended,\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n makeObservable(this);\r\n\r\n this._listFactory = new ListFactory(this);\r\n\r\n reaction(() => [this.services.user.isAuthorized, this.services.routing.currentRoute],\r\n async () => {\r\n await this._updateAIEngineSwipersSortOrder();\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _listFactory: ListFactory;\r\n abstract get maxSwipersToShow(): number;\r\n abstract get maxGamesToShowInList(): number;\r\n protected abstract _getSwipersConfigurations(): SwiperGamesListConfiguration[];\r\n protected abstract _getGridsConfigurations(): ArenaGamesGridConfiguration[];\r\n protected abstract _getPromotionalBannerConfig(): BannerConfig | null;\r\n abstract renderArena(): React.ReactElement | null;\r\n abstract filterGamesByArenaType(gameInfos: GameInfo[]): GameInfo[];\r\n abstract get filtersConfigurationMap(): ArenaFiltersConfigurationMap;\r\n abstract getGamesFilteringStrategy(): IGamesFilterStrategy;\r\n\r\n protected get useAdvancedFilters(): boolean {\r\n return this.services.configuration.servicesConfigs.Filters.useAdvancedFilters;\r\n }\r\n\r\n protected get _isUsingExternalAIForSwipersSorting(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n return null;\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n @observable.ref\r\n private _aiEngineListsSortOrder: Record = null;\r\n\r\n @action.bound\r\n private _setAiEngineListsSortOrder(value: Record): void {\r\n this._aiEngineListsSortOrder = value;\r\n }\r\n private async _updateAIEngineSwipersSortOrder(): Promise {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return;\r\n }\r\n if(this._aiEngineListsSortOrder) {\r\n return;\r\n }\r\n\r\n if(!this.services.user.isAuthorized) {\r\n return;\r\n }\r\n\r\n if(this.services.routing.currentRoute.data?.arenaType === this.arenaName) {\r\n const listsIDs = this._getSwipersConfigurations().filter(sw => !Check.isNullOrUndefined(sw.listId))\r\n .map(sw => sw.listId.toString());\r\n if(listsIDs.length === 0) {\r\n return;\r\n }\r\n\r\n this._setAiEngineListsSortOrder(await this.services.aiEngine.getCasinoRecommendedDynamicListsForPlayer(listsIDs));\r\n }\r\n }\r\n\r\n private _movePreferredSwiperOnTop(swipers: IGamesListModel[]){\r\n const listId = this._getSwiperIdToPutOnTop();\r\n if(Check.isNullOrUndefined(listId)) {\r\n return swipers;\r\n }\r\n const listIndex = swipers.findIndex((list) => list.listId === listId);\r\n if(listIndex > 0){\r\n swipers.splice(0, 0, swipers.splice(listIndex, 1)[0]);\r\n }\r\n return swipers;\r\n }\r\n\r\n\r\n protected _sortSwipersByAI(originalSwipers: IGamesListModel[]): IGamesListModel[] {\r\n const scores = this._aiEngineListsSortOrder;\r\n if(!scores) {\r\n return originalSwipers;\r\n }\r\n\r\n const notForcedInLayoutSortedSwipers = originalSwipers.filter(s => !s.forceInLayout)\r\n .sort((s1, s2) => (scores[s2.listId] || 0) - (scores[s1.listId] || 0));\r\n\r\n let sortedSwipersConfigs: IGamesListModel[] = [];\r\n originalSwipers.forEach(gameList => {\r\n if(gameList.forceInLayout){\r\n sortedSwipersConfigs.push(gameList)\r\n } else{\r\n let mappedGameList = notForcedInLayoutSortedSwipers.shift();\r\n if(mappedGameList) {\r\n sortedSwipersConfigs.push(mappedGameList)\r\n }\r\n }\r\n });\r\n\r\n return sortedSwipersConfigs;\r\n }\r\n\r\n\r\n\r\n @computed\r\n public get allLists(): IGamesListModel[] {\r\n const result = this._createAllLists();\r\n this._sendGameListsAnalytics(result);\r\n return result;\r\n }\r\n\r\n @computed\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n let gameTypes: number[] = [];\r\n this._getGridsConfigurations().forEach(g => {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...g.gamesId\r\n ]\r\n });\r\n\r\n //use Set here to make a list of distinct game types\r\n return [...new Set(gameTypes)].map(gameType => this.services.games.gamesMap[gameType]).filter(gameInfo => gameInfo);\r\n }\r\n\r\n\r\n get filteredGamesCount(): number {\r\n let gameTypes: number[] = [];\r\n\r\n for(let list of this.allLists) {\r\n gameTypes = [\r\n ...gameTypes,\r\n ...list.gameTypes\r\n ]\r\n }\r\n\r\n return [...new Set(gameTypes)].length;\r\n }\r\n\r\n get listsCount(): number {\r\n return this.allLists.length;\r\n }\r\n\r\n protected _createAllLists(): IGamesListModel[] {\r\n return this._appendGrids(\r\n this._limitTheNumberOfSwipers(\r\n this._saveSwipersPostLoginSortOrder(\r\n this._sortSwipersByPostLoginOrder(\r\n this._movePreferredSwiperOnTop(\r\n this._sortSwipersByAI(\r\n this._createSwipers()))))));\r\n }\r\n\r\n private _limitTheNumberOfSwipers(swipers: IGamesListModel[]): IGamesListModel[] {\r\n\r\n if(swipers.length <= this.maxSwipersToShow) {\r\n return swipers;\r\n }\r\n let result: IGamesListModel[] = [];\r\n\r\n let maxNumberOfSwipers = this.maxSwipersToShow;\r\n for(let i = 0; i < swipers.length; i++) {\r\n const list = swipers[i];\r\n if(maxNumberOfSwipers > 0 || list.forceInLayout) {\r\n result.push(list);\r\n }\r\n\r\n if(list.isVisible) {\r\n maxNumberOfSwipers--;\r\n }\r\n\r\n }\r\n\r\n return result;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n let position = listPosition;\r\n\r\n for(let list of this.allLists) {\r\n if(list.isVisible) {\r\n position--;\r\n }\r\n if(position === 0) {\r\n return this._renderListAndBanner(listPosition, list);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected _renderListAndBanner(listPosition: number, list: IGamesListRenderer) {\r\n return (\r\n \r\n {list.render(listPosition)}\r\n {this._renderPromotionalBanner(listPosition)}\r\n \r\n )\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n if(currentListPosition > this.allLists.length) {\r\n return 0;\r\n }\r\n\r\n return 2;\r\n }\r\n\r\n protected _saveSwipersPostLoginSortOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n this._postLoginListsSortOrderStorage.saveSortOrder(this.arenaName, swipers);\r\n }\r\n return swipers;\r\n }\r\n\r\n protected _sortSwipersByPostLoginOrder(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this.services.user.isAuthorized) {\r\n return swipers;\r\n }\r\n\r\n return this._postLoginListsSortOrderStorage.sortLists(this.arenaName, swipers);\r\n }\r\n\r\n protected _createSwipers(): IGamesListModel[] {\r\n const configs = this._getSwipersConfigurations();\r\n const lists: IGamesListModel[] = [];\r\n\r\n configs.forEach((listConfig) => {\r\n lists.push(this._createSwiper(listConfig));\r\n });\r\n\r\n return lists;\r\n }\r\n\r\n protected _appendGrids(lists: IGamesListModel[]) {\r\n this._getGridsConfigurations().forEach(gridConfig => {\r\n lists.push(this._createGrid(gridConfig));\r\n });\r\n return lists;\r\n }\r\n\r\n protected _createGrid(gridConfig: ArenaGamesGridConfiguration) {\r\n return this._listFactory.createGrid(gridConfig);\r\n }\r\n\r\n protected _createSwiper(swiperConfig: SwiperGamesListConfiguration): IGamesListModel {\r\n return this._listFactory.createSwiper(swiperConfig);\r\n }\r\n\r\n protected _getBannerMinHeightInPixels(listPosition: number, bannerConfig: BannerConfig | null) {\r\n if(!bannerConfig) {\r\n return 0;\r\n }\r\n\r\n const shouldRenderBanner = listPosition === bannerConfig.position\r\n || (this.allLists.length < bannerConfig.position && listPosition === this.allLists.length);\r\n if(!shouldRenderBanner) {\r\n return 0;\r\n }\r\n\r\n if(this.services.mediaQuery.sAndBelow) {\r\n return 142;\r\n }\r\n\r\n return 223;\r\n }\r\n\r\n protected _renderPromotionalBanner(listPosition: number): React.ReactElement | null {\r\n const bannerConfig = this._getPromotionalBannerConfig();\r\n const bannerMinHeight = this._getBannerMinHeightInPixels(listPosition, bannerConfig);\r\n if(bannerMinHeight === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n protected _sendGameListsAnalytics(lists: IGamesListModel[]): IGamesListModel[] {\r\n if(!this.services.user.isAuthorized) {\r\n return lists;\r\n }\r\n\r\n if(!this._isUsingExternalAIForSwipersSorting) {\r\n return lists;\r\n }\r\n\r\n const analyticsObject = {\r\n category: 'AI_ListsDisplayed',\r\n action: lists.map(list => list.title).join(','),\r\n label: \"ML888\"\r\n };\r\n\r\n this.services.analytics.sendAnalytics(analyticsObject.category, analyticsObject.action, analyticsObject.label);\r\n\r\n return lists;\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemDefaultBox = styled.div`\r\n display: inline-block;\r\n padding-top: 0.5rem;\r\n padding-bottom: 0.5rem;\r\n position: relative;\r\n margin: 0rem 3rem;\r\n padding-left: 3.6rem;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0rem 1.5rem;\r\n padding-left: 2rem;\r\n\r\n padding-top: 0.3rem;\r\n padding-bottom: 0.3rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport {baseColors} from \"../../../../../themes/definitions/mrgreen/base-colors\";\r\n\r\nexport const HomepageHeaderArenaMenuItemMrGreenBox = styled(HomepageHeaderArenaMenuItemDefaultBox)`\r\n color: ${({theme}) => theme.colors.textContrast};\r\n &:hover {\r\n color: ${baseColors.white};\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemDefaultBox} from \"./home-page-header-arena-menu-item.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaMenuItemMrGreenBox} from \"./home-page-header-arena-menu-item.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaMenuItemBox = styledByTheme(HomepageHeaderArenaMenuItemDefaultBox)\r\n .forMrGreen(HomepageHeaderArenaMenuItemMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconDefaultBox = styled.div`\r\n position: absolute;\r\n left: 0;\r\n top: 1px;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n top: 3px;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemIconDefaultBox} from \"./home-page-header-arena-menu-item-icon.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemIconBox = styledByTheme(HomepageHeaderArenaMenuItemIconDefaultBox).apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameDefaultBox = styled.div`\r\n position: relative;\r\n display: inline;\r\n font-size: 1.8rem;\r\n letter-spacing: 1px;\r\n padding-left: 1.2rem;\r\n ${({theme}) => theme.font.presets.body}\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 1.4rem;\r\n padding-left: 0.5rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaMenuItemNameDefaultBox} from \"./home-page-header-arena-menu-item-name.default.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaMenuItemNameBox = styledByTheme(HomepageHeaderArenaMenuItemNameDefaultBox)\r\n .apply();\r\n","import styled, { css } from \"styled-components\";\r\n\r\ninterface HomepageHeaderArenaTileBoxProps {\r\n useSmallHeaderArenas: boolean;\r\n totalItemsCount: number;\r\n}\r\n\r\nexport const HomepageHeaderArenaTileDefaultBox = styled.div`\r\n display: inline-block;\r\n width: 20%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 290px` : \"\"};\r\n transition: transform 0.4s ease-in-out;\r\n\r\n &:hover {\r\n transform: scale(1.05);\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: ${({totalItemsCount}) => 100 / totalItemsCount}%;\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 5px;\r\n left: 0;\r\n width: 100%;\r\n height: 15px;\r\n background-image: url(${props => props.theme.images.headerArenaTileDropShadow.toString()});\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n transform: translateY(100%);\r\n z-index: 0;\r\n }\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n width: 22%;\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n width: ${props => !props.useSmallHeaderArenas ? \"45%\" : \"31%\"};\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled, { css } from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileSIBox = styled(HomepageHeaderArenaTileDefaultBox)`\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 252px` : \"\"};\r\n padding-right: 1rem;\r\n padding-left: 1rem;\r\n &::after {\r\n display: none;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.mAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`max-width: 210px` : \"\"};\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.sAndBelow} {\r\n ${props => props.useSmallHeaderArenas ? css`min-width: 100px;`: \"\"};\r\n }\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\n\r\nexport const HomepageHeaderArenaTileCasino777Box = styled(HomepageHeaderArenaTileDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n max-width: min(${({totalItemsCount}) => 100 / totalItemsCount}%, 220px);\r\n }\r\n\r\n`;\r\n","import {HomepageHeaderArenaTileDefaultBox} from \"./home-page-header-arena-tile.default.box\";\r\nimport {HomepageHeaderArenaTileSIBox} from \"./home-page-header-arena-tile.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaTileCasino777Box} from \"./home-page-header-arena-tile.casino777.box\";\r\n\r\nexport const HomepageHeaderArenaTileBox = styledByTheme(HomepageHeaderArenaTileDefaultBox)\r\n .forSI(HomepageHeaderArenaTileSIBox)\r\n .forCasino777(HomepageHeaderArenaTileCasino777Box)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaNameDefaultBox = styled.div`\r\n position: relative;\r\n font-size: 1.4rem;\r\n text-transform: uppercase;\r\n text-align: center;\r\n letter-spacing: 1px;\r\n color: ${props => props.theme.colors.textLight};\r\n margin: 0 auto;\r\n width: fit-content;\r\n z-index: 1;\r\n overflow: hidden;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 0.9rem;\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\n\r\nexport const HomepageHeaderArenaNameSIBox = styled(HomepageHeaderArenaNameDefaultBox)`\r\n position: unset;\r\n width: auto;\r\n color: ${({theme}) => theme.colors.brandPrimaryContrast};\r\n background-color: ${({theme}) => theme.colors.brandSecondaryContrast};\r\n border-bottom: 5px solid ${({theme}) => theme.colors.brandSecondaryLight};\r\n border-bottom-left-radius: 5px;\r\n border-bottom-right-radius: 5px;\r\n ${({theme}) => theme.font.presets.secondary};\r\n font-size: 2.9rem;\r\n line-height: 1.2;\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n font-size: 2rem;\r\n }\r\n`;\r\n","import {HomepageHeaderArenaNameDefaultBox} from \"./home-page-header-arena-name.default.box\";\r\nimport {HomepageHeaderArenaNameSIBox} from \"./home-page-header-arena-name.si.box\";\r\nimport { styledByTheme } from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const HomepageHeaderArenaNameBox = styledByTheme(HomepageHeaderArenaNameDefaultBox)\r\n .forSI(HomepageHeaderArenaNameSIBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\n\r\nconst DefaultBox = styled.div<{headerArenasStyleIsMenu?: boolean;}>`\r\n position: absolute;\r\n top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.2rem\" : 0};\r\n right: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"0.6rem\" : 0};\r\n padding: 0 0.5rem;\r\n background: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()};\r\n color: ${({theme}) => theme.colors.textLight.toString()};\r\n border-radius: 2rem;\r\n transform: translate(100%, -50%);\r\n`;\r\n\r\nexport const HomepageHeaderArenaBadgeDefaultBox = DefaultBox;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { baseColors} from '../../../../themes/definitions/si/base-colors';\r\n\r\nexport const HomepageHeaderArenaBadgeSIBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.8rem;\r\n background-color: ${baseColors.base03Dark};\r\n padding: 0 0.7rem;\r\n box-shadow: 0 0 1px 1px ${props => props.theme.colors.background};\r\n border-radius: 0.5rem;\r\n transform: translate(50%, 10px);\r\n z-index: 1;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeMrGreenBox = styled(HomepageHeaderArenaBadgeDefaultBox)`\r\n font-size: 1.2rem;\r\n top: ${({headerArenasStyleIsMenu}) => headerArenasStyleIsMenu ? \"-0.3rem\" : 0};\r\n color: ${({theme}) => theme.colors.textContrast};\r\n padding: 0.1rem 0.37rem;\r\n box-shadow: ${({theme}) => theme.components.header.colors.indicatorBadge.backgroundInGridLayout.toString()} 0px 0px 4px;\r\n min-width: 20px;\r\n`;\r\n","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { HomepageHeaderArenaBadgeDefaultBox } from \"./home-page-header-arena-badge.default.box\";\r\nimport { HomepageHeaderArenaBadgeSIBox } from \"./home-page-header-arena-badge.si.box\";\r\nimport { HomepageHeaderArenaBadgeMrGreenBox } from \"./home-page-header-arena-badge.mrgreen.box\";\r\n\r\nexport const HomepageHeaderArenaBadgeBox = styledByTheme(HomepageHeaderArenaBadgeDefaultBox)\r\n .forSI(HomepageHeaderArenaBadgeSIBox)\r\n .forMrGreen(HomepageHeaderArenaBadgeMrGreenBox).apply();\r\n","import styled, {css} from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerDefaultBox = styled.div<{headerArenasStyle: HeaderArenasStyle;}>`\r\n margin-bottom: 4rem;\r\n\r\n text-align: center;\r\n white-space: nowrap;\r\n\r\n overflow-x: auto;\r\n overflow-y: hidden;\r\n\r\n overflow: -moz-scrollbars-none;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${({theme}) => theme.colors.background};\r\n padding: 1.8rem 0;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n margin-right: -4rem;\r\n margin-left: -4rem;\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled, {css} from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HeaderArenasStyle} from \"../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\nexport const HomePageHeaderArenasContainerMrGreenBox = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n margin-bottom: 1.4rem;\r\n ${({headerArenasStyle, theme}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n background-color: ${theme.colors.backgroundContrast};\r\n ` : \"\"}\r\n\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 1.5rem 0 1.4rem;\r\n ` : \"\"}\r\n @media ${({theme}) => theme.mediaQuery.xlAndAbove} {\r\n ${({headerArenasStyle}) => headerArenasStyle === HeaderArenasStyle.Menu ? css`\r\n padding: 2.2rem 0;\r\n ` : \"\"}\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\n\r\nexport const HomePageHeaderArenasContainerCasino777Box = styled(HomePageHeaderArenasContainerDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndAbove} {\r\n padding-top: 12px;\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../themes/architecture/styled-by-theme\";\r\nimport {HomePageHeaderArenasContainerDefaultBox} from \"./home-page-header-arenas-container.default.box\";\r\nimport {HomePageHeaderArenasContainerMrGreenBox} from \"./home-page-header-arenas-container.mrgreen.box\";\r\nimport {HomePageHeaderArenasContainerCasino777Box} from \"./home-page-header-arenas-container.casino777.box\";\r\n\r\nexport const HomePageHeaderArenasContainerBox = styledByTheme(HomePageHeaderArenasContainerDefaultBox)\r\n .forMrGreen(HomePageHeaderArenasContainerMrGreenBox)\r\n .forCasino777(HomePageHeaderArenasContainerCasino777Box)\r\n .apply();\r\n","import {HomepageHeaderArenaLinkDefaultBox} from \"./home-page-header-arena-link.default.box\";\r\n\r\nexport const HomepageHeaderArenaLinkBox = HomepageHeaderArenaLinkDefaultBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageHeaderArenaLinkDefaultBox = styled.a`\r\n width: 100%;\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HeaderArenasStyle} from \"../../../../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomepageHeaderArenaSkeletonDefaultBoxProps {\r\n isLoading: boolean;\r\n tilesSize: HeaderArenasStyle.BigTiles | HeaderArenasStyle.SmallTiles;\r\n}\r\n\r\nexport const HomepageHeaderArenaSkeletonDefaultBox = styled.div`\r\n\r\n display: ${({isLoading}) => isLoading ? \"block\" : \"none\"};\r\n\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n\r\n &::before {\r\n position: absolute;\r\n content: \"\";\r\n top: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"4rem\" : \"2rem\"};\r\n left: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n right: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"2rem\" : \"1rem\"};\r\n bottom: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"3rem\" : \"1rem\"};\r\n background: radial-gradient(rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.1));\r\n border-radius: ${({tilesSize}) => tilesSize === HeaderArenasStyle.BigTiles ? \"40%\" : \"43%\"};\r\n \r\n animation: LoadingAnimation linear 1s 5;\r\n }\r\n\r\n @keyframes LoadingAnimation {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonSIBox = styled(HomepageHeaderArenaSkeletonDefaultBox)`\r\n &::before {\r\n top: 0;\r\n left: 0;\r\n right: 0; \r\n bottom: 0;\r\n border-radius: 0;\r\n }\r\n`;","import {HomepageHeaderArenaSkeletonDefaultBox} from \"./home-page-header-arena-skeleton.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {HomepageHeaderArenaSkeletonSIBox} from \"./home-page-header-arena-skeleton.si.box\";\r\n\r\nexport const HomepageHeaderArenaSkeletonBox = styledByTheme(HomepageHeaderArenaSkeletonDefaultBox)\r\n .forSI(HomepageHeaderArenaSkeletonSIBox)\r\n .apply();\r\n","import React from \"react\";\r\nimport {Image, ImageProps} from \"../raw-components/image/image\";\r\nimport {OrbitComponentWithState} from \"../base-components/orbit-component-with-state/orbit-component-with-state\";\r\nimport {AspectRatioContainerComponent} from '../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {HomepageHeaderArenaSkeletonBox} from './boxes/tiles/skeleton/home-page-header-arena-skeleton.box';\r\nimport { ByThemeRegistry } from \"../../themes/architecture/by-theme-registry\";\r\nimport {HeaderArenasStyle} from \"../../themes/architecture/sections/theme-layout.interface\";\r\n\r\ninterface HomePageHeaderArenaTileComponentState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport class HomePageHeaderArenaTileComponent extends OrbitComponentWithState {\r\n private aspectRatioSizes: ByThemeRegistry<{width: number; height: number;}> = new ByThemeRegistry({width: 295, height: 275});\r\n\r\n constructor(props: ImageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: true\r\n };\r\n this.aspectRatioSizes.forSI({width: 252, height: 150});\r\n this.aspectRatioSizes.forCasino777({width: 260, height: 244});\r\n }\r\n\r\n private _handleDoneLoading() {\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n this._handleDoneLoading()} />\r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport {Link} from '../raw-components/link/link';\r\nimport {CyClass} from \"../../../common/cy-classes\";\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {HomePageHeaderArena} from '../../services/configurations/config-data-sections/home-page.configuration';\r\nimport {HomepageHeaderArenaMenuItemBox} from \"./boxes/menu/menu-item/home-page-header-arena-menu-item.box\";\r\nimport {HomepageHeaderArenaMenuItemIconBox} from \"./boxes/menu/icon-box/home-page-header-arena-menu-item-icon.box\";\r\nimport {HomepageHeaderArenaMenuItemNameBox} from \"./boxes/menu/menu-item-name/home-page-header-arena-menu-item-name.box\";\r\nimport {HomepageHeaderArenaTileBox} from './boxes/tiles/tile/home-page-header-arena-tile.box';\r\nimport {HomepageHeaderArenaNameBox} from './boxes/tiles/name/home-page-header-arena-name.box';\r\nimport {HomepageHeaderArenaBadgeBox} from './boxes/home-page-header-arena-badge/home-page-header-arena-badge.box';\r\nimport {HomePageHeaderArenasContainerBox} from './boxes/home-page-header-arenas-container.box';\r\nimport {HomepageHeaderArenaLinkBox} from './boxes/home-page-header-arena-link/home-page-header-arena-link.box';\r\nimport {HomePageHeaderArenaTileComponent} from \"./home-page-header-arena-tile.component\";\r\nimport {SeoConfiguration} from '../../services/configurations/config-data-sections/seo.configuration';\r\nimport {ISendElasticEventOptions} from \"../../services/analytics/analytics.service.interface\";\r\n\r\nconst NEW_GAMES_TITLE = \"NEW_GAMES\";\r\n\r\nexport const HomePageHeaderArenasComponent = observer(class HomePageHeaderArenasComponent extends OrbitComponent {\r\n private menuButtonIconMap = new Map([\r\n [\"LIVE_CASINO\", this.services.theme.currentTheme.icons.sideMenuLiveCasino],\r\n [\"SLOTS\", this.services.theme.currentTheme.icons.sideMenuSlots],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.sideMenuNewGames],\r\n [\"JACKPOTS\", this.services.theme.currentTheme.icons.sideMenuJackpots],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.sideMenuExclusive888],\r\n [\"SCRATCH_CARDS\", this.services.theme.currentTheme.icons.sideMenuScratchCards],\r\n [\"CASINO_GAMES\", this.services.theme.currentTheme.icons.sideMenuCasinoGames]\r\n ]);\r\n private _getButtonIcon(label: string) {\r\n const iconKey = label.toUpperCase().trim().replace(/(-|\\s)/g, \"_\");\r\n return this.menuButtonIconMap.has(iconKey) ? this.menuButtonIconMap.get(iconKey)! : this.services.theme.currentTheme.icons.sideMenuExclusive888;\r\n }\r\n\r\n private _getSeo(prop: keyof SeoConfiguration[\"categories\"][\"images\"], placeholder: string, dynamic: string) {\r\n\r\n let seoValue = '';\r\n let seoConfig = this.services.configuration.data.seo;\r\n\r\n if (seoConfig && seoConfig.categories && seoConfig.categories.images && seoConfig.categories.images[prop]) {\r\n seoValue = seoConfig.categories.images[prop];\r\n }\r\n\r\n return this.services.translation.translate(seoValue, {\r\n [placeholder]: this.services.translation.translate(dynamic)\r\n });\r\n }\r\n\r\n private _handleArenaAction = (action: string, index: number) => {\r\n try {\r\n const jsonAction = JSON.parse(action);\r\n\r\n if (jsonAction.action === 'game-real') {\r\n\r\n const gameInfo = this.services.games.gamesMap[jsonAction.id];\r\n\r\n gameInfo.open({\r\n isRealMode: true,\r\n gameIndex: index\r\n });\r\n }\r\n\r\n } catch (error) {\r\n this.services.logger.error(`Error in HomePageHeaderArenasComponent '_handleArenaAction', error: ${error}, value:${action}`)\r\n }\r\n };\r\n\r\n private _handleArenaRedirect = (link: string) => {\r\n /**\r\n * @desc added because of parallel actions [navigation + spinner]\r\n * F TO DO - This setTimeout was added by regev on 09/04/2018 in this commit 962fbdea53e3bc8828a215ed035fc0e9243b7a50. I should check if this really solves a performance issue.\r\n * we should keep this delay so that on mobile the user has time to see the image changing sizes upon touching, as a form of feedback\r\n */\r\n setTimeout(() => {\r\n this.services.location.push(link); // navigation is done this way, so we can have the trailing slash\r\n }, 500);\r\n };\r\n\r\n private _handleArenaClick(event: any, arena: HomePageHeaderArena, index: number): void {\r\n\r\n event.preventDefault();\r\n\r\n let data: ISendElasticEventOptions = {\r\n eventType: \"Orbit_AI_Feature\",\r\n category: 'Game Grid',\r\n action: 'Home',\r\n label: `${arena.title}_${index}`\r\n }\r\n\r\n this.services.analytics.sendElasticInfoEvent(data, true);\r\n\r\n if (arena.action) {\r\n this._handleArenaAction(arena.action, index);\r\n } else if (arena.link) {\r\n this._handleArenaRedirect(arena.link);\r\n }\r\n }\r\n\r\n private _renderOneHeaderArena(arena: HomePageHeaderArena, index: number, totalItemsCount: number) {\r\n const hasNewGamesIndication = arena.title === NEW_GAMES_TITLE && this.services.homepage.newAddedGames > 0;\r\n const newGamesIndication = hasNewGamesIndication ?\r\n \r\n {this.services.homepage.newAddedGames > 10 ? '10+' : this.services.homepage.newAddedGames}\r\n \r\n : null;\r\n\r\n if (this.services.homepage.headerArenasStyleIsMenu) {\r\n const Icon = this._getButtonIcon(arena.title);\r\n return \r\n this._handleArenaClick(event, arena, index)}\r\n >\r\n \r\n \r\n {newGamesIndication}\r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n \r\n \r\n \r\n }\r\n return (\r\n this._handleArenaClick(event, arena, index)}\r\n useSmallHeaderArenas={this.services.homepage.headerArenasStyleIsSmallTiles}\r\n totalItemsCount={totalItemsCount}\r\n >\r\n {/*We need this href only for SEO*/}\r\n \r\n \r\n \r\n {this.services.translation.translate(arena.title)}\r\n {newGamesIndication}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n render() {\r\n\r\n const headerArenas = this.services.homepage.headerArenas;\r\n\r\n if (headerArenas.length === 0) {\r\n return null;\r\n }\r\n return (\r\n \r\n {headerArenas.map((arena, index) => this._renderOneHeaderArena(arena, index, headerArenas.length))}\r\n \r\n );\r\n }\r\n});\r\n","import styled, {css} from \"styled-components\";\r\nimport { IBannerContainerBoxProps } from \"../../cms-banner/banner-container/banner-container.default.box\";\r\n\r\nexport const HomepageTopBannerBackgroundBox = styled.div`\r\n width: 100%;\r\n position: absolute;\r\n background-image: url(\"${props => props.theme.images.homepageTopBannerPlaceholder.toString()}\");\r\n ${props => props.minHeight && css`\r\n min-height: calc(${props.minHeight} + 1px);\r\n `};\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const HomepageTopBannerDividerBox = styled.div`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n box-sizing: border-box;\r\n display: block;\r\n width: calc(100% - 14px);\r\n background-color: ${props => props.theme.colors.boxBorderLight};\r\n border-top: 3px solid ${props => props.theme.colors.boxBorder};\r\n margin: 4px 0 7px 7px;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {CmsBannerComponent} from '../cms-banner/cms-banner.component';\r\nimport {DailyDealComponent} from \"../daily-deal/daily-deal.component\";\r\nimport {RoutedComponent} from '../base-components/routed-component/routed.component';\r\nimport {LayoutWrapperBox} from \"../../basic-components/layout-wrapper/layout-wrapper.box\";\r\nimport {MOVE_TOP} from \"../../themes/css-global-classes\";\r\nimport classNames from \"classnames\";\r\nimport {HomePageHeaderArenasComponent} from \"../home-page-header-arenas/home-page-header-arenas.component\";\r\nimport {HomepageTopBannerBackgroundBox} from \"./boxes/home-page-top-banner-background.box\";\r\nimport {HomepageTopBannerDividerBox} from './boxes/home-page-top-banner-divider-line';\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport {LinkToOfferComponent} from \"../link-to-offer/link-to-offer.component\";\r\nimport {ArenaGamesListsComponent} from \"../arena-games-lists/arena-games-lists.component\";\r\nimport {HOME_PAGE_ARENA} from \"../../services/arenas/arena-consts\";\r\nimport {FreeToPlayAnimatedIconComponent} from \"../free-to-play-animated-icon/free-to-play-animated-icon.component\";\r\nimport {BannerComponent} from \"../banner/banner.component\";\r\n\r\nexport const HomePageComponent = observer(class HomePageComponent extends RoutedComponent<{}> {\r\n\r\n private _renderTopBanner() {\r\n const topBannerProps = this.services.homepage.getTopBannerProps();\r\n\r\n return (\r\n <>\r\n \r\n \r\n {this.services.homepage.headerArenasStyleIsSmallTiles && !this.services.homepage.useAdminBanner? : null}\r\n \r\n );\r\n }\r\n\r\n private _renderHomePageArenaHeaders() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return ;\r\n }\r\n\r\n private _renderSeoBanner() {\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n let bannerConfig = this.services.configuration.data.homePage.seoSection;\r\n if(!bannerConfig.display) {\r\n return null;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const className = classNames('cy-layout-wrapper-homepage', {\r\n [MOVE_TOP]: this.services.homepage.headerArenasStyleIsBigTiles\r\n });\r\n\r\n return (\r\n <>\r\n {this._renderTopBanner()}\r\n \r\n {this._renderHomePageArenaHeaders()}\r\n \r\n \r\n \r\n {this._renderSeoBanner()}\r\n {this._renderLinkToOffer()}\r\n \r\n );\r\n }\r\n});","import React from \"react\";\r\nimport {ArenaBaseModel} from \"../arena-base.model\";\r\nimport {\r\n ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"../../lists/games-list-model.interface\";\r\nimport {ListsSortOrderStorage} from \"../../lists-sort-order-storage\";\r\nimport {HomePageComponent} from \"../../../../../components/home-page/home-page.component\";\r\nimport {HOME_PAGE_ARENA, NEW_GAMES_ARENA_NAME} from \"../../../arena-consts\";\r\nimport {GAME_ORIENTATION_IDS} from \"../../../../user-game-orientation/user-game-orientation.service.interface\";\r\nimport { reaction } from \"mobx\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {ArenaFiltersConfigurationMap} from \"../arena-view-model.interface\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\n\r\nexport class HomePageArenaModel extends ArenaBaseModel {\r\n constructor(services: IServiceFactoryExtended, postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n super(HOME_PAGE_ARENA, services, postLoginListsSortOrderStorage);\r\n\r\n reaction(\r\n () => this.services.routing.currentRoute,\r\n (currentRoute) => {\r\n if (currentRoute.routeDefinition.data?.arenaType === NEW_GAMES_ARENA_NAME) {\r\n this.services.homepage.resetNewAddedGames();\r\n }\r\n }, {\r\n fireImmediately: true\r\n }\r\n );\r\n }\r\n\r\n get maxSwipersToShow(): number {\r\n return 15;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 18\r\n }\r\n\r\n get aiEngine(): string {\r\n return \"\";\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ();\r\n }\r\n\r\n protected _getSwiperIdToPutOnTop(): number | null {\r\n //REQUIREMENT 1886942 - exclude live casino orientation players\r\n const gameGroupOrientation = this.services.userGameOrientation.gameGroup;\r\n if (gameGroupOrientation?.groupId && gameGroupOrientation?.groupId === GAME_ORIENTATION_IDS.LIVE_CASINO ) {\r\n return\r\n }\r\n\r\n\r\n return this.services.abTestingFeatureDataProvider.listOnTop;\r\n }\r\n\r\n protected _sortSwipersByAI(swipers: IGamesListModel[]): IGamesListModel[] {\r\n if(this._isUsingExternalAIForSwipersSorting) {\r\n return swipers;\r\n }\r\n\r\n return super._sortSwipersByAI(swipers);\r\n }\r\n\r\n protected _getSwipersConfigurations(): SwiperGamesListConfiguration[] {\r\n return this.services.configuration.data.homePage.gamesLists || [];\r\n }\r\n protected _getGridsConfigurations(): ArenaGamesGridConfiguration[] {\r\n return []\r\n }\r\n\r\n protected _getPromotionalBannerConfig() {\r\n const bannerConfig = this.services.configuration.data.homePage.promotionalBanner;\r\n if(!bannerConfig || this.services.miniOrbit.isEnabled) {\r\n return null;\r\n }\r\n\r\n return {\r\n position: bannerConfig.displayPlace + 1,\r\n templateID: bannerConfig.templateID,\r\n componentID: bannerConfig.componentID,\r\n fallbackComponent: bannerConfig.fallbackComponent,\r\n bannerAdminPlaceholderId: bannerConfig.bannerAdminPlaceholderId\r\n };\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo;\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return {};\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ArenaPictureDefaultBox} from './arena-picture.default.box';\r\n\r\nexport const ArenaPictureBox = ArenaPictureDefaultBox;","import styled from 'styled-components';\r\nimport { Image } from '../../../../../../raw-components/image/image';\r\n\r\n//info-image default\r\nexport const ArenaPictureDefaultBox = styled(Image)`\r\n display: block;\r\n min-height: 20rem;\r\n\r\n width: 372px;\r\n height: 200px;\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 282px;\r\n height: 175px;\r\n }\r\n`;\r\n\r\n","import {ArenaTitleDefaultBox} from './arena-title.default.box';\r\n\r\n\r\nexport const ArenaTitleBox = ArenaTitleDefaultBox;","import styled from 'styled-components';\r\n\r\n//info-title default\r\nexport const ArenaTitleDefaultBox = styled.div`\r\n font-size: 1.5rem;\r\n color: ${props => props.theme.colors.textLight};\r\n font-weight: 600;\r\n padding-top: 3rem;\r\n padding-left: 0.5rem;\r\n`;","import {ArenaDescriptionTextDefaultBox} from './arena-description-text.default.box';\r\n\r\nexport const ArenaDescriptionTextBox = ArenaDescriptionTextDefaultBox;","import styled from 'styled-components';\r\n\r\nexport const ArenaDescriptionTextDefaultBox = styled.div`\r\n font-size: 1.4rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n font-weight: 300;\r\n line-height: normal;\r\n padding-top: 1rem;\r\n`;","import styled, {keyframes} from 'styled-components';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nconst lobbyInfoKeyframes = keyframes`\r\n 0%{\r\n transform: translate(0, 13rem);\r\n }\r\n 25%{\r\n transform: translate(0, 15rem);\r\n }\r\n 50%{\r\n transform: translate(0, 18rem);\r\n }\r\n 100%{\r\n transform: translate(0, 22rem);\r\n }\r\n`;\r\n\r\nexport const LobbyGameInfoDefaultBox = styled.div`\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 375px;\r\n margin-right: 2.5rem;\r\n \r\n\r\n &.${STICKY} {\r\n position: fixed;\r\n animation: ${lobbyInfoKeyframes} 0.5s ease-in-out forwards;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.xlAndBelow} {\r\n width: 285px;\r\n }\r\n\r\n`;\r\n","import {LobbyGameInfoDefaultBox} from './lobby-game-info.default.box';\r\n\r\nexport const LobbyGameInfoBox = LobbyGameInfoDefaultBox;","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport classNames from 'classnames';\r\nimport { OrbitComponentWithState } from '../../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport { AspectRatioContainerComponent } from '../../../../raw-components/aspect-ratio-container/aspect-ratio-container.component';\r\nimport {ArenaPictureBox} from './boxes/arena-picture/arena-picture.box';\r\nimport {ArenaTitleBox} from './boxes/arena-title/arena-title.box';\r\nimport {ArenaDescriptionTextBox} from './boxes/arena-description-text/arena-description-text.box';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\n\r\nexport interface ArenaInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport interface ArenaInfoPreviewComponentState {\r\n arenaPictureLoading: boolean;\r\n}\r\n\r\nexport const ArenaInfoPreviewComponent = observer(\r\n class ArenaInfoPreviewComponent extends OrbitComponentWithState {\r\n state: ArenaInfoPreviewComponentState = {\r\n arenaPictureLoading: false\r\n }\r\n\r\n render() {\r\n\r\n\r\n let title = this.services.translation.translate(this.props.arenaInfo.title);\r\n\r\n return (\r\n \r\n \r\n {\r\n this.setState({arenaPictureLoading: true});\r\n }}\r\n onSettled={() => {\r\n this.setState({arenaPictureLoading: false});\r\n }}\r\n />\r\n \r\n \r\n {title}\r\n \r\n \r\n {this.services.translation.translate(this.props.arenaInfo.description)}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../../../base-components/orbit-component/orbit-component';\r\nimport {SectionTitleBox} from '../../../../common/boxes/section-title/section-title.box';\r\n\r\n\r\nexport interface PcGamePreviewTitleComponentProps {\r\n gameTitle: string;\r\n}\r\n\r\nexport const PcGamePreviewTitleComponent = observer(\r\n class PcGamePreviewTitleComponent extends OrbitComponent {\r\n\r\n //className={`game-title general-title game-preview`}\r\n render() {\r\n return (\r\n \r\n {this.props.gameTitle}\r\n \r\n );\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from '../../../../base-components/orbit-component/orbit-component';\r\nimport {TrailerOrStripeImageComponent} from '../../../common/trailer-or-stripe-image/trailer-or-stripe-image.component';\r\nimport {GamePreviewInfoContainerComponent} from '../../../common/game-info-container/game-preview-info-container.component';\r\nimport {observer} from 'mobx-react';\r\nimport {PcGamePreviewTitleComponent} from './title/pc-game-preview-title.component';\r\nimport {LobbyGameInfoBox} from '../../boxes/lobby-game-info/lobby-game-info.box';\r\nimport classNames from 'classnames';\r\nimport {STICKY} from '../../../../../themes/css-global-classes';\r\nimport {GameInfo} from '../../../../../services/games/game-info';\r\n\r\n\r\nexport interface GameInfoPreviewComponentProps {\r\n isSticky?: boolean;\r\n gameInfo: GameInfo;\r\n}\r\n\r\nexport const GameInfoPreviewComponent = observer(\r\n class GameInfoPreviewComponent extends OrbitComponent {\r\n\r\n private _onMouseEnter = () => {\r\n this.services.lobbyGameInfoPreview.pinCurrentGamePreview();\r\n };\r\n\r\n private _onMouseLeave = () => {\r\n this.services.lobbyGameInfoPreview.unPinCurrentGamePreview();\r\n };\r\n\r\n\r\n render() {\r\n let gameInfo = this.props.gameInfo;\r\n return (\r\n \r\n \r\n }/>\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {ArenaInfoPreviewComponent} from './parts/arena-info-preview/arena-info-preview.component';\r\nimport {GameInfoPreviewComponent} from './parts/game-info-preview/game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {IStickyHandler} from '../../sticky-handler/sticky-handler.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\n\r\n\r\nexport interface LobbyGamesInfoComponentProps {\r\n stickyHandler?: IStickyHandler;\r\n arenaInfo: {\r\n previewImage: string;\r\n title: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport const PcGameInfoPreviewComponent = observer(\r\n class PcGameInfoPreviewComponent extends OrbitComponent {\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.enableGamePreview();\r\n }\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n if(!this.services.device.isMobile) {\r\n this.services.lobbyGameInfoPreview.disableGamePreview();\r\n }\r\n }\r\n\r\n\r\n render() {\r\n if (this.services.device.isMobile) {\r\n return null;\r\n }\r\n\r\n let enabledOnPC = this.services.configuration.data.generalSettings?.gamesPreviewConfig?.enabledOnPC;\r\n if(Check.isNullOrUndefined(enabledOnPC)) {\r\n enabledOnPC = true;\r\n }\r\n\r\n if(!enabledOnPC) {\r\n return null;\r\n }\r\n\r\n if (this.services.lobbyGameInfoPreview.currentPreviewedGame) {\r\n return ();\r\n } else {\r\n return ();\r\n }\r\n }\r\n\r\n }\r\n);\r\n","export const ARENA_TYPES = {\r\n WIDE_ARENA: \"wide-arena\"\r\n};\r\n\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\nimport {\r\n ArenaConfiguration,\r\n} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {LobbyHeaderComponent} from '../../lobby-header/lobby-header.component';\r\nimport {PcGameInfoPreviewComponent} from '../../lobby-game-info-preview/pc-game-info-preview/pc-game-info-preview.component';\r\nimport {observer} from 'mobx-react';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {ARENA_TYPES} from \"./casino-arena.template-types\";\r\nimport {LOBBY_PAGE} from '../../../themes/css-global-classes';\r\nimport {LobbyWrapperBox} from \"../../../basic-components/lobby-wrapper/lobby-wrapper.box\";\r\nimport {LobbyGridBox} from \"../../../basic-components/lobby-grid/lobby-grid.box\";\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {OrbitComponent} from \"../../base-components/orbit-component/orbit-component\";\r\nimport {ArenaGamesListsComponent} from \"../../arena-games-lists/arena-games-lists.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\n\r\nexport interface LobbyArenaComponentProps {\r\n arenaName: string;\r\n}\r\n\r\nexport const CasinoArenaComponent = observer(\r\n class CasinoArenaComponent extends OrbitComponent {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n return this._stickyHandler;\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.services.dom.body.classList.remove(LOBBY_PAGE);\r\n this.stickyHandler.dispose();\r\n }\r\n\r\n private get config(): ArenaConfiguration {\r\n return this.services.arenas.getArenaConfig(this.props.arenaName);\r\n }\r\n\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n let sideBarInfo = {\r\n title: \"\",\r\n description: \"\",\r\n previewImage: \"\"\r\n };\r\n\r\n if (this.config.infoSideBar) {\r\n sideBarInfo = {\r\n title: this.config.infoSideBar.infoTitle,\r\n description: this.config.infoSideBar.infoText,\r\n previewImage: this.config.infoSideBar.infoImage\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n (this.config.arenaType !== ARENA_TYPES.WIDE_ARENA) && \r\n }\r\n {this._renderLinkToOffer()}\r\n \r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n);","import {ArenaFiltersConfigurationMap} from \"./arenas/arena-view-model.interface\";\r\nimport {NullableUndefined} from \"../../../../common/types/nullable-types\";\r\n\r\nexport function filtersConfigurationToMap(filtersConfiguration: NullableUndefined): ArenaFiltersConfigurationMap {\r\n return (filtersConfiguration ?? []).toDictionary(filterId => filterId, \r\n (filterId, index) => {\r\n return {\r\n filterId: filterId,\r\n index: index\r\n }\r\n });\r\n }\r\n","import {GameInfo} from \"../../games/game-info\";\r\n\r\nexport enum ApplyGameFilterResult {\r\n IncludeGame,\r\n ExcludeGame,\r\n NotApplicable\r\n}\r\n\r\nexport interface IGameFilterEvaluator {\r\n applyFilter(gameInfo: GameInfo, selectedFiltersIDs?: string[]): ApplyGameFilterResult;\r\n}","import React from 'react';\r\nimport {DisposableObject} from \"../../../../utils/disposable-object\";\r\nimport {IGamesFilterStrategy} from \"./games-filter-strategy.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport { computed, observable, runInAction, makeObservable } from \"mobx\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {Nullable} from \"../../../../common/types/nullable-types\";\r\nimport {GamesMap} from \"../../games/games.service.interface\";\r\nimport {IArenaGameFiltersCategory} from \"../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {IArenaGameFilter} from \"../arena-filters/filters/arena-game-filter.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {IPcFilterIndicatorRenderingOptions} from \"../games-filter.service.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport abstract class GamesFilterStrategyBase extends DisposableObject implements IGamesFilterStrategy {\r\n\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n super();\r\n\r\n makeObservable(this);\r\n\r\n this.addReaction(() => [this.services.location.currentUri, this.services.games.gamesMap], () => {\r\n //We use set timeout in order to avoid a circular dependency error.\r\n //Because this reaction is with fireImmediately=true it executes in this constructor, but this constructor is called from the GamesFilterService constructor\r\n //and the code inside this._filterGames is trying to access methods and properties from GamesFilterService and the Lazy class will throw an error in this case.\r\n setTimeout(() => {\r\n runInAction(() => {\r\n this.filteredGamesMap = this._filterGames();\r\n if(this.services.gamesFilter.isFilterOn && !Check.isEmpty(this.services.games.gamesMap)) {\r\n this._reportApplyFiltersAnalytics();\r\n }\r\n });\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n\r\n protected abstract _createFiltersCategories(): IArenaGameFiltersCategory[];\r\n abstract renderMobileFiltersIndicator(): React.ReactElement;\r\n abstract renderPCFiltersIndicator(): Nullable;\r\n protected abstract _reportApplyFiltersAnalytics(): void;\r\n\r\n abstract showFiltersEditor(): void;\r\n protected abstract _createEvaluator(): IGameFilterEvaluator | null;\r\n\r\n @observable.ref\r\n filteredGamesMap: Record = {};\r\n\r\n private _filtersCategories: Nullable = null;\r\n protected get filtersCategories(): IArenaGameFiltersCategory[] {\r\n if(!this._filtersCategories) {\r\n this._filtersCategories = this._createFiltersCategories();\r\n }\r\n return this._filtersCategories;\r\n }\r\n\r\n\r\n @computed\r\n public get currentFilters(): IArenaGameFilter[] {\r\n const result: IArenaGameFilter[] = [];\r\n this.filtersCategories.forEach(category => {\r\n category.availableFilters.forEach(f => result.push(f));\r\n });\r\n\r\n return result;\r\n }\r\n\r\n get isFilteringAvailable(): boolean {\r\n return this.currentFilters.length > 0;\r\n }\r\n\r\n protected _filterGames(): GamesMap {\r\n\r\n const gamesMap = this.services.games.gamesMap;\r\n\r\n if(!this.currentFilters.some(f => f.isApplied)) {\r\n return gamesMap;\r\n }\r\n\r\n const evaluator = this._createEvaluator();\r\n\r\n const result: GamesMap = {};\r\n\r\n for(let game of Object.values(this.services.games.gamesMap)) {\r\n const filterResult = evaluator.applyFilter(game);\r\n if(ApplyGameFilterResult.IncludeGame === filterResult) {\r\n result[game.gameType] = game;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n 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\n\r\nexport type FilterInputType = 'checkbox' | 'radio';\r\n\r\ninterface FilterCategoryItemComponentProps {\r\n inputType: FilterInputType;\r\n filter: IArenaGameFilterEditorViewModel;\r\n filterCategoryId: string;\r\n}\r\n\r\nexport const FilterCategoryItemComponent = observer(\r\n class FilterCategoryItemComponent extends OrbitComponent {\r\n\r\n private _onFilterToggle = () => {\r\n if (this.props.filter.disabled) {\r\n return;\r\n }\r\n this.props.filter.toggleFilter();\r\n }\r\n\r\n private _renderSubFilters() {\r\n const subFilters = this.props.filter.subFilters;\r\n if(subFilters.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {subFilters.map(sf => ())}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n const filter = this.props.filter;\r\n const inputType = this.props.inputType;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {filter.text}\r\n {filter.gamesCount > 0 && ` (${filter.gamesCount})`}\r\n \r\n \r\n {this._renderSubFilters()}\r\n \r\n\r\n );\r\n }\r\n }\r\n);","import React from \"react\";\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {\r\n IArenaGameFiltersCategoryEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface\";\r\nimport {FilterCategoryContentBox} from \"./boxes/filter-category-content.box\";\r\nimport {observer} from \"mobx-react\";\r\nimport {FilterCategoryItemComponent} from \"./filter-category-item.component\";\r\n\r\ninterface FilterCategoryContentComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n isOpen: boolean;\r\n}\r\n\r\n\r\nexport const FilterCategoryContentComponent = observer(\r\n class FilterCategoryContentComponent extends OrbitComponent {\r\n\r\n _renderFilters(category: IArenaGameFiltersCategoryEditorViewModel) {\r\n\r\n\r\n return <>\r\n {category.visibleFilters.map(filterToRender => ())}\r\n ;\r\n }\r\n\r\n render() {\r\n if(!this.props.isOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this._renderFilters(this.props.category)}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nexport const TitleContainerDefaultBox = styled.div`\r\n cursor: pointer;\r\n`;\r\n\r\nconst TitleContainerSIBox = styled(TitleContainerDefaultBox)`\r\n padding-left: 10px\r\n`;\r\n\r\nexport const TitleContainerBox = styledByTheme(TitleContainerDefaultBox)\r\n .forSICis(TitleContainerSIBox)\r\n .forSI(TitleContainerSIBox)\r\n .apply();","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst TitleDefaultBox = styled.div<{isOpen: boolean}>`\r\n position: relative;\r\n font-size: 15px;\r\n ${({theme}) => theme.font.presets.bold};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: uppercase;\r\n display: flex;\r\n align-items: center;\r\n\r\n /* Title V sign */\r\n &:after {\r\n content: \" \";\r\n display: inline-block;\r\n\r\n border: solid ${props => props.theme.colors.backgroundContrast};\r\n border-width: 0 2px 2px 0;\r\n\r\n padding: 3px;\r\n transform: rotate(45deg);\r\n transition: transform 0.2s ease-in-out;\r\n\r\n position: absolute;\r\n right: 3px;\r\n\r\n ${props => props.isOpen && css`\r\n transform: rotate(225deg);\r\n `}\r\n }\r\n`;\r\n\r\nconst TitleMrGreenBox = styled(TitleDefaultBox)`\r\n font-size: 14px;\r\n`;\r\n\r\nconst TitleSIBox = styled(TitleDefaultBox)`\r\n font-size: 14px;\r\n`;\r\n\r\nexport const TitleBox = styledByTheme(TitleDefaultBox)\r\n .forSI(TitleSIBox)\r\n .forSICis(TitleSIBox)\r\n .forMrGreen(TitleMrGreenBox)\r\n .forMrGreenCis(TitleMrGreenBox).apply();","import styled, {css} from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\n\r\ninterface IGroupFiltersListGroupTitleActivePreviewBoxProps {\r\n isVisible: boolean;\r\n}\r\n\r\nconst PreviewDefaultBox = styled.span`\r\n\r\n @keyframes introAnimation {\r\n 0% {\r\n opacity: 0;\r\n max-height: 0;\r\n }\r\n 50% {\r\n opacity: 0;\r\n max-height: 20px;\r\n }\r\n 100% {\r\n opacity: 1;\r\n max-height: 20px;\r\n }\r\n }\r\n\r\n display: block;\r\n opacity: 0;\r\n font-size: 11px;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n ${({theme}) => theme.font.presets.regular};\r\n text-transform: capitalize;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n width: 100%;\r\n max-height: 0;\r\n\r\n ${props => props.isVisible && css`\r\n animation: 0.1s introAnimation 0.2s ease-in forwards;\r\n `}\r\n`;\r\n\r\nconst PreviewMrGreenBox = styled(PreviewDefaultBox)`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nconst PreviewSIBox = styled(PreviewDefaultBox)`\r\n color: ${props => props.theme.colors.textContrast};\r\n font-size: 11px;\r\n ${({theme}) => theme.font.presets.light};\r\n`;\r\n\r\nexport const PreviewBox = styledByTheme(PreviewDefaultBox)\r\n .forSI(PreviewSIBox)\r\n .forSICis(PreviewSIBox)\r\n .forMrGreen(PreviewMrGreenBox)\r\n .forMrGreenCis(PreviewMrGreenBox).apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {TitleContainerBox} from \"./boxes/title-container.box\";\r\nimport {TitleBox} from \"./boxes/title.box\";\r\nimport {PreviewBox} from \"./boxes/preview.box\";\r\nimport {\r\n IArenaGameFiltersCategoryEditorViewModel\r\n} from \"../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface\";\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface FilterCategoryHeaderComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n isOpen: boolean;\r\n onCategoryToggle: (category: IArenaGameFiltersCategoryEditorViewModel) => void;\r\n}\r\n\r\n\r\nexport const FilterCategoryHeaderComponent = observer(\r\n class FilterCategoryHeaderComponent extends OrbitComponent {\r\n private _onClickHandler = () => {\r\n this.props.onCategoryToggle(this.props.category);\r\n }\r\n\r\n\r\n render() {\r\n const activeFiltersTexts = this.props.category.getVisibleAppliedFilters().map(f => f.text);\r\n return (\r\n \r\n \r\n {this.props.category.title}\r\n \r\n\r\n 0}>\r\n {activeFiltersTexts.join(', ')}\r\n \r\n \r\n )\r\n }\r\n }\r\n);","import React from 'react';\r\nimport {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from '../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface';\r\nimport {observer} from 'mobx-react';\r\nimport {FilterCategoryBox} from \"./boxes/filter-category.box\";\r\nimport {FilterCategoryContentComponent} from \"./filter-category-content.component\";\r\nimport {FilterCategoryHeaderComponent} from \"./filter-category-header.component\";\r\n\r\ninterface IFilterCategoryComponentProps {\r\n category: IArenaGameFiltersCategoryEditorViewModel;\r\n onCategoryToggle: (category: IArenaGameFiltersCategoryEditorViewModel) => void;\r\n isOpen: boolean;\r\n}\r\n\r\nexport const FilterCategoryComponent = observer(\r\n class FilterCategoryComponent extends OrbitComponent {\r\n\r\n render() {\r\n const {category, isOpen} = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {OrbitComponentWithState} from '../../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {ContainerBox} from \"./boxes/container.box\";\r\nimport {FilterCategoryComponent} from '../filter-category/filter-category.component';\r\nimport {IAdvancedStrategyFiltersEditorViewModel} from '../../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface';\r\nimport {IArenaGameFiltersCategoryEditorViewModel} from '../../../../services/games-filter/arena-filters/categories/arena-game-filters-category-editor-view-model.interface';\r\nimport {observer} from 'mobx-react';\r\n\r\nexport interface IFilterCategoriesListComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\n\r\ninterface IFilterCategoriesListComponentState {\r\n openFilterCategory: IArenaGameFiltersCategoryEditorViewModel | null;\r\n}\r\n\r\nexport const FilterCategoriesListComponent = observer(\r\n class FilterCategoriesListComponent extends OrbitComponentWithState {\r\n\r\n state: IFilterCategoriesListComponentState = {\r\n openFilterCategory: null\r\n }\r\n\r\n _onCategoryToggle = (category: IArenaGameFiltersCategoryEditorViewModel) => {\r\n let openFilterCategoryState = this.state.openFilterCategory;\r\n\r\n // if user clicked on new category emulate close current category first\r\n if (openFilterCategoryState && category.id !== openFilterCategoryState.id) {\r\n openFilterCategoryState = null;\r\n }\r\n\r\n this.setState({openFilterCategory: openFilterCategoryState ? null : category});\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n {this.props.filtersEditor.visibleCategories.map(category => ())}\r\n \r\n )\r\n }\r\n }\r\n);","import styled from \"styled-components\";\r\n\r\nexport const AdvancedGamesFilterDefaultBox = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n 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 {\r\n AdvancedFiltersAnalytics\r\n} from \"../../../services/games-filter/strategies/advanced-filter/advanced-filters-analytics\";\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.services.drawer.right.back();\r\n this.analyticsReporter.reportCloseFilters();\r\n }\r\n\r\n private _onClearAll = async () => {\r\n await this.services.gamesFilter.clearFilters();\r\n this.services.drawer.right.back();\r\n this.analyticsReporter.reportClearFilters();\r\n }\r\n\r\n\r\n private get analyticsReporter(): AdvancedFiltersAnalytics {\r\n return this.props.filtersEditor.analyticsReporter;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.analyticsReporter.reportOpenFilters();\r\n }\r\n\r\n\r\n render() {\r\n const CloseIcon = this.services.theme.currentTheme.icons.closeIcon;\r\n 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\ninterface IReportApplyFiltersParams {\r\n appliedFilters: Record; // the key is the filters category and the value is an array of applied filters from that category\r\n gamesCount: number;\r\n}\r\n\r\ninterface IFilterEventData {\r\n action: string;\r\n actionData?: string;\r\n}\r\n\r\nexport class AdvancedFiltersAnalytics {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n private _sendEvent(filterEventData: IFilterEventData): void {\r\n\r\n let location = this.services.location.currentUri.pathName.toString()\r\n if(location !== '/' && location.endsWith('/')) {\r\n location = location.substr(0, location.length - 1)\r\n }\r\n\r\n this.services.analytics.sendOrbitUserFlowEvent('advanced-filters', filterEventData.action, location, filterEventData.actionData);\r\n }\r\n\r\n\r\n reportOpenFilters(): void {\r\n this._sendEvent({\r\n action: 'open'\r\n });\r\n }\r\n\r\n reportCloseFilters(): void {\r\n this._sendEvent({\r\n action: 'close'\r\n });\r\n }\r\n\r\n reportClearFilters(): void {\r\n this._sendEvent({\r\n action: 'clear'\r\n });\r\n }\r\n\r\n reportApplyFilters(params: IReportApplyFiltersParams): void {\r\n this._sendEvent({\r\n action: 'apply',\r\n actionData: JSON.stringify(params)\r\n });\r\n }\r\n}","import {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {ArenaGameFiltersCategoryEditor} from \"../../arena-filters/categories/arena-game-filters-category-editor\";\r\nimport {IAdvancedStrategyFiltersEditorViewModel} from \"./advanced-strategy-filters-editor-view-model.interface\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {AdvancedFiltersAnalytics} from \"./advanced-filters-analytics\";\r\n\r\nexport class AdvancedStrategyFiltersEditor implements IAdvancedStrategyFiltersEditorViewModel {\r\n constructor(private readonly filtersCategories: IArenaGameFiltersCategory[],\r\n private readonly services: IServiceFactoryExtended) {\r\n\r\n this._categories = this.filtersCategories.map(c => new ArenaGameFiltersCategoryEditor(c));\r\n this.analyticsReporter = new AdvancedFiltersAnalytics(this.services);\r\n }\r\n\r\n readonly analyticsReporter: AdvancedFiltersAnalytics;\r\n\r\n private _categories: ArenaGameFiltersCategoryEditor[];\r\n get visibleCategories(): ArenaGameFiltersCategoryEditor[] {\r\n return this._categories.filter(c => c.visibleFilters.length > 0);\r\n }\r\n\r\n 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 getNumberOfGamesBeforeUserApply(): number {\r\n return this.services.gamesFilter.getNumberOfGamesBeforeUserApply(this.getAppliedFiltersIds());\r\n }\r\n\r\n async applyFilters(): Promise {\r\n await this.services.gamesFilter.applyFilters(this.getAppliedFiltersIds());\r\n }\r\n}","import {ApplyGameFilterResult, IGameFilterEvaluator} from \"./game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\n\r\nexport class AndGameFiltersEvaluator implements IGameFilterEvaluator {\r\n constructor(...evaluators: IGameFilterEvaluator[]) {\r\n this._evaluators = evaluators;\r\n }\r\n\r\n private readonly _evaluators: IGameFilterEvaluator[];\r\n\r\n applyFilter(gameInfo: GameInfo, filterIDS?: string[]): ApplyGameFilterResult {\r\n let result = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo, filterIDS);\r\n if(r === ApplyGameFilterResult.ExcludeGame) {\r\n return r;\r\n } else if(r !== ApplyGameFilterResult.NotApplicable) {\r\n result = r;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nexport function AND(...evaluators: IGameFilterEvaluator[]): IGameFilterEvaluator {\r\n return new AndGameFiltersEvaluator(...evaluators);\r\n}","import styled from \"styled-components\";\r\nimport {flexFixedSizeItem} from \"../../../../../themes/architecture/css-helpers/flex\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonDefaultBox = styled.a`\r\n position: relative;\r\n display: flex;\r\n ${flexFixedSizeItem}\r\n justify-content: center;\r\n align-items: center;\r\n width: 3.4rem;\r\n height: 3.4rem;\r\n border: 1px solid ${props => props.theme.colors.backgroundContrast};\r\n border-radius: 50%;\r\n margin: 0 0.5rem;\r\n stroke: ${props => props.theme.colors.backgroundContrast};\r\n\r\n &.${ACTIVE} {\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n top: -0.25rem;\r\n right: -0.25rem;\r\n width: 1rem;\r\n height: 1rem;\r\n background: ${props => props.theme.colors.danger};\r\n border-radius: 50%;\r\n }\r\n }\r\n\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../themes/css-global-classes\";\r\n\r\nexport const FiltersMobileButtonCasino777Box = styled(FiltersMobileButtonDefaultBox)`\r\n border: 2px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 5px;\r\n \r\n &.${ACTIVE} {\r\n &:after {\r\n top: -0.5rem;\r\n right: -0.5rem;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\n\r\nexport const FiltersMobileButtonMrGreenBox = styled(FiltersMobileButtonDefaultBox)`\r\n box-shadow: 0px 0px 3px #222223, 0px 0px 0px #222223, inset 0px 0px 10px rgba(255, 255, 255, 0.1), inset 0px 0px 1px #1F5331;\r\n`;","import {FiltersMobileButtonDefaultBox} from \"./filters-mobile-button.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {FiltersMobileButtonCasino777Box} from \"./filters-mobile-button.casino777.box\";\r\nimport {FiltersMobileButtonMrGreenBox} from \"./filters-mobile-button.mrgreen.box\";\r\n\r\nexport const FiltersMobileButtonBox = styledByTheme(FiltersMobileButtonDefaultBox)\r\n .forCasino777(FiltersMobileButtonCasino777Box)\r\n .forMrGreen(FiltersMobileButtonMrGreenBox).apply();","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport {FiltersMobileButtonBox} from \"../../../filters/filters-games-list-mobile/boxes/menu-button/filters-mobile-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\nimport React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const FiltersMobileButtonComponent = observer(class FiltersMobileButtonComponent extends OrbitComponent<{}> {\r\n\r\n private _openPopup = () => {\r\n this.services.gamesFilter.showFiltersEditor();\r\n };\r\n\r\n render(){\r\n if(!this.services.gamesFilter.isFilteringAvailable) {\r\n return null;\r\n }\r\n\r\n if(this.services.arenas.shouldHideFiltersButtonMobile()) {\r\n return null;\r\n }\r\n\r\n const FilterIcon = this.services.theme.currentTheme.icons.filterIcon;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n});","import styled from \"styled-components\";\r\nimport {flexAdaptiveSizeItem} from \"../../../../themes/architecture/css-helpers/flex\";\r\n\r\nexport const IndicatorContainerBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 1.5rem;\r\n ${flexAdaptiveSizeItem}\r\n overflow-x: hidden;\r\n font-family: ${props => props.theme.font.family.regular};\r\n ${props => props.theme.font.presets.regular}\r\n\r\n`;\r\n","import styled from \"styled-components\";\r\n\r\nexport const AppliedFilterIndicatorBox = styled.span`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border: 1px solid ${props => props.theme.colors.boxBorderContrast};\r\n border-radius: 20px;\r\n padding: 0 10px;\r\n line-height: 3.4rem;\r\n margin-left: 2px;\r\n`","import styled from \"styled-components\";\r\n\r\nexport const AppliedFiltersBox = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n overflow: -moz-scrollbars-none;\r\n overflow-x: auto;\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n`","import styled from \"styled-components\";\r\nimport {XCloseButtonBox} from \"../../../../../../basic-ui-components/x-close-button/x-close-button.box\";\r\n\r\nexport const RemoveFilterButtonBox = styled(XCloseButtonBox)`\r\n width: 14px;\r\n height: 14px;\r\n`","import styled from \"styled-components\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\n\r\nconst AppliedFilterNameDefaultBox = styled.span`\r\n white-space: nowrap;\r\n color: ${props => props.theme.colors.brandPrimary};\r\n`;\r\n\r\nconst AppliedFilterNameMrGreenBox = styled(AppliedFilterNameDefaultBox)`\r\n color: ${props => props.theme.colors.text};\r\n`;\r\n\r\nconst AppliedFilterNameSIBox = styled(AppliedFilterNameDefaultBox)`\r\n ${({theme}) => theme.font.presets.light};\r\n color: ${props => props.theme.colors.textLight};\r\n text-transform: none;\r\n letter-spacing: normal;\r\n`;\r\n\r\nexport const AppliedFilterNameBox = styledByTheme(AppliedFilterNameDefaultBox)\r\n .forSI(AppliedFilterNameSIBox)\r\n .forSICis(AppliedFilterNameSIBox)\r\n .forMrGreen(AppliedFilterNameMrGreenBox)\r\n .forMrGreenCis(AppliedFilterNameMrGreenBox).apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from \"../../../../base-components/orbit-component/orbit-component\";\r\nimport {observer} from \"mobx-react\";\r\nimport {\r\n IAdvancedStrategyFiltersEditorViewModel\r\n} from \"../../../../../services/games-filter/strategies/advanced-filter/advanced-strategy-filters-editor-view-model.interface\";\r\nimport {\r\n IArenaGameFilterEditorViewModel\r\n} from \"../../../../../services/games-filter/arena-filters/filters/arena-game-filter-editor-view-model.interface\";\r\nimport {IndicatorContainerBox} from \"../../boxes/indicator-container.box\";\r\nimport {BlankHorizontalSeparatorBox} from \"../../../../../basic-components/blank-separator/blank-horizontal-separator.box\";\r\nimport {FiltersMobileButtonComponent} from \"../../../../header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {AppliedFilterIndicatorBox} from \"./boxes/applied-filter-indicator.box\";\r\nimport {AppliedFiltersBox} from \"./boxes/applied-filters.box\";\r\nimport {RemoveFilterButtonBox} from \"./boxes/remove-filter-button.box\";\r\nimport {AppliedFilterNameBox} from \"./boxes/applied-filter-name.box\";\r\nimport {CyClass} from \"../../../../../../common/cy-classes\";\r\n\r\ninterface AdvancedGamesFilteringPcIndicatorComponentProps {\r\n filtersEditor: IAdvancedStrategyFiltersEditorViewModel;\r\n}\r\nexport const AppliedFiltersPcIndicatorForAdvancedFilteringComponent = observer(\r\n class AppliedFiltersPcIndicatorForAdvancedFilteringComponent extends OrbitComponent {\r\n\r\n\r\n private _onRemoveFilter = async (filter: IArenaGameFilterEditorViewModel) => {\r\n filter.on = false;\r\n await this.props.filtersEditor.applyFilters();\r\n }\r\n\r\n private _renderOneAppliedFilter(filter: IArenaGameFilterEditorViewModel) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n {filter.text}\r\n \r\n \r\n this._onRemoveFilter(filter)} className={CyClass('cy-remove-advanced-filter-x-button')}/>\r\n \r\n\r\n
    \r\n\r\n )\r\n }\r\n\r\n private _getAppliedFilters(): IArenaGameFilterEditorViewModel[] {\r\n const filters: IArenaGameFilterEditorViewModel[] = [];\r\n this.props.filtersEditor.visibleCategories.forEach(category => {\r\n category.getVisibleAppliedFilters().forEach(f => {\r\n if(f.on) {\r\n filters.push(f);\r\n }\r\n\r\n })\r\n });\r\n return filters;\r\n }\r\n\r\n private _renderAppliedFilters() {\r\n\r\n return (\r\n \r\n {this._getAppliedFilters().map(filter => this._renderOneAppliedFilter(filter))}\r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n\r\n {this._renderAppliedFilters()}\r\n\r\n \r\n );\r\n }\r\n }\r\n);","import {IArenaGameFiltersCategory} from \"./arena-game-filters-category.interface\";\r\nimport {\r\n CategoryDefinitionId,\r\n IFilterCategoryDefinition\r\n} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {IArenaGameFilter} from \"../filters/arena-game-filter.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport abstract class ArenaGameFiltersCategoryBase implements IArenaGameFiltersCategory {\r\n constructor(protected readonly categoryDefinition: IFilterCategoryDefinition,\r\n protected readonly services: IServiceFactoryExtended) {\r\n makeObservable(this);\r\n }\r\n\r\n abstract get availableFilters(): IArenaGameFilter[];\r\n abstract get gamesCount(): NullableNumber;\r\n\r\n\r\n get id(): CategoryDefinitionId {\r\n return this.categoryDefinition.id;\r\n }\r\n\r\n get title(): string {\r\n return this.categoryDefinition.title;\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return this.categoryDefinition.isMultiSelect;\r\n }\r\n\r\n @computed\r\n private get _appliedFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.filter(f => f.isApplied);\r\n }\r\n\r\n @computed\r\n private get _appliedSubFilters(): IArenaGameFilter[] {\r\n return this.availableFilters.selectMany(f => f.subFilters.filter(sf => sf.isApplied));\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo, selectedFiltersIDs: string[] = null): ApplyGameFilterResult {\r\n let filters = this._appliedFilters;\r\n let subFilters = this._appliedSubFilters;\r\n\r\n // selectedFiltersIDs is the filters user select but still not apply. we need it to show the user the number of games that will shown to him before click.\r\n if(selectedFiltersIDs) {\r\n filters = this.availableFilters.filter(f => selectedFiltersIDs.includes(f.id));\r\n subFilters = this.availableFilters.selectMany(f => f.subFilters.filter(sf => selectedFiltersIDs.includes(sf.id)));\r\n }\r\n\r\n if(filters.length === 0 && subFilters.length === 0) {\r\n return ApplyGameFilterResult.NotApplicable;\r\n }\r\n\r\n return this.categoryDefinition.applyFilters(gameInfo,\r\n filters.map(arenaFilter => arenaFilter.filterDefinition),\r\n subFilters.map(subFilter => subFilter.filterDefinition));\r\n }\r\n\r\n isGameIncludedInThisCategory(gameInfo: GameInfo): boolean {\r\n return this.availableFilters.some(f => f.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame);\r\n }\r\n\r\n get allAppliedFiltersAndSubFilters(): IArenaGameFilter[] {\r\n return [\r\n ...this._appliedFilters,\r\n ...this._appliedSubFilters\r\n ];\r\n }\r\n\r\n}","import {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\n\r\nexport abstract class ArenaGameFilterBase implements IArenaGameFilter {\r\n constructor(public readonly filterDefinition: IGameFilterDefinition,\r\n protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n abstract get subFilters(): IArenaGameFilter[];\r\n\r\n readonly isAdhocFilter = false;\r\n\r\n\r\n get id(): string {\r\n return this.filterDefinition.id;\r\n }\r\n\r\n get text(): string {\r\n return this.filterDefinition.text;\r\n }\r\n\r\n\r\n get isApplied(): boolean {\r\n return this.services.gamesFilter.isFilterApplied(this.filterDefinition.id);\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n return this.filterDefinition.applyFilter(gameInfo);\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return null;\r\n }\r\n\r\n\r\n}","import {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {ArenaGameFilterBase} from \"./arena-game-filter-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IArenaGameFilter} from \"./arena-game-filter.interface\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\nexport class DynamicArenaGameFilter extends ArenaGameFilterBase {\r\n constructor(filterDefinition: IGameFilterDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(filterDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n @computed\r\n get games(): GameInfo[] {\r\n const currentArenaGames = this.services.arenas.getCurrentArena().allArenaGamesForFiltering;\r\n return currentArenaGames.filter(gameInfo => this.filterDefinition.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame)\r\n }\r\n\r\n get gamesCount(): NullableNumber {\r\n return this.games.length;\r\n }\r\n\r\n @computed\r\n get subFilters(): IArenaGameFilter[] {\r\n return this.filterDefinition.subFilters.map(sf => new DynamicArenaGameFilter(sf, this.services))\r\n .filter(f => f.gamesCount > 0)\r\n .sort((f1, f2) => f2.gamesCount - f1.gamesCount);\r\n }\r\n}","import {ArenaGameFiltersCategoryBase} from \"./arena-game-filters-category-base\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {DynamicArenaGameFilter} from \"../filters/dynamic-arena-game-filter\";\r\nimport {NullableNumber} from \"../../../../../common/types/nullable-types\";\r\nimport {IGameFilterDefinition} from \"../../filters-definitions/game-filter-definition.interface\";\r\nimport {IFilterCategoryDefinition} from \"../../filters-categories-definitions/filter-category-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\n\r\n\r\nexport class DynamicArenaGameFiltersCategory extends ArenaGameFiltersCategoryBase {\r\n constructor(categoryDefinition: IFilterCategoryDefinition,\r\n services: IServiceFactoryExtended) {\r\n super(categoryDefinition, services);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n protected _createArenaGameFilter(filterDefinition: IGameFilterDefinition): DynamicArenaGameFilter {\r\n return new DynamicArenaGameFilter(filterDefinition, this.services);\r\n }\r\n\r\n /**\r\n * Restrict available filters to only those that have applicable games in the current arena\r\n */\r\n @computed\r\n get availableFilters(): DynamicArenaGameFilter[] {\r\n if(this.categoryDefinition.hasItsOwnFiltersOrder) {\r\n return this._getAvailableFilters();\r\n } else {\r\n return this._getAvailableFilters().sort((f1, f2) => f2.gamesCount - f1.gamesCount);\r\n }\r\n }\r\n\r\n protected _getAvailableFilters(): DynamicArenaGameFilter[]{\r\n return this.categoryDefinition.availableFilters\r\n .map(f => this._createArenaGameFilter(f))\r\n .filter(f => f.gamesCount > 0);\r\n }\r\n\r\n @computed\r\n get gamesCount(): NullableNumber {\r\n const uniqueGameTypes = new Set();\r\n this.availableFilters.forEach(f => {\r\n f.games.forEach(game => uniqueGameTypes.add(game.gameType))\r\n });\r\n return uniqueGameTypes.size;\r\n }\r\n}","import {ApplyGameFilterResult, IGameFilterEvaluator} from \"./game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\n\r\nclass OrGameFiltersEvaluator implements IGameFilterEvaluator {\r\n constructor(...evaluators: IGameFilterEvaluator[]) {\r\n this._evaluators = evaluators;\r\n }\r\n\r\n private readonly _evaluators: IGameFilterEvaluator[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n let result: ApplyGameFilterResult = ApplyGameFilterResult.NotApplicable;\r\n for(let evaluator of this._evaluators) {\r\n const r = evaluator.applyFilter(gameInfo);\r\n if(r === ApplyGameFilterResult.IncludeGame) {\r\n return r;\r\n } else if(r !== ApplyGameFilterResult.NotApplicable) {\r\n result = r;\r\n }\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport function OR(...evaluators: IGameFilterEvaluator[]): OrGameFiltersEvaluator {\r\n return new OrGameFiltersEvaluator(...evaluators);\r\n}","import {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {OR} from \"../evaluators/or-game-filters-evaluator\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {AND} from \"../evaluators/and-game-filters-evaluator\";\r\n\r\nexport abstract class FilterCategoryDefinitionBase implements IFilterCategoryDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n this.availableFilters = this._loadAvailableFilters();\r\n }\r\n\r\n abstract get id(): CategoryDefinitionId;\r\n abstract get title(): string;\r\n protected abstract _loadAvailableFilters(): IGameFilterDefinition[];\r\n\r\n readonly availableFilters: IGameFilterDefinition[];\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return false;\r\n }\r\n\r\n protected _getAppliedSubFiltersForFilter(filter: IGameFilterDefinition, appliedSubFilters: IGameFilterDefinition[]): IGameFilterDefinition[] {\r\n if(filter.subFilters.length === 0) {\r\n return [];\r\n }\r\n\r\n const result: IGameFilterDefinition[] = [];\r\n\r\n for(let appliedSubFilter of appliedSubFilters) {\r\n const subFilter = filter.subFilters.find(sf => sf.id === appliedSubFilter.id);\r\n if(subFilter) {\r\n result.push(subFilter);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n }\r\n\r\n applyFilters(gameInfo: GameInfo, appliedFilters: IGameFilterDefinition[], appliedSubFilters: IGameFilterDefinition[]): ApplyGameFilterResult {\r\n\r\n const filterEvaluators: IGameFilterEvaluator[] = [];\r\n\r\n for(let filter of appliedFilters) {\r\n const appliedSubFiltersForCurrentFilter = this._getAppliedSubFiltersForFilter(filter, appliedSubFilters);\r\n if(appliedSubFiltersForCurrentFilter.length > 0) {\r\n filterEvaluators.push(AND(filter, OR(...appliedSubFiltersForCurrentFilter)));\r\n } else {\r\n filterEvaluators.push(filter)\r\n }\r\n }\r\n\r\n return OR(...filterEvaluators).applyFilter(gameInfo);\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return true;\r\n }\r\n}","export enum GameVendorId {\r\n V_888 = 1,\r\n V_CTXM = 2,\r\n V_vsGaming = 3,\r\n V_Electracade = 4,\r\n V_LNW = 5,\r\n V_Rival = 6,\r\n V_Dynamite = 7,\r\n V_Ashgaming = 8,\r\n V_Crypto = 9,\r\n V_BlueSq = 10,\r\n V_Bellfruit = 11,\r\n V_Sportech = 12,\r\n V_Netent = 13,\r\n V_Evolution = 14,\r\n V_WagerWorks = 15,\r\n V_Betlow = 16,\r\n V_Fremantle = 17,\r\n V_Gamesq = 18,\r\n V_DSL = 19,\r\n V_Ponsbic = 20,\r\n V_Blueprint = 21,\r\n V_Endemol = 22,\r\n V_Mazooma = 23,\r\n V_Genesis = 24,\r\n V_RevolverGaming = 25,\r\n V_Kambi = 26,\r\n V_NetEnt = 27,\r\n V_LNW2 = 28,\r\n V_Ingenuity = 29,\r\n V_PlayTech = 30,\r\n V_UniversalStudios = 31,\r\n V_IGT = 32,\r\n V_Elk = 33,\r\n V_Thunderkick = 34,\r\n V_Merkur = 35,\r\n V_NextGenBigTime = 36,\r\n V_Sigma = 37,\r\n V_Wizard = 38,\r\n V_Quickspin = 39,\r\n V_GamesGlobal = 40,\r\n V_Yggdrasil = 41,\r\n V_Amatic = 42,\r\n V_BallyWulff = 43,\r\n V_Skilzz = 44,\r\n V_LightningBox = 46,\r\n V_RedTiger = 47,\r\n V_Pragmatic = 48,\r\n V_NorthernLight = 49,\r\n V_H5 = 50,\r\n V_RubyPlay = 51,\r\n V_NextGenChanceInteractive = 52,\r\n V_PlayNGo = 53,\r\n V_AGS = 54,\r\n V_Gamevy = 55,\r\n V_Eyecon = 56,\r\n V_Greentube = 57,\r\n V_iSoftBet = 58,\r\n V_Playson = 59,\r\n V_Spectate = 60,\r\n V_Inspired = 61,\r\n V_PGSoft = 62,\r\n V_Skywind = 63,\r\n V_Habanero = 64,\r\n V_MGA = 65,\r\n V_RFranco = 66,\r\n V_4theplayer = 67,\r\n V_Realistic = 68,\r\n V_Oryx = 69,\r\n V_ReelPlay = 70,\r\n V_GamingRealms = 71,\r\n V_Hacksaw = 72,\r\n V_PushGaming = 73,\r\n V_WMG = 74,\r\n V_1x2 = 75,\r\n V_GoldenRace = 76,\r\n V_Leap = 77,\r\n V_Core = 78,\r\n V_ReelNRG = 79,\r\n V_IronDog = 80,\r\n V_Authentic = 81,\r\n V_Gamomat = 82,\r\n V_EGT = 83,\r\n V_Endorphina = 84,\r\n V_Betsoft = 85,\r\n V_Playzido = 86,\r\n V_RedRake = 87,\r\n V_PlayzidoOthers = 88,\r\n V_TomHorn = 89,\r\n V_NeoGames = 90,\r\n V_BFGames = 91,\r\n V_Kalamba = 92,\r\n V_GiveMe = 93,\r\n V_GoldenHero = 94,\r\n V_2by2 = 95,\r\n V_PlankGaming = 96,\r\n V_BulletproofGames = 97,\r\n V_Ainsworth = 98,\r\n V_Everi = 99,\r\n V_Wazdan = 100,\r\n V_PlayzidoReelplay = 101,\r\n V_Gong = 102,\r\n V_NoLimitCity = 103,\r\n V_DWG = 104,\r\n V_TripleCherry = 105,\r\n V_Spearhead = 106,\r\n V_Spinomenal = 107,\r\n V_Spribe = 108,\r\n V_CIRSA = 109,\r\n V_Funfair = 110,\r\n V_GreenJade = 111,\r\n V_NazionaleElectronica = 112,\r\n V_Booming = 113,\r\n V_Darwin = 114,\r\n V_Betixon = 115,\r\n V_NetGaming = 116,\r\n V_BGaming = 117,\r\n V_BlueHorn = 118,\r\n V_SpinPlay = 119,\r\n V_Arcadia = 120,\r\n V_Stakelogic = 121,\r\n V_Live5 = 122,\r\n V_Swintt = 123,\r\n V_Edict = 124,\r\n V_GameArt = 125,\r\n V_LadyLuck = 126,\r\n V_SmartSoft = 127,\r\n V_Spinberry = 128,\r\n V_TopSpin = 129,\r\n V_eZugi = 130,\r\n V_IndigoMagic = 131,\r\n V_AtomicLabs = 132,\r\n V_Bluberi = 133,\r\n V_RAW = 134,\r\n V_Reevo = 135,\r\n V_WhiteHat = 136,\r\n }","import {IGameFilterDefinition} from \"./game-filter-definition.interface\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nexport abstract class GameFilterDefinitionBase implements IGameFilterDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n abstract get id(): string;\r\n abstract get text(): string;\r\n abstract applyFilter(gameInfo: GameInfo): ApplyGameFilterResult;\r\n get subFilters(): IGameFilterDefinition[] {\r\n return [];\r\n }\r\n\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class HighVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'high-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('HIGH_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.hasHighVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class LowVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'low-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LOW_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.hasLowVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\n\r\nexport class MediumVolatilityFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return 'medium-volatility';\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('MEDIUM_VOLATILITY');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (gameInfo.hasMediumVolatility) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n \r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {HighVolatilityFilterDefinition} from \"../filters-definitions/volatility/high-volatility.filter-definition\";\r\nimport {LowVolatilityFilterDefinition} from \"../filters-definitions/volatility/low-volatility.filter-definition\";\r\nimport {MediumVolatilityFilterDefinition} from \"../filters-definitions/volatility/medium-volatility.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\n\r\nexport class VolatilityFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n public get hasItsOwnFiltersOrder() {\r\n return true;\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'volatility';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('VOLATILITY');\r\n }\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HighVolatilityFilterDefinition(this.services),\r\n new MediumVolatilityFilterDefinition(this.services),\r\n new LowVolatilityFilterDefinition(this.services)\r\n ];\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n\r\n}","import {GameFilterDefinitionBase} from \"./game-filter-definition-base\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport abstract class GameFeatureFilterDefinitionBase extends GameFilterDefinitionBase {\r\n\r\n abstract get id(): string;\r\n abstract get text(): string;\r\n protected abstract _shouldIncludeGame(gameInfo: GameInfo): boolean;\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this._shouldIncludeGame(gameInfo)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n \r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\n\r\nexport class OneToTwentyFiveFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"one-to-twenty-five\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('1-25_LINES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return Check.isNumber(gameInfo.numberOfLines) && gameInfo.numberOfLines >= 1 && gameInfo.numberOfLines <= 24;\r\n }\r\n}","import {GameInfo} from \"../../../games/game-info\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\n\r\nexport class TwentyFivePlusFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"twenty-five-plus\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('25+_LINES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return Check.isNumber(gameInfo.numberOfLines) && gameInfo.numberOfLines >= 25;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class NewGameFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"new\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('NEW');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.isNewGame;\r\n }\r\n\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class LowStakeFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"lowStakes\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LOW_STAKES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasLowStakes;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HighStakeFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"highStakes\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('HIGH_STAKES');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasHighStakes;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class BonusGameFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"bonus\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BONUS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasBonusGames;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class FreeSpinsFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"freeSpins\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('FREE_SPINS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasFreeSpins;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasSideBetsFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"side-bets\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SIDE_BETS');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasSideBets;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class IsMultiHandFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"multi-hand\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('MULTIHAND');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.isMultiHand;\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {\r\n OneToTwentyFiveFilterDefinition\r\n} from \"../filters-definitions/game-features/one-to-twenty-five.filter-definition\";\r\nimport {\r\n TwentyFivePlusFilterDefinition\r\n} from \"../filters-definitions/game-features/twenty-five-plus.filter-definition\";\r\nimport {NewGameFilterDefinition} from \"../filters-definitions/game-features/new-game.filter-definition\";\r\nimport {LowStakeFilterDefinition} from \"../filters-definitions/game-features/low-stake.filter-definition\";\r\nimport {HighStakeFilterDefinition} from \"../filters-definitions/game-features/high-stake.filter-definition\";\r\nimport {BonusGameFilterDefinition} from \"../filters-definitions/game-features/bonus-game.filter-definition\";\r\nimport {FreeSpinsFilterDefinition} from \"../filters-definitions/game-features/free-spins.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {HasSideBetsFilterDefinition} from \"../filters-definitions/game-features/has-side-bets.filter-definition\";\r\nimport {IsMultiHandFilterDefinition} from \"../filters-definitions/game-features/is-multi-hand.filter-definition\";\r\n\r\nexport class GameFeaturesFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n get title(): string {\r\n return this.services.translation.translate('GAME_FEATURES');\r\n }\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'features';\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new OneToTwentyFiveFilterDefinition(this.services),\r\n new TwentyFivePlusFilterDefinition(this.services),\r\n new NewGameFilterDefinition(this.services),\r\n new LowStakeFilterDefinition(this.services),\r\n new HighStakeFilterDefinition(this.services),\r\n new BonusGameFilterDefinition(this.services),\r\n new FreeSpinsFilterDefinition(this.services),\r\n new HasSideBetsFilterDefinition(this.services),\r\n new IsMultiHandFilterDefinition(this.services),\r\n ];\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasDailyJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-daily-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('THE_DAILY_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasDailyJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasTwilightJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-twilight-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('TWILIGHT_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasTwilightJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasCaptain8JackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-captain8-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return 'Captain8 Jackpot';\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasCaptain8tJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasRedTigerJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-red-tiger-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return 'Red Tiger Jackpot';\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasRedTigerJackpot;\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {IGameFilterDefinition} from \"../game-filter-definition.interface\";\r\nimport {HasDailyJackpotFilterDefinition} from \"./has-dailight-jackpot.filter-definition\";\r\nimport {HasTwilightJackpotFilterDefinition} from \"./has-twilight-jackpot.filter-definition\";\r\nimport {HasCaptain8JackpotFilterDefinition} from \"./has-captain8-jackpot.filter-definition\";\r\nimport {HasRedTigerJackpotFilterDefinition} from \"./has-red-tiger-jackpot.filter-definition\";\r\n\r\nexport class HasJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return gameInfo.hasJackpot;\r\n }\r\n\r\n get subFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HasDailyJackpotFilterDefinition(this.services),\r\n new HasTwilightJackpotFilterDefinition(this.services),\r\n new HasCaptain8JackpotFilterDefinition(this.services),\r\n new HasRedTigerJackpotFilterDefinition(this.services)\r\n ]\r\n }\r\n}","import {GameFeatureFilterDefinitionBase} from \"../game-feature-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\n\r\nexport class HasNoJackpotFilterDefinition extends GameFeatureFilterDefinitionBase {\r\n get id(): string {\r\n return \"has-no-jackpot\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('NO_JACKPOT');\r\n }\r\n\r\n protected _shouldIncludeGame(gameInfo: GameInfo): boolean {\r\n return !gameInfo.hasJackpot;\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {HasJackpotFilterDefinition} from \"../filters-definitions/jackpot/has-jackpot.filter-definition\";\r\nimport {HasNoJackpotFilterDefinition} from \"../filters-definitions/jackpot/has-no-jackpot.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\n\r\nexport class HasJackpotFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'hasJackpot';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('JACKPOTS');\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n return [\r\n new HasJackpotFilterDefinition(this.services),\r\n new HasNoJackpotFilterDefinition(this.services)\r\n ];\r\n }\r\n\r\n get isMultiSelect(): boolean {\r\n return false;\r\n }\r\n}\r\n","import {IGameFilterDefinition} from '../game-filter-definition.interface';\r\nimport {GameInfo} from '../../../games/game-info';\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameVendorDefinition} from '../../../game-vendor/game-vendor-definition.ts/game-vendor-definition';\r\n\r\nexport class VendorFilterDefinition implements IGameFilterDefinition {\r\n constructor(public readonly id: string,\r\n public readonly vendors: GameVendorDefinition[],\r\n private readonly _text?: string) {\r\n\r\n }\r\n get text(): string {\r\n if (this._text) {\r\n return this._text;\r\n }\r\n return this.vendors[0].name;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (this.vendors?.some(vendor => vendor?.id === gameInfo.vendorId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n}\r\n","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {VendorFilterDefinition} from \"../filters-definitions/vendor/vendor.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameVendorId} from \"../../game-vendor/game-vendor-id.enum\";\r\n\r\nexport class GameVendorFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'vendors';\r\n }\r\n\r\n get title(): string {\r\n return this.services.translation.translate('GAME_STUDIOS');\r\n }\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return !Check.isEmpty(this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredVendorFilters);\r\n }\r\n\r\n public getAllPreferredVendorsFilters(): VendorFilterDefinition[] {\r\n return [\r\n new VendorFilterDefinition(\"vendor_888\", [this.services.gamesVendor.getVendor(GameVendorId.V_888)], this.services.translation.translate(\"BRAND_EXCLUSIVE_FILTER\", {brandName: this.services.configuration.data.generalSettings.filters?.exclusiveFilterBrandName ?? \"888\"})),\r\n new VendorFilterDefinition(\"vendor_ags\", [this.services.gamesVendor.getVendor(GameVendorId.V_AGS)]),\r\n new VendorFilterDefinition(\"vendor_amatic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Amatic)]),\r\n new VendorFilterDefinition(\"vendor_authentic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Authentic)]),\r\n new VendorFilterDefinition(\"vendor_ainsworth\", [this.services.gamesVendor.getVendor(GameVendorId.V_Ainsworth)]),\r\n new VendorFilterDefinition(\"vendor_blueprint\", [this.services.gamesVendor.getVendor(GameVendorId.V_Blueprint)]),\r\n new VendorFilterDefinition(\"vendor_darwin\", [this.services.gamesVendor.getVendor(GameVendorId.V_Darwin)]),\r\n new VendorFilterDefinition(\"vendor_egt\", [this.services.gamesVendor.getVendor(GameVendorId.V_EGT)]),\r\n new VendorFilterDefinition(\"vendor_elk\", [this.services.gamesVendor.getVendor(GameVendorId.V_Elk)]),\r\n new VendorFilterDefinition(\"vendor_evolution\", [this.services.gamesVendor.getVendor(GameVendorId.V_Evolution)]),\r\n new VendorFilterDefinition(\"vendor_eyecon\", [this.services.gamesVendor.getVendor(GameVendorId.V_Eyecon)]),\r\n new VendorFilterDefinition(\"vendor_gamesglobal\", [this.services.gamesVendor.getVendor(GameVendorId.V_GamesGlobal)]),\r\n new VendorFilterDefinition(\"vendor_gamingrealms\", [this.services.gamesVendor.getVendor(GameVendorId.V_GamingRealms)]),\r\n new VendorFilterDefinition(\"vendor_gamomat\", [this.services.gamesVendor.getVendor(GameVendorId.V_Gamomat)]),\r\n new VendorFilterDefinition(\"vendor_greentube\", [this.services.gamesVendor.getVendor(GameVendorId.V_Greentube)]),\r\n new VendorFilterDefinition(\"vendor_h5\", [this.services.gamesVendor.getVendor(GameVendorId.V_H5)]),\r\n new VendorFilterDefinition(\"vendor_habanero\", [this.services.gamesVendor.getVendor(GameVendorId.V_Habanero)]),\r\n new VendorFilterDefinition(\"vendor_igt\", [this.services.gamesVendor.getVendor(GameVendorId.V_IGT)]),\r\n new VendorFilterDefinition(\"vendor_inspired\", [this.services.gamesVendor.getVendor(GameVendorId.V_Inspired)]),\r\n new VendorFilterDefinition(\"vendor_isoftbet\", [this.services.gamesVendor.getVendor(GameVendorId.V_iSoftBet)]),\r\n new VendorFilterDefinition(\"vendor_lightningbox\", [this.services.gamesVendor.getVendor(GameVendorId.V_LightningBox)]),\r\n new VendorFilterDefinition(\"vendor_lnw\", [this.services.gamesVendor.getVendor(GameVendorId.V_LNW), this.services.gamesVendor.getVendor(GameVendorId.V_LNW2)], \"LNW\"),\r\n new VendorFilterDefinition(\"vendor_merkur\", [this.services.gamesVendor.getVendor(GameVendorId.V_Merkur)]),\r\n new VendorFilterDefinition(\"vendor_mga\", [this.services.gamesVendor.getVendor(GameVendorId.V_MGA)]),\r\n new VendorFilterDefinition(\"vendor_netent\", [this.services.gamesVendor.getVendor(GameVendorId.V_NetEnt)]),\r\n new VendorFilterDefinition(\"vendor_nextgen_bigtime\", [this.services.gamesVendor.getVendor(GameVendorId.V_NextGenBigTime)], `Big Time`), //TODO ?\r\n new VendorFilterDefinition(\"vendor_nextgen_chanceinteractive\", [this.services.gamesVendor.getVendor(GameVendorId.V_NextGenChanceInteractive)], `Reel Play`),\r\n new VendorFilterDefinition(\"vendor_nolimitcity\", [this.services.gamesVendor.getVendor(GameVendorId.V_NoLimitCity)]),\r\n new VendorFilterDefinition(\"vendor_playngo\", [this.services.gamesVendor.getVendor(GameVendorId.V_PlayNGo)], `Play'n GO`),\r\n new VendorFilterDefinition(\"vendor_playtech\", [this.services.gamesVendor.getVendor(GameVendorId.V_PlayTech)], `Playtech`),\r\n new VendorFilterDefinition(\"vendor_pragmatic\", [this.services.gamesVendor.getVendor(GameVendorId.V_Pragmatic)]),\r\n new VendorFilterDefinition(\"vendor_quickspin\", [this.services.gamesVendor.getVendor(GameVendorId.V_Quickspin)]),\r\n new VendorFilterDefinition(\"vendor_redrake\", [this.services.gamesVendor.getVendor(GameVendorId.V_RedRake)]),\r\n new VendorFilterDefinition(\"vendor_redtiger\", [this.services.gamesVendor.getVendor(GameVendorId.V_RedTiger)]),\r\n new VendorFilterDefinition(\"vendor_rubyplay\", [this.services.gamesVendor.getVendor(GameVendorId.V_RubyPlay)]),\r\n new VendorFilterDefinition(\"vendor_sigma\", [this.services.gamesVendor.getVendor(GameVendorId.V_Sigma)]),\r\n new VendorFilterDefinition(\"vendor_skywind\", [this.services.gamesVendor.getVendor(GameVendorId.V_Skywind)]),\r\n new VendorFilterDefinition(\"vendor_spribe\", [this.services.gamesVendor.getVendor(GameVendorId.V_Spribe)]),\r\n new VendorFilterDefinition(\"vendor_thunderkick\", [this.services.gamesVendor.getVendor(GameVendorId.V_Thunderkick)]),\r\n new VendorFilterDefinition(\"vendor_wizard\", [this.services.gamesVendor.getVendor(GameVendorId.V_Wizard)]),\r\n new VendorFilterDefinition(\"vendor_wmg\", [this.services.gamesVendor.getVendor(GameVendorId.V_WMG)]),\r\n new VendorFilterDefinition(\"vendor_yggdrasil\", [this.services.gamesVendor.getVendor(GameVendorId.V_Yggdrasil)]),\r\n new VendorFilterDefinition(\"vendor_everi\", [this.services.gamesVendor.getVendor(GameVendorId.V_Everi)]),\r\n new VendorFilterDefinition(\"vendor_push_gaming\", [this.services.gamesVendor.getVendor(GameVendorId.V_PushGaming)], `Push Gaming`),\r\n ];\r\n }\r\n\r\n private _getPreferredVendorFiltersForCurrentSkin(): VendorFilterDefinition[] {\r\n const preferredVendorsFiltersIds = this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredVendorFilters ?? [];\r\n if (preferredVendorsFiltersIds.length === 0) {\r\n return [...this.getAllPreferredVendorsFilters()];\r\n }\r\n\r\n const allPreferredVendorsFiltersMap = this.getAllPreferredVendorsFilters().toDictionary(f => f.id);\r\n const result: VendorFilterDefinition[] = [];\r\n for (let filterId of preferredVendorsFiltersIds) {\r\n const filter = allPreferredVendorsFiltersMap[filterId];\r\n if (filter) {\r\n result.push(filter)\r\n } else {\r\n this.services.logger.error(`There is no definition for game vendor filter with id ${filterId}`)\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const filters = this._getPreferredVendorFiltersForCurrentSkin();\r\n let preferredVendorsIds: number[] = filters.selectMany(f => f.vendors?.map(vendor => vendor?.id));\r\n const otherVendorsIds: number[] = [];\r\n\r\n const allVendorsIds = Object.keys(this.services.sdk.getGamesVendors()).map(id => parseInt(id));\r\n for (let vendorId of allVendorsIds) {\r\n if (!preferredVendorsIds.includes(vendorId)) {\r\n otherVendorsIds.push(vendorId);\r\n }\r\n }\r\n\r\n if (otherVendorsIds.length > 0) {\r\n filters.push(new VendorFilterDefinition('vendor_others', otherVendorsIds.map(vendorId => this.services.gamesVendor.getVendor(vendorId)), this.services.translation.translate('OTHER')));\r\n }\r\n\r\n\r\n return filters;\r\n }\r\n\r\n}\r\n","export enum GameThemeId {\r\n Adventure = 1,\r\n AncientCivilization = 2,\r\n Wildlife = 3,\r\n ClassicStyle = 4,\r\n Asian = 5,\r\n TableGames = 7,\r\n MoviesAndMusic = 8,\r\n Fruit = 12,\r\n MoneyAndLeisure = 15,\r\n ComicsAndCartoons = 16,\r\n Irish = 19,\r\n Arcade = 25,\r\n DiamondsAndGems = 26,\r\n FantasyAndFolklore = 28,\r\n Seasonal = 29,\r\n Egyptian = 30,\r\n FarmAndPets = 35,\r\n Sports = 47,\r\n LiveCasino = 54,\r\n Arabic = 58,\r\n GreekMythology = 63,\r\n NA = 64,\r\n SpaceAndSciFi = 72,\r\n ScratchCards = 76,\r\n Fish = 77,\r\n Mexican = 82,\r\n Xmas = 93,\r\n Bingo = 94,\r\n ClassicStyleModernized = 95,\r\n AztecIncaMayan = 96,\r\n Crime = 97,\r\n WildWest = 98,\r\n CandyAndSweets = 99,\r\n GoldMining = 100,\r\n VikingsAndNordicMythology = 101,\r\n }","import {GameFilterDefinitionBase} from \"./game-filter-definition-base\";\r\nimport {GameInfo} from \"../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport abstract class GameGroupFilterDefinitionBase extends GameFilterDefinitionBase {\r\n protected abstract get gameGroupsIdsToFilterFor(): number[];\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(this.gameGroupsIdsToFilterFor.includes(gameInfo.gameGroupId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class BaccaratFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"baccarat\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.BACCARAT];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BACCARAT');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class BlackjackFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"blackjack\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.BLACKJACK];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('BLACKJACK');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class CrapsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"craps\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.CRAPS];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('CRAPS')\r\n }\r\n}\r\n","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class KenoFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"keno\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.KENO];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('KENO');\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class LiveEliteLungeFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-elite-lounge\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_ELITE_LOUNGE');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.isEliteLounge) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class LiveEliteLoungeOrExclusiveFilterDefinition extends GameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-elite-lounge-or-exclusive\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('EXCLUSIVE');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if(gameInfo.isEliteLounge || gameInfo.isExclusiveGame) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport abstract class LiveGameFilterDefinitionBase extends GameFilterDefinitionBase {\r\n\r\n protected abstract get textToSearchInSubgroupName(): string;\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n if (gameInfo.gameGroupId !== GAME_GROUP.LIVE_CASINO || !gameInfo.subGroupName) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n\r\n const subgroupName = gameInfo.subGroupName.toLowerCase();\r\n if (subgroupName && subgroupName.indexOf(this.textToSearchInSubgroupName) !== -1) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveGameShowsFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-game-shows\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_GAME_SHOWS');\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"shows\";\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class PokerFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"poker\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.VIDEO_POKER, GAME_GROUP.CARRIBEAN_POKER, GAME_GROUP.POKER, GAME_GROUP.PAI_GOW_POKER, GAME_GROUP.POWER_VIDEO_POKER, GAME_GROUP.POKER_TEMPLATE_GAMES];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('POKER');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class RouletteFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"roulette\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.ROULETTE, GAME_GROUP.ROULETTE_LIKE];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('ROULETTE');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class ScratchcardsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n get id(): string {\r\n return \"scratchCards\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.SCRATCH_CARD];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SCRATCHCARDS');\r\n }\r\n}","import {GameGroupFilterDefinitionBase} from \"../game-group-filter-definition-base\";\r\nimport {GAME_GROUP} from \"../../../../../common/const/game_groups_consts\";\r\n\r\nexport class SlotsFilterDefinition extends GameGroupFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"slots\";\r\n }\r\n\r\n protected get gameGroupsIdsToFilterFor(): number[] {\r\n return [GAME_GROUP.VIDEO_SLOT, GAME_GROUP.SLOT];\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('SLOT_GAMES');\r\n }\r\n\r\n}","import {IGameFilterDefinition} from \"../game-filter-definition.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\n\r\nexport class OtherGameGroupFilterDefinition implements IGameFilterDefinition {\r\n constructor(protected readonly services: IServiceFactoryExtended, private gameTypesFilterDefinitions: IGameFilterDefinition[]) {\r\n }\r\n\r\n get id(): string {\r\n return \"other-game-group\";\r\n }\r\n\r\n readonly subFilters: IGameFilterDefinition[] = [];\r\n\r\n get text(): string {\r\n return this.services.translation.translate('OTHER');\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n const categoriesInCurrentArena = this.gameTypesFilterDefinitions;\r\n for(let category of categoriesInCurrentArena) {\r\n if(category.applyFilter(gameInfo) === ApplyGameFilterResult.IncludeGame) {\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n }\r\n \r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveBaccaratFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-baccarat\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"baccarat\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_BACCARAT');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveBlackjackFilterDefinition extends LiveGameFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"live-blackjack\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"blackjack\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_BLACKJACK');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LivePokerFilterDefinition extends LiveGameFilterDefinitionBase {\r\n\r\n get id(): string {\r\n return \"live-poker\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"poker\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_POKER');\r\n }\r\n}","import {LiveGameFilterDefinitionBase} from \"./live-game-filter-definition-base\";\r\n\r\nexport class LiveRouletteFilterDefinition extends LiveGameFilterDefinitionBase {\r\n get id(): string {\r\n return \"live-roulette\";\r\n }\r\n\r\n protected get textToSearchInSubgroupName(): string {\r\n return \"roulette\";\r\n }\r\n\r\n get text(): string {\r\n return this.services.translation.translate('LIVE_ROULETTE');\r\n }\r\n}","import {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {BaccaratFilterDefinition} from \"../filters-definitions/game-group/baccarat.filter-definition\";\r\nimport {BlackjackFilterDefinition} from \"../filters-definitions/game-group/blackjack.filter-definition\";\r\nimport {CrapsFilterDefinition} from \"../filters-definitions/game-group/craps.filter-definition\";\r\nimport {KenoFilterDefinition} from \"../filters-definitions/game-group/keno.filter-definition\";\r\nimport {LiveEliteLungeFilterDefinition} from \"../filters-definitions/game-group/live-elite-lunge.filter-definition\";\r\nimport {\r\n LiveEliteLoungeOrExclusiveFilterDefinition\r\n} from \"../filters-definitions/game-group/live-elite-lounge-or-exclusive.filter-definition\";\r\nimport {LiveGameShowsFilterDefinition} from \"../filters-definitions/game-group/live-game-shows.filter-definition\";\r\nimport {PokerFilterDefinition} from \"../filters-definitions/game-group/poker.filter-definition\";\r\nimport {RouletteFilterDefinition} from \"../filters-definitions/game-group/roulette.filter-definition\";\r\nimport {ScratchcardsFilterDefinition} from \"../filters-definitions/game-group/scratchcards.filter-definition\";\r\nimport {SlotsFilterDefinition} from \"../filters-definitions/game-group/slots.filter-definition\";\r\nimport {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {OtherGameGroupFilterDefinition} from \"../filters-definitions/game-group/other-game-group.filter-definition\";\r\nimport {LiveBaccaratFilterDefinition} from \"../filters-definitions/game-group/live-baccarat.filter-definition\";\r\nimport {LiveBlackjackFilterDefinition} from \"../filters-definitions/game-group/live-blackjack.filter-definition\";\r\nimport {LivePokerFilterDefinition} from \"../filters-definitions/game-group/live-poker.filter-definition\";\r\nimport {LiveRouletteFilterDefinition} from \"../filters-definitions/game-group/live-roulette.filter-definition\";\r\n\r\nexport class GameGroupFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'gameGroups';\r\n }\r\n\r\n get title(): string{\r\n return this.services.translation.translate('GAME_CATEGORIES');\r\n }\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const filters: IGameFilterDefinition[] = [\r\n new SlotsFilterDefinition(this.services),\r\n new RouletteFilterDefinition(this.services),\r\n new BlackjackFilterDefinition(this.services),\r\n new PokerFilterDefinition(this.services),\r\n new ScratchcardsFilterDefinition(this.services),\r\n new BaccaratFilterDefinition(this.services),\r\n new CrapsFilterDefinition(this.services),\r\n new KenoFilterDefinition(this.services),\r\n new LiveBaccaratFilterDefinition(this.services),\r\n new LiveBlackjackFilterDefinition(this.services),\r\n new LiveRouletteFilterDefinition(this.services),\r\n new LivePokerFilterDefinition(this.services),\r\n new LiveGameShowsFilterDefinition(this.services),\r\n new LiveEliteLungeFilterDefinition(this.services),\r\n new LiveEliteLoungeOrExclusiveFilterDefinition(this.services),\r\n ];\r\n return filters.concat(new OtherGameGroupFilterDefinition(this.services, filters));\r\n }\r\n\r\n\r\n}","import {ApplyGameFilterResult} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {GameInfo} from \"../../../games/game-info\";\r\nimport {GameFilterDefinitionBase} from \"../game-filter-definition-base\";\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {GameThemeDefinition} from \"../../../game-theme/game-theme-definition/game-theme-definition\";\r\n\r\nexport class GameThemeFilterDefinition extends GameFilterDefinitionBase {\r\n constructor(public readonly id: string,\r\n protected readonly services: IServiceFactoryExtended,\r\n private _gameThemeDefinition: GameThemeDefinition,\r\n linkedThemeIds?: number[]) {\r\n super(services);\r\n this._themeIds = [this._gameThemeDefinition.id, ...(linkedThemeIds || [])]\r\n }\r\n\r\n private readonly _themeIds: number[];\r\n\r\n get text(): string {\r\n return this._gameThemeDefinition.name;\r\n }\r\n\r\n applyFilter(gameInfo: GameInfo): ApplyGameFilterResult {\r\n for(let themeId of gameInfo.themeIds) {\r\n if(this._themeIds.includes(themeId)) {\r\n return ApplyGameFilterResult.IncludeGame;\r\n }\r\n }\r\n return ApplyGameFilterResult.ExcludeGame;\r\n }\r\n}","import {FilterCategoryDefinitionBase} from \"./filter-category-definition-base\";\r\nimport {IGameFilterDefinition} from \"../filters-definitions/game-filter-definition.interface\";\r\nimport {GameThemeFilterDefinition} from \"../filters-definitions/theme/game-theme.filter-definition\";\r\nimport {CategoryDefinitionId} from \"./filter-category-definition.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {GameThemeId} from \"../../game-theme/game-theme-id.enum\";\r\n\r\nexport class GameThemeFiltersCategoryDefinition extends FilterCategoryDefinitionBase {\r\n\r\n get id(): CategoryDefinitionId {\r\n return 'themes';\r\n }\r\n\r\n get title(): string {\r\n return this.services.translation.translate('THEMES');\r\n }\r\n\r\n get hasItsOwnFiltersOrder(): boolean {\r\n return !Check.isEmpty(this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredThemeFilters);\r\n }\r\n\r\n private _getPreferredThemeFilters(): GameThemeFilterDefinition[] {\r\n return [\r\n new GameThemeFilterDefinition(\"theme_adventure\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Adventure)),\r\n new GameThemeFilterDefinition(\"theme_ancient-civilization\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.AncientCivilization)),\r\n new GameThemeFilterDefinition(\"theme_wildlife\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Wildlife)),\r\n new GameThemeFilterDefinition(\"theme_classic_style\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.ClassicStyle), [GameThemeId.ClassicStyleModernized]),\r\n new GameThemeFilterDefinition(\"theme_asian\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Asian)),\r\n new GameThemeFilterDefinition(\"theme_arabic\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Arabic)),\r\n new GameThemeFilterDefinition(\"theme_comics_and_cartoons\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.ComicsAndCartoons)),\r\n new GameThemeFilterDefinition(\"theme_diamonds_and_gems\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.DiamondsAndGems)),\r\n new GameThemeFilterDefinition(\"theme_egyptian\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Egyptian)),\r\n new GameThemeFilterDefinition(\"theme_fantasy_and_folklore\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.FantasyAndFolklore)),\r\n new GameThemeFilterDefinition(\"theme_farm_and_pets\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.FantasyAndFolklore)),\r\n new GameThemeFilterDefinition(\"theme_fish\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Fish)),\r\n new GameThemeFilterDefinition(\"theme_fruit_and_candy\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Fruit)),\r\n new GameThemeFilterDefinition(\"theme_greek_mythology\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.GreekMythology)),\r\n new GameThemeFilterDefinition(\"theme_irish\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Irish)),\r\n new GameThemeFilterDefinition(\"theme_money_and_leisure\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.MoneyAndLeisure)),\r\n new GameThemeFilterDefinition(\"theme_movies_and_music\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.MoviesAndMusic)),\r\n new GameThemeFilterDefinition(\"theme_seasonal\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Seasonal)),\r\n new GameThemeFilterDefinition(\"theme_space_and_sci-fi\", this.services, this.services.gamesTheme.getGameThemeDefinition(GameThemeId.Seasonal)),\r\n ];\r\n }\r\n\r\n\r\n protected _loadAvailableFilters(): IGameFilterDefinition[] {\r\n const preferredThemeFilters = this.services.configuration.data.generalSettings.filters?.advancedFilters?.preferredThemeFilters;\r\n if (Check.isEmpty(preferredThemeFilters)) {\r\n return this._getPreferredThemeFilters();\r\n }\r\n\r\n const themesDictionary = this._getPreferredThemeFilters().toDictionary(f => f.id);\r\n\r\n const result: IGameFilterDefinition[] = [];\r\n for (let filterId of preferredThemeFilters) {\r\n const filter = themesDictionary[filterId];\r\n if (filter) {\r\n result.push(filter);\r\n } else {\r\n this.services.logger.error(`There is no filter definition for filter with ID ${filterId}`);\r\n }\r\n }\r\n\r\n return result;\r\n\r\n }\r\n}","export enum LocalStorageKeys {\r\n currentRunningGameTab = 'cgp_CURRENT_RUNNING_GAME_TAB',\r\n currentRunningGameType = 'cgp_CURRENT_RUNNING_GAME_TYPE',\r\n uccMessages = 'cgp_ucc',\r\n crossBrandSpecificNavigationInfo = 'orbit_crossBrandSpecificNavigation'\r\n}","import {IFilterCategoryDefinitionFactory} from \"./filter-category-definition-factory.interface\";\r\nimport {CategoryDefinitionId, IFilterCategoryDefinition} from \"./filter-category-definition.interface\";\r\nimport {VolatilityFiltersCategoryDefinition} from \"./volatility.filters-category-definition\";\r\nimport {GameFeaturesFiltersCategoryDefinition} from \"./game-features.filters-category-definition\";\r\nimport {HasJackpotFiltersCategoryDefinition} from \"./has-jackpot.filters-category-definition\";\r\nimport {GameVendorFiltersCategoryDefinition} from \"./game-vendor.filters-category-definition\";\r\nimport {GameGroupFiltersCategoryDefinition} from \"./game-group.filters-category-definition\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\n\r\nimport {GameThemeFiltersCategoryDefinition} from \"./game-theme.filters-category-definition\";\r\n\r\nexport class FilterCategoryDefinitionFactory implements IFilterCategoryDefinitionFactory {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n createCategoryDefinition(categoryDefinitionId: CategoryDefinitionId): IFilterCategoryDefinition | null {\r\n switch (categoryDefinitionId) {\r\n case \"volatility\":\r\n return new VolatilityFiltersCategoryDefinition(this.services);\r\n case \"features\":\r\n return this.createGameFeaturesCategoryDefinition();\r\n case \"hasJackpot\":\r\n return new HasJackpotFiltersCategoryDefinition(this.services);\r\n case \"themes\":\r\n return new GameThemeFiltersCategoryDefinition(this.services);\r\n case \"vendors\":\r\n return this.createVendorsCategoryDefinition();\r\n case \"gameGroups\":\r\n return this.createGameGroupCategoryDefinition();\r\n default:\r\n this.services.logger.error(`There is no filters category definition for id ${categoryDefinitionId}`);\r\n return null;\r\n }\r\n }\r\n\r\n createVendorsCategoryDefinition(): IFilterCategoryDefinition {\r\n return new GameVendorFiltersCategoryDefinition(this.services);\r\n }\r\n\r\n createGameGroupCategoryDefinition(): IFilterCategoryDefinition {\r\n return new GameGroupFiltersCategoryDefinition(this.services);\r\n }\r\n\r\n createGameFeaturesCategoryDefinition(): IFilterCategoryDefinition {\r\n return new GameFeaturesFiltersCategoryDefinition(this.services);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {GamesFilterStrategyBase} from \"../games-filter-strategy-base\";\r\nimport {AdvancedGamesFilterDrawerRenderer} from \"./advanced-games-filter-drawer-renderer\";\r\nimport {AdvancedStrategyFiltersEditor} from \"./advanced-strategy-filters-editor\";\r\nimport {IArenaGameFiltersCategory} from \"../../arena-filters/categories/arena-game-filters-category.interface\";\r\nimport {ApplyGameFilterResult, IGameFilterEvaluator} from \"../../evaluators/game-filter-evaluator.interface\";\r\nimport {AND} from \"../../evaluators/and-game-filters-evaluator\";\r\nimport {\r\n FiltersMobileButtonComponent\r\n} from \"../../../../components/header/top-header-left/filters/filters-mobile-button.component\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {\r\n IPcFilterIndicatorRenderingOptions,\r\n PcFilterIndicatorRenderingLocation\r\n} from \"../../games-filter.service.interface\";\r\nimport {\r\n AppliedFiltersPcIndicatorForAdvancedFilteringComponent\r\n} from \"../../../../components/filters/advanced-filtering/indicators/pc-indicator/applied-filters-pc-indicator-for-advanced-filtering.component\";\r\nimport {DynamicArenaGameFiltersCategory} from \"../../arena-filters/categories/dynamic-arena-game-filters-category\";\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {FilterCategoryDefinitionFactory} from '../../filters-categories-definitions/filter-category-definition-factory';\r\nimport {IFilterCategoryDefinition} from '../../filters-categories-definitions/filter-category-definition.interface';\r\nimport {IServiceFactoryExtended} from \"../../../service-factory-extended.interface\";\r\nimport {AdvancedFiltersAnalytics} from \"./advanced-filters-analytics\";\r\nimport {GamesMap} from \"../../../games/games.service.interface\";\r\n\r\nexport class AdvancedGamesFilterStrategy extends GamesFilterStrategyBase {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n this._analyticsReporter = new AdvancedFiltersAnalytics(this.services);\r\n }\r\n\r\n private _factory = new FilterCategoryDefinitionFactory(this.services);\r\n private readonly _analyticsReporter: AdvancedFiltersAnalytics;\r\n\r\n protected _createFiltersCategories(): IArenaGameFiltersCategory[] {\r\n const arenaName = this.services.routing.currentRoute.data?.arenaType;\r\n if (!arenaName) {\r\n return [];\r\n }\r\n\r\n const categories = this.services.configuration.data.arenas[arenaName]?.advancedFilters?.categories;\r\n if (!Check.isArray(categories)) {\r\n return [];\r\n }\r\n \r\n const filters: IArenaGameFiltersCategory[] = [];\r\n categories.forEach(category => {\r\n if (category?.id) {\r\n const filterCategoryDef = this._factory.createCategoryDefinition(category.id);\r\n if(filterCategoryDef) {\r\n filters.push(this._createArenaGameFiltersCategory(filterCategoryDef));\r\n } else {\r\n this.services.logger.error(`There is no filter category definition for id ${category.id}`);\r\n }\r\n }\r\n });\r\n\r\n return filters;\r\n }\r\n\r\n protected _createArenaGameFiltersCategory(filterCategoryDef: IFilterCategoryDefinition): IArenaGameFiltersCategory {\r\n return new DynamicArenaGameFiltersCategory(filterCategoryDef, this.services);\r\n }\r\n\r\n protected _createEvaluator(filterIDS?: string[]): IGameFilterEvaluator | null {\r\n return AND(...this.filtersCategories);\r\n }\r\n\r\n private _createFiltersEditor() {\r\n return new AdvancedStrategyFiltersEditor(this.filtersCategories, this.services);\r\n }\r\n\r\n protected _reportApplyFiltersAnalytics(): void {\r\n const appliedFilters: Record = {};\r\n this.filtersCategories.forEach(category => {\r\n const appliedFiltersInCategory = category.allAppliedFiltersAndSubFilters;\r\n if(appliedFiltersInCategory.length > 0) {\r\n appliedFilters[category.id] = appliedFiltersInCategory.map(f => f.id);\r\n }\r\n })\r\n const gamesCount = this.services.arenas.getCurrentArena().filteredGamesCount;\r\n this._analyticsReporter.reportApplyFilters({\r\n gamesCount: gamesCount,\r\n appliedFilters: appliedFilters\r\n });\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n } else {\r\n return {\r\n location: PcFilterIndicatorRenderingLocation.NextToArenaTitle,\r\n reactElement: ()\r\n };\r\n }\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this.services.drawer.right.push(new AdvancedGamesFilterDrawerRenderer(this.services, this._createFiltersEditor()));\r\n }\r\n\r\n 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(filterIDS);\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 IPcFilterIndicatorRenderingOptions,\r\n PcFilterIndicatorRenderingLocation\r\n} from \"../../games-filter.service.interface\";\r\nimport {\r\n FiltersGamesListPcComponent\r\n} from \"../../../../components/filters/filters-games-list-pc/filters-games-list-pc.component\";\r\nimport {Nullable} from \"../../../../../common/types/nullable-types\";\r\nimport {FilterCategoryDefinitionFactory} from '../../filters-categories-definitions/filter-category-definition-factory';\r\nimport {AdhocArenaGamesFiltersCategory} from \"../../arena-filters/categories/adhoc-arena-games-filters-category\";\r\n\r\nexport class SimpleGamesFilterStrategy extends GamesFilterStrategyBase {\r\n\r\n private _factory = new FilterCategoryDefinitionFactory(this.services);\r\n\r\n private _vendorCategory = new Lazy(() => new StaticArenaGameFiltersCategory(this._factory.createVendorsCategoryDefinition(), this.services));\r\n private _groupCategory = new Lazy(() => new StaticArenaGameFiltersCategory(this._factory.createGameGroupCategoryDefinition(), this.services));\r\n private _featuresCategory = new Lazy(() => new StaticArenaGameFiltersCategory(this._factory.createGameFeaturesCategoryDefinition(), this.services));\r\n private _othersCategory = new Lazy(() => new StaticArenaGameFiltersCategory(new OtherFiltersCategoryDefinition([this._vendorCategory.value, this._groupCategory.value, this._featuresCategory.value], this.services), this.services));\r\n private _adhocCategory = new Lazy(() => new AdhocArenaGamesFiltersCategory(this.services));\r\n\r\n protected _createFiltersCategories(): IArenaGameFiltersCategory[] {\r\n return [\r\n this._vendorCategory.value,\r\n this._groupCategory.value,\r\n this._featuresCategory.value,\r\n this._othersCategory.value,\r\n this._adhocCategory.value\r\n ];\r\n }\r\n\r\n protected _createEvaluator(): IGameFilterEvaluator | null {\r\n return OR(AND(this._vendorCategory.value,\r\n this._groupCategory.value,\r\n this._featuresCategory.value,\r\n this._adhocCategory.value),\r\n this._othersCategory.value);\r\n }\r\n\r\n private _createFiltersEditor(): SimpleStrategyFiltersEditor {\r\n return new SimpleStrategyFiltersEditor(this.filtersCategories, this.services);\r\n }\r\n\r\n showFiltersEditor(): void {\r\n this.services.dialog.showModal((dialogHandler) => , {\r\n title: this.services.translation.translate('FILTER'),\r\n mobileCenterHeader: true,\r\n applyMaxHeight: true\r\n });\r\n }\r\n\r\n renderMobileFiltersIndicator(): React.ReactElement {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return ();\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n renderPCFiltersIndicator(): Nullable {\r\n if(this.services.mediaQuery.lAndBelow) {\r\n return null;\r\n } else {\r\n return {\r\n location: PcFilterIndicatorRenderingLocation.BelowArenaTitle,\r\n reactElement: ()\r\n };\r\n }\r\n }\r\n\r\n protected _reportApplyFiltersAnalytics(): void {\r\n // we don't report analytics for simple filters\r\n }\r\n\r\n getNumberOfGamesBeforeUserApply(filterIDS: string[]): number {\r\n return 0;\r\n }\r\n}","import React from \"react\";\r\nimport {ArenaBaseModel} from \"../arena-base.model\";\r\nimport {\r\n ArenaConfiguration, ArenaGamesGridConfiguration,\r\n SwiperGamesListConfiguration\r\n} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {CasinoArenaComponent} from \"../../../../../components/arena-host/casino-arena/casino-arena.component\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {\r\n CASINO_GAMES_ARENA_NAME,\r\n EXCLUSIVE_ARENA_NAME,\r\n JACKPOTS_ARENA_NAME,\r\n SLOTS_ARENA_NAME\r\n} from \"../../../arena-consts\";\r\nimport { computed, makeObservable } from \"mobx\";\r\nimport {ArenaFiltersConfigurationMap} from \"../arena-view-model.interface\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {\r\n AdvancedGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/advanced-filter/advanced-games-filter.strategy\";\r\nimport {\r\n SimpleGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/simple-games-filter/simple-games-filter.strategy\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {ListsSortOrderStorage} from \"../../lists-sort-order-storage\";\r\n\r\nexport class CasinoLobbyArenaModel extends ArenaBaseModel {\r\n constructor(arenaName: string,\r\n services: IServiceFactoryExtended,\r\n postLoginListsSortOrderStorage: ListsSortOrderStorage) {\r\n super(arenaName, services, postLoginListsSortOrderStorage);\r\n\r\n makeObservable(this);\r\n }\r\n\r\n get maxSwipersToShow(): number {\r\n return 20;\r\n }\r\n\r\n get maxGamesToShowInList(): number {\r\n return 30;\r\n }\r\n\r\n private get config(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName]\r\n }\r\n\r\n protected _getSwipersConfigurations(): SwiperGamesListConfiguration[] {\r\n return this.config.swiperGamesList || [];\r\n }\r\n\r\n protected _getGridsConfigurations(): ArenaGamesGridConfiguration[] {\r\n return this.config.allGamesGrid || [];\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return ;\r\n }\r\n\r\n protected _getPromotionalBannerConfig() {\r\n const bannerConfig = this.config.promotionalBanner;\r\n if(!bannerConfig) {\r\n return null;\r\n }\r\n\r\n if(this.services.device.hybrid.isEmbedded) {\r\n return null;\r\n }\r\n\r\n return {\r\n position: bannerConfig.displayListPlace || 2,\r\n templateID: bannerConfig.templateID,\r\n componentID: bannerConfig.componentID,\r\n fallbackComponent: bannerConfig.fallbackComponent,\r\n bannerAdminPlaceholderId: bannerConfig.bannerAdminPlaceholderId\r\n }\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n switch (this.arenaName) {\r\n case SLOTS_ARENA_NAME:\r\n case JACKPOTS_ARENA_NAME:\r\n return gamesInfo.filter(g => g.isVideoSlot);\r\n case EXCLUSIVE_ARENA_NAME:\r\n return gamesInfo.filter(g => g.isVideoSlot || g.isCasinoGame);\r\n case CASINO_GAMES_ARENA_NAME:\r\n return gamesInfo.filter(g => g.isCasinoGame);\r\n\r\n default:\r\n return gamesInfo.filter(g => !g.isLiveCasino);\r\n }\r\n }\r\n @computed\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.config.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n if (this.useAdvancedFilters) {\r\n return new AdvancedGamesFilterStrategy(this.services);\r\n }\r\n return new SimpleGamesFilterStrategy(this.services);\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\n\r\nexport class VoidArenaModel implements IArenaViewModel {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n get arenaName(): string {\r\n return 'voidArena';\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly allArenaGamesForFiltering: GameInfo[] = [];\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n readonly filtersConfigurationMap: ArenaFiltersConfigurationMap = {};\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {IGamesListModel} from \"./lists/games-list-model.interface\";\r\n\r\nconst POST_LOGIN_LISTS_ORDER_KEY = \"cgp-post-login-lists-order\";\r\n\r\ninterface IPostLoginListsOrder {\r\n lists: Record;\r\n}\r\n\r\nexport class ListsSortOrderStorage {\r\n constructor(private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n private _createEmptyListsOrder(): IPostLoginListsOrder {\r\n return {\r\n lists: {}\r\n };\r\n }\r\n\r\n private _listsSavedOrder: IPostLoginListsOrder = null;\r\n private _getSavedListsOrder(): IPostLoginListsOrder {\r\n if(!this._listsSavedOrder) {\r\n this._listsSavedOrder = this.services.localStorage.getJson(POST_LOGIN_LISTS_ORDER_KEY) || this._createEmptyListsOrder();\r\n }\r\n return this._listsSavedOrder;\r\n }\r\n\r\n saveSortOrder(arenaName: string, lists: IGamesListModel[]): void {\r\n const listsOrder = this._getSavedListsOrder();\r\n listsOrder.lists[arenaName] = lists.map(list => list.title.translationKey);\r\n this.services.localStorage.setJson(POST_LOGIN_LISTS_ORDER_KEY, listsOrder);\r\n }\r\n\r\n sortLists(arenaName: string, lists: IGamesListModel[]): IGamesListModel[] {\r\n const arenaListsOrder = this._getSavedListsOrder().lists[arenaName] || [];\r\n if(arenaListsOrder.length === 0) {\r\n return lists;\r\n }\r\n\r\n const listsOrderMap = arenaListsOrder.reduce>((map, listTitle, index) => {\r\n map[listTitle] = index;\r\n return map;\r\n }, {});\r\n\r\n\r\n return lists.sort((l1, l2) => (listsOrderMap[l1.title.translationKey] || 0) - (listsOrderMap[l2.title.translationKey] || 0));\r\n\r\n }\r\n}","import styled from \"styled-components\";\r\n\r\nexport const LiveCasinoFilterButtonIconDefaultBox = styled.div<{isActiveTab?: boolean}>`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 5em;\r\n width: 100%;\r\n color: ${({theme, isActiveTab}) => isActiveTab ? theme.colors.brandPrimary : theme.colors.textLight};\r\n transform: scale(${({isActiveTab}) => isActiveTab ? 1 : 0.8});\r\n transition: transform 0.25s ease;\r\n\r\n :hover {\r\n transform: scale(1);\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\n\r\nexport const LiveCasinoFilterIconSIBox = styled(LiveCasinoFilterButtonIconDefaultBox)`\r\n color: ${({theme}) => theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\n\r\nexport const LiveCasinoFilterIconMrGreenBox = styled(LiveCasinoFilterButtonIconDefaultBox)`\r\n transform: scale(1);\r\n color: ${({theme, isActiveTab}) => isActiveTab ? theme.colors.textActive : theme.colors.textLight};\r\n`;","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonIconDefaultBox} from \"./live-casino-filter-button-icon.default.box\";\r\nimport {LiveCasinoFilterIconSIBox} from \"./live-casino-filter-button-icon.si.box\";\r\nimport {LiveCasinoFilterIconMrGreenBox} from \"./live-casino-filter-button-icon.mrgreen.box\";\r\n\r\nexport const LiveCasinoFilterButtonIconBox = styledByTheme(LiveCasinoFilterButtonIconDefaultBox)\r\n .forSI(LiveCasinoFilterIconSIBox)\r\n .forSICis(LiveCasinoFilterIconSIBox)\r\n .forMrGreen(LiveCasinoFilterIconMrGreenBox)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nconst DefaultBox = styled.div`\r\n margin-top: 1em;\r\n color: ${props => props.theme.components.newLiveCasino.colors.filterButtonLabel};\r\n font-size: 1.2em;\r\n text-align: center;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n transition: color 0.25s ease;\r\n\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n \r\n &.${ACTIVE} {\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n`;\r\n\r\nconst PCBox = DefaultBox;\r\n\r\nconst MobileBox = styled(DefaultBox)`\r\n line-height: 1;\r\n`;\r\n\r\nexport const LiveCasinoFilterButtonLabelDefaultBox = styledByDevice(PCBox,MobileBox);","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoFilterButtonLabelCasino777Box = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n font-size: 1.6em;\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.components.newLiveCasino.colors.filterButtonLabel};\r\n ${({theme}) => theme.font.presets.bold};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {baseColors} from \"../../../../../../themes/definitions/si/base-colors\";\r\n\r\nexport const LiveCasinoFilterButtonLabelSIBox = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${baseColors.base04};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoFilterButtonLabelMrGreenBox = styled(LiveCasinoFilterButtonLabelDefaultBox)`\r\n &.${ACTIVE} {\r\n color: ${({theme}) => theme.colors.brandSecondaryLight};\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoFilterButtonLabelDefaultBox} from \"./live-casino-filter-button-label.default.box\";\r\nimport {LiveCasinoFilterButtonLabelCasino777Box} from \"./live-casino-filter-button-label.casino777.box\";\r\nimport {LiveCasinoFilterButtonLabelSIBox} from \"./live-casino-filter-button-label.si.box\";\r\nimport {LiveCasinoFilterButtonLabelMrGreenBox} from \"./live-casino-filter-button-label.mrgreen.box\";\r\n\r\nexport const LiveCasinoFilterButtonLabelBox = styledByTheme(LiveCasinoFilterButtonLabelDefaultBox)\r\n .forCasino777(LiveCasinoFilterButtonLabelCasino777Box)\r\n .forSI(LiveCasinoFilterButtonLabelSIBox)\r\n .forSICis(LiveCasinoFilterButtonLabelSIBox)\r\n .forMrGreen(LiveCasinoFilterButtonLabelMrGreenBox)\r\n .apply();\r\n","import styled from \"styled-components\";\r\nimport {Link} from \"../../../../../raw-components/link/link\";\r\nimport { CssRule } from \"../../../../../../themes/architecture/css-helpers/css-rule\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonDefaultBox = styled(Link)`\r\n display: flex;\r\n margin: 0 0.25em;\r\n padding: 1em 1em 0 1em;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-width: 88px;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n margin: 0;\r\n padding: 1em;\r\n border-right: 1px solid ${props => props.theme.colors.boxBorderDark};\r\n background-color: ${props => props.theme.components.newLiveCasino.colors.filterButtonBackground};\r\n\r\n &:last-child {\r\n border: none;\r\n }\r\n\r\n ${CssRule.For.mobile.landscape.build()} &, ${CssRule.For.ipad.build()} & {\r\n flex: 1;\r\n }\r\n\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { hexToRgba } from \"../../../../../../themes/hex-to-rgba\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonCasino777Box = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &:first-child {\r\n border-left: none;\r\n border-right: 1px solid ${({theme}) => hexToRgba(theme.colors.brandSecondary, 0.6)};\r\n }\r\n &:last-child {\r\n border-left: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.6)};\r\n border-right: none;\r\n }\r\n\r\n border-left: 1px solid ${props => hexToRgba(props.theme.colors.brandSecondaryDark, 0.6)};\r\n border-right: 1px solid ${({theme}) => hexToRgba(theme.colors.brandSecondary, 0.6)};\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonSIBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &.${ACTIVE} {\r\n background-color: ${({theme}) => theme.colors.iconBackgroundActive};\r\n }\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { LiveCasinoArenaNavbarButtonDefaultBox } from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {ACTIVE} from \"../../../../../../themes/css-global-classes\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonMrGreenBox = styled(LiveCasinoArenaNavbarButtonDefaultBox)`\r\n @media ${({theme}) => theme.mediaQuery.lAndBelow} {\r\n &.${ACTIVE} {\r\n box-shadow: inset 3px 0px 4px rgba(25, 25, 25, 0.7), inset -3px 0px 4px rgba(25, 25, 25, 0.7);\r\n }\r\n }\r\n`;\r\n","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {LiveCasinoArenaNavbarButtonDefaultBox} from \"./live-casino-arena-navbar-button.default.box\";\r\nimport {LiveCasinoArenaNavbarButtonCasino777Box} from \"./live-casino-arena-navbar-button.casino777.box\";\r\nimport {LiveCasinoArenaNavbarButtonSIBox} from \"./live-casino-arena-navbar-button.si.box\";\r\nimport {LiveCasinoArenaNavbarButtonMrGreenBox} from \"./live-casino-arena-navbar-button.mrgreen.box\";\r\n\r\nexport const LiveCasinoArenaNavbarButtonBox = styledByTheme(LiveCasinoArenaNavbarButtonDefaultBox)\r\n .forCasino777(LiveCasinoArenaNavbarButtonCasino777Box)\r\n .forSI(LiveCasinoArenaNavbarButtonSIBox)\r\n .forSICis(LiveCasinoArenaNavbarButtonSIBox)\r\n .forMrGreen(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .forMrGreenCis(LiveCasinoArenaNavbarButtonMrGreenBox)\r\n .apply();\r\n","import React, {RefObject} from \"react\";\r\nimport classNames from \"classnames\";\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from \"mobx-react\";\r\nimport {LiveCasinoFilterButtonIconBox} from \"./boxes/live-casino-filter-button-icon/live-casino-filter-button-icon.box\";\r\nimport {LiveCasinoFilterButtonLabelBox} from \"./boxes/live-casino-filter-button-label/live-casino-filter-button-label.box\";\r\nimport {ACTIVE} from \"../../../../themes/css-global-classes\";\r\nimport {LiveCasinoArenaNavbarButtonBox} from \"./boxes/live-casino-arena-navbar-button/live-casino-arena-navbar-button.box\";\r\nimport {Link} from \"../../../raw-components/link/link\";\r\n\r\nexport interface LiveCasinoArenaNavbarButtonProps {\r\n labelTranslationKey: string;\r\n filter: string;\r\n isActiveTab: boolean;\r\n seoPage: string;\r\n buttonLabelRef: RefObject;\r\n onClick: () => void;\r\n};\r\n\r\nexport const LiveCasinoArenaNavbarButton = observer(\r\n class LiveCasinoArenaNavbarButton extends OrbitComponent {\r\n\r\n private buttonIconMap = new Map([\r\n [\"TOP_EVO_GAMES\", this.services.theme.currentTheme.icons.topGamesIcon],\r\n [\"ROULETTE\", this.services.theme.currentTheme.icons.rouletteIcon],\r\n [\"POKER_GAMES\", this.services.theme.currentTheme.icons.pokerIcon],\r\n [\"BLACKJACK\", this.services.theme.currentTheme.icons.blackjackIcon],\r\n [\"BACCARAT\", this.services.theme.currentTheme.icons.baccaratIcon],\r\n [\"ELITE_LOUNGE\", this.services.theme.currentTheme.icons.eliteLoungeIcon],\r\n [\"GAME_SHOWS\", this.services.theme.currentTheme.icons.gameShowsIcon],\r\n [\"NEW_GAMES\", this.services.theme.currentTheme.icons.newGamesIcon],\r\n [\"EXCLUSIVE\", this.services.theme.currentTheme.icons.tripleEightExclusiveIcon],\r\n [\"SPEED_GAMES\", this.services.theme.currentTheme.icons.speedGames]\r\n ]);\r\n\r\n private _getButtonIcon() {\r\n return this.buttonIconMap.get(this.props.labelTranslationKey);\r\n }\r\n\r\n private _getLabelTranslationKey(): string {\r\n //this if is a duplicate with the one in live-casino-arena-grid.component.tsx\r\n // in the future we should look for a way to refactor this for_you logic and have it come from the admin somehow, have only one source of truth\r\n let currentTranslationKey = this.props.labelTranslationKey;\r\n if (this.services.user.isAuthorized && currentTranslationKey === \"TOP_EVO_GAMES\") {\r\n currentTranslationKey = \"FOR_YOU_GAMES\";\r\n }\r\n\r\n return currentTranslationKey;\r\n }\r\n\r\n onFilterClicked(isActive: boolean) {\r\n if (!isActive) {\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", \"Live Tab\", this._getLabelTranslationKey());\r\n this.props && this.props.onClick();\r\n }\r\n }\r\n\r\n render() {\r\n let IconComponent = this._getButtonIcon();\r\n return (\r\n this.onFilterClicked(this.props.isActiveTab)}\r\n >\r\n \r\n \r\n \r\n \r\n {this.services.translation.translate(this._getLabelTranslationKey())}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {NewLiveCasinoConfiguration} from '../../../services/configurations/config-data-sections/arenas.configuration';\r\nimport {TopImageComponent} from '../../top-image/top-image.component';\r\nimport {SeoBreadCrumbsComponent} from '../seo-bread-crumbs/seo-bread-crumbs.component';\r\nimport {LiveCasinoArenaNavbar} from \"./live-casino-arena-navbar/live-casino-arena-navbar.component\";\r\nimport {LiveCasinoArenaGrid} from \"./live-casino-arena-grid/live-casino-arena-grid.component\";\r\nimport {OrbitComponentWithState} from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport {IStickyHandler} from \"../../sticky-handler/sticky-handler.interface\";\r\nimport {LiveCasinoArenaNavbarButton} from \"./live-casino-arena-navbar/live-casino-arena-navbar-button.component\";\r\nimport {LIVE_CASINO_PAGE_WRAPPER} from '../../../themes/css-global-classes';\r\nimport {LinkToOfferComponent} from \"../../link-to-offer/link-to-offer.component\";\r\nimport {DailyDealComponent} from \"../../daily-deal/daily-deal.component\";\r\nimport {FreeToPlayAnimatedIconComponent} from '../../free-to-play-animated-icon/free-to-play-animated-icon.component';\r\n\r\nexport interface NewLiveCasinoArenaComponentProps {\r\n configs: NewLiveCasinoConfiguration;\r\n arenaName: string;\r\n}\r\n\r\nexport interface INewLiveCasinoArenaComponentState {\r\n}\r\n\r\nconst SEO_CATEGORY = 'LIVE_CASINO_NEW';\r\n\r\nexport const NewLiveCasinoArenaComponent = observer(\r\n class NewLiveCasinoArenaComponent extends OrbitComponentWithState {\r\n\r\n private _stickyHandler: IStickyHandler;\r\n private _topImageRef = React.createRef();\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.user.isAuthorized,\r\n () => this.services.liveTableFeeds.updateAiRecommendedLiveGames(),\r\n {fireImmediately: true}\r\n );\r\n }\r\n\r\n private get stickyHandler(): IStickyHandler {\r\n if (!this._stickyHandler && this._topImageRef?.current) {\r\n this._stickyHandler = this.services.stickyHandlerFactory.createStickyHandler();\r\n } else {\r\n return this.services.stickyHandlerFactory.createStickyHandler();\r\n }\r\n\r\n return this._stickyHandler;\r\n }\r\n\r\n private _renderLinkToOffer() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n\r\n \r\n\r\n {\r\n this.services.liveTableFeeds.isNavbarVisible && \r\n }\r\n\r\n \r\n\r\n \r\n\r\n {this._renderLinkToOffer()}\r\n \r\n
    \r\n );\r\n\r\n\r\n }\r\n }\r\n);\r\n","import {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {NewLiveCasinoArenaComponent} from \"../../../../../components/arena-host/new-live-casino-arena/new-live-casino-arena.component\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {\r\n SimpleGamesFilterStrategy\r\n} from \"../../../../games-filter/strategies/simple-games-filter/simple-games-filter.strategy\";\r\n\r\nexport class NewLiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string,\r\n private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena(): React.ReactElement | null {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new SimpleGamesFilterStrategy(this.services);\r\n }\r\n\r\n}","import React from \"react\";\r\nimport {OrbitSuspense} from \"../../../../../components/base-components/orbit-suspense/orbit-suspense\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {ArenaFiltersConfigurationMap, IArenaViewModel} from \"../arena-view-model.interface\";\r\nimport {GameInfo} from \"../../../../games/game-info\";\r\nimport {filtersConfigurationToMap} from \"../../filters-configuration-to-map\";\r\nimport {ArenaConfiguration} from \"../../../../configurations/config-data-sections/arenas.configuration\";\r\nimport {IGamesFilterStrategy} from \"../../../../games-filter/strategies/games-filter-strategy.interface\";\r\nimport {NoGamesFilterStrategy} from \"../../../../games-filter/strategies/no-filter/no-games-filter.strategy\";\r\nconst LiveCasinoArenaComponent = React.lazy(\r\n () => import(\"../../../../../components/arena-host/live-casino-arena/live-casino-arena.component\").then(({LiveCasinoArenaComponent}) => ({default: LiveCasinoArenaComponent}))\r\n);\r\n\r\nexport class LiveCasinoArenaModel implements IArenaViewModel {\r\n constructor(public readonly arenaName: string, private readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n get listsCount(): number {\r\n return 0;\r\n }\r\n\r\n renderList(listPosition: number): React.ReactElement | null {\r\n return null;\r\n }\r\n\r\n getNextBatchSize(currentListPosition: number): number {\r\n return 0;\r\n }\r\n\r\n get configs(): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[this.arenaName];\r\n }\r\n\r\n renderArena() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n filterGamesByArenaType(gamesInfo: GameInfo[]): GameInfo[] {\r\n return gamesInfo.filter(g => g.isLiveCasino);\r\n }\r\n\r\n get allArenaGamesForFiltering(): GameInfo[] {\r\n return [];\r\n }\r\n\r\n readonly filteredGamesCount: number = 0;\r\n\r\n get filtersConfigurationMap(): ArenaFiltersConfigurationMap {\r\n return filtersConfigurationToMap(this.configs.filters);\r\n }\r\n\r\n getGamesFilteringStrategy(): IGamesFilterStrategy {\r\n return new NoGamesFilterStrategy(this.services);\r\n }\r\n}","import {ServiceBase} from '../ServiceBase';\r\nimport {IArenasService} from './arenas.service.interface';\r\nimport {HOME_PAGE_ARENA, LIVE_CASINO_ARENA_NAME, NEW_LIVE_CASINO_ARENA_NAME} from './arena-consts';\r\nimport {\r\n ArenaConfiguration\r\n} from \"../configurations/config-data-sections/arenas.configuration\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {IArenaViewModel} from \"./models/arenas/arena-view-model.interface\";\r\nimport {HomePageArenaModel} from \"./models/arenas/home-page/home-page-arena.model\";\r\nimport {CasinoLobbyArenaModel} from \"./models/arenas/casino-lobby/casino-lobby-arena.model\";\r\nimport {VoidArenaModel} from \"./models/arenas/void-arena/void-arena.model\";\r\nimport {ListsSortOrderStorage} from \"./models/lists-sort-order-storage\";\r\nimport {NewLiveCasinoArenaModel} from \"./models/arenas/new-live-casino/new-live-casino-arena.model\";\r\nimport {LiveCasinoArenaModel} from \"./models/arenas/live-casino/live-casino-arena.model\";\r\n\r\n\r\nexport class ArenasService extends ServiceBase implements IArenasService {\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n this._postLoginListsSortOrderStorage = new ListsSortOrderStorage(services);\r\n this._loadArenas();\r\n }\r\n\r\n private _arenas: Record = {};\r\n private readonly _postLoginListsSortOrderStorage: ListsSortOrderStorage;\r\n\r\n private _loadArenas(): void {\r\n this._arenas[HOME_PAGE_ARENA] = this._createArena(HOME_PAGE_ARENA);\r\n const arenasConfigs = this.services.configuration.data.arenas;\r\n for(let arenaName in arenasConfigs) {\r\n this._arenas[arenaName] = this._createArena(arenaName);\r\n }\r\n }\r\n\r\n getArena(arenaName: string): IArenaViewModel {\r\n return this._arenas[arenaName] || new VoidArenaModel(this.services);\r\n }\r\n\r\n private _createArena(arenaName: string): IArenaViewModel | null {\r\n switch (arenaName) {\r\n case HOME_PAGE_ARENA:\r\n return new HomePageArenaModel(this.services, this._postLoginListsSortOrderStorage);\r\n case NEW_LIVE_CASINO_ARENA_NAME:\r\n return new NewLiveCasinoArenaModel(arenaName, this.services);\r\n case LIVE_CASINO_ARENA_NAME:\r\n return new LiveCasinoArenaModel(arenaName, this.services);\r\n default:\r\n return new CasinoLobbyArenaModel(arenaName, this.services, this._postLoginListsSortOrderStorage);\r\n }\r\n }\r\n\r\n getCurrentArena(): IArenaViewModel {\r\n const arenaName = this.services.routing.currentRoute.data?.arenaType;\r\n if(!arenaName) {\r\n return new VoidArenaModel(this.services);\r\n }\r\n return this.getArena(arenaName)\r\n\r\n }\r\n\r\n getArenaConfig(arenaType: string): ArenaConfiguration {\r\n return this.services.configuration.data.arenas[arenaType];\r\n }\r\n\r\n shouldHideFiltersButtonMobile(): boolean {\r\n const arenasWithoutFilterButton: string[] = [NEW_LIVE_CASINO_ARENA_NAME];\r\n const currentRoute = this.services.routing.currentRoute;\r\n return arenasWithoutFilterButton.includes(currentRoute?.data?.arenaType);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {Link} from \"../../raw-components/link/link\";\r\n\r\nexport interface BreadcrumbsItemComponentProps {\r\n readonly title: string;\r\n position: number;\r\n readonly url?: string;\r\n onClick?: () => void;\r\n\r\n}\r\n\r\nexport const BreadcrumbsItemComponent = observer(\r\n class BreadcrumbsItemComponent extends OrbitComponent {\r\n\r\n render() {\r\n let noLinkClass = this.props.onClick ? '' : 'no-link';\r\n return (\r\n <>\r\n \r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n \r\n {this.props.onClick ? {' > '} : null}\r\n \r\n );\r\n }\r\n }\r\n);\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\nexport class NonNavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string) {\r\n }\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport {IBreadcrumb} from './breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {BreadcrumbsItemComponent} from '../../../components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component';\r\n\r\n\r\nexport class NavigatableBreadcrumb implements IBreadcrumb {\r\n constructor(private _title: string, private _url: string, private services: IServiceFactoryExtended) {\r\n\r\n }\r\n\r\n private _navigate = () => {\r\n this.services.location.push(this._url);\r\n };\r\n\r\n render(position: number) {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n","import {NonNavigatableBreadcrumb} from './breadcrumbs/non-navigatable-breadcrumb';\r\nimport {NavigatableBreadcrumb} from './breadcrumbs/navigatable-breadcrumb';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {UriPath} from \"../location/uri-path/uri-path\";\r\n\r\nexport class SiteMapNode {\r\n constructor(private _title: string, private _url: string, children: any[]) {\r\n this._loadChildren(children);\r\n this._urlParts = new UriPath(_url).toArray();\r\n }\r\n\r\n private readonly _urlParts: string[];\r\n\r\n private _loadChildren(children: any[]): void {\r\n this._children = (children || []).map(ch => new SiteMapNode(ch.title, ch.url, ch.children));\r\n }\r\n\r\n\r\n private _children: SiteMapNode[] = [];\r\n get children(): SiteMapNode[] {\r\n return this._children;\r\n }\r\n\r\n createBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n\r\n for(let i = 0; i < this._urlParts.length; i++) {\r\n if(this._urlParts[i] !== requestedUrlParts[i]) {\r\n return [];\r\n }\r\n }\r\n\r\n if(this._urlParts.length === requestedUrlParts.length) {\r\n return [new NonNavigatableBreadcrumb(this._title)] //it means this is the last breadcrumb\r\n } else {\r\n let breadcrumb = new NavigatableBreadcrumb(this._title, this._url, services);\r\n\r\n return [breadcrumb, ...this._createChildrenBreadcrumbs(requestedUrlParts, services)];\r\n }\r\n }\r\n\r\n private _createChildrenBreadcrumbs(requestedUrlParts: string[], services: IServiceFactoryExtended): IBreadcrumb[] {\r\n for(let i = 0; i < this.children.length; i++) {\r\n let childBreadcrumbs = this.children[i].createBreadcrumbs(requestedUrlParts, services);\r\n if(childBreadcrumbs.length > 0) {\r\n return childBreadcrumbs;\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n toFlatSiteMap(): {[key: string]: SiteMapNode} {\r\n let result = {};\r\n result[this._url] = this;\r\n\r\n this.children.forEach(child => {\r\n result = Object.assign(result, child.toFlatSiteMap());\r\n });\r\n\r\n return result;\r\n\r\n }\r\n}\r\n","import {ISiteMapService} from './sitemap.service.interface';\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {SiteMapNode} from './sitemap-node';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IBreadcrumb} from './breadcrumbs/breadcrumb.interface';\r\nimport {UriPath} from '../location/uri-path/uri-path';\r\n\r\nexport class SiteMapService extends ServiceBase implements ISiteMapService {\r\n\r\n private _root: SiteMapNode;\r\n private _flatSiteMapByUrl: {[key: string]: SiteMapNode};\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n try {\r\n this._initSiteMap();\r\n }catch (e) {\r\n this.services.logger.error(`Failed to load sitemap ${e} `);\r\n }\r\n\r\n this.reaction(\r\n () => this.services.location.currentUri,\r\n (uri) => {\r\n this._setBreadcrumbs(this._createBreadCrumbs(uri.pathName));\r\n },\r\n {\r\n fireImmediately: true\r\n });\r\n }\r\n\r\n private _initSiteMap() {\r\n let siteMap = this.services.configuration.startupConfiguration.b2c.sitemap;\r\n this._root = new SiteMapNode(siteMap.title, siteMap.url, siteMap.children);\r\n this._flatSiteMapByUrl = this._root.toFlatSiteMap();\r\n }\r\n\r\n @observable.ref\r\n breadcrumbs: IBreadcrumb[] = [];\r\n\r\n @action.bound\r\n private _setBreadcrumbs(breadcrumbs: IBreadcrumb[]) {\r\n this.breadcrumbs = breadcrumbs;\r\n }\r\n\r\n\r\n private _createBreadCrumbs(uriPath: UriPath): IBreadcrumb[] {\r\n if(!uriPath) {\r\n return [];\r\n }\r\n\r\n if(uriPath.isEmpty) {\r\n return [];\r\n }\r\n\r\n let uriParts = uriPath.toArray();\r\n if(uriParts[0] !== '/') {\r\n uriParts = ['/', ...uriParts];\r\n }\r\n\r\n let breadcrumbs = this._root.createBreadcrumbs(uriParts, this.services);\r\n if(breadcrumbs.length < uriParts.length) {\r\n this.services.logger.warning(`URL ${uriPath} was not found in the sitemap`);\r\n return [];\r\n }\r\n\r\n if(breadcrumbs.length <= 1) {\r\n return [];\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n\r\n isUrlInSiteMap(url: string): boolean {\r\n if(this._flatSiteMapByUrl[url]) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {IMarketingService} from './marketing.service.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {encodeUriRecursive} from '../../../utils/url-utils';\r\nimport {MarketingParams} from \"../../../common/interfaces/marketing-params.interface\";\r\n\r\n\r\nconst TEST_DATA_KEY = 'testdata';\r\n\r\nexport class MarketingService extends ServiceBase implements IMarketingService {\r\n\r\n private get _sCut(): any {\r\n return this.services.window.getGlobalProperty('sCut');\r\n }\r\n\r\n private get _sCutQueryParams(): string | null {\r\n let sCut = this._sCut;\r\n if(sCut) {\r\n return sCut.toString();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n appendSCutToUrl(url: string): string {\r\n if(!url) {\r\n return url;\r\n }\r\n\r\n if(!this._sCutQueryParams) {\r\n return url;\r\n }\r\n\r\n let urlParts = url.split('?');\r\n let queryParams = (urlParts[1] || '').trim();\r\n if(queryParams) {\r\n if(queryParams.endsWith('&')) {\r\n return urlParts[0] + '?' + queryParams + this._sCutQueryParams;\r\n } else {\r\n return urlParts[0] + '?' + queryParams + '&' + this._sCutQueryParams;\r\n }\r\n } else {\r\n return urlParts[0] + '?' + this._sCutQueryParams;\r\n }\r\n }\r\n\r\n private _getDlp(): string {\r\n let urlWithoutSearchAndHash = this.services.location.currentUri.getUrlWithoutSearchAndHash();\r\n if (urlWithoutSearchAndHash.includes(\"localhost\")) {\r\n urlWithoutSearchAndHash = urlWithoutSearchAndHash.replace(\"localhost\", \"casinoAOD\");\r\n }\r\n return urlWithoutSearchAndHash;\r\n }\r\n\r\n private _convertParameterToNumber(parameterName: string, parameterValue): number {\r\n let dlAsNumber = parseInt((parameterValue || '').trim());\r\n if(Check.isNumber(dlAsNumber)) {\r\n return dlAsNumber;\r\n } else {\r\n this.services.logger.error(`Cannot convert marketing parameter ${parameterName} to number because its value is ${parameterValue}`);\r\n return 999999;\r\n }\r\n }\r\n\r\n getMarketingData(marketingParams?: MarketingParams): any {\r\n let sCut = this._sCut;\r\n if(!Check.isObject(sCut)) {\r\n return {};\r\n }\r\n\r\n if(!sCut[\"all\"]) {\r\n this.services.logger.warning(`sCut.all function doesn't exists`);\r\n return {};\r\n }\r\n\r\n let sCutData = sCut[\"all\"]();\r\n\r\n if(!sCutData) {\r\n this.services.logger.warning(`sCut.all() returned ${sCutData}`);\r\n return {};\r\n }\r\n\r\n marketingParams = marketingParams || {};\r\n\r\n let additionalParams: any = {...sCutData};\r\n delete additionalParams[TEST_DATA_KEY];\r\n if(!additionalParams.wtc && marketingParams.wtc) {\r\n additionalParams.wtc = marketingParams.wtc;\r\n }\r\n\r\n\r\n let testData: any = {};\r\n\r\n try {\r\n testData = sCutData[TEST_DATA_KEY] ? JSON.parse(sCutData[TEST_DATA_KEY]) : {}\r\n } catch (err) {\r\n this.services.logger.error('Failed to parse sCut TestData');\r\n return {};\r\n }\r\n\r\n if(!testData.dl && marketingParams.dl) {\r\n testData.dl = marketingParams.dl;\r\n }\r\n\r\n if(testData.dl) {\r\n //We try to convert the dl to number to see if it is a valid number\r\n //but we must send it as a string because membership code will throw error on GetFunnelData if it will be number\r\n testData.dl = (this._convertParameterToNumber('dl', testData.dl)).toString();\r\n }\r\n\r\n testData.dlp = this._getDlp();\r\n\r\n if(additionalParams.dlp) {\r\n additionalParams.dlp = testData.dlp;\r\n }\r\n\r\n return encodeUriRecursive({\r\n sr: sCutData.sr,\r\n TestData: testData,\r\n AdditionalParams: additionalParams\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","import {LanguageSwitcherItemConfiguration} from '../../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\nimport {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _config: LanguageSwitcherItemConfiguration, private services: IServiceFactoryExtended) {\r\n }\r\n\r\n get title(): string {\r\n return this._config.title;\r\n }\r\n\r\n get url(): string {\r\n return this._config.url;\r\n }\r\n\r\n get isCurrent(): boolean {\r\n return false;\r\n }\r\n\r\n makeCurrent(): void {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigation','Language', this.title);\r\n\r\n this._executeOnClickJs();\r\n let url = this._config.url;\r\n\r\n if(this.services.device.hybrid.isEmbedded) {\r\n this.services.window.openSelf(url);\r\n } else {\r\n this._createCookie().then(() => {\r\n this.services.user.logout();\r\n setTimeout(() => {\r\n if(this._config.sendFunnelParameters) {\r\n url = this.services.marketing.appendSCutToUrl(url);\r\n }\r\n this.services.window.openSelf(url);\r\n }, 200);\r\n })\r\n }\r\n }\r\n\r\n private _createCookie(): Promise {\r\n if(this.services.user.isAuthorized) {\r\n return this.services.user.getAutoLoginToken()\r\n .then(token => {\r\n this.services.cookies.createDomainCookie('orbit_autologin_token', token);\r\n }).catch(() => {\r\n this.services.logger.error('Failed to get autologin token in order to switch language');\r\n });\r\n } else {\r\n return Promise.resolve();\r\n }\r\n }\r\n\r\n private _executeOnClickJs(): void {\r\n try {\r\n\r\n\r\n if (!this._config.onClickJs) {\r\n return;\r\n }\r\n\r\n if (!Check.isString(this._config.onClickJs)) {\r\n this.services.logger.error(`onClickJs is not a string for language switcher item ${this.title}`);\r\n return;\r\n }\r\n\r\n if (this._config.onClickJs.length > 50) {\r\n this.services.logger.error(`Too long callback method for language switcher item ${this.title} click event: ${this._config.onClickJs.substring(0, 50)} ...`);\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line\r\n let func = new Function(this._config.onClickJs);\r\n func();\r\n }\r\n catch (err) {\r\n this.services.logger.error(`Failed to execute onClickJs for language swithcer item ${this.title}; onClickJs: ${this._config.onClickJs}`, err);\r\n }\r\n }\r\n}\r\n\r\n\r\n","import {IServiceFactoryExtended} from '../../service-factory-extended.interface';\r\nimport {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class LanguageSwitcherSection {\r\n constructor(private _services: IServiceFactoryExtended, private _title: string, private _fallbackTitleKey: string, private _items: ILanguageSwitcherItem[]) {\r\n\r\n }\r\n\r\n get title(): string {\r\n if(this._title) {\r\n return this._title;\r\n }\r\n\r\n return this._services.translation.translate(this._fallbackTitleKey);\r\n }\r\n\r\n get items(): ILanguageSwitcherItem[] {\r\n return this._items;\r\n }\r\n}\r\n","import {ILanguageSwitcherItem} from './language-switcher-item.interface';\r\n\r\nexport class SelectedLanguageSwitcherItem implements ILanguageSwitcherItem {\r\n constructor(private _title: string) {\r\n\r\n }\r\n get isCurrent(): boolean {\r\n return true;\r\n }\r\n get title(): string {\r\n return this._title;\r\n }\r\n\r\n get url(): string {\r\n return '';\r\n }\r\n\r\n makeCurrent(): void {\r\n }\r\n\r\n}\r\n","import {ServiceBase} from '../ServiceBase';\r\nimport {ILanguageData, ILanguageService} from './language.service.interface';\r\nimport { action, observable, makeObservable } from 'mobx';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {TranslatedText} from './translated-text';\r\n\r\nimport {LanguageSwitcherStructure} from './language-switcher/language-switcher-structure';\r\nimport {LanguageSwitcherItem} from './language-switcher/language-switcher-item';\r\nimport {LanguageSwitcherSection} from './language-switcher/language-switcher-section';\r\nimport {SelectedLanguageSwitcherItem} from './language-switcher/selected-language-switcher-item';\r\nimport {ILanguageSwitcherItem} from './language-switcher/language-switcher-item.interface';\r\nimport {\r\n LanguageSwitcherConfiguration,\r\n LanguageSwitcherItemConfiguration, LanguageSwitcherSectionConfiguration\r\n} from '../../app-bootstrap/config-interfaces/b2c-startup.configurations';\r\n\r\nexport class LanguageService extends ServiceBase implements ILanguageService {\r\n constructor(private _defaultLanguageData: ILanguageData, services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this._loadLanguageData();\r\n\r\n if (this._isLanguageSwitcherEnabled) {\r\n this._setLanguageSwitcher(this.services.configuration.startupConfiguration.b2c.languageSwitcher);\r\n } else {\r\n this._setLanguageSwitcher(null);\r\n }\r\n\r\n\r\n this.reaction(() => this.services.location.currentUri,\r\n (uri) => {\r\n this._updateLanguageSwitcher(uri.pathName.toString());\r\n }, {\r\n fireImmediately: this.languageSwitcher.isEmpty\r\n });\r\n }\r\n\r\n private get _isLanguageSwitcherEnabled(): boolean {\r\n return Boolean(this.services.configuration.data.languageSwitcher?.display)\r\n }\r\n\r\n\r\n private _lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = '';\r\n\r\n public get isRTLLanguage(): boolean {\r\n return this.services.dom.getElementsByTagName('html')[0].classList.contains('cgp-rtl');\r\n }\r\n\r\n get currentLanguage(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso3;\r\n }\r\n\r\n get currentLanguageIso2(): string {\r\n return this.services.configuration.startupConfiguration.b2c.language.iso2;\r\n }\r\n\r\n\r\n private _getDefaultTexts(): TranslatedText {\r\n return this._defaultLanguageData.text || {};\r\n }\r\n\r\n\r\n private _loadLanguageData(): void {\r\n let textOverrides = this.services.configuration.startupConfiguration.orbit.lang?.text;\r\n let translatedTexts = {...this._getDefaultTexts(), ...textOverrides};\r\n\r\n this._setTranslatedTexts(translatedTexts);\r\n }\r\n\r\n\r\n @observable.ref\r\n translatedTexts: TranslatedText = {};\r\n\r\n @action.bound\r\n private _setTranslatedTexts(data: TranslatedText): void {\r\n this.translatedTexts = data;\r\n }\r\n\r\n @observable.ref\r\n languageSwitcher: LanguageSwitcherStructure;\r\n\r\n @action.bound\r\n private _setLanguageSwitcher(langSwitcherConfig: LanguageSwitcherConfiguration): void {\r\n let languagesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.languages, langSwitcherConfig && langSwitcherConfig.languageSettings, 'CHOOSE_LANG');\r\n\r\n let countriesSection = this._extractLangSwitcherSection(langSwitcherConfig && langSwitcherConfig.countries, langSwitcherConfig && langSwitcherConfig.countrySettings, 'CHOOSE_COUNTRY')\r\n\r\n this.languageSwitcher = {\r\n languagesSection: languagesSection,\r\n countriesSection: countriesSection,\r\n isEmpty: languagesSection.items.length === 0 && countriesSection.items.length === 0\r\n };\r\n }\r\n\r\n private _extractLangSwitcherSection(itemsConfig: LanguageSwitcherItemConfiguration[], sectionConfig: LanguageSwitcherSectionConfiguration, fallbackTitleKey: string): LanguageSwitcherSection {\r\n itemsConfig = itemsConfig || [];\r\n sectionConfig = sectionConfig || {title: '', current: ''};\r\n\r\n let items: ILanguageSwitcherItem[] = [];\r\n\r\n if(sectionConfig.current && itemsConfig.length > 0) {\r\n items.push(new SelectedLanguageSwitcherItem(sectionConfig.current));\r\n }\r\n\r\n itemsConfig.forEach(cfg => {\r\n items.push(new LanguageSwitcherItem(cfg, this.services));\r\n });\r\n\r\n return new LanguageSwitcherSection(this.services,\r\n sectionConfig.title,\r\n fallbackTitleKey,\r\n items);\r\n\r\n }\r\n\r\n _updateLanguageSwitcher(url: string) {\r\n if (this.languageSwitcher.isEmpty) {\r\n return;\r\n }\r\n\r\n if(this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher !== url && !this.services.device.hybrid.isEmbedded) {\r\n this._lastUrlWithoutTheFragmentQueriedForLanguageSwitcher = url;\r\n\r\n this.services.cmsApi\r\n .getLanguageSwitcherConfiguration(url)\r\n .then(config => {\r\n if (config) { this._setLanguageSwitcher(config); }\r\n });\r\n }\r\n }\r\n}\r\n","import {MenuItemsConfiguration} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemConfigReaderBase} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader-base\";\r\nimport {\r\n MenuItemAnalyticsCategoryAndLabel\r\n} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory, OrbitUserFlowAnalyticsLabel} from \"../../analytics/analytics.service.interface\";\r\n\r\n\r\nexport class SideMenuItemConfigReader extends MenuItemConfigReaderBase {\r\n\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return this.services.configuration.data.sideMenu.menuItemsOverride;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel {\r\n return {\r\n category: OrbitUserFlowAnalyticsCategory.Navigation,\r\n label: OrbitUserFlowAnalyticsLabel.NavigationMenu\r\n };\r\n }\r\n}\r\n\r\n","import styled from \"styled-components\";\r\n\r\nexport const GenericSideMenuImageBox = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\nimport { styledByTheme } from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {GenericSideMenuItemDefaultBox} from \"./generic-side-menu-item.box\";\r\n\r\nconst GenericSideMenuItemPreIconDefaultBox = styled.span<{active: boolean}>`\r\n`;\r\n\r\nconst GenericSideMenuItemPreIconSIBox = styled(GenericSideMenuItemPreIconDefaultBox)`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: -1rem;\r\n width: 4px;\r\n border-radius: 0.5rem 0 0 0.5rem;\r\n\r\n background-color: ${(props) => props.active ? props.theme.colors.textActive : \"transparent\"};\r\n ${GenericSideMenuItemDefaultBox}:hover & {\r\n background-color: ${(props) => props.theme.colors.textActive};\r\n }\r\n`;\r\n\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 padding: 1rem;\r\n margin: 1rem 0;\r\n background: linear-gradient(-45deg,rgba(252,246,213,0.8) 33.33%,rgba(25,50,47,0.1) 33.33%,rgba(25,50,47,0.2) 50%,rgba(252,246,213,0.8) 50%,rgba(252,246,213,0.8) 83.33%,rgba(25,50,47,0.1) 83.33%,rgba(25,50,47,0.1) 100%);\r\n ${props => props.isHybridAndroid ? css`padding-bottom: 500px;` : \"\"}\r\n`;\r\n\r\nconst PCBox = styled(DefaultBox)`\r\n position: absolute;\r\n width: 45rem;\r\n margin: 5rem 0 0 0;\r\n padding: 1rem 1rem 1rem 5rem;\r\n border-radius: 5px;\r\n background: ${props => props.theme.colors.background};\r\n border: 1px solid ${props => props.theme.colors.boxBorderLight};\r\n`;\r\n\r\nexport const SearchFormResultsCasino777Box = styledByDevice(PCBox, MobileBox);","import {SearchFormResultsDefaultBox} from \"./search-form-results.default.box\";\r\nimport {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchFormResultsCasino777Box} from \"./search-form-results.casino777.box\";\r\n\r\nexport const SearchFormResultsBox = styledByTheme(SearchFormResultsDefaultBox)\r\n .forCasino777(SearchFormResultsCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchFormResultsWrapperDefaultBox = styled.div`\r\n\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const SearchFormResultsWrapperCasino777Box = styled.div`\r\n background: ${props => props.theme.colors.brandSecondary};\r\n padding: 1rem;\r\n`;","import {styledByTheme} from \"../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchFormResultsWrapperDefaultBox} from \"./search-form-results-wrapper.default.box\";\r\nimport {SearchFormResultsWrapperCasino777Box} from \"./search-form-results-wrapper.casino777.box\";\r\n\r\nexport const SearchFormResultsWrapperBox = styledByTheme(SearchFormResultsWrapperDefaultBox)\r\n.forCasino777(SearchFormResultsWrapperCasino777Box)\r\n.apply();","import React from 'react';\r\nimport { OrbitComponentWithState } from '../../base-components/orbit-component-with-state/orbit-component-with-state';\r\nimport { observer } from 'mobx-react';\r\nimport { FoundGamesComponent } from \"./found-games/found-games.component\";\r\nimport { SuggestedLinksComponent } from \"./suggested-links/suggested-links.component\";\r\nimport { SearchFormResultsBox } from \"./boxes/search-form-results-box/search-form-results.box\";\r\nimport { SearchFormResultsWrapperBox } from \"./boxes/search-form-results-wrapper-box/search-form-results-wrapper.box\";\r\nimport { SuggestedGamesComponent } from './suggested-games/suggested-games.component';\r\nimport {\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsLabel\r\n} from \"../../../services/analytics/analytics.service.interface\";\r\n\r\n\r\nexport interface ISearchResultComponentState {\r\n loadedGames: number;\r\n}\r\n\r\nconst LOAD_BATCH_SIZE = 12;\r\n\r\nconst defaultState: ISearchResultComponentState = {\r\n loadedGames: LOAD_BATCH_SIZE\r\n}\r\n\r\nexport const SearchResultComponent = observer(\r\n class SearchResultComponent extends OrbitComponentWithState<{}, ISearchResultComponentState> {\r\n\r\n state = {...defaultState};\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.reaction(() => this.services.gameSearch.currentSearchText, () => {\r\n this._resetState();\r\n })\r\n }\r\n\r\n private _onLoadMore = () => {\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search,'Entry', OrbitUserFlowAnalyticsLabel.ShowMore);\r\n const moreItems = Math.min(this.state.loadedGames + LOAD_BATCH_SIZE, this.services.gameSearch.searchResult.games.length);\r\n this.setState({\r\n loadedGames: moreItems\r\n });\r\n }\r\n\r\n private _resetState() {\r\n this.setState({...defaultState});\r\n }\r\n\r\n _renderSearchResults() {\r\n if (this.services.gameSearch.isSearchInProgress) {\r\n return (\r\n <>\r\n \r\n {this.services.miniOrbit.isEnabled ? null : }\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n {this.services.miniOrbit.isEnabled ? null : }\r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n if (!this.services.gameSearch.isSearchBoxOpened) {\r\n return null;\r\n }\r\n\r\n const isHybridAndroid = this.services.device.hybrid.isHybrid && !this.services.device.os.isIOS;\r\n\r\n return (\r\n \r\n \r\n {this._renderSearchResults()}\r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import styled, {css} from \"styled-components\";\r\nimport {ISearchClearIconBoxProps} from \"./search-clear-icon.box\";\r\n\r\nexport const SearchClearIconDefaultBox = styled.i`\r\n position: absolute;\r\n right: 2rem;\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -857px -643px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 2;\r\n \r\n ${props => !props.visible && css`\r\n display: none;\r\n `}\r\n`;","import styled from \"styled-components\";\r\nimport {SearchClearIconDefaultBox} from \"./search-clear-icon.default.box\";\r\n\r\nexport const SearchClearIconCasino777Box = styled(SearchClearIconDefaultBox)`\r\n background-position: -585px -519px;\r\n`;","import {SearchClearIconDefaultBox} from \"./search-clear-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchClearIconCasino777Box} from \"./search-clear-icon.casino777.box\";\r\n\r\nexport interface ISearchClearIconBoxProps {\r\n visible: boolean;\r\n}\r\n\r\nexport const SearchClearIconBox = styledByTheme(SearchClearIconDefaultBox)\r\n .forCasino777(SearchClearIconCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchInputMobileDefaultBox = styled.ul`\r\n position: relative;\r\n margin: 1rem 0 0 0;\r\n`;","import styled from \"styled-components\";\r\nimport {SearchInputMobileDefaultBox} from \"./search-input-mobile.default.box\";\r\n\r\nexport const SearchInputMobileCasino777Box = styled(SearchInputMobileDefaultBox)`\r\n padding: 1rem;\r\n background: linear-gradient(-45deg, rgba(252,246,213,0.8) 33.33%, rgba(25,50,47,0.1) 33.33%, rgba(25,50,47,0.2) 50%, rgba(252,246,213,0.8) 50%, rgba(252,246,213,0.8) 83.33%, rgba(25,50,47,0.1) 83.33%, rgba(25,50,47,0.1) 100%);\r\n background-size: 4px 4px;\r\n border-radius: 5px;\r\n box-shadow: 2px 3px 1rem rgba(25,50,48,0.2);\r\n`;","import styled from \"styled-components\";\r\nimport {SearchInputMobileDefaultBox} from \"./search-input-mobile.default.box\";\r\n\r\nexport const SearchInputMobileMrGreenCisBox = styled(SearchInputMobileDefaultBox)`\r\n margin: 0 1rem;\r\n`;","import {SearchInputMobileDefaultBox} from \"./search-input-mobile.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchInputMobileCasino777Box} from \"./search-input-mobile.casino777.box\";\r\nimport { SearchInputMobileMrGreenCisBox } from \"./search-input-mobile.mrgreenCis.box\";\r\n\r\nexport const SearchInputMobileBox = styledByTheme(SearchInputMobileDefaultBox)\r\n .forCasino777(SearchInputMobileCasino777Box)\r\n .forMrGreenCis(SearchInputMobileMrGreenCisBox)\r\n .apply();","import styled from \"styled-components\";\r\n\r\nexport const SearchBoxMobileIconDefaultBox = styled.i`\r\n display: block;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n left: 1rem;\r\n width: 3rem;\r\n height: 3rem;\r\n background-image: url(\"${props => props.theme.images.spriteSheet.toString()}\");\r\n background-repeat: no-repeat;\r\n background-position: -138px -626px;\r\n z-index: 2;\r\n`;","import styled from \"styled-components\";\r\nimport {SearchBoxMobileIconDefaultBox} from \"./search-box-mobile-icon.default.box\";\r\n\r\nexport const SearchBoxMobileIconCasino777Box= styled(SearchBoxMobileIconDefaultBox)`\r\n left: 2rem;\r\n background-position: -488px -581px;\r\n`;\r\n","import {SearchBoxMobileIconDefaultBox} from \"./search-box-mobile-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchBoxMobileIconCasino777Box} from \"./search-box-mobile-icon.casino777.box\";\r\n\r\nexport const SearchBoxMobileIconBox = styledByTheme(SearchBoxMobileIconDefaultBox)\r\n .forCasino777(SearchBoxMobileIconCasino777Box)\r\n .apply();","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst SearchInputArenaMutual = styled.input`\r\n height: initial;\r\n margin: auto 0;\r\n color: ${props => props.theme.colors.textLight};\r\n background: ${props => props.theme.colors.backgroundLight};\r\n\r\n &:focus {\r\n background: ${props => props.theme.colors.backgroundLight};\r\n }\r\n`;\r\n\r\nexport const SearchInputArenaDefaultPCBox = styled(SearchInputArenaMutual)`\r\n position: relative;\r\n width: 32rem;\r\n padding: 1rem 2rem 1rem 5rem;\r\n font-size: 1.4rem;\r\n font-weight: 700;\r\n line-height: 1;\r\n border-radius: 2rem;\r\n border: 2px solid transparent;\r\n transition: width 0.2s ease;\r\n\r\n &:focus {\r\n width: 44rem;\r\n transition: width 0.2s ease;\r\n }\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\nexport const SearchInputArenaDefaultMobileBox = styled(SearchInputArenaMutual)`\r\n display: flex;\r\n width: 100%;\r\n padding: 1.5rem 1rem 1.5rem 5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.6rem;\r\n font-weight: 300;\r\n border: none;\r\n 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 &:focus {\r\n border: none;\r\n box-shadow: none;\r\n }\r\n`;\r\n\r\nexport const SearchInputAreaDefaultBox = styledByDevice(SearchInputArenaDefaultPCBox,SearchInputArenaDefaultMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\n\r\nconst SearchInputAreaMutual = styled.input`\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n height: initial;\r\n margin: 0;\r\n background: ${props => props.theme.colors.background};\r\n\r\n &:focus {\r\n box-shadow: none;\r\n outline: none;\r\n }\r\n\r\n &::placeholder {\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n`;\r\n\r\nconst SearchInputAreaCasino777PCBox = styled(SearchInputAreaMutual)`\r\n width: 32rem;\r\n padding: 1rem 2rem 1rem 5rem;\r\n font-size: 1.5rem;\r\n font-weight: 700;\r\n line-height: 1;\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.2s ease;\r\n border-radius: 5px;\r\n\r\n &:focus {\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n width: 44rem;\r\n }\r\n`;\r\nconst SearchInputAreaCasino777MobileBox = styled(SearchInputAreaMutual)`\r\n display: flex;\r\n width: 100%;\r\n padding: 1.5rem 1rem 1.5rem 5rem;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-size: 1.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 height: initial;\r\n display: flex;\r\n margin: auto 0;\r\n background: ${props => props.theme.colors.background};\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n color: ${props => props.theme.colors.textLight};\r\n\r\n &:focus {\r\n outline: none;\r\n box-shadow: none;\r\n }\r\n`;\r\n\r\nconst SearchInputAreaPCBox = styled(SearchInputMutual)`\r\n position: relative;\r\n width: 0;\r\n padding: 1rem 1.85rem;\r\n\r\n border-radius: 4rem;\r\n line-height: 1;\r\n font-size: 1.5rem;\r\n border: 1px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n cursor: pointer;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textMiddleDark};\r\n }\r\n\r\n &:focus {\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n width: 44rem;\r\n padding-left: 5rem;\r\n }\r\n\r\n`;\r\n\r\n\r\nconst SearchInputAreaMobileBox = styled(SearchInputMutual)`\r\n position: relative;\r\n width: 100%;\r\n font-size: 1.5rem;\r\n border: none;\r\n transition: width 0.5s ease;\r\n padding: 1.5rem 1rem 1.5rem 5rem;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n`;\r\n\r\nexport const SearchInputAreaCasino888Box = styledByDevice(SearchInputAreaPCBox, SearchInputAreaMobileBox);","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaBallysDoverPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaBallysDoverBox = styledByDevice(SearchInputAreaBallysDoverPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaDelawareParkPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaDelawareParkBox = styledByDevice(SearchInputAreaDelawareParkPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputAreaHarringtonPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 2px solid ${props => props.theme.colors.backgroundLight};\r\n`;\r\n\r\nexport const SearchInputAreaHarringtonBox = styledByDevice(SearchInputAreaHarringtonPCBox, SearchInputArenaDefaultMobileBox);\r\n","import styled from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../../../themes/architecture/styled-by-device\";\r\nimport {SearchInputArenaDefaultMobileBox, SearchInputArenaDefaultPCBox} from \"./search-input-area.default.box\";\r\n\r\nconst SearchInputArenaSIPCBox = styled(SearchInputArenaDefaultPCBox)`\r\n border: 1.7px solid ${props => props.theme.colors.textMiddleDark};\r\n background-color: ${props => props.theme.colors.backgroundDark};\r\n`;\r\n\r\nexport const SearchInputArenaSIBox = styledByDevice(SearchInputArenaSIPCBox, SearchInputArenaDefaultMobileBox);","import styled from \"styled-components\";\r\n\r\nexport const SearchInputAreaMrGreenBox = styled.input`\r\n position: relative;\r\n width: 0;\r\n height: initial;\r\n display: flex;\r\n margin: auto 0;\r\n background: transparent;\r\n ${({theme}) => theme.font.presets.regular};\r\n font-weight: 300;\r\n color: ${props => props.theme.colors.textLight};\r\n padding: 1rem 1.9rem;\r\n cursor: pointer;\r\n border: 2px solid ${props => props.theme.colors.textMiddleDark};\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n line-height: 1;\r\n border-radius: 4rem;\r\n font-size: 1.5rem;\r\n\r\n &:focus {\r\n outline: none;\r\n box-shadow: none;\r\n transition: width 0.5s ease, padding 0.5s ease;\r\n width: 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 font-size: 1.5rem;\r\n transition: width 0.5s ease;\r\n padding: 1.5rem 1rem 1.5rem 5rem;\r\n\r\n &::placeholder{\r\n color: ${props => props.theme.colors.textLight};\r\n }\r\n\r\n &:focus {\r\n padding: 1.5rem 5.5rem;\r\n transition: width 0.5s ease;\r\n width: 100%;\r\n }\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { baseColors } from \"../../../../../../themes/definitions/mrgreen/base-colors\";\r\nimport { SearchInputAreaMrGreenBox } from \"./search-input-area.mrgreen.box\";\r\n\r\nexport const SearchInputAreaMrGreenCisBox = styled(SearchInputAreaMrGreenBox)`\r\n border-radius: unset;\r\n border: none;\r\n background: ${props => props.theme.colors.backgroundDark};\r\n color: ${baseColors.warmWhite};\r\n\r\n &::placeholder{\r\n color: ${baseColors.warmWhite};\r\n }\r\n`;","import {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchInputAreaDefaultBox} from \"./search-input-area.default.box\";\r\nimport {SearchInputAreaCasino777Box} from \"./search-input-area.casino777.box\";\r\nimport {SearchInputArenaHarrahsBox} from \"./search-input-area.harrahs.box\";\r\nimport {SearchInputAreaCasino888Box} from \"./search-input-area.casino888.box\";\r\nimport {SearchInputAreaBallysDoverBox} from \"./search-input-area.ballysdover.box\";\r\nimport {SearchInputAreaDelawareParkBox} from \"./search-input-area.delawarepark.box\";\r\nimport {SearchInputAreaHarringtonBox} from \"./search-input-area.harrington.box\";\r\nimport {SearchInputArenaSIBox} from \"./search-input-arena.si.box\";\r\nimport {SearchInputAreaMrGreenBox} from \"./search-input-area.mrgreen.box\";\r\nimport { SearchInputAreaMrGreenCisBox } from \"./search-input-area.mrgreenCis.box\";\r\n\r\n\r\nexport const SearchInputAreaBox = styledByTheme(SearchInputAreaDefaultBox)\r\n .forCasino888(SearchInputAreaCasino888Box)\r\n .forCasino777(SearchInputAreaCasino777Box)\r\n .forHarrahs(SearchInputArenaHarrahsBox)\r\n .forBallysDover(SearchInputAreaBallysDoverBox)\r\n .forDelawarePark(SearchInputAreaDelawareParkBox)\r\n .forHarrington(SearchInputAreaHarringtonBox)\r\n .forSI(SearchInputArenaSIBox)\r\n .forSICis(SearchInputArenaSIBox)\r\n .forMrGreen(SearchInputAreaMrGreenBox)\r\n .forMrGreenCis(SearchInputAreaMrGreenCisBox)\r\n .apply();\r\n","import React from 'react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {observer} from 'mobx-react';\r\nimport {SearchInputAreaBox} from \"./boxes/search-input-area-box/search-input-area.box\";\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\n\r\nexport const SearchInputArea = observer(class SearchInputArea extends OrbitComponent<{}> {\r\n\r\n private _timeoutRef = null;\r\n private readonly HIDE_KEYBOARD_DELAY_MS: number = 2000;\r\n\r\n private _onChangeHandler = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n }\r\n\r\n private _onChangeHandlerWithBlur = (event: React.ChangeEvent) => {\r\n this.services.gameSearch.search(event.target.value);\r\n\r\n if (this._timeoutRef) {\r\n clearTimeout(this._timeoutRef);\r\n }\r\n\r\n this._timeoutRef = setTimeout(() => {\r\n this._timeoutRef = null;\r\n if (this.services.gameSearch.currentSearchText) {\r\n this.services.gameSearch.searchInputRef.current?.blur();\r\n }\r\n }, this.HIDE_KEYBOARD_DELAY_MS);\r\n };\r\n\r\n private _onClickHandler = () => {\r\n this.services.gameSearch.openSearchResult();\r\n };\r\n\r\n render() {\r\n\r\n const onChangeHandler = this.services.device.isMobile ? this._onChangeHandlerWithBlur : this._onChangeHandler;\r\n\r\n return (\r\n \r\n );\r\n }\r\n});\r\n","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../../../base-components/orbit-component/orbit-component';\r\nimport {SearchClearIconBox} from \"./boxes/search-clear-icon/search-clear-icon.box\";\r\nimport {SearchInputMobileBox} from \"./boxes/search-input-mobile/search-input-mobile.box\";\r\nimport {SearchBoxMobileIconBox} from \"./boxes/search-box-mobile-icon/search-box-mobile-icon.box\";\r\nimport {SearchInputArea} from \"../search-input-area/search-input-area\";\r\nimport {CyClass} from \"../../../../../common/cy-classes\";\r\n\r\ninterface SearchInputMobileComponentProps {\r\n isSearchOpenAlways?: boolean;\r\n}\r\n\r\nexport const SearchInputMobileComponent = observer(\r\n class SearchInputMobileComponent extends OrbitComponent {\r\n private _onResetSearchTextHandler = () => {\r\n this.services.gameSearch.search('');\r\n this.services.gameSearch.searchInputRef?.current?.focus();\r\n };\r\n\r\n private get _showResetSearchIcon(): boolean {\r\n return (this.services.gameSearch.currentSearchText || '').length > 0;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n);\r\n","import {SearchInputFormDefaultBox} from \"./search-input-form.default.box\";\r\n\r\nexport const SearchInputFormBox = SearchInputFormDefaultBox;","import styled from \"styled-components\";\r\n\r\nexport const SearchInputFormDefaultBox = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n`;","import styled from \"styled-components\";\r\n\r\nexport const SearchPCIconBoxDefault = styled.i`\r\n display: block;\r\n position: absolute;\r\n top: 50%;\r\n left: 0.65rem;\r\n transform: translateY(-50%) scaleX(-1);;\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n z-index: 2;\r\n pointer-events: none;\r\n color: ${props => props.theme.colors.textLight};\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchPCIconCasino777Box = styled(SearchPCIconBoxDefault)`\r\n opacity: 0.5;\r\n\r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchPCIconHarrahsBox = styled(SearchPCIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {SearchInputFormBox} from \"../search-input-form/search-input-form.box\";\r\n\r\nexport const SearchPCIconWSOPBox = styled(SearchPCIconBoxDefault)`\r\n opacity: 0.5;\r\n \r\n ${SearchInputFormBox}:hover & {\r\n opacity: 1\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\n\r\n// because on MrGreen the border of the search input is 2px instead of 1px we must adjust the position of the icon\r\nexport const SearchPCIconMrGreenBox = styled(SearchPCIconBoxDefault)`\r\n left: 0.8rem;\r\n`;","import {SearchPCIconBoxDefault} from \"./search-pc-icon.default.box\";\r\nimport {styledByTheme} from \"../../../../../../themes/architecture/styled-by-theme\";\r\nimport {SearchPCIconCasino777Box} from \"./search-pc-icon.casino777.box\";\r\nimport {SearchPCIconHarrahsBox} from \"./search-pc-icon.harrahs.box\";\r\nimport {SearchPCIconWSOPBox} from \"./search-pc-icon.wsop.box\";\r\nimport {SearchPCIconMrGreenBox} from \"./search-pc-icon.mrgreen.box\";\r\n\r\nexport const SearchPCIconBox = styledByTheme(SearchPCIconBoxDefault)\r\n .forCasino777(SearchPCIconCasino777Box)\r\n .forHarrahs(SearchPCIconHarrahsBox)\r\n .forWsop(SearchPCIconWSOPBox)\r\n .forMrGreen(SearchPCIconMrGreenBox)\r\n .forMrGreenCis(SearchPCIconMrGreenBox)\r\n .apply();","import {OrbitComponent} from \"../../../base-components/orbit-component/orbit-component\";\r\nimport React from \"react\";\r\nimport {SearchInputArea} from \"../search-input-area/search-input-area\";\r\nimport {SearchInputFormBox} from \"./boxes/search-input-form/search-input-form.box\";\r\nimport {SearchPCIconBox} from \"./boxes/search-pc-icon/search-pc-icon.box\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nexport const SearchInputPCComponent = observer(class SearchInputPCComponent extends OrbitComponent {\r\n render() {\r\n const SearchIcon = this.services.theme.currentTheme.icons.searchIcon;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n});","import styled, {css} from \"styled-components\";\r\nimport {styledByDevice} from \"../../../../themes/architecture/styled-by-device\";\r\n\r\ninterface GameSearchDefaultBoxProps {\r\n open: boolean;\r\n}\r\n\r\nconst GameSearchMobileDefaultBox = styled.div`\r\n ${({open}) => open && css`\r\n flex: 1;\r\n `}\r\n`;\r\n\r\nconst GameSearchPCDefaultBox = styled.div`\r\n position: relative;\r\n display: flex;\r\n`;\r\n\r\n\r\nexport const GameSearchDefaultBox: any = styledByDevice(GameSearchPCDefaultBox, GameSearchMobileDefaultBox);","import styled from \"styled-components\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\n\r\nexport const GameSearchMrGreenCisBox = styled(GameSearchDefaultBox)`\r\n height: 100%;\r\n background: linear-gradient(177.59deg, \r\n ${({theme}) => theme.colors.brandPrimary} 12.03%,\r\n ${({theme}) => theme.colors.brandPrimaryDark} 27.06%, \r\n ${({theme}) => theme.colors.brandPrimaryDark} 37.9%);\r\n`;","import { styledByTheme } from \"../../../../themes/architecture/styled-by-theme\";\r\nimport { GameSearchDefaultBox } from \"./game-search.default.box\";\r\nimport { GameSearchMrGreenCisBox } from \"./game-search.mrgreenCis.box\";\r\n\r\nexport const GameSearchBox = styledByTheme(GameSearchDefaultBox)\r\n .forMrGreenCis(GameSearchMrGreenCisBox)\r\n .forMrGreenCip(GameSearchMrGreenCisBox)\r\n .apply();","import React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport {OrbitComponent} from '../base-components/orbit-component/orbit-component';\r\nimport {SearchResultComponent} from './search-result/search-result.component';\r\nimport {SearchInputMobileComponent} from \"./search-input/search-input-mobile/search-input-mobile.component\";\r\nimport {SearchInputPCComponent} from \"./search-input/search-input-pc/search-input-pc.component\";\r\nimport {GameSearchBox} from \"./boxes/game-search-box/game-search.box\";\r\nimport {CyClass} from '../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\nexport interface IGameSearchComponentProps {\r\n className?: string;\r\n}\r\n\r\nexport const GameSearchComponent = observer(\r\n class GameSearchComponent extends OrbitComponent {\r\n _renderSearchInput() {\r\n return this.services.device.isMobile ? : ;\r\n }\r\n\r\n private _onUpdate = () => {\r\n this.services.gameSearch.searchResultComponentRef.current?.scrollTo(0, 0);\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n this.services.gameSearch.searchInputRef?.current.addEventListener(\"input\", this._onUpdate);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.services.gameSearch.searchInputRef?.current.removeEventListener(\"input\", this._onUpdate);\r\n super.componentWillUnmount();\r\n }\r\n \r\n render() {\r\n return (\r\n \r\n {this._renderSearchInput()}\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n);\r\n","import {MenuItemConfigReaderBase} from \"./menu-item-config-reader-base\";\r\nimport {\r\n MenuItemsConfiguration\r\n} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {MenuItemAnalyticsCategoryAndLabel} from \"./menu-item-config-reader.interface\";\r\n\r\nexport class MenuItemDefaultConfigReader extends MenuItemConfigReaderBase {\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return undefined;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel | null {\r\n return null;\r\n }\r\n}","import React, {createRef} from \"react\";\r\nimport {ServiceBase} from '../ServiceBase';\r\nimport {IGameSearchService} from './game-search.service.interface';\r\nimport {DomEventSubscription} from '../../../utils/event-listener-registration';\r\nimport {action, computed, observable, makeObservable} from 'mobx';\r\nimport {\r\n SearchLinkSuggestion,\r\n GameSearchResult,\r\n GameSuggestion,\r\n ISearchSuggestion,\r\n SUGGESTED_CATEGORIES\r\n} from './game-search-result';\r\nimport {SuggestedLinkConfiguration} from '../configurations/config-data-sections/game-search-box.configuration';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {IServiceFactoryExtended} from '../service-factory-extended.interface';\r\nimport {GameInfo, gameInfoComparerByTitle} from '../games/game-info';\r\nimport {IModalDialogHandler} from \"../dialog/dialog.service.interface\";\r\nimport {GameSearchComponent} from \"../../components/game-search/game-search.component\";\r\nimport {removeSpecialCharacters} from \"../../../utils/string-helpers\";\r\nimport {LIST_TYPE_ID} from \"../../../common/const/ai-trending-list-ids-map\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemAction} from \"../menu-item-action-factory/menu-item-action.interface\";\r\nimport {\r\n MenuItemDefaultConfigReader\r\n} from \"../menu-items-common/menu-item-config-reader/menu-item-default-config-reader\";\r\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\r\n\r\nexport class GameSearchService extends ServiceBase implements IGameSearchService, IOverlayConsumer {\r\n\r\n private _closeMobileSideMenuOnSearchClose: boolean = false;\r\n\r\n constructor(services: IServiceFactoryExtended) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.overlay.registerConsumer(this);\r\n\r\n this._menuItemConfigReader = new MenuItemDefaultConfigReader(services);\r\n\r\n\r\n this.reaction(() => this.services.games.gamesMap,\r\n () => {\r\n //this is to avoid circular dependency between this service and ISearchSuggestion implementations\r\n setTimeout(() => {\r\n this._resetGamesSearchListCache();\r\n this.search(this.currentSearchText);\r\n });\r\n\r\n }, {\r\n fireImmediately: true\r\n });\r\n\r\n this.reaction(() => {\r\n return {\r\n trendingRecommendedGamesForPlayerByBets: this.services.aiEngine.trendingRecommendedGamesForPlayerByBets,\r\n aiRecommendedGames: this.services.aiEngine.aiRecommendedGames\r\n }\r\n },\r\n () => {\r\n if (!this.isSearchInProgress) {\r\n this._setDefaultSearchResult();\r\n }\r\n });\r\n }\r\n\r\n private readonly _menuItemConfigReader: MenuItemDefaultConfigReader;\r\n\r\n private _miniOrbitSearchBoxDialogHandler: IModalDialogHandler | null = null;\r\n\r\n private _searchInputRef: React.RefObject = createRef();\r\n private _searchComponentRef: React.RefObject = createRef();\r\n private _searchResultComponentRef: React.RefObject = createRef();\r\n\r\n private _gamesSearchListCache: GameInfo[] | null = null;\r\n private get gamesSearchList(): GameInfo[] {\r\n if (!this._gamesSearchListCache) {\r\n this._gamesSearchListCache = this._buildGamesSearchList()\r\n }\r\n\r\n return this._gamesSearchListCache;\r\n }\r\n\r\n getMenuItemAction(key: MenuItemKey): IMenuItemAction {\r\n return this.services.menuItemActionFactory.getMenuItemAction(key, this._menuItemConfigReader);\r\n }\r\n _resetGamesSearchListCache() {\r\n this._gamesSearchListCache = null;\r\n }\r\n\r\n private _buildGamesSearchList(): GameInfo[] {\r\n return Object.values(this.services.games.gamesMap).sort(gameInfoComparerByTitle);\r\n }\r\n\r\n private _openMiniOrbitSearchDialog(): void {\r\n this.services.dialog.showModal((dialogHandler) => {\r\n this._miniOrbitSearchBoxDialogHandler = dialogHandler;\r\n return ();\r\n }, {\r\n title: ' ',\r\n onClosed: () => this.closeSearchResult(),\r\n forceFullscreenTablet: true\r\n });\r\n }\r\n\r\n get needsOverlay(): boolean {\r\n return this.isSearchBoxOpened;\r\n }\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n onOverlayClicked() {\r\n this.closeSearchResult();\r\n }\r\n\r\n private _openFullOrbitSearchResult() {\r\n this._disposeDocumentClickSubscription();\r\n /*\r\n * Handle search result close on document click\r\n * Wonder why we use setTimeout? From React 17 the events are bound to react-dom root element instead of window.document\r\n * Read more here: https://github.com/facebook/react/issues/20636\r\n */\r\n setTimeout(() => {\r\n this._documentClickSubscription = this.services.dom.subscribeTo.click(this._handleClickOutsideSearchComponent);\r\n });\r\n\r\n }\r\n\r\n get searchInputRef() {\r\n return this._searchInputRef;\r\n }\r\n\r\n get searchComponentRef() {\r\n return this._searchComponentRef;\r\n }\r\n\r\n get searchResultComponentRef() {\r\n return this._searchResultComponentRef;\r\n }\r\n\r\n openSearchResult(): void {\r\n if (this.isSearchBoxOpened) { //No need to open it if is already opened\r\n return;\r\n }\r\n\r\n if (this.services.miniOrbit.isEnabled) {\r\n this._openMiniOrbitSearchDialog();\r\n } else {\r\n this._openFullOrbitSearchResult();\r\n }\r\n\r\n this._setIsSearchBoxOpened(true);\r\n\r\n this.searchInputRef?.current?.focus();\r\n\r\n if (this.services.device.isMobile) {\r\n this._closeMobileSideMenuOnSearchClose = !this.services.sideMenu.isMobileMenuOpen;\r\n if (!this.services.sideMenu.isMobileMenuOpen) {\r\n this.services.sideMenu.openMobileMenu();\r\n }\r\n }\r\n\r\n this.services.analytics.sendOrbitUserFlowEvent(\"Navigation\", this.services.routing.currentRoute?.data?.arenaType || 'Header', 'Search_Open');\r\n }\r\n\r\n\r\n private _documentClickSubscription: DomEventSubscription | null = null;\r\n\r\n private _disposeDocumentClickSubscription() {\r\n if (this._documentClickSubscription) {\r\n this._documentClickSubscription.dispose();\r\n this._documentClickSubscription = null;\r\n }\r\n }\r\n\r\n\r\n private _closeMiniOrbitSearchDialog = () => {\r\n if (this._miniOrbitSearchBoxDialogHandler) {\r\n this._miniOrbitSearchBoxDialogHandler.close();\r\n this._miniOrbitSearchBoxDialogHandler = null;\r\n }\r\n };\r\n\r\n\r\n private _closeFullOrbitSearchResult = () => {\r\n this._disposeDocumentClickSubscription();\r\n };\r\n\r\n private _handleClickOutsideSearchComponent = (event) => {\r\n if (this._searchComponentRef.current && !this._searchComponentRef.current.contains(event.target)) {\r\n this.closeSearchResult();\r\n }\r\n }\r\n\r\n closeSearchResult = () => {\r\n if (!this.isSearchBoxOpened) { //if is already closed don't close it again\r\n return;\r\n }\r\n if (this.services.miniOrbit.isEnabled) {\r\n this._closeMiniOrbitSearchDialog();\r\n } else {\r\n this._closeFullOrbitSearchResult();\r\n }\r\n\r\n if (this._closeMobileSideMenuOnSearchClose) {\r\n this._closeMobileSideMenuOnSearchClose = false;\r\n this.services.sideMenu.closeMobileMenu();\r\n }\r\n\r\n this._setIsSearchBoxOpened(false);\r\n\r\n //Will called when search box close or when game is selected (And closing the results as well)\r\n if (this.isSearchInProgress)\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Search, 'Entry', this.currentSearchText);\r\n\r\n this._setCurrentSearchText('');\r\n this._setDefaultSearchResult();\r\n };\r\n\r\n private _getGameSuggestion() {\r\n const gamesSuggestions: GameSuggestion[] = [];\r\n let aiSortingTypeForAnalytics: string = \"byactiveusers\";\r\n let aiGames = this.services.aiEngine.trendingRecommendedGamesForPlayerByActiveUsers;\r\n\r\n if (!(aiGames?.length > 0)) {\r\n aiSortingTypeForAnalytics = 'config';\r\n aiGames = this.services.configuration.data.search.suggestedGames;\r\n }\r\n\r\n aiGames.forEach(gameType => {\r\n const gameInfo = this.services.games.gamesMap[gameType];\r\n\r\n if (!Check.isNullOrUndefined(gameInfo)) {\r\n gamesSuggestions.push(new GameSuggestion(this.services, gameInfo, `Suggested_Games_${aiSortingTypeForAnalytics}`, gamesSuggestions.length, aiSortingTypeForAnalytics))\r\n }\r\n });\r\n\r\n return gamesSuggestions.slice(0, 6);\r\n }\r\n\r\n private _setDefaultSearchResult() {\r\n const quickLinks = this.services.configuration.data.search.quickLinks\r\n .map(quickLinkConfig => new SearchLinkSuggestion(quickLinkConfig, this.services, 'Quick_Links'));\r\n\r\n this._setSearchResult(new GameSearchResult([], quickLinks, this._getGameSuggestion()));\r\n }\r\n\r\n @computed\r\n get isSearchInProgress(): boolean {\r\n return this.currentSearchText.length >= 2;\r\n }\r\n\r\n @observable.ref\r\n isSearchBoxOpened: boolean = false;\r\n @action.bound\r\n private _setIsSearchBoxOpened(value: boolean) {\r\n this.isSearchBoxOpened = value;\r\n }\r\n\r\n @observable.ref\r\n currentSearchText: string = '';\r\n\r\n @action.bound\r\n private _setCurrentSearchText(value: string): void {\r\n this.currentSearchText = value;\r\n }\r\n\r\n search(text: string): void {\r\n text = text || '';\r\n\r\n if (!this.isSearchBoxOpened && text.length > 0) {\r\n this.openSearchResult();\r\n }\r\n\r\n this._setCurrentSearchText(text);\r\n\r\n if (this.isSearchInProgress) { //we only search if there are at least 2 characters typed in the search box\r\n let regEx = new RegExp(removeSpecialCharacters(text), 'gi');\r\n this._setSearchResult(this._getSearchResult(regEx));\r\n } else {\r\n this._setDefaultSearchResult();\r\n }\r\n }\r\n\r\n\r\n private _getSearchResult(regEx: RegExp): GameSearchResult {\r\n let games = this._searchForGames(regEx);\r\n let suggestedCategories: ISearchSuggestion[];\r\n if (games.length === 0) {\r\n suggestedCategories = this._getDefaultSuggestedCategories();\r\n } else {\r\n suggestedCategories = this._searchForSuggestedCategories(regEx);\r\n }\r\n\r\n return new GameSearchResult(games, suggestedCategories, this._getGameSuggestion());\r\n }\r\n\r\n @observable.ref\r\n searchResult: GameSearchResult;\r\n\r\n @action.bound\r\n private _setSearchResult(value: GameSearchResult) {\r\n this.searchResult = value;\r\n }\r\n\r\n private _searchForGames(regEx: RegExp): ISearchSuggestion[] {\r\n\r\n const result: GameInfo[] = [];\r\n const gameTypeToGameInfoObj = {};\r\n 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