@enigma-lake/dice-play-controller-sdk 1.3.8 → 2.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 (27) hide show
  1. package/README.md +180 -180
  2. package/dist/components/base/Button/Button.d.ts +1 -1
  3. package/dist/components/base/ChevronIcon/ChevronIcon.d.ts +1 -1
  4. package/dist/components/base/FreeRoundsFooter/FreeRoundsFooter.d.ts +2 -0
  5. package/dist/components/base/FreeRoundsFooter/index.d.ts +2 -0
  6. package/dist/components/base/FreeRoundsIntroModal/FreeRoundsIntroModal.d.ts +3 -2
  7. package/dist/components/base/FreeRoundsSummaryModal/FreeRoundsSummaryModal.d.ts +9 -0
  8. package/dist/components/base/FreeRoundsSummaryModal/index.d.ts +3 -0
  9. package/dist/components/base/GroupRow/GroupRow.d.ts +1 -1
  10. package/dist/components/base/Input/Input.d.ts +1 -1
  11. package/dist/components/base/ManualPlayController/ManualPlayController.d.ts +1 -1
  12. package/dist/components/base/PlayController/PlayController.d.ts +1 -1
  13. package/dist/components/base/PlayValueInput/PlayValueInput.d.ts +1 -1
  14. package/dist/components/base/PlayValueList/PlayValueList.d.ts +1 -1
  15. package/dist/components/base/SelectMenu/GoldIcon.d.ts +1 -1
  16. package/dist/components/base/SelectMenu/SelectMenu.d.ts +1 -1
  17. package/dist/components/base/SelectMenu/SweepsIcon.d.ts +1 -1
  18. package/dist/components/hooks/usePlayController.d.ts +0 -2
  19. package/dist/components/utils.d.ts +11 -0
  20. package/dist/index.d.ts +15 -7
  21. package/dist/index.mjs +170 -84
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/style.css +1 -1
  24. package/dist/types/playController.d.ts +1 -2
  25. package/package.json +84 -84
  26. package/dist/components/base/FreeRoundsAffordance/FreeRoundsAffordance.d.ts +0 -9
  27. package/dist/components/base/FreeRoundsAffordance/index.d.ts +0 -2
package/dist/index.mjs CHANGED
@@ -35,6 +35,38 @@ const removePressedClass = (gameMode, activeClassName) => {
35
35
  button.classList.remove(activeClassName);
36
36
  }
37
37
  };
38
+ const COIN_TYPE_SWEEPS = 0;
39
+ const COIN_TYPE_GOLD = 1;
40
+ // B2C coin decimals (platform convention): Sweeps shows 2 dp, Gold 0 dp.
41
+ const COIN_DECIMALS = {
42
+ [COIN_TYPE_SWEEPS]: 2,
43
+ [COIN_TYPE_GOLD]: 0,
44
+ };
45
+ // A B2C grant passes `coinType` (SWEEPS=0/GOLD=1); a B2B grant passes
46
+ // `currency` (e.g. "USD").
47
+ const resolveCoinLabel = ({ coinType, currency, }) => {
48
+ if (currency) {
49
+ return currency;
50
+ }
51
+ if (coinType === COIN_TYPE_SWEEPS) {
52
+ return "SC";
53
+ }
54
+ if (coinType === COIN_TYPE_GOLD) {
55
+ return "GC";
56
+ }
57
+ return "";
58
+ };
59
+ // The per-round value belongs to the GRANT's coin, which can differ from the
60
+ // player's active currency (e.g. a Sweeps grant surfaced while the player is
61
+ // on Gold). Use the grant coin's decimals so a 0.20 SC value doesn't render as
62
+ // "0" under Gold's 0-dp formatting. B2B grants (operator `currency`) fall back
63
+ // to the operator currency decimals passed in via `fallback`.
64
+ const resolveCoinDecimals = ({ coinType, currency, fallback, }) => {
65
+ if (!currency && coinType !== undefined && coinType in COIN_DECIMALS) {
66
+ return COIN_DECIMALS[coinType];
67
+ }
68
+ return fallback;
69
+ };
38
70
  const format = (value, decimals) => {
39
71
  const num = Number(value);
40
72
  if (isNaN(num)) {
@@ -73,11 +105,11 @@ const usePlayController = () => {
73
105
  const { current } = config.currencyOptions;
74
106
  const { disabledController, playHook } = config.playOptions;
75
107
  const { playAmount: rawPlayAmount, playLimits, setPlayAmount: rawSetPlayAmount, } = playHook?.() ?? {};
76
- // Free rounds (opt-in): only when the player has ENGAGED free-round mode are
77
- // the stake/coin locked to the grant. `available` (pending grants exist) does
78
- // not lock anything on its own it surfaces a "Use Free Rounds" affordance.
108
+ // Free rounds (binary engagement): only when the player has ENGAGED
109
+ // free-round mode (PLAY NOW on the intro modal) are the per-round value and
110
+ // coin locked to the grant. When not engaged the controller renders exactly
111
+ // as if the player had no free rounds.
79
112
  const freeRoundsOptions = config.freeRoundsOptions;
80
- const isFreeRoundsAvailable = Boolean(freeRoundsOptions?.available && freeRoundsOptions.roundsRemaining > 0);
81
113
  const isFreeRoundsEngaged = Boolean(freeRoundsOptions?.engaged && freeRoundsOptions.roundsRemaining > 0);
82
114
  // playAmount is in display units everywhere in this SDK (e.g. 1.00),
83
115
  // while the grant stake is in cents, so convert.
@@ -159,14 +191,12 @@ const usePlayController = () => {
159
191
  override_playButtonBackgroundPressed: config.bonusBuyOptions?.override_playButtonBackgroundPressed,
160
192
  },
161
193
  freeRounds: {
162
- isAvailable: isFreeRoundsAvailable,
163
194
  isEngaged: isFreeRoundsEngaged,
164
195
  roundsRemaining: freeRoundsOptions?.roundsRemaining ?? 0,
165
196
  totalRounds: freeRoundsOptions?.totalRounds ?? 0,
166
197
  stakeCents: freeRoundsOptions?.stakeCents,
167
198
  coinType: freeRoundsOptions?.coinType,
168
199
  currency: freeRoundsOptions?.currency,
169
- onUseFreeRounds: freeRoundsOptions?.onUseFreeRounds,
170
200
  },
171
201
  };
172
202
  };
@@ -261,7 +291,7 @@ const SelectMenu = ({ disabled = false }) => {
261
291
  }) })] })) }));
262
292
  };
263
293
 
264
- var styles$2 = {"base":"PlayValueInput-module__base___sTNW2","icon":"PlayValueInput-module__icon___jZj7O","playValueInput":"PlayValueInput-module__playValueInput___7pJtn","playValueInputWithLabel":"PlayValueInput-module__playValueInputWithLabel___S55Cr","label":"PlayValueInput-module__label___1ZSAV","inputContainer":"PlayValueInput-module__inputContainer___RKr1l","isClassicGame":"PlayValueInput-module__isClassicGame___lQzVE"};
294
+ var styles$4 = {"base":"PlayValueInput-module__base___sTNW2","icon":"PlayValueInput-module__icon___jZj7O","playValueInput":"PlayValueInput-module__playValueInput___7pJtn","playValueInputWithLabel":"PlayValueInput-module__playValueInputWithLabel___S55Cr","label":"PlayValueInput-module__label___1ZSAV","inputContainer":"PlayValueInput-module__inputContainer___RKr1l","isClassicGame":"PlayValueInput-module__isClassicGame___lQzVE"};
265
295
 
266
296
  const PlayValueInput = ({ disabled, children, className, value, onClick, isClassicGame = false, }) => {
267
297
  const handleOnClick = () => {
@@ -270,44 +300,43 @@ const PlayValueInput = ({ disabled, children, className, value, onClick, isClass
270
300
  }
271
301
  onClick();
272
302
  };
273
- return (jsxs("div", { className: cx$1(styles$2.base, className, {
274
- [styles$2.disabled]: disabled,
275
- [styles$2.isClassicGame]: isClassicGame,
276
- }), children: [children && jsx("div", { className: cx$1(styles$2.icon), children: children }), jsxs("div", { className: cx$1(styles$2.inputContainer), onClick: (e) => {
303
+ return (jsxs("div", { className: cx$1(styles$4.base, className, {
304
+ [styles$4.disabled]: disabled,
305
+ [styles$4.isClassicGame]: isClassicGame,
306
+ }), children: [children && jsx("div", { className: cx$1(styles$4.icon), children: children }), jsxs("div", { className: cx$1(styles$4.inputContainer), onClick: (e) => {
277
307
  e.preventDefault();
278
308
  handleOnClick();
279
- }, children: [jsx("span", { className: styles$2.label, children: "Play amount" }), jsx("div", { className: cx$1(styles$2.playValueInput, {
280
- [styles$2.playValueInputWithLabel]: true,
309
+ }, children: [jsx("span", { className: styles$4.label, children: "Play amount" }), jsx("div", { className: cx$1(styles$4.playValueInput, {
310
+ [styles$4.playValueInputWithLabel]: true,
281
311
  }), children: value })] })] }));
282
312
  };
283
313
 
284
314
  const PlayAmountControl = ({ isDisabled, lockCurrency = false, }) => {
285
315
  const { config } = useManualPlayState();
286
- const { playAmount, adjustPlayAmount, playValues: { togglePlayAmountView }, } = usePlayController();
316
+ const { playAmount, adjustPlayAmount, playValues: { togglePlayAmountView }, freeRounds, } = usePlayController();
287
317
  const isClassicGame = Boolean(config?.isClassicGame || config?.classicGame?.forceLeftStyle);
288
318
  const handleTogglePlayAmount = () => {
289
319
  setToggleGameWidgetsVisibility();
290
320
  togglePlayAmountView();
291
321
  setToggleGameWidgetsExpansion();
292
322
  };
293
- return (jsxs(GroupRow, { isClassicGame: isClassicGame, children: [jsx(PlayValueInput, { className: styles_group.groupItem, value: `${format(playAmount, config.currencyOptions.current.decimals)} ${config.currencyOptions.current.abbr}`, disabled: isDisabled() || config.playOptions.disabledController || lockCurrency, onClick: handleTogglePlayAmount, isClassicGame: isClassicGame, children: jsx(SelectMenu, { disabled: isDisabled() || lockCurrency }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount({ direction: -1 }), theme: "ghost", disabled: isDisabled(), children: jsx("span", { className: styles_group.x2, children: "-" }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount({ direction: 1 }), theme: "ghost", disabled: isDisabled(), children: jsx("span", { className: cx$1(styles_group.x2, styles_group.last), children: "+" }) })] }));
294
- };
295
-
296
- var freeRoundsStyles = {"row":"FreeRoundsAffordance-module__row___KwByQ","playSlot":"FreeRoundsAffordance-module__playSlot___hCXTv","freeSlot":"FreeRoundsAffordance-module__freeSlot___-mQ8T","chip":"FreeRoundsAffordance-module__chip___OajJb"};
297
-
298
- // The "Use Free Rounds (N)" chip.
299
- // - available && !engaged renders the chip (engages via onUseFreeRounds).
300
- // It is laid out beside the Play Now button (35/65 row) by
301
- // ManualPlayController; this component only renders the chip itself.
302
- // - engaged renders nothing. There is intentionally NO "exit free rounds"
303
- // affordance: once engaged the player cannot leave free-round mode from the
304
- // controller. The engaged play button label is owned by ManualPlayController.
305
- // Purely renders + fires the callback; the game owns the engaged state.
306
- const FreeRoundsAffordance = ({ isAvailable, isEngaged, roundsRemaining, onUseFreeRounds, }) => {
307
- if (isEngaged || !isAvailable || !onUseFreeRounds) {
308
- return null;
309
- }
310
- return (jsxs("button", { type: "button", className: freeRoundsStyles.chip, onClick: onUseFreeRounds, children: ["USE FREE ROUNDS (", roundsRemaining, ")"] }));
323
+ // While free-round mode is engaged the input is locked to the GRANT's
324
+ // per-round value and coin (which can differ from the active currency).
325
+ const grantCoinLabel = resolveCoinLabel({
326
+ coinType: freeRounds.coinType,
327
+ currency: freeRounds.currency,
328
+ });
329
+ const amountCoinLabel = freeRounds.isEngaged && grantCoinLabel
330
+ ? grantCoinLabel
331
+ : config.currencyOptions.current.abbr;
332
+ const amountDecimals = freeRounds.isEngaged
333
+ ? resolveCoinDecimals({
334
+ coinType: freeRounds.coinType,
335
+ currency: freeRounds.currency,
336
+ fallback: config.currencyOptions.current.decimals,
337
+ })
338
+ : config.currencyOptions.current.decimals;
339
+ return (jsxs(GroupRow, { isClassicGame: isClassicGame, children: [jsx(PlayValueInput, { className: styles_group.groupItem, value: `${format(playAmount, amountDecimals)} ${amountCoinLabel}`, disabled: isDisabled() || config.playOptions.disabledController || lockCurrency, onClick: handleTogglePlayAmount, isClassicGame: isClassicGame, children: jsx(SelectMenu, { disabled: isDisabled() || lockCurrency }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount({ direction: -1 }), theme: "ghost", disabled: isDisabled() || lockCurrency, children: jsx("span", { className: styles_group.x2, children: "-" }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount({ direction: 1 }), theme: "ghost", disabled: isDisabled() || lockCurrency, children: jsx("span", { className: cx$1(styles_group.x2, styles_group.last), children: "+" }) })] }));
311
340
  };
312
341
 
313
342
  const ManualPlayController = () => {
@@ -349,31 +378,65 @@ const ManualPlayController = () => {
349
378
  override_playButtonBackgroundPressed,
350
379
  override_playNowTextColor,
351
380
  ]);
381
+ // While the free-rounds intro modal is open, Space belongs to the modal's
382
+ // PLAY NOW / PLAY LATER buttons. The window listeners below are
383
+ // capture-phase, so they fire before the modal can stopPropagation — bail
384
+ // so Space can't trigger an underlying paid play behind the modal.
385
+ const isIntroModalOpen = Boolean(config.freeRoundsOptions?.showIntroModal);
352
386
  const handleKeyPress = useCallback((event) => {
353
387
  if (event.code !== "Space") {
354
388
  return;
355
389
  }
390
+ if (isIntroModalOpen) {
391
+ return;
392
+ }
356
393
  const button = selectButton(roleButton);
357
394
  if (!button || isDisabled()) {
358
395
  return;
359
396
  }
397
+ // This is a global Space shortcut. If the user has keyboard focus on a
398
+ // different interactive control (the intro/summary modal buttons, etc.),
399
+ // let Space activate THAT control natively instead of hijacking it to
400
+ // click the play button.
401
+ const active = document.activeElement;
402
+ if (active &&
403
+ active !== button &&
404
+ typeof active.matches === "function" &&
405
+ active.matches("button, a, input, select, textarea")) {
406
+ return;
407
+ }
360
408
  event.preventDefault();
361
409
  event.stopPropagation();
362
410
  addPressedClass(roleButton, activeClassName);
363
411
  button.click();
364
- }, [roleButton, isDisabled, activeClassName]);
412
+ }, [roleButton, isDisabled, activeClassName, isIntroModalOpen]);
365
413
  const handleKeyUp = useCallback((event) => {
366
414
  if (event.code !== "Space") {
367
415
  return;
368
416
  }
417
+ // Mirror the keydown exemptions: don't preventDefault/stopPropagation the
418
+ // keyup when the free-rounds intro modal is open or another interactive
419
+ // control (the intro/summary modal buttons) is focused — Space activates
420
+ // buttons on keyup, so swallowing it here would block the focused
421
+ // control's native activation (onPlayNow / onPlayLater / onClose / etc.).
422
+ if (isIntroModalOpen) {
423
+ return;
424
+ }
369
425
  const button = selectButton(roleButton);
370
426
  if (!button) {
371
427
  return;
372
428
  }
429
+ const active = document.activeElement;
430
+ if (active &&
431
+ active !== button &&
432
+ typeof active.matches === "function" &&
433
+ active.matches("button, a, input, select, textarea")) {
434
+ return;
435
+ }
373
436
  event.preventDefault();
374
437
  event.stopPropagation();
375
438
  removePressedClass(roleButton, activeClassName);
376
- }, [roleButton, activeClassName]);
439
+ }, [roleButton, activeClassName, isIntroModalOpen]);
377
440
  useEffect(() => {
378
441
  window.addEventListener("keydown", handleKeyPress, true);
379
442
  window.addEventListener("keyup", handleKeyUp, true);
@@ -390,16 +453,12 @@ const ManualPlayController = () => {
390
453
  }, [togglePlayAmountView]);
391
454
  // Free rounds reuse the same button-text override mechanism as bonusBuy.
392
455
  // The free-round label only applies while free-round mode is ENGAGED, where
393
- // the play button becomes a full-width "PLAY FREE ROUND (N)" — denominator
394
- // removed in 1.3.4 to simplify ("7/10" "7").
456
+ // the play button becomes a full-width "PLAY FREE ROUND" — no count on the
457
+ // button; the remaining count lives only in the footer status line.
395
458
  const freeRoundsPlayText = freeRounds.isEngaged
396
- ? `PLAY FREE ROUND (${freeRounds.roundsRemaining})`
459
+ ? "PLAY FREE ROUND"
397
460
  : undefined;
398
461
  const playNowText = freeRoundsPlayText ?? override_playNowText ?? "PLAY NOW";
399
- // Grants exist but the player hasn't engaged → show the side-by-side row
400
- // (Play Now at 35%, "Use Free Rounds" chip at 65%) instead of a full-width
401
- // play button.
402
- const showFreeRoundsRow = !displayPlayAmountView && freeRounds.isAvailable && !freeRounds.isEngaged;
403
462
  const renderButton = useMemo(() => {
404
463
  if (displayPlayAmountView) {
405
464
  return (jsx(Button, { className: styles_button.buttonPlayAmount, onClick: handleTogglePlayAmount, roleType: roleButton, children: "SELECT PLAY AMOUNT" }));
@@ -417,7 +476,7 @@ const ManualPlayController = () => {
417
476
  playNowButtonStyle,
418
477
  roleButton,
419
478
  ]);
420
- return (jsxs(Fragment, { children: [!config.playOptions.hideMenu && (jsx(PlayAmountControl, { isDisabled: isDisabled || displayPlayAmountView, lockCurrency: freeRounds.isEngaged })), showFreeRoundsRow ? (jsxs("div", { className: freeRoundsStyles.row, children: [jsx("div", { className: freeRoundsStyles.playSlot, children: renderButton }), jsx("div", { className: freeRoundsStyles.freeSlot, children: jsx(FreeRoundsAffordance, { isAvailable: freeRounds.isAvailable, isEngaged: freeRounds.isEngaged, roundsRemaining: freeRounds.roundsRemaining, totalRounds: freeRounds.totalRounds, onUseFreeRounds: freeRounds.onUseFreeRounds }) })] })) : (renderButton)] }));
479
+ return (jsxs(Fragment, { children: [!config.playOptions.hideMenu && (jsx(PlayAmountControl, { isDisabled: isDisabled || displayPlayAmountView, lockCurrency: freeRounds.isEngaged })), renderButton] }));
421
480
  };
422
481
 
423
482
  var styles_ui = {"base":"UI-module__base___6q08N","container":"UI-module__container___S3Gpa","betForm":"UI-module__betForm___pu-7D","hideMenu":"UI-module__hideMenu___RCMex","isClassicGame":"UI-module__isClassicGame___C-dT4","baseForceLeft":"UI-module__baseForceLeft___2WEa0","containerSpread":"UI-module__containerSpread___Uc7N-","controllerWidgets":"UI-module__controllerWidgets___rFquu","auto":"UI-module__auto___SVz6b","disabled":"UI-module__disabled___E2zhE","sideWidget":"UI-module__sideWidget___mTaGO","centerWidget":"UI-module__centerWidget___zWhMN","left":"UI-module__left___VsEJc","center":"UI-module__center___hZwDn","right":"UI-module__right___JJ0-R"};
@@ -523,7 +582,7 @@ const WidgetContainer = ({ widgets, displayPlayAmountView, }) => {
523
582
  return (jsxs("div", { className: cx("controllerWidgets"), children: [renderZone(left, "left"), renderZone(center, "center"), renderZone(right, "right")] }));
524
583
  };
525
584
 
526
- var styles$1 = {"base":"PlayValueList-module__base___5duc6","playValuesWrapper":"PlayValueList-module__playValuesWrapper___-zfj2","playValue":"PlayValueList-module__playValue___TJQhI","isClassicGame":"PlayValueList-module__isClassicGame___AjnGE","selectedPlayValue":"PlayValueList-module__selectedPlayValue___3DhDC","disabledPlayValue":"PlayValueList-module__disabledPlayValue___U9Bkj"};
585
+ var styles$3 = {"base":"PlayValueList-module__base___5duc6","playValuesWrapper":"PlayValueList-module__playValuesWrapper___-zfj2","playValue":"PlayValueList-module__playValue___TJQhI","isClassicGame":"PlayValueList-module__isClassicGame___AjnGE","selectedPlayValue":"PlayValueList-module__selectedPlayValue___3DhDC","disabledPlayValue":"PlayValueList-module__disabledPlayValue___U9Bkj"};
527
586
 
528
587
  const PlayValueList = () => {
529
588
  const { config } = useManualPlayState();
@@ -561,57 +620,64 @@ const PlayValueList = () => {
561
620
  applyValue(value);
562
621
  }
563
622
  };
564
- return (jsx("div", { className: cx$1(styles$1.base, { [styles$1.isClassicGame]: isClassicGame }), children: jsx("div", { className: cx$1(styles$1.playValuesWrapper), onClick: handleClick, role: "listbox", "aria-label": "Select play amount", "data-testid": "play-value-list", children: playLimits?.[config.currencyOptions.current.code].defaultBetOptions.map((playValue) => (jsx("div", { className: cx$1(styles$1.playValue, {
565
- [styles$1.selectedPlayValue]: playValue === playAmount,
566
- [styles$1.disabledPlayValue]: playValue > totalBalance,
623
+ return (jsx("div", { className: cx$1(styles$3.base, { [styles$3.isClassicGame]: isClassicGame }), children: jsx("div", { className: cx$1(styles$3.playValuesWrapper), onClick: handleClick, role: "listbox", "aria-label": "Select play amount", "data-testid": "play-value-list", children: playLimits?.[config.currencyOptions.current.code].defaultBetOptions.map((playValue) => (jsx("div", { className: cx$1(styles$3.playValue, {
624
+ [styles$3.selectedPlayValue]: playValue === playAmount,
625
+ [styles$3.disabledPlayValue]: playValue > totalBalance,
567
626
  }), "data-value": playValue, role: "option", tabIndex: 0, "aria-selected": false, children: format(playValue, config.currencyOptions.current.decimals) }, `${config.currencyOptions.current.code}-${playValue}`))) }) }));
568
627
  };
569
628
 
570
- var styles = {"backdrop":"FreeRoundsIntroModal-module__backdrop___qIgNx","panel":"FreeRoundsIntroModal-module__panel___-zQpe","title":"FreeRoundsIntroModal-module__title___1csj0","details":"FreeRoundsIntroModal-module__details___qXMR-","count":"FreeRoundsIntroModal-module__count___lVep8","stake":"FreeRoundsIntroModal-module__stake___vCcPI","actions":"FreeRoundsIntroModal-module__actions___toCBq","button":"FreeRoundsIntroModal-module__button___bSTmX","playNow":"FreeRoundsIntroModal-module__playNow___iVhdt","playLater":"FreeRoundsIntroModal-module__playLater___l9031"};
629
+ var styles$2 = {"backdrop":"FreeRoundsIntroModal-module__backdrop___qIgNx","content":"FreeRoundsIntroModal-module__content___A3aRs","panel":"FreeRoundsIntroModal-module__panel___-zQpe","title":"FreeRoundsIntroModal-module__title___1csj0","titleLine":"FreeRoundsIntroModal-module__titleLine___rKdpd","accent":"FreeRoundsIntroModal-module__accent___m-2s6","details":"FreeRoundsIntroModal-module__details___qXMR-","actions":"FreeRoundsIntroModal-module__actions___toCBq","button":"FreeRoundsIntroModal-module__button___bSTmX","playNow":"FreeRoundsIntroModal-module__playNow___iVhdt","playLater":"FreeRoundsIntroModal-module__playLater___l9031","expiry":"FreeRoundsIntroModal-module__expiry___n-fve"};
571
630
 
572
- const COIN_TYPE_SWEEPS = 0;
573
- const COIN_TYPE_GOLD = 1;
574
- // B2C coin decimals (platform convention): Sweeps shows 2 dp, Gold 0 dp.
575
- const COIN_DECIMALS = {
576
- [COIN_TYPE_SWEEPS]: 2,
577
- [COIN_TYPE_GOLD]: 0,
578
- };
579
- const resolveCurrencyLabel = ({ coinType, currency, }) => {
580
- if (currency) {
581
- return currency;
631
+ const MS_PER_DAY = 86_400_000;
632
+ const computeExpiresInDays = (expiresAt) => {
633
+ if (expiresAt === undefined || expiresAt === null) {
634
+ return undefined;
582
635
  }
583
- if (coinType === COIN_TYPE_SWEEPS) {
584
- return "SC";
636
+ const timestamp = new Date(expiresAt).getTime();
637
+ if (Number.isNaN(timestamp)) {
638
+ return undefined;
585
639
  }
586
- if (coinType === COIN_TYPE_GOLD) {
587
- return "GC";
640
+ const diff = timestamp - Date.now();
641
+ // Already expired → the expiry line is hidden entirely (never "0 days").
642
+ if (diff <= 0) {
643
+ return undefined;
588
644
  }
589
- return "";
590
- };
591
- // The stake belongs to the GRANT's coin, which can differ from the player's
592
- // active currency (e.g. a Sweeps grant surfaced while the player is on Gold).
593
- // Use the grant coin's decimals so a 0.20 SC stake doesn't render as "0" under
594
- // Gold's 0-dp formatting. B2B grants (operator `currency`) fall back to the
595
- // operator currency decimals passed in via `decimals`.
596
- const resolveDecimals = ({ coinType, currency, fallback, }) => {
597
- if (!currency && coinType != null && coinType in COIN_DECIMALS) {
598
- return COIN_DECIMALS[coinType];
599
- }
600
- return fallback;
645
+ return Math.ceil(diff / MS_PER_DAY);
601
646
  };
602
- // Centered "Play Now / Play Later" intro modal. Renders + fires callbacks only;
603
- // the SDK does no fetching. `onPlayNow` should engage free-round mode + close,
604
- // `onPlayLater` should close and stay on paid play.
605
- const FreeRoundsIntroModal = ({ open, roundsRemaining, stakeCents, coinType, currency, decimals = 2, onPlayNow, onPlayLater, }) => {
647
+ // Centered "Play Now / Play Later" intro modal the ONLY free-rounds entry
648
+ // point. Renders + fires callbacks only; the SDK does no fetching. `onPlayNow`
649
+ // should engage free-round mode + close, `onPlayLater` should close and hide
650
+ // all free-rounds UI for the rest of the session.
651
+ const FreeRoundsIntroModal = ({ open, roundsRemaining, totalRounds, stakeCents, coinType, currency, decimals = 2, expiresAt, onPlayNow, onPlayLater, }) => {
606
652
  const handleClose = () => onPlayLater?.();
607
- const currencyLabel = resolveCurrencyLabel({ coinType, currency });
608
- const stakeDecimals = resolveDecimals({
653
+ const coinLabel = resolveCoinLabel({ coinType, currency });
654
+ const valueDecimals = resolveCoinDecimals({
609
655
  coinType,
610
656
  currency,
611
657
  fallback: decimals,
612
658
  });
613
- const stakeDisplay = format(stakeCents / 100, stakeDecimals);
614
- return (jsx(Dialog, { open: open, onClose: handleClose, className: styles.backdrop, children: jsxs(DialogPanel, { className: styles.panel, children: [jsx(DialogTitle, { className: styles.title, children: "You have free rounds!" }), jsx("div", { className: styles.count, children: roundsRemaining }), jsxs("div", { className: styles.details, children: [roundsRemaining === 1 ? "free round" : "free rounds", " ready to play"] }), jsxs("div", { className: styles.stake, children: [stakeDisplay, currencyLabel ? ` ${currencyLabel}` : "", " per round"] }), jsxs("div", { className: styles.actions, children: [jsx("button", { type: "button", className: `${styles.button} ${styles.playNow}`, onClick: onPlayNow, children: "PLAY NOW" }), jsx("button", { type: "button", className: `${styles.button} ${styles.playLater}`, onClick: onPlayLater, children: "PLAY LATER" })] })] }) }));
659
+ const valueDisplay = format(stakeCents / 100, valueDecimals);
660
+ const perRound = coinLabel
661
+ ? `${valueDisplay} ${coinLabel} per round`
662
+ : `${valueDisplay} per round`;
663
+ const expiresInDays = computeExpiresInDays(expiresAt);
664
+ return (jsx(Dialog, { open: open, onClose: handleClose, className: styles$2.backdrop, children: jsxs("div", { className: styles$2.content, children: [jsxs(DialogPanel, { className: styles$2.panel, children: [jsxs(DialogTitle, { className: styles$2.title, children: [jsxs("span", { className: styles$2.titleLine, children: ["YOU HAVE ", jsx("span", { className: styles$2.accent, children: roundsRemaining })] }), jsx("span", { className: styles$2.titleLine, children: roundsRemaining === 1
665
+ ? "FREE ROUND READY TO PLAY"
666
+ : "FREE ROUNDS READY TO PLAY" })] }), jsxs("div", { className: styles$2.details, children: ["(", perRound, ". ", roundsRemaining, "/", totalRounds, " rounds remaining.)"] }), jsxs("div", { className: styles$2.actions, children: [jsx("button", { type: "button", className: `${styles$2.button} ${styles$2.playNow}`, onClick: onPlayNow, children: "PLAY NOW" }), jsx("button", { type: "button", className: `${styles$2.button} ${styles$2.playLater}`, onClick: onPlayLater, children: "PLAY LATER" })] })] }), expiresInDays !== undefined && (jsxs("div", { className: styles$2.expiry, children: ["*Expires in ", expiresInDays, " ", expiresInDays === 1 ? "day" : "days"] }))] }) }));
667
+ };
668
+
669
+ var styles$1 = {"footer":"FreeRoundsFooter-module__footer___Lveik","count":"FreeRoundsFooter-module__count___hTxq-"};
670
+
671
+ // "{N} FREE ROUNDS LEFT" status line — the ONLY place the remaining count
672
+ // appears while free-round mode is engaged. Rendered between the action
673
+ // buttons and the balance/widgets line by ManualPlayProvider.
674
+ const FreeRoundsFooter = () => {
675
+ const { freeRounds } = usePlayController();
676
+ if (!freeRounds.isEngaged) {
677
+ return null;
678
+ }
679
+ const label = freeRounds.roundsRemaining === 1 ? "FREE ROUND LEFT" : "FREE ROUNDS LEFT";
680
+ return (jsxs("div", { className: styles$1.footer, children: [jsx("span", { className: styles$1.count, children: freeRounds.roundsRemaining }), "\u00A0", label] }));
615
681
  };
616
682
 
617
683
  const ManualPlayProvider = ({ children, config, }) => {
@@ -636,7 +702,7 @@ const ManualPlayProvider = ({ children, config, }) => {
636
702
  const freeRoundsOptions = config.freeRoundsOptions;
637
703
  return (jsxs(ManualPlayStateContext.Provider, { value: contextValue, children: [typeof children === "function" ? children(contextValue) : children, freeRoundsOptions?.showIntroModal && (jsx("div", { style: {
638
704
  "--play-panel-bg": hexToRgb(config.panel.bgColorHex ?? "#01243A"),
639
- }, children: jsx(FreeRoundsIntroModal, { open: freeRoundsOptions.showIntroModal, roundsRemaining: freeRoundsOptions.roundsRemaining, totalRounds: freeRoundsOptions.totalRounds, stakeCents: freeRoundsOptions.stakeCents, coinType: freeRoundsOptions.coinType, currency: freeRoundsOptions.currency, decimals: config.currencyOptions.current.decimals, onPlayNow: freeRoundsOptions.onPlayNow, onPlayLater: freeRoundsOptions.onPlayLater }) })), config.playOptions.displayController && (jsx("div", { className: cx$1(styles_ui.base, styles_ui.betForm, {
705
+ }, children: jsx(FreeRoundsIntroModal, { open: freeRoundsOptions.showIntroModal, roundsRemaining: freeRoundsOptions.roundsRemaining, totalRounds: freeRoundsOptions.totalRounds, stakeCents: freeRoundsOptions.stakeCents, coinType: freeRoundsOptions.coinType, currency: freeRoundsOptions.currency, decimals: config.currencyOptions.current.decimals, expiresAt: freeRoundsOptions.expiresAt, onPlayNow: freeRoundsOptions.onPlayNow, onPlayLater: freeRoundsOptions.onPlayLater }) })), config.playOptions.displayController && (jsx("div", { className: cx$1(styles_ui.base, styles_ui.betForm, {
640
706
  [styles_ui.hideMenu]: config.playOptions.hideMenu,
641
707
  // Raw isClassicGame: forceLeftStyle uses .baseForceLeft on its own.
642
708
  [styles_ui.isClassicGame]: config.isClassicGame,
@@ -648,12 +714,32 @@ const ManualPlayProvider = ({ children, config, }) => {
648
714
  "--play-panel-bg-opacity": config.panel.bgColorOpacity ?? 0.5,
649
715
  }, children: jsxs("div", { className: cx$1(styles_ui.container, {
650
716
  [styles_ui.containerSpread]: isClassicGame,
651
- }), children: [jsx(PlayValueList, {}), jsx(ManualPlayController, {}), jsx(WidgetContainer, { widgets: {
717
+ }), children: [jsx(PlayValueList, {}), jsx(ManualPlayController, {}), jsx(FreeRoundsFooter, {}), jsx(WidgetContainer, { widgets: {
652
718
  left: config.leftWidgets,
653
719
  center: config.centerWidgets,
654
720
  right: config.rightWidgets,
655
721
  }, displayPlayAmountView: displayPlayAmountView })] }) }))] }));
656
722
  };
657
723
 
658
- export { FreeRoundsIntroModal, GAME_MODE, ManualPlayProvider, WIDGET, format };
724
+ var styles = {"backdrop":"FreeRoundsSummaryModal-module__backdrop___tNi3I","panel":"FreeRoundsSummaryModal-module__panel___2MIEp","title":"FreeRoundsSummaryModal-module__title___lxbPh","accent":"FreeRoundsSummaryModal-module__accent___z9aBF","hint":"FreeRoundsSummaryModal-module__hint___CYWqA","closeButton":"FreeRoundsSummaryModal-module__closeButton___aRosq"};
725
+
726
+ // SC/SWEEPS = 2 dp, GC/GOLD = 0 dp, B2B currency string = 2 dp.
727
+ const resolveSummaryDecimals = (coin) => {
728
+ const normalized = coin.toUpperCase();
729
+ if (normalized === "GC" || normalized === "GOLD") {
730
+ return 0;
731
+ }
732
+ return 2;
733
+ };
734
+ // END pop-up shown by the game after the last free round settles:
735
+ // "YOU WON {X} {coin} IN {N} FREE ROUNDS" + bonus-balance hint + CLOSE.
736
+ // Mount it conditionally — it renders open and fires `onClose` to dismiss.
737
+ const FreeRoundsSummaryModal = ({ totalWinAmount, coin, roundsPlayed, decimals, onClose, }) => {
738
+ // Shared monetary formatter — truncates (never rounds up) so the summary
739
+ // can't display more winnings than were actually credited.
740
+ const winDisplay = format(totalWinAmount, decimals ?? resolveSummaryDecimals(coin));
741
+ return (jsx(Dialog, { open: true, onClose: onClose, className: styles.backdrop, children: jsxs(DialogPanel, { className: styles.panel, children: [jsxs(DialogTitle, { className: styles.title, children: ["YOU WON", " ", jsxs("span", { className: styles.accent, children: [winDisplay, " ", coin] }), " ", "IN ", roundsPlayed, " ", roundsPlayed === 1 ? "FREE ROUND" : "FREE ROUNDS"] }), jsx("div", { className: styles.hint, children: "Winnings have been credited to your bonus balance." }), jsx("button", { type: "button", className: styles.closeButton, onClick: onClose, children: "CLOSE" })] }) }));
742
+ };
743
+
744
+ export { FreeRoundsIntroModal, FreeRoundsSummaryModal, GAME_MODE, ManualPlayProvider, WIDGET, format };
659
745
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/components/utils.ts","../src/types/gameMode.ts","../src/types/widgets.ts","../src/components/ManualPlayStateProvider/ManualPlayStateContext.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/FreeRoundsAffordance/FreeRoundsAffordance.tsx","../src/components/base/ManualPlayController/ManualPlayController.tsx","../node_modules/classnames/bind.js","../src/components/Widgets/WidgetContainer.tsx","../src/components/base/PlayValueList/PlayValueList.tsx","../src/components/base/FreeRoundsIntroModal/FreeRoundsIntroModal.tsx","../src/components/ManualPlayStateProvider/ManualPlayProvider.tsx"],"sourcesContent":[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,null],"names":["_jsx","cx","styles","_jsxs","PlayValue"],"mappings":"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","x_google_ignoreList":[16]}
1
+ {"version":3,"file":"index.mjs","sources":["../src/components/utils.ts","../src/types/gameMode.ts","../src/types/widgets.ts","../src/components/ManualPlayStateProvider/ManualPlayStateContext.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/ManualPlayController/ManualPlayController.tsx","../node_modules/classnames/bind.js","../src/components/Widgets/WidgetContainer.tsx","../src/components/base/PlayValueList/PlayValueList.tsx","../src/components/base/FreeRoundsIntroModal/FreeRoundsIntroModal.tsx","../src/components/base/FreeRoundsFooter/FreeRoundsFooter.tsx","../src/components/ManualPlayStateProvider/ManualPlayProvider.tsx","../src/components/base/FreeRoundsSummaryModal/FreeRoundsSummaryModal.tsx"],"sourcesContent":[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,null,null,null],"names":["_jsx","cx","styles","_jsxs","PlayValue","_Fragment"],"mappings":"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","x_google_ignoreList":[15]}