fansunited-frontend-components 0.0.87 → 0.0.89

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 (131) hide show
  1. package/Betslip.js +1 -1
  2. package/ChanceGame.js +11 -11
  3. package/ClassicQuizPlay.js +1 -1
  4. package/CollectLead.js +7 -7
  5. package/CompetitionStatistics.js +687 -913
  6. package/CompetitorCard.js +1210 -1488
  7. package/Discussion.js +1 -1
  8. package/EitherOrPlay.js +1 -1
  9. package/EventCard.js +2150 -2139
  10. package/EventGamePlay.js +1 -1
  11. package/Leaderboard.js +14 -14
  12. package/List.js +167 -165
  13. package/MatchQuizPlay.js +1 -1
  14. package/Odds.d.ts +5 -0
  15. package/Odds.d.ts.map +1 -0
  16. package/Odds.js +57 -0
  17. package/PersonalityQuizPlay.js +1 -1
  18. package/PickThePair.js +12 -12
  19. package/PlayerOfTheMatch.js +22 -22
  20. package/PollVote.js +1 -1
  21. package/Predictor.js +1 -1
  22. package/README.md +94 -30
  23. package/Standings.js +12 -12
  24. package/TopX.js +4716 -5118
  25. package/chunks/{AccessTime-DnYmc2y3.js → AccessTime-C0zbWECY.js} +1 -1
  26. package/chunks/{AlertMessage-DaxNsecq.js → AlertMessage-CieUTNsw.js} +6 -6
  27. package/chunks/{Avatar-CmxmG17Y.js → Avatar-5aOX2Vb1.js} +3 -3
  28. package/chunks/{Button-ClWJ5CUf.js → Button-3riWYmL7.js} +10 -9
  29. package/chunks/{Card-BAIFE-g5.js → Card-ByCnCChk.js} +3 -3
  30. package/chunks/{CardActions-UK4_wiGW.js → CardActions-b3pAJZRO.js} +6 -6
  31. package/chunks/{CardContent-BKLKsqNJ.js → CardContent-CnyZ1WVy.js} +2 -2
  32. package/chunks/{ChanceGameEmbedVariant-BkX-XQ-f.js → ChanceGameEmbedVariant-cWHucFuB.js} +10 -10
  33. package/chunks/{CheckCircle-DPspFBOU.js → CheckCircle-WUucf55H.js} +1 -1
  34. package/chunks/{Chip-06eY-2lp.js → Chip-BILKBLRO.js} +4 -4
  35. package/chunks/CircularProgress-Dfx_fE8L.js +317 -0
  36. package/chunks/{Close-DFwlCPON.js → Close-C-YXDM7Y.js} +1 -1
  37. package/chunks/{Close-C04vOO5T.js → Close-D1Qu6Zr7.js} +1 -1
  38. package/chunks/{CollectLeadForm-CNl5gQZc.js → CollectLeadForm-BfrhOCqn.js} +21 -21
  39. package/chunks/{ConsentsList-CccpD61h.js → ConsentsList-DkWpnlLW.js} +6 -6
  40. package/chunks/{DirectionScope-8YC2_4GO.js → DirectionScope-eDYFWvxN.js} +1 -1
  41. package/chunks/{Divider-DWIh5AWp.js → Divider-pZCe2d20.js} +3 -3
  42. package/chunks/{Edit-CMe6gWEl.js → Edit-NHQMon6F.js} +4 -4
  43. package/chunks/{EmojiEvents-CRgQHdIP.js → EmojiEvents-DXh-xemn.js} +1 -1
  44. package/chunks/{FavoriteBorder-4LopuXjl.js → FavoriteBorder-CQrHuIk5.js} +1 -1
  45. package/chunks/{FormControl-DVXYjXgr.js → FormControl-DttxxDyJ.js} +4 -4
  46. package/chunks/{FormLabel-D5Fg4BoV.js → FormLabel-D3_mG4D1.js} +3 -3
  47. package/chunks/{GlobalStyles-Cu-OUtHY.js → GlobalStyles-CafmeGDq.js} +1 -1
  48. package/chunks/{InlineSpinner-BqP-sRnL.js → InlineSpinner-DkC1XUc7.js} +2 -2
  49. package/chunks/{Input-BOvLXH0a.js → Input-ksZwfsfA.js} +4 -4
  50. package/chunks/{KeyboardArrowDown-BQz06NpG.js → KeyboardArrowDown-Ctf2n_n8.js} +1 -1
  51. package/chunks/{KeyboardArrowRight-CMArGhjp.js → KeyboardArrowRight-CfETLrEt.js} +1 -1
  52. package/chunks/{Link-C73EMUDp.js → Link-CjxMesIg.js} +3 -3
  53. package/chunks/{ListItemButton-6Dx_qKG9.js → ListItemButton-O4Zqw3zP.js} +4 -4
  54. package/chunks/{ModalClose-DCM0NGvd.js → ModalClose-Btz9Kn0q.js} +6 -6
  55. package/chunks/{ModalDialog-CaSBYjVn.js → ModalDialog-BF_s4rug.js} +6 -6
  56. package/chunks/{NotFoundSkeleton-D34gqMWJ.js → NotFoundSkeleton-D2Yx2gZV.js} +2 -2
  57. package/chunks/{Notification-Q_rv7f9m.js → Notification-rNcLeEkz.js} +7 -7
  58. package/chunks/{WorkspacePremiumOutlined-OHYXXF58.js → OddsSkeleton-C6M4oCTF.js} +96 -74
  59. package/chunks/OddsStrip-XQfQiBhM.js +385 -0
  60. package/chunks/{OverlayScoreStateSkeleton-k9CYtDkE.js → OverlayScoreStateSkeleton-w9-f7MPj.js} +4 -4
  61. package/chunks/{OverlayScoreStateWrapperSkeleton-B8wadyuJ.js → OverlayScoreStateWrapperSkeleton-B9O-4AU_.js} +1 -1
  62. package/chunks/{OverlaySignInSkeleton-D_idxb5n.js → OverlaySignInSkeleton-Clq-LJjf.js} +4 -4
  63. package/chunks/{OverlaySkeleton-m-qkzhXB.js → OverlaySkeleton-yDtGLLaG.js} +9 -9
  64. package/chunks/{Person-utLXm1J4.js → Person-DWyYenEx.js} +1 -1
  65. package/chunks/{PersonOutline-lhMwfisr.js → PersonOutline-DJJGMjkg.js} +1 -1
  66. package/chunks/{PickOneOfX-DRiLtqqV.js → PickOneOfX-BZ-IEEEH.js} +3 -3
  67. package/chunks/{Popper-Bdn0wHi9.js → Popper-Wp7BQGU_.js} +3 -3
  68. package/chunks/{Portal-BdRuZNR8.js → Portal-Beqgjlza.js} +13 -13
  69. package/chunks/{Portal-BEroYNyJ.js → Portal-Dw20M2LG.js} +2 -2
  70. package/chunks/{Predictor-Bn2zkvlD.js → Predictor-BbQ-o3tU.js} +6178 -6613
  71. package/chunks/{PrizeCard-nRBh9VU_.js → PrizeCard-Cb1YuuYM.js} +3645 -1724
  72. package/chunks/{Search-B-Xqc3De.js → Search-BOtjWnG5.js} +1 -1
  73. package/chunks/{Select-CmHfLRTg.js → Select-DXJCZ6D3.js} +7 -7
  74. package/chunks/{Sheet-Q5izbz85.js → Sheet-MP2rgW4b.js} +3 -3
  75. package/chunks/{SignInCta-FBCz227A.js → SignInCta-DWtXHD9B.js} +3 -3
  76. package/chunks/{Spinner-wUVcNUtR.js → Spinner-pC2OM4AI.js} +2 -2
  77. package/chunks/{SportsSoccer-Dq3Azbu-.js → SportsSoccer-C3JxFjui.js} +1 -1
  78. package/chunks/{Stack-CY7bQJ7u.js → Stack-CU4pq5Q5.js} +2 -2
  79. package/chunks/{StandardContentSkeleton-Bm_8xH6p.js → StandardContentSkeleton-Qg1eXOB-.js} +1 -1
  80. package/chunks/{Table-Cew1z7pw.js → Table-hk72eRqw.js} +2 -2
  81. package/chunks/{Tabs-DuqeCPIW.js → Tabs-DiWLN-D7.js} +5 -5
  82. package/chunks/{Textarea-Dwn6AF-Z.js → Textarea-BhxhPabe.js} +3 -3
  83. package/chunks/{TimerOutlined-HGpj-FEQ.js → TimerOutlined-CRwZ7isE.js} +1 -1
  84. package/chunks/{Tooltip-Boqkti8t.js → Tooltip-D3L0qTul.js} +5 -5
  85. package/chunks/Typography-nBRgZwsp.js +775 -0
  86. package/chunks/{colorInversionUtils-BPGyYARg.js → colorInversionUtils-BhmtNPM2.js} +1 -1
  87. package/chunks/{createSvgIcon-DaCJY2eU.js → createSvgIcon-C8SzTn0h.js} +1 -1
  88. package/chunks/{createSvgIcon-mpOIuxRM.js → createSvgIcon-y3WkUldr.js} +2 -2
  89. package/chunks/{dividerClasses-D8aWZR-L.js → dividerClasses-B-2pg9aw.js} +1 -1
  90. package/chunks/{elementAcceptingRef-DhvOV1kD.js → elementAcceptingRef-Bdcp531Z.js} +1 -1
  91. package/chunks/{formLabelClasses-DrWVkeKS.js → formLabelClasses-CECx8x_t.js} +1 -1
  92. package/chunks/{helpers-CqPvv3gw.js → helpers-BX3cctTx.js} +33 -24
  93. package/chunks/index-2ImPs9d7.js +4 -0
  94. package/chunks/index-CitKdUxn.js +4 -0
  95. package/chunks/index-CyKc-9u8.js +4 -0
  96. package/chunks/index-D7bJ5A4g.js +4 -0
  97. package/chunks/{index-iWn7Rdh9.js → index-DP3Xa63T.js} +1 -1
  98. package/chunks/index-DWXxfmN5.js +4 -0
  99. package/chunks/index-DcTq5zsy.js +4 -0
  100. package/chunks/index-Ddsiaelf.js +4 -0
  101. package/chunks/{index-D-yn2UCo.js → index-qjOOEhVr.js} +95 -98
  102. package/chunks/{main-Dn5EUDh-.js → main-B7xsd2jd.js} +35 -35
  103. package/chunks/{main-BRCfR5lM.js → main-BG-hwFMf.js} +19 -19
  104. package/chunks/{main-BOQ_5kqd.js → main-Cj_sNGwd.js} +31 -31
  105. package/chunks/{main-DoPO3SkP.js → main-CqifYDEd.js} +381 -384
  106. package/chunks/{main-DgcqQ3D5.js → main-DKeA0imc.js} +23 -23
  107. package/chunks/{main-C6bG2zD0.js → main-DVStQO7c.js} +29 -29
  108. package/chunks/{main-DyQtrmbq.js → main-DZzxaZiR.js} +36 -36
  109. package/chunks/{main-CB6OELiE.js → main-Dh0w2gH9.js} +991 -930
  110. package/chunks/sportsEvents-CGX-WkNB.js +27 -0
  111. package/chunks/{useButton-4zMfywSn.js → useButton-CbtwvfQQ.js} +3 -3
  112. package/chunks/{useConsents-C9bnFES_.js → useConsents-DdPK793X.js} +12 -12
  113. package/chunks/{useEventCallback-D-URXDH4.js → useEventCallback-KK900PzE.js} +1 -1
  114. package/chunks/{useForwardedInput-Bm2kgM0U.js → useForwardedInput-Emz99PzK.js} +2 -2
  115. package/chunks/{useImageVariant-Bwh3HQQD.js → useImageVariant-DPC_XqjI.js} +1 -1
  116. package/chunks/{useParticipationDraft-ZkV4H6kC.js → useParticipationDraft-DEWbYjqA.js} +6 -6
  117. package/chunks/{useSwitch-CIN7Th7t.js → useSwitch-ZW00ibaC.js} +3 -3
  118. package/components.d.ts +2 -1
  119. package/components.d.ts.map +1 -1
  120. package/index.d.ts +1 -0
  121. package/index.d.ts.map +1 -1
  122. package/index.js +16 -14
  123. package/package.json +6 -2
  124. package/chunks/Typography-DaXtC0md.js +0 -1086
  125. package/chunks/index-BI_1_9JX.js +0 -4
  126. package/chunks/index-CBD3UTgX.js +0 -4
  127. package/chunks/index-CDxdDU5W.js +0 -4
  128. package/chunks/index-CR9X9c_3.js +0 -4
  129. package/chunks/index-DLWjbTmD.js +0 -4
  130. package/chunks/index-DVzuyb5J.js +0 -4
  131. package/chunks/index-kvAqk2tW.js +0 -4
package/MatchQuizPlay.js CHANGED
@@ -1,4 +1,4 @@
1
- import { M as a } from "./chunks/main-Dn5EUDh-.js";
1
+ import { M as a } from "./chunks/main-B7xsd2jd.js";
2
2
  const t = a;
3
3
  export {
4
4
  t as MatchQuizPlay
package/Odds.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { OddsProps } from "fansunited-frontend-core";
3
+
4
+ export declare const Odds: React.FC<OddsProps>;
5
+ //# sourceMappingURL=Odds.d.ts.map
package/Odds.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Odds.d.ts","sourceRoot":"","sources":["../../src/Odds.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAiB,CAAC"}
package/Odds.js ADDED
@@ -0,0 +1,57 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import c from "react";
3
+ import "./chunks/PrizeCard-Cb1YuuYM.js";
4
+ import "react-dom";
5
+ import { P as A } from "./chunks/Portal-Beqgjlza.js";
6
+ import { f as B } from "./chunks/sportsEvents-CGX-WkNB.js";
7
+ import { u as E, O as F } from "./chunks/OddsStrip-XQfQiBhM.js";
8
+ const M = ({
9
+ eventId: t,
10
+ sdk: n,
11
+ market: r = "FT_1X2",
12
+ size: p = "default",
13
+ mode: a,
14
+ flashInterval: O,
15
+ pollingInterval: g,
16
+ operators: S,
17
+ affiliateId: h,
18
+ affiliateIds: _,
19
+ labels: v,
20
+ callbacks: s
21
+ }) => {
22
+ const d = r === "FT_1X2", [o, T] = c.useState(null);
23
+ c.useEffect(() => {
24
+ if (!d) return;
25
+ const l = new AbortController(), f = (e) => {
26
+ l.signal.aborted || T({ eventId: t, value: e });
27
+ };
28
+ return B(n, t, l.signal).then((e) => {
29
+ var m;
30
+ return f(((m = e == null ? void 0 : e.event) == null ? void 0 : m.sport) ?? null);
31
+ }).catch(() => f(null)), () => l.abort();
32
+ }, [n, t, d]);
33
+ const x = !d || (o == null ? void 0 : o.eventId) === t, { odds: y } = E(n, [t], {
34
+ enabled: !!t && x,
35
+ markets: [r],
36
+ sport: o == null ? void 0 : o.value,
37
+ pollingIntervalMs: g,
38
+ operators: S,
39
+ affiliateId: h,
40
+ affiliateIds: _
41
+ }), u = y.get(t);
42
+ return u ? /* @__PURE__ */ i(
43
+ F,
44
+ {
45
+ odds: u,
46
+ market: r,
47
+ size: p,
48
+ mode: a,
49
+ flashInterval: O,
50
+ labels: v,
51
+ onSelect: s == null ? void 0 : s.onAddToBetslip
52
+ }
53
+ ) : null;
54
+ }, P = (t) => /* @__PURE__ */ i(A, { packageName: "odds", entityId: t.eventId, ...t, children: /* @__PURE__ */ i(M, { ...t }) }), q = P;
55
+ export {
56
+ q as Odds
57
+ };
@@ -1,4 +1,4 @@
1
- import { M as o } from "./chunks/main-DgcqQ3D5.js";
1
+ import { M as o } from "./chunks/main-DKeA0imc.js";
2
2
  const i = o;
3
3
  export {
4
4
  i as PersonalityQuizPlay
package/PickThePair.js CHANGED
@@ -1,19 +1,19 @@
1
1
  import { jsx as t, jsxs as w, Fragment as K } from "react/jsx-runtime";
2
- import { g as Ie, h as se, e as We, l as De } from "./chunks/helpers-CqPvv3gw.js";
2
+ import { g as Ie, h as se, e as We, l as De } from "./chunks/helpers-BX3cctTx.js";
3
3
  import J, { useMemo as me, useCallback as Le, useEffect as de, useState as G } from "react";
4
- import { a as ne, i as Z, k as ze, f as ee, g as X, h as ge, B as x, u as re, l as Be, c as ue, d as te, m as ke, n as Ue, o as Ae, p as $e, q as _e, r as He, C as Ee, s as Oe, E as Me, t as je, w as Ne } from "./chunks/PrizeCard-nRBh9VU_.js";
4
+ import { a as ne, i as Z, k as ze, f as ee, g as X, h as ge, B as x, u as re, l as Be, c as ue, d as te, m as ke, n as Ue, o as Ae, p as $e, q as _e, r as He, C as Ee, s as Oe, E as Me, t as je, w as Ne } from "./chunks/PrizeCard-Cb1YuuYM.js";
5
5
  import { P as le, W as fe } from "./chunks/enums-B1lTCQvC.js";
6
- import { S as Ve } from "./chunks/Spinner-wUVcNUtR.js";
6
+ import { S as Ve } from "./chunks/Spinner-pC2OM4AI.js";
7
7
  import { createPortal as Ye } from "react-dom";
8
8
  import { u as qe } from "./chunks/useInfoPage-BHdgKdme.js";
9
- import { N as Xe } from "./chunks/NotFoundSkeleton-D34gqMWJ.js";
10
- import { S as Ge, O as Ke } from "./chunks/OverlaySkeleton-m-qkzhXB.js";
11
- import { C as Qe } from "./chunks/CollectLeadForm-CNl5gQZc.js";
12
- import { u as he } from "./chunks/useImageVariant-Bwh3HQQD.js";
13
- import { T as p } from "./chunks/Typography-DaXtC0md.js";
14
- import { T as Je } from "./chunks/TimerOutlined-HGpj-FEQ.js";
15
- import { B as pe } from "./chunks/Button-ClWJ5CUf.js";
16
- import { d as Ze, a as et } from "./chunks/index-iWn7Rdh9.js";
9
+ import { N as Xe } from "./chunks/NotFoundSkeleton-D2Yx2gZV.js";
10
+ import { S as Ge, O as Ke } from "./chunks/OverlaySkeleton-yDtGLLaG.js";
11
+ import { C as Qe } from "./chunks/CollectLeadForm-BfrhOCqn.js";
12
+ import { u as he } from "./chunks/useImageVariant-DPC_XqjI.js";
13
+ import { T as p } from "./chunks/Typography-nBRgZwsp.js";
14
+ import { T as Je } from "./chunks/TimerOutlined-CRwZ7isE.js";
15
+ import { B as pe } from "./chunks/Button-3riWYmL7.js";
16
+ import { d as Ze, a as et } from "./chunks/index-DP3Xa63T.js";
17
17
  const xe = ({
18
18
  sdk: e,
19
19
  contentId: n,
@@ -2075,7 +2075,7 @@ const ve = ({
2075
2075
  const y = e.themeOptions, m = {
2076
2076
  ...y,
2077
2077
  mode: e.template === le.OVERLAY ? "dark" : y == null ? void 0 : y.mode
2078
- }, f = /* @__PURE__ */ t(x, { ref: s }), h = n && s.current && d.current && a ? Ye(
2078
+ }, f = /* @__PURE__ */ t(x, { ref: s, lang: e.language || "en" }), h = n && s.current && d.current && a ? Ye(
2079
2079
  // Keyed on the cache, not on `direction`: it must change in the same
2080
2080
  // render that adopts the new cache, or CssVarsProvider writes its CSS
2081
2081
  // variables into the outgoing cache and never repeats.
@@ -1,29 +1,29 @@
1
1
  import { jsx as o, jsxs as b, Fragment as de } from "react/jsx-runtime";
2
2
  import { useRef as we, useEffect as O, useState as I, useMemo as re } from "react";
3
- import { B as p, g as Ke, u as Xe, f as Ve, d as Ue, h as qe, a as H } from "./chunks/PrizeCard-nRBh9VU_.js";
3
+ import { B as p, g as Ke, u as Xe, f as Ve, d as Ue, h as qe, a as H } from "./chunks/PrizeCard-Cb1YuuYM.js";
4
4
  import "react-dom";
5
- import { P as _e } from "./chunks/Portal-BdRuZNR8.js";
6
- import { h as U, c as me } from "./chunks/helpers-CqPvv3gw.js";
7
- import { S as $e } from "./chunks/Spinner-wUVcNUtR.js";
8
- import { L as et } from "./chunks/Link-C73EMUDp.js";
9
- import { N as tt } from "./chunks/Notification-Q_rv7f9m.js";
10
- import { D as Je } from "./chunks/DirectionScope-8YC2_4GO.js";
11
- import { I as be, B as _ } from "./chunks/Button-ClWJ5CUf.js";
12
- import { C as ot, a as nt, S as rt } from "./chunks/Search-B-Xqc3De.js";
13
- import { T as f } from "./chunks/Typography-DaXtC0md.js";
14
- import { C as Ee } from "./chunks/Card-BAIFE-g5.js";
15
- import { C as it } from "./chunks/CardContent-BKLKsqNJ.js";
16
- import { A as N } from "./chunks/Avatar-CmxmG17Y.js";
17
- import { C as st } from "./chunks/CardActions-UK4_wiGW.js";
5
+ import { P as _e } from "./chunks/Portal-Beqgjlza.js";
6
+ import { h as U, c as me } from "./chunks/helpers-BX3cctTx.js";
7
+ import { S as $e } from "./chunks/Spinner-pC2OM4AI.js";
8
+ import { L as et } from "./chunks/Link-CjxMesIg.js";
9
+ import { N as tt } from "./chunks/Notification-rNcLeEkz.js";
10
+ import { D as Je } from "./chunks/DirectionScope-eDYFWvxN.js";
11
+ import { I as be, B as _ } from "./chunks/Button-3riWYmL7.js";
12
+ import { C as ot, a as nt, S as rt } from "./chunks/Search-BOtjWnG5.js";
13
+ import { T as f } from "./chunks/Typography-nBRgZwsp.js";
14
+ import { C as Ee } from "./chunks/Card-ByCnCChk.js";
15
+ import { C as it } from "./chunks/CardContent-CnyZ1WVy.js";
16
+ import { A as N } from "./chunks/Avatar-5aOX2Vb1.js";
17
+ import { C as st } from "./chunks/CardActions-b3pAJZRO.js";
18
18
  import { X as at } from "./chunks/x-CK4GYo7T.js";
19
- import { c as Se } from "./chunks/createSvgIcon-DaCJY2eU.js";
20
- import { C as ct } from "./chunks/Close-C04vOO5T.js";
21
- import { I as At } from "./chunks/Input-BOvLXH0a.js";
22
- import { C as fe } from "./chunks/Chip-06eY-2lp.js";
23
- import { S as K } from "./chunks/Stack-CY7bQJ7u.js";
24
- import { A as Me } from "./chunks/AccessTime-DnYmc2y3.js";
25
- import { C as lt } from "./chunks/CheckCircle-DPspFBOU.js";
26
- import { S as gt } from "./chunks/Sheet-Q5izbz85.js";
19
+ import { c as Se } from "./chunks/createSvgIcon-C8SzTn0h.js";
20
+ import { C as ct } from "./chunks/Close-D1Qu6Zr7.js";
21
+ import { I as At } from "./chunks/Input-ksZwfsfA.js";
22
+ import { C as fe } from "./chunks/Chip-BILKBLRO.js";
23
+ import { S as K } from "./chunks/Stack-CU4pq5Q5.js";
24
+ import { A as Me } from "./chunks/AccessTime-C0zbWECY.js";
25
+ import { C as lt } from "./chunks/CheckCircle-WUucf55H.js";
26
+ import { S as gt } from "./chunks/Sheet-MP2rgW4b.js";
27
27
  const Ye = Se(/* @__PURE__ */ o("path", {
28
28
  d: "M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"
29
29
  }), "FilterAlt"), mt = Se(/* @__PURE__ */ o("path", {
package/PollVote.js CHANGED
@@ -1,4 +1,4 @@
1
- import { M as o } from "./chunks/main-CB6OELiE.js";
1
+ import { M as o } from "./chunks/main-Dh0w2gH9.js";
2
2
  const r = o;
3
3
  export {
4
4
  r as PollVote
package/Predictor.js CHANGED
@@ -1,4 +1,4 @@
1
- import { P as e } from "./chunks/Predictor-Bn2zkvlD.js";
1
+ import { P as e } from "./chunks/Predictor-BbQ-o3tU.js";
2
2
  export {
3
3
  e as Predictor
4
4
  };
package/README.md CHANGED
@@ -34,7 +34,7 @@ const App: React.FC = () => {
34
34
  entityId: "your-quiz-id",
35
35
  sdk,
36
36
  template: ClassicQuizTemplate.STANDARD, // Also SPLIT, OVERLAY and DECK are available
37
- language: "en", // "ar" | "bg" | "en" | "ro" | "pt" | "sr" | "fr" | "de" | "it" | "fr-be" | "pl" | "pt-br" | "sk
37
+ language: "en", // "ar" | "bg" | "en" | "ro" | "pt" | "sr" | "fr" | "de" | "it" | "fr-be" | "pl" | "pt-br" | "sk" | "es" | "el" | "tr"
38
38
  };
39
39
 
40
40
  return (
@@ -1134,6 +1134,7 @@ Interactive poll voting component with real-time results, multiple choice suppor
1134
1134
  | `additionalCTA` | `AdditionalCTADetails` | Additional call to action button configuration |
1135
1135
  | `rulesDisplay` | `RulesDisplay` | Poll rules display configuration |
1136
1136
  | `callbacks` | `PollVoteCallbacks` | `onFinish` — see [Callbacks](#callbacks-shared-across-play-components) |
1137
+ | `aggregateTranslatedVotes` | `boolean` | Results show votes summed across every translation of the poll (related polls linked via `translatedTo`/`translatedFrom`); options are matched by position. Default `false` |
1137
1138
 
1138
1139
  #### Templates
1139
1140
 
@@ -3728,7 +3729,7 @@ Football score predictor component with two templates: the default **multi-tab**
3728
3729
  - Consent management with required/optional consent gates before predicting
3729
3730
  - Customisable banners in 6 positions within the Play tab (`"standard"` only)
3730
3731
  - Authentication-aware UI with configurable sign-in CTA
3731
- - Opt-in betting odds on the match cards (`showOdds`), pinned to one operator with `operatorId` — see [Predictor Odds](#predictor-odds)
3732
+ - Opt-in betting odds on the match cards (`showOdds`), one price per predicted market, configured with `odds` — see [Predictor Odds](#predictor-odds)
3732
3733
  - Built-in Betslip integration — renders the Betslip widget automatically via the `betslip` prop with two trigger modes
3733
3734
  - Custom theming and multi-language support
3734
3735
 
@@ -3756,7 +3757,8 @@ Football score predictor component with two templates: the default **multi-tab**
3756
3757
  | `consents` | `ConsentDef[]` | Consent definitions required before predicting |
3757
3758
  | `matchCardBgImageUrl` | `string` | Background image URL for match prediction cards. Ignored by `"embed"` |
3758
3759
  | `showOdds` | `boolean` | Render betting odds on the match cards (default: false). While false the odds request is skipped, so an `"odds-only"` betslip needs this set |
3759
- | `operatorId` | `string` | Operator config id to show odds from, e.g. `"betano-bg"`. Unset, each match shows the first operator listed. Falls back to `betslip.operatorId`, and the Betslip falls back to it |
3760
+ | `odds` | `Omit<OddsConfig, "market">` | `operators` (preference order), `pollingInterval`, `mode`, `flashInterval`, `affiliateId`, `affiliateIds`. See [Predictor Odds](#predictor-odds) |
3761
+ | `operatorId` | `string` | **Deprecated** — use `odds.operators`. Still honoured when that is unset |
3760
3762
  | `betslip` | `PredictorBetslipConfig` | Betslip integration config. Omit to disable. See [Betslip Integration](#betslip-integration) |
3761
3763
  | `callbacks` | `PredictorCallbacks` | `onEvent` — one observer for every journey event the component emits. See [Analytics](#analytics) |
3762
3764
 
@@ -4003,22 +4005,24 @@ const consents: ConsentDef[] = [
4003
4005
 
4004
4006
  #### Predictor Odds
4005
4007
 
4006
- Odds are off by default. With `showOdds` set, each upcoming match card shows full-time 1X2 odds from one operator, refreshed while a match is live — in the Play tab, the `embed` card and a league member's predictions. Odds fail silently: when the odds API has no prices for a match, the card simply shows none.
4008
+ Odds are off by default. With `showOdds` set, every answered market shows the price of its own answer from one operator: the main market above the submit button, each additional market inside its drawer. A scoreline shows the 1X2 it implies. Markets without prices (corners count, red card, penalty, half-time score) show none. The `embed` card also shows the full 1X2 market, and a league member's predictions show each predicted market's price. Prices refresh every `odds.pollingInterval`. Odds fail silently: when the odds API has no prices for a match, the card simply shows none.
4007
4009
 
4008
4010
  - **`showOdds`** — while it is false (the default) the odds request is skipped altogether. A betslip with `trigger: "odds-only"` is fed by clicking those odds, so that trigger needs `showOdds` set.
4009
- - **`operatorId`** pins the odds to one operator. It is sent to the odds request as the SDK's `operators` filter, so the response is narrowed server-side. Without it, each match shows whichever operator the response lists first, which is not guaranteed to stay the same. A match the chosen operator doesn't price shows no odds; it does not fall back to another operator.
4011
+ - **`odds`** takes `operators` (a preference order — the first that prices a match completely is shown), `pollingInterval`, `mode`, `flashInterval`, `affiliateId` and `affiliateIds`. Without `operators`, each match shows whichever operator the response lists first.
4010
4012
 
4011
4013
  ```tsx
4012
- <Predictor entityId="..." sdk={sdk} language="en" showOdds operatorId="betano-bg" />
4014
+ <Predictor entityId="..." sdk={sdk} language="en" showOdds odds={{ operators: ["betano-bg"] }} />
4013
4015
  ```
4014
4016
 
4015
- `operatorId` and `betslip.operatorId` resolve against each other, so the card and the betslip show the same operator unless you set both to different values:
4017
+ The card and the betslip show the same operator unless you set them to different values:
4016
4018
 
4017
- | You set | Card odds | Betslip |
4018
- | -------------------- | -------------------- | -------------------- |
4019
- | `operatorId` | `operatorId` | `operatorId` |
4020
- | `betslip.operatorId` | `betslip.operatorId` | `betslip.operatorId` |
4021
- | Both | `operatorId` | `betslip.operatorId` |
4019
+ | You set | Card odds | Betslip |
4020
+ | -------------------- | -------------------- | ------------------------- |
4021
+ | `odds.operators` | first preferred | first of `odds.operators` |
4022
+ | `betslip.operatorId` | `betslip.operatorId` | `betslip.operatorId` |
4023
+ | Both | `odds.operators` | `betslip.operatorId` |
4024
+
4025
+ The deprecated `operatorId` still works and stands in for `odds.operators: [operatorId]`.
4022
4026
 
4023
4027
  See [Choosing a Bookmaker](#choosing-a-bookmaker) for the list of available operator ids.
4024
4028
 
@@ -4053,7 +4057,7 @@ const betslipConfig: PredictorBetslipConfig = {
4053
4057
  | `currency` | `string` | `"€"` | Currency symbol |
4054
4058
  | `ctaUrlTemplate` | `string` | — | Bookmaker deep-link URL with `{placeholder}` substitution |
4055
4059
  | `brandingLogoUrl` | `string` | — | Operator logo URL |
4056
- | `operatorId` | `string` | — | Operator config id the Betslip requests odds for, e.g. `"betano-bg"`. Falls back to the top-level `operatorId` |
4060
+ | `operatorId` | `string` | — | Operator config id the Betslip requests odds for, e.g. `"betano-bg"`. Falls back to the first of `odds.operators`, then the deprecated `operatorId` |
4057
4061
  | `affiliateId` | `string` | — | Affiliate id substituted into the operator's URLs |
4058
4062
  | `labels` | `BetslipLabels` | — | UI text overrides |
4059
4063
  | `themeOptions` | `CustomThemeOptions` | — | Theme for the Betslip widget. Falls back to the Predictor's `themeOptions` when omitted |
@@ -4325,7 +4329,7 @@ Full-featured competitive picks predictor component with a multi-tab interface f
4325
4329
  - Consent management with required/optional consent gates before predicting
4326
4330
  - Customisable banners in the Play tab
4327
4331
  - Authentication-aware UI with configurable sign-in CTA
4328
- - Opt-in betting odds on the match cards (`showOdds`), pinned to one operator with `operatorId` — see [TopX Odds](#topx-odds)
4332
+ - Opt-in betting odds on the match cards (`showOdds`), configured with `odds` — see [TopX Odds](#topx-odds)
4329
4333
  - Built-in Betslip integration via the `betslip` prop
4330
4334
  - Custom theming and multi-language support
4331
4335
 
@@ -4350,7 +4354,8 @@ Full-featured competitive picks predictor component with a multi-tab interface f
4350
4354
  | `consents` | `ConsentDef[]` | — | Consent definitions required before predicting |
4351
4355
  | `matchCardBgImageUrl` | `string` | — | Background image URL for match prediction cards |
4352
4356
  | `showOdds` | `boolean` | `false` | Render betting odds on the match cards. While false the odds request is skipped, so an `"odds-only"` betslip needs this set |
4353
- | `operatorId` | `string` | — | Operator config id to show odds from, e.g. `"betano-bg"`. Unset, each match shows the first operator listed. Falls back to `betslip.operatorId`, and the Betslip falls back to it |
4357
+ | `odds` | `Omit<OddsConfig, "market">` | — | `operators` (preference order), `pollingInterval`, `mode`, `flashInterval`, `affiliateId`, `affiliateIds`. See [TopX Odds](#topx-odds) |
4358
+ | `operatorId` | `string` | — | **Deprecated** — use `odds.operators`. Still honoured when that is unset |
4354
4359
  | `betslip` | `TopXBetslipConfig` | — | Betslip integration config. Omit to disable. |
4355
4360
  | `showCountdown` | `boolean` | `true` | Show predictions-close countdown timer on open games |
4356
4361
  | `gameNavLabel` | `TopXGameNavLabel` | `"gameWeek"` | Controls how each game is labelled in the navigation. See [Game Navigation Label](#game-navigation-label) |
@@ -4493,22 +4498,24 @@ const consents: ConsentDef[] = [
4493
4498
 
4494
4499
  #### TopX Odds
4495
4500
 
4496
- Odds are off by default. With `showOdds` set, each upcoming match card shows full-time 1X2 odds from one operator, refreshed while a match is live — in the Play tab and in a league member's predictions. Odds fail silently: when the odds API has no prices for a match, the card simply shows none.
4501
+ Odds are off by default. With `showOdds` set, each upcoming match card shows the full-time 1X2 price its predicted score implies, from one operator — in the Play tab and in a league member's predictions. Prices refresh every `odds.pollingInterval`. Odds fail silently: when the odds API has no prices for a match, the card simply shows none.
4497
4502
 
4498
4503
  - **`showOdds`** — while it is false (the default) the odds request is skipped altogether. A betslip with `trigger: "odds-only"` is fed by clicking those odds, so that trigger needs `showOdds` set.
4499
- - **`operatorId`** pins the odds to one operator. It is sent to the odds request as the SDK's `operators` filter, so the response is narrowed server-side. Without it, each match shows whichever operator the response lists first, which is not guaranteed to stay the same. A match the chosen operator doesn't price shows no odds; it does not fall back to another operator.
4504
+ - **`odds`** takes `operators` (a preference order — the first that prices a match completely is shown), `pollingInterval`, `mode`, `flashInterval`, `affiliateId` and `affiliateIds`. Without `operators`, each match shows whichever operator the response lists first.
4500
4505
 
4501
4506
  ```tsx
4502
- <TopX entityId="..." sdk={sdk} language="en" showOdds operatorId="betano-bg" />
4507
+ <TopX entityId="..." sdk={sdk} language="en" showOdds odds={{ operators: ["betano-bg"] }} />
4503
4508
  ```
4504
4509
 
4505
- `operatorId` and `betslip.operatorId` resolve against each other, so the card and the betslip show the same operator unless you set both to different values:
4510
+ The card and the betslip show the same operator unless you set them to different values:
4511
+
4512
+ | You set | Card odds | Betslip |
4513
+ | -------------------- | -------------------- | ------------------------- |
4514
+ | `odds.operators` | first preferred | first of `odds.operators` |
4515
+ | `betslip.operatorId` | `betslip.operatorId` | `betslip.operatorId` |
4516
+ | Both | `odds.operators` | `betslip.operatorId` |
4506
4517
 
4507
- | You set | Card odds | Betslip |
4508
- | -------------------- | -------------------- | -------------------- |
4509
- | `operatorId` | `operatorId` | `operatorId` |
4510
- | `betslip.operatorId` | `betslip.operatorId` | `betslip.operatorId` |
4511
- | Both | `operatorId` | `betslip.operatorId` |
4518
+ The deprecated `operatorId` still works and stands in for `odds.operators: [operatorId]`.
4512
4519
 
4513
4520
  See [Choosing a Bookmaker](#choosing-a-bookmaker) for the list of available operator ids.
4514
4521
 
@@ -4543,7 +4550,7 @@ const betslipConfig: TopXBetslipConfig = {
4543
4550
  | `currency` | `string` | `"€"` | Currency symbol |
4544
4551
  | `ctaUrlTemplate` | `string` | — | Bookmaker deep-link URL with `{placeholder}` substitution |
4545
4552
  | `brandingLogoUrl` | `string` | — | Operator logo URL |
4546
- | `operatorId` | `string` | — | Operator config id the Betslip requests odds for, e.g. `"betano-bg"`. Falls back to the top-level `operatorId` |
4553
+ | `operatorId` | `string` | — | Operator config id the Betslip requests odds for, e.g. `"betano-bg"`. Falls back to the first of `odds.operators`, then the deprecated `operatorId` |
4547
4554
  | `affiliateId` | `string` | — | Affiliate id substituted into the operator's URLs |
4548
4555
  | `labels` | `BetslipLabels` | — | UI text overrides |
4549
4556
  | `themeOptions` | `CustomThemeOptions` | — | Theme for the Betslip widget. Falls back to the TopX `themeOptions` when omitted |
@@ -5341,8 +5348,10 @@ A single-event card — a competition header over the two competitors and their
5341
5348
  | `showStandings` | `boolean` | `type="detailed"` only. Show the **Table** (standings) tab. Defaults to `true` |
5342
5349
  | `showHeadToHead` | `boolean` | `type="detailed"` only. Show the **H2H** tab. Defaults to `true` |
5343
5350
  | `defaultSection` | `"preview" \| "summary" \| "stats" \| "lineups" \| "table" \| "h2h"` | `type="detailed"` only. Which tab opens first. Defaults to the first tab of the event's status |
5344
- | `showOdds` | `boolean` | Render betting odds. Defaults to `false` — not yet backed by the API, so currently renders nothing |
5345
- | `operatorId` | `string` | Operator config id to show odds from, e.g. `"betano-bg"`. Not yet backed by the API, like `showOdds` |
5351
+ | `showOdds` | `boolean` | Render betting odds under the scoreboard of an upcoming or live event. Defaults to `false` |
5352
+ | `odds` | `OddsConfig` | `market`, `mode`, `flashInterval`, `pollingInterval`, `operators`, `affiliateId`, `affiliateIds` — as on `CompetitorCard` |
5353
+ | `operatorId` | `string` | **Deprecated** — use `odds.operators` |
5354
+ | `callbacks` | `EventCardCallbacks` | `onAddToBetslip(selection)` — `{ matchId, market, pick, odd, operatorId }` |
5346
5355
  | `liveRefresh` | `boolean` | Poll while the event is `LIVE`. Defaults to `true` |
5347
5356
  | `refreshInterval` | `number` | Live-refresh interval in ms. Defaults to `30000` (30s) |
5348
5357
  | `userIsLoggedIn` | `boolean` | Whether the visitor is signed in. Required for predictions. Defaults to `false` |
@@ -5911,7 +5920,7 @@ A competition's season on one page: a progress header, upcoming fixtures and res
5911
5920
  - Expandable rows — a finished or live match shows its match stats and a goal timeline, an upcoming one both teams' form, a season comparison and the previous meeting
5912
5921
  - Live matches with a pulsing minute, the half-time score and polling through the event endpoint
5913
5922
  - Postponed, cancelled, interrupted and abandoned matches listed with the results, the reason in place of the score
5914
- - Opt-in 1X2 odds on the match rows — the same strip and settings as `CompetitorCard`, in-play prices for a live match, one request per round
5923
+ - Opt-in odds on the match rows — the same strip and settings as `CompetitorCard`, any supported market, one request per round
5915
5924
  - Player rankings: top scorers, assists, goals + assists, clean sheets, minutes, cards
5916
5925
  - Season statistics: result split, goal timing, goal lines, averages per match, cards, team callouts and record matches
5917
5926
  - Sections can be picked and reordered; an optional TV icon on upcoming matches, driven by your own callback
@@ -5935,7 +5944,7 @@ A competition's season on one page: a progress header, upcoming fixtures and res
5935
5944
  | `playerRankingsLayout` | `"auto" \| "grid" \| "tabs"` | `"auto"` (default) shows a grid of cards and switches to tabs in a container narrower than 600px |
5936
5945
  | `playerRankingsRows` | `number` | Rows per ranking before "Show all". Defaults to `5`; clamped to 1–10 |
5937
5946
  | `showOdds` | `boolean` | Show odds on upcoming and live match rows. Defaults to `false` |
5938
- | `odds` | `OddsConfig` | `mode`, `flashInterval`, `pollingInterval`, `operators`, `affiliateId`, `affiliateIds` — as on `CompetitorCard` |
5947
+ | `odds` | `OddsConfig` | `market`, `mode`, `flashInterval`, `pollingInterval`, `operators`, `affiliateId`, `affiliateIds` — as on `CompetitorCard` |
5939
5948
  | `callbacks` | `CompetitionStatisticsCallbacks` | `onAddToBetslip(selection)` and `onBroadcastClick(matchId)` |
5940
5949
  | `liveRefresh` | `boolean` | Poll live matches. Defaults to `true` |
5941
5950
  | `refreshInterval` | `number` | Live poll interval in ms. Defaults to `30000` |
@@ -5950,7 +5959,7 @@ In a competition with more than one stage, stage pills sit above the round picke
5950
5959
 
5951
5960
  #### Odds
5952
5961
 
5953
- Off by default. With `showOdds`, each upcoming match row shows 1X2 odds from the first operator with a complete market, and a live match shows in-play prices — pre-match prices are never shown on a match in progress. One request covers the round on screen. In a container narrower than 600px the odds move to a second line under the teams. `callbacks.onAddToBetslip` receives `{ matchId, market, pick, odd }`; the operator's own link still opens either way.
5962
+ Off by default. With `showOdds`, each upcoming and live match row shows `odds.market` (1X2 by default) from the first operator with a complete market. One request covers the round on screen. In a container narrower than 600px the odds move to a second line under the teams. `callbacks.onAddToBetslip` receives `{ matchId, market, pick, odd, operatorId }`; the operator's own link still opens either way.
5954
5963
 
5955
5964
  ```tsx
5956
5965
  import { CompetitionStatistics, betslipApi } from "fansunited-frontend-components";
@@ -6027,6 +6036,60 @@ import { CompetitionStatistics } from "fansunited-frontend-components";
6027
6036
  />
6028
6037
  ```
6029
6038
 
6039
+ ### Odds
6040
+
6041
+ Betting odds for one event: the operator's branded box, then each outcome of one market. Prices refresh on an interval and show an arrow when they move. It is the same strip `Predictor`, `TopX`, `CompetitorCard`, `CompetitionStatistics` and `EventCard` render, and takes the same settings — here at the top level rather than under `odds`.
6042
+
6043
+ **Key Features:**
6044
+
6045
+ - Markets: `FT_1X2` (falling back to the two-way `WINNER_OT` for sports that can't be drawn), `HT_1X2`, `BOTH_TEAMS_SCORE`, `OVER_GOALS_0_5`…`OVER_GOALS_6_5`, `OVER_CORNERS_6_5`…`OVER_CORNERS_13_5`
6046
+ - One operator, picked from your preference order — the first that prices the market completely
6047
+ - `default`, `dense` and `compact` sizes; `compact` flashes the operator and the prices
6048
+ - Price movement arrows, affiliate ids substituted into the operator links
6049
+ - `callbacks.onAddToBetslip` to feed a betslip
6050
+
6051
+ #### Required Props
6052
+
6053
+ | Prop | Type | Description |
6054
+ | ---------- | -------------------- | ------------------------------------------- |
6055
+ | `eventId` | `string` | Sports API event id, e.g. `"fb:m:536871"` |
6056
+ | `sdk` | `FansUnitedSDKModel` | SDK instance |
6057
+ | `language` | `LanguageType` | Display language |
6058
+
6059
+ #### Optional Props
6060
+
6061
+ | Prop | Type | Description |
6062
+ | ----------------- | ------------------------------------- | ----------- |
6063
+ | `themeOptions` | `CustomThemeOptions` | Theme configuration |
6064
+ | `market` | `OddsMarket` | Defaults to `"FT_1X2"` |
6065
+ | `size` | `"default" \| "dense" \| "compact"` | Defaults to `"default"` |
6066
+ | `mode` | `"default" \| "flash"` | Defaults to `"flash"` for `compact`, `"default"` otherwise |
6067
+ | `flashInterval` | `number` | ms, defaults to `3000` |
6068
+ | `pollingInterval` | `number` | ms, defaults to `30000`; `0` fetches once |
6069
+ | `operators` | `string[]` | Operator preference order, e.g. `["betano-bg", "efbet-bg"]` |
6070
+ | `affiliateId` | `string` | Substituted into operator URLs with an `{affiliate_id}` placeholder |
6071
+ | `affiliateIds` | `Record<string, string>` | Per-operator affiliate ids; wins over `affiliateId` |
6072
+ | `labels` | `OddsLabels` | `title`, `yes`, `no`, `over`, `under` (`{{line}}` placeholder) |
6073
+ | `callbacks` | `OddsCallbacks` | `onAddToBetslip({ matchId, market, pick, odd, operatorId })` |
6074
+
6075
+ When no operator prices the market completely, nothing renders. `HT_1X2` currently renders nothing: the odds API scopes it to the first half, which the SDK filters out.
6076
+
6077
+ ```tsx
6078
+ import { Odds, betslipApi } from "fansunited-frontend-components";
6079
+
6080
+ <Odds
6081
+ eventId="fb:m:536871"
6082
+ sdk={sdkInstance}
6083
+ language="en"
6084
+ market="OVER_GOALS_2_5"
6085
+ operators={["betano-bg"]}
6086
+ callbacks={{
6087
+ onAddToBetslip: ({ matchId, market, pick }) =>
6088
+ betslipApi.setSelection(`${matchId}:${market}:${pick}`),
6089
+ }}
6090
+ />
6091
+ ```
6092
+
6030
6093
  ---
6031
6094
 
6032
6095
  ## Available Components
@@ -6051,6 +6114,7 @@ This package exports the following components:
6051
6114
  - **`PlayerOfTheMatch`** - Coverflow voting carousel with search, position filters, a roster rail, live voting status, and winner/tied-winners results
6052
6115
  - **`CompetitorCard`** - Team or athlete profile card with four templates, season statistics and a competition switcher, recent form, next/last fixture with odds and a live badge, and inline Fixtures, Squad and Season stats panels
6053
6116
  - **`CompetitionStatistics`** - A competition's season on one page: fixtures and results by stage and round with live scores and odds, expandable match detail, player rankings, and season statistics
6117
+ - **`Odds`** - One event's betting odds for one market from a preferred operator, with movement arrows, flash mode and a betslip callback
6054
6118
 
6055
6119
  ## Related Packages
6056
6120
 
package/Standings.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { jsxs as w, jsx as r, Fragment as W } from "react/jsx-runtime";
2
2
  import P, { useState as N, useEffect as me, useMemo as V, useRef as ke } from "react";
3
- import { g as D, u as F, d as $, B as x, z as q, y as Y, a as Q, f as H, b as Le, v as Re, A as Te, p as De, o as ve, q as Ee, r as Pe, C as Fe, s as Ke, E as Ae, t as Oe, w as ze } from "./chunks/PrizeCard-nRBh9VU_.js";
4
- import { S as Ne } from "./chunks/Spinner-wUVcNUtR.js";
3
+ import { g as D, u as F, d as $, B as x, z as q, y as Y, a as Q, f as H, b as Le, v as Re, A as Te, p as De, o as ve, q as Ee, r as Pe, C as Fe, s as Ke, E as Ae, t as Oe, w as ze } from "./chunks/PrizeCard-Cb1YuuYM.js";
4
+ import { S as Ne } from "./chunks/Spinner-pC2OM4AI.js";
5
5
  import { createPortal as pe } from "react-dom";
6
- import { h as ee, b as Ie } from "./chunks/helpers-CqPvv3gw.js";
7
- import { l as le } from "./chunks/index-D-yn2UCo.js";
8
- import { E as $e } from "./chunks/EmojiEvents-CRgQHdIP.js";
9
- import { T as k } from "./chunks/Typography-DaXtC0md.js";
10
- import { C as Me } from "./chunks/Chip-06eY-2lp.js";
11
- import { I as Be } from "./chunks/InlineSpinner-BqP-sRnL.js";
12
- import { S as fe } from "./chunks/Sheet-Q5izbz85.js";
13
- import { T as Ue } from "./chunks/Table-Cew1z7pw.js";
14
- import { T as ge, a as he, b as ye, c as xe } from "./chunks/Tabs-DuqeCPIW.js";
6
+ import { h as ee, b as Ie } from "./chunks/helpers-BX3cctTx.js";
7
+ import { l as le } from "./chunks/index-qjOOEhVr.js";
8
+ import { E as $e } from "./chunks/EmojiEvents-DXh-xemn.js";
9
+ import { T as k } from "./chunks/Typography-nBRgZwsp.js";
10
+ import { C as Me } from "./chunks/Chip-BILKBLRO.js";
11
+ import { I as Be } from "./chunks/InlineSpinner-DkC1XUc7.js";
12
+ import { S as fe } from "./chunks/Sheet-MP2rgW4b.js";
13
+ import { T as Ue } from "./chunks/Table-hk72eRqw.js";
14
+ import { T as ge, a as he, b as ye, c as xe } from "./chunks/Tabs-DiWLN-D7.js";
15
15
  const We = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").trim().replace(
16
16
  /\S+/g,
17
17
  (n) => n.charAt(0).toUpperCase() + n.slice(1).toLowerCase()
@@ -1595,7 +1595,7 @@ const We = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " "
1595
1595
  n(!1);
1596
1596
  };
1597
1597
  }, [l]);
1598
- const f = e.themeOptions, h = /* @__PURE__ */ r(x, { ref: i, sx: { height: "100%", display: "block" } }), b = t && o && c.current && s ? pe(
1598
+ const f = e.themeOptions, h = /* @__PURE__ */ r(x, { ref: i, lang: e.language || "en", sx: { height: "100%", display: "block" } }), b = t && o && c.current && s ? pe(
1599
1599
  // Keyed on the cache, not on `direction`: it must change in the same
1600
1600
  // render that adopts the new cache, or CssVarsProvider writes its CSS
1601
1601
  // variables into the outgoing cache and never repeats.