@truelab/truelogic 4.3.2-0 → 4.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/628.1b8fee4a.css +1 -0
- package/dist/preloader.html +1 -1
- package/dist/truelogic.min.css +1 -1
- package/dist/truelogic.min.js +1 -1
- package/dist/types/src/entities/bonus/ui/BonusConfirmButtonBase/BonusConfirmButtonBase.d.ts +9 -1
- package/dist/types/src/entities/bonus/ui/BonusConfirmButtonBase/BonusConfirmButtonBase.stories.d.ts +7 -1
- package/dist/types/src/shared/lib/classes/analyticsService.d.ts +4 -17
- package/dist/types/src/shared/lib/classes/emitter.d.ts +0 -2
- package/dist/types/src/shared/lib/functions/index.d.ts +0 -1
- package/dist/types/src/shared/lib/hooks/useHold.d.ts +8 -3
- package/dist/types/src/shared/lib/singletones/analyticsEmitter.d.ts +0 -6
- package/dist/types/src/shared/lib/singletones/index.d.ts +0 -1
- package/package.json +1 -1
- package/dist/628.7204612b.css +0 -1
- package/dist/types/src/app/lib/hooks/useGameLoadAnalytics.d.ts +0 -11
- package/dist/types/src/app/lib/hooks/useGameLoadAnalytics.test.d.ts +0 -1
- package/dist/types/src/shared/lib/classes/emitter.test.d.ts +0 -1
- package/dist/types/src/shared/lib/classes/gameLoadTracker.d.ts +0 -67
- package/dist/types/src/shared/lib/classes/gameLoadTracker.test.d.ts +0 -1
- package/dist/types/src/shared/lib/functions/getLoadEnvironment.d.ts +0 -12
- package/dist/types/src/shared/lib/functions/getLoadEnvironment.test.d.ts +0 -1
- package/dist/types/src/shared/lib/singletones/gameLoadTracker.d.ts +0 -2
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
import { PointerEventHandler } from 'react';
|
|
1
2
|
type TProps = {
|
|
2
3
|
onClick: (event: React.MouseEvent) => void;
|
|
3
4
|
cashPrice: number;
|
|
4
5
|
disabled: boolean;
|
|
5
6
|
/** Bonus mode is selected: the spin becomes the confirm control and shows the price chip */
|
|
6
7
|
isActive?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* The control is held — a pointer on it or Space down; the panel owns the hold (useHold), as it
|
|
10
|
+
* does for the spin this control stands in for. Not `:active`: Blink sets that for a touch too
|
|
11
|
+
* late for a quick tap to show it, and a hotkey never sets it at all (GTT-2754)
|
|
12
|
+
*/
|
|
13
|
+
isPressed?: boolean;
|
|
14
|
+
onPointerDown?: PointerEventHandler<HTMLButtonElement>;
|
|
7
15
|
};
|
|
8
|
-
export declare const BonusConfirmButtonBase: ({ onClick, cashPrice, disabled, isActive }: TProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare const BonusConfirmButtonBase: ({ onClick, onPointerDown, cashPrice, disabled, isActive, isPressed, }: TProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
17
|
export {};
|
package/dist/types/src/entities/bonus/ui/BonusConfirmButtonBase/BonusConfirmButtonBase.stories.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
declare const meta: {
|
|
2
2
|
title: string;
|
|
3
|
-
component: ({ onClick, cashPrice, disabled, isActive }: {
|
|
3
|
+
component: ({ onClick, onPointerDown, cashPrice, disabled, isActive, isPressed, }: {
|
|
4
4
|
onClick: (event: React.MouseEvent) => void;
|
|
5
5
|
cashPrice: number;
|
|
6
6
|
disabled: boolean;
|
|
7
7
|
isActive?: boolean;
|
|
8
|
+
isPressed?: boolean;
|
|
9
|
+
onPointerDown?: import("react").PointerEventHandler<HTMLButtonElement>;
|
|
8
10
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
10
12
|
parameters: {};
|
|
@@ -20,8 +22,12 @@ export declare const Variants: import("storybook/internal/csf").StoryAnnotations
|
|
|
20
22
|
cashPrice: number;
|
|
21
23
|
disabled: boolean;
|
|
22
24
|
isActive?: boolean;
|
|
25
|
+
isPressed?: boolean;
|
|
26
|
+
onPointerDown?: import("react").PointerEventHandler<HTMLButtonElement>;
|
|
23
27
|
}, {
|
|
24
28
|
isActive?: boolean;
|
|
29
|
+
isPressed?: boolean;
|
|
30
|
+
onPointerDown?: import("react").PointerEventHandler<HTMLButtonElement>;
|
|
25
31
|
onClick?: (event: React.MouseEvent) => void;
|
|
26
32
|
cashPrice?: number;
|
|
27
33
|
disabled?: boolean;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
type TAnalyticsParameterValue = boolean | number | string
|
|
2
|
-
|
|
3
|
-
export type TAnalyticsCustomParams = {
|
|
4
|
-
[name: string]: TAnalyticsParameterValue | undefined;
|
|
5
|
-
};
|
|
1
|
+
type TAnalyticsParameterValue = boolean | number | string;
|
|
2
|
+
export type TAnalyticsCustomParams = Record<string, TAnalyticsParameterValue | undefined>;
|
|
6
3
|
export declare enum EAnalyticsEvents {
|
|
7
4
|
modeReal = "mode_real",
|
|
8
5
|
modeDemo = "mode_demo",
|
|
@@ -41,24 +38,14 @@ export declare enum EAnalyticsEvents {
|
|
|
41
38
|
spinHold = "spin_hold",
|
|
42
39
|
bonusPurchase = "bonus_purchase",
|
|
43
40
|
bonusBetActivate = "bonus_bet_activate",
|
|
44
|
-
timeToBuyBonus = "time_to_buy_bonus"
|
|
45
|
-
gameLoadCdn = "game_load_cdn",
|
|
46
|
-
gameLoadInit = "game_load_init",
|
|
47
|
-
gameLoadPreload = "game_load_preload",
|
|
48
|
-
gameLoadLoading = "game_load_loading",
|
|
49
|
-
gameLoadGameCode = "game_load_game_code",
|
|
50
|
-
gameLoadTime = "game_load_time",
|
|
51
|
-
gameLoadFailed = "game_load_failed",
|
|
52
|
-
gameLoadAbandoned = "game_load_abandoned",
|
|
53
|
-
gameLoadEnv = "game_load_env"
|
|
41
|
+
timeToBuyBonus = "time_to_buy_bonus"
|
|
54
42
|
}
|
|
55
43
|
export declare enum EAnalyticsCategories {
|
|
56
44
|
settings = "settings_changes",
|
|
57
45
|
ui = "ui_interaction",
|
|
58
46
|
gameplay = "gameplay_events",
|
|
59
47
|
mode = "game_mode",
|
|
60
|
-
config = "session_config"
|
|
61
|
-
performance = "performance"
|
|
48
|
+
config = "session_config"
|
|
62
49
|
}
|
|
63
50
|
export type TEventOptions = {
|
|
64
51
|
value?: number;
|
|
@@ -5,8 +5,6 @@ export declare abstract class Emitter<TEvents extends Record<keyof TEvents, TVoi
|
|
|
5
5
|
protected listenersOneTime: Map<keyof TEvents, TVoidFunc[]>;
|
|
6
6
|
on<K extends keyof TEvents>(event: K, listener: TEvents[K]): this;
|
|
7
7
|
once<K extends keyof TEvents>(event: K, listener: TEvents[K]): this;
|
|
8
|
-
/** Removes a listener added with `on` or `once`; unknown listeners are ignored */
|
|
9
|
-
off<K extends keyof TEvents>(event: K, listener: TEvents[K]): this;
|
|
10
8
|
emit<K extends keyof TEvents>(event: K, ...args: Parameters<TEvents[K]>): void;
|
|
11
9
|
abstract log(event: unknown, ...args: unknown[]): void;
|
|
12
10
|
}
|
|
@@ -7,7 +7,6 @@ export { formatCount } from './formatCount';
|
|
|
7
7
|
export { formatDate } from './formatDate';
|
|
8
8
|
export { formatTime } from './formatTime';
|
|
9
9
|
export { getBase64Image } from './getBase64Image';
|
|
10
|
-
export { getLoadEnvironment } from './getLoadEnvironment';
|
|
11
10
|
export { getSafeLocale } from './getSafeLocale';
|
|
12
11
|
export { getUrlParam } from './getUrlParam';
|
|
13
12
|
export { isE2E } from './isE2E';
|
|
@@ -3,11 +3,16 @@ export type THoldSource = 'pointer' | 'key';
|
|
|
3
3
|
type THoldOptions = {
|
|
4
4
|
/** The control is held while one of these keys is down (`KeyboardEvent.code`) */
|
|
5
5
|
keys?: readonly string[];
|
|
6
|
-
/** How long the control must stay held for `onHold` to fire */
|
|
7
|
-
holdDelay
|
|
6
|
+
/** How long the control must stay held for `onHold` to fire; a control with no hold action omits it */
|
|
7
|
+
holdDelay?: number;
|
|
8
8
|
onPress?: (source: THoldSource) => void;
|
|
9
9
|
onHold?: (source: THoldSource) => void;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* `isCancelled` — the hold ended without the player letting go: a pointercancel, a window blur,
|
|
12
|
+
* another press taking over, the hook getting disabled or unmounted. An action that lands on the
|
|
13
|
+
* release (like a click does) must skip those
|
|
14
|
+
*/
|
|
15
|
+
onRelease?: (source: THoldSource, isCancelled: boolean) => void;
|
|
11
16
|
/** Turning it off releases a hold in progress: a lock (a modal) must not leave the action stuck on */
|
|
12
17
|
isEnabled?: boolean;
|
|
13
18
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { TSessionMode } from '../../../shared/api/config';
|
|
2
2
|
import { TAnalyticsCustomParams } from '../../../shared/lib/classes/analyticsService';
|
|
3
|
-
import { TGameLoadPhase } from '../../../shared/lib/classes/gameLoadTracker';
|
|
4
3
|
import { Emitter } from '../classes';
|
|
5
4
|
import { TOrientation } from '../types/viewPort';
|
|
6
5
|
type TEventOptions = {
|
|
@@ -100,11 +99,6 @@ export type TAnalyticsEvents = {
|
|
|
100
99
|
['walletConvertSuccess:continuePlayingClicked']: (params: TAnalyticsCustomParams) => void;
|
|
101
100
|
['bonus:purchase']: (options: TEventOptions) => void;
|
|
102
101
|
['bonus:betActivate']: (options: TEventOptions) => void;
|
|
103
|
-
['gameLoad.phase:completed']: (phase: TGameLoadPhase, params: TAnalyticsCustomParams) => void;
|
|
104
|
-
['gameLoad:completed']: (params: TAnalyticsCustomParams) => void;
|
|
105
|
-
['gameLoad:failed']: (params: TAnalyticsCustomParams) => void;
|
|
106
|
-
['gameLoad:abandoned']: (params: TAnalyticsCustomParams) => void;
|
|
107
|
-
['gameLoad:finished']: (params: TAnalyticsCustomParams) => void;
|
|
108
102
|
};
|
|
109
103
|
export declare class AnalyticsEmitter extends Emitter<TAnalyticsEvents> {
|
|
110
104
|
log(event: string, ...args: unknown[]): void;
|
|
@@ -4,7 +4,6 @@ export { api } from './api';
|
|
|
4
4
|
export { cashService } from './cashService';
|
|
5
5
|
export type { TStakeResponse } from './gameEmitter';
|
|
6
6
|
export { gameEmitter } from './gameEmitter';
|
|
7
|
-
export { gameLoadTracker } from './gameLoadTracker';
|
|
8
7
|
export { logger } from './logger';
|
|
9
8
|
export { moduleEmitter } from './moduleEmitter';
|
|
10
9
|
export { utilsService } from './utilsService';
|
package/package.json
CHANGED
package/dist/628.7204612b.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties;@layer theme, base, components, utilities;@layer theme{:host,:root{--spacing:1px;--font-weight-normal:400;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4,0,0.2,1)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.\!top-6{top:calc(var(--spacing)*6)!important}.-top-1{top:calc(var(--spacing)*-1)}.-top-2{top:calc(var(--spacing)*-2)}.-top-5{top:calc(var(--spacing)*-5)}.-top-6{top:calc(var(--spacing)*-6)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-7{top:calc(var(--spacing)*7)}.top-8{top:calc(var(--spacing)*8)}.top-10{top:calc(var(--spacing)*10)}.top-12{top:calc(var(--spacing)*12)}.top-16{top:calc(var(--spacing)*16)}.top-28{top:calc(var(--spacing)*28)}.top-40{top:calc(var(--spacing)*40)}.top-\[100\%\],.top-\[calc\(100\%\)\]{top:100%}.top-\[calc\(100\%-1px\)\]{top:calc(100% - 1px)}.top-auto{top:auto}.\!right-6{right:calc(var(--spacing)*6)!important}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.-right-3{right:calc(var(--spacing)*-3)}.-right-6{right:calc(var(--spacing)*-6)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing)*2)}.right-6{right:calc(var(--spacing)*6)}.right-8{right:calc(var(--spacing)*8)}.right-10{right:calc(var(--spacing)*10)}.right-14{right:calc(var(--spacing)*14)}.right-16{right:calc(var(--spacing)*16)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-10{bottom:calc(var(--spacing)*-10)}.bottom-0{bottom:0}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-39{bottom:calc(var(--spacing)*39)}.bottom-40{bottom:calc(var(--spacing)*40)}.-left-1{left:calc(var(--spacing)*-1)}.-left-2{left:calc(var(--spacing)*-2)}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-8{left:calc(var(--spacing)*8)}.left-10{left:calc(var(--spacing)*10)}.left-\[100\%\],.left-\[calc\(100\%\)\]{left:100%}.left-\[calc\(100\%-1px\)\]{left:calc(100% - 1px)}.isolate{isolation:isolate}.z-1{z-index:1}.z-2{z-index:2}.z-10{z-index:10}.z-30{z-index:30}.z-\[-1\]{z-index:-1}.z-\[71\]{z-index:71}.container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.m-0{margin:0}.mx-15{margin-inline:calc(var(--spacing)*15)}.mx-16{margin-inline:calc(var(--spacing)*16)}.mx-auto{margin-inline:auto}.my-30{margin-block:calc(var(--spacing)*30)}.\!mt-0{margin-top:0!important}.\!mt-5{margin-top:calc(var(--spacing)*5)!important}.\!mt-15{margin-top:calc(var(--spacing)*15)!important}.\!mt-16{margin-top:calc(var(--spacing)*16)!important}.-mt-3{margin-top:calc(var(--spacing)*-3)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-18{margin-top:calc(var(--spacing)*18)}.mt-20{margin-top:calc(var(--spacing)*20)}.mt-25{margin-top:calc(var(--spacing)*25)}.mr-6{margin-right:calc(var(--spacing)*6)}.\!mb-20{margin-bottom:calc(var(--spacing)*20)!important}.-mb-3{margin-bottom:calc(var(--spacing)*-3)}.-mb-10{margin-bottom:calc(var(--spacing)*-10)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-13{margin-bottom:calc(var(--spacing)*13)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-19{margin-bottom:calc(var(--spacing)*19)}.ml-8{margin-left:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.list-item{display:list-item}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.size-52{height:calc(var(--spacing)*52);width:calc(var(--spacing)*52)}.size-1000{height:calc(var(--spacing)*1000);width:calc(var(--spacing)*1000)}.\!h-17{height:calc(var(--spacing)*17)!important}.\!h-44{height:calc(var(--spacing)*44)!important}.h-1{height:var(--spacing)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-18{height:calc(var(--spacing)*18)}.h-20{height:calc(var(--spacing)*20)}.h-21{height:calc(var(--spacing)*21)}.h-26{height:calc(var(--spacing)*26)}.h-28{height:calc(var(--spacing)*28)}.h-32{height:calc(var(--spacing)*32)}.h-34{height:calc(var(--spacing)*34)}.h-36{height:calc(var(--spacing)*36)}.h-38{height:calc(var(--spacing)*38)}.h-40{height:calc(var(--spacing)*40)}.h-44{height:calc(var(--spacing)*44)}.h-46{height:calc(var(--spacing)*46)}.h-48{height:calc(var(--spacing)*48)}.h-50{height:calc(var(--spacing)*50)}.h-52{height:calc(var(--spacing)*52)}.h-54{height:calc(var(--spacing)*54)}.h-56{height:calc(var(--spacing)*56)}.h-60{height:calc(var(--spacing)*60)}.h-66{height:calc(var(--spacing)*66)}.h-70{height:calc(var(--spacing)*70)}.h-74{height:calc(var(--spacing)*74)}.h-104{height:calc(var(--spacing)*104)}.h-130{height:calc(var(--spacing)*130)}.h-165{height:calc(var(--spacing)*165)}.h-170{height:calc(var(--spacing)*170)}.h-180{height:calc(var(--spacing)*180)}.h-200{height:calc(var(--spacing)*200)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-\[calc\(100\%-40px-20px\)\]{max-height:calc(100% - 60px)}.max-h-full{max-height:100%}.min-h-18{min-height:calc(var(--spacing)*18)}.min-h-22{min-height:calc(var(--spacing)*22)}.min-h-26{min-height:calc(var(--spacing)*26)}.min-h-28{min-height:calc(var(--spacing)*28)}.min-h-full{min-height:100%}.\!w-17{width:calc(var(--spacing)*17)!important}.\!w-fit{width:fit-content!important}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-18{width:calc(var(--spacing)*18)}.w-20{width:calc(var(--spacing)*20)}.w-22{width:calc(var(--spacing)*22)}.w-26{width:calc(var(--spacing)*26)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-34{width:calc(var(--spacing)*34)}.w-36{width:calc(var(--spacing)*36)}.w-46{width:calc(var(--spacing)*46)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-54{width:calc(var(--spacing)*54)}.w-62{width:calc(var(--spacing)*62)}.w-66{width:calc(var(--spacing)*66)}.w-70{width:calc(var(--spacing)*70)}.w-74{width:calc(var(--spacing)*74)}.w-100{width:calc(var(--spacing)*100)}.w-120{width:calc(var(--spacing)*120)}.w-140{width:calc(var(--spacing)*140)}.w-170{width:calc(var(--spacing)*170)}.w-190{width:calc(var(--spacing)*190)}.w-192{width:calc(var(--spacing)*192)}.w-200{width:calc(var(--spacing)*200)}.w-240{width:calc(var(--spacing)*240)}.w-260{width:calc(var(--spacing)*260)}.w-280{width:calc(var(--spacing)*280)}.w-350{width:calc(var(--spacing)*350)}.w-362{width:calc(var(--spacing)*362)}.w-384{width:calc(var(--spacing)*384)}.w-\[calc\(50\%-10px\)\]{width:calc(50% - 10px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-100{max-width:calc(var(--spacing)*100)}.max-w-220{max-width:calc(var(--spacing)*220)}.max-w-230{max-width:calc(var(--spacing)*230)}.max-w-314{max-width:calc(var(--spacing)*314)}.max-w-354{max-width:calc(var(--spacing)*354)}.max-w-560{max-width:calc(var(--spacing)*560)}.max-w-604{max-width:calc(var(--spacing)*604)}.max-w-620{max-width:calc(var(--spacing)*620)}.max-w-\[50\%\]{max-width:50%}.max-w-full{max-width:100%}.\!min-w-0{min-width:0!important}.\!min-w-120{min-width:calc(var(--spacing)*120)!important}.\!min-w-167{min-width:calc(var(--spacing)*167)!important}.\!min-w-170{min-width:calc(var(--spacing)*170)!important}.min-w-0{min-width:0}.min-w-18{min-width:calc(var(--spacing)*18)}.min-w-22{min-width:calc(var(--spacing)*22)}.min-w-26{min-width:calc(var(--spacing)*26)}.min-w-28{min-width:calc(var(--spacing)*28)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-82{min-width:calc(var(--spacing)*82)}.min-w-140{min-width:calc(var(--spacing)*140)}.min-w-180{min-width:calc(var(--spacing)*180)}.min-w-186{min-width:calc(var(--spacing)*186)}.min-w-200{min-width:calc(var(--spacing)*200)}.min-w-290{min-width:calc(var(--spacing)*290)}.min-w-1000{min-width:calc(var(--spacing)*1000)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.\!origin-top{transform-origin:top!important}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-x-0{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px}.translate-x-8{--tw-translate-x:calc(var(--spacing)*8)}.translate-x-20,.translate-x-8{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-20{--tw-translate-x:calc(var(--spacing)*20)}.translate-x-22{--tw-translate-x:calc(var(--spacing)*22)}.translate-x-22,.translate-x-\[-0\.5px\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-0\.5px\]{--tw-translate-x:-0.5px}.translate-x-\[-100\%\]{--tw-translate-x:-100%}.-translate-y-1\/2,.translate-x-\[-100\%\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-y-1\/2{--tw-translate-y:50%}.translate-y-1\/2,.translate-y-\[-4\.1px\]{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-4\.1px\]{--tw-translate-y:-4.1px}.translate-y-\[-100\%\]{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulseTransparent{animation:pulseTransparent 2.5s linear infinite}.\!cursor-default{cursor:default!important}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.grid-cols-\[1fr_80px\]{grid-template-columns:1fr 80px}.grid-cols-\[1fr_80px_80px\]{grid-template-columns:1fr 80px 80px}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-7{gap:calc(var(--spacing)*7)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-11{gap:calc(var(--spacing)*11)}.gap-12{gap:calc(var(--spacing)*12)}.gap-14{gap:calc(var(--spacing)*14)}.gap-16{gap:calc(var(--spacing)*16)}.gap-18{gap:calc(var(--spacing)*18)}.gap-20{gap:calc(var(--spacing)*20)}.gap-24{gap:calc(var(--spacing)*24)}.gap-x-12{column-gap:calc(var(--spacing)*12)}.gap-y-10{row-gap:calc(var(--spacing)*10)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.scroll-smooth{scroll-behavior:smooth}.rounded-3{border-radius:3px}.rounded-5{border-radius:5px}.rounded-6{border-radius:6px}.rounded-8{border-radius:8px}.rounded-10{border-radius:10px}.rounded-12{border-radius:12px}.rounded-14{border-radius:14px}.rounded-16{border-radius:16px}.rounded-20{border-radius:20px}.rounded-30{border-radius:30px}.rounded-full{border-radius:9999px}.rounded-t-10{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-20{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-tl-16{border-top-left-radius:16px}.rounded-tr-16{border-top-right-radius:16px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-y-2{border-block-style:var(--tw-border-style);border-block-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.\!border-transparent{border-color:#0000!important}.border-\[\#DA2929\]{border-color:#da2929}.border-transparent{border-color:#0000}.border-white{border-color:var(--colors-white)}.border-white-6{border-color:var(--colors-white-6)}.border-white-10{border-color:var(--colors-white-10)}.border-white-20{border-color:var(--colors-white-20)}.border-white-30{border-color:var(--colors-white-30)}.border-y-white-20{border-block-color:var(--colors-white-20)}.\!bg-brand-black{background-color:var(--colors-brand-black)!important}.bg-\[rgba\(255\,71\,102\,0\.2\)\]{background-color:#ff476633}.bg-\[rgba\(255\,96\,71\,0\.2\)\]{background-color:#ff604733}.bg-additional-2-70{background-color:var(--colors-additional-2-70)}.bg-black-20{background-color:var(--colors-black-20)}.bg-brand-black{background-color:var(--colors-brand-black)}.bg-main-ui{background-color:var(--colors-main-ui)}.bg-neon-rouge{background-color:var(--colors-neon-rouge)}.bg-transparent{background-color:initial}.bg-white{background-color:var(--colors-white)}.bg-white-6{background-color:var(--colors-white-6)}.bg-white-10{background-color:var(--colors-white-10)}.bg-white-20{background-color:var(--colors-white-20)}.bg-linear-to-b\/srgb{--tw-gradient-position:to bottom;@supports (background-image:linear-gradient(in lab,red,red)){--tw-gradient-position:to bottom in srgb}background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-l\/srgb{--tw-gradient-position:to left;@supports (background-image:linear-gradient(in lab,red,red)){--tw-gradient-position:to left in srgb}background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r\/srgb{--tw-gradient-position:to right;@supports (background-image:linear-gradient(in lab,red,red)){--tw-gradient-position:to right in srgb}background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-t\/srgb{--tw-gradient-position:to top;@supports (background-image:linear-gradient(in lab,red,red)){--tw-gradient-position:to top in srgb}background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-\[144deg\]{--tw-gradient-position:144deg}.bg-gradient-\[144deg\],.bg-gradient-\[270deg\]{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-\[270deg\]{--tw-gradient-position:270deg}.text-prize-drop{background-clip:text;background-image:var(--colors-gold);font-family:Roboto,Helvetica,sans-serif;font-size:18px;--tw-leading:21px;line-height:21px;--tw-font-weight:var(--font-weight-bold);color:#0000;font-weight:var(--font-weight-bold)}.bg-\[linear-gradient\(66deg\,\#D1003F_0\%\,\#D1003F_50\%\,\#FF844F_100\%\)\]{background-image:linear-gradient(66deg,#d1003f,#d1003f 50%,#ff844f)}.bg-add-gradient{background-image:var(--colors-add-gradient)}.bg-add-violet{background-image:var(--colors-add-violet)}.bg-green{background-image:var(--colors-green)}.bg-white-6-gradient{background-image:var(--colors-white-6-gradient)}.from-\[\#FFFFFF00\]{--tw-gradient-from:#fff0;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-main-ui{--tw-gradient-from:var(--colors-main-ui);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-main-ui-bleached-06{--tw-gradient-from:var(--colors-main-ui-bleached-06);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white-6{--tw-gradient-from:var(--colors-white-6);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[\#FFFFFF33\]{--tw-gradient-via:#fff3;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[53\.13\%\]{--tw-gradient-via-position:53.13%}.to-\[\#FFFFFF00\]{--tw-gradient-to:#fff0;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:#0000;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-white{fill:var(--colors-white)}.object-contain{object-fit:contain}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-12{padding:calc(var(--spacing)*12)}.p-14{padding:calc(var(--spacing)*14)}.p-16{padding:calc(var(--spacing)*16)}.p-17{padding:calc(var(--spacing)*17)}.p-20{padding:calc(var(--spacing)*20)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-10{padding-inline:calc(var(--spacing)*10)}.px-14{padding-inline:calc(var(--spacing)*14)}.px-15{padding-inline:calc(var(--spacing)*15)}.px-16{padding-inline:calc(var(--spacing)*16)}.px-20{padding-inline:calc(var(--spacing)*20)}.px-50{padding-inline:calc(var(--spacing)*50)}.px-60{padding-inline:calc(var(--spacing)*60)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-18{padding-block:calc(var(--spacing)*18)}.py-30{padding-block:calc(var(--spacing)*30)}.pt-7{padding-top:calc(var(--spacing)*7)}.pt-9{padding-top:calc(var(--spacing)*9)}.pt-14{padding-top:calc(var(--spacing)*14)}.pt-16{padding-top:calc(var(--spacing)*16)}.pt-20{padding-top:calc(var(--spacing)*20)}.pt-25{padding-top:calc(var(--spacing)*25)}.pt-30{padding-top:calc(var(--spacing)*30)}.pr-10{padding-right:calc(var(--spacing)*10)}.pr-14{padding-right:calc(var(--spacing)*14)}.pr-15{padding-right:calc(var(--spacing)*15)}.\!pb-30{padding-bottom:calc(var(--spacing)*30)!important}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-7{padding-bottom:calc(var(--spacing)*7)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-14{padding-bottom:calc(var(--spacing)*14)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-18{padding-bottom:calc(var(--spacing)*18)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pb-22{padding-bottom:calc(var(--spacing)*22)}.pb-30{padding-bottom:calc(var(--spacing)*30)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-12{padding-left:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-super-xs-reg{font-size:10px;--tw-leading:12px;line-height:12px;--tw-font-weight:var(--font-weight-normal)}.text-super-xs-reg,.text-xs-reg{color:var(--colors-white);font-family:Roboto,Helvetica,sans-serif;font-weight:var(--font-weight-normal)}.text-xs-reg{font-size:11px;--tw-leading:17px;line-height:17px;--tw-font-weight:var(--font-weight-normal)}.font-roboto{font-family:Roboto,Helvetica,sans-serif}.text-20{font-size:20px}.text-24{font-size:24px}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[25px\]{--tw-leading:25px;line-height:25px}.leading-\[38px\]{--tw-leading:38px;line-height:38px}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.tracking-\[0\.4px\]{--tw-tracking:0.4px;letter-spacing:.4px}.tracking-\[0\.96px\]{--tw-tracking:0.96px;letter-spacing:.96px}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-\[\#77DA29\]{color:#77da29}.text-\[\#DA2929\]{color:#da2929}.text-white{color:var(--colors-white)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-15{opacity:15%}.opacity-20{opacity:20%}.opacity-40{opacity:40%}.opacity-50{opacity:50%}.opacity-60{opacity:60%}.opacity-70{opacity:70%}.opacity-80{opacity:80%}.opacity-90{opacity:90%}.opacity-100{opacity:100%}.shadow-notify-modals{--tw-shadow:0 15px 30px var(--tw-shadow-color,#0000004d)}.ring-1,.shadow-notify-modals{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-white{--tw-ring-color:var(--colors-white)}.outline-hidden{--tw-outline-style:none;outline-style:none;@media (forced-colors:active){outline:2px solid #0000;outline-offset:2px}}.blur-\[9px\]{--tw-blur:blur(9px)}.blur-\[17px\],.blur-\[9px\]{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[17px\]{--tw-blur:blur(17px)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0px 1px 3px var(--tw-drop-shadow-color,#00000080));--tw-drop-shadow:drop-shadow(0px 1px 3px #00000080)}.drop-shadow,.drop-shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.2\)\]{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.2\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0003));--tw-drop-shadow:var(--tw-drop-shadow-size)}.drop-shadow-panel-button-icon{--tw-drop-shadow-size:drop-shadow(0px 1px 1px var(--tw-drop-shadow-color,#00000040));--tw-drop-shadow:drop-shadow(0px 1px 1px #00000040)}.drop-shadow-panel-button-icon,.grayscale{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[4px\]{--tw-backdrop-blur:blur(4px)}.backdrop-blur-\[10px\],.backdrop-blur-\[4px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[10px\]{--tw-backdrop-blur:blur(10px)}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-\[color\,opacity\]{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-transform{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-none{transition-property:none}.duration-200{--tw-duration:200ms;transition-duration:.2s}.duration-300{--tw-duration:300ms;transition-duration:.3s}.duration-1000{--tw-duration:1000ms;transition-duration:1s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.will-change-\[opacity\]{will-change:opacity}.will-change-transform{will-change:transform}.text-stroke-tap-anywhere{-webkit-text-stroke:2px var(--colors-main-ui-bleached-20);text-shadow:0 1px 3px #00000080;-webkit-text-fill-color:#fff;paint-order:stroke fill}.select-text{-webkit-user-select:text;user-select:text}.\[clip-path\:polygon\(0_calc\(100\%-1px\)\,_0_1px\,_calc\(100\%-1px\)_50\%\)\]{clip-path:polygon(0 calc(100% - 1px),0 1px,calc(100% - 1px) 50%)}.\[clip-path\:polygon\(50\%_calc\(100\%-1px\)\,_1px_0\,_calc\(100\%-1px\)_0\)\]{clip-path:polygon(50% calc(100% - 1px),1px 0,calc(100% - 1px) 0)}.mask-cut-br-large{mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34.57 34.57'%3E%3Cpath d='M34.57 0v4h-4a8 8 0 0 1-2.343 5.657l-18.57 18.57A8 8 0 0 1 4 30.57v4H0V0Z'/%3E%3C/svg%3E") right -4px bottom -4px /34.57px 34.57px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25'/%3E%3C/svg%3E") left -4px top -4px /calc(100% + 8px) calc(100% - 24.07px) no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25'/%3E%3C/svg%3E") left -4px bottom -4px /calc(100% - 24.07px) 34.57px no-repeat}.mask-cut-br-middle{mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27.42 27.42'%3E%3Cpath d='M27.42 0v4h-4a8 8 0 0 1-2.343 5.657l-11.42 11.42A8 8 0 0 1 4 23.42v4H0V0Z'/%3E%3C/svg%3E") right -4px bottom -4px /27.42px 27.42px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25'/%3E%3C/svg%3E") left -4px top -4px /calc(100% + 8px) calc(100% - 16.92px) no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25'/%3E%3C/svg%3E") left -4px bottom -4px /calc(100% - 16.92px) 27.42px no-repeat}.mask-cut-br-small{mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.96 25.96'%3E%3Cpath d='M25.96 0v4h-4a8 8 0 0 1-2.343 5.657l-9.96 9.96A8 8 0 0 1 4 21.96v4H0V0Z'/%3E%3C/svg%3E") right -4px bottom -4px /25.96px 25.96px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25'/%3E%3C/svg%3E") left -4px top -4px /calc(100% + 8px) calc(100% - 15.46px) no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25'/%3E%3C/svg%3E") left -4px bottom -4px /calc(100% - 15.46px) 25.96px no-repeat}.text-shadow{text-shadow:0 1px 2px #0000001a,0 1px 1px #0000000f}.group-last\:rounded-br-10:is(:where(.group):last-child *){border-bottom-right-radius:10px}.group-last\:rounded-bl-10:is(:where(.group):last-child *){border-bottom-left-radius:10px}@media (hover:hover){.group-hover\:opacity-80:is(:where(.group):hover *){opacity:80%}.group-hover\:transition-opacity:is(:where(.group):hover *){transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}}.group-active\:opacity-80:is(:where(.group):active *){opacity:80%}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:z-0:after{content:var(--tw-content);z-index:0}.after\:rounded-6:after{border-radius:6px;content:var(--tw-content)}.after\:rounded-8:after{border-radius:8px;content:var(--tw-content)}.after\:rounded-10:after{border-radius:10px;content:var(--tw-content)}.after\:transition-colors:after{content:var(--tw-content);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.after\:content-\[\"\"\]:after{--tw-content:"";content:var(--tw-content)}.first\:pt-0:first-child{padding-top:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.first-of-type\:rounded-l-12:first-of-type{border-bottom-left-radius:12px;border-top-left-radius:12px}.first-of-type\:border-l-2:first-of-type{border-left-style:var(--tw-border-style);border-left-width:2px}.first-of-type\:border-l-white-20:first-of-type{border-left-color:var(--colors-white-20)}.last-of-type\:rounded-r-12:last-of-type{border-bottom-right-radius:12px;border-top-right-radius:12px}.last-of-type\:border-r-2:last-of-type{border-right-style:var(--tw-border-style);border-right-width:2px}.last-of-type\:border-r-white-20:last-of-type{border-right-color:var(--colors-white-20)}@media (hover:hover){.hover\:bg-white-20:hover{background-color:var(--colors-white-20)}.hover\:bg-white-30:hover{background-color:var(--colors-white-30)}.hover\:opacity-80:hover{opacity:80%}.hover\:opacity-100:hover{opacity:100%}.hover\:after\:bg-white-10:hover:after{background-color:var(--colors-white-10);content:var(--tw-content)}}.focus\:placeholder-transparent:focus::placeholder{color:#0000}.active\:bg-white-6:active{background-color:var(--colors-white-6)}.active\:bg-white-20:active{background-color:var(--colors-white-20)}.active\:opacity-80:active{opacity:80%}.active\:opacity-90:active{opacity:90%}.disabled\:cursor-default:disabled{cursor:default}.disabled\:bg-white-10:disabled{background-color:var(--colors-white-10)}.disabled\:opacity-15:disabled{opacity:15%}.disabled\:opacity-40:disabled{opacity:40%}@media (hover:hover){.disabled\:hover\:after\:bg-transparent:disabled:hover:after{background-color:initial;content:var(--tw-content)}}.disabled\:active\:opacity-40:disabled:active{opacity:40%}@media (width >= 48rem){.md\:right-11{right:calc(var(--spacing)*11)}}._mobile._portrait .mp\:bottom-88{bottom:calc(var(--spacing)*88)}._mobile._portrait .mp\:bottom-110{bottom:calc(var(--spacing)*110)}._mobile._portrait .mp\:left-\[calc\(50\%-149px\)\]{left:calc(50% - 149px)}._mobile._portrait .mp\:left-\[calc\(50\%-191px\)\]{left:calc(50% - 191px)}._mobile._portrait .mp\:block{display:block}._mobile._portrait .mp\:hidden{display:none}._mobile._portrait .mp\:max-w-530{max-width:calc(var(--spacing)*530)}._mobile._portrait .mp\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}._mobile._portrait .mp\:gap-20{gap:calc(var(--spacing)*20)}._mobile._portrait .mp\:gap-x-10{column-gap:calc(var(--spacing)*10)}._mobile._landscape .ml\:\!top-1{top:var(--spacing)!important}._mobile._landscape .ml\:top-20{top:calc(var(--spacing)*20)}._mobile._landscape .ml\:top-\[calc\(50\%\+114px\)\]{top:calc(50% + 114px)}._mobile._landscape .ml\:top-auto{top:auto}._mobile._landscape .ml\:\!right-8{right:calc(var(--spacing)*8)!important}._mobile._landscape .ml\:bottom-78{bottom:calc(var(--spacing)*78)}._mobile._landscape .ml\:left-16{left:calc(var(--spacing)*16)}._mobile._landscape .ml\:mx-auto{margin-inline:auto}._mobile._landscape .ml\:mt-5{margin-top:calc(var(--spacing)*5)}._mobile._landscape .ml\:block{display:block}._mobile._landscape .ml\:hidden{display:none}._mobile._landscape .ml\:h-42{height:calc(var(--spacing)*42)}._mobile._landscape .ml\:h-50{height:calc(var(--spacing)*50)}._mobile._landscape .ml\:h-54{height:calc(var(--spacing)*54)}._mobile._landscape .ml\:h-64{height:calc(var(--spacing)*64)}._mobile._landscape .ml\:w-54{width:calc(var(--spacing)*54)}._mobile._landscape .ml\:w-64{width:calc(var(--spacing)*64)}._mobile._landscape .ml\:w-121{width:calc(var(--spacing)*121)}._mobile._landscape .ml\:w-180{width:calc(var(--spacing)*180)}._mobile._landscape .ml\:w-300{width:calc(var(--spacing)*300)}._mobile._landscape .ml\:w-\[calc\(50\%-6px\)\]{width:calc(50% - 6px)}._mobile._landscape .ml\:max-w-180{max-width:calc(var(--spacing)*180)}._mobile._landscape .ml\:max-w-448{max-width:calc(var(--spacing)*448)}._mobile._landscape .ml\:max-w-560{max-width:calc(var(--spacing)*560)}._mobile._landscape .ml\:min-w-180{min-width:calc(var(--spacing)*180)}._mobile._landscape .ml\:translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}._mobile._landscape .ml\:flex-col{flex-direction:column}._mobile._landscape .ml\:items-start{align-items:flex-start}._mobile._landscape .ml\:gap-3{gap:calc(var(--spacing)*3)}._mobile._landscape .ml\:gap-8{gap:calc(var(--spacing)*8)}._mobile._landscape .ml\:gap-10{gap:calc(var(--spacing)*10)}._mobile._landscape .ml\:gap-12{gap:calc(var(--spacing)*12)}._mobile._landscape .ml\:gap-x-20{column-gap:calc(var(--spacing)*20)}._mobile._landscape .ml\:p-0{padding:0}._mobile._landscape .ml\:px-0{padding-inline:0}._mobile._landscape .ml\:py-20{padding-block:calc(var(--spacing)*20)}._mobile._landscape .ml\:pt-14{padding-top:calc(var(--spacing)*14)}._mobile._landscape .ml\:pt-19{padding-top:calc(var(--spacing)*19)}._mobile._landscape .ml\:pt-25{padding-top:calc(var(--spacing)*25)}._mobile._landscape .ml\:\!pb-10{padding-bottom:calc(var(--spacing)*10)!important}._mobile._landscape .ml\:pb-6{padding-bottom:calc(var(--spacing)*6)}._mobile._landscape .ml\:pb-16{padding-bottom:calc(var(--spacing)*16)}._mobile._landscape .ml\:pb-18{padding-bottom:calc(var(--spacing)*18)}._mobile._landscape .ml\:pb-20{padding-bottom:calc(var(--spacing)*20)}._mobile._landscape .ml\:pb-31{padding-bottom:calc(var(--spacing)*31)}._mobile._landscape .ml\:text-center{text-align:center}.\[\&_h3\]\:mt-19 h3{margin-top:calc(var(--spacing)*19)}.\[\&_h3\:first-child\]\:mt-0 h3:first-child{margin-top:0}.\[\&_li\]\:relative li{position:relative}.\[\&_li\]\:pl-22 li{padding-left:calc(var(--spacing)*22)}.\[\&_li\]\:opacity-80 li{opacity:80%}.\[\&_li\]\:before\:absolute li:before{content:var(--tw-content);position:absolute}.\[\&_li\]\:before\:top-7 li:before{content:var(--tw-content);top:calc(var(--spacing)*7)}.\[\&_li\]\:before\:left-10 li:before{content:var(--tw-content);left:calc(var(--spacing)*10)}.\[\&_li\]\:before\:h-4 li:before{content:var(--tw-content);height:calc(var(--spacing)*4)}.\[\&_li\]\:before\:w-4 li:before{content:var(--tw-content);width:calc(var(--spacing)*4)}.\[\&_li\]\:before\:rounded-full li:before{border-radius:9999px;content:var(--tw-content)}.\[\&_p\]\:mt-4 p{margin-top:calc(var(--spacing)*4)}.\[\&_p\]\:opacity-80 p{opacity:80%}._mobile._landscape :is(.\[\&_p\]\:ml\:mt-5 p){margin-top:calc(var(--spacing)*5)}.\[\&_table\]\:mt-4 table{margin-top:calc(var(--spacing)*4)}.\[\&_table\]\:w-full table{width:100%}.\[\&_tbody\>tr\:last-child\>td\:first-child\]\:before\:rounded-bl-10 tbody>tr:last-child>td:first-child:before{border-bottom-left-radius:10px;content:var(--tw-content)}.\[\&_tbody\>tr\:last-child\>td\:last-child\]\:before\:rounded-br-10 tbody>tr:last-child>td:last-child:before{border-bottom-right-radius:10px;content:var(--tw-content)}.\[\&_tbody\>tr\>td\]\:relative tbody>tr>td{position:relative}.\[\&_tbody\>tr\>td\]\:h-30 tbody>tr>td{height:calc(var(--spacing)*30)}.\[\&_tbody\>tr\>td\]\:pl-12 tbody>tr>td{padding-left:calc(var(--spacing)*12)}.\[\&_tbody\>tr\>td\]\:before\:absolute tbody>tr>td:before{content:var(--tw-content);position:absolute}.\[\&_tbody\>tr\>td\]\:before\:top-0 tbody>tr>td:before{content:var(--tw-content);top:0}.\[\&_tbody\>tr\>td\]\:before\:left-0 tbody>tr>td:before{content:var(--tw-content);left:0}.\[\&_tbody\>tr\>td\]\:before\:h-full tbody>tr>td:before{content:var(--tw-content);height:100%}.\[\&_tbody\>tr\>td\]\:before\:w-full tbody>tr>td:before{content:var(--tw-content);width:100%}.\[\&_tbody\>tr\>td\]\:before\:border-b tbody>tr>td:before{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;content:var(--tw-content)}.\[\&_tbody\>tr\>td\]\:before\:border-l tbody>tr>td:before{border-left-style:var(--tw-border-style);border-left-width:1px;content:var(--tw-content)}.\[\&_tbody\>tr\>td\]\:before\:border-solid tbody>tr>td:before{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.\[\&_tbody\>tr\>td\]\:before\:border-white-10 tbody>tr>td:before{border-color:var(--colors-white-10);content:var(--tw-content)}.\[\&_tbody\>tr\>td\:last-child\]\:before\:border-r tbody>tr>td:last-child:before{border-right-style:var(--tw-border-style);border-right-width:1px;content:var(--tw-content)}.\[\&_thead\>tr\>th\]\:h-30 thead>tr>th{height:calc(var(--spacing)*30)}.\[\&_thead\>tr\>th\]\:w-1\/2 thead>tr>th{width:50%}.\[\&_thead\>tr\>th\]\:bg-white-10 thead>tr>th{background-color:var(--colors-white-10)}.\[\&_thead\>tr\>th\]\:pl-12 thead>tr>th{padding-left:calc(var(--spacing)*12)}.\[\&_thead\>tr\>th\]\:text-left thead>tr>th{text-align:left}.\[\&_thead\>tr\>th\:first-child\]\:rounded-tl-10 thead>tr>th:first-child{border-top-left-radius:10px}.\[\&_thead\>tr\>th\:last-child\]\:rounded-tr-10 thead>tr>th:last-child{border-top-right-radius:10px}.\[\&_ul\]\:mt-4 ul{margin-top:calc(var(--spacing)*4)}.\[\&_ul\]\:flex ul{display:flex}.\[\&_ul\]\:flex-col ul{flex-direction:column}.\[\&_ul\]\:gap-3 ul{gap:calc(var(--spacing)*3)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";initial-value:"";inherits:false}@keyframes pulseTransparent{0%,to{opacity:.1}50%{opacity:1}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}:root{--colors-add-violet:linear-gradient(90deg,#b983ff,#5da9ff);--colors-add-gradient:linear-gradient(315deg,#ff7100,#f05);--colors-add-gold:linear-gradient(0deg,#ffcf55 0.79%,#ffae11 32.86%,#fff7b2 80.76%);--colors-add-green:linear-gradient(90deg,#00d651,#00a5d6);--colors-gold-gradient-light:#e3c28e;--colors-gold-gradient-mid:#cb9a68;--colors-gold-gradient-dark:#b37f42;--colors-gold-promo:radial-gradient(219.22% 153.54% at 0.04% 0%,var(--colors-gold-gradient-light) 20.23%,var(--colors-gold-gradient-mid) 46.16%,var(--colors-gold-gradient-dark) 72.08%);--colors-brand-black-95:#0d0d0d}.promo-lobby-menu-tab{display:flex;flex:1 1 auto;flex-direction:column}.loader{display:flex;gap:2px;height:2px}.loader span{animation:wave 1s ease-in-out infinite;background:#fff;border-radius:50%;height:4px;opacity:.6;width:4px}.loader span:nth-child(2){animation-delay:.15s}.loader span:nth-child(3){animation-delay:.3s}@keyframes wave{0%{opacity:.6;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}60%{opacity:.6;transform:translateY(0)}to{opacity:.6;transform:translateY(0)}}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Game load telemetry (GTT-2800). Marks the load timeline on the tracker and reports it to analytics:
|
|
3
|
-
* a `gameLoad.phase:completed` event the moment each phase is over (CDN, init, preload, loading, game
|
|
4
|
-
* code), then one terminal event per load — `gameLoad:completed` when the game calls `setGameReady()`,
|
|
5
|
-
* `gameLoad:failed` on the failed screen, `gameLoad:abandoned` when the page is hidden before the
|
|
6
|
-
* main screen — and `gameLoad:finished` once the main screen is reached.
|
|
7
|
-
*
|
|
8
|
-
* Every payload carries `metrics` and the `environment` the tracker reads once on mount, so each
|
|
9
|
-
* event is self-contained. `init` marks are set in `truelogic.init()` itself: the hook mounts inside it.
|
|
10
|
-
*/
|
|
11
|
-
export declare const useGameLoadAnalytics: () => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { TAnalyticsCustomParams } from './analyticsService';
|
|
2
|
-
/**
|
|
3
|
-
* Points on the game load timeline, from the bundle evaluation to the main screen.
|
|
4
|
-
* `*:called` marks are the host game calling a public method, the rest are TrueLogic reaching a state.
|
|
5
|
-
*/
|
|
6
|
-
export type TGameLoadMark = 'init:called' | 'init:resolved' | 'session:started' | 'session:ended' | 'configure:called' | 'configure:succeed' | 'preload.images:ended' | 'preload.nonCritical:ended' | 'startLoading:called' | 'endLoading:called' | 'loading:ended' | 'ready:called' | 'welcome:shown' | 'main:shown';
|
|
7
|
-
/** The furthest point a load reached — the `stage` of `game_load_failed` and `game_load_abandoned` */
|
|
8
|
-
export type TGameLoadStage = 'script' | 'init' | 'configure' | 'loading' | 'loading_tail' | 'ready_wait' | 'welcome' | 'main';
|
|
9
|
-
/** Load phases reported as separate events the moment they complete — one dashboard row each */
|
|
10
|
-
export type TGameLoadPhase = 'cdn' | 'init' | 'preload' | 'loading' | 'game_code';
|
|
11
|
-
export type TGameLoadError = {
|
|
12
|
-
name?: string;
|
|
13
|
-
message?: string;
|
|
14
|
-
code?: number;
|
|
15
|
-
};
|
|
16
|
-
export type TGameLoadMarkListener = (mark: TGameLoadMark) => void;
|
|
17
|
-
/** Marks left by the inline preloader loader (`src/app/templates/preloader-loader.ts`) around the CDN fetch */
|
|
18
|
-
export declare const GAME_LOAD_LOADER_MARK_START = "truelogic:loader:start";
|
|
19
|
-
export declare const GAME_LOAD_LOADER_MARK_END = "truelogic:loader:end";
|
|
20
|
-
/**
|
|
21
|
-
* Collects the game load timeline (GTT-2800). All times are `performance.now()` values, so they
|
|
22
|
-
* count from the page open (`performance.timeOrigin`), the same origin as the loader marks.
|
|
23
|
-
*
|
|
24
|
-
* Every payload groups the measured values under `metrics` and carries the same `environment`
|
|
25
|
-
* (what the browser reports about the network, the device and the embedding), read once per load.
|
|
26
|
-
* Phases (`completePhase`) go out as soon as they are over. Every load also ends in exactly one
|
|
27
|
-
* terminal payload: `complete()` when the game calls `setGameReady()`, `fail()` on the failed screen
|
|
28
|
-
* or `abandon()` when the page is hidden earlier. The welcome screen comes after `complete()`, so a
|
|
29
|
-
* load can still be abandoned there; `finish()` closes it on the main screen.
|
|
30
|
-
*/
|
|
31
|
-
export declare class GameLoadTracker {
|
|
32
|
-
private marks;
|
|
33
|
-
private listeners;
|
|
34
|
-
private sentPhases;
|
|
35
|
-
private environment;
|
|
36
|
-
private scriptStartMs;
|
|
37
|
-
private progressTicks;
|
|
38
|
-
private tabHidden;
|
|
39
|
-
private isCompleted;
|
|
40
|
-
private isClosed;
|
|
41
|
-
constructor();
|
|
42
|
-
/** Records the first occurrence of a mark and notifies the subscribers; later calls are ignored */
|
|
43
|
-
mark(name: TGameLoadMark): void;
|
|
44
|
-
has(name: TGameLoadMark): boolean;
|
|
45
|
-
/** Called on every new mark; returns the unsubscribe function */
|
|
46
|
-
subscribe(listener: TGameLoadMarkListener): () => void;
|
|
47
|
-
/** One `setLoadingProgress()` call of the game */
|
|
48
|
-
tickProgress(): void;
|
|
49
|
-
/** Reads the browser environment once per load; call it early so no event waits for the probes */
|
|
50
|
-
collectEnvironment(): TAnalyticsCustomParams;
|
|
51
|
-
getStage(): TGameLoadStage;
|
|
52
|
-
/** Every measured value known so far; a duration is left out while one of its marks is missing */
|
|
53
|
-
getMetrics(): TAnalyticsCustomParams;
|
|
54
|
-
/** A phase is over: its `game_load_<phase>` payload, once per load and never after the load is closed */
|
|
55
|
-
completePhase(phase: TGameLoadPhase): TAnalyticsCustomParams | null;
|
|
56
|
-
/** The game called `setGameReady()`: the `game_load_time` payload, once per load */
|
|
57
|
-
complete(): TAnalyticsCustomParams | null;
|
|
58
|
-
/** The failed screen before the game was ready: the `game_load_failed` payload, once per load */
|
|
59
|
-
fail(error?: TGameLoadError | null): TAnalyticsCustomParams | null;
|
|
60
|
-
/** The page is hidden before the main screen: the `game_load_abandoned` payload, once per load */
|
|
61
|
-
abandon(): TAnalyticsCustomParams | null;
|
|
62
|
-
/** The main screen is shown: closes the load and returns the welcome screen dwell, once per load */
|
|
63
|
-
finish(): TAnalyticsCustomParams | null;
|
|
64
|
-
/** Test helper: a fresh load on the same instance (subscribers stay) */
|
|
65
|
-
reset(): void;
|
|
66
|
-
private diff;
|
|
67
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type TLoadEnvironment = Record<string, boolean | number | string | undefined>;
|
|
2
|
-
/**
|
|
3
|
-
* What the browser reports about the conditions of this game load (GTT-2800): network, HTML and bundle
|
|
4
|
-
* delivery, device capabilities, embedding. Read once per load by `GameLoadTracker` and attached as
|
|
5
|
-
* the `environment` object to every `game_load_*` event.
|
|
6
|
-
*
|
|
7
|
-
* Every field is optional: a browser without the API, or an API that cannot tell, leaves the field
|
|
8
|
-
* out — nothing is reported as `0`, `null` or a guess. See the field docs on the helpers above for
|
|
9
|
-
* units, ranges and browser support; the dashboard-side description lives in
|
|
10
|
-
* `docs/docs/development/analytics.md` → "environment fields".
|
|
11
|
-
*/
|
|
12
|
-
export declare const getLoadEnvironment: () => TLoadEnvironment;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|