@enigma-lake/tower-play-controller-sdk 1.0.0

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 (42) hide show
  1. package/README.md +202 -0
  2. package/dist/components/AutoManualPlayStateProvider/AutoManualPlayProvider.d.ts +9 -0
  3. package/dist/components/AutoManualPlayStateProvider/AutoManualPlayStateContext.d.ts +28 -0
  4. package/dist/components/AutoManualPlayStateProvider/index.d.ts +1 -0
  5. package/dist/components/base/AutoPlayController/AutoPlayController.d.ts +2 -0
  6. package/dist/components/base/AutoPlayController/index.d.ts +1 -0
  7. package/dist/components/base/Button/Button.d.ts +21 -0
  8. package/dist/components/base/Button/index.d.ts +1 -0
  9. package/dist/components/base/ChevronIcon/ChevronIcon.d.ts +5 -0
  10. package/dist/components/base/ChevronIcon/index.d.ts +1 -0
  11. package/dist/components/base/DifficultySelector/DifficultySelector.d.ts +14 -0
  12. package/dist/components/base/DifficultySelector/Selector.d.ts +3 -0
  13. package/dist/components/base/DifficultySelector/types.d.ts +16 -0
  14. package/dist/components/base/GroupRow/GroupRow.d.ts +6 -0
  15. package/dist/components/base/GroupRow/index.d.ts +1 -0
  16. package/dist/components/base/Input/Input.d.ts +3 -0
  17. package/dist/components/base/Input/cleanInputNumber.d.ts +2 -0
  18. package/dist/components/base/Input/index.d.ts +1 -0
  19. package/dist/components/base/InputWithIcon/InputWithIcon.d.ts +15 -0
  20. package/dist/components/base/InputWithIcon/index.d.ts +1 -0
  21. package/dist/components/base/InputWithSwitch/InputWithSwitch.d.ts +15 -0
  22. package/dist/components/base/InputWithSwitch/index.d.ts +1 -0
  23. package/dist/components/base/ManualPlayController/ManualPlayController.d.ts +2 -0
  24. package/dist/components/base/ManualPlayController/index.d.ts +1 -0
  25. package/dist/components/base/PlayController/PlayController.d.ts +15 -0
  26. package/dist/components/base/SelectMenu/GoldIcon.d.ts +1 -0
  27. package/dist/components/base/SelectMenu/SelectMenu.d.ts +11 -0
  28. package/dist/components/base/SelectMenu/SweepsIcon.d.ts +1 -0
  29. package/dist/components/base/SelectMenu/index.d.ts +1 -0
  30. package/dist/components/base/Switch/Switch.d.ts +10 -0
  31. package/dist/components/base/index.d.ts +6 -0
  32. package/dist/components/hooks/usePlayController.d.ts +27 -0
  33. package/dist/components/index.d.ts +4 -0
  34. package/dist/components/utils.d.ts +5 -0
  35. package/dist/index.d.ts +101 -0
  36. package/dist/index.mjs +568 -0
  37. package/dist/index.mjs.map +1 -0
  38. package/dist/style.css +1 -0
  39. package/dist/types/gameMode.d.ts +9 -0
  40. package/dist/types/index.d.ts +2 -0
  41. package/dist/types/playController.d.ts +53 -0
  42. package/package.json +84 -0
package/dist/index.mjs ADDED
@@ -0,0 +1,568 @@
1
+ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
+ import cx from 'classnames';
3
+ import { useCallback, useMemo, useEffect, Fragment, createContext, useContext, useRef, useState } from 'react';
4
+ import { Switch as Switch$1, Menu, MenuButton, MenuItems, MenuItem } from '@headlessui/react';
5
+ import { Currency, sendSetUserCurrencyEvent } from '@enigma-lake/zoot-platform-sdk';
6
+
7
+ var GAME_MODE;
8
+ (function (GAME_MODE) {
9
+ GAME_MODE["MANUAL"] = "manual";
10
+ GAME_MODE["AUTOPLAY"] = "autoplay";
11
+ })(GAME_MODE || (GAME_MODE = {}));
12
+ var AUTO_PLAY_STATE;
13
+ (function (AUTO_PLAY_STATE) {
14
+ AUTO_PLAY_STATE["IDLE"] = "idle";
15
+ AUTO_PLAY_STATE["SELECTING"] = "selecting";
16
+ AUTO_PLAY_STATE["PLAYING"] = "playing";
17
+ })(AUTO_PLAY_STATE || (AUTO_PLAY_STATE = {}));
18
+
19
+ var styles_button = {"base":"Button-module__base___muNxk","base__theme-ghost":"Button-module__base__theme-ghost___I5-LJ","base__theme-primary":"Button-module__base__theme-primary___Zuswb","base__state-disabled":"Button-module__base__state-disabled___EU5tH","buttonCashout":"Button-module__buttonCashout___LG-Yr","buttonCashout__active":"Button-module__buttonCashout__active___qnE3h","buttonSweeps":"Button-module__buttonSweeps___0snDQ","buttonSweeps__active":"Button-module__buttonSweeps__active___PXIFH","buttonGold":"Button-module__buttonGold___DAj-d","buttonGold__active":"Button-module__buttonGold__active___vsi7m"};
20
+
21
+ const themes = {
22
+ primary: "primary",
23
+ success: "success",
24
+ ghost: "ghost",
25
+ };
26
+ const Button = ({ disabled, roleType, className = "", theme = "primary", ...props }) => {
27
+ return (jsx("button", { ...props, className: cx(styles_button.base, styles_button[`base__theme-${theme}`], className, {
28
+ [styles_button["base__state-disabled"]]: disabled,
29
+ }), disabled: disabled, "data-role": `role-${roleType}-button` }));
30
+ };
31
+ Button.themes = themes;
32
+
33
+ var styles_group = {"base":"GroupRow-module__base___b241-","label":"GroupRow-module__label___Du57P","group":"GroupRow-module__group___V7xa6","groupItem":"GroupRow-module__groupItem___yNSX8","x2":"GroupRow-module__x2___9bLae","last":"GroupRow-module__last___ArsSn","gap-2":"GroupRow-module__gap-2___1eib1"};
34
+
35
+ const GroupRow = ({ children, label, className, ...restProps }) => {
36
+ return (jsxs("div", { ...restProps, className: cx(styles_group.base, className), children: [label && jsx("div", { className: styles_group.label, children: label }), jsx("div", { className: styles_group.group, children: children })] }));
37
+ };
38
+
39
+ const ALLOWED_SEPARATORS = [",", "."];
40
+ function findFirstSeparatorIndex(value) {
41
+ const index = [...value].findIndex((char) => ALLOWED_SEPARATORS.includes(char));
42
+ return index !== -1 ? index : undefined;
43
+ }
44
+ function cleanInputNumber(value) {
45
+ const cleaned = value.replace(/[^0-9,.]/g, "");
46
+ if (cleaned === "0") {
47
+ return cleaned;
48
+ }
49
+ const trimmed = cleaned.replace(/^0+(?!$)/, "").replace(/(,|\.){2,}/g, "$1");
50
+ const separatorIndex = findFirstSeparatorIndex(trimmed);
51
+ if (separatorIndex === undefined) {
52
+ return trimmed;
53
+ }
54
+ const integerPart = trimmed.slice(0, separatorIndex).replace(/[,.]/g, "") || "0";
55
+ const decimalPart = trimmed.slice(separatorIndex + 1).replace(/[,.]/g, "");
56
+ return `${integerPart}.${decimalPart}`;
57
+ }
58
+
59
+ var styles$3 = {"base":"Input-module__base___IifiA","disabled":"Input-module__disabled___WqyKa"};
60
+
61
+ const Input = ({ onChange, disabled, className, ...restProps }) => {
62
+ const handleChange = useCallback((event) => {
63
+ if (!disabled) {
64
+ event.target.value = cleanInputNumber(event.target.value);
65
+ onChange?.(event);
66
+ }
67
+ }, [disabled, onChange]);
68
+ return (jsx("input", { ...restProps, disabled: disabled, onChange: handleChange, className: cx(styles$3.base, className, { [styles$3.disabled]: disabled }) }));
69
+ };
70
+
71
+ var styles$2 = {"base":"Switch-module__base___gj2ey","switcher":"Switch-module__switcher___gHXIx","gold":"Switch-module__gold___oewnb","sweeps":"Switch-module__sweeps___yS-IY","unchecked":"Switch-module__unchecked___ooSS2","disabled":"Switch-module__disabled___lMRv0","thumb":"Switch-module__thumb___1wJ9D","move-right":"Switch-module__move-right___ca-6D","label":"Switch-module__label___pG2uz"};
72
+
73
+ const Switch = ({ enabled, onSwitch, disabled, currency, isPlaying, }) => {
74
+ const switcherClassName = useMemo(() => cx(styles$2.switcher, styles$2[currency], {
75
+ [styles$2.checked]: enabled,
76
+ [styles$2.unchecked]: !enabled,
77
+ [styles$2.disabled]: disabled,
78
+ }), [enabled, currency, disabled]);
79
+ useEffect(() => {
80
+ const handleGlobalKeyDown = (event) => {
81
+ const focusedElement = document.activeElement;
82
+ if (event.code === "Space" &&
83
+ focusedElement?.getAttribute("role") === "switch") {
84
+ event.preventDefault();
85
+ event.stopPropagation();
86
+ event.stopImmediatePropagation();
87
+ focusedElement.blur();
88
+ }
89
+ };
90
+ // Attach global event listener
91
+ window.addEventListener("keydown", handleGlobalKeyDown, true);
92
+ // Cleanup event listener on unmount
93
+ return () => {
94
+ window.removeEventListener("keydown", handleGlobalKeyDown, true);
95
+ };
96
+ }, []);
97
+ return (jsx(Switch$1, { checked: enabled, onChange: onSwitch, as: Fragment, disabled: isPlaying, children: jsxs("div", { className: styles$2.base, children: [jsx("span", { className: styles$2.label, children: "Auto" }), jsx("div", { className: switcherClassName, children: jsx("span", { className: cx(styles$2.thumb, { [styles$2["move-right"]]: enabled }) }) })] }) }));
98
+ };
99
+
100
+ var styles$1 = {"base":"InputWithIcon-module__base___FwgXx","icon":"InputWithIcon-module__icon___KtOjW","input":"InputWithIcon-module__input___mQFr9","inputWithLabel":"InputWithIcon-module__inputWithLabel___06L8W","label":"InputWithIcon-module__label___O28vw","gold":"InputWithIcon-module__gold___GlVw1","sweeps":"InputWithIcon-module__sweeps___J4JdJ"};
101
+
102
+ const InputWithIcon = ({ children, switcherConfig, disabled, currency, label, className, ...restProps }) => {
103
+ return (jsxs("div", { className: cx(styles$1.base, className, {
104
+ [styles$1.disabled]: switcherConfig?.disabled,
105
+ }), children: [label && (jsx("span", { className: cx(styles$1.label, styles$1[currency]), children: label })), jsx(Input, { ...restProps, className: cx(styles$1.input, {
106
+ [styles$1.inputWithLabel]: label !== undefined,
107
+ }), disabled: disabled }), switcherConfig && jsx(Switch, { ...switcherConfig }), children && jsx("div", { className: cx(styles$1.icon), children: children })] }));
108
+ };
109
+
110
+ const GoldIcon = () => (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: [jsx("path", { opacity: "0.39", d: "M7.41645 14.1044C11.0357 14.1044 13.9697 11.136 13.9697 7.47417C13.9697 3.81236 11.0357 0.843872 7.41645 0.843872C3.79725 0.843872 0.863281 3.81236 0.863281 7.47417C0.863281 11.136 3.79725 14.1044 7.41645 14.1044Z", fill: "#F2BF0B" }), jsx("path", { d: "M7.49933 13.5066C5.90609 13.5066 4.37818 12.8736 3.25163 11.7471C2.12508 10.6205 1.49219 9.09258 1.49219 7.49944C1.49219 5.90626 2.12508 4.37833 3.25163 3.25178C4.37818 2.12523 5.90609 1.49234 7.49933 1.49234C8.32641 1.48979 9.14495 1.6605 9.90213 1.99347C9.92954 2.00654 9.9541 2.02489 9.97447 2.04746C9.99484 2.07003 10.0105 2.0964 10.0207 2.12503C10.0308 2.15367 10.0352 2.18402 10.0336 2.21437C10.032 2.2447 10.0244 2.27444 10.0113 2.30186C9.98737 2.3563 9.94287 2.39903 9.88746 2.42071C9.83205 2.44238 9.77036 2.44123 9.71579 2.4175C9.01511 2.11018 8.25801 1.95261 7.49287 1.95492C6.19268 1.95633 4.93427 2.41409 3.93705 3.24836C2.93984 4.08263 2.26711 5.24047 2.03619 6.51997C1.80527 7.79947 2.03081 9.11941 2.67348 10.2497C3.31615 11.3799 4.33517 12.2487 5.55286 12.7045C6.77048 13.1603 8.10948 13.1743 9.3364 12.7439C10.5632 12.3135 11.6001 11.466 12.2661 10.3494C12.9322 9.23282 13.1852 7.91786 12.9809 6.63384C12.7767 5.34981 12.1281 4.17822 11.1485 3.32338C11.1125 3.28223 11.0928 3.22938 11.0929 3.17472C11.0931 3.12006 11.1132 3.06732 11.1494 3.02638C11.1856 2.98544 11.2355 2.9591 11.2897 2.95227C11.344 2.94544 11.3988 2.9586 11.4441 2.98929C12.3644 3.79366 13.0174 4.85964 13.316 6.04489C13.6146 7.23014 13.5444 8.47827 13.1151 9.62268C12.6857 10.767 11.9174 11.7531 10.9128 12.4495C9.90824 13.1457 8.71519 13.519 7.49287 13.5194L7.49933 13.5066Z", fill: "#F2BF0B" }), jsx("path", { d: "M7.50001 14.6249C6.09085 14.6249 4.71327 14.207 3.54156 13.4241C2.36986 12.6412 1.45664 11.5284 0.91736 10.2265C0.378089 8.92454 0.236989 7.49197 0.511905 6.10986C0.78683 4.72775 1.46542 3.45819 2.46187 2.46175C3.45832 1.4653 4.72787 0.786705 6.10996 0.511786C7.49213 0.236866 8.92467 0.377965 10.2266 0.91724C11.5286 1.45651 12.6413 2.36974 13.4242 3.54145C14.2071 4.71314 14.625 6.09069 14.625 7.49988C14.6233 9.38901 13.8721 11.2003 12.5363 12.5362C11.2004 13.872 9.38914 14.6232 7.50001 14.6249ZM7.50001 1.01735C6.21784 1.01735 4.96455 1.39754 3.8985 2.10986C2.83246 2.82216 2.00158 3.83459 1.51093 5.01912C1.02028 6.20365 0.891903 7.50707 1.14203 8.76452C1.39216 10.022 2.00956 11.1771 2.91617 12.0837C3.82276 12.9903 4.97784 13.6077 6.23536 13.8578C7.4928 14.1079 8.79625 13.9796 9.98076 13.489C11.1653 12.9983 12.1777 12.1674 12.89 11.1014C13.6024 10.0354 13.9825 8.78204 13.9825 7.49988C13.9791 5.78165 13.2951 4.13477 12.0801 2.91979C10.8651 1.70481 9.21822 1.02075 7.50001 1.01735Z", fill: "#F2BF0B" }), jsx("path", { d: "M10.1591 10.5131C9.43158 10.7452 8.6739 10.8686 7.91043 10.8794C6.91972 10.9596 5.93706 10.6482 5.17347 10.012C4.86218 9.70525 4.61761 9.33743 4.45509 8.93173C4.29258 8.52596 4.21562 8.09104 4.22904 7.65417C4.22904 5.37982 5.94443 4.22981 8.08386 4.22981C8.72897 4.20483 9.37215 4.31423 9.97274 4.55104L9.61934 5.95163C9.13325 5.7425 8.60617 5.64587 8.07741 5.66894C7.8189 5.63999 7.55711 5.6683 7.31067 5.75187C7.06423 5.83544 6.83925 5.9722 6.65165 6.15248C6.46397 6.33274 6.31837 6.5521 6.22499 6.79497C6.13161 7.03784 6.09288 7.29828 6.11149 7.5578C6.0892 7.80993 6.12113 8.0639 6.20512 8.30265C6.2892 8.5414 6.42332 8.75939 6.59859 8.94195C6.77387 9.12461 6.98628 9.26753 7.2214 9.36124C7.45653 9.45496 7.709 9.4972 7.96181 9.48522C8.14782 9.49377 8.33407 9.47423 8.51429 9.42738V8.29664H7.60841V6.94745H10.1783L10.1591 10.5131Z", fill: "#F2BF0B" })] }));
111
+
112
+ const SweepsIcon = () => (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: [jsx("path", { opacity: "0.39", d: "M7.41174 14.4521C11.2215 14.4521 14.3099 11.3275 14.3099 7.47291C14.3099 3.61837 11.2215 0.493652 7.41174 0.493652C3.60206 0.493652 0.513672 3.61837 0.513672 7.47291C0.513672 11.3275 3.60206 14.4521 7.41174 14.4521Z", fill: "#0DE83D" }), jsx("path", { d: "M8.35827 6.34123C8.33727 6.1169 8.25066 5.94313 8.09843 5.81991C7.94619 5.6951 7.75459 5.6327 7.52362 5.6327C7.35827 5.6327 7.21522 5.6643 7.09449 5.72749C6.97375 5.7891 6.87992 5.87441 6.81299 5.98341C6.74738 6.09084 6.71457 6.21327 6.71457 6.35071C6.71457 6.46603 6.73688 6.56556 6.7815 6.64929C6.82743 6.73302 6.88714 6.80332 6.96063 6.86019C7.03543 6.91548 7.11549 6.96209 7.20079 7C7.28609 7.03633 7.36811 7.06635 7.44685 7.09005L7.84055 7.21327C7.96916 7.25118 8.10105 7.30253 8.23622 7.3673C8.37139 7.43207 8.49672 7.51738 8.6122 7.62322C8.72769 7.72907 8.82087 7.86019 8.89173 8.01659C8.96391 8.17299 9 8.36019 9 8.5782C9 8.85308 8.94094 9.09716 8.82283 9.31043C8.70604 9.5237 8.53609 9.69194 8.31299 9.81517C8.09121 9.93839 7.82283 10 7.50787 10C7.20604 10 6.94488 9.94234 6.72441 9.82701C6.50394 9.71169 6.33136 9.54818 6.20669 9.33649C6.08202 9.12322 6.01312 8.87046 6 8.5782H6.61024C6.62205 8.75355 6.66929 8.89968 6.75197 9.01659C6.83596 9.13191 6.94291 9.21801 7.07283 9.27488C7.20407 9.33017 7.34777 9.35782 7.50394 9.35782C7.67585 9.35782 7.82874 9.32543 7.9626 9.26066C8.09777 9.19431 8.20407 9.10269 8.2815 8.98578C8.35892 8.8673 8.39764 8.72907 8.39764 8.57109C8.39764 8.42733 8.36352 8.30964 8.29528 8.21801C8.22835 8.12638 8.13714 8.05055 8.02165 7.99052C7.90748 7.93049 7.77822 7.87757 7.63386 7.83175L7.15748 7.67536C6.83465 7.56951 6.57874 7.4139 6.38976 7.20853C6.2021 7.00316 6.10827 6.73144 6.10827 6.39336C6.10827 6.11374 6.17126 5.86967 6.29724 5.66114C6.42323 5.45261 6.59383 5.29068 6.80906 5.17536C7.02428 5.05845 7.26706 5 7.5374 5C7.81037 5 8.05118 5.05766 8.25984 5.17299C8.46982 5.28831 8.63517 5.44708 8.75591 5.64929C8.87664 5.84992 8.93963 6.08057 8.94488 6.34123H8.35827Z", fill: "#0DE83D" }), jsx("path", { d: "M7.50006 13.8228C5.82297 13.8228 4.21465 13.1566 3.0288 11.9708C1.84296 10.7849 1.17676 9.17656 1.17676 7.49957C1.17676 5.82253 1.84296 4.21419 3.0288 3.02834C4.21465 1.8425 5.82297 1.1763 7.50006 1.1763C8.37068 1.17362 9.2323 1.35331 10.0293 1.7038C10.0582 1.71756 10.084 1.73688 10.1055 1.76064C10.1269 1.7844 10.1434 1.81215 10.1541 1.84229C10.1648 1.87244 10.1694 1.90439 10.1677 1.93633C10.166 1.96826 10.1581 1.99956 10.1443 2.02842C10.1191 2.08573 10.0722 2.13071 10.0139 2.15353C9.95556 2.17634 9.89062 2.17513 9.83318 2.15015C9.09562 1.82665 8.29868 1.6608 7.49327 1.66323C6.12465 1.66471 4.8 2.14656 3.7503 3.02474C2.7006 3.90292 1.99247 5.1217 1.74939 6.46855C1.50632 7.81539 1.74373 9.20479 2.42022 10.3946C3.09672 11.5842 4.16937 12.4988 5.45115 12.9786C6.73285 13.4583 8.14233 13.4731 9.43383 13.02C10.7252 12.567 11.8167 11.6749 12.5177 10.4996C13.2189 9.32417 13.4851 7.94001 13.2701 6.5884C13.0552 5.2368 12.3725 4.00354 11.3413 3.10371C11.3034 3.0604 11.2826 3.00476 11.2828 2.94723C11.283 2.88969 11.3041 2.83418 11.3423 2.79108C11.3804 2.74799 11.4329 2.72026 11.49 2.71307C11.5471 2.70588 11.6048 2.71974 11.6524 2.75204C12.6211 3.59875 13.3086 4.72083 13.6229 5.96845C13.9372 7.21609 13.8633 8.52992 13.4114 9.73456C12.9594 10.9391 12.1507 11.9771 11.0932 12.7101C10.0358 13.443 8.77991 13.8359 7.49327 13.8363L7.50006 13.8228Z", fill: "#0DE83D" }), jsx("path", { d: "M7.50001 15C6.01668 15 4.5666 14.5601 3.33323 13.736C2.09986 12.9119 1.13857 11.7406 0.570905 10.3701C0.00325189 8.99965 -0.145274 7.49168 0.144111 6.03682C0.433505 4.58197 1.14781 3.24559 2.1967 2.19671C3.2456 1.14781 4.58197 0.433502 6.0368 0.144114C7.49171 -0.145275 8.99965 0.00324947 10.3701 0.570907C11.7406 1.13856 12.9119 2.09986 13.736 3.33323C14.5602 4.56659 15 6.01664 15 7.5C14.9982 9.48856 14.2075 11.3951 12.8014 12.8014C11.3952 14.2075 9.48857 14.9982 7.50001 15ZM7.50001 0.676288C6.15036 0.676288 4.83111 1.07649 3.70895 1.82629C2.5868 2.57609 1.71218 3.64181 1.19572 4.88868C0.679241 6.13555 0.544108 7.50757 0.807402 8.83121C1.0707 10.1549 1.72059 11.3708 2.67491 12.3251C3.62922 13.2794 4.84509 13.9293 6.1688 14.1926C7.49242 14.4559 8.86448 14.3208 10.1113 13.8043C11.3582 13.2878 12.4239 12.4132 13.1737 11.291C13.9235 10.1689 14.3237 8.84965 14.3237 7.5C14.3202 5.69134 13.6001 3.95778 12.3212 2.67886C11.0422 1.39993 9.30865 0.679862 7.50001 0.676288Z", fill: "#0DE83D" })] }));
113
+
114
+ var style_select$1 = {"button":"SelectMenu-module__button___N-HeB","menu":"SelectMenu-module__menu___c5jvZ","menuItems":"SelectMenu-module__menuItems___BX1YQ","menuItem":"SelectMenu-module__menuItem___eXbi3","selected":"SelectMenu-module__selected___XyADw","disabled":"SelectMenu-module__disabled___jiTPl"};
115
+
116
+ var style_chevron = {"chevron":"ChevronIcon-module__chevron___lif8s","open":"ChevronIcon-module__open___niD1n","disable":"ChevronIcon-module__disable___8n-xg"};
117
+
118
+ const ChevronIcon = ({ open, disabled, }) => {
119
+ return (jsx("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", children: jsx("path", { className: cx(style_chevron.chevron, {
120
+ [style_chevron.open]: open,
121
+ [style_chevron.disabled]: disabled,
122
+ }), d: "M6 9L12 15L18 9", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
123
+ };
124
+
125
+ const capitalize$1 = (str) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
126
+ const getIcon = (option) => option === Currency.SWEEPS ? jsx(SweepsIcon, {}) : jsx(GoldIcon, {});
127
+ const SelectMenu = ({ currencies, selectedCurrency, setSelectedCurrency, disabled = false, }) => {
128
+ const handleClick = (e) => {
129
+ if (disabled) {
130
+ return;
131
+ }
132
+ const target = e.target;
133
+ const value = target.dataset.value;
134
+ if (!value) {
135
+ return;
136
+ }
137
+ setSelectedCurrency({ currency: value });
138
+ };
139
+ return (jsx(Menu, { as: "div", className: cx(style_select$1.menu), children: ({ open }) => (jsxs(Fragment$1, { children: [jsxs(MenuButton, { className: cx(style_select$1.button, {
140
+ [style_select$1.disabled]: disabled,
141
+ }), disabled: disabled, as: "div", children: [getIcon(selectedCurrency), jsx(ChevronIcon, { open: open, disabled: disabled })] }), jsx(MenuItems, { anchor: { to: "top start" }, className: cx(style_select$1.menuItems), children: currencies.map((option) => (jsxs(MenuItem, { as: "div", "data-value": option, onClick: handleClick, className: cx(style_select$1.menuItem, {
142
+ [style_select$1.selected]: String(selectedCurrency) === String(option),
143
+ }), children: [getIcon(option), capitalize$1(String(option))] }, `element-${option}`))) })] })) }));
144
+ };
145
+
146
+ const AutoManualPlayStateContext = createContext(undefined);
147
+ const useAutoManualPlayState = () => {
148
+ const context = useContext(AutoManualPlayStateContext);
149
+ if (!context) {
150
+ throw new Error("useAutoManualPlayStateState must be used within a AutoManualPlayStateProvider");
151
+ }
152
+ return context;
153
+ };
154
+
155
+ const usePlayController = () => {
156
+ const { config, autoPlay: { setNumberOfPlays, numberOfPlays, setPlayedRounds, playedRounds, selection, setState, state, }, } = useAutoManualPlayState();
157
+ const { currentCurrency, currencies, winText } = config.currencyOptions;
158
+ const { isPlaying, canCashout, disabledController, showAutoPlayToast, autoPlayDelay = 1500, playHook, } = config.playOptions;
159
+ const { playAmount, playLimits, setPlayAmount } = playHook?.() ?? {};
160
+ const minPlayAmount = playLimits?.[currentCurrency]?.limits.min ?? 0;
161
+ const maxPlayAmount = playLimits?.[currentCurrency]?.limits.max ?? 0;
162
+ const playIntervalRef = useRef(null);
163
+ const isAutoplayActiveRef = useRef(false);
164
+ const stopAutoplay = () => {
165
+ isAutoplayActiveRef.current = false;
166
+ if (playIntervalRef.current) {
167
+ clearTimeout(playIntervalRef.current);
168
+ playIntervalRef.current = null;
169
+ }
170
+ setState(AUTO_PLAY_STATE.SELECTING);
171
+ setTimeout(() => {
172
+ setPlayedRounds(0);
173
+ }, 1500);
174
+ };
175
+ const loopRounds = (currentPlayedRounds, remainingPlays) => {
176
+ if (!isAutoplayActiveRef.current) {
177
+ return;
178
+ }
179
+ if (remainingPlays < 1 || numberOfPlays === 0) {
180
+ setNumberOfPlays(Infinity);
181
+ stopAutoplay();
182
+ return;
183
+ }
184
+ setPlayedRounds(currentPlayedRounds + 1);
185
+ setNumberOfPlays((prev) => Math.max(prev - 1, 0));
186
+ config.onAutoPlay(selection, () => {
187
+ if (!isAutoplayActiveRef.current) {
188
+ return;
189
+ }
190
+ playIntervalRef.current = setTimeout(() => loopRounds(currentPlayedRounds + 1, remainingPlays - 1), autoPlayDelay);
191
+ }, stopAutoplay);
192
+ };
193
+ const handleAutoPlay = () => {
194
+ if (disabledController) {
195
+ return;
196
+ }
197
+ if (selection.length === 0) {
198
+ showAutoPlayToast?.({
199
+ type: "info",
200
+ message: "Please select at least one tile to start autoplay.",
201
+ });
202
+ return;
203
+ }
204
+ isAutoplayActiveRef.current = true;
205
+ setState(AUTO_PLAY_STATE.PLAYING);
206
+ loopRounds(playedRounds, numberOfPlays);
207
+ };
208
+ const isDisabled = () => disabledController || isPlaying;
209
+ const isAutoplayDisabled = () => disabledController || state === AUTO_PLAY_STATE.PLAYING;
210
+ const adjustPlayAmount = (multiplier) => {
211
+ if (isDisabled()) {
212
+ return;
213
+ }
214
+ const newAmount = Math.max(minPlayAmount, Math.min(playAmount * multiplier, maxPlayAmount));
215
+ setPlayAmount(Number(newAmount.toFixed(2)));
216
+ };
217
+ const onChangeAmount = (event) => {
218
+ if (isDisabled()) {
219
+ return;
220
+ }
221
+ setPlayAmount(Number(event.currentTarget.value));
222
+ };
223
+ const onBlurAmount = (event) => {
224
+ if (isDisabled()) {
225
+ return;
226
+ }
227
+ const newAmount = Number(event.currentTarget.value);
228
+ setPlayAmount(Math.max(minPlayAmount, Math.min(newAmount, maxPlayAmount)));
229
+ };
230
+ const isValidPlayAmount = playAmount >= minPlayAmount && playAmount <= maxPlayAmount;
231
+ return {
232
+ currentCurrency,
233
+ currencies,
234
+ playAmount,
235
+ minPlayAmount,
236
+ maxPlayAmount,
237
+ setPlayAmount,
238
+ adjustPlayAmount,
239
+ onChangeAmount,
240
+ onBlurAmount,
241
+ playOptions: config.playOptions,
242
+ isValidPlayAmount,
243
+ winText,
244
+ manualPlay: {
245
+ isDisabled,
246
+ onPlay: config.onPlay,
247
+ canCashout,
248
+ },
249
+ autoPlay: {
250
+ isDisabled: isAutoplayDisabled,
251
+ state,
252
+ onPlay: handleAutoPlay,
253
+ onStopPlay: stopAutoplay,
254
+ },
255
+ };
256
+ };
257
+
258
+ var SELECTORS;
259
+ (function (SELECTORS) {
260
+ SELECTORS["RISK"] = "Risk";
261
+ })(SELECTORS || (SELECTORS = {}));
262
+ var RiskTypes;
263
+ (function (RiskTypes) {
264
+ RiskTypes["LOW"] = "LOW";
265
+ RiskTypes["MEDIUM"] = "MEDIUM";
266
+ RiskTypes["HIGH"] = "HIGH";
267
+ })(RiskTypes || (RiskTypes = {}));
268
+
269
+ const PLAY_HALVE = 0.5;
270
+ const PLAY_DOUBLE = 2;
271
+
272
+ const PlayAmountControl = ({ playAmount, minPlayAmount, maxPlayAmount, isDisabled, adjustPlayAmount, onChangeAmount, onBlurAmount, currentCurrency, currencies, disableInput, }) => {
273
+ return (jsxs(GroupRow, { children: [jsx(InputWithIcon, { className: styles_group.groupItem, value: playAmount, type: "number", onChange: onChangeAmount, onBlur: onBlurAmount, placeholder: minPlayAmount.toString(), max: maxPlayAmount, min: minPlayAmount, disabled: isDisabled() || disableInput, currency: currentCurrency, label: "Play Amount", children: jsx(SelectMenu, { currencies: currencies, selectedCurrency: currentCurrency, setSelectedCurrency: sendSetUserCurrencyEvent, disabled: isDisabled() }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount(PLAY_HALVE), theme: "ghost", disabled: isDisabled(), children: jsx("span", { className: styles_group.x2, children: "-" }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount(PLAY_DOUBLE), theme: "ghost", disabled: isDisabled(), children: jsx("span", { className: cx(styles_group.x2, styles_group.last), children: "+" }) })] }));
274
+ };
275
+
276
+ const hexToRgb = (hex) => {
277
+ const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
278
+ hex = hex.replace(shorthandRegex, (_, r, g, b) => r + r + g + g + b + b);
279
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
280
+ return result
281
+ ? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}`
282
+ : null;
283
+ };
284
+ const selectButton = (gameMode) => {
285
+ const role = `role-${gameMode}-button`;
286
+ const buttons = document.querySelectorAll(`[data-role="${role}"]`);
287
+ return buttons[0];
288
+ };
289
+ const addPressedClass = (gameMode, activeClassName) => {
290
+ const button = selectButton(gameMode);
291
+ if (!button) {
292
+ return;
293
+ }
294
+ if (!button.classList.contains(activeClassName)) {
295
+ button.classList.add(activeClassName);
296
+ }
297
+ };
298
+ const removePressedClass = (gameMode, activeClassName) => {
299
+ const button = selectButton(gameMode);
300
+ if (!button) {
301
+ return;
302
+ }
303
+ if (button.classList.contains(activeClassName)) {
304
+ button.classList.remove(activeClassName);
305
+ }
306
+ };
307
+
308
+ const AutoPlayController = () => {
309
+ const { currentCurrency, currencies, playAmount, minPlayAmount, maxPlayAmount, isValidPlayAmount, adjustPlayAmount, onChangeAmount, onBlurAmount, playOptions, autoPlay: { isDisabled, state, onPlay, onStopPlay }, } = usePlayController();
310
+ const roleButton = GAME_MODE.AUTOPLAY;
311
+ const activeClassName = useMemo(() => {
312
+ const baseClass = currentCurrency === Currency.GOLD
313
+ ? styles_button.buttonGold__active
314
+ : styles_button.buttonSweeps__active;
315
+ return baseClass;
316
+ }, [currentCurrency]);
317
+ const getClassName = useMemo(() => {
318
+ if (state === AUTO_PLAY_STATE.PLAYING) {
319
+ return styles_button.buttonCashout;
320
+ }
321
+ return currentCurrency === Currency.GOLD
322
+ ? styles_button.buttonGold
323
+ : styles_button.buttonSweeps;
324
+ }, [currentCurrency, state]);
325
+ const handleKeyPress = useCallback((event) => {
326
+ if (event.code !== "Space") {
327
+ return;
328
+ }
329
+ const button = selectButton(roleButton);
330
+ if (!button) {
331
+ return;
332
+ }
333
+ event.preventDefault();
334
+ event.stopPropagation();
335
+ const canTrigger = !isDisabled() || state === AUTO_PLAY_STATE.PLAYING;
336
+ if (canTrigger) {
337
+ addPressedClass(roleButton, activeClassName);
338
+ button.click();
339
+ }
340
+ }, [activeClassName, isDisabled, roleButton, state]);
341
+ const handleKeyUp = useCallback((event) => {
342
+ if (event.code !== "Space") {
343
+ return;
344
+ }
345
+ const button = selectButton(roleButton);
346
+ if (!button) {
347
+ return;
348
+ }
349
+ event.preventDefault();
350
+ event.stopPropagation();
351
+ removePressedClass(roleButton, activeClassName);
352
+ }, [activeClassName, roleButton]);
353
+ useEffect(() => {
354
+ window.addEventListener("keydown", handleKeyPress, true);
355
+ window.addEventListener("keyup", handleKeyUp, true);
356
+ return () => {
357
+ window.removeEventListener("keydown", handleKeyPress, true);
358
+ window.removeEventListener("keyup", handleKeyUp, true);
359
+ };
360
+ }, [handleKeyPress, handleKeyUp]);
361
+ const isButtonDisabled = state === AUTO_PLAY_STATE.PLAYING
362
+ ? false
363
+ : isDisabled() || !isValidPlayAmount;
364
+ const buttonLabel = state === AUTO_PLAY_STATE.PLAYING ? "Stop Autoplay" : "Start Autoplay";
365
+ const buttonAction = state === AUTO_PLAY_STATE.PLAYING ? onStopPlay : onPlay;
366
+ return (jsxs(Fragment$1, { children: [jsx(PlayAmountControl, { playAmount: playAmount, minPlayAmount: minPlayAmount, maxPlayAmount: maxPlayAmount, isDisabled: isDisabled, adjustPlayAmount: adjustPlayAmount, onChangeAmount: onChangeAmount, onBlurAmount: onBlurAmount, currentCurrency: currentCurrency, currencies: currencies, disableInput: playOptions.disableInput }), jsx(Button, { disabled: isButtonDisabled, className: getClassName, onClick: buttonAction, roleType: roleButton, children: buttonLabel })] }));
367
+ };
368
+
369
+ const ManualPlayController = () => {
370
+ const { config } = useAutoManualPlayState();
371
+ const { currentCurrency, currencies, playAmount, playOptions, minPlayAmount, maxPlayAmount, isValidPlayAmount, adjustPlayAmount, onChangeAmount, onBlurAmount, manualPlay: { isDisabled, onPlay, canCashout }, } = usePlayController();
372
+ const roleButton = GAME_MODE.MANUAL;
373
+ const activeClassName = useMemo(() => {
374
+ return currentCurrency === Currency.GOLD
375
+ ? styles_button.buttonGold__active
376
+ : styles_button.buttonSweeps__active;
377
+ }, [currentCurrency]);
378
+ const handleKeyPress = useCallback((event) => {
379
+ if (event.code !== "Space") {
380
+ return;
381
+ }
382
+ const button = selectButton(roleButton);
383
+ if (!button || isDisabled()) {
384
+ return;
385
+ }
386
+ event.preventDefault();
387
+ event.stopPropagation();
388
+ addPressedClass(roleButton, activeClassName);
389
+ button.click();
390
+ }, [roleButton, isDisabled, activeClassName]);
391
+ const handleKeyUp = useCallback((event) => {
392
+ if (event.code !== "Space") {
393
+ return;
394
+ }
395
+ const button = selectButton(roleButton);
396
+ if (!button) {
397
+ return;
398
+ }
399
+ event.preventDefault();
400
+ event.stopPropagation();
401
+ removePressedClass(roleButton, activeClassName);
402
+ }, [roleButton, activeClassName]);
403
+ useEffect(() => {
404
+ window.addEventListener("keydown", handleKeyPress, true);
405
+ window.addEventListener("keyup", handleKeyUp, true);
406
+ return () => {
407
+ window.removeEventListener("keydown", handleKeyPress, true);
408
+ window.removeEventListener("keyup", handleKeyUp, true);
409
+ };
410
+ }, [handleKeyPress, handleKeyUp]);
411
+ const isButtonDisabled = isDisabled() || !isValidPlayAmount;
412
+ return (jsxs(Fragment$1, { children: [jsx(PlayAmountControl, { playAmount: playAmount, minPlayAmount: minPlayAmount, maxPlayAmount: maxPlayAmount, isDisabled: isDisabled, adjustPlayAmount: adjustPlayAmount, onChangeAmount: onChangeAmount, onBlurAmount: onBlurAmount, currentCurrency: currentCurrency, currencies: currencies, disableInput: playOptions.disableInput }), canCashout ? (jsxs(Button, { disabled: config.playOptions.disabledController ||
413
+ !config.playOptions.isPlaying, className: styles_button.buttonCashout, onClick: config.onCashout, roleType: roleButton, children: ["Cashout ", config.currencyOptions.winText] })) : (jsx(Button, { disabled: isButtonDisabled, className: cx({
414
+ [styles_button.buttonGold]: currentCurrency === Currency.GOLD,
415
+ [styles_button.buttonSweeps]: currentCurrency !== Currency.GOLD,
416
+ }), onClick: onPlay, roleType: roleButton, children: "Play now" }))] }));
417
+ };
418
+
419
+ var styles_ui = {"base":"UI-module__base___wThyQ","betForm":"UI-module__betForm___hQkYd","disabled":"UI-module__disabled___dnZJX","auto":"UI-module__auto___5peb8"};
420
+
421
+ var style_difficulty = {"base":"DifficultySelector-module__base___lDaQ-"};
422
+
423
+ var style_select = {"base":"Selector-module__base___-q0yf","label":"Selector-module__label___JJdbd","button":"Selector-module__button___MeRoC","menu":"Selector-module__menu___P0ROg","menuItems":"Selector-module__menuItems___chFk2","menuItem":"Selector-module__menuItem___isa4c","selected":"Selector-module__selected___nUJtR","disabled":"Selector-module__disabled___f1qGJ"};
424
+
425
+ const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
426
+ const Selector = ({ currentValue, label, riskColor, values, onSelect, disabled, }) => {
427
+ const handleClick = (e) => {
428
+ if (disabled) {
429
+ return;
430
+ }
431
+ const target = e.target;
432
+ const value = target.dataset.value;
433
+ if (!value) {
434
+ return;
435
+ }
436
+ onSelect(value);
437
+ };
438
+ return (jsxs("div", { className: cx(style_select.base), children: [label && jsx("span", { className: cx(style_select.label), children: label }), jsx(Menu, { as: "div", className: cx(style_select.menu), children: ({ open }) => (jsxs(Fragment$1, { children: [jsxs(MenuButton, { className: cx(style_select.button, {
439
+ [style_select.disabled]: disabled,
440
+ }), style: { color: riskColor }, disabled: disabled, children: [capitalize(String(currentValue)), jsx(ChevronIcon, { open: open, disabled: disabled })] }), jsx(MenuItems, { anchor: { to: "top start" }, className: cx(style_select.menuItems), children: values.map((value) => (jsx(MenuItem, { as: "div", "data-value": value, onClick: handleClick, className: cx(style_select.menuItem, {
441
+ [style_select.selected]: String(currentValue) === String(value),
442
+ }), children: capitalize(String(value)) }, `element-${value}`))) })] })) })] }));
443
+ };
444
+
445
+ const DifficultySelector = ({ playOptions, dropdownConfig, }) => {
446
+ const { risks, disabledMenu, currentRisk, onRiskChange } = playOptions;
447
+ const riskColor = useRef(dropdownConfig.riskColorConfig[RiskTypes.LOW]);
448
+ function onRiskSelected(value) {
449
+ riskColor.current = dropdownConfig.riskColorConfig[value];
450
+ onRiskChange(value);
451
+ }
452
+ return (jsx("div", { className: style_difficulty.base, children: jsx(Selector, { currentValue: currentRisk, label: SELECTORS.RISK, values: risks, onSelect: onRiskSelected, disabled: disabledMenu, riskColor: riskColor.current }) }));
453
+ };
454
+
455
+ var styles = {"base":"InputWithSwitch-module__base___vjLoh","icon":"InputWithSwitch-module__icon___upeAL","input":"InputWithSwitch-module__input___K6RCD","label":"InputWithSwitch-module__label___tEjpj","gold":"InputWithSwitch-module__gold___MO4qj","sweeps":"InputWithSwitch-module__sweeps___jvyQd"};
456
+
457
+ const InputWithSwitch = ({ children, switcherConfig, disabled, currency, label, className, ...restProps }) => {
458
+ return (jsxs("div", { className: cx(styles.base, className, {
459
+ [styles.disabled]: switcherConfig.disabled,
460
+ }), children: [label && (jsx("span", { className: cx(styles.label, styles[currency]), children: label })), jsx(Switch, { ...switcherConfig }), jsx(Input, { ...restProps, className: cx(styles.input), disabled: disabled, max: 99 }), jsx("div", { className: cx(styles.icon), children: children })] }));
461
+ };
462
+
463
+ const AutoManualPlayProvider = ({ children, config, }) => {
464
+ const [mode, setMode] = useState(GAME_MODE.MANUAL);
465
+ const [autoplayState, setAutoplayState] = useState(AUTO_PLAY_STATE.IDLE);
466
+ const [isAutoPlaying, setIsAutoPlaying] = useState(false);
467
+ const [playedRounds, setPlayedRounds] = useState(0);
468
+ const [numberOfPlays, setNumberOfPlays] = useState(Infinity);
469
+ const [selection, setSelection] = useState([]);
470
+ const startAutoplay = useCallback((numPlays) => {
471
+ setMode(GAME_MODE.AUTOPLAY);
472
+ setAutoplayState(AUTO_PLAY_STATE.SELECTING);
473
+ setNumberOfPlays(numPlays);
474
+ setPlayedRounds(0); // Reset when starting autoplay
475
+ }, []);
476
+ const stopAutoplay = useCallback(() => {
477
+ setMode(GAME_MODE.MANUAL);
478
+ setAutoplayState(AUTO_PLAY_STATE.IDLE);
479
+ setIsAutoPlaying(false);
480
+ }, []);
481
+ const updateAutoplayState = useCallback((newState) => setAutoplayState(newState), []);
482
+ const playManualMode = useCallback(() => {
483
+ setMode(GAME_MODE.MANUAL);
484
+ setAutoplayState(AUTO_PLAY_STATE.IDLE);
485
+ }, []);
486
+ const resetState = useCallback(() => {
487
+ setMode(GAME_MODE.MANUAL);
488
+ setAutoplayState(AUTO_PLAY_STATE.IDLE);
489
+ setPlayedRounds(0);
490
+ setNumberOfPlays(0);
491
+ setSelection([]);
492
+ }, []);
493
+ const toggleMode = useCallback(() => {
494
+ if (config.playOptions.isPlaying ||
495
+ config.playOptions.disabledController ||
496
+ autoplayState === AUTO_PLAY_STATE.PLAYING) {
497
+ return;
498
+ }
499
+ setNumberOfPlays(Infinity);
500
+ setMode((prevMode) => prevMode === GAME_MODE.MANUAL ? GAME_MODE.AUTOPLAY : GAME_MODE.MANUAL);
501
+ }, [autoplayState, config.playOptions]);
502
+ const updateSelection = useCallback((values) => {
503
+ if (!isAutoPlaying) {
504
+ setSelection(values);
505
+ }
506
+ }, [isAutoPlaying]);
507
+ const contextValue = useMemo(() => ({
508
+ mode,
509
+ config,
510
+ manual: { playManualMode },
511
+ autoPlay: {
512
+ state: autoplayState,
513
+ playedRounds,
514
+ numberOfPlays,
515
+ selection,
516
+ isActive: isAutoPlaying,
517
+ start: startAutoplay,
518
+ stop: stopAutoplay,
519
+ setSelection: updateSelection,
520
+ updateState: updateAutoplayState,
521
+ setIsActive: setIsAutoPlaying,
522
+ setPlayedRounds,
523
+ setNumberOfPlays,
524
+ setState: setAutoplayState,
525
+ },
526
+ reset: resetState,
527
+ toggleMode,
528
+ }), [
529
+ mode,
530
+ config,
531
+ playManualMode,
532
+ autoplayState,
533
+ playedRounds,
534
+ numberOfPlays,
535
+ selection,
536
+ isAutoPlaying,
537
+ startAutoplay,
538
+ stopAutoplay,
539
+ updateSelection,
540
+ updateAutoplayState,
541
+ resetState,
542
+ toggleMode,
543
+ ]);
544
+ return (jsxs(AutoManualPlayStateContext.Provider, { value: contextValue, children: [typeof children === "function" ? children(contextValue) : children, config.playOptions.displayController && (jsxs("div", { className: cx(styles_ui.base, styles_ui.betForm), style: {
545
+ "--play-bottom": config.panel.bottom,
546
+ "--play-panel-bg": hexToRgb(config.panel.bgColorHex ?? "#01243A"),
547
+ "--play-dropdown-bg": hexToRgb(config.dropdown.bgColorHex ?? "#01243A"),
548
+ }, children: [jsxs("div", { className: cx(styles_ui.auto), children: [jsx(DifficultySelector, { playOptions: {
549
+ ...config.playOptions,
550
+ disabledMenu: config.playOptions.disabledController ||
551
+ config.playOptions.disabledMenu,
552
+ }, dropdownConfig: config.dropdown }), jsx(InputWithSwitch, { value: numberOfPlays === Infinity ? 0 : numberOfPlays, type: "number", onChange: (e) => setNumberOfPlays(Number(e.currentTarget.value)), placeholder: "Number of Plays", min: 0, max: 99, disabled: config.playOptions.disabledController ||
553
+ mode === GAME_MODE.MANUAL, currency: config.currencyOptions.currentCurrency, switcherConfig: {
554
+ onSwitch: toggleMode,
555
+ isPlaying: isAutoPlaying || config.playOptions.isPlaying,
556
+ enabled: mode !== GAME_MODE.MANUAL,
557
+ currency: config.currencyOptions.currentCurrency,
558
+ disabled: config.playOptions.disabledController ||
559
+ autoplayState === AUTO_PLAY_STATE.PLAYING,
560
+ }, children: jsx("span", { className: cx({
561
+ [styles_ui.disabled]: mode !== GAME_MODE.AUTOPLAY ||
562
+ numberOfPlays !== Infinity ||
563
+ autoplayState === AUTO_PLAY_STATE.PLAYING,
564
+ }), children: `∞` }) })] }), mode === GAME_MODE.MANUAL ? (jsx(ManualPlayController, {})) : (jsx(AutoPlayController, {}))] }))] }));
565
+ };
566
+
567
+ export { AUTO_PLAY_STATE, AutoManualPlayProvider, GAME_MODE };
568
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/types/gameMode.ts","../src/components/base/Button/Button.tsx","../src/components/base/GroupRow/GroupRow.tsx","../src/components/base/Input/cleanInputNumber.ts","../src/components/base/Input/Input.tsx","../src/components/base/Switch/Switch.tsx","../src/components/base/InputWithIcon/InputWithIcon.tsx","../src/components/base/SelectMenu/GoldIcon.tsx","../src/components/base/SelectMenu/SweepsIcon.tsx","../src/components/base/ChevronIcon/ChevronIcon.tsx","../src/components/base/SelectMenu/SelectMenu.tsx","../src/components/AutoManualPlayStateProvider/AutoManualPlayStateContext.tsx","../src/components/hooks/usePlayController.ts","../src/components/base/DifficultySelector/types.ts","../src/types/playController.ts","../src/components/base/PlayController/PlayController.tsx","../src/components/utils.ts","../src/components/base/AutoPlayController/AutoPlayController.tsx","../src/components/base/ManualPlayController/ManualPlayController.tsx","../src/components/base/DifficultySelector/Selector.tsx","../src/components/base/DifficultySelector/DifficultySelector.tsx","../src/components/base/InputWithSwitch/InputWithSwitch.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],"names":["_jsx","styles","_jsxs","HeadlessSwitch","capitalize","style_select","_Fragment"],"mappings":"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"}