@betorigami/games 0.0.1

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.
Files changed (120) hide show
  1. package/dist/components/dice/DiceContent/DiceContent.d.ts +14 -0
  2. package/dist/components/dice/DiceContent/DiceContent.styles.d.ts +1 -0
  3. package/dist/components/dice/DiceContentBottom/DiceContentBottom.d.ts +15 -0
  4. package/dist/components/dice/DiceContentBottom/DiceContentBottom.styles.d.ts +1 -0
  5. package/dist/components/dice/DiceControls/DiceAuto.d.ts +9 -0
  6. package/dist/components/dice/DiceControls/DiceControls.styles.d.ts +1 -0
  7. package/dist/components/dice/DiceControls/DiceManual.d.ts +11 -0
  8. package/dist/components/dice/DiceGame.d.ts +47 -0
  9. package/dist/components/dice/DiceSlider/DiceSlider.d.ts +16 -0
  10. package/dist/components/dice/DiceSlider/DiceSlider.styles.d.ts +1 -0
  11. package/dist/components/dice/dice.api.d.ts +71 -0
  12. package/dist/components/dice/dice.mock.api.d.ts +13 -0
  13. package/dist/components/keno/KenoContent/KenoContent.d.ts +17 -0
  14. package/dist/components/keno/KenoContent/KenoContent.styles.d.ts +1 -0
  15. package/dist/components/keno/KenoContent/KenoContentBottom.d.ts +14 -0
  16. package/dist/components/keno/KenoContent/KenoContentBottom.styles.d.ts +1 -0
  17. package/dist/components/keno/KenoControls/KenoAuto.d.ts +9 -0
  18. package/dist/components/keno/KenoControls/KenoControls.styles.d.ts +1 -0
  19. package/dist/components/keno/KenoControls/KenoManual.d.ts +10 -0
  20. package/dist/components/keno/KenoGame.d.ts +30 -0
  21. package/dist/components/keno/KenoGrid/KenoGrid.d.ts +24 -0
  22. package/dist/components/keno/KenoGrid/KenoGrid.styles.d.ts +1 -0
  23. package/dist/components/keno/KenoTile/KenoTile.d.ts +16 -0
  24. package/dist/components/keno/KenoTile/KenoTile.styles.d.ts +1 -0
  25. package/dist/components/keno/keno.api.d.ts +67 -0
  26. package/dist/components/keno/keno.mock.api.d.ts +15 -0
  27. package/dist/components/limbo/LimboContent/LimboContent.d.ts +13 -0
  28. package/dist/components/limbo/LimboContent/LimboContent.styles.d.ts +1 -0
  29. package/dist/components/limbo/LimboContentBottom/LimboContentBottom.d.ts +14 -0
  30. package/dist/components/limbo/LimboContentBottom/LimboContentBottom.styles.d.ts +1 -0
  31. package/dist/components/limbo/LimboControls/LimboAuto.d.ts +9 -0
  32. package/dist/components/limbo/LimboControls/LimboControls.styles.d.ts +1 -0
  33. package/dist/components/limbo/LimboControls/LimboManual.d.ts +11 -0
  34. package/dist/components/limbo/LimboGame.d.ts +27 -0
  35. package/dist/components/limbo/Multiplier/LimboMultiplier.d.ts +17 -0
  36. package/dist/components/limbo/Multiplier/LimboMultiplier.styles.d.ts +1 -0
  37. package/dist/components/limbo/limbo.api.d.ts +62 -0
  38. package/dist/components/limbo/limbo.mock.api.d.ts +13 -0
  39. package/dist/components/mines/Controls/MinesAuto.d.ts +13 -0
  40. package/dist/components/mines/Controls/MinesControls.styles.d.ts +1 -0
  41. package/dist/components/mines/Controls/MinesManual.d.ts +11 -0
  42. package/dist/components/mines/MinesGame.d.ts +34 -0
  43. package/dist/components/mines/MinesGrid/MinesGrid.d.ts +29 -0
  44. package/dist/components/mines/MinesGrid/MinesGrid.styles.d.ts +1 -0
  45. package/dist/components/mines/MinesTile/MinesTile.d.ts +21 -0
  46. package/dist/components/mines/MinesTile/MinesTile.styles.d.ts +1 -0
  47. package/dist/components/mines/mines.api.d.ts +122 -0
  48. package/dist/components/mines/mines.constants.d.ts +22 -0
  49. package/dist/components/mines/mines.mock.api.d.ts +50 -0
  50. package/dist/components/shared/BetResultModal/BetResultModal.d.ts +45 -0
  51. package/dist/components/shared/BetResultModal/BetResultModal.styles.d.ts +1 -0
  52. package/dist/components/shared/Button/Button.d.ts +25 -0
  53. package/dist/components/shared/Button/Button.styles.d.ts +1 -0
  54. package/dist/components/shared/Button/ButtonGroup.d.ts +6 -0
  55. package/dist/components/shared/Button/ButtonGroup.styles.d.ts +1 -0
  56. package/dist/components/shared/FairnessDetails/FairnessDetails.d.ts +14 -0
  57. package/dist/components/shared/FairnessDetails/FairnessDetails.styles.d.ts +1 -0
  58. package/dist/components/shared/Footer/Footer.d.ts +49 -0
  59. package/dist/components/shared/Footer/Footer.styles.d.ts +1 -0
  60. package/dist/components/shared/GameComponent.d.ts +35 -0
  61. package/dist/components/shared/GameLayout/GameLayout.d.ts +40 -0
  62. package/dist/components/shared/GameLayout/GameLayout.styles.d.ts +1 -0
  63. package/dist/components/shared/GameProviderWrapper.d.ts +20 -0
  64. package/dist/components/shared/GameSidebar/GameSidebar.d.ts +15 -0
  65. package/dist/components/shared/GameSidebar/GameSidebar.styles.d.ts +1 -0
  66. package/dist/components/shared/GameWinPopup/GameWinPopup.d.ts +18 -0
  67. package/dist/components/shared/GameWinPopup/GameWinPopup.styles.d.ts +1 -0
  68. package/dist/components/shared/GenericAutobet/BetCountInput.d.ts +11 -0
  69. package/dist/components/shared/GenericAutobet/GenericAutobet.d.ts +42 -0
  70. package/dist/components/shared/GenericAutobet/GenericAutobet.styles.d.ts +1 -0
  71. package/dist/components/shared/GenericAutobet/context/autobet.context.d.ts +11 -0
  72. package/dist/components/shared/HistoryPills/HistoryPills.d.ts +20 -0
  73. package/dist/components/shared/HistoryPills/HistoryPills.styles.d.ts +1 -0
  74. package/dist/components/shared/Inputs/BetAmountInput/BetAmountInput.d.ts +22 -0
  75. package/dist/components/shared/Inputs/CurrencyInput/RawCurrencyInput.d.ts +46 -0
  76. package/dist/components/shared/Inputs/Input/Input.d.ts +68 -0
  77. package/dist/components/shared/Inputs/Input/Input.styles.d.ts +1 -0
  78. package/dist/components/shared/Modal/Modal.d.ts +91 -0
  79. package/dist/components/shared/Modal/Modal.styles.d.ts +2 -0
  80. package/dist/components/shared/Modal/Portal.d.ts +13 -0
  81. package/dist/components/shared/Select/Select.d.ts +48 -0
  82. package/dist/components/shared/Select/Select.styles.d.ts +1 -0
  83. package/dist/components/shared/Statistics/Statistics.d.ts +43 -0
  84. package/dist/components/shared/Statistics/Statistics.styles.d.ts +1 -0
  85. package/dist/components/shared/Toggle/Toggle.d.ts +12 -0
  86. package/dist/components/shared/Toggle/Toggle.styles.d.ts +1 -0
  87. package/dist/components/shared/Tooltip/Tooltip.d.ts +54 -0
  88. package/dist/components/shared/Tooltip/Tooltip.styles.d.ts +1 -0
  89. package/dist/components/shared/context/game.context.d.ts +15 -0
  90. package/dist/favicon.ico +0 -0
  91. package/dist/favicon.png +0 -0
  92. package/dist/favicon.svg +1 -0
  93. package/dist/index.d.ts +6 -0
  94. package/dist/index.mjs +18188 -0
  95. package/dist/index.umd.js +5695 -0
  96. package/dist/origami.svg +17 -0
  97. package/dist/shared/component.styles.d.ts +2 -0
  98. package/dist/shared/constants.d.ts +8 -0
  99. package/dist/shared/event-map.d.ts +126 -0
  100. package/dist/shared/get-game-outcome.d.ts +1 -0
  101. package/dist/shared/icons/diceCubeIcon.d.ts +1 -0
  102. package/dist/shared/icons/minesBombIcon.d.ts +1 -0
  103. package/dist/shared/icons/minesGemIcon.d.ts +1 -0
  104. package/dist/shared/icons/multiplierIcon.d.ts +1 -0
  105. package/dist/shared/icons/profitIcon.d.ts +1 -0
  106. package/dist/shared/icons/rollDirectionIcon.d.ts +1 -0
  107. package/dist/shared/icons/winChanceIcon.d.ts +1 -0
  108. package/dist/shared/origami-action.type.d.ts +7 -0
  109. package/dist/shared/origami-element.d.ts +21 -0
  110. package/dist/shared/sleep.d.ts +1 -0
  111. package/dist/shared/watch.d.ts +26 -0
  112. package/dist/utils/active-elements.d.ts +15 -0
  113. package/dist/utils/animate.d.ts +22 -0
  114. package/dist/utils/animation-registry.d.ts +24 -0
  115. package/dist/utils/event.d.ts +2 -0
  116. package/dist/utils/focus-trap.d.ts +24 -0
  117. package/dist/utils/scroll.d.ts +22 -0
  118. package/dist/utils/slot.controller.d.ts +23 -0
  119. package/dist/utils/tabbable.d.ts +9 -0
  120. package/package.json +40 -0
@@ -0,0 +1,11 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ import { MinesState } from '../mines.constants';
3
+ export declare class MinesManual extends OrigamiElement {
4
+ inputsDisabled: boolean;
5
+ minesCount: number;
6
+ minesState: MinesState | null;
7
+ isGameActive: boolean;
8
+ selectedTilesCount: number;
9
+ static styles: import('lit').CSSResult[];
10
+ render(): import('lit').TemplateResult<1>;
11
+ }
@@ -0,0 +1,34 @@
1
+ import { MinesApi } from './mines.api';
2
+ import { MinesState } from './mines.constants';
3
+ import { AutobetToggleEvent } from '../../shared/event-map';
4
+ import { AutobetSettings, GameBetResult, GameComponent } from '../shared/GameComponent';
5
+ import { MockMinesApi } from './mines.mock.api';
6
+ export declare class MinesGame extends GameComponent {
7
+ private minesCount;
8
+ private autobetSelectedTiles;
9
+ private minesData;
10
+ authToken: string;
11
+ get isGameActive(): boolean;
12
+ get minesApi(): MinesApi | MockMinesApi;
13
+ getMinesActiveBet(): Promise<void>;
14
+ protected firstUpdated(): Promise<void>;
15
+ get getMinesState(): MinesState | null;
16
+ protected executeBet(_autobetSettings: AutobetSettings, currentBetAmount: string): Promise<GameBetResult>;
17
+ toggleAutobet(event: AutobetToggleEvent): Promise<void>;
18
+ private minesClickHandler;
19
+ minesManualStart(): Promise<void>;
20
+ minesChooseRandomTile(): Promise<void>;
21
+ minesNext(selectedTile: number): Promise<void>;
22
+ minesCashout(): Promise<void>;
23
+ onManualOrAutoChange(): void;
24
+ onMinesCountChange(): void;
25
+ render(): import('lit').TemplateResult<1>;
26
+ }
27
+ /**
28
+ * Things to do
29
+ * reset mines content between bets in autobet
30
+ * scaling animation when the tiles disappear
31
+ * animation for game win popup
32
+ * scale icons for gems and bombs
33
+ * autobet btn hover effect isn't aligned (need styles for active, hover states for each button)
34
+ */
@@ -0,0 +1,29 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ import { MinesFlowState } from '../mines.constants';
3
+ export interface Tile {
4
+ id: number;
5
+ isMine: boolean;
6
+ isRevealed: boolean;
7
+ wasAutoRevealed: boolean;
8
+ }
9
+ export declare class MinesGrid extends OrigamiElement {
10
+ static styles: import('lit').CSSResult[];
11
+ isAuto: boolean;
12
+ autobetSelectedTiles: number[];
13
+ autobetInProgress: boolean;
14
+ minesState: {
15
+ selectedTiles: number[];
16
+ state: MinesFlowState;
17
+ mineLocations: number[];
18
+ } | null;
19
+ hasWon: boolean;
20
+ hitBomb: boolean;
21
+ get tiles(): {
22
+ id: number;
23
+ isMine: boolean;
24
+ isRevealed: boolean;
25
+ wasAutoRevealed: boolean | undefined;
26
+ }[];
27
+ private calculateTileState;
28
+ render(): import('lit').TemplateResult<1>;
29
+ }
@@ -0,0 +1 @@
1
+ export declare const minesGridStyles: import('lit').CSSResult;
@@ -0,0 +1,21 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ export declare enum MinesTileState {
3
+ NORMAL = "NORMAL",
4
+ AUTOBET_SELECTED = "AUTOBET_SELECTED",
5
+ SELECTED_GEM = "SELECTED_GEM",
6
+ UNSELECTED_GEM = "UNSELECTED_GEM",
7
+ SELECTED_BOMB = "SELECTED_BOMB",
8
+ UNSELECTED_BOMB = "UNSELECTED_BOMB",
9
+ AUTOBET_SELECTED_GEM = "AUTOBET_SELECTED_GEM",
10
+ AUTOBET_SELECTED_BOMB = "AUTOBET_SELECTED_BOMB"
11
+ }
12
+ export declare class MinesTile extends OrigamiElement {
13
+ static styles: import('lit').CSSResult[];
14
+ tileId: number;
15
+ delayReveal: boolean;
16
+ state: MinesTileState;
17
+ ariaLabel: string;
18
+ private _handleClick;
19
+ private get _isDisabled();
20
+ render(): import('lit').TemplateResult<1>;
21
+ }
@@ -0,0 +1 @@
1
+ export declare const minesTileStyles: import('lit').CSSResult;
@@ -0,0 +1,122 @@
1
+ import { default as BigNumber } from 'bignumber.js';
2
+ import { Currency } from '../../shared/constants';
3
+ import { OrigamiActionType } from '../../shared/origami-action.type';
4
+ import { MinesGameOutcome, MinesState } from './mines.constants';
5
+ export interface MinesData {
6
+ minesResult: number[];
7
+ minesCount: number;
8
+ winMultiplier: string;
9
+ selected: number[];
10
+ }
11
+ export interface MinesAction {
12
+ id: string;
13
+ data: {
14
+ mines: MinesData;
15
+ };
16
+ type: OrigamiActionType;
17
+ actionIndex: number;
18
+ originalActionId: string | null;
19
+ betAmount: string;
20
+ payoutAmount: string;
21
+ }
22
+ export interface BetResult {
23
+ id: string;
24
+ tenantId: string;
25
+ userId: string;
26
+ usdRate: number;
27
+ gameId: string;
28
+ currency: Currency;
29
+ edge: number;
30
+ amount: string;
31
+ payout: string;
32
+ afterBalance: string;
33
+ maxPayoutReached: boolean;
34
+ multiplier: number;
35
+ clientSeed: string;
36
+ randomValue: string;
37
+ proof: string | null;
38
+ nonce: string | null;
39
+ completedAt: string | null;
40
+ actions: MinesAction[];
41
+ }
42
+ export type MinesManualStartArgs = {
43
+ currency: Currency;
44
+ amount: string;
45
+ windowId?: string;
46
+ usdAmount?: number;
47
+ minesCount: number;
48
+ };
49
+ export type MinesNextArgs = {
50
+ betId: string;
51
+ selected: number[];
52
+ };
53
+ export type MinesAutoArgs = {
54
+ currency: Currency;
55
+ amount: string;
56
+ windowId?: string;
57
+ usdAmount?: number;
58
+ minesCount?: number;
59
+ selected: number[];
60
+ };
61
+ export declare class MinesApi {
62
+ private authToken;
63
+ private baseUrl;
64
+ constructor(authToken: string, baseUrl: string);
65
+ static DEFAULT_MINES_QTY: number;
66
+ static MINES_TILES_COUNT: number;
67
+ startManualBet(data: MinesManualStartArgs): Promise<{
68
+ success: true;
69
+ data: BetResult;
70
+ error?: undefined;
71
+ } | {
72
+ success: false;
73
+ error: string;
74
+ data?: undefined;
75
+ }>;
76
+ getActiveBet(): Promise<{
77
+ success: true;
78
+ data: BetResult;
79
+ error?: undefined;
80
+ } | {
81
+ success: false;
82
+ error: string;
83
+ data?: undefined;
84
+ }>;
85
+ selectTile(minesNextArgs: MinesNextArgs): Promise<{
86
+ success: true;
87
+ data: BetResult;
88
+ error?: undefined;
89
+ } | {
90
+ success: false;
91
+ error: string;
92
+ data?: undefined;
93
+ }>;
94
+ cashout(): Promise<{
95
+ success: true;
96
+ data: BetResult;
97
+ error?: undefined;
98
+ } | {
99
+ success: false;
100
+ error: string;
101
+ data?: undefined;
102
+ }>;
103
+ autobetPlay(data: MinesAutoArgs): Promise<{
104
+ success: true;
105
+ data: BetResult;
106
+ error?: undefined;
107
+ } | {
108
+ success: false;
109
+ error: string;
110
+ data?: undefined;
111
+ }>;
112
+ static deriveSelectedTiles: (actions?: Array<MinesAction> | null) => number[];
113
+ static deriveMineLocations: (actions?: Array<MinesAction> | null) => number[];
114
+ static getMinesBetInfo: (actions: MinesAction[]) => {
115
+ selected: number[];
116
+ mines: number[];
117
+ };
118
+ static deriveOutcome: (bet?: BetResult) => MinesGameOutcome | null;
119
+ static deriveAutoOutcome: (bet?: BetResult | null) => MinesGameOutcome | null;
120
+ static calculateMinesMultiplier: (gemsFound: number, mines: number) => BigNumber;
121
+ static getState: (bet: BetResult) => MinesState;
122
+ }
@@ -0,0 +1,22 @@
1
+ import { default as BigNumber } from 'bignumber.js';
2
+ import { Currency } from '../../shared/constants';
3
+ export declare enum MinesGameOutcome {
4
+ WIN = "WIN",
5
+ LOSS = "LOSS"
6
+ }
7
+ export declare enum MinesFlowState {
8
+ NO_GAME_ACTIVE = "NO_GAME_ACTIVE",
9
+ GAME_IN_PROGRESS = "GAME_IN_PROGRESS",
10
+ VIEWING_RESULTS = "VIEWING_RESULTS"
11
+ }
12
+ export interface MinesState {
13
+ currency?: Currency;
14
+ selectedTiles: number[];
15
+ mineLocations: number[];
16
+ outcome: MinesGameOutcome | null;
17
+ minesCount: number;
18
+ numMinesRemaining: number;
19
+ numGemsRemaining: number;
20
+ state: MinesFlowState;
21
+ betAmount: BigNumber;
22
+ }
@@ -0,0 +1,50 @@
1
+ import { BetResult, MinesApi, MinesAutoArgs, MinesManualStartArgs, MinesNextArgs } from './mines.api';
2
+ export interface MockMinesSettings {
3
+ shouldWin: boolean;
4
+ minePositions?: number[];
5
+ }
6
+ export declare class MockMinesApi extends MinesApi {
7
+ private static mockSettings;
8
+ private static activeBet;
9
+ private static minePositions;
10
+ static setMockSettings(settings: MockMinesSettings): void;
11
+ private static getRandomValueInRange;
12
+ private static generateMinePositions;
13
+ private static addAction;
14
+ private static updateBetResult;
15
+ startManualBet(data: MinesManualStartArgs): Promise<{
16
+ success: true;
17
+ data: BetResult;
18
+ }>;
19
+ getActiveBet(): Promise<{
20
+ success: false;
21
+ error: string;
22
+ data?: undefined;
23
+ } | {
24
+ success: true;
25
+ data: BetResult;
26
+ error?: undefined;
27
+ }>;
28
+ selectTile(data: MinesNextArgs): Promise<{
29
+ success: false;
30
+ error: string;
31
+ data?: undefined;
32
+ } | {
33
+ success: true;
34
+ data: BetResult;
35
+ error?: undefined;
36
+ }>;
37
+ cashout(): Promise<{
38
+ success: false;
39
+ error: string;
40
+ data?: undefined;
41
+ } | {
42
+ success: true;
43
+ data: BetResult;
44
+ error?: undefined;
45
+ }>;
46
+ autobetPlay(data: MinesAutoArgs): Promise<{
47
+ success: true;
48
+ data: BetResult;
49
+ }>;
50
+ }
@@ -0,0 +1,45 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ import { DiceData } from '../../dice/dice.api';
3
+ import { KenoData } from '../../keno/keno.api';
4
+ import { LimboData } from '../../limbo/limbo.api';
5
+ import { MinesData } from '../../mines/mines.api';
6
+ export type GameType = "mines" | "dice" | "keno" | "limbo";
7
+ export interface GameAction {
8
+ id: string;
9
+ data: {
10
+ dice?: DiceData;
11
+ mines?: MinesData;
12
+ keno?: KenoData;
13
+ limbo?: LimboData;
14
+ };
15
+ type: string;
16
+ actionIndex: number;
17
+ originalActionId: string | null;
18
+ betAmount: string;
19
+ payoutAmount: string;
20
+ }
21
+ export interface BetResult {
22
+ id: string;
23
+ amount: string;
24
+ payout: string;
25
+ multiplier: number;
26
+ currency?: string;
27
+ completedAt: string | null;
28
+ actions: GameAction[];
29
+ }
30
+ export declare class BetResultModal extends OrigamiElement {
31
+ static styles: import('lit').CSSResult[];
32
+ gameType: GameType;
33
+ betResult: BetResult | null;
34
+ currencySymbol: string;
35
+ visible: boolean;
36
+ variant: string;
37
+ private _getDummyBet;
38
+ private _formatAmount;
39
+ private _getDiceData;
40
+ private _getMinesData;
41
+ private _getKenoData;
42
+ private _getLimboData;
43
+ private _renderGameContent;
44
+ render(): import('lit').TemplateResult<1>;
45
+ }
@@ -0,0 +1 @@
1
+ export declare const betResultModalStyles: import('lit').CSSResult;
@@ -0,0 +1,25 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ export type ButtonVariant = "primary" | "secondary" | "danger" | "ghost" | "icon";
3
+ export declare class Button extends OrigamiElement {
4
+ static styles: import('lit').CSSResult[];
5
+ static shadowRootOptions: {
6
+ delegatesFocus: boolean;
7
+ mode: ShadowRootMode;
8
+ serializable?: boolean;
9
+ slotAssignment?: SlotAssignmentMode;
10
+ };
11
+ variant: ButtonVariant;
12
+ disabled: boolean;
13
+ ariaLabel: string | null;
14
+ ariaDescribedby: string | null;
15
+ type: string;
16
+ isLoading: boolean;
17
+ fullWidth: boolean;
18
+ enableHaptics: boolean;
19
+ /**
20
+ * Trigger haptic feedback
21
+ */
22
+ private triggerHapticFeedback;
23
+ private _handleClick;
24
+ render(): import('lit').TemplateResult<1>;
25
+ }
@@ -0,0 +1 @@
1
+ export declare const buttonStyles: import('lit').CSSResult;
@@ -0,0 +1,6 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ export declare class ButtonGroup extends OrigamiElement {
3
+ static styles: import('lit').CSSResult[];
4
+ position: "left" | "right";
5
+ render(): import('lit').TemplateResult<1>;
6
+ }
@@ -0,0 +1 @@
1
+ export declare const buttonGroupStyles: import('lit').CSSResult;
@@ -0,0 +1,14 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class FairnessDetails extends LitElement {
3
+ static styles: import('lit').CSSResult[];
4
+ private _activeTab;
5
+ private _publicKey;
6
+ private _request;
7
+ private _proof;
8
+ private _randomness;
9
+ private _clientSeed;
10
+ private _historyData;
11
+ private _handleToggleChange;
12
+ private _handleGenerateClientSeed;
13
+ render(): import('lit').TemplateResult<1>;
14
+ }
@@ -0,0 +1 @@
1
+ export declare const fairnessDetailsStyles: import('lit').CSSResult;
@@ -0,0 +1,49 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ import { gameContextType } from '../context/game.context';
3
+ /**
4
+ * Footer component with navigation and branding elements.
5
+ *
6
+ * @example
7
+ * // Default footer with all features enabled
8
+ * <origami-footer @footer-settings-click=${() => console.log('settings')}></origami-footer>
9
+ *
10
+ * // Customized footer with specific options
11
+ * <origami-footer
12
+ * ?showLogo=${true}
13
+ * .logoUrl=${'/custom-logo.svg'}
14
+ * ?showTheatre=${false}
15
+ * @footer-favorites-click=${() => console.log('favorites clicked')}
16
+ * ></origami-footer>
17
+ *
18
+ * @property {string} logoAlt - Alt text for the logo
19
+ * @property {boolean} showTheatre - Whether to show the theatre button
20
+ * @property {boolean} showStats - Whether to show the stats button
21
+ * @property {boolean} showFavorites - Whether to show the favorites button
22
+ * @property {boolean} showFairness - Whether to show the fairness button
23
+ *
24
+ * @fires {CustomEvent} footer-settings-click - Fired when the settings button is clicked
25
+ * @fires {CustomEvent} footer-theatre-click - Fired when the theatre button is clicked
26
+ * @fires {CustomEvent} footer-stats-click - Fired when the stats button is clicked
27
+ * @fires {CustomEvent} footer-favorites-click - Fired when the favorites button is clicked
28
+ * @fires {CustomEvent} footer-provably-fair-click - Fired when the fairness button is clicked
29
+ *
30
+ * @cssvar --origami-footer-background-color - Background color of the footer
31
+ * @cssvar --origami-footer-border-radius - Border radius of the footer
32
+ */
33
+ export declare class Footer extends OrigamiElement {
34
+ static styles: import('lit').CSSResult[];
35
+ gameData?: gameContextType;
36
+ /** Whether to show the logo. */
37
+ showLogo: boolean;
38
+ /** URL to the logo image. */
39
+ logoUrl: string;
40
+ /** Alt text for the logo. */
41
+ logoAlt: string;
42
+ showStats: boolean;
43
+ private handleSettingsClick;
44
+ private handleTheatreClick;
45
+ private handleStatsClick;
46
+ private handleFavoritesClick;
47
+ private handleProvablyFairClick;
48
+ render(): import('lit').TemplateResult<1>;
49
+ }
@@ -0,0 +1 @@
1
+ export declare const footerStyles: import('lit').CSSResult;
@@ -0,0 +1,35 @@
1
+ import { default as BigNumber } from 'bignumber.js';
2
+ import { AutobetToggleEvent } from '../../shared/event-map';
3
+ import { default as OrigamiElement } from '../../shared/origami-element';
4
+ import { BetMode } from './GameSidebar/GameSidebar';
5
+ import { gameContextType } from './context/game.context';
6
+ export interface AutobetSettings {
7
+ onWinStrategy: string;
8
+ onLossStrategy: string;
9
+ onWinPercentage: string | number;
10
+ onLossPercentage: string | number;
11
+ stopOnLoss: string;
12
+ stopOnProfit: string;
13
+ numberOfBets?: number;
14
+ autobetBets?: number;
15
+ }
16
+ export interface GameBetResult {
17
+ pnl: BigNumber;
18
+ gameOutcome: "Win" | "Loss" | "Draw";
19
+ hasError: boolean;
20
+ errorMessage?: string;
21
+ }
22
+ export declare abstract class GameComponent extends OrigamiElement {
23
+ protected manualOrAuto: BetMode;
24
+ protected hasPendingBet: boolean;
25
+ protected autobetInProgress: boolean;
26
+ protected autobetStopping: boolean;
27
+ protected numberOfBets: number;
28
+ protected betDelay: number;
29
+ static styles: import('lit').CSSResult[];
30
+ gameData?: gameContextType;
31
+ toggleAutobet(event: AutobetToggleEvent): Promise<void>;
32
+ protected abstract executeBet(_autobetSettings: AutobetSettings, _currentBetAmount: string): Promise<GameBetResult>;
33
+ protected adjustBetAmount(autobetSettings: AutobetSettings, gameOutcome: "Win" | "Loss" | "Draw", originalBetAmount: string, currentBetAmount: string): string;
34
+ protected isPnLWithinLimits(autobetSettings: AutobetSettings, totalPnL: BigNumber): boolean;
35
+ }
@@ -0,0 +1,40 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element.js';
2
+ import { GameType } from '../BetResultModal/BetResultModal.js';
3
+ import { gameContextType } from '../context/game.context';
4
+ export declare class GameLayout extends OrigamiElement {
5
+ static styles: import('lit').CSSResult[];
6
+ gameData?: gameContextType;
7
+ /** Additional CSS class name for the container */
8
+ className: string;
9
+ /** ID for the main game container */
10
+ containerId: string;
11
+ /** Whether to show the footer */
12
+ showFooter: boolean;
13
+ /** Whether to show the logo in the footer */
14
+ showLogo: boolean;
15
+ /** URL for the logo image */
16
+ logoUrl: string;
17
+ /** Alt text for the logo image */
18
+ logoAlt: string;
19
+ /** Whether to show the settings button */
20
+ showSettings: boolean;
21
+ /** Whether to show the theatre button */
22
+ showTheatre: boolean;
23
+ /** Whether to show the stats button */
24
+ showStats: boolean;
25
+ /** Whether to show the favorites button */
26
+ showFavorites: boolean;
27
+ /** Whether to show the Provably Fair button/link in the footer */
28
+ showFairness: boolean;
29
+ showFairnessModal: boolean;
30
+ betResultModalGameType: GameType | null;
31
+ private _handleFairnessClick;
32
+ private _handleGameResultModalClose;
33
+ private _handleFairnessModalClose;
34
+ private _handleSettingsClick;
35
+ private _handleTheatreClick;
36
+ private _handleStatsClick;
37
+ private _handleFavoritesClick;
38
+ private _handleOpenBetResultModal;
39
+ render(): import('lit').TemplateResult<1>;
40
+ }
@@ -0,0 +1 @@
1
+ export declare const gameLayoutStyles: import('lit').CSSResult;
@@ -0,0 +1,20 @@
1
+ import { ContextProvider } from '@lit/context';
2
+ import { PropertyValues } from 'lit';
3
+ import { Currency } from '../../shared/constants';
4
+ import { default as OrigamiElement } from '../../shared/origami-element';
5
+ export declare class GameProviderWrapper extends OrigamiElement {
6
+ currency: Currency;
7
+ isTheatreMode: boolean;
8
+ showFavorites: boolean;
9
+ balance: number;
10
+ baseUrl: string;
11
+ private betAmount;
12
+ protected _gameProvider: ContextProvider<{
13
+ __context__: import('./context/game.context').gameContextType;
14
+ }, this>;
15
+ connectedCallback(): void;
16
+ updated(changedProperties: PropertyValues): void;
17
+ private updateProviderValue;
18
+ updateBalance(newAmount: BigNumber): void;
19
+ render(): import('lit').TemplateResult<1>;
20
+ }
@@ -0,0 +1,15 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ export type BetMode = "Manual" | "Autobet";
3
+ export declare class GameSidebar extends OrigamiElement {
4
+ static styles: import('lit').CSSResult[];
5
+ mode: BetMode;
6
+ betAmount: string;
7
+ currency: string;
8
+ isPlaying: boolean;
9
+ disabled: boolean;
10
+ isLoading: boolean;
11
+ enableHaptics: boolean;
12
+ className: string;
13
+ private _handleToggleChange;
14
+ render(): import('lit').TemplateResult<1>;
15
+ }
@@ -0,0 +1 @@
1
+ export declare const gameSidebarStyles: import('lit').CSSResult;
@@ -0,0 +1,18 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ type GameType = "Keno" | "Mines";
3
+ export declare class GameWinPopup extends LitElement {
4
+ static styles: import('lit').CSSResult[];
5
+ winAmount: string;
6
+ multiplier: number | undefined;
7
+ currencySymbol: string;
8
+ title: string;
9
+ description: string;
10
+ gemCount: number | undefined;
11
+ gameType: GameType;
12
+ /**
13
+ * Format win amount to 2 decimal places
14
+ */
15
+ private _getFormattedWinAmount;
16
+ render(): TemplateResult<1>;
17
+ }
18
+ export {};
@@ -0,0 +1 @@
1
+ export declare const gameWinPopupStyles: import('lit').CSSResult;
@@ -0,0 +1,11 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ import { AutobetContextType } from './context/autobet.context';
3
+ export declare class BetCountInput extends OrigamiElement {
4
+ _autobetContext?: AutobetContextType;
5
+ disabled: boolean;
6
+ static styles: import('lit').CSSResult[];
7
+ private _handleAutobetGamesChange;
8
+ private _handleAutobetGamesBlur;
9
+ private preventNonWholeNumberInput;
10
+ render(): import('lit').TemplateResult<1>;
11
+ }
@@ -0,0 +1,42 @@
1
+ import { default as OrigamiElement } from '../../../shared/origami-element';
2
+ import { ContextProvider } from '@lit/context';
3
+ import { Currency } from '../../../shared/constants';
4
+ export type AfterBetEffect = 'reset' | 'increase';
5
+ export declare const defaultAutobetValues: {
6
+ onWinPercentage: string;
7
+ onLossPercentage: string;
8
+ stopOnProfit: string;
9
+ stopOnLoss: string;
10
+ onLossStrategy: AfterBetEffect;
11
+ onWinStrategy: AfterBetEffect;
12
+ };
13
+ export type AutobetValues = typeof defaultAutobetValues;
14
+ export declare class GenericAutobet extends OrigamiElement {
15
+ inputsDisabled: boolean;
16
+ autobetSettings: {
17
+ onWinPercentage: string;
18
+ onLossPercentage: string;
19
+ stopOnProfit: string;
20
+ stopOnLoss: string;
21
+ onLossStrategy: AfterBetEffect;
22
+ onWinStrategy: AfterBetEffect;
23
+ };
24
+ currency: Currency;
25
+ autobetStopping: boolean;
26
+ readonly autobetInProgress = false;
27
+ profitOnWin: string;
28
+ betDisabled: boolean;
29
+ customInputsSlot?: HTMLSlotElement;
30
+ static styles: import('lit').CSSResult[];
31
+ protected _autobetProvider: ContextProvider<{
32
+ __context__: import('./context/autobet.context').AutobetContextType;
33
+ }, this>;
34
+ updateNumberOfBets(numberOfBets: string): void;
35
+ private _updateAutobetSettings;
36
+ private _handleWinPercentageChange;
37
+ private _handleLossPercentageChange;
38
+ private _handleStopOnProfitChange;
39
+ private _handleStopOnLossChange;
40
+ private _hasCustomInputs;
41
+ render(): import('lit').TemplateResult<1>;
42
+ }
@@ -0,0 +1 @@
1
+ export declare const genericAutobetStyles: import('lit').CSSResult;