@enigma-lake/tower-play-controller-sdk 2.0.10 → 2.0.11

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/README.md CHANGED
@@ -1,213 +1,358 @@
1
+ # TowerPlayController SDK
1
2
 
2
- # TowerPlayController
3
+ The **TowerPlayController** SDK provides a fully-configurable wager & play-control interface for Tower-style games.
4
+ It supports **manual play**, **optional autoplay**, **optional risk selection**, **currency management**, **play amount input**, and **custom widgets**.
3
5
 
4
- The `TowerPlayController` component is a key part of the gameplay interface, allowing users to initiate a play or cash out based on their current game state. It supports manual play, autoplay for a specified number of plays, dynamic currency handling, and play amount adjustments.
6
+ Configuration is driven by the `PlayControllerProps` type, which supports two modes:
7
+
8
+ - **Full Mode (default)** — risk & autoplay enabled (flag omitted or `false`)
9
+ - **Simplified Mode** — risk & autoplay disabled when `withoutRiskAndAutoplay: true`
10
+
11
+ This keeps backwards compatibility with existing games (they don't need to pass the flag), and lets new games opt into a simpler controller by setting the flag.
5
12
 
6
13
  ---
7
14
 
8
- ## Component Overview
15
+ ## 🚀 Installation
16
+
17
+ ```bash
18
+ npm install @enigma-lake/tower-play-controller-sdk
19
+ ```
9
20
 
10
- The `TowerPlayController` allows the user to:
21
+ Import styles:
11
22
 
12
- - Select a currency.
13
- - Adjust the play amount.
14
- - Start a play (manual or auto).
15
- - Cash out winnings.
16
- - Toggle between manual play and autoplay.
17
- - Select risk difficulty
23
+ ```tsx
24
+ import "@enigma-lake/tower-play-controller-sdk/dist/style.css";
25
+ ```
18
26
 
19
27
  ---
20
28
 
21
- ## Setup
29
+ ## 🧠 AutoManualPlayProvider
22
30
 
23
- ### 1. Install the package using npm:
31
+ Wrap your game UI inside:
24
32
 
25
- ```bash
26
- npm install @enigma-lake/tower-play-controller-sdk
33
+ ```tsx
34
+ <AutoManualPlayProvider config={config}>
35
+ {({ autoPlay, manual, mode }) => (
36
+ // your UI
37
+ )}
38
+ </AutoManualPlayProvider>
27
39
  ```
28
40
 
29
- ### 2. Import the component and styles in your project:
41
+ The provider manages all logic:
30
42
 
31
- ```tsx
32
- import {
33
- AUTO_PLAY_STATE,
34
- GAME_MODE,
35
- AutoManualPlayProvider,
36
- } from "@enigma-lake/tower-play-controller-sdk";
43
+ | Feature | Full Mode (default) | Simplified Mode (`withoutRiskAndAutoplay: true`) |
44
+ |------------------------|------------------------------------------|--------------------------------------------------|
45
+ | Autoplay | ✅ Enabled (requires onAutoPlay) | ❌ Disabled |
46
+ | Risk Difficulty | ✅ Enabled (risks/currentRisk/onRiskChange) | ❌ Hidden |
47
+ | Dropdown Risk Colors | ✅ Required | ❌ Not used |
48
+ | Manual Play | ✅ Enabled | ✅ Enabled |
49
+ | Play Amount | ✅ Enabled | ✅ Enabled |
37
50
 
38
- import "@enigma-lake/tower-play-controller-sdk/dist/style.css";
51
+ ---
52
+
53
+ ## 🔧 Prop Structure
54
+
55
+ Below is an overview of the configuration props.
56
+
57
+ ---
58
+
59
+ ### 1. `currencyOptions`
60
+
61
+ ```ts
62
+ {
63
+ current: Currency;
64
+ available: Currency[];
65
+ }
66
+ ```
67
+
68
+ ---
69
+
70
+ ### 2. Styling (Conditional)
71
+
72
+ #### Panel
73
+
74
+ ```ts
75
+ panel: {
76
+ bottom?: string;
77
+ bgColorHex: string;
78
+ bgColorOpacity?: number;
79
+ }
80
+ ```
81
+
82
+ #### Dropdown
83
+
84
+ **Full Mode (default)**
85
+ `withoutRiskAndAutoplay` omitted or `false`:
86
+
87
+ ```ts
88
+ dropdown: {
89
+ bgColorHex: string;
90
+ riskColorConfig: {
91
+ LOW: string;
92
+ MEDIUM: string;
93
+ HIGH: string;
94
+ };
95
+ }
96
+ ```
97
+
98
+ **Simplified Mode**
99
+ `withoutRiskAndAutoplay: true`:
100
+
101
+ ```ts
102
+ dropdown: {
103
+ bgColorHex: string;
104
+ }
39
105
  ```
40
106
 
41
107
  ---
42
108
 
43
- ## Context & Provider
109
+ ### 3. Actions
44
110
 
45
- ### `AutoManualPlayProvider`
111
+ **Shared (both modes)**:
46
112
 
47
- The `AutoManualPlayProvider` wraps the TowerPlayController, managing both manual play and autoplay. It uses React Context to provide game state and actions throughout the component tree.
113
+ ```ts
114
+ onPlay: () => void;
115
+ onCashout: () => void;
116
+ ```
117
+
118
+ **Only required in Full Mode (`withoutRiskAndAutoplay` omitted or `false`)**:
119
+
120
+ ```ts
121
+ onAutoPlay: (selection: number[], next: () => void, stop: () => void) => void;
122
+ onAutoPlayStop?: () => void;
123
+ ```
124
+
125
+ In Simplified Mode, `onAutoPlay` and `onAutoPlayStop` are not required and are effectively ignored.
48
126
 
49
- 🔹 **Features of `AutoManualPlayProvider`**:
50
- - **Manages Game Mode**: Switches between MANUAL and AUTOPLAY.
51
- - **Handles Autoplay**: Sets the number of plays, tracks rounds, and stops automatically.
52
- - **Provides Context:** Exposes state and functions for controlling play behavior.
127
+ ---
53
128
 
54
- ## Props
129
+ ### 4. Play Options (Conditional)
55
130
 
56
- ### 1. `StylingProps`
131
+ #### Full Mode (default)
57
132
 
58
- Handles the styling-related properties for the component.
133
+ ```ts
134
+ playOptions: {
135
+ isPlaying: boolean;
136
+ canCashout: boolean;
137
+ disabledController: boolean;
138
+ displayController: boolean;
59
139
 
60
- - **`panel` (optional)**: Custom styling for the play controller.
140
+ // RISK SYSTEM
141
+ risks: RiskTypes[];
142
+ currentRisk: RiskTypes;
143
+ onRiskChange(risk: RiskTypes): void;
61
144
 
62
- - **`bgColorHex`**: Hex color for the panel background.
63
- - **`bgColorOpacity` (optional)**: Opacity for the panel background.
64
- - **`bottom`**: Position of the panel relative to the window.
145
+ // AUTOPLAY SYSTEM
146
+ autoPlayDelay?: number;
147
+ showAutoPlayToast({ type, message }): void;
65
148
 
66
- - **`dropdown` (optional)**: Custom styling for the dropdown.
67
- - **`bgColorHex`**: Hex color for the panel background.
68
- - **`riskColorConfig`**: Object defining colors for different risk levels.
69
- - **`LOW`**: color (e.g." #1AE380")
70
- - **`MEDIUM`**: color (e.g." #FAEB78")
71
- - **`HIGH`**: color (e.g." #FF5646")
72
-
73
- ### 2. `CurrencyProps`
149
+ disabledMenu: boolean;
74
150
 
75
- Handles currency-related logic and settings.
76
- - **`currencyOptions`**: An object containing the following properties:
77
- - **`current`**: The currently selected currency
78
- - **`available`**: Array of available currencies that the user can choose from.
151
+ playHook(): {
152
+ playLimits?: PlayLimits;
153
+ playAmount: number;
154
+ setPlayAmount(value: number): void;
155
+ };
79
156
 
80
- ### 3. `ActionsProps`
81
- Defines functions for the user actions.
157
+ totalBalance: number;
158
+ }
159
+ ```
82
160
 
83
- - **`onPlay`**: A callback function to trigger when the user starts a play.
84
- - **`onAutoPlay`**: A callback function to trigger when the user starts autoplay. It accepts `selection` (an array of selected indices), `next` (a function to proceed to the next autoplay round), and `stop` (a function to stop autoplay).
85
- - **`onAutoPlayStop`** (optional): A callback function to trigger when the user stops autoplay by pressing the "Stop Autoplay" button.
86
- - **`onCashout`**: A callback function to trigger when the user decides to cash out their winnings.
161
+ #### Simplified Mode
162
+ `withoutRiskAndAutoplay: true`:
87
163
 
88
- ### 4. `PlaySettingsProps`
164
+ ```ts
165
+ playOptions: {
166
+ isPlaying: boolean;
167
+ canCashout: boolean;
168
+ disabledController: boolean;
169
+ displayController: boolean;
89
170
 
90
- Handles game-specific settings and states.
171
+ disabledMenu: boolean;
91
172
 
92
- - **`playOptions`**: An object containing the following properties:
93
- - **`isPlaying`**: Boolean flag indicating whether the game is currently in progress.
94
- - **`canCashout`**: Boolean flag indicating whether the user can cash out their current play.
95
- - **`disabledController`**: Boolean flag to disable all interactive elements in the component, preventing user interactions (e.g., when the game is in progress).
96
- - **`displayController`**: Boolean flag to determine if the play controller should be visible.
97
- - **`showAutoPlayToast`**: A function to show a toast message during autoplay. Accepts an object with:
98
- - **`type`**: Message type (`"success"`, `"error"`, `"warning"`, or `"info"`).
99
- - **`message`**: The message to display.
100
- - **`playHook`**: A hook providing the current play amount, play limits, and a function to set the play amount.
101
- - **`playLimits`**: Play limits for the game.
102
- - **`playAmount`**: The current play amount.
103
- - **`setPlayAmount`**: A function to set the play amount.
104
- - **`autoPlayDelay`** (optional): The delay (in milliseconds) before auto play starts.
105
- - **`currentRisk`**: The current risk setting.
106
- - **`onRiskChange`**: Callback function to handle risk selection.
107
- - **`risks`**: Array of available risk types.
108
- - **`disabledMenu`**: Disable menu flag
109
- - **`totalBalance`**: The available balance for the current currency
173
+ playHook(): {
174
+ playLimits?: PlayLimits;
175
+ playAmount: number;
176
+ setPlayAmount(value: number): void;
177
+ };
110
178
 
111
- ### 5. `Widgets`
112
- Defines functions for the user actions.
179
+ totalBalance: number;
180
+ }
181
+ ```
182
+
183
+ Risk/autoplay properties (`risks`, `currentRisk`, `onRiskChange`, `autoPlayDelay`, `showAutoPlayToast`) are not part of the simplified mode.
113
184
 
114
- - **`leftWidgets`**: A list of widgets that will be displayed on the left side
115
- - **`centerWidgets`**: A list of widgets that will be displayed on the center
116
- - **`rightWidgets`**: A list of widgets that will be displayed on the right side
117
185
  ---
118
186
 
119
- ## Example Usage
187
+ ### 5. Widgets
188
+
189
+ ```ts
190
+ leftWidgets: Widget[];
191
+ centerWidgets: Widget[];
192
+ rightWidgets: Widget[];
193
+ ```
194
+
195
+ ---
196
+
197
+ ## 🎮 Example Usage
198
+
199
+ ### Example 1 — Full Mode (default: risk + autoplay enabled)
120
200
 
121
201
  ```tsx
122
- import "@enigma-lake/tower-play-controller-sdk/dist/style.css";
123
- import { AutoManualPlayProvider, GAME_MODE, AUTO_PLAY_STATE } from "@enigma-lake/tower-play-controller-sdk";
202
+ import {
203
+ AutoManualPlayProvider,
204
+ } from "@enigma-lake/tower-play-controller-sdk";
124
205
  import { Currency } from "@enigma-lake/zoot-platform-sdk";
125
206
 
126
- const GameExample = () => {
127
- const config = {
128
- currencyOptions: {
129
- currentCurrency: Currency.SWEEPS,
130
- currencies: [Currency.SWEEPS, Currency.GOLD],
131
- winText: "0.00 SC",
132
- },
133
- onPlay: () => console.log("Play button clicked"),
134
- onAutoPlay: (selection, next, stop) => {
135
- console.log("Auto Play started with selection:", selection);
136
- next(); // Proceed to the next autoplay round
137
- stop(); // Stop autoplay (e.g., in case of an error or when the user chooses to stop)
138
- },
139
- onAutoPlayStop: () => {
140
- console.log("Auto Play stopped by user");
141
- },
142
- onCashout: () => console.log("Cashout clicked"),
143
- playOptions: {
144
- displayController: true,
145
- canCashout: false,
146
- isPlaying: false,
147
- disabledController: false,
148
- onRiskChange: (risk: RiskType) => {},
149
- disabledMenu: false,
150
- risks: [RiskTypes.LOW, RiskTypes.MEDIUM, RiskTypes.HIGH],
151
- showAutoPlayToast: (props) => {
152
- console.log(`${props.type}: ${props.message}`);
153
- },
154
- playHook: () => {
155
- return {
156
- playLimits: { min: 1, max: 100 },
157
- playAmount: 10,
158
- setPlayAmount: (value) => console.log("New play amount:", value),
159
- };
160
- },
207
+ const config = {
208
+ // withoutRiskAndAutoplay omitted or false => FULL mode
209
+ currencyOptions: {
210
+ current: Currency.SWEEPS,
211
+ available: [Currency.SWEEPS, Currency.GOLD],
212
+ },
213
+
214
+ onPlay: () => console.log("Play"),
215
+ onAutoPlay: (selection, next, stop) => {
216
+ console.log("Autoplay selection:", selection);
217
+ next(); // continue to next round
218
+ },
219
+ onAutoPlayStop: () => console.log("Autoplay stopped"),
220
+ onCashout: () => console.log("Cashout"),
221
+
222
+ playOptions: {
223
+ displayController: true,
224
+ isPlaying: false,
225
+ canCashout: false,
226
+ disabledController: false,
227
+ disableInput: false,
228
+
229
+ // Risk controls
230
+ risks: [RiskTypes.LOW, RiskTypes.MEDIUM, RiskTypes.HIGH],
231
+ currentRisk: RiskTypes.LOW,
232
+ onRiskChange: (risk) => console.log("Risk:", risk),
233
+
234
+ // Autoplay
235
+ autoPlayDelay: 1000,
236
+ showAutoPlayToast: ({ type, message }) =>
237
+ console.log(`${type}: ${message}`),
238
+
239
+ disabledMenu: false,
240
+
241
+ playHook: () => ({
242
+ playLimits: { min: 1, max: 100 },
243
+ playAmount: 10,
244
+ setPlayAmount: (v) => console.log("Amount:", v),
245
+ }),
246
+
247
+ totalBalance: 100,
248
+ },
249
+
250
+ panel: {
251
+ bottom: "60px",
252
+ bgColorHex: "#08643F",
253
+ bgColorOpacity: 0.8,
254
+ },
255
+
256
+ dropdown: {
257
+ bgColorHex: "#123456",
258
+ riskColorConfig: {
259
+ LOW: "#1AE380",
260
+ MEDIUM: "#FAEB78",
261
+ HIGH: "#FF5646",
161
262
  },
162
- panel: {
163
- bottom: window.innerWidth < 450 ? "55px" : "70px",
164
- bgColorHex: "#08643F"
165
- bgColorOpacity: 0.8,
166
- },
167
- dropdown: {
168
- bgColorHex: "#10243F",
169
- riskColorConfig: {
170
- LOW: "#1AE380",
171
- MEDIUM: "#FAEB78",
172
- HIGH: "#FF5646",
173
- },
174
- }
175
- };
263
+ },
176
264
 
177
- return (
178
- <AutoManualPlayProvider config={config}>
179
- {({ autoPlay: { selection, setSelection, state }, mode }) => (
180
- // children content
181
- )}
182
- </AutoManualPlayProvider>
183
- );
265
+ leftWidgets: [],
266
+ centerWidgets: [],
267
+ rightWidgets: [],
184
268
  };
269
+
270
+ export const GameExampleFull = () => (
271
+ <AutoManualPlayProvider config={config}>
272
+ {({ mode }) => (
273
+ <div>Mode: {mode}</div>
274
+ )}
275
+ </AutoManualPlayProvider>
276
+ );
185
277
  ```
186
278
 
187
279
  ---
188
280
 
189
- ## Key Features
281
+ ### Example 2 — Simplified Mode (`withoutRiskAndAutoplay: true`)
190
282
 
191
- 1. **Dynamic Currency Handling**:
192
- - Supports multiple currencies (e.g., SWEEPS, GOLD).
193
- - Allows users to switch currencies easily.
194
-
195
- 2. **Play Amount Adjustment**:
196
- - Includes buttons to halve or double the play amount.
197
- - Validates play amounts against user balance and play limits.
283
+ ```tsx
284
+ import {
285
+ AutoManualPlayProvider,
286
+ } from "@enigma-lake/tower-play-controller-sdk";
287
+ import { Currency } from "@enigma-lake/zoot-platform-sdk";
198
288
 
199
- 3. **Custom Styling**:
200
- - Supports customizable input and button colors.
289
+ const config = {
290
+ withoutRiskAndAutoplay: true, // simplified mode
291
+
292
+ currencyOptions: {
293
+ current: Currency.SWEEPS,
294
+ available: [Currency.SWEEPS],
295
+ },
296
+
297
+ onPlay: () => console.log("Play"),
298
+ onCashout: () => console.log("Cashout"),
299
+
300
+ playOptions: {
301
+ displayController: true,
302
+ isPlaying: false,
303
+ canCashout: false,
304
+ disabledController: false,
305
+ disableInput: false,
306
+ disabledMenu: false,
307
+
308
+ playHook: () => ({
309
+ playLimits: { min: 1, max: 20 },
310
+ playAmount: 5,
311
+ setPlayAmount: (value) => console.log("New amount:", value),
312
+ }),
313
+
314
+ totalBalance: 50,
315
+ },
316
+
317
+ panel: {
318
+ bgColorHex: "#0A3F2F",
319
+ },
320
+
321
+ dropdown: {
322
+ bgColorHex: "#10243F", // no riskColorConfig here
323
+ },
324
+
325
+ leftWidgets: [],
326
+ centerWidgets: [],
327
+ rightWidgets: [],
328
+ };
201
329
 
202
- 4. **Play & Cashout Actions**:
203
- - Allows users to initiate gameplay or cash out winnings seamlessly.
330
+ export const GameExampleSimplified = () => (
331
+ <AutoManualPlayProvider config={config}>
332
+ {({ mode }) => (
333
+ <div>Mode: {mode}</div>
334
+ )}
335
+ </AutoManualPlayProvider>
336
+ );
337
+ ```
204
338
 
205
339
  ---
206
340
 
207
- ## Development Notes
341
+ ## Features
342
+
343
+ - **Optional Risk System** – enabled by default; disabled when `withoutRiskAndAutoplay: true`
344
+ - **Optional Autoplay** – fully controlled via callbacks and delay (full mode only)
345
+ - **Dynamic Currency Management** – multiple currencies supported
346
+ - **Wager Controls** – validated against play limits
347
+ - **UI Widgets** – customizable left/center/right areas
348
+ - **Flexible Styling** – configurable colors, bottom positioning, and opacity
349
+ - **Responsive Layout** – suitable for desktop and mobile
350
+
351
+ ---
208
352
 
209
- 1. **Play Amount Validation**:
210
- - The play amount is validated to ensure it falls within the minimum and maximum limits, as well as the user's available balance.
353
+ ## 🛠 Development Notes
211
354
 
212
- 2. **Responsive Design**:
213
- - The component is styled to be responsive and integrate seamlessly into various layouts.
355
+ - `onAutoPlay` / `onAutoPlayStop` are **only required** in full mode.
356
+ - `dropdown.riskColorConfig` is **only allowed/required** in full mode.
357
+ - Risk-related and autoplay-related fields in `playOptions` are removed in simplified mode.
358
+ - Use `withoutRiskAndAutoplay: true` to explicitly opt into the simplified experience.
@@ -28,6 +28,7 @@ export interface AutoManualPlayStateContextType {
28
28
  setDisplayPlayAmountView: (v: boolean) => void;
29
29
  togglePlayAmountView: () => void;
30
30
  };
31
+ withoutRiskAndAutoplay?: boolean;
31
32
  }
32
33
  export declare const AutoManualPlayStateContext: import("react").Context<AutoManualPlayStateContextType | undefined>;
33
34
  export declare const useAutoManualPlayState: () => AutoManualPlayStateContextType;
@@ -8,8 +8,8 @@ export declare const usePlayController: () => {
8
8
  direction: -1 | 1;
9
9
  }) => void;
10
10
  onChangeAmount: (playValue: number) => void;
11
- playOptions: import("../../types/playController").PlaySettingsProps;
12
11
  isValidPlayAmount: boolean;
12
+ playOptions: import("../../types/playController").PlaySettingsProps | import("../../types/playController").BasePlaySettings;
13
13
  totalBalance: number;
14
14
  manualPlay: {
15
15
  isDisabled: () => boolean;
@@ -1,4 +1,6 @@
1
1
  import AutoManualPlayProvider from "./AutoManualPlayStateProvider";
2
2
  import { GAME_MODE, AUTO_PLAY_STATE } from "../types/gameMode";
3
3
  import { format } from "./utils";
4
+ import { PlayControllerProps, PlayControllerWithoutRisk, PlayControllerWithRisk } from "../types";
4
5
  export { AutoManualPlayProvider, GAME_MODE, AUTO_PLAY_STATE, format };
6
+ export type { PlayControllerProps, PlayControllerWithoutRisk, PlayControllerWithRisk, };
package/dist/index.d.ts CHANGED
@@ -23,15 +23,17 @@ type Widget = {
23
23
  }) => ReactNode;
24
24
  };
25
25
 
26
- declare const format: (value: number | string, decimals: number) => string | number;
27
-
28
26
  declare enum RiskTypes {
29
27
  LOW = "LOW",
30
28
  MEDIUM = "MEDIUM",
31
29
  HIGH = "HIGH"
32
30
  }
33
31
 
34
- type StylingProps = {
32
+ /**
33
+ * Styling / theme-related props for the controller.
34
+ * Split into variants so dropdown.riskColorConfig can be conditional.
35
+ */
36
+ type StylingWithRisk = {
35
37
  panel: {
36
38
  bottom?: string;
37
39
  bgColorHex: string;
@@ -46,12 +48,35 @@ type StylingProps = {
46
48
  };
47
49
  };
48
50
  };
49
- type ActionsProps = {
51
+ type StylingWithoutRisk = {
52
+ panel: {
53
+ bottom?: string;
54
+ bgColorHex: string;
55
+ bgColorOpacity?: number;
56
+ };
57
+ dropdown: {
58
+ bgColorHex: string;
59
+ };
60
+ };
61
+ /**
62
+ * Action handlers for the controller.
63
+ *
64
+ * In "with risk" (full) mode, autoplay is enabled and required.
65
+ * In "without risk & autoplay" (simplified) mode, only onPlay and onCashout are required.
66
+ */
67
+ type ActionsBase = {
50
68
  onPlay: () => void;
69
+ onCashout: () => void;
70
+ };
71
+ type ActionsWithAutoplay = ActionsBase & {
51
72
  onAutoPlay: (selection: number[], next: () => void, stop: () => void) => void;
52
73
  onAutoPlayStop?: () => void;
53
- onCashout: () => void;
54
74
  };
75
+ type ActionsWithoutAutoplay = ActionsBase;
76
+ /**
77
+ * Full play settings, including risk & autoplay-related pieces.
78
+ * This is the maximal shape; we derive conditional versions from it.
79
+ */
55
80
  type PlaySettingsProps = {
56
81
  isPlaying: boolean;
57
82
  canCashout: boolean;
@@ -74,13 +99,71 @@ type PlaySettingsProps = {
74
99
  totalBalance: number;
75
100
  autoPlayDelay?: number;
76
101
  };
77
- type PlayControllerProps = StylingProps & ActionsProps & {
102
+ /**
103
+ * Fields considered "about risk and autoplay" that should disappear
104
+ * when withoutRiskAndAutoplay is true (simplified mode).
105
+ */
106
+ type RiskAndAutoplayFields = Pick<PlaySettingsProps, "risks" | "currentRisk" | "onRiskChange" | "autoPlayDelay" | "showAutoPlayToast">;
107
+ /**
108
+ * Base settings that are always there, regardless of the flag.
109
+ */
110
+ type BasePlaySettings = Omit<PlaySettingsProps, keyof RiskAndAutoplayFields>;
111
+ /**
112
+ * Variant when risk + autoplay are enabled.
113
+ * Contains all fields from PlaySettingsProps.
114
+ */
115
+ type PlaySettingsWithRisk = PlaySettingsProps;
116
+ /**
117
+ * Variant when withoutRiskAndAutoplay is true (simplified mode).
118
+ * Risk/autoplay-specific fields are removed.
119
+ */
120
+ type PlaySettingsWithoutRisk = BasePlaySettings;
121
+ /**
122
+ * Common controller props that don't depend on the flag.
123
+ */
124
+ type BaseControllerCommon = {
78
125
  currencyOptions: CurrencyProps;
79
- playOptions: PlaySettingsProps;
80
126
  leftWidgets: Widget[];
81
127
  rightWidgets: Widget[];
82
128
  centerWidgets: Widget[];
83
129
  };
130
+ /**
131
+ * Variant when risk & autoplay are enabled (FULL mode).
132
+ *
133
+ * - withoutRiskAndAutoplay is omitted or false
134
+ * - playOptions has full risk/autoplay configuration
135
+ * - dropdown must include riskColorConfig
136
+ * - onAutoPlay is required, onAutoPlayStop optional
137
+ *
138
+ * This is the DEFAULT if you do not pass withoutRiskAndAutoplay.
139
+ */
140
+ type PlayControllerWithRisk = BaseControllerCommon & ActionsWithAutoplay & StylingWithRisk & {
141
+ withoutRiskAndAutoplay?: false | undefined;
142
+ playOptions: PlaySettingsWithRisk;
143
+ };
144
+ /**
145
+ * Variant when withoutRiskAndAutoplay is explicitly true (SIMPLIFIED mode).
146
+ *
147
+ * - withoutRiskAndAutoplay must be true
148
+ * - playOptions has NO risk/autoplay-specific fields
149
+ * - dropdown has NO riskColorConfig
150
+ * - onAutoPlay/onAutoPlayStop are NOT required
151
+ */
152
+ type PlayControllerWithoutRisk = BaseControllerCommon & ActionsWithoutAutoplay & StylingWithoutRisk & {
153
+ withoutRiskAndAutoplay: true;
154
+ playOptions: PlaySettingsWithoutRisk;
155
+ };
156
+ /**
157
+ * Final discriminated union type.
158
+ *
159
+ * - If withoutRiskAndAutoplay is true:
160
+ * - simplified mode (no risk/autoplay)
161
+ * - If withoutRiskAndAutoplay is false or omitted:
162
+ * - full mode (with risk/autoplay)
163
+ */
164
+ type PlayControllerProps = PlayControllerWithRisk | PlayControllerWithoutRisk;
165
+
166
+ declare const format: (value: number | string, decimals: number) => string | number;
84
167
 
85
168
  interface AutoManualPlayStateContextType {
86
169
  mode: GAME_MODE;
@@ -110,6 +193,7 @@ interface AutoManualPlayStateContextType {
110
193
  setDisplayPlayAmountView: (v: boolean) => void;
111
194
  togglePlayAmountView: () => void;
112
195
  };
196
+ withoutRiskAndAutoplay?: boolean;
113
197
  }
114
198
 
115
199
  interface AutoManualPlayStateProviderProps {
@@ -118,4 +202,4 @@ interface AutoManualPlayStateProviderProps {
118
202
  }
119
203
  declare const AutoManualPlayProvider: React.FC<AutoManualPlayStateProviderProps>;
120
204
 
121
- export { AUTO_PLAY_STATE, AutoManualPlayProvider, GAME_MODE, WIDGET, type Widget, format };
205
+ export { AUTO_PLAY_STATE, AutoManualPlayProvider, GAME_MODE, type PlayControllerProps, type PlayControllerWithRisk, type PlayControllerWithoutRisk, WIDGET, type Widget, format };
package/dist/index.mjs CHANGED
@@ -76,11 +76,29 @@ const useAutoManualPlayState = () => {
76
76
  return context;
77
77
  };
78
78
 
79
+ /**
80
+ * Type guard: full mode (risk + autoplay enabled)
81
+ *
82
+ * Full mode is the default:
83
+ * - withoutRiskAndAutoplay is omitted, or
84
+ * - withoutRiskAndAutoplay is explicitly false
85
+ */
86
+ function isFullMode(config) {
87
+ return config.withoutRiskAndAutoplay !== true;
88
+ }
79
89
  const usePlayController = () => {
80
90
  const { config, autoPlay: { setNumberOfPlays, numberOfPlays, setPlayedRounds, playedRounds, selection, setState, state, }, playValues: { displayPlayAmountView, setDisplayPlayAmountView, togglePlayAmountView, }, } = useAutoManualPlayState();
81
91
  const { current } = config.currencyOptions;
82
- const { isPlaying, canCashout, disabledController, showAutoPlayToast, autoPlayDelay = 1500, playHook, } = config.playOptions;
83
- const { playAmount, playLimits, setPlayAmount } = playHook?.() ?? {};
92
+ const { isPlaying, canCashout, disabledController, playHook, totalBalance } = config.playOptions;
93
+ // --- Autoplay-related values only valid in full mode ---
94
+ const autoplayEnabled = isFullMode(config);
95
+ const showAutoPlayToast = autoplayEnabled
96
+ ? config.playOptions.showAutoPlayToast
97
+ : undefined;
98
+ const autoPlayDelay = autoplayEnabled
99
+ ? (config.playOptions.autoPlayDelay ?? 1500)
100
+ : 1500;
101
+ const { playAmount = 0, playLimits, setPlayAmount = () => { }, } = playHook?.() ?? {};
84
102
  const minPlayAmount = playLimits?.[current.code]?.limits.min ?? 0;
85
103
  const maxPlayAmount = playLimits?.[current.code]?.limits.max ?? 0;
86
104
  const playIntervalRef = useRef(null);
@@ -95,11 +113,13 @@ const usePlayController = () => {
95
113
  setTimeout(() => {
96
114
  setPlayedRounds(0);
97
115
  }, 1500);
98
- // Call the onAutoPlayStop callback if provided
99
- config.onAutoPlayStop?.();
116
+ // Only available in full mode
117
+ if (autoplayEnabled) {
118
+ config.onAutoPlayStop?.();
119
+ }
100
120
  };
101
121
  const loopRounds = (currentPlayedRounds, remainingPlays) => {
102
- if (!isAutoplayActiveRef.current) {
122
+ if (!isAutoplayActiveRef.current || !autoplayEnabled) {
103
123
  return;
104
124
  }
105
125
  if (remainingPlays < 1 || numberOfPlays === 0) {
@@ -109,6 +129,7 @@ const usePlayController = () => {
109
129
  }
110
130
  setPlayedRounds(currentPlayedRounds + 1);
111
131
  setNumberOfPlays((prev) => Math.max(prev - 1, 0));
132
+ // onAutoPlay exists only in full mode (guarded by autoplayEnabled)
112
133
  config.onAutoPlay(selection, () => {
113
134
  if (!isAutoplayActiveRef.current) {
114
135
  return;
@@ -116,8 +137,10 @@ const usePlayController = () => {
116
137
  playIntervalRef.current = setTimeout(() => loopRounds(currentPlayedRounds + 1, remainingPlays - 1), autoPlayDelay);
117
138
  }, stopAutoplay);
118
139
  };
140
+ const isDisabled = () => disabledController || isPlaying;
141
+ const isAutoplayDisabled = () => !autoplayEnabled || disabledController || state === AUTO_PLAY_STATE.PLAYING;
119
142
  const handleAutoPlay = () => {
120
- if (disabledController) {
143
+ if (!autoplayEnabled || isAutoplayDisabled()) {
121
144
  return;
122
145
  }
123
146
  if (selection.length === 0) {
@@ -131,8 +154,6 @@ const usePlayController = () => {
131
154
  setState(AUTO_PLAY_STATE.PLAYING);
132
155
  loopRounds(playedRounds, numberOfPlays);
133
156
  };
134
- const isDisabled = () => disabledController || isPlaying;
135
- const isAutoplayDisabled = () => disabledController || state === AUTO_PLAY_STATE.PLAYING;
136
157
  const adjustPlayAmount = ({ direction }) => {
137
158
  if (isDisabled()) {
138
159
  return;
@@ -146,7 +167,7 @@ const usePlayController = () => {
146
167
  const currentIndex = sorted.findIndex((o) => o === playAmount);
147
168
  let newAmount;
148
169
  if (currentIndex === -1) {
149
- // if current isn't exactly in list, insert it logically
170
+ // If current isn't exactly in list, insert it logically
150
171
  sorted.push(playAmount);
151
172
  sorted.sort((a, b) => a - b);
152
173
  const idx = sorted.indexOf(playAmount);
@@ -172,26 +193,31 @@ const usePlayController = () => {
172
193
  };
173
194
  const isValidPlayAmount = playAmount >= minPlayAmount && playAmount <= maxPlayAmount;
174
195
  return {
196
+ // amounts
175
197
  playAmount,
176
198
  minPlayAmount,
177
199
  maxPlayAmount,
178
200
  setPlayAmount,
179
201
  adjustPlayAmount,
180
202
  onChangeAmount,
181
- playOptions: config.playOptions,
182
203
  isValidPlayAmount,
183
- totalBalance: config.playOptions.totalBalance,
204
+ // config / options
205
+ playOptions: config.playOptions,
206
+ totalBalance,
207
+ // manual play
184
208
  manualPlay: {
185
209
  isDisabled,
186
210
  onPlay: config.onPlay,
187
211
  canCashout,
188
212
  },
213
+ // autoplay
189
214
  autoPlay: {
190
215
  isDisabled: isAutoplayDisabled,
191
216
  state,
192
217
  onPlay: handleAutoPlay,
193
218
  onStopPlay: stopAutoplay,
194
219
  },
220
+ // UI state for play amount view
195
221
  playValues: {
196
222
  displayPlayAmountView,
197
223
  setDisplayPlayAmountView,
@@ -890,12 +916,13 @@ const AutoManualPlayProvider = ({ children, config, }) => {
890
916
  displayPlayAmountView,
891
917
  togglePlayAmountView,
892
918
  ]);
919
+ const isSimplified = config.withoutRiskAndAutoplay === true;
893
920
  return (jsxs(AutoManualPlayStateContext.Provider, { value: contextValue, children: [typeof children === "function" ? children(contextValue) : children, config.playOptions.displayController && (jsx("div", { className: cx$1(styles_ui.base, styles_ui.betForm), style: {
894
921
  "--play-bottom": config.panel.bottom ?? 0,
895
922
  "--play-panel-bg": hexToRgb(config.panel.bgColorHex ?? "#01243A"),
896
923
  "--play-dropdown-bg": hexToRgb(config.dropdown.bgColorHex ?? "#01243A"),
897
924
  "--play-panel-bg-opacity": config.panel.bgColorOpacity ?? 0.5,
898
- }, children: jsxs("div", { className: cx$1(styles_ui.container), children: [jsx(PlayValueList, {}), jsxs("div", { className: cx$1(styles_ui.auto), children: [jsx(DifficultySelector, { playOptions: {
925
+ }, children: jsxs("div", { className: cx$1(styles_ui.container), children: [jsx(PlayValueList, {}), !isSimplified ? (jsxs("div", { className: cx$1(styles_ui.auto), children: [jsx(DifficultySelector, { playOptions: {
899
926
  ...config.playOptions,
900
927
  disabledMenu: config.playOptions.disabledController ||
901
928
  config.playOptions.disabledMenu,
@@ -910,7 +937,7 @@ const AutoManualPlayProvider = ({ children, config, }) => {
910
937
  [styles_ui.disabled]: mode !== GAME_MODE.AUTOPLAY ||
911
938
  numberOfPlays !== Infinity ||
912
939
  autoplayState === AUTO_PLAY_STATE.PLAYING,
913
- }), children: `∞` }) })] }), mode === GAME_MODE.MANUAL ? (jsx(ManualPlayController, {})) : (jsx(AutoPlayController, {})), jsx(WidgetContainer, { state: autoplayState, displayPlayAmountView: displayPlayAmountView, widgets: {
940
+ }), children: "\u221E" }) })] })) : null, mode === GAME_MODE.MANUAL ? (jsx(ManualPlayController, {})) : (jsx(AutoPlayController, {})), jsx(WidgetContainer, { state: autoplayState, displayPlayAmountView: displayPlayAmountView, widgets: {
914
941
  left: config.leftWidgets,
915
942
  center: config.centerWidgets,
916
943
  right: config.rightWidgets,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/components/utils.ts","../src/types/gameMode.ts","../src/types/widgets.ts","../src/components/AutoManualPlayStateProvider/AutoManualPlayStateContext.tsx","../src/components/hooks/usePlayController.ts","../src/components/base/Button/Button.tsx","../src/components/base/GroupRow/GroupRow.tsx","../src/components/base/ChevronIcon/ChevronIcon.tsx","../src/components/base/SelectMenu/GoldIcon.tsx","../src/components/base/SelectMenu/SweepsIcon.tsx","../src/components/base/SelectMenu/config.tsx","../src/components/base/SelectMenu/SelectMenu.tsx","../src/components/base/PlayValueInput/PlayValueInput.tsx","../src/components/base/PlayController/PlayController.tsx","../src/components/base/AutoPlayController/enum.ts","../src/components/base/AutoPlayController/AutoPlayController.tsx","../src/components/hooks/useIsRunningExternal.ts","../src/components/base/ManualPlayController/ManualPlayController.tsx","../src/components/base/DifficultySelector/Selector.tsx","../src/components/base/DifficultySelector/types.ts","../src/components/base/DifficultySelector/DifficultySelector.tsx","../src/components/base/Input/cleanInputNumber.ts","../src/components/base/Input/Input.tsx","../src/components/base/Switch/Switch.tsx","../src/components/base/InputWithSwitch/InputWithSwitch.tsx","../node_modules/classnames/bind.js","../src/components/Widgets/WidgetContainer.tsx","../src/components/base/PlayValueList/PlayValueList.tsx","../src/components/AutoManualPlayStateProvider/AutoManualPlayProvider.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null],"names":["_jsx","cx","styles","_jsxs","capitalize","style_select","PlayValue","_Fragment","HeadlessSwitch","Fragment"],"mappings":"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","x_google_ignoreList":[25]}
1
+ {"version":3,"file":"index.mjs","sources":["../src/components/utils.ts","../src/types/gameMode.ts","../src/types/widgets.ts","../src/components/AutoManualPlayStateProvider/AutoManualPlayStateContext.tsx","../src/components/hooks/usePlayController.ts","../src/components/base/Button/Button.tsx","../src/components/base/GroupRow/GroupRow.tsx","../src/components/base/ChevronIcon/ChevronIcon.tsx","../src/components/base/SelectMenu/GoldIcon.tsx","../src/components/base/SelectMenu/SweepsIcon.tsx","../src/components/base/SelectMenu/config.tsx","../src/components/base/SelectMenu/SelectMenu.tsx","../src/components/base/PlayValueInput/PlayValueInput.tsx","../src/components/base/PlayController/PlayController.tsx","../src/components/base/AutoPlayController/enum.ts","../src/components/base/AutoPlayController/AutoPlayController.tsx","../src/components/hooks/useIsRunningExternal.ts","../src/components/base/ManualPlayController/ManualPlayController.tsx","../src/components/base/DifficultySelector/Selector.tsx","../src/components/base/DifficultySelector/types.ts","../src/components/base/DifficultySelector/DifficultySelector.tsx","../src/components/base/Input/cleanInputNumber.ts","../src/components/base/Input/Input.tsx","../src/components/base/Switch/Switch.tsx","../src/components/base/InputWithSwitch/InputWithSwitch.tsx","../node_modules/classnames/bind.js","../src/components/Widgets/WidgetContainer.tsx","../src/components/base/PlayValueList/PlayValueList.tsx","../src/components/AutoManualPlayStateProvider/AutoManualPlayProvider.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null],"names":["_jsx","cx","styles","_jsxs","capitalize","style_select","PlayValue","_Fragment","HeadlessSwitch","Fragment"],"mappings":"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","x_google_ignoreList":[25]}
@@ -2,3 +2,5 @@ import { GAME_MODE, AUTO_PLAY_STATE } from "./gameMode";
2
2
  import { Widget, WIDGET } from "./widgets";
3
3
  export { GAME_MODE, AUTO_PLAY_STATE, WIDGET };
4
4
  export type { Widget };
5
+ import { PlayControllerWithoutRisk, PlayControllerWithRisk, PlayControllerProps } from "./playController";
6
+ export type { PlayControllerProps, PlayControllerWithoutRisk, PlayControllerWithRisk, };
@@ -1,7 +1,11 @@
1
1
  import { CurrencyProps, PlayLimitsV2 as PlayLimits } from "@enigma-lake/zoot-platform-sdk";
2
2
  import { RiskTypes } from "../components/base/DifficultySelector/types";
3
3
  import { Widget } from "./widgets";
4
- export type StylingProps = {
4
+ /**
5
+ * Styling / theme-related props for the controller.
6
+ * Split into variants so dropdown.riskColorConfig can be conditional.
7
+ */
8
+ export type StylingWithRisk = {
5
9
  panel: {
6
10
  bottom?: string;
7
11
  bgColorHex: string;
@@ -16,12 +20,39 @@ export type StylingProps = {
16
20
  };
17
21
  };
18
22
  };
19
- export type ActionsProps = {
23
+ export type StylingWithoutRisk = {
24
+ panel: {
25
+ bottom?: string;
26
+ bgColorHex: string;
27
+ bgColorOpacity?: number;
28
+ };
29
+ dropdown: {
30
+ bgColorHex: string;
31
+ };
32
+ };
33
+ /**
34
+ * Union alias for external places that just need "some styling".
35
+ */
36
+ export type StylingProps = StylingWithRisk | StylingWithoutRisk;
37
+ /**
38
+ * Action handlers for the controller.
39
+ *
40
+ * In "with risk" (full) mode, autoplay is enabled and required.
41
+ * In "without risk & autoplay" (simplified) mode, only onPlay and onCashout are required.
42
+ */
43
+ export type ActionsBase = {
20
44
  onPlay: () => void;
45
+ onCashout: () => void;
46
+ };
47
+ export type ActionsWithAutoplay = ActionsBase & {
21
48
  onAutoPlay: (selection: number[], next: () => void, stop: () => void) => void;
22
49
  onAutoPlayStop?: () => void;
23
- onCashout: () => void;
24
50
  };
51
+ export type ActionsWithoutAutoplay = ActionsBase;
52
+ /**
53
+ * Full play settings, including risk & autoplay-related pieces.
54
+ * This is the maximal shape; we derive conditional versions from it.
55
+ */
25
56
  export type PlaySettingsProps = {
26
57
  isPlaying: boolean;
27
58
  canCashout: boolean;
@@ -44,10 +75,67 @@ export type PlaySettingsProps = {
44
75
  totalBalance: number;
45
76
  autoPlayDelay?: number;
46
77
  };
47
- export type PlayControllerProps = StylingProps & ActionsProps & {
78
+ /**
79
+ * Fields considered "about risk and autoplay" that should disappear
80
+ * when withoutRiskAndAutoplay is true (simplified mode).
81
+ */
82
+ type RiskAndAutoplayFields = Pick<PlaySettingsProps, "risks" | "currentRisk" | "onRiskChange" | "autoPlayDelay" | "showAutoPlayToast">;
83
+ /**
84
+ * Base settings that are always there, regardless of the flag.
85
+ */
86
+ export type BasePlaySettings = Omit<PlaySettingsProps, keyof RiskAndAutoplayFields>;
87
+ /**
88
+ * Variant when risk + autoplay are enabled.
89
+ * Contains all fields from PlaySettingsProps.
90
+ */
91
+ export type PlaySettingsWithRisk = PlaySettingsProps;
92
+ /**
93
+ * Variant when withoutRiskAndAutoplay is true (simplified mode).
94
+ * Risk/autoplay-specific fields are removed.
95
+ */
96
+ export type PlaySettingsWithoutRisk = BasePlaySettings;
97
+ /**
98
+ * Common controller props that don't depend on the flag.
99
+ */
100
+ type BaseControllerCommon = {
48
101
  currencyOptions: CurrencyProps;
49
- playOptions: PlaySettingsProps;
50
102
  leftWidgets: Widget[];
51
103
  rightWidgets: Widget[];
52
104
  centerWidgets: Widget[];
53
105
  };
106
+ /**
107
+ * Variant when risk & autoplay are enabled (FULL mode).
108
+ *
109
+ * - withoutRiskAndAutoplay is omitted or false
110
+ * - playOptions has full risk/autoplay configuration
111
+ * - dropdown must include riskColorConfig
112
+ * - onAutoPlay is required, onAutoPlayStop optional
113
+ *
114
+ * This is the DEFAULT if you do not pass withoutRiskAndAutoplay.
115
+ */
116
+ export type PlayControllerWithRisk = BaseControllerCommon & ActionsWithAutoplay & StylingWithRisk & {
117
+ withoutRiskAndAutoplay?: false | undefined;
118
+ playOptions: PlaySettingsWithRisk;
119
+ };
120
+ /**
121
+ * Variant when withoutRiskAndAutoplay is explicitly true (SIMPLIFIED mode).
122
+ *
123
+ * - withoutRiskAndAutoplay must be true
124
+ * - playOptions has NO risk/autoplay-specific fields
125
+ * - dropdown has NO riskColorConfig
126
+ * - onAutoPlay/onAutoPlayStop are NOT required
127
+ */
128
+ export type PlayControllerWithoutRisk = BaseControllerCommon & ActionsWithoutAutoplay & StylingWithoutRisk & {
129
+ withoutRiskAndAutoplay: true;
130
+ playOptions: PlaySettingsWithoutRisk;
131
+ };
132
+ /**
133
+ * Final discriminated union type.
134
+ *
135
+ * - If withoutRiskAndAutoplay is true:
136
+ * - simplified mode (no risk/autoplay)
137
+ * - If withoutRiskAndAutoplay is false or omitted:
138
+ * - full mode (with risk/autoplay)
139
+ */
140
+ export type PlayControllerProps = PlayControllerWithRisk | PlayControllerWithoutRisk;
141
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enigma-lake/tower-play-controller-sdk",
3
- "version": "2.0.10",
3
+ "version": "2.0.11",
4
4
  "description": "A React component library for building gameplay interfaces",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",