@betorigami/game-ui-wheel 1.1.8 → 1.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +202 -202
- package/dist/standalone.mjs +8404 -8394
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { genCorrelationId as
|
|
2
|
-
import { css as I, svg as q, nothing as
|
|
3
|
-
import { Wheel as
|
|
4
|
-
import { cache as
|
|
5
|
-
import { property as o, customElement as $, query as
|
|
6
|
-
import
|
|
7
|
-
import { sumPayout as
|
|
8
|
-
import { styleMap as
|
|
9
|
-
const
|
|
1
|
+
import { genCorrelationId as ge, REQUEST_TIMEOUT_MS as ue, resolveApiErrorCode as me, getTranslation as g, errorCodeToTranslationKey as pe, ErrorCode as U, createMockGenerator as de, OrigamiActionType as J, desktopContainerQuery as H, noiseClick as fe, OrigamiElement as D, componentStyles as W, watch as te, RequiredContext as f, servicesContext as ye, skinContext as be, preferencesContext as ve, mobileContainerQuery as we, localeContext as z, limitsContext as se, layoutContext as ie, walletContext as Se, calculateProfitOnWin as _e, formatMonetaryAmount as $e, getCurrencyIcon as xe, OrigamiGame as Y, InvalidReason as ke, GameComponent as re, HotkeyController as Ee, HotkeyHelper as ee, waitForEvent as Ie, formatAutobetSettings as Ae, getGameOutcome as Me, calculateGameLayoutStyle as Pe, isEndAction as Oe } from "@betorigami/game-ui-shared";
|
|
2
|
+
import { css as I, svg as q, nothing as Q, html as a, LitElement as De } from "lit";
|
|
3
|
+
import { Wheel as Ce, WheelRiskLevel as u, WheelSegments as L, getWheelPattern as Te, getWheelSegmentMultipliers as Be, describeWheelOutcomes as We, isWheelRiskLevel as ne, isWheelSegments as le, WHEEL_RISK_LEVELS as Le, WHEEL_SEGMENT_OPTIONS as Re, getWheelMaxMultiplier as oe } from "@betorigami/game-wheel";
|
|
4
|
+
import { cache as Ne } from "lit/directives/cache.js";
|
|
5
|
+
import { property as o, customElement as $, query as X, state as b } from "lit/decorators.js";
|
|
6
|
+
import c from "big.js";
|
|
7
|
+
import { sumPayout as Ue } from "@betorigami/game-engine";
|
|
8
|
+
import { styleMap as je } from "lit/directives/style-map.js";
|
|
9
|
+
const He = {
|
|
10
10
|
overview: {
|
|
11
11
|
translation: {
|
|
12
12
|
key: "gameInfo.wheel.overview",
|
|
@@ -47,7 +47,7 @@ const je = {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
|
-
class
|
|
50
|
+
class j {
|
|
51
51
|
/**
|
|
52
52
|
* Calculate exact target angle for a segment with pseudorandom position
|
|
53
53
|
* @param segmentIndex - Index of winning segment (0-based)
|
|
@@ -74,10 +74,10 @@ class H {
|
|
|
74
74
|
let n = 0, l = 0;
|
|
75
75
|
for (; ; ) {
|
|
76
76
|
l++;
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
77
|
+
const d = e * Math.exp(-i * l);
|
|
78
|
+
if (d < 0.01)
|
|
79
79
|
break;
|
|
80
|
-
n +=
|
|
80
|
+
n += d, s.push(n);
|
|
81
81
|
}
|
|
82
82
|
return s;
|
|
83
83
|
}
|
|
@@ -106,7 +106,7 @@ class H {
|
|
|
106
106
|
return 1 + n % l;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
class
|
|
109
|
+
class Fe {
|
|
110
110
|
constructor(e, i) {
|
|
111
111
|
this.authToken = e, this.baseUrl = i + "/games/wheel";
|
|
112
112
|
}
|
|
@@ -114,11 +114,11 @@ class He {
|
|
|
114
114
|
try {
|
|
115
115
|
const i = await fetch(`${this.baseUrl}/play`, {
|
|
116
116
|
method: "POST",
|
|
117
|
-
signal: AbortSignal.timeout(
|
|
117
|
+
signal: AbortSignal.timeout(ue),
|
|
118
118
|
headers: {
|
|
119
119
|
"Content-Type": "application/json",
|
|
120
120
|
Authorization: `Bearer ${this.authToken}`,
|
|
121
|
-
"X-Origami-Trace":
|
|
121
|
+
"X-Origami-Trace": ge()
|
|
122
122
|
},
|
|
123
123
|
body: JSON.stringify({
|
|
124
124
|
amount: e.amount,
|
|
@@ -131,31 +131,31 @@ class He {
|
|
|
131
131
|
}), r = await i.json();
|
|
132
132
|
if (i.ok && r.id)
|
|
133
133
|
return { success: !0, data: r };
|
|
134
|
-
const s =
|
|
134
|
+
const s = me(r);
|
|
135
135
|
return {
|
|
136
136
|
success: !1,
|
|
137
|
-
error: g(
|
|
137
|
+
error: g(pe(s), e.language),
|
|
138
138
|
errorCode: s
|
|
139
139
|
};
|
|
140
140
|
} catch {
|
|
141
141
|
return {
|
|
142
142
|
success: !1,
|
|
143
143
|
error: g("alerts.gameError", e.language),
|
|
144
|
-
errorCode:
|
|
144
|
+
errorCode: U.UNKNOWN
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
class
|
|
149
|
+
class Ke {
|
|
150
150
|
constructor(e) {
|
|
151
151
|
this.edge = e;
|
|
152
152
|
}
|
|
153
153
|
async startBet(e) {
|
|
154
|
-
const { amount: i, riskLevel: r, segments: s } = e, n = { riskLevel: r, segments: s, betAmount:
|
|
154
|
+
const { amount: i, riskLevel: r, segments: s } = e, n = { riskLevel: r, segments: s, betAmount: c(i) }, l = new Ce().getGameResult({
|
|
155
155
|
generator: de(),
|
|
156
156
|
edge: this.edge,
|
|
157
157
|
gameInputs: n
|
|
158
|
-
}),
|
|
158
|
+
}), d = Ue(l.payout).toString();
|
|
159
159
|
return { success: !0, data: {
|
|
160
160
|
id: crypto.randomUUID(),
|
|
161
161
|
tenantId: "origami-casino",
|
|
@@ -163,7 +163,7 @@ class Fe {
|
|
|
163
163
|
tenantUserId: "mock-user",
|
|
164
164
|
gameId: "wheel",
|
|
165
165
|
amount: i,
|
|
166
|
-
payout:
|
|
166
|
+
payout: d,
|
|
167
167
|
afterBalance: "1000",
|
|
168
168
|
multiplier: l.payoutMultiplier.toString(),
|
|
169
169
|
clientSeed: "mock-seed",
|
|
@@ -187,7 +187,7 @@ class Fe {
|
|
|
187
187
|
} };
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
const
|
|
190
|
+
const Ge = I`
|
|
191
191
|
:host {
|
|
192
192
|
width: 100%;
|
|
193
193
|
height: 100%;
|
|
@@ -198,7 +198,7 @@ const Ke = I`
|
|
|
198
198
|
overflow: hidden;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
origami-history-pills {
|
|
202
202
|
--container-position: static;
|
|
203
203
|
}
|
|
204
204
|
|
|
@@ -206,15 +206,17 @@ const Ke = I`
|
|
|
206
206
|
display: none;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
${H} {
|
|
210
|
+
:host {
|
|
211
|
+
grid-template-rows: auto 1fr auto;
|
|
212
|
+
padding-bottom: 0;
|
|
212
213
|
|
|
213
|
-
|
|
214
|
-
|
|
214
|
+
.desktop-only {
|
|
215
|
+
display: block;
|
|
216
|
+
}
|
|
215
217
|
}
|
|
216
218
|
}
|
|
217
|
-
`,
|
|
219
|
+
`, qe = I`
|
|
218
220
|
:host {
|
|
219
221
|
width: 100%;
|
|
220
222
|
height: 100%;
|
|
@@ -243,14 +245,6 @@ const Ke = I`
|
|
|
243
245
|
padding: 0;
|
|
244
246
|
}
|
|
245
247
|
|
|
246
|
-
@media (min-width: 768px) {
|
|
247
|
-
.wheel-box {
|
|
248
|
-
aspect-ratio: 1 / 1;
|
|
249
|
-
height: auto;
|
|
250
|
-
margin: 0 auto;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
|
|
254
248
|
.wheel-svg,
|
|
255
249
|
.wheel-svg svg {
|
|
256
250
|
width: 100%;
|
|
@@ -282,22 +276,30 @@ const Ke = I`
|
|
|
282
276
|
display: none;
|
|
283
277
|
}
|
|
284
278
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
padding: 12px;
|
|
292
|
-
border-radius: var(--border-radius);
|
|
293
|
-
}
|
|
279
|
+
${H} {
|
|
280
|
+
.wheel-box {
|
|
281
|
+
aspect-ratio: 1 / 1;
|
|
282
|
+
height: auto;
|
|
283
|
+
margin: 0 auto;
|
|
284
|
+
}
|
|
294
285
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
286
|
+
:host {
|
|
287
|
+
background-color: var(--background-secondary);
|
|
288
|
+
background-image: var(--custom-game-background-image, none);
|
|
289
|
+
background-size: cover;
|
|
290
|
+
background-position: center;
|
|
291
|
+
background-repeat: no-repeat;
|
|
292
|
+
padding: 12px;
|
|
293
|
+
border-radius: var(--border-radius);
|
|
294
|
+
}
|
|
298
295
|
|
|
299
|
-
|
|
300
|
-
|
|
296
|
+
:host .game-content {
|
|
297
|
+
max-width: 360px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
:host .wheel-box {
|
|
301
|
+
max-width: 400px;
|
|
302
|
+
}
|
|
301
303
|
}
|
|
302
304
|
|
|
303
305
|
/* Outcome modal layout: wheel should grow to full height of its container (minus padding) */
|
|
@@ -323,14 +325,14 @@ const Ke = I`
|
|
|
323
325
|
RED: "var(--wheel-color-red)",
|
|
324
326
|
BLUE: "var(--wheel-color-blue)",
|
|
325
327
|
PURPLE: "var(--wheel-color-purple)"
|
|
326
|
-
},
|
|
328
|
+
}, Ve = {
|
|
327
329
|
ZERO: C.BLACK,
|
|
328
330
|
A: C.GREEN,
|
|
329
331
|
B: C.YELLOW,
|
|
330
332
|
C: C.BLUE,
|
|
331
333
|
D: C.RED,
|
|
332
334
|
E: C.PURPLE
|
|
333
|
-
}, ae = (t) =>
|
|
335
|
+
}, ae = (t) => Ve[t], G = 9, ze = 0.08, Ye = 0.8, Qe = 1e4, Xe = () => ({
|
|
334
336
|
layers: [fe(2800, { duration: 15e-4, decay: 8, gain: 0.6 })],
|
|
335
337
|
gainScale: 1
|
|
336
338
|
}), Ze = I`
|
|
@@ -354,22 +356,22 @@ const Ke = I`
|
|
|
354
356
|
}
|
|
355
357
|
}
|
|
356
358
|
`;
|
|
357
|
-
var
|
|
358
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
359
|
+
var Je = Object.defineProperty, et = Object.getOwnPropertyDescriptor, F = (t, e, i, r) => {
|
|
360
|
+
for (var s = r > 1 ? void 0 : r ? et(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
359
361
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
360
|
-
return r && s &&
|
|
362
|
+
return r && s && Je(e, i, s), s;
|
|
361
363
|
};
|
|
362
364
|
let T = class extends D {
|
|
363
365
|
constructor() {
|
|
364
366
|
super(...arguments), this.risk = u.MEDIUM_RISK, this.segments = L.TEN, this.highlightedSegments = [];
|
|
365
367
|
}
|
|
366
368
|
generateWheelPaths() {
|
|
367
|
-
const t =
|
|
369
|
+
const t = Te({ riskLevel: this.risk, segments: this.segments }), e = { cx: 285, cy: 285 }, i = 284.371, r = 2 * Math.PI / this.segments, s = [];
|
|
368
370
|
for (let n = 0; n < this.segments; n++) {
|
|
369
371
|
const l = ae(t[n]), _ = this.highlightedSegments.length > 0 && !this.highlightedSegments.includes(n) ? 0.25 : 1, k = n * r - Math.PI / 2, E = (n + 1) * r - Math.PI / 2, P = {
|
|
370
372
|
x: e.cx + i * Math.cos(k),
|
|
371
373
|
y: e.cy + i * Math.sin(k)
|
|
372
|
-
},
|
|
374
|
+
}, N = {
|
|
373
375
|
x: e.cx + i * Math.cos(E),
|
|
374
376
|
y: e.cy + i * Math.sin(E)
|
|
375
377
|
};
|
|
@@ -380,7 +382,7 @@ let T = class extends D {
|
|
|
380
382
|
stroke="${l}"
|
|
381
383
|
stroke-width="1"
|
|
382
384
|
opacity="${_}"
|
|
383
|
-
d="M${e.cx} ${e.cy} L${P.x.toFixed(3)} ${P.y.toFixed(3)} A${i} ${i} 0 0 1 ${
|
|
385
|
+
d="M${e.cx} ${e.cy} L${P.x.toFixed(3)} ${P.y.toFixed(3)} A${i} ${i} 0 0 1 ${N.x.toFixed(3)} ${N.y.toFixed(3)} Z"
|
|
384
386
|
/>`
|
|
385
387
|
);
|
|
386
388
|
}
|
|
@@ -416,10 +418,10 @@ F([
|
|
|
416
418
|
T = F([
|
|
417
419
|
$("origami-wheel-svg")
|
|
418
420
|
], T);
|
|
419
|
-
var
|
|
420
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
421
|
+
var tt = Object.defineProperty, st = Object.getOwnPropertyDescriptor, p = (t, e, i, r) => {
|
|
422
|
+
for (var s = r > 1 ? void 0 : r ? st(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
421
423
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
422
|
-
return r && s &&
|
|
424
|
+
return r && s && tt(e, i, s), s;
|
|
423
425
|
};
|
|
424
426
|
let h = class extends D {
|
|
425
427
|
constructor() {
|
|
@@ -440,10 +442,10 @@ let h = class extends D {
|
|
|
440
442
|
this._angle = this.targetAngle, this._updateTransform(), this._stopLoop(), this.emit("wheel-spin-complete");
|
|
441
443
|
return;
|
|
442
444
|
}
|
|
443
|
-
const t = this._isInstantBet ?
|
|
444
|
-
this._decelerationOffsets =
|
|
445
|
+
const t = this._isInstantBet ? Ye : ze;
|
|
446
|
+
this._decelerationOffsets = j.generateDecelerationOffsets(G, t);
|
|
445
447
|
const e = this._decelerationOffsets[this._decelerationOffsets.length - 1];
|
|
446
|
-
this._decelerationStartAngle =
|
|
448
|
+
this._decelerationStartAngle = j.calculateDecelerationStartAngle(this._angle, this.targetAngle, e), this._currentDecelerationFrame = 0;
|
|
447
449
|
}
|
|
448
450
|
handleIsPlayingChange() {
|
|
449
451
|
this.isPlaying && this._rafId === null && !this._isInstantBet ? this._startLoop() : !this.isPlaying && this._rafId !== null && this._stopLoop();
|
|
@@ -505,7 +507,7 @@ let h = class extends D {
|
|
|
505
507
|
height=${120 - 2 * (this.skin.value.customWheelCenterPadding ?? 0)}
|
|
506
508
|
style="clip-path: circle(50%)"
|
|
507
509
|
preserveAspectRatio="xMidYMid slice"
|
|
508
|
-
/>` :
|
|
510
|
+
/>` : Q}
|
|
509
511
|
<path
|
|
510
512
|
d="M281.402 125.5C282.557 123.5 285.443 123.5 286.598 125.5L334.23 208C335.384 210 333.941 212.5 331.632 212.5H236.369C234.059 212.5 232.616 210 233.771 208L281.402 125.5Z"
|
|
511
513
|
fill="white"
|
|
@@ -517,7 +519,7 @@ let h = class extends D {
|
|
|
517
519
|
`;
|
|
518
520
|
}
|
|
519
521
|
};
|
|
520
|
-
h.styles = [W,
|
|
522
|
+
h.styles = [W, qe];
|
|
521
523
|
p([
|
|
522
524
|
o({ type: Boolean })
|
|
523
525
|
], h.prototype, "isPlaying", 2);
|
|
@@ -543,7 +545,7 @@ p([
|
|
|
543
545
|
o({ type: Array })
|
|
544
546
|
], h.prototype, "hoveredSegments", 2);
|
|
545
547
|
p([
|
|
546
|
-
|
|
548
|
+
X(".wheel-svg")
|
|
547
549
|
], h.prototype, "_wheelEl", 2);
|
|
548
550
|
p([
|
|
549
551
|
te("targetAngle")
|
|
@@ -552,10 +554,9 @@ p([
|
|
|
552
554
|
te("isPlaying")
|
|
553
555
|
], h.prototype, "handleIsPlayingChange", 1);
|
|
554
556
|
h = p([
|
|
555
|
-
$("origami-wheel-animator")
|
|
556
|
-
R
|
|
557
|
+
$("origami-wheel-animator")
|
|
557
558
|
], h);
|
|
558
|
-
const
|
|
559
|
+
const it = I`
|
|
559
560
|
:host {
|
|
560
561
|
display: flex;
|
|
561
562
|
flex-direction: column;
|
|
@@ -635,21 +636,6 @@ const st = I`
|
|
|
635
636
|
gap: 12px;
|
|
636
637
|
}
|
|
637
638
|
|
|
638
|
-
:host(:not([data-is-desktop='true'])) .tiles {
|
|
639
|
-
display: flex;
|
|
640
|
-
flex-wrap: nowrap;
|
|
641
|
-
overflow-x: auto;
|
|
642
|
-
gap: 12px;
|
|
643
|
-
scroll-snap-type: x proximity;
|
|
644
|
-
-webkit-overflow-scrolling: touch;
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
:host(:not([data-is-desktop='true'])) .tile {
|
|
648
|
-
flex: 1 0 0;
|
|
649
|
-
scroll-snap-align: start;
|
|
650
|
-
min-width: 96px;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
639
|
.tile {
|
|
654
640
|
position: relative;
|
|
655
641
|
border-radius: var(--border-radius);
|
|
@@ -689,15 +675,32 @@ const st = I`
|
|
|
689
675
|
background: var(--background-quinary);
|
|
690
676
|
cursor: help;
|
|
691
677
|
}
|
|
678
|
+
|
|
679
|
+
${we} {
|
|
680
|
+
:host .tiles {
|
|
681
|
+
display: flex;
|
|
682
|
+
flex-wrap: nowrap;
|
|
683
|
+
overflow-x: auto;
|
|
684
|
+
gap: 12px;
|
|
685
|
+
scroll-snap-type: x proximity;
|
|
686
|
+
-webkit-overflow-scrolling: touch;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
:host .tile {
|
|
690
|
+
flex: 1 0 0;
|
|
691
|
+
scroll-snap-align: start;
|
|
692
|
+
min-width: 96px;
|
|
693
|
+
}
|
|
694
|
+
}
|
|
692
695
|
`;
|
|
693
|
-
var
|
|
694
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
696
|
+
var rt = Object.defineProperty, nt = Object.getOwnPropertyDescriptor, R = (t, e, i, r) => {
|
|
697
|
+
for (var s = r > 1 ? void 0 : r ? nt(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
695
698
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
696
|
-
return r && s &&
|
|
699
|
+
return r && s && rt(e, i, s), s;
|
|
697
700
|
};
|
|
698
701
|
let O = class extends D {
|
|
699
702
|
constructor() {
|
|
700
|
-
super(...arguments), this.locale = new f(this, z), this.limits = new f(this, se), this.layout = new f(this, ie), this.wallet = new f(this,
|
|
703
|
+
super(...arguments), this.locale = new f(this, z), this.limits = new f(this, se), this.layout = new f(this, ie), this.wallet = new f(this, Se), this.risk = u.MEDIUM_RISK, this.segments = L.TEN, this.resultSegment = null, this.hoveredTileIndex = null;
|
|
701
704
|
}
|
|
702
705
|
get edge() {
|
|
703
706
|
return this.limits.value.edge;
|
|
@@ -706,10 +709,10 @@ let O = class extends D {
|
|
|
706
709
|
return { riskLevel: this.risk, segments: this.segments };
|
|
707
710
|
}
|
|
708
711
|
get segmentMultipliers() {
|
|
709
|
-
return
|
|
712
|
+
return Be(this.selection, this.edge);
|
|
710
713
|
}
|
|
711
714
|
get tiles() {
|
|
712
|
-
return
|
|
715
|
+
return We(this.selection, this.edge).outcomes;
|
|
713
716
|
}
|
|
714
717
|
getActiveTileIndexFromSegment() {
|
|
715
718
|
if (this.resultSegment === null) return null;
|
|
@@ -735,14 +738,14 @@ let O = class extends D {
|
|
|
735
738
|
this.layout.value.isDesktop && (this.hoveredTileIndex = null, this.emit("wheel-multiplier-hover", { detail: { segments: [] } }));
|
|
736
739
|
}
|
|
737
740
|
formatProfit(t) {
|
|
738
|
-
const { betAmount: e } = this.wallet.value, { maxPayout: i } = this.limits.value, { currency: r } = this.locale.value, s =
|
|
739
|
-
return
|
|
741
|
+
const { betAmount: e } = this.wallet.value, { maxPayout: i } = this.limits.value, { currency: r } = this.locale.value, s = _e({ betAmount: c(e), multiplier: t, maxPayout: c(i) });
|
|
742
|
+
return $e(s.toFixed(), r, { includeSymbol: !1 });
|
|
740
743
|
}
|
|
741
744
|
formatChance(t, e) {
|
|
742
745
|
return `${t}/${e}`;
|
|
743
746
|
}
|
|
744
747
|
render() {
|
|
745
|
-
const t = this.tiles, e = Math.min(t.length, 6), { language: i } = this.locale.value, r = this.activeTileIndex, s = t[r], n = t.reduce((_, k) => _ + k.weight, 0), l = this.formatProfit(s.multiplier),
|
|
748
|
+
const t = this.tiles, e = Math.min(t.length, 6), { language: i } = this.locale.value, r = this.activeTileIndex, s = t[r], n = t.reduce((_, k) => _ + k.weight, 0), l = this.formatProfit(s.multiplier), d = this.formatChance(s.weight, n);
|
|
746
749
|
return a`
|
|
747
750
|
<div class="container">
|
|
748
751
|
${this.layout.value.isDesktop ? a`<div class="multiplier-info">
|
|
@@ -758,14 +761,14 @@ let O = class extends D {
|
|
|
758
761
|
.offset=${6}
|
|
759
762
|
inline
|
|
760
763
|
>
|
|
761
|
-
<span class="info-icon">${
|
|
764
|
+
<span class="info-icon">${xe(this.locale.value.currency)}</span>
|
|
762
765
|
</origami-tooltip>
|
|
763
766
|
</div>
|
|
764
767
|
|
|
765
768
|
<div class="info-item">
|
|
766
769
|
<div>
|
|
767
770
|
<span class="label">${g("common.winChance", i)}:</span>
|
|
768
|
-
<span class="value">${
|
|
771
|
+
<span class="value">${d}</span>
|
|
769
772
|
</div>
|
|
770
773
|
<lottie-icon
|
|
771
774
|
src="https://assets.betorigami.com/games/animations/percentage_symbol.json"
|
|
@@ -773,24 +776,24 @@ let O = class extends D {
|
|
|
773
776
|
size="16px"
|
|
774
777
|
></lottie-icon>
|
|
775
778
|
</div>
|
|
776
|
-
</div>` :
|
|
779
|
+
</div>` : Q}
|
|
777
780
|
|
|
778
781
|
<div class="tiles" role="list" style="--grid-columns: ${e}" @mouseleave=${() => this.handleTileMouseLeave()}>
|
|
779
782
|
${t.map(({ slot: _, multiplier: k }, E) => {
|
|
780
|
-
const P = `${k.toString()}X`,
|
|
783
|
+
const P = `${k.toString()}X`, N = ae(_), Z = this.hoveredTileIndex === E;
|
|
781
784
|
return a`
|
|
782
785
|
<div
|
|
783
786
|
class="tile"
|
|
784
787
|
role="listitem"
|
|
785
|
-
hovered=${
|
|
786
|
-
active=${!
|
|
788
|
+
hovered=${Z}
|
|
789
|
+
active=${!Z && E === r}
|
|
787
790
|
@mouseenter=${() => this.handleTileMouseEnter(E)}
|
|
788
791
|
>
|
|
789
792
|
<div class="tile-content">
|
|
790
793
|
<span class="tile-label">${P}</span>
|
|
791
794
|
<span
|
|
792
795
|
class="dot"
|
|
793
|
-
style=${
|
|
796
|
+
style=${je({ backgroundColor: N })}
|
|
794
797
|
aria-hidden="true"
|
|
795
798
|
></span>
|
|
796
799
|
</div>
|
|
@@ -802,27 +805,26 @@ let O = class extends D {
|
|
|
802
805
|
`;
|
|
803
806
|
}
|
|
804
807
|
};
|
|
805
|
-
O.styles = [W,
|
|
806
|
-
|
|
808
|
+
O.styles = [W, it];
|
|
809
|
+
R([
|
|
807
810
|
o({ type: String })
|
|
808
811
|
], O.prototype, "risk", 2);
|
|
809
|
-
|
|
812
|
+
R([
|
|
810
813
|
o({ type: Number })
|
|
811
814
|
], O.prototype, "segments", 2);
|
|
812
|
-
|
|
815
|
+
R([
|
|
813
816
|
o({ type: Number })
|
|
814
817
|
], O.prototype, "resultSegment", 2);
|
|
815
|
-
|
|
818
|
+
R([
|
|
816
819
|
b()
|
|
817
820
|
], O.prototype, "hoveredTileIndex", 2);
|
|
818
|
-
O =
|
|
819
|
-
$("origami-wheel-content-bottom")
|
|
820
|
-
R
|
|
821
|
+
O = R([
|
|
822
|
+
$("origami-wheel-content-bottom")
|
|
821
823
|
], O);
|
|
822
|
-
var
|
|
823
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
824
|
+
var lt = Object.defineProperty, ot = Object.getOwnPropertyDescriptor, A = (t, e, i, r) => {
|
|
825
|
+
for (var s = r > 1 ? void 0 : r ? ot(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
824
826
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
825
|
-
return r && s &&
|
|
827
|
+
return r && s && lt(e, i, s), s;
|
|
826
828
|
};
|
|
827
829
|
let v = class extends D {
|
|
828
830
|
constructor() {
|
|
@@ -858,7 +860,7 @@ let v = class extends D {
|
|
|
858
860
|
`;
|
|
859
861
|
}
|
|
860
862
|
};
|
|
861
|
-
v.styles = [W,
|
|
863
|
+
v.styles = [W, Ge];
|
|
862
864
|
A([
|
|
863
865
|
o({ type: Boolean })
|
|
864
866
|
], v.prototype, "isPlaying", 2);
|
|
@@ -881,8 +883,7 @@ A([
|
|
|
881
883
|
b()
|
|
882
884
|
], v.prototype, "hoveredSegments", 2);
|
|
883
885
|
v = A([
|
|
884
|
-
$("origami-wheel-layout")
|
|
885
|
-
R
|
|
886
|
+
$("origami-wheel-layout")
|
|
886
887
|
], v);
|
|
887
888
|
const he = I`
|
|
888
889
|
:host {
|
|
@@ -900,12 +901,6 @@ const he = I`
|
|
|
900
901
|
order: -1;
|
|
901
902
|
}
|
|
902
903
|
|
|
903
|
-
:host([data-is-desktop='true']) {
|
|
904
|
-
.action-section {
|
|
905
|
-
order: 0;
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
|
|
909
904
|
.custom-inputs-container {
|
|
910
905
|
grid-column: span 2;
|
|
911
906
|
display: contents;
|
|
@@ -914,7 +909,13 @@ const he = I`
|
|
|
914
909
|
.grid-full-width {
|
|
915
910
|
grid-column: span 2;
|
|
916
911
|
}
|
|
917
|
-
|
|
912
|
+
|
|
913
|
+
${H} {
|
|
914
|
+
:host .action-section {
|
|
915
|
+
order: 0;
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
`, at = I`
|
|
918
919
|
:host {
|
|
919
920
|
display: contents;
|
|
920
921
|
}
|
|
@@ -923,10 +924,10 @@ const he = I`
|
|
|
923
924
|
grid-column: span 2;
|
|
924
925
|
}
|
|
925
926
|
`;
|
|
926
|
-
var
|
|
927
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
927
|
+
var ht = Object.defineProperty, ct = Object.getOwnPropertyDescriptor, K = (t, e, i, r) => {
|
|
928
|
+
for (var s = r > 1 ? void 0 : r ? ct(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
928
929
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
929
|
-
return r && s &&
|
|
930
|
+
return r && s && ht(e, i, s), s;
|
|
930
931
|
};
|
|
931
932
|
const gt = {
|
|
932
933
|
[u.LOW_RISK]: "common.low",
|
|
@@ -951,7 +952,7 @@ let B = class extends D {
|
|
|
951
952
|
<origami-select
|
|
952
953
|
class="grid-full-width"
|
|
953
954
|
label=${g("common.risk", t)}
|
|
954
|
-
.options=${
|
|
955
|
+
.options=${Le.map((e) => ({ value: e, label: g(gt[e], t) }))}
|
|
955
956
|
.value=${this.risk}
|
|
956
957
|
@select-change=${this.handleRiskChange}
|
|
957
958
|
?disabled=${this.disabled}
|
|
@@ -960,7 +961,7 @@ let B = class extends D {
|
|
|
960
961
|
<origami-select
|
|
961
962
|
class="grid-full-width"
|
|
962
963
|
label=${g("games.wheel.segments", t)}
|
|
963
|
-
.options=${
|
|
964
|
+
.options=${Re.map((e) => ({ value: e.toString(), label: e.toString() }))}
|
|
964
965
|
.value=${this.segments.toString()}
|
|
965
966
|
@select-change=${this.handleSegmentsChange}
|
|
966
967
|
?disabled=${this.disabled}
|
|
@@ -968,7 +969,7 @@ let B = class extends D {
|
|
|
968
969
|
`;
|
|
969
970
|
}
|
|
970
971
|
};
|
|
971
|
-
B.styles = [W,
|
|
972
|
+
B.styles = [W, at];
|
|
972
973
|
K([
|
|
973
974
|
o({ type: String })
|
|
974
975
|
], B.prototype, "risk", 2);
|
|
@@ -981,14 +982,14 @@ K([
|
|
|
981
982
|
B = K([
|
|
982
983
|
$("origami-wheel-selectors")
|
|
983
984
|
], B);
|
|
984
|
-
var ut = Object.defineProperty,
|
|
985
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
985
|
+
var ut = Object.defineProperty, mt = Object.getOwnPropertyDescriptor, x = (t, e, i, r) => {
|
|
986
|
+
for (var s = r > 1 ? void 0 : r ? mt(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
986
987
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
987
988
|
return r && s && ut(e, i, s), s;
|
|
988
989
|
};
|
|
989
990
|
let y = class extends D {
|
|
990
991
|
constructor() {
|
|
991
|
-
super(...arguments), this.locale = new f(this, z), this.isPlaying = !1, this.betDisabled = !1, this.inputsDisabled = !1, this.risk = u.MEDIUM_RISK, this.segments = L.TEN, this.betMaxMultiplier =
|
|
992
|
+
super(...arguments), this.locale = new f(this, z), this.isPlaying = !1, this.betDisabled = !1, this.inputsDisabled = !1, this.risk = u.MEDIUM_RISK, this.segments = L.TEN, this.betMaxMultiplier = c(1), this.isBetAmountValid = !0, this._betAboveBalance = !1;
|
|
992
993
|
}
|
|
993
994
|
render() {
|
|
994
995
|
const t = this.locale.value.language;
|
|
@@ -1001,7 +1002,7 @@ let y = class extends D {
|
|
|
1001
1002
|
this.isBetAmountValid = e.detail.isValid;
|
|
1002
1003
|
}}
|
|
1003
1004
|
@bet-amount-input-error-change=${(e) => {
|
|
1004
|
-
this._betAboveBalance = e.detail.invalidReason ===
|
|
1005
|
+
this._betAboveBalance = e.detail.invalidReason === ke.BET_AMOUNT_ABOVE_BALANCE;
|
|
1005
1006
|
}}
|
|
1006
1007
|
></origami-bet-amount-input>
|
|
1007
1008
|
|
|
@@ -1049,17 +1050,16 @@ x([
|
|
|
1049
1050
|
b()
|
|
1050
1051
|
], y.prototype, "_betAboveBalance", 2);
|
|
1051
1052
|
y = x([
|
|
1052
|
-
$("origami-wheel-manual")
|
|
1053
|
-
R
|
|
1053
|
+
$("origami-wheel-manual")
|
|
1054
1054
|
], y);
|
|
1055
|
-
var pt = Object.defineProperty,
|
|
1056
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
1055
|
+
var pt = Object.defineProperty, dt = Object.getOwnPropertyDescriptor, M = (t, e, i, r) => {
|
|
1056
|
+
for (var s = r > 1 ? void 0 : r ? dt(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
1057
1057
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
1058
1058
|
return r && s && pt(e, i, s), s;
|
|
1059
1059
|
};
|
|
1060
1060
|
let w = class extends D {
|
|
1061
1061
|
constructor() {
|
|
1062
|
-
super(...arguments), this.inputsDisabled = !1, this.autobetStopping = !1, this.autobetInProgress = !1, this.betDisabled = !1, this.risk = u.MEDIUM_RISK, this.segments = L.TEN, this.betMaxMultiplier =
|
|
1062
|
+
super(...arguments), this.inputsDisabled = !1, this.autobetStopping = !1, this.autobetInProgress = !1, this.betDisabled = !1, this.risk = u.MEDIUM_RISK, this.segments = L.TEN, this.betMaxMultiplier = c(1);
|
|
1063
1063
|
}
|
|
1064
1064
|
render() {
|
|
1065
1065
|
return a`
|
|
@@ -1102,10 +1102,9 @@ M([
|
|
|
1102
1102
|
o({ attribute: !1 })
|
|
1103
1103
|
], w.prototype, "betMaxMultiplier", 2);
|
|
1104
1104
|
w = M([
|
|
1105
|
-
$("origami-wheel-auto")
|
|
1106
|
-
R
|
|
1105
|
+
$("origami-wheel-auto")
|
|
1107
1106
|
], w);
|
|
1108
|
-
const
|
|
1107
|
+
const ft = I`
|
|
1109
1108
|
:host {
|
|
1110
1109
|
height: 100%;
|
|
1111
1110
|
}
|
|
@@ -1114,14 +1113,14 @@ const dt = I`
|
|
|
1114
1113
|
display: block;
|
|
1115
1114
|
}
|
|
1116
1115
|
`;
|
|
1117
|
-
var
|
|
1118
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
1116
|
+
var yt = Object.defineProperty, bt = Object.getOwnPropertyDescriptor, S = (t, e, i, r) => {
|
|
1117
|
+
for (var s = r > 1 ? void 0 : r ? bt(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
1119
1118
|
(l = t[n]) && (s = (r ? l(e, i, s) : l(s)) || s);
|
|
1120
|
-
return r && s &&
|
|
1119
|
+
return r && s && yt(e, i, s), s;
|
|
1121
1120
|
};
|
|
1122
|
-
let
|
|
1121
|
+
let m = class extends re {
|
|
1123
1122
|
constructor() {
|
|
1124
|
-
super(), this.limits = new f(this, se), this.layout = new f(this, ie), this.isManualPlaying = !1, this.history = [], this.wheelRisk = u.MEDIUM_RISK, this.numberOfSegments = 10, this.targetAngle = null, this.resultSegment = null, this.isWheelSpinning = !1, new
|
|
1123
|
+
super(), this.limits = new f(this, se), this.layout = new f(this, ie), this.isManualPlaying = !1, this.history = [], this.wheelRisk = u.MEDIUM_RISK, this.numberOfSegments = 10, this.targetAngle = null, this.resultSegment = null, this.isWheelSpinning = !1, new Ee(this, [
|
|
1125
1124
|
{
|
|
1126
1125
|
key: " ",
|
|
1127
1126
|
callback: () => ee.clickBetButton(this.manualOrAuto, this._wheelManualEl, this._wheelAutoEl),
|
|
@@ -1140,7 +1139,7 @@ let c = class extends re {
|
|
|
1140
1139
|
this.numberOfSegments = t.detail.value, this.resultSegment = null;
|
|
1141
1140
|
}
|
|
1142
1141
|
get wheelApi() {
|
|
1143
|
-
return this.session.value.isDemoMode ? new
|
|
1142
|
+
return this.session.value.isDemoMode ? new Ke(this.limits.value.edge) : new Fe(this.session.value.authToken, this.session.value.baseUrl);
|
|
1144
1143
|
}
|
|
1145
1144
|
get isToggleDisabled() {
|
|
1146
1145
|
return this.isManualPlaying || this.autobetInProgress || this.autobetStopping;
|
|
@@ -1149,13 +1148,13 @@ let c = class extends re {
|
|
|
1149
1148
|
return this.isManualPlaying || this.autobetInProgress || this.autobetStopping;
|
|
1150
1149
|
}
|
|
1151
1150
|
wheelSpinCompletedPromise() {
|
|
1152
|
-
return
|
|
1151
|
+
return Ie(this, "wheel-spin-complete", void 0, Qe, !0);
|
|
1153
1152
|
}
|
|
1154
1153
|
async handleBetExecution(t, e) {
|
|
1155
1154
|
this.resetForNextBet(() => {
|
|
1156
1155
|
this.targetAngle = null, this.resultSegment = null;
|
|
1157
1156
|
});
|
|
1158
|
-
const i =
|
|
1157
|
+
const i = c(this.wallet.value.balance);
|
|
1159
1158
|
try {
|
|
1160
1159
|
if (this.session.value.isDemoMode && i.lt(t))
|
|
1161
1160
|
throw new Error(g("alerts.insufficientBalance", this.locale.value.language));
|
|
@@ -1168,50 +1167,51 @@ let c = class extends re {
|
|
|
1168
1167
|
language: this.locale.value.language,
|
|
1169
1168
|
riskLevel: this.wheelRisk,
|
|
1170
1169
|
segments: this.numberOfSegments,
|
|
1171
|
-
meta: e ?
|
|
1170
|
+
meta: e ? Ae(e) : void 0
|
|
1172
1171
|
})
|
|
1173
1172
|
);
|
|
1174
1173
|
if (s.success) {
|
|
1175
|
-
const { data: n } = s, l = Number(n.multiplier ?? 0), { betActions:
|
|
1174
|
+
const { data: n } = s, l = Number(n.multiplier ?? 0), { betActions: d } = n, _ = d[d.length - 1];
|
|
1176
1175
|
if (_?.data?.WHEEL) {
|
|
1177
1176
|
const { result: P } = _.data.WHEEL;
|
|
1178
|
-
this.resultSegment = P[0] ?? 0, this.targetAngle =
|
|
1177
|
+
this.resultSegment = P[0] ?? 0, this.targetAngle = j.calculateTargetAngle(this.resultSegment, this.numberOfSegments, n.id);
|
|
1179
1178
|
}
|
|
1180
1179
|
r && await this.wheelSpinCompletedPromise(), this.isWheelSpinning = !1;
|
|
1181
|
-
const k =
|
|
1180
|
+
const k = c(l).gt(0);
|
|
1182
1181
|
this.history = [...this.history, { multiplier: l, won: k, id: n.id }], this.updateHistoryWithBet(n);
|
|
1183
|
-
const E = this.session.value.isDemoMode ? i.minus(n.amount ?? 0).plus(n.payout ?? 0) :
|
|
1184
|
-
return this.wallet.value.updateBalance(E),
|
|
1182
|
+
const E = this.session.value.isDemoMode ? i.minus(n.amount ?? 0).plus(n.payout ?? 0) : c(n.afterBalance ?? 0);
|
|
1183
|
+
return this.wallet.value.updateBalance(E), c(l).gt(1) && this.playWinFeedback(), s;
|
|
1185
1184
|
} else
|
|
1186
1185
|
return this.wallet.value.updateBalance(i), this.isWheelSpinning = !1, s;
|
|
1187
1186
|
} catch (r) {
|
|
1188
1187
|
return this.wallet.value.updateBalance(i), this.isWheelSpinning = !1, {
|
|
1189
1188
|
success: !1,
|
|
1190
1189
|
error: r instanceof Error ? r.message : g("alerts.gameError", this.locale.value.language),
|
|
1191
|
-
errorCode:
|
|
1190
|
+
errorCode: U.UNKNOWN
|
|
1192
1191
|
};
|
|
1193
1192
|
}
|
|
1194
1193
|
}
|
|
1195
1194
|
async wheelPlay() {
|
|
1196
1195
|
this.isManualPlaying = !0;
|
|
1197
1196
|
const t = await this.handleBetExecution(this.wallet.value.betAmount);
|
|
1198
|
-
t.success || (this.checkSessionExpired(t.errorCode ??
|
|
1197
|
+
t.success || (this.checkSessionExpired(t.errorCode ?? U.UNKNOWN), this.showError(t.error)), this.isManualPlaying = !1;
|
|
1199
1198
|
}
|
|
1200
1199
|
async executeAutobet(t, e) {
|
|
1201
1200
|
const i = await this.handleBetExecution(e, t);
|
|
1202
1201
|
if (!i.success)
|
|
1203
1202
|
return {
|
|
1204
|
-
pnl:
|
|
1203
|
+
pnl: c(0),
|
|
1205
1204
|
gameOutcome: "Draw",
|
|
1206
1205
|
hasError: !0,
|
|
1207
|
-
|
|
1206
|
+
afterBalance: null,
|
|
1207
|
+
errorCode: i.errorCode ?? U.UNKNOWN,
|
|
1208
1208
|
errorMessage: i.error || g("alerts.errorProcessingBet", this.locale.value.language)
|
|
1209
1209
|
};
|
|
1210
|
-
const r = i.data, s =
|
|
1211
|
-
return await this.holdResultDisplay(), { pnl: s, gameOutcome: l, hasError: !1 };
|
|
1210
|
+
const r = i.data, s = c(r.payout ?? 0).minus(r.amount ?? 0), n = Number(r.multiplier), l = Me(n);
|
|
1211
|
+
return await this.holdResultDisplay(), { pnl: s, gameOutcome: l, hasError: !1, afterBalance: r.afterBalance ? c(r.afterBalance) : null };
|
|
1212
1212
|
}
|
|
1213
1213
|
render() {
|
|
1214
|
-
const t = oe(this.limits.value.edge, { riskLevel: this.wheelRisk, segments: this.numberOfSegments }), e = !1, i =
|
|
1214
|
+
const t = oe(this.limits.value.edge, { riskLevel: this.wheelRisk, segments: this.numberOfSegments }), e = !1, i = Pe(this.layout.value);
|
|
1215
1215
|
return a`
|
|
1216
1216
|
<origami-game-layout style=${i} .gameType=${Y.WHEEL}>
|
|
1217
1217
|
<origami-game-sidebar
|
|
@@ -1222,7 +1222,7 @@ let c = class extends re {
|
|
|
1222
1222
|
@wheel-risk-change=${this.handleWheelRiskChange}
|
|
1223
1223
|
@wheel-segments-change=${this.handleWheelSegmentsChange}
|
|
1224
1224
|
>
|
|
1225
|
-
${
|
|
1225
|
+
${Ne(
|
|
1226
1226
|
this.manualOrAuto === "Manual" ? a`<origami-wheel-manual
|
|
1227
1227
|
slot="controls"
|
|
1228
1228
|
.inputsDisabled=${this.areInputsDisabled}
|
|
@@ -1248,7 +1248,7 @@ let c = class extends re {
|
|
|
1248
1248
|
)}
|
|
1249
1249
|
</origami-game-sidebar>
|
|
1250
1250
|
|
|
1251
|
-
${this.layout.value.isDesktop ?
|
|
1251
|
+
${this.layout.value.isDesktop ? Q : a`
|
|
1252
1252
|
<origami-wheel-content-bottom
|
|
1253
1253
|
slot="content-bottom"
|
|
1254
1254
|
.risk=${this.wheelRisk}
|
|
@@ -1269,43 +1269,43 @@ let c = class extends re {
|
|
|
1269
1269
|
`;
|
|
1270
1270
|
}
|
|
1271
1271
|
};
|
|
1272
|
-
|
|
1272
|
+
m.styles = [...re.styles, ft];
|
|
1273
1273
|
S([
|
|
1274
1274
|
b()
|
|
1275
|
-
],
|
|
1275
|
+
], m.prototype, "isManualPlaying", 2);
|
|
1276
1276
|
S([
|
|
1277
1277
|
b()
|
|
1278
|
-
],
|
|
1278
|
+
], m.prototype, "history", 2);
|
|
1279
1279
|
S([
|
|
1280
1280
|
b()
|
|
1281
|
-
],
|
|
1281
|
+
], m.prototype, "wheelRisk", 2);
|
|
1282
1282
|
S([
|
|
1283
1283
|
b()
|
|
1284
|
-
],
|
|
1284
|
+
], m.prototype, "numberOfSegments", 2);
|
|
1285
1285
|
S([
|
|
1286
1286
|
b()
|
|
1287
|
-
],
|
|
1287
|
+
], m.prototype, "targetAngle", 2);
|
|
1288
1288
|
S([
|
|
1289
1289
|
b()
|
|
1290
|
-
],
|
|
1290
|
+
], m.prototype, "resultSegment", 2);
|
|
1291
1291
|
S([
|
|
1292
1292
|
b()
|
|
1293
|
-
],
|
|
1293
|
+
], m.prototype, "isWheelSpinning", 2);
|
|
1294
1294
|
S([
|
|
1295
|
-
|
|
1296
|
-
],
|
|
1295
|
+
X("origami-wheel-manual")
|
|
1296
|
+
], m.prototype, "_wheelManualEl", 2);
|
|
1297
1297
|
S([
|
|
1298
|
-
|
|
1299
|
-
],
|
|
1300
|
-
|
|
1298
|
+
X("origami-wheel-auto")
|
|
1299
|
+
], m.prototype, "_wheelAutoEl", 2);
|
|
1300
|
+
m = S([
|
|
1301
1301
|
$("origami-wheel-game")
|
|
1302
|
-
],
|
|
1303
|
-
var
|
|
1304
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
1302
|
+
], m);
|
|
1303
|
+
var vt = Object.getOwnPropertyDescriptor, wt = (t, e, i, r) => {
|
|
1304
|
+
for (var s = r > 1 ? void 0 : r ? vt(e, i) : e, n = t.length - 1, l; n >= 0; n--)
|
|
1305
1305
|
(l = t[n]) && (s = l(s) || s);
|
|
1306
1306
|
return s;
|
|
1307
1307
|
};
|
|
1308
|
-
let V = class extends
|
|
1308
|
+
let V = class extends De {
|
|
1309
1309
|
render() {
|
|
1310
1310
|
return a`<slot></slot>`;
|
|
1311
1311
|
}
|
|
@@ -1325,25 +1325,25 @@ V.styles = I`
|
|
|
1325
1325
|
box-sizing: border-box;
|
|
1326
1326
|
}
|
|
1327
1327
|
|
|
1328
|
-
|
|
1328
|
+
${H} {
|
|
1329
1329
|
:host {
|
|
1330
1330
|
height: 225px;
|
|
1331
1331
|
}
|
|
1332
1332
|
}
|
|
1333
1333
|
`;
|
|
1334
|
-
V =
|
|
1334
|
+
V = wt([
|
|
1335
1335
|
$("origami-wheel-outcome")
|
|
1336
1336
|
], V);
|
|
1337
|
-
const
|
|
1337
|
+
const St = (t) => typeof t == "object" && t !== null && "risk" in t && ne(t.risk) && "segments" in t && le(t.segments) && "resultSegment" in t && typeof t.resultSegment == "number" && "betId" in t && typeof t.betId == "string", ce = (t) => {
|
|
1338
1338
|
const e = t?.WHEEL;
|
|
1339
1339
|
return e !== void 0 && "segments" in e ? e : void 0;
|
|
1340
|
-
},
|
|
1341
|
-
const e =
|
|
1342
|
-
return e === void 0 || i === void 0 || !
|
|
1343
|
-
},
|
|
1344
|
-
if (!
|
|
1340
|
+
}, _t = (t) => {
|
|
1341
|
+
const e = ce(t.betActions[0]?.data), i = t.betActions[t.betActions.length - 1]?.data.WHEEL;
|
|
1342
|
+
return e === void 0 || i === void 0 || !Oe(i) ? { risk: u.MEDIUM_RISK, segments: L.TEN, resultSegment: 0, betId: t.id || "123" } : { risk: e.riskLevel, segments: e.segments, resultSegment: i.result[0] ?? 0, betId: t.id };
|
|
1343
|
+
}, $t = (t, { enableAnimation: e, inBetResultModal: i, language: r }) => {
|
|
1344
|
+
if (!St(t))
|
|
1345
1345
|
return a`<p>${g("errors.noWheelData", r)}</p>`;
|
|
1346
|
-
const s =
|
|
1346
|
+
const s = j.calculateTargetAngle(t.resultSegment, t.segments, t.betId);
|
|
1347
1347
|
return a`
|
|
1348
1348
|
<origami-wheel-outcome>
|
|
1349
1349
|
<origami-wheel-animator
|
|
@@ -1358,20 +1358,20 @@ const wt = (t) => typeof t == "object" && t !== null && "risk" in t && ne(t.risk
|
|
|
1358
1358
|
></origami-wheel-animator>
|
|
1359
1359
|
</origami-wheel-outcome>
|
|
1360
1360
|
`;
|
|
1361
|
-
},
|
|
1362
|
-
const e =
|
|
1361
|
+
}, xt = (t) => {
|
|
1362
|
+
const e = ce(t);
|
|
1363
1363
|
return e === void 0 ? {} : { segments: e.segments, riskLevel: e.riskLevel };
|
|
1364
|
-
},
|
|
1364
|
+
}, kt = ({ segments: t, riskLevel: e }) => ({ segments: t, riskLevel: e }), Bt = {
|
|
1365
1365
|
id: Y.WHEEL,
|
|
1366
1366
|
renderGame: () => a`<origami-wheel-game></origami-wheel-game>`,
|
|
1367
|
-
gameInfo:
|
|
1367
|
+
gameInfo: He,
|
|
1368
1368
|
maxMultiplier: ({ edge: t }) => oe(t).toNumber(),
|
|
1369
|
-
verifierInputs:
|
|
1370
|
-
verifierQuery:
|
|
1371
|
-
extractOutcome:
|
|
1372
|
-
renderOutcome:
|
|
1369
|
+
verifierInputs: xt,
|
|
1370
|
+
verifierQuery: kt,
|
|
1371
|
+
extractOutcome: _t,
|
|
1372
|
+
renderOutcome: $t
|
|
1373
1373
|
};
|
|
1374
1374
|
export {
|
|
1375
|
-
|
|
1376
|
-
|
|
1375
|
+
m as WheelGame,
|
|
1376
|
+
Bt as wheelUiModule
|
|
1377
1377
|
};
|