@cuemath/leap 2.8.36-tables-beta-hg1 → 2.8.36

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 (98) hide show
  1. package/dist/assets/lottie/lottie.js +0 -12
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js +6 -6
  4. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js +73 -29
  6. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
  7. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +85 -87
  8. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +15 -25
  10. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  11. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js +7 -8
  12. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/game-launcher.js +65 -109
  14. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  15. package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js +14 -0
  16. package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js.map +1 -0
  17. package/dist/features/circle-games/games/web-view/enums/project-type-enum.js +1 -1
  18. package/dist/features/circle-games/games/web-view/enums/project-type-enum.js.map +1 -1
  19. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  20. package/dist/features/circle-games/games/web-view/web-view.js +82 -69
  21. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  22. package/dist/features/post-game-stats/accuracy/accuracy-styled.js +16 -17
  23. package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
  24. package/dist/features/post-game-stats/clock/clock-styled.js +10 -11
  25. package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
  26. package/dist/features/post-game-stats/enums/post-game-stats-enum.js +1 -1
  27. package/dist/features/post-game-stats/enums/post-game-stats-enum.js.map +1 -1
  28. package/dist/features/post-game-stats/points/points.js +27 -33
  29. package/dist/features/post-game-stats/points/points.js.map +1 -1
  30. package/dist/features/post-game-stats/post-game-stats-styled.js +1 -1
  31. package/dist/features/post-game-stats/post-game-stats-styled.js.map +1 -1
  32. package/dist/features/post-game-stats/post-game-stats.js +61 -83
  33. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  34. package/dist/features/post-game-stats/streak/streak-styled.js +17 -18
  35. package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
  36. package/dist/features/trial-session/comps/trial-circle-game/constants.js.map +1 -1
  37. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  38. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +148 -142
  39. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  40. package/dist/index.d.ts +111 -122
  41. package/dist/index.js +209 -206
  42. package/dist/index.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js +0 -53
  45. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +0 -1
  46. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js +0 -24
  47. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +0 -1
  48. package/dist/features/circle-games/game-launcher/comps/card-container/constants.js +0 -7
  49. package/dist/features/circle-games/game-launcher/comps/card-container/constants.js.map +0 -1
  50. package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js +0 -20
  51. package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js.map +0 -1
  52. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js +0 -24
  53. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js.map +0 -1
  54. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js +0 -48
  55. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +0 -1
  56. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js +0 -25
  57. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star-styled.js.map +0 -1
  58. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js +0 -57
  59. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +0 -1
  60. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star-styled.js +0 -27
  61. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star-styled.js.map +0 -1
  62. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js +0 -37
  63. package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +0 -1
  64. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +0 -154
  65. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +0 -1
  66. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +0 -236
  67. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +0 -1
  68. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js +0 -17
  69. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js.map +0 -1
  70. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +0 -47
  71. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +0 -1
  72. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js +0 -6
  73. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js.map +0 -1
  74. package/dist/features/post-game-stats/digital-meter/constants.js +0 -16
  75. package/dist/features/post-game-stats/digital-meter/constants.js.map +0 -1
  76. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +0 -87
  77. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +0 -1
  78. package/dist/features/post-game-stats/digital-meter/digital-meter.js +0 -185
  79. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +0 -1
  80. package/dist/features/post-game-stats/digital-meter/helper.js +0 -33
  81. package/dist/features/post-game-stats/digital-meter/helper.js.map +0 -1
  82. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js +0 -29
  83. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js.map +0 -1
  84. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js +0 -20
  85. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +0 -1
  86. package/dist/static/advance-mode-segment-lottie.51ff6707.json +0 -1
  87. package/dist/static/infinite-button-bg.5909225e.json +0 -1
  88. package/dist/static/infinite-button-symbol.aa31350c.json +0 -1
  89. package/dist/static/point2.7cec6e24.json +0 -1
  90. package/dist/static/point3.f96fe7aa.json +0 -1
  91. package/dist/static/point4.fe04fb83.json +0 -1
  92. package/dist/static/random-mode-segment-lottie.79cf1c07.json +0 -1
  93. package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +0 -1
  94. package/dist/static/table-mode-reveal.b44a82c3.json +0 -1
  95. package/dist/static/table-mode-star.b8a1d762.json +0 -1
  96. package/dist/static/table-segment-star.78e851d6.json +0 -1
  97. package/dist/static/target-achieved-text.053bd142.json +0 -2830
  98. package/dist/static/target-achieved-text.10db8475.json +0 -1
@@ -1,236 +0,0 @@
1
- import { jsx as r, jsxs as a, Fragment as X } from "react/jsx-runtime";
2
- import { memo as M, useState as s, useRef as w, useCallback as n, useMemo as W, useEffect as O } from "react";
3
- import ee from "../../../../../assets/line-icons/icons/back2.js";
4
- import { LOTTIE as L } from "../../../../../assets/lottie/lottie.js";
5
- import re from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
6
- import { useUIContext as te } from "../../../../ui/context/context.js";
7
- import ie from "../../../../ui/layout/flex-view.js";
8
- import I from "../../../../ui/lottie-animation/lottie-animation.js";
9
- import ne from "../../../../ui/separator/separator.js";
10
- import P from "../../../../ui/text/text.js";
11
- import { useCircleSounds as oe } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
12
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as le } from "../../game-launcher-analytics-events.js";
13
- import { CardContainer as ce } from "../card-container/card-container.js";
14
- import { GAME_LAUNCHER_SIZE as E, GAME_LAUNCHER_SIZE_LARGE as ae } from "../card-container/constants.js";
15
- import { TABLE_REVEAL_ANIMATION as N, TABLE_MODE_LABEL_COLOR as se } from "./constants.js";
16
- import me from "./table-mode/table-mode.js";
17
- import ue from "./table-segment-star/table-segment-star.js";
18
- import { CardWrapper as de, TableSegmentsWrapper as he, InfiniteButtonWrapper as be, AbsoluteView as g, TableSegmentCardShadowContainer as Ae, TableSegment as Ee, TableNumber as Ne, TableModeContainer as ge, TableModeWrapper as ve, AnimatedView as Se, ModeOverlay as pe, IconWrapper as Ce } from "./tables-card-styled.js";
19
- const Le = {
20
- loop: !1,
21
- autoplay: !1,
22
- render: "svg"
23
- }, qe = M(
24
- ({ data: l, label: T, onPress: d, openModesOfTable: t }) => {
25
- var B;
26
- const { onEvent: _ } = te(), { playButtonSound: h } = oe(), [m, f] = s(!0), [u, b] = s(
27
- (t == null ? void 0 : t.tableNumber) ?? null
28
- ), [v, $] = s(null), [D, A] = s("WHITE_T_60"), [c, H] = s({
29
- stars: ((B = l.tableList.find((e) => e.tableNumber === (t == null ? void 0 : t.tableNumber))) == null ? void 0 : B.stars) ?? [],
30
- tableNumber: (t == null ? void 0 : t.tableNumber) ?? 0
31
- }), [R, V] = s((t == null ? void 0 : t.rewardStar) ?? []), [y] = s(!1), S = w(null), p = w(), x = n(
32
- (e) => {
33
- h(), f(!0), b(e.tableNumber), H({ ...e }), V([]), _(le.TABLE_SELECTED, {
34
- mata: {
35
- table_of: e.tableNumber
36
- }
37
- });
38
- },
39
- [h, _]
40
- ), U = n((e) => {
41
- A("WHITE_T_87"), b(e.tableNumber);
42
- }, []), F = n(() => {
43
- A("WHITE_T_60"), !c.tableNumber && b(null);
44
- }, [c.tableNumber]), G = n(() => {
45
- var i;
46
- h(), f(!1), b(null);
47
- const e = (N.DISAPPEAR[1] - N.DISAPPEAR[0]) / 30;
48
- (i = S.current) == null || i.playSegments(N.DISAPPEAR, !0), p.current = setTimeout(() => {
49
- H({ stars: [], tableNumber: 0 });
50
- }, e * 1e3);
51
- }, [h]), q = n(() => {
52
- var e;
53
- (e = S.current) == null || e.playSegments(N.REVEAL, !0);
54
- }, []), j = n((e) => {
55
- const i = {
56
- sequence: 1,
57
- random: 2,
58
- advance: 3
59
- };
60
- A(se[e] ?? "WHITE_T_60"), $(i[e] ?? 0);
61
- }, []), Y = n(() => {
62
- $(null), A("WHITE_T_60");
63
- }, []), o = W(() => c, [c]), Z = W(() => [
64
- {
65
- top: 20,
66
- left: 10.5,
67
- type: "sequence",
68
- tableNumber: o.tableNumber,
69
- isStarAchieved: o.stars.includes("sequence"),
70
- semicirclePosiiionTop: "-19%",
71
- semicirclePosiiionLeft: "-43%",
72
- semicircleHoverColor: "#B259004D"
73
- },
74
- {
75
- top: 20,
76
- left: 65.5,
77
- type: "random",
78
- tableNumber: o.tableNumber,
79
- isStarAchieved: o.stars.includes("random"),
80
- semicirclePosiiionTop: "-19%",
81
- semicirclePosiiionLeft: "65%",
82
- semicircleHoverColor: "#0055CC4D"
83
- },
84
- {
85
- top: 66,
86
- left: 38,
87
- type: "advance",
88
- tableNumber: o.tableNumber,
89
- isStarAchieved: o.stars.includes("advance"),
90
- semicirclePosiiionTop: "74%",
91
- semicirclePosiiionLeft: "11%",
92
- semicircleHoverColor: "#A9099C4D"
93
- }
94
- ], [o.tableNumber, o.stars]), z = n(() => {
95
- d({
96
- mode: "infinite",
97
- infiniteModeHighScore: l.infiniteModeHighScore
98
- });
99
- }, [d, l.infiniteModeHighScore]), K = n(
100
- (e, i) => {
101
- d({
102
- mode: e,
103
- tableNumber: c.tableNumber,
104
- isStarRewarded: i
105
- });
106
- },
107
- [d, c.tableNumber]
108
- ), J = n(() => v ? `${u}× LEVEL${v}` : u ? `${u}× Table` : T, [v, u, T]);
109
- return O(() => () => {
110
- p.current && clearTimeout(p.current);
111
- }, []), /* @__PURE__ */ r(
112
- ce,
113
- {
114
- strokeColor: "WHITE",
115
- label: J(),
116
- isAnimated: !1,
117
- labelColor: D,
118
- children: /* @__PURE__ */ a(de, { children: [
119
- /* @__PURE__ */ a(he, { children: [
120
- /* @__PURE__ */ r(
121
- re,
122
- {
123
- renderAs: "primary",
124
- position: "top",
125
- hidden: y,
126
- tooltipItem: /* @__PURE__ */ r(P, { $renderAs: "ab3", $color: "WHITE", children: "Coming Soon" }),
127
- children: /* @__PURE__ */ a(
128
- be,
129
- {
130
- onClick: y ? z : void 0,
131
- children: [
132
- /* @__PURE__ */ r(g, { children: /* @__PURE__ */ r(I, { src: L.INFINITE_BUTTON_BG }) }),
133
- /* @__PURE__ */ r(g, { children: /* @__PURE__ */ r(I, { src: L.INFINITE_BUTTON_SYMBOL }) })
134
- ]
135
- }
136
- )
137
- }
138
- ),
139
- /* @__PURE__ */ r(Ae, {}),
140
- l.tableList.map((e, i) => {
141
- const Q = 360 / l.tableList.length, k = -(90 + 360 / (2 * l.tableList.length)) + Q * (i + 1);
142
- return /* @__PURE__ */ r(
143
- Ee,
144
- {
145
- $angle: k,
146
- $totalSegments: l.tableList.length,
147
- $zIndex: i + 1,
148
- onClick: () => x(e),
149
- onMouseOver: () => U(e),
150
- onMouseLeave: F,
151
- children: /* @__PURE__ */ a(ie, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
152
- ["sequence", "random", "advance"].map((C) => /* @__PURE__ */ r(
153
- ue,
154
- {
155
- isStarAchieved: e.stars.includes(C),
156
- rewardStar: !m && (t == null ? void 0 : t.tableNumber) === e.tableNumber ? R.includes(C) : void 0
157
- },
158
- C
159
- )),
160
- /* @__PURE__ */ r(ne, { width: E * 0.055 }),
161
- /* @__PURE__ */ r(Ne, { $angle: -k, children: /* @__PURE__ */ r(
162
- P,
163
- {
164
- $renderAs: E === ae ? "ac3-black" : "ac4-black",
165
- $color: u === e.tableNumber ? "BLACK_1" : "WHITE",
166
- children: e.tableNumber
167
- }
168
- ) })
169
- ] })
170
- },
171
- i
172
- );
173
- })
174
- ] }),
175
- c.tableNumber > 0 && /* @__PURE__ */ r(ge, { children: /* @__PURE__ */ a(ve, { children: [
176
- /* @__PURE__ */ a(Se, { animation: m ? "fade-in" : "fade-out", children: [
177
- Z.map((e, i) => /* @__PURE__ */ a(X, { children: [
178
- /* @__PURE__ */ r(
179
- pe,
180
- {
181
- $top: e.semicirclePosiiionTop,
182
- $left: e.semicirclePosiiionLeft,
183
- $hoverColor: e.semicircleHoverColor,
184
- onClick: () => m ? K(e.type, e.isStarAchieved) : void 0,
185
- onMouseOver: () => m ? j(e.type) : void 0,
186
- onMouseLeave: m ? Y : void 0
187
- },
188
- i + "modeoverlay"
189
- ),
190
- /* @__PURE__ */ r(
191
- g,
192
- {
193
- $top: e.top,
194
- $left: e.left,
195
- $isPointerEventsNone: !0,
196
- children: /* @__PURE__ */ r(
197
- me,
198
- {
199
- tableNumber: e.tableNumber,
200
- isStarAchieved: e.isStarAchieved,
201
- type: e.type,
202
- rewardStar: R.includes(e.type)
203
- }
204
- )
205
- },
206
- i + "modes"
207
- )
208
- ] })),
209
- /* @__PURE__ */ r(g, { $top: 50, $left: 50, $alignCenter: !0, children: /* @__PURE__ */ r(Ce, { children: /* @__PURE__ */ r(
210
- ee,
211
- {
212
- onClick: G,
213
- height: E * 0.1,
214
- width: E * 0.1
215
- }
216
- ) }) })
217
- ] }),
218
- /* @__PURE__ */ r(
219
- I,
220
- {
221
- src: L.TABLE_MODE_REVEAL,
222
- ref: S,
223
- settings: Le,
224
- onRender: q
225
- }
226
- )
227
- ] }) })
228
- ] })
229
- }
230
- );
231
- }
232
- );
233
- export {
234
- qe as TablesCard
235
- };
236
- //# sourceMappingURL=tables-card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tables-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type {\n ITableInfo,\n TTableMode,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITablesCardProps } from './tables-card-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport Back2Icon from '../../../../../assets/line-icons/icons/back2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport { CardContainer } from '../card-container/card-container';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../card-container/constants';\nimport { TABLE_MODE_LABEL_COLOR, TABLE_REVEAL_ANIMATION } from './constants';\nimport TableMode from './table-mode/table-mode';\nimport TableSegmentStar from './table-segment-star/table-segment-star';\nimport * as Styled from './tables-card-styled';\n\nconst animationSettings = {\n loop: false,\n autoplay: false,\n render: 'svg',\n};\n\nexport const TablesCard: FC<ITablesCardProps> = memo(\n ({ data, label, onPress, openModesOfTable }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { playButtonSound } = useCircleSounds();\n const [fadeIn, setFadeIn] = useState(true);\n const [highlightedTable, setHighlightedTable] = useState<number | null>(\n openModesOfTable?.tableNumber ?? null,\n );\n const [highlightedLevel, setHighlightedLevel] = useState<number | null>(null);\n const [labelColor, setLabelColor] = useState<TColorNames>('WHITE_T_60');\n const [revealTableModes, setRevealTableModes] = useState<ITableInfo>({\n stars:\n data.tableList.find(table => table.tableNumber === openModesOfTable?.tableNumber)?.stars ??\n [],\n tableNumber: openModesOfTable?.tableNumber ?? 0,\n });\n const [rewardStar, setRewardStar] = useState(openModesOfTable?.rewardStar ?? []);\n const [enableInfiniteMode] = useState(false);\n\n const revealAnimationRef = useRef<ILottieAnimationRef | null>(null);\n const disappearAnimationTimer = useRef<ReturnType<typeof setTimeout>>();\n\n const handleTableSegmentClick = useCallback(\n (table: ITableInfo) => {\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(table.tableNumber);\n setRevealTableModes({ ...table });\n setRewardStar([]);\n trackEvent(GAME_LAUNCHER_ANALYTICS_EVENTS.TABLE_SELECTED, {\n mata: {\n table_of: table.tableNumber,\n },\n });\n },\n [playButtonSound, trackEvent],\n );\n\n const handleTableSegmentMouseOver = useCallback((table: ITableInfo) => {\n setLabelColor('WHITE_T_87');\n setHighlightedTable(table.tableNumber);\n }, []);\n\n const handleTableSegmentMouseLeave = useCallback(() => {\n setLabelColor('WHITE_T_60');\n !revealTableModes.tableNumber && setHighlightedTable(null);\n }, [revealTableModes.tableNumber]);\n\n const goBack = useCallback(() => {\n playButtonSound();\n setFadeIn(false);\n setHighlightedTable(null);\n const time = (TABLE_REVEAL_ANIMATION.DISAPPEAR[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR[0]) / 30;\n\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.DISAPPEAR, true);\n disappearAnimationTimer.current = setTimeout(() => {\n setRevealTableModes({ stars: [], tableNumber: 0 });\n }, time * 1000);\n }, [playButtonSound]);\n\n const showTableModes = useCallback(() => {\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.REVEAL, true);\n }, []);\n\n const handleModeMouseOver = useCallback((type: TTableMode) => {\n const level: Partial<Record<TTableMode, number>> = {\n sequence: 1,\n random: 2,\n advance: 3,\n };\n\n setLabelColor(TABLE_MODE_LABEL_COLOR[type] ?? 'WHITE_T_60');\n setHighlightedLevel(level[type] ?? 0);\n }, []);\n\n const handleModeMouseLeave = useCallback(() => {\n setHighlightedLevel(null);\n setLabelColor('WHITE_T_60');\n }, []);\n\n const revealTableModesMemo = useMemo(() => revealTableModes, [revealTableModes]);\n\n const tableModes = useMemo(() => {\n return [\n {\n top: 20,\n left: 10.5,\n type: 'sequence' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('sequence'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '-43%',\n semicircleHoverColor: '#B259004D',\n },\n {\n top: 20,\n left: 65.5,\n type: 'random' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('random'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '65%',\n semicircleHoverColor: '#0055CC4D',\n },\n {\n top: 66,\n left: 38,\n type: 'advance' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('advance'),\n semicirclePosiiionTop: '74%',\n semicirclePosiiionLeft: '11%',\n semicircleHoverColor: '#A9099C4D',\n },\n ];\n }, [revealTableModesMemo.tableNumber, revealTableModesMemo.stars]);\n\n // Disabled infinite mode\n const handleInfiniteModeClick = useCallback(() => {\n onPress({\n mode: 'infinite',\n infiniteModeHighScore: data.infiniteModeHighScore,\n });\n }, [onPress, data.infiniteModeHighScore]);\n\n const handleNormalModeClick = useCallback(\n (mode: TTableMode, isStarRewarded: boolean) => {\n onPress({\n mode,\n tableNumber: revealTableModes.tableNumber,\n isStarRewarded,\n });\n },\n [onPress, revealTableModes.tableNumber],\n );\n\n const getHighlightedText = useCallback(() => {\n if (highlightedLevel) {\n return `${highlightedTable}× LEVEL${highlightedLevel}`;\n }\n\n return highlightedTable ? `${highlightedTable}× Table` : label;\n }, [highlightedLevel, highlightedTable, label]);\n\n useEffect(() => {\n return () => {\n disappearAnimationTimer.current && clearTimeout(disappearAnimationTimer.current);\n };\n }, []);\n\n return (\n <CardContainer\n strokeColor=\"WHITE\"\n label={getHighlightedText()}\n isAnimated={false}\n labelColor={labelColor}\n >\n <Styled.CardWrapper>\n {/* table selection */}\n <Styled.TableSegmentsWrapper>\n {/* infinite button */}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n hidden={enableInfiniteMode}\n tooltipItem={\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Coming Soon\n </Text>\n }\n >\n <Styled.InfiniteButtonWrapper\n onClick={enableInfiniteMode ? handleInfiniteModeClick : undefined}\n >\n <Styled.AbsoluteView>\n <LottieAnimation src={LOTTIE.INFINITE_BUTTON_BG} />\n </Styled.AbsoluteView>\n <Styled.AbsoluteView>\n <LottieAnimation src={LOTTIE.INFINITE_BUTTON_SYMBOL} />\n </Styled.AbsoluteView>\n </Styled.InfiniteButtonWrapper>\n </ArrowTooltip>\n\n {/* card shadow */}\n <Styled.TableSegmentCardShadowContainer />\n\n {/* table segments */}\n {data.tableList.map((table, index) => {\n const segmentAngle = 360 / data.tableList.length;\n const startAngle = -(90 + 360 / (2 * data.tableList.length));\n const currentAngle = startAngle + segmentAngle * (index + 1);\n\n return (\n <Styled.TableSegment\n key={index}\n $angle={currentAngle}\n $totalSegments={data.tableList.length}\n $zIndex={index + 1}\n onClick={() => handleTableSegmentClick(table)}\n onMouseOver={() => handleTableSegmentMouseOver(table)}\n onMouseLeave={handleTableSegmentMouseLeave}\n >\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n {['sequence', 'random', 'advance'].map(star => (\n <TableSegmentStar\n key={star}\n isStarAchieved={table.stars.includes(star as TTableMode)}\n rewardStar={\n !fadeIn && openModesOfTable?.tableNumber === table.tableNumber\n ? rewardStar.includes(star as TTableMode)\n : undefined\n }\n />\n ))}\n <Separator width={GAME_LAUNCHER_SIZE * 0.055} />\n\n <Styled.TableNumber $angle={-currentAngle}>\n <Text\n $renderAs={\n GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE\n ? 'ac3-black'\n : 'ac4-black'\n }\n $color={highlightedTable === table.tableNumber ? 'BLACK_1' : 'WHITE'}\n >\n {table.tableNumber}\n </Text>\n </Styled.TableNumber>\n </FlexView>\n </Styled.TableSegment>\n );\n })}\n </Styled.TableSegmentsWrapper>\n\n {/* table modes */}\n {revealTableModes.tableNumber > 0 && (\n <Styled.TableModeContainer>\n <Styled.TableModeWrapper>\n {/* tables modes with back button */}\n <Styled.AnimatedView animation={fadeIn ? 'fade-in' : 'fade-out'}>\n {tableModes.map((tableMode, index) => (\n <>\n <Styled.ModeOverlay\n key={index + 'modeoverlay'}\n $top={tableMode.semicirclePosiiionTop}\n $left={tableMode.semicirclePosiiionLeft}\n $hoverColor={tableMode.semicircleHoverColor}\n onClick={() =>\n fadeIn\n ? handleNormalModeClick(tableMode.type, tableMode.isStarAchieved)\n : undefined\n }\n onMouseOver={() =>\n fadeIn ? handleModeMouseOver(tableMode.type as TTableMode) : undefined\n }\n onMouseLeave={fadeIn ? handleModeMouseLeave : undefined}\n />\n <Styled.AbsoluteView\n key={index + 'modes'}\n $top={tableMode.top}\n $left={tableMode.left}\n $isPointerEventsNone={true}\n >\n <TableMode\n tableNumber={tableMode.tableNumber}\n isStarAchieved={tableMode.isStarAchieved}\n type={tableMode.type as TTableMode}\n rewardStar={rewardStar.includes(tableMode.type as TTableMode)}\n />\n </Styled.AbsoluteView>\n </>\n ))}\n {/* back button */}\n <Styled.AbsoluteView $top={50} $left={50} $alignCenter={true}>\n <Styled.IconWrapper>\n <Back2Icon\n onClick={goBack}\n height={GAME_LAUNCHER_SIZE * 0.1}\n width={GAME_LAUNCHER_SIZE * 0.1}\n />\n </Styled.IconWrapper>\n </Styled.AbsoluteView>\n </Styled.AnimatedView>\n\n {/* overlay lottie for modes */}\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_REVEAL}\n ref={revealAnimationRef}\n settings={animationSettings}\n onRender={showTableModes}\n />\n </Styled.TableModeWrapper>\n </Styled.TableModeContainer>\n )}\n </Styled.CardWrapper>\n </CardContainer>\n );\n },\n);\n"],"names":["animationSettings","TablesCard","memo","data","label","onPress","openModesOfTable","trackEvent","useUIContext","playButtonSound","useCircleSounds","fadeIn","setFadeIn","useState","highlightedTable","setHighlightedTable","highlightedLevel","setHighlightedLevel","labelColor","setLabelColor","revealTableModes","setRevealTableModes","_a","table","rewardStar","setRewardStar","enableInfiniteMode","revealAnimationRef","useRef","disappearAnimationTimer","handleTableSegmentClick","useCallback","GAME_LAUNCHER_ANALYTICS_EVENTS","handleTableSegmentMouseOver","handleTableSegmentMouseLeave","goBack","time","TABLE_REVEAL_ANIMATION","showTableModes","handleModeMouseOver","type","level","TABLE_MODE_LABEL_COLOR","handleModeMouseLeave","revealTableModesMemo","useMemo","tableModes","handleInfiniteModeClick","handleNormalModeClick","mode","isStarRewarded","getHighlightedText","useEffect","jsx","CardContainer","jsxs","Styled.CardWrapper","Styled.TableSegmentsWrapper","ArrowTooltip","Text","Styled.InfiniteButtonWrapper","Styled.AbsoluteView","LottieAnimation","LOTTIE","Styled.TableSegmentCardShadowContainer","index","segmentAngle","currentAngle","Styled.TableSegment","FlexView","star","TableSegmentStar","Separator","GAME_LAUNCHER_SIZE","Styled.TableNumber","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeContainer","Styled.TableModeWrapper","Styled.AnimatedView","tableMode","Fragment","Styled.ModeOverlay","TableMode","Styled.IconWrapper","Back2Icon"],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import i from "styled-components";
2
- import { RAINBOW_COLOR_ANIMATION_DURATION as r } from "../../constants.js";
3
- import { rainbowColorAnimation as n } from "../../helper.js";
4
- import { ARC_Z_INDEX as s } from "./constants.js";
5
- const p = i.svg`
6
- position: absolute;
7
- z-index: ${s};
8
- `, A = i.path`
9
- stroke: ${({ theme: o, stroke: t }) => o.colors[t]};
10
- animation: ${({ $playRainbowColors: o }) => o ? n : "undefined"}
11
- ${r}s ease infinite forwards;
12
- `;
13
- export {
14
- A as Path,
15
- p as Svg
16
- };
17
- //# sourceMappingURL=animated-arc-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animated-arc-styled.js","sources":["../../../../../../src/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nimport styled from 'styled-components';\n\nimport { RAINBOW_COLOR_ANIMATION_DURATION } from '../../constants';\nimport { rainbowColorAnimation } from '../../helper';\nimport { ARC_Z_INDEX } from './constants';\n\nexport const Svg = styled.svg`\n position: absolute;\n z-index: ${ARC_Z_INDEX};\n`;\n\nexport const Path = styled.path<{ stroke: TColorNames; $playRainbowColors: boolean }>`\n stroke: ${({ theme, stroke }) => theme.colors[stroke]};\n animation: ${({ $playRainbowColors }) =>\n $playRainbowColors ? rainbowColorAnimation : 'undefined'}\n ${RAINBOW_COLOR_ANIMATION_DURATION}s ease infinite forwards;\n`;\n"],"names":["Svg","styled","ARC_Z_INDEX","Path","theme","stroke","$playRainbowColors","rainbowColorAnimation","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";;;;AAQO,MAAMA,IAAMC,EAAO;AAAA;AAAA,aAEbC,CAAW;AAAA,GAGXC,IAAOF,EAAO;AAAA,YACf,CAAC,EAAE,OAAAG,GAAO,QAAAC,EAAA,MAAaD,EAAM,OAAOC,CAAM,CAAC;AAAA,eACxC,CAAC,EAAE,oBAAAC,EAAA,MACZA,IAAqBC,IAAwB,WAAW;AAAA,MACxDC,CAAgC;AAAA;"}
@@ -1,47 +0,0 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { useRef as A, useLayoutEffect as $ } from "react";
3
- import { describeArc as R } from "../../helper.js";
4
- import { Svg as k, Path as w } from "./animated-arc-styled.js";
5
- import { ADJUSTED_START_ANGLE as D } from "./constants.js";
6
- const x = ({
7
- radius: e,
8
- strokeWidth: n,
9
- color: h,
10
- targetAngle: m,
11
- startAngle: p = 0,
12
- duration: r = 2,
13
- mode: o = "draw",
14
- delay: s = 0,
15
- playRainbowColors: y = !1
16
- }) => {
17
- const a = A(null), g = -D + p, i = e, u = e - n / 2, c = R(i, i, u, g, m);
18
- return $(() => {
19
- const t = a.current;
20
- if (t) {
21
- if (o === "draw") {
22
- const f = t.getTotalLength();
23
- t.style.strokeDasharray = `${f}`, t.style.strokeDashoffset = `${f}`, t.getBoundingClientRect(), requestAnimationFrame(() => {
24
- t.style.transition = `stroke-dashoffset ${r}s linear ${s}s`, t.style.strokeDashoffset = "0";
25
- });
26
- }
27
- o === "fade" && (t.style.opacity = "0", t.getBoundingClientRect(), requestAnimationFrame(() => {
28
- t.style.transition = `opacity 0s ease-in-out ${s}s`, t.style.opacity = "1";
29
- }));
30
- }
31
- }, [c, o, r, s]), /* @__PURE__ */ l(k, { width: 2 * e, height: 2 * e, viewBox: `0 0 ${2 * e} ${2 * e}`, children: /* @__PURE__ */ l(
32
- w,
33
- {
34
- ref: a,
35
- d: c,
36
- fill: "none",
37
- stroke: h,
38
- strokeWidth: n,
39
- strokeLinecap: "butt",
40
- $playRainbowColors: y
41
- }
42
- ) });
43
- };
44
- export {
45
- x as AnimatedArc
46
- };
47
- //# sourceMappingURL=animated-arc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animated-arc.js","sources":["../../../../../../src/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.tsx"],"sourcesContent":["import type { IAnimatedArcProps } from './animated-arc-types';\n\nimport React, { useRef, useLayoutEffect } from 'react';\n\nimport { describeArc } from '../../helper';\nimport * as Styled from './animated-arc-styled';\nimport { ADJUSTED_START_ANGLE } from './constants';\n\nexport const AnimatedArc: React.FC<IAnimatedArcProps> = ({\n radius,\n strokeWidth,\n color,\n targetAngle,\n startAngle = 0,\n duration = 2,\n mode = 'draw',\n delay = 0,\n playRainbowColors = false,\n}) => {\n const pathRef = useRef<SVGPathElement>(null);\n\n const adjustedStartAngle = -ADJUSTED_START_ANGLE + startAngle;\n const center = radius;\n const arcRadius = radius - strokeWidth / 2; // draw arc inside the visible bounds\n const arcPath = describeArc(center, center, arcRadius, adjustedStartAngle, targetAngle);\n\n useLayoutEffect(() => {\n const path = pathRef.current;\n\n if (!path) return;\n\n if (mode === 'draw') {\n const length = path.getTotalLength();\n\n path.style.strokeDasharray = `${length}`;\n path.style.strokeDashoffset = `${length}`;\n path.getBoundingClientRect();\n\n requestAnimationFrame(() => {\n path.style.transition = `stroke-dashoffset ${duration}s linear ${delay}s`;\n path.style.strokeDashoffset = '0';\n });\n }\n\n if (mode === 'fade') {\n path.style.opacity = '0';\n path.getBoundingClientRect();\n\n requestAnimationFrame(() => {\n path.style.transition = `opacity 0s ease-in-out ${delay}s`;\n path.style.opacity = '1';\n });\n }\n }, [arcPath, mode, duration, delay]);\n\n return (\n <Styled.Svg width={2 * radius} height={2 * radius} viewBox={`0 0 ${2 * radius} ${2 * radius}`}>\n <Styled.Path\n ref={pathRef}\n d={arcPath}\n fill=\"none\"\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"butt\"\n $playRainbowColors={playRainbowColors}\n />\n </Styled.Svg>\n );\n};\n"],"names":["AnimatedArc","radius","strokeWidth","color","targetAngle","startAngle","duration","mode","delay","playRainbowColors","pathRef","useRef","adjustedStartAngle","ADJUSTED_START_ANGLE","center","arcRadius","arcPath","describeArc","useLayoutEffect","path","length","Styled.Svg","jsx","Styled.Path"],"mappings":";;;;;AAQO,MAAMA,IAA2C,CAAC;AAAA,EACvD,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,mBAAAC,IAAoB;AACtB,MAAM;AACE,QAAAC,IAAUC,EAAuB,IAAI,GAErCC,IAAqB,CAACC,IAAuBR,GAC7CS,IAASb,GACTc,IAAYd,IAASC,IAAc,GACnCc,IAAUC,EAAYH,GAAQA,GAAQC,GAAWH,GAAoBR,CAAW;AAEtF,SAAAc,EAAgB,MAAM;AACpB,UAAMC,IAAOT,EAAQ;AAErB,QAAKS,GAEL;AAAA,UAAIZ,MAAS,QAAQ;AACb,cAAAa,IAASD,EAAK;AAEf,QAAAA,EAAA,MAAM,kBAAkB,GAAGC,CAAM,IACjCD,EAAA,MAAM,mBAAmB,GAAGC,CAAM,IACvCD,EAAK,sBAAsB,GAE3B,sBAAsB,MAAM;AAC1B,UAAAA,EAAK,MAAM,aAAa,qBAAqBb,CAAQ,YAAYE,CAAK,KACtEW,EAAK,MAAM,mBAAmB;AAAA,QAAA,CAC/B;AAAA,MACH;AAEA,MAAIZ,MAAS,WACXY,EAAK,MAAM,UAAU,KACrBA,EAAK,sBAAsB,GAE3B,sBAAsB,MAAM;AACrB,QAAAA,EAAA,MAAM,aAAa,0BAA0BX,CAAK,KACvDW,EAAK,MAAM,UAAU;AAAA,MAAA,CACtB;AAAA;AAAA,KAEF,CAACH,GAAST,GAAMD,GAAUE,CAAK,CAAC,qBAGhCa,GAAA,EAAW,OAAO,IAAIpB,GAAQ,QAAQ,IAAIA,GAAQ,SAAS,OAAO,IAAIA,CAAM,IAAI,IAAIA,CAAM,IACzF,UAAA,gBAAAqB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKb;AAAA,MACL,GAAGM;AAAA,MACH,MAAK;AAAA,MACL,QAAQb;AAAA,MACR,aAAAD;AAAA,MACA,eAAc;AAAA,MACd,oBAAoBO;AAAA,IAAA;AAAA,EAExB,EAAA,CAAA;AAEJ;"}
@@ -1,6 +0,0 @@
1
- const A = 1, _ = 150;
2
- export {
3
- _ as ADJUSTED_START_ANGLE,
4
- A as ARC_Z_INDEX
5
- };
6
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../src/features/post-game-stats/digital-meter/comp/animated-arc/constants.ts"],"sourcesContent":["export const ARC_Z_INDEX = 1;\n\nexport const ADJUSTED_START_ANGLE = 150;\n"],"names":["ARC_Z_INDEX","ADJUSTED_START_ANGLE"],"mappings":"AAAO,MAAMA,IAAc,GAEdC,IAAuB;"}
@@ -1,16 +0,0 @@
1
- import { ARC_Z_INDEX as _ } from "./comp/animated-arc/constants.js";
2
- const I = 300, N = 2, A = _ + 1, E = A + 1, T = E + 1, O = 99 / 30, o = 2 / 30, L = 56 / 30, t = 12 / 30, D = 20 / 30, c = 43 / 30;
3
- export {
4
- N as BORDER_OFFSET,
5
- E as CONTENT_CONTAINER_Z_INDEX,
6
- A as LINE_MARKING_Z_INDEX,
7
- T as NUMBER_MARKING_Z_INDEX,
8
- t as PROGRESS_FILL_DELAY,
9
- D as PROGRESS_FILL_DURATION,
10
- c as RAINBOW_COLOR_ANIMATION_DURATION,
11
- L as TARGET_ACHIEVED_DELAY,
12
- o as TARGET_HELPER_TEXT_APPEAR_DELAY,
13
- O as TOTAL_ANIMATION_DURATION,
14
- I as TOTAL_ARC_AVAILABLE
15
- };
16
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/post-game-stats/digital-meter/constants.ts"],"sourcesContent":["import { ARC_Z_INDEX } from './comp/animated-arc/constants';\n\nexport const TOTAL_ARC_AVAILABLE = 300;\n\nexport const BORDER_OFFSET = 2;\nexport const LINE_MARKING_Z_INDEX = ARC_Z_INDEX + 1;\nexport const CONTENT_CONTAINER_Z_INDEX = LINE_MARKING_Z_INDEX + 1;\nexport const NUMBER_MARKING_Z_INDEX = CONTENT_CONTAINER_Z_INDEX + 1;\n\n// animation details\nexport const TOTAL_ANIMATION_DURATION = 99 / 30; // in 99 frames\nexport const TARGET_HELPER_TEXT_APPEAR_DELAY = 2 / 30; // delay of 2 frames\nexport const TARGET_ACHIEVED_DELAY = 56 / 30; // 56 frames\nexport const PROGRESS_FILL_DELAY = 12 / 30; // delay of 12 frames\nexport const PROGRESS_FILL_DURATION = 20 / 30; // in 20 frames\nexport const RAINBOW_COLOR_ANIMATION_DURATION = 43 / 30; // 43 frames;\n"],"names":["TOTAL_ARC_AVAILABLE","BORDER_OFFSET","LINE_MARKING_Z_INDEX","ARC_Z_INDEX","CONTENT_CONTAINER_Z_INDEX","NUMBER_MARKING_Z_INDEX","TOTAL_ANIMATION_DURATION","TARGET_HELPER_TEXT_APPEAR_DELAY","TARGET_ACHIEVED_DELAY","PROGRESS_FILL_DELAY","PROGRESS_FILL_DURATION","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";AAEO,MAAMA,IAAsB,KAEtBC,IAAgB,GAChBC,IAAuBC,IAAc,GACrCC,IAA4BF,IAAuB,GACnDG,IAAyBD,IAA4B,GAGrDE,IAA2B,KAAK,IAChCC,IAAkC,IAAI,IACtCC,IAAwB,KAAK,IAC7BC,IAAsB,KAAK,IAC3BC,IAAyB,KAAK,IAC9BC,IAAmC,KAAK;"}
@@ -1,87 +0,0 @@
1
- import o, { keyframes as e } from "styled-components";
2
- import { GAME_LAUNCHER_SIZE as r, GAME_LAUNCHER_SIZE_LARGE as s } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
- import i from "../../ui/text/text.js";
4
- import { ADJUSTED_START_ANGLE as n } from "./comp/animated-arc/constants.js";
5
- import { CONTENT_CONTAINER_Z_INDEX as l, LINE_MARKING_Z_INDEX as d, NUMBER_MARKING_Z_INDEX as m, TARGET_HELPER_TEXT_APPEAR_DELAY as a, RAINBOW_COLOR_ANIMATION_DURATION as p } from "./constants.js";
6
- import { rainbowColorAnimation as f } from "./helper.js";
7
- const g = o.div`
8
- height: ${r}px;
9
- width: ${r}px;
10
- background-color: ${({ theme: t }) => t.colors.BLACK_2};
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- position: relative;
15
- border-radius: 100%;
16
- border: 1px solid ${({ theme: t }) => t.colors.WHITE};
17
- animation: ${({ $isTargetAchieved: t }) => t ? e`100%{transform: scale(1.02)}` : "unset"}
18
- 0.133s ease alternate;
19
- `, N = o.div`
20
- display: flex;
21
- justify-content: center;
22
- align-items: center;
23
- position: absolute;
24
- z-index: ${l};
25
- height: 92%;
26
- width: 92%;
27
- border-radius: 100%;
28
- background-color: ${({ theme: t }) => t.colors.BLACK_2};
29
- `, b = o.div`
30
- position: relative;
31
- flex-grow: 1;
32
- bottom: ${r === s ? -8 : -6}px;
33
- `;
34
- o.div`
35
- position: absolute;
36
- `;
37
- const u = o.div`
38
- width: ${r / 2}px;
39
- height: 2px;
40
- position: absolute;
41
- background-color: ${({ theme: t }) => t.colors.BLACK_2};
42
- transform-style: preserve-3d;
43
- backface-visibility: hidden;
44
- transform-origin: left;
45
- transform: rotate(${({ $angle: t }) => -240 + t}deg);
46
- left: ${r / 2}px;
47
- top: ${r / 2}px;
48
- z-index: ${d};
49
- `, T = o.div`
50
- position: absolute;
51
- height: ${r - r * 0.0625 - 10}px;
52
- transform: rotate(${({ $angle: t }) => -n + t}deg);
53
- z-index: ${m};
54
- `, h = o.div`
55
- transform: rotate(${({ $angle: t }) => n - t}deg);
56
- `, C = o.div`
57
- position: absolute;
58
- top: 0;
59
- transform: ${({ top: t }) => `translateY(${t}px)`};
60
- `, R = o(i)`
61
- animation: ${e`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s
62
- ease-in-out ${a}s forwards;
63
- `, I = o(i)`
64
- animation: ${e`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s
65
- ease ${a}s forwards;
66
- `;
67
- o.div`
68
- height: 100%;
69
- width: 100%;
70
- `;
71
- const v = o(i)`
72
- animation: ${({ $isTargetAchieved: t }) => t ? f : "unset"}
73
- ${p}s ease infinite forwards;
74
- `;
75
- export {
76
- C as BottomAbsoluteView,
77
- N as ContentContainer,
78
- g as DigitalMeter,
79
- R as HelperTextPrimary,
80
- I as HelperTextSecondary,
81
- u as LineMarking,
82
- T as MarkingContainer,
83
- h as MarkingText,
84
- b as NumberCountContainer,
85
- v as RainboxColorText
86
- };
87
- //# sourceMappingURL=digital-meter-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"digital-meter-styled.js","sources":["../../../../src/features/post-game-stats/digital-meter/digital-meter-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport {\n GAME_LAUNCHER_SIZE,\n GAME_LAUNCHER_SIZE_LARGE,\n} from '../../circle-games/game-launcher/comps/card-container/constants';\nimport Text from '../../ui/text/text';\nimport { ADJUSTED_START_ANGLE } from './comp/animated-arc/constants';\nimport {\n CONTENT_CONTAINER_Z_INDEX,\n LINE_MARKING_Z_INDEX,\n NUMBER_MARKING_Z_INDEX,\n RAINBOW_COLOR_ANIMATION_DURATION,\n TARGET_HELPER_TEXT_APPEAR_DELAY,\n} from './constants';\nimport { rainbowColorAnimation } from './helper';\n\nexport const DigitalMeter = styled.div<{ $isTargetAchieved: boolean }>`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border-radius: 100%;\n border: 1px solid ${({ theme }) => theme.colors.WHITE};\n animation: ${({ $isTargetAchieved }) =>\n $isTargetAchieved ? keyframes`100%{transform: scale(1.02)}` : 'unset'}\n 0.133s ease alternate;\n`;\n\nexport const ContentContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n z-index: ${CONTENT_CONTAINER_Z_INDEX};\n height: 92%;\n width: 92%;\n border-radius: 100%;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n`;\n\nexport const NumberCountContainer = styled.div`\n position: relative;\n flex-grow: 1;\n bottom: ${GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE ? -8 : -6}px;\n`;\n\nexport const AbsoluteView = styled.div`\n position: absolute;\n`;\n\nexport const LineMarking = styled.div<{\n $angle: number;\n}>`\n width: ${GAME_LAUNCHER_SIZE / 2}px;\n height: 2px;\n position: absolute;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n transform-style: preserve-3d;\n backface-visibility: hidden;\n transform-origin: left;\n transform: rotate(${({ $angle }) => -240 + $angle}deg);\n left: ${GAME_LAUNCHER_SIZE / 2}px;\n top: ${GAME_LAUNCHER_SIZE / 2}px;\n z-index: ${LINE_MARKING_Z_INDEX};\n`;\n\nexport const MarkingContainer = styled.div<{ $angle: number }>`\n position: absolute;\n height: ${GAME_LAUNCHER_SIZE - GAME_LAUNCHER_SIZE * 0.0625 - 10}px;\n transform: rotate(${({ $angle }) => -ADJUSTED_START_ANGLE + $angle}deg);\n z-index: ${NUMBER_MARKING_Z_INDEX};\n`;\n\nexport const MarkingText = styled.div<{ $angle: number }>`\n transform: rotate(${({ $angle }) => ADJUSTED_START_ANGLE - $angle}deg);\n`;\n\nexport const BottomAbsoluteView = styled.div<{ top: number }>`\n position: absolute;\n top: 0;\n transform: ${({ top }) => `translateY(${top}px)`};\n`;\n\nexport const HelperTextPrimary = styled(Text)`\n animation: ${keyframes`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s\n ease-in-out ${TARGET_HELPER_TEXT_APPEAR_DELAY}s forwards;\n`;\n\nexport const HelperTextSecondary = styled(Text)`\n animation: ${keyframes`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s\n ease ${TARGET_HELPER_TEXT_APPEAR_DELAY}s forwards;\n`;\n\nexport const TargetAchievedTextLottie = styled.div`\n height: 100%;\n width: 100%;\n`;\n\nexport const RainboxColorText = styled(Text)<{ $isTargetAchieved: boolean }>`\n animation: ${({ $isTargetAchieved }) => ($isTargetAchieved ? rainbowColorAnimation : 'unset')}\n ${RAINBOW_COLOR_ANIMATION_DURATION}s ease infinite forwards;\n`;\n"],"names":["DigitalMeter","styled","GAME_LAUNCHER_SIZE","theme","$isTargetAchieved","keyframes","ContentContainer","CONTENT_CONTAINER_Z_INDEX","NumberCountContainer","GAME_LAUNCHER_SIZE_LARGE","LineMarking","$angle","LINE_MARKING_Z_INDEX","MarkingContainer","ADJUSTED_START_ANGLE","NUMBER_MARKING_Z_INDEX","MarkingText","BottomAbsoluteView","top","HelperTextPrimary","Text","TARGET_HELPER_TEXT_APPEAR_DELAY","HelperTextSecondary","RainboxColorText","rainbowColorAnimation","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";;;;;;AAiBO,MAAMA,IAAeC,EAAO;AAAA,YACvBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA,sBACP,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMnC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,eACxC,CAAC,EAAE,mBAAAC,QACZA,IAAoBC,kCAA0C,OAAO;AAAA;AAAA,GAI9DC,IAAmBL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAK1BM,CAAyB;AAAA;AAAA;AAAA;AAAA,sBAIhB,CAAC,EAAE,OAAAJ,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,GAG5CK,IAAuBP,EAAO;AAAA;AAAA;AAAA,YAG/BC,MAAuBO,IAA2B,KAAK,EAAE;AAAA;AAGzCR,EAAO;AAAA;AAAA;AAI5B,MAAMS,IAAcT,EAAO;AAAA,WAGvBC,IAAqB,CAAC;AAAA;AAAA;AAAA,sBAGX,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,sBAInC,CAAC,EAAE,QAAAQ,EAAO,MAAM,OAAOA,CAAM;AAAA,UACzCT,IAAqB,CAAC;AAAA,SACvBA,IAAqB,CAAC;AAAA,aAClBU,CAAoB;AAAA,GAGpBC,IAAmBZ,EAAO;AAAA;AAAA,YAE3BC,IAAqBA,IAAqB,SAAS,EAAE;AAAA,sBAC3C,CAAC,EAAE,QAAAS,EAAA,MAAa,CAACG,IAAuBH,CAAM;AAAA,aACvDI,CAAsB;AAAA,GAGtBC,IAAcf,EAAO;AAAA,sBACZ,CAAC,EAAE,QAAAU,QAAaG,IAAuBH,CAAM;AAAA,GAGtDM,IAAqBhB,EAAO;AAAA;AAAA;AAAA,eAG1B,CAAC,EAAE,KAAAiB,EAAU,MAAA,cAAcA,CAAG,KAAK;AAAA,GAGrCC,IAAoBlB,EAAOmB,CAAI;AAAA,eAC7Bf,iEAAyE;AAAA,kBACtEgB,CAA+B;AAAA,GAGpCC,IAAsBrB,EAAOmB,CAAI;AAAA,eAC/Bf,iEAAyE;AAAA,WAC7EgB,CAA+B;AAAA;AAGFpB,EAAO;AAAA;AAAA;AAAA;AAKlC,MAAAsB,IAAmBtB,EAAOmB,CAAI;AAAA,eAC5B,CAAC,EAAE,mBAAAhB,EAAA,MAAyBA,IAAoBoB,IAAwB,OAAQ;AAAA,MACzFC,CAAgC;AAAA;"}