@cuemath/leap 2.8.36-tables-beta-hg2 → 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,102 +1,115 @@
1
- import { jsx as P } from "react/jsx-runtime";
2
- import { forwardRef as G, useRef as W, useMemo as _, useCallback as T, useImperativeHandle as V, useEffect as $ } from "react";
3
- import { useUIContext as B } from "../../../ui/context/context.js";
1
+ import { jsx as G } from "react/jsx-runtime";
2
+ import { forwardRef as M, useRef as W, useMemo as j, useCallback as A, useImperativeHandle as H, useEffect as V } from "react";
3
+ import { useUIContext as $ } from "../../../ui/context/context.js";
4
4
  import { ALLOWED_ORIGIN as N } from "./constants.js";
5
- import { ProjectType as s } from "./enums/project-type-enum.js";
6
- import { WebViewEvent as o } from "./enums/web-view-events-enum.js";
7
- const F = G((C, I) => {
5
+ import { ProjectType as I } from "./enums/project-type-enum.js";
6
+ import { WebViewEvent as i } from "./enums/web-view-events-enum.js";
7
+ const q = M((C, P) => {
8
8
  const {
9
- baseUrl: L,
10
- projectDetails: y,
11
- playerDetails: v,
9
+ baseUrl: R,
10
+ projectDetails: v,
11
+ playerDetails: T,
12
12
  onGameLoad: a,
13
- onGamePlayFinish: p,
14
- handleInfoMessage: c,
15
- onBack: f,
16
- parentDomain: w,
17
- ...R
18
- } = C, l = W(null), D = _(() => v, [v]), t = _(() => y, [y]);
19
- let A = "";
20
- const { onEvent: O } = B();
21
- t.projectType === s.LESSON && (A = t.miniGameIdentifier);
22
- const m = T(() => {
23
- const { enableCloseButton: n = !0 } = t;
13
+ onGamePlayFinish: c,
14
+ handleInfoMessage: f,
15
+ onBack: p,
16
+ parentDomain: g,
17
+ ...b
18
+ } = C, l = W(null), w = j(() => T, [T]), o = j(() => v, [v]);
19
+ let u = "";
20
+ const { onEvent: D } = $();
21
+ o.projectType === I.LESSON && (u = o.miniGameIdentifier);
22
+ const m = A(() => {
23
+ const {
24
+ enableCloseButton: r = !0,
25
+ enablePlayerTurnIndicators: s = !1,
26
+ enableSync: t = !1,
27
+ joinByRoomId: E = ""
28
+ } = o;
24
29
  let e = {
25
- enableCloseButton: n
30
+ joinByRoomId: E,
31
+ enableCloseButton: r,
32
+ enablePlayerTurnIndicators: s,
33
+ enableSync: t
26
34
  };
27
- return t.projectType === s.GAME && (e = {
28
- ...e,
29
- ...t
30
- }), t.projectType === s.PUZZLE && (e = {
31
- ...e,
32
- ...t
33
- }), t.projectType === s.LESSON && (e = {
34
- ...e,
35
- ...t
36
- }), t.projectType === s.TABLE && (e = {
37
- ...e,
38
- ...t
39
- }), e;
40
- }, [t]), E = T(() => {
41
- var e, r;
42
- const n = m();
43
- (r = (e = l.current) == null ? void 0 : e.contentWindow) == null || r.postMessage(
35
+ if (o.projectType === I.PUZZLE) {
36
+ const n = o;
37
+ e = {
38
+ ...e,
39
+ question: n.question,
40
+ askHintPermission: n.askHintPermission
41
+ };
42
+ }
43
+ if (o.projectType === I.LESSON) {
44
+ const n = o;
45
+ e = {
46
+ ...e,
47
+ miniGameIdentifier: n.miniGameIdentifier,
48
+ sessionId: n.sessionId,
49
+ targetQuestions: n.targetQuestions
50
+ };
51
+ }
52
+ return e;
53
+ }, [o]), d = A(() => {
54
+ var s, t;
55
+ const r = m();
56
+ (t = (s = l.current) == null ? void 0 : s.contentWindow) == null || t.postMessage(
44
57
  JSON.stringify({
45
- event: o.GAME_DATA,
46
- payload: n
58
+ event: i.GAME_DATA,
59
+ payload: r
47
60
  }),
48
61
  N
49
62
  );
50
- }, [m]), g = T(() => {
51
- var e, r;
52
- const n = m();
53
- (r = (e = l.current) == null ? void 0 : e.contentWindow) == null || r.postMessage(
63
+ }, [m]), O = A(() => {
64
+ var s, t;
65
+ const r = m();
66
+ (t = (s = l.current) == null ? void 0 : s.contentWindow) == null || t.postMessage(
54
67
  JSON.stringify({
55
- event: o.SET_CONFIG,
68
+ event: i.SET_CONFIG,
56
69
  payload: {
57
- user: D,
58
- projectConfig: n,
59
- parentDomain: w
70
+ user: w,
71
+ projectConfig: r,
72
+ parentDomain: g
60
73
  }
61
74
  }),
62
75
  N
63
76
  );
64
- }, [D, m, w]);
65
- return V(I, () => l.current, []), $(() => {
66
- const n = (e) => {
67
- var j, S;
68
- const r = e.data, b = typeof r == "string" ? JSON.parse(r) : r, { event: i, payload: d = null } = b;
69
- if (i === o.VIBRATE) {
70
- const { pattern: u } = d;
71
- (S = (j = window.navigator).vibrate) == null || S.call(j, u);
77
+ }, [w, m, g]);
78
+ return H(P, () => l.current, []), V(() => {
79
+ const r = (s) => {
80
+ var S, _;
81
+ const t = s.data, E = typeof t == "string" ? JSON.parse(t) : t, { event: e, payload: n = null } = E;
82
+ if (e === i.VIBRATE) {
83
+ const { pattern: y } = n;
84
+ (_ = (S = window.navigator).vibrate) == null || _.call(S, y);
72
85
  }
73
- if (i === o.GAME_BACK && (f == null || f()), i === o.HIDE_LOADER && (a == null || a()), i === o.LOAD_DATA_FROM_APP && (E == null || E()), i === o.GET_CONFIG && g(), i === o.UPDATE_STATS && (p == null || p(d)), i === o.SHOW_SNACKBAR && (c == null || c(d)), i === o.TRACK_EVENT) {
74
- const { eventName: u, properties: M } = d;
75
- O(u, M);
86
+ if (e === i.GAME_BACK && (p == null || p()), e === i.HIDE_LOADER && (a == null || a()), e === i.LOAD_DATA_FROM_APP && (d == null || d()), e === i.GET_CONFIG && O(), e === i.UPDATE_STATS && (c == null || c(n)), e === i.SHOW_SNACKBAR && (f == null || f(n)), e === i.TRACK_EVENT) {
87
+ const { eventName: y, properties: L } = n;
88
+ D(y, L);
76
89
  }
77
90
  };
78
- return window.addEventListener("message", n), () => {
79
- window.removeEventListener("message", n);
91
+ return window.addEventListener("message", r), () => {
92
+ window.removeEventListener("message", r);
80
93
  };
81
94
  }, [
82
- c,
83
95
  f,
84
96
  p,
97
+ c,
85
98
  a,
86
- g,
87
- E,
88
- O
89
- ]), /* @__PURE__ */ P(
99
+ O,
100
+ d,
101
+ D
102
+ ]), /* @__PURE__ */ G(
90
103
  "iframe",
91
104
  {
92
- ...R,
105
+ ...b,
93
106
  ref: l,
94
- src: `${L}/play-game/${t.projectId}/${t.variant}${A ? `/${A}` : ""}?version=2`,
107
+ src: `${R}/play-game/${o.projectId}/${o.variant}${u ? `/${u}` : ""}?version=2`,
95
108
  allow: "autoplay"
96
109
  }
97
110
  );
98
111
  });
99
112
  export {
100
- F as WebView
113
+ q as WebView
101
114
  };
102
115
  //# sourceMappingURL=web-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-view.js","sources":["../../../../../src/features/circle-games/games/web-view/web-view.tsx"],"sourcesContent":["import type {\n IInfoMessage,\n ILessonWebGameProps,\n IMessageProps,\n IMultiplayerWebGameProps,\n IPlayerStats,\n IPuzzleWebGameProps,\n ITableWebGameProps,\n IVibrationPattern,\n IWebViewProps,\n} from './web-view-types';\nimport type { ForwardedRef } from 'react';\n\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\n\nimport { useUIContext } from '../../../ui/context/context';\nimport { ALLOWED_ORIGIN } from './constants';\nimport { ProjectType, WebViewEvent } from './enums';\n\nexport const WebView = forwardRef((props: IWebViewProps, ref: ForwardedRef<HTMLIFrameElement>) => {\n const {\n baseUrl,\n projectDetails,\n playerDetails,\n onGameLoad,\n onGamePlayFinish,\n handleInfoMessage,\n onBack,\n parentDomain,\n ...rest\n } = props;\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const memoizedPlayerDetails = useMemo(() => playerDetails, [playerDetails]);\n const memoizedProjectDetails = useMemo(() => projectDetails, [projectDetails]);\n\n let miniGameIdentifier = '';\n const { onEvent: trackEvent } = useUIContext();\n\n if (memoizedProjectDetails.projectType === ProjectType.LESSON) {\n miniGameIdentifier = (memoizedProjectDetails as ILessonWebGameProps).miniGameIdentifier;\n }\n\n const getProjectDetails = useCallback(() => {\n const { enableCloseButton = true } = memoizedProjectDetails;\n\n let payload = {\n enableCloseButton,\n } as IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps;\n\n if (memoizedProjectDetails.projectType === ProjectType.GAME) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as IMultiplayerWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.PUZZLE) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as IPuzzleWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.LESSON) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as ILessonWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.TABLE) {\n payload = {\n ...payload,\n ...memoizedProjectDetails,\n } as ITableWebGameProps;\n }\n\n return payload;\n }, [memoizedProjectDetails]);\n\n const sendGamesData = useCallback(() => {\n const payload = getProjectDetails();\n\n webViewRef.current?.contentWindow?.postMessage(\n JSON.stringify({\n event: WebViewEvent.GAME_DATA,\n payload,\n }),\n ALLOWED_ORIGIN,\n );\n }, [getProjectDetails]);\n\n const setConfig = useCallback(() => {\n const projectConfig = getProjectDetails();\n\n webViewRef.current?.contentWindow?.postMessage(\n JSON.stringify({\n event: WebViewEvent.SET_CONFIG,\n payload: {\n user: memoizedPlayerDetails,\n projectConfig,\n parentDomain,\n },\n }),\n ALLOWED_ORIGIN,\n );\n }, [memoizedPlayerDetails, getProjectDetails, parentDomain]);\n\n useImperativeHandle(ref, () => webViewRef.current as HTMLIFrameElement, []);\n\n useEffect(() => {\n const handleMessage = (e: MessageEvent) => {\n const data: string = e.data;\n const parsedData = typeof data === 'string' ? JSON.parse(data) : (data as IMessageProps);\n\n const { event, payload = null } = parsedData;\n\n if (event === WebViewEvent.VIBRATE) {\n const { pattern } = payload as IVibrationPattern;\n\n window.navigator.vibrate?.(pattern);\n }\n\n if (event === WebViewEvent.GAME_BACK) {\n onBack?.();\n }\n\n if (event === WebViewEvent.HIDE_LOADER) {\n onGameLoad?.();\n }\n\n if (event === WebViewEvent.LOAD_DATA_FROM_APP) {\n sendGamesData?.();\n }\n\n if (event === WebViewEvent.GET_CONFIG) {\n setConfig();\n }\n\n if (event === WebViewEvent.UPDATE_STATS) {\n onGamePlayFinish?.(payload as IPlayerStats);\n }\n\n if (event === WebViewEvent.SHOW_SNACKBAR) {\n handleInfoMessage?.(payload as IInfoMessage);\n }\n\n if (event === WebViewEvent.TRACK_EVENT) {\n const { eventName, properties } = payload;\n\n trackEvent(eventName, properties);\n }\n };\n\n window.addEventListener('message', handleMessage);\n\n return () => {\n window.removeEventListener('message', handleMessage);\n };\n }, [\n handleInfoMessage,\n onBack,\n onGamePlayFinish,\n onGameLoad,\n setConfig,\n sendGamesData,\n trackEvent,\n ]);\n\n return (\n <iframe\n {...rest}\n ref={webViewRef}\n src={`${baseUrl}/play-game/${memoizedProjectDetails.projectId}/${\n memoizedProjectDetails.variant\n }${miniGameIdentifier ? `/${miniGameIdentifier}` : ''}?version=2`}\n allow=\"autoplay\"\n />\n );\n});\n"],"names":["WebView","forwardRef","props","ref","baseUrl","projectDetails","playerDetails","onGameLoad","onGamePlayFinish","handleInfoMessage","onBack","parentDomain","rest","webViewRef","useRef","memoizedPlayerDetails","useMemo","memoizedProjectDetails","miniGameIdentifier","trackEvent","useUIContext","ProjectType","getProjectDetails","useCallback","enableCloseButton","payload","sendGamesData","_b","_a","WebViewEvent","ALLOWED_ORIGIN","setConfig","projectConfig","useImperativeHandle","useEffect","handleMessage","data","parsedData","event","pattern","eventName","properties","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"web-view.js","sources":["../../../../../src/features/circle-games/games/web-view/web-view.tsx"],"sourcesContent":["import type {\n IInfoMessage,\n ILessonWebGameProps,\n IMessageProps,\n IMultiplayerWebGameProps,\n IPlayerStats,\n IPuzzleWebGameProps,\n IVibrationPattern,\n IWebViewProps,\n} from './web-view-types';\nimport type { ForwardedRef } from 'react';\n\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\n\nimport { useUIContext } from '../../../ui/context/context';\nimport { ALLOWED_ORIGIN } from './constants';\nimport { ProjectType, WebViewEvent } from './enums';\n\nexport const WebView = forwardRef((props: IWebViewProps, ref: ForwardedRef<HTMLIFrameElement>) => {\n const {\n baseUrl,\n projectDetails,\n playerDetails,\n onGameLoad,\n onGamePlayFinish,\n handleInfoMessage,\n onBack,\n parentDomain,\n ...rest\n } = props;\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const memoizedPlayerDetails = useMemo(() => playerDetails, [playerDetails]);\n const memoizedProjectDetails = useMemo(() => projectDetails, [projectDetails]);\n\n let miniGameIdentifier = '';\n const { onEvent: trackEvent } = useUIContext();\n\n if (memoizedProjectDetails.projectType === ProjectType.LESSON) {\n miniGameIdentifier = (memoizedProjectDetails as ILessonWebGameProps).miniGameIdentifier;\n }\n\n const getProjectDetails = useCallback(() => {\n const {\n enableCloseButton = true,\n enablePlayerTurnIndicators = false,\n enableSync = false,\n joinByRoomId = '',\n } = memoizedProjectDetails;\n\n let payload = {\n joinByRoomId,\n enableCloseButton,\n enablePlayerTurnIndicators,\n enableSync,\n } as IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps;\n\n if (memoizedProjectDetails.projectType === ProjectType.PUZZLE) {\n const details = memoizedProjectDetails as IPuzzleWebGameProps;\n\n payload = {\n ...payload,\n question: details.question,\n askHintPermission: details.askHintPermission,\n } as IPuzzleWebGameProps;\n }\n\n if (memoizedProjectDetails.projectType === ProjectType.LESSON) {\n const details = memoizedProjectDetails as ILessonWebGameProps;\n\n payload = {\n ...payload,\n miniGameIdentifier: details.miniGameIdentifier,\n sessionId: details.sessionId,\n targetQuestions: details.targetQuestions,\n } as ILessonWebGameProps;\n }\n\n return payload;\n }, [memoizedProjectDetails]);\n\n const sendGamesData = useCallback(() => {\n const payload = getProjectDetails();\n\n webViewRef.current?.contentWindow?.postMessage(\n JSON.stringify({\n event: WebViewEvent.GAME_DATA,\n payload,\n }),\n ALLOWED_ORIGIN,\n );\n }, [getProjectDetails]);\n\n const setConfig = useCallback(() => {\n const projectConfig = getProjectDetails();\n\n webViewRef.current?.contentWindow?.postMessage(\n JSON.stringify({\n event: WebViewEvent.SET_CONFIG,\n payload: {\n user: memoizedPlayerDetails,\n projectConfig,\n parentDomain,\n },\n }),\n ALLOWED_ORIGIN,\n );\n }, [memoizedPlayerDetails, getProjectDetails, parentDomain]);\n\n useImperativeHandle(ref, () => webViewRef.current as HTMLIFrameElement, []);\n\n useEffect(() => {\n const handleMessage = (e: MessageEvent) => {\n const data: string = e.data;\n const parsedData = typeof data === 'string' ? JSON.parse(data) : (data as IMessageProps);\n\n const { event, payload = null } = parsedData;\n\n if (event === WebViewEvent.VIBRATE) {\n const { pattern } = payload as IVibrationPattern;\n\n window.navigator.vibrate?.(pattern);\n }\n\n if (event === WebViewEvent.GAME_BACK) {\n onBack?.();\n }\n\n if (event === WebViewEvent.HIDE_LOADER) {\n onGameLoad?.();\n }\n\n if (event === WebViewEvent.LOAD_DATA_FROM_APP) {\n sendGamesData?.();\n }\n\n if (event === WebViewEvent.GET_CONFIG) {\n setConfig();\n }\n\n if (event === WebViewEvent.UPDATE_STATS) {\n onGamePlayFinish?.(payload as IPlayerStats);\n }\n\n if (event === WebViewEvent.SHOW_SNACKBAR) {\n handleInfoMessage?.(payload as IInfoMessage);\n }\n\n if (event === WebViewEvent.TRACK_EVENT) {\n const { eventName, properties } = payload;\n\n trackEvent(eventName, properties);\n }\n };\n\n window.addEventListener('message', handleMessage);\n\n return () => {\n window.removeEventListener('message', handleMessage);\n };\n }, [\n handleInfoMessage,\n onBack,\n onGamePlayFinish,\n onGameLoad,\n setConfig,\n sendGamesData,\n trackEvent,\n ]);\n\n return (\n <iframe\n {...rest}\n ref={webViewRef}\n src={`${baseUrl}/play-game/${memoizedProjectDetails.projectId}/${\n memoizedProjectDetails.variant\n }${miniGameIdentifier ? `/${miniGameIdentifier}` : ''}?version=2`}\n allow=\"autoplay\"\n />\n );\n});\n"],"names":["WebView","forwardRef","props","ref","baseUrl","projectDetails","playerDetails","onGameLoad","onGamePlayFinish","handleInfoMessage","onBack","parentDomain","rest","webViewRef","useRef","memoizedPlayerDetails","useMemo","memoizedProjectDetails","miniGameIdentifier","trackEvent","useUIContext","ProjectType","getProjectDetails","useCallback","enableCloseButton","enablePlayerTurnIndicators","enableSync","joinByRoomId","payload","details","sendGamesData","_b","_a","WebViewEvent","ALLOWED_ORIGIN","setConfig","projectConfig","useImperativeHandle","useEffect","handleMessage","e","data","parsedData","event","pattern","eventName","properties","jsx"],"mappings":"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"}
@@ -1,21 +1,20 @@
1
- import o, { keyframes as r, css as s } from "styled-components";
2
- import { GAME_LAUNCHER_SIZE as t } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
- import { GAME_LAUNCHER_ASSET_PADDING as a } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
4
- const p = 50 * 84 / 100, c = r`
1
+ import o, { keyframes as s, css as r } from "styled-components";
2
+ import { GAME_LAUNCHER_SIZE as t, GAME_LAUNCHER_ASSET_PADDING as a } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
3
+ const p = 50 * 84 / 100, c = s`
5
4
  0%{
6
5
  opacity: 0;
7
6
  }
8
7
  100%{
9
8
  opacity: 1;
10
9
  }
11
- `, d = r`
10
+ `, d = s`
12
11
  0%{
13
12
  opacity: 1;
14
13
  }
15
14
  100%{
16
15
  opacity: 0;
17
16
  }
18
- `, m = o.div`
17
+ `, f = o.div`
19
18
  height: ${t}px;
20
19
  width: ${t}px;
21
20
  background: transparent;
@@ -29,40 +28,40 @@ const p = 50 * 84 / 100, c = r`
29
28
  position: absolute;
30
29
  flex: 1;
31
30
  z-index: 1;
32
- `, y = o.div`
31
+ `, m = o.div`
33
32
  height: ${t + a}px;
34
33
  width: ${t + a}px;
35
34
  position: absolute;
36
35
  z-index: 2;
37
36
  transform: ${({ $translateX: e = 0, $translateY: i = 0, $rotate: n = 0 }) => `translateX(${e}px) translateY(${i}px) rotate(${n}deg)`};
38
- `, A = o.div`
37
+ `, y = o.div`
39
38
  height: 100%;
40
39
  width: 100%;
41
- `, h = o.div`
40
+ `, A = o.div`
42
41
  z-index: 2;
43
42
  opacity: 0;
44
43
  position: absolute;
45
- animation: ${({ $animationType: e, $duration: i, $delay: n }) => s`
44
+ animation: ${({ $animationType: e, $duration: i, $delay: n }) => r`
46
45
  ${e === "fadein" ? c : d} ${i}ms ${n}ms ease forwards
47
46
  `};
48
47
  transform: translateY(${(t + p) * 84 / 200 + 25}px);
49
- `, u = o.div`
48
+ `, h = o.div`
50
49
  position: absolute;
51
50
  z-index: 20;
52
51
  display: flex;
53
52
  flex-direction: row;
54
53
  align-items: flex-end;
55
54
 
56
- ${({ $animationType: e, $duration: i }) => e && i && s`
55
+ ${({ $animationType: e, $duration: i }) => e && i && r`
57
56
  animation: ${e === "fadein" ? c : d} ${i}ms linear forwards;
58
57
  `}
59
58
  `;
60
59
  export {
61
- m as Accuracy,
60
+ f as Accuracy,
62
61
  $ as AccuracyMeterLottie,
63
- A as AccuracyNeedleLottie,
64
- y as AnimatedAccuracyNeedleContainer,
65
- u as PercentTextWrapper,
66
- h as TextWrapper
62
+ y as AccuracyNeedleLottie,
63
+ m as AnimatedAccuracyNeedleContainer,
64
+ h as PercentTextWrapper,
65
+ A as TextWrapper
67
66
  };
68
67
  //# sourceMappingURL=accuracy-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accuracy-styled.js","sources":["../../../../src/features/post-game-stats/accuracy/accuracy-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport { GAME_LAUNCHER_ASSET_PADDING } from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Accuracy = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const AccuracyMeterLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n flex: 1;\n z-index: 1;\n`;\n\nexport const AnimatedAccuracyNeedleContainer = styled.div<{\n $translateX?: number;\n $translateY?: number;\n $rotate?: number;\n}>`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n transform: ${({ $translateX = 0, $translateY = 0, $rotate = 0 }) =>\n `translateX(${$translateX}px) translateY(${$translateY}px) rotate(${$rotate}deg)`};\n`;\n\nexport const AccuracyNeedleLottie = styled.div`\n height: 100%;\n width: 100%;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n position: absolute;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n\nexport const PercentTextWrapper = styled.div<{\n $animationType?: 'fadein' | 'fadeout';\n $duration?: number;\n}>`\n position: absolute;\n z-index: 20;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n\n ${({ $animationType, $duration }) =>\n $animationType &&\n $duration &&\n css`\n animation: ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms linear forwards;\n `}\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Accuracy","styled","GAME_LAUNCHER_SIZE","AccuracyMeterLottie","GAME_LAUNCHER_ASSET_PADDING","AnimatedAccuracyNeedleContainer","$translateX","$translateY","$rotate","AccuracyNeedleLottie","TextWrapper","$animationType","$duration","$delay","css","PercentTextWrapper"],"mappings":";;;AAKA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAWC,EAAO;AAAA,YACnBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAsBF,EAAO;AAAA,YAC9BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA;AAAA,GAM9CC,IAAkCJ,EAAO;AAAA,YAK1CC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,eAG5C,CAAC,EAAE,aAAAE,IAAc,GAAG,aAAAC,IAAc,GAAG,SAAAC,IAAU,EAAE,MAC5D,cAAcF,CAAW,kBAAkBC,CAAW,cAAcC,CAAO,MAAM;AAAA,GAGxEC,IAAuBR,EAAO;AAAA;AAAA;AAAA,GAK9BS,IAAcT,EAAO;AAAA;AAAA;AAAA;AAAA,eAQnB,CAAC,EAAE,gBAAAU,GAAgB,WAAAC,GAAW,QAAAC,QAAaC;AAAA,MACpDH,MAAmB,WAAWd,IAASE,CAAO,IAAIa,CAAS,MAAMC,CAAM;AAAA,GAC1E;AAAA,2BACyBX,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA,GAGlEmB,IAAqBd,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUrC,CAAC,EAAE,gBAAAU,GAAgB,WAAAC,EAAU,MAC7BD,KACAC,KACAE;AAAA,mBACeH,MAAmB,WAAWd,IAASE,CAAO,IAAIa,CAAS;AAAA,KACzE;AAAA;"}
1
+ {"version":3,"file":"accuracy-styled.js","sources":["../../../../src/features/post-game-stats/accuracy/accuracy-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_SIZE,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Accuracy = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const AccuracyMeterLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n flex: 1;\n z-index: 1;\n`;\n\nexport const AnimatedAccuracyNeedleContainer = styled.div<{\n $translateX?: number;\n $translateY?: number;\n $rotate?: number;\n}>`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n transform: ${({ $translateX = 0, $translateY = 0, $rotate = 0 }) =>\n `translateX(${$translateX}px) translateY(${$translateY}px) rotate(${$rotate}deg)`};\n`;\n\nexport const AccuracyNeedleLottie = styled.div`\n height: 100%;\n width: 100%;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n position: absolute;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n\nexport const PercentTextWrapper = styled.div<{\n $animationType?: 'fadein' | 'fadeout';\n $duration?: number;\n}>`\n position: absolute;\n z-index: 20;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n\n ${({ $animationType, $duration }) =>\n $animationType &&\n $duration &&\n css`\n animation: ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms linear forwards;\n `}\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Accuracy","styled","GAME_LAUNCHER_SIZE","AccuracyMeterLottie","GAME_LAUNCHER_ASSET_PADDING","AnimatedAccuracyNeedleContainer","$translateX","$translateY","$rotate","AccuracyNeedleLottie","TextWrapper","$animationType","$duration","$delay","css","PercentTextWrapper"],"mappings":";;AAOA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAWC,EAAO;AAAA,YACnBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAsBF,EAAO;AAAA,YAC9BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA;AAAA,GAM9CC,IAAkCJ,EAAO;AAAA,YAK1CC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,eAG5C,CAAC,EAAE,aAAAE,IAAc,GAAG,aAAAC,IAAc,GAAG,SAAAC,IAAU,EAAE,MAC5D,cAAcF,CAAW,kBAAkBC,CAAW,cAAcC,CAAO,MAAM;AAAA,GAGxEC,IAAuBR,EAAO;AAAA;AAAA;AAAA,GAK9BS,IAAcT,EAAO;AAAA;AAAA;AAAA;AAAA,eAQnB,CAAC,EAAE,gBAAAU,GAAgB,WAAAC,GAAW,QAAAC,QAAaC;AAAA,MACpDH,MAAmB,WAAWd,IAASE,CAAO,IAAIa,CAAS,MAAMC,CAAM;AAAA,GAC1E;AAAA,2BACyBX,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA,GAGlEmB,IAAqBd,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUrC,CAAC,EAAE,gBAAAU,GAAgB,WAAAC,EAAU,MAC7BD,KACAC,KACAE;AAAA,mBACeH,MAAmB,WAAWd,IAASE,CAAO,IAAIa,CAAS;AAAA,KACzE;AAAA;"}
@@ -1,7 +1,6 @@
1
1
  import o, { keyframes as e, css as p } from "styled-components";
2
- import { GAME_LAUNCHER_SIZE as t } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
- import { GAME_LAUNCHER_ASSET_PADDING as i } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
4
- const r = 50 * 84 / 100, c = e`
2
+ import { GAME_LAUNCHER_SIZE as t, GAME_LAUNCHER_ASSET_PADDING as i } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
3
+ const c = 50 * 84 / 100, r = e`
5
4
  0%{
6
5
  opacity: 0;
7
6
  }
@@ -15,7 +14,7 @@ const r = 50 * 84 / 100, c = e`
15
14
  100%{
16
15
  opacity: 0;
17
16
  }
18
- `, f = o.div`
17
+ `, m = o.div`
19
18
  height: ${t}px;
20
19
  width: ${t}px;
21
20
  background: transparent;
@@ -28,24 +27,24 @@ const r = 50 * 84 / 100, c = e`
28
27
  width: ${t + i}px;
29
28
  position: absolute;
30
29
  z-index: 1;
31
- `, h = o.div`
30
+ `, f = o.div`
32
31
  height: ${t + i}px;
33
32
  width: ${t + i}px;
34
33
  position: absolute;
35
34
  z-index: 2;
36
- `, y = o.div`
35
+ `, h = o.div`
37
36
  z-index: 2;
38
37
  opacity: 0;
39
38
  position: absolute;
40
39
  animation: ${({ $animationType: n, $duration: s, $delay: a }) => p`
41
- ${n === "fadein" ? c : d} ${s}ms ${a}ms ease forwards
40
+ ${n === "fadein" ? r : d} ${s}ms ${a}ms ease forwards
42
41
  `};
43
- transform: translateY(${(t + r) * 84 / 200 + 25}px);
42
+ transform: translateY(${(t + c) * 84 / 200 + 25}px);
44
43
  `;
45
44
  export {
46
- f as Clock,
45
+ m as Clock,
47
46
  $ as ClockLottie,
48
- h as ClockTimeSpentLottie,
49
- y as TextWrapper
47
+ f as ClockTimeSpentLottie,
48
+ h as TextWrapper
50
49
  };
51
50
  //# sourceMappingURL=clock-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clock-styled.js","sources":["../../../../src/features/post-game-stats/clock/clock-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport { GAME_LAUNCHER_ASSET_PADDING } from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Clock = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const ClockLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 1;\n`;\n\nexport const ClockTimeSpentLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n position: absolute;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Clock","styled","GAME_LAUNCHER_SIZE","ClockLottie","GAME_LAUNCHER_ASSET_PADDING","ClockTimeSpentLottie","TextWrapper","$animationType","$duration","$delay","css"],"mappings":";;;AAKA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAQC,EAAO;AAAA,YAChBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAcF,EAAO;AAAA,YACtBC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CC,IAAuBJ,EAAO;AAAA,YAC/BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CE,IAAcL,EAAO;AAAA;AAAA;AAAA;AAAA,eAQnB,CAAC,EAAE,gBAAAM,GAAgB,WAAAC,GAAW,QAAAC,QAAaC;AAAA,MACpDH,MAAmB,WAAWV,IAASE,CAAO,IAAIS,CAAS,MAAMC,CAAM;AAAA,GAC1E;AAAA,2BACyBP,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA;"}
1
+ {"version":3,"file":"clock-styled.js","sources":["../../../../src/features/post-game-stats/clock/clock-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_SIZE,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Clock = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const ClockLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 1;\n`;\n\nexport const ClockTimeSpentLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n position: absolute;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Clock","styled","GAME_LAUNCHER_SIZE","ClockLottie","GAME_LAUNCHER_ASSET_PADDING","ClockTimeSpentLottie","TextWrapper","$animationType","$duration","$delay","css"],"mappings":";;AAOA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAQC,EAAO;AAAA,YAChBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAcF,EAAO;AAAA,YACtBC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CC,IAAuBJ,EAAO;AAAA,YAC/BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CE,IAAcL,EAAO;AAAA;AAAA;AAAA;AAAA,eAQnB,CAAC,EAAE,gBAAAM,GAAgB,WAAAC,GAAW,QAAAC,QAAaC;AAAA,MACpDH,MAAmB,WAAWV,IAASE,CAAO,IAAIS,CAAS,MAAMC,CAAM;AAAA,GAC1E;AAAA,2BACyBP,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA;"}
@@ -1,4 +1,4 @@
1
- var c = /* @__PURE__ */ ((r) => (r.STREAK = "streak", r.ACCURACY = "accuracy", r.CLOCK = "clock", r.POINT = "point", r.DIGITAL_METER = "digital-meter", r))(c || {});
1
+ var c = /* @__PURE__ */ ((r) => (r.STREAK = "streak", r.ACCURACY = "accuracy", r.CLOCK = "clock", r.POINT = "point", r))(c || {});
2
2
  export {
3
3
  c as EPostGameStat
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"post-game-stats-enum.js","sources":["../../../../src/features/post-game-stats/enums/post-game-stats-enum.ts"],"sourcesContent":["export enum EPostGameStat {\n STREAK = 'streak',\n ACCURACY = 'accuracy',\n CLOCK = 'clock',\n POINT = 'point',\n DIGITAL_METER = 'digital-meter',\n}\n"],"names":["EPostGameStat"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,gBAAgB,iBALNA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"post-game-stats-enum.js","sources":["../../../../src/features/post-game-stats/enums/post-game-stats-enum.ts"],"sourcesContent":["export enum EPostGameStat {\n STREAK = 'streak',\n ACCURACY = 'accuracy',\n CLOCK = 'clock',\n POINT = 'point',\n}\n"],"names":["EPostGameStat"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SAJEA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,54 +1,48 @@
1
1
  import { jsx as N } from "react/jsx-runtime";
2
2
  import { memo as P, useEffect as T } from "react";
3
- import { LOTTIE as o } from "../../../assets/lottie/lottie.js";
4
- import { GAME_LAUNCHER_SIZE as O } from "../../circle-games/game-launcher/comps/card-container/constants.js";
5
- import { GAME_LAUNCHER_ASSET_PADDING as a, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as c } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
6
- import { useCircleSounds as f } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
7
- import { CircleSoundKey as E } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
3
+ import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
4
+ import { GAME_LAUNCHER_SIZE as a, GAME_LAUNCHER_ASSET_PADDING as O, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as c } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
5
+ import { useCircleSounds as E } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
6
+ import { CircleSoundKey as f } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
8
7
  import A from "../../ui/lottie-animation/lottie-animation.js";
9
8
  const _ = {
10
- point1: o.POINT1,
11
- point2: o.POINT2,
12
- point3: o.POINT3,
13
- point4: o.POINT4,
14
- point5: o.POINT5,
15
- point10: o.POINT10,
16
- point15: o.POINT15,
17
- point20: o.POINT20,
18
- point25: o.POINT25,
19
- point30: o.POINT30,
20
- point35: o.POINT35,
21
- point40: o.POINT40,
22
- point45: o.POINT45,
23
- point50: o.POINT50,
24
- point60: o.POINT60,
25
- point100: o.POINT100
26
- }, e = O + a - c, l = {
9
+ point1: t.POINT1,
10
+ point5: t.POINT5,
11
+ point10: t.POINT10,
12
+ point15: t.POINT15,
13
+ point20: t.POINT20,
14
+ point25: t.POINT25,
15
+ point30: t.POINT30,
16
+ point35: t.POINT35,
17
+ point40: t.POINT40,
18
+ point45: t.POINT45,
19
+ point50: t.POINT50,
20
+ point60: t.POINT60,
21
+ point100: t.POINT100
22
+ }, r = a + O - c, l = {
27
23
  loop: !1,
28
24
  autoplay: !0,
29
25
  renderer: "canvas"
30
- }, G = P((p) => {
31
- const { point: m = 0, onReveal: n, onComplete: i, show: r } = p, { play: s } = f(), t = _[`point${m}`], I = {
26
+ }, d = P((p) => {
27
+ const { point: m = 0, onReveal: n, onComplete: i, show: e } = p, { play: s } = E(), o = _[`point${m}`], I = {
32
28
  name: "complete",
33
29
  callback: i
34
30
  };
35
31
  return T(() => {
36
- if (!t)
37
- throw i(), new Error(`Animation path not found for ${t}`);
38
- r && t && (n == null || n());
39
- }, [t, i, n, r]), r && t ? /* @__PURE__ */ N(
32
+ o || i(), e && o && (n == null || n());
33
+ }, [o, i, n, e]), e && o ? /* @__PURE__ */ N(
40
34
  A,
41
35
  {
42
- width: e,
43
- height: e,
44
- src: t,
36
+ width: r,
37
+ height: r,
38
+ src: o,
45
39
  settings: l,
46
40
  eventListener: I,
47
- onRender: () => s(E.POINTS_AWARDED)
41
+ onRender: () => s(f.POINTS_AWARDED)
48
42
  }
49
43
  ) : null;
50
44
  });
51
45
  export {
52
- G as Points
46
+ d as Points
53
47
  };
54
48
  //# sourceMappingURL=points.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\n\nconst POINTS_MAP: Record<string, string> = {\n point1: LOTTIE.POINT1,\n point2: LOTTIE.POINT2,\n point3: LOTTIE.POINT3,\n point4: LOTTIE.POINT4,\n point5: LOTTIE.POINT5,\n point10: LOTTIE.POINT10,\n point15: LOTTIE.POINT15,\n point20: LOTTIE.POINT20,\n point25: LOTTIE.POINT25,\n point30: LOTTIE.POINT30,\n point35: LOTTIE.POINT35,\n point40: LOTTIE.POINT40,\n point45: LOTTIE.POINT45,\n point50: LOTTIE.POINT50,\n point60: LOTTIE.POINT60,\n point100: LOTTIE.POINT100,\n};\nconst animationDimension =\n GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING - GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH;\nconst animationSettings = {\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n\n const { play } = useCircleSounds();\n\n const animationPath = POINTS_MAP[`point${point}`];\n const animationEventListener = {\n name: 'complete' as AnimationEventName,\n callback: onComplete,\n };\n\n useEffect(() => {\n if (!animationPath) {\n onComplete();\n throw new Error(`Animation path not found for ${animationPath}`);\n }\n\n if (show && animationPath) onReveal?.();\n }, [animationPath, onComplete, onReveal, show]);\n\n if (show && animationPath) {\n return (\n <LottieAnimation\n width={animationDimension}\n height={animationDimension}\n src={animationPath}\n settings={animationSettings}\n eventListener={animationEventListener}\n onRender={() => play(CircleSoundKey.POINTS_AWARDED)}\n />\n );\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","LOTTIE","animationDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH","animationSettings","Points","memo","props","point","onReveal","onComplete","show","play","useCircleSounds","animationPath","animationEventListener","useEffect","jsx","LottieAnimation","CircleSoundKey"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAqC;AAAA,EACzC,QAAQC,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,UAAUA,EAAO;AACnB,GACMC,IACJC,IAAqBC,IAA8BC,GAC/CC,IAAoB;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAE5C,EAAE,MAAAK,MAASC,KAEXC,IAAgBhB,EAAW,QAAQU,CAAK,EAAE,GAC1CO,IAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,UAAUL;AAAA,EAAA;AAYZ,SATAM,EAAU,MAAM;AACd,QAAI,CAACF;AACQ,YAAAJ,KACL,IAAI,MAAM,gCAAgCI,CAAa,EAAE;AAG7D,IAAAH,KAAQG,MAA0BL,KAAA,QAAAA;AAAA,KACrC,CAACK,GAAeJ,GAAYD,GAAUE,CAAI,CAAC,GAE1CA,KAAQG,IAER,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,QAAQA;AAAA,MACR,KAAKc;AAAA,MACL,UAAUV;AAAA,MACV,eAAeW;AAAA,MACf,UAAU,MAAMH,EAAKO,EAAe,cAAc;AAAA,IAAA;AAAA,EAAA,IAKjD;AACT,CAAC;"}
1
+ {"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n GAME_LAUNCHER_SIZE,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\n\nconst POINTS_MAP: Record<string, string> = {\n point1: LOTTIE.POINT1,\n point5: LOTTIE.POINT5,\n point10: LOTTIE.POINT10,\n point15: LOTTIE.POINT15,\n point20: LOTTIE.POINT20,\n point25: LOTTIE.POINT25,\n point30: LOTTIE.POINT30,\n point35: LOTTIE.POINT35,\n point40: LOTTIE.POINT40,\n point45: LOTTIE.POINT45,\n point50: LOTTIE.POINT50,\n point60: LOTTIE.POINT60,\n point100: LOTTIE.POINT100,\n};\nconst animationDimension =\n GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING - GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH;\nconst animationSettings = {\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n\n const { play } = useCircleSounds();\n\n const animationPath = POINTS_MAP[`point${point}`];\n const animationEventListener = {\n name: 'complete' as AnimationEventName,\n callback: onComplete,\n };\n\n useEffect(() => {\n if (!animationPath) onComplete();\n\n if (show && animationPath) onReveal?.();\n }, [animationPath, onComplete, onReveal, show]);\n\n if (show && animationPath) {\n return (\n <LottieAnimation\n width={animationDimension}\n height={animationDimension}\n src={animationPath}\n settings={animationSettings}\n eventListener={animationEventListener}\n onRender={() => play(CircleSoundKey.POINTS_AWARDED)}\n />\n );\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","LOTTIE","animationDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH","animationSettings","Points","memo","props","point","onReveal","onComplete","show","play","useCircleSounds","animationPath","animationEventListener","useEffect","jsx","LottieAnimation","CircleSoundKey"],"mappings":";;;;;;;AAgBA,MAAMA,IAAqC;AAAA,EACzC,QAAQC,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,UAAUA,EAAO;AACnB,GACMC,IACJC,IAAqBC,IAA8BC,GAC/CC,IAAoB;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAE5C,EAAE,MAAAK,MAASC,KAEXC,IAAgBhB,EAAW,QAAQU,CAAK,EAAE,GAC1CO,IAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,UAAUL;AAAA,EAAA;AASZ,SANAM,EAAU,MAAM;AACV,IAACF,KAA0BJ,KAE3BC,KAAQG,MAA0BL,KAAA,QAAAA;AAAA,KACrC,CAACK,GAAeJ,GAAYD,GAAUE,CAAI,CAAC,GAE1CA,KAAQG,IAER,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,QAAQA;AAAA,MACR,KAAKc;AAAA,MACL,UAAUV;AAAA,MACV,eAAeW;AAAA,MACf,UAAU,MAAMH,EAAKO,EAAe,cAAc;AAAA,IAAA;AAAA,EAAA,IAKjD;AACT,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import o from "styled-components";
2
- import { GAME_LAUNCHER_SIZE as t } from "../circle-games/game-launcher/comps/card-container/constants.js";
2
+ import { GAME_LAUNCHER_SIZE as t } from "../circle-games/game-launcher/comps/segmented-game-card/constants.js";
3
3
  const n = o.div`
4
4
  flex: 1;
5
5
  position: absolute;
@@ -1 +1 @@
1
- {"version":3,"file":"post-game-stats-styled.js","sources":["../../../src/features/post-game-stats/post-game-stats-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../circle-games/game-launcher/comps/card-container/constants';\n\nexport const StatsWrapper = styled.div`\n flex: 1;\n position: absolute;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 1000;\n background: transparent;\n width: 100%;\n height: 100%;\n display: flex;\n`;\n\nexport const BlackBg = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: ${({ theme }) => theme.colors.BLACK_1};\n border-radius: ${GAME_LAUNCHER_SIZE / 2}px;\n position: absolute;\n z-index: -1;\n`;\n"],"names":["StatsWrapper","styled","BlackBg","GAME_LAUNCHER_SIZE","theme"],"mappings":";;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBtBC,IAAUD,EAAO;AAAA,YAClBE,CAAkB;AAAA,WACnBA,CAAkB;AAAA,gBACb,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,mBAChCD,IAAqB,CAAC;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"post-game-stats-styled.js","sources":["../../../src/features/post-game-stats/post-game-stats-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nexport const StatsWrapper = styled.div`\n flex: 1;\n position: absolute;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 1000;\n background: transparent;\n width: 100%;\n height: 100%;\n display: flex;\n`;\n\nexport const BlackBg = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: ${({ theme }) => theme.colors.BLACK_1};\n border-radius: ${GAME_LAUNCHER_SIZE / 2}px;\n position: absolute;\n z-index: -1;\n`;\n"],"names":["StatsWrapper","styled","BlackBg","GAME_LAUNCHER_SIZE","theme"],"mappings":";;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBtBC,IAAUD,EAAO;AAAA,YAClBE,CAAkB;AAAA,WACnBA,CAAkB;AAAA,gBACb,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,mBAChCD,IAAqB,CAAC;AAAA;AAAA;AAAA;"}