@cuemath/leap 2.8.25-link.0 → 2.8.25-link.1

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 (236) hide show
  1. package/dist/assets/lotties/circle/100pts.json.js +7957 -0
  2. package/dist/assets/lotties/circle/100pts.json.js.map +1 -0
  3. package/dist/assets/lotties/circle/10pts.json.js +7753 -0
  4. package/dist/assets/lotties/circle/10pts.json.js.map +1 -0
  5. package/dist/assets/lotties/circle/15pts.json.js +7879 -0
  6. package/dist/assets/lotties/circle/15pts.json.js.map +1 -0
  7. package/dist/assets/lotties/circle/1pts.json.js +7257 -0
  8. package/dist/assets/lotties/circle/1pts.json.js.map +1 -0
  9. package/dist/assets/lotties/circle/20pts.json.js +7845 -0
  10. package/dist/assets/lotties/circle/20pts.json.js.map +1 -0
  11. package/dist/assets/lotties/circle/25pts.json.js +7971 -0
  12. package/dist/assets/lotties/circle/25pts.json.js.map +1 -0
  13. package/dist/assets/lotties/circle/30pts.json.js +7941 -0
  14. package/dist/assets/lotties/circle/30pts.json.js.map +1 -0
  15. package/dist/assets/lotties/circle/35pts.json.js +7881 -0
  16. package/dist/assets/lotties/circle/35pts.json.js.map +1 -0
  17. package/dist/assets/lotties/circle/40pts.json.js +7725 -0
  18. package/dist/assets/lotties/circle/40pts.json.js.map +1 -0
  19. package/dist/assets/lotties/circle/45pts.json.js +7851 -0
  20. package/dist/assets/lotties/circle/45pts.json.js.map +1 -0
  21. package/dist/assets/lotties/circle/50pts.json.js +7707 -0
  22. package/dist/assets/lotties/circle/50pts.json.js.map +1 -0
  23. package/dist/assets/lotties/circle/5pts.json.js +7420 -0
  24. package/dist/assets/lotties/circle/5pts.json.js.map +1 -0
  25. package/dist/assets/lotties/circle/60pts.json.js +7701 -0
  26. package/dist/assets/lotties/circle/60pts.json.js.map +1 -0
  27. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +6811 -0
  28. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +1 -0
  29. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +1503 -0
  30. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +1 -0
  31. package/dist/assets/lotties/circle/circular-loader.json.js +635 -0
  32. package/dist/assets/lotties/circle/circular-loader.json.js.map +1 -0
  33. package/dist/assets/lotties/circle/elite-circle-lottie.json.js +12079 -0
  34. package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +1 -0
  35. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +1412 -0
  36. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +1 -0
  37. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +2632 -0
  38. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +1 -0
  39. package/dist/assets/lotties/circle/spinner-white.json.js +316 -0
  40. package/dist/assets/lotties/circle/spinner-white.json.js.map +1 -0
  41. package/dist/assets/lotties/circle/splash-screen.json.js +5864 -0
  42. package/dist/assets/lotties/circle/splash-screen.json.js.map +1 -0
  43. package/dist/assets/lotties/circle/total-streak-lottie.json.js +2103 -0
  44. package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +1 -0
  45. package/dist/assets/lotties/circle/total-time-lottie.json.js +33016 -0
  46. package/dist/assets/lotties/circle/total-time-lottie.json.js.map +1 -0
  47. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +260 -0
  48. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +1 -0
  49. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +1563 -0
  50. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +1 -0
  51. package/dist/assets/lotties/common/nudge-tap.json.js +3597 -0
  52. package/dist/assets/lotties/common/nudge-tap.json.js.map +1 -0
  53. package/dist/assets/lotties/error-lottie.json.js +12755 -0
  54. package/dist/assets/lotties/error-lottie.json.js.map +1 -0
  55. package/dist/assets/lotties/perfect-hits/bronze-1.json.js +10871 -0
  56. package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +1 -0
  57. package/dist/assets/lotties/perfect-hits/bronze-2.json.js +11389 -0
  58. package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +1 -0
  59. package/dist/assets/lotties/perfect-hits/bronze-3.json.js +12169 -0
  60. package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +1 -0
  61. package/dist/assets/lotties/perfect-hits/color-1.json.js +12348 -0
  62. package/dist/assets/lotties/perfect-hits/color-1.json.js.map +1 -0
  63. package/dist/assets/lotties/perfect-hits/color-2.json.js +12941 -0
  64. package/dist/assets/lotties/perfect-hits/color-2.json.js.map +1 -0
  65. package/dist/assets/lotties/perfect-hits/color-3.json.js +14034 -0
  66. package/dist/assets/lotties/perfect-hits/color-3.json.js.map +1 -0
  67. package/dist/assets/lotties/perfect-hits/gold-1.json.js +10871 -0
  68. package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +1 -0
  69. package/dist/assets/lotties/perfect-hits/gold-2.json.js +11389 -0
  70. package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +1 -0
  71. package/dist/assets/lotties/perfect-hits/gold-3.json.js +12169 -0
  72. package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +1 -0
  73. package/dist/assets/lotties/perfect-hits/silver-1.json.js +10871 -0
  74. package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +1 -0
  75. package/dist/assets/lotties/perfect-hits/silver-2.json.js +11389 -0
  76. package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +1 -0
  77. package/dist/assets/lotties/perfect-hits/silver-3.json.js +12169 -0
  78. package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +1 -0
  79. package/dist/assets/lotties/teacher-validation.json.js +649 -0
  80. package/dist/assets/lotties/teacher-validation.json.js.map +1 -0
  81. package/dist/assets/lotties/tests-creation/clock_30_min.json.js +2857 -0
  82. package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +1 -0
  83. package/dist/assets/lotties/tests-creation/clock_45_min.json.js +2857 -0
  84. package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +1 -0
  85. package/dist/assets/lotties/tests-creation/clock_60_min.json.js +2857 -0
  86. package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +1 -0
  87. package/dist/assets/lotties/tests-creation/clock_90_min.json.js +3345 -0
  88. package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +1 -0
  89. package/dist/assets/lotties/tests-creation/difficult.json.js +6713 -0
  90. package/dist/assets/lotties/tests-creation/difficult.json.js.map +1 -0
  91. package/dist/assets/lotties/tests-creation/easy.json.js +6525 -0
  92. package/dist/assets/lotties/tests-creation/easy.json.js.map +1 -0
  93. package/dist/assets/lotties/tests-creation/medium.json.js +5603 -0
  94. package/dist/assets/lotties/tests-creation/medium.json.js.map +1 -0
  95. package/dist/assets/lotties/trial-v3/15min-clock.json.js +2037 -0
  96. package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +1 -0
  97. package/dist/assets/lotties/trial-v3/5min-clock.json.js +2062 -0
  98. package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +1 -0
  99. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +8517 -0
  100. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +1 -0
  101. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +7396 -0
  102. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +1 -0
  103. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +8559 -0
  104. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +1 -0
  105. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +23284 -0
  106. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +1 -0
  107. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +9090 -0
  108. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +1 -0
  109. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +8675 -0
  110. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +1 -0
  111. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +13 -0
  112. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +1 -0
  113. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +79 -81
  114. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  115. package/dist/features/circle-games/game-launcher/game-launcher-styled.js +10 -0
  116. package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +1 -0
  117. package/dist/features/circle-games/game-launcher/game-launcher.js +65 -61
  118. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  119. package/dist/features/circle-games/leaderboard/comps/banner/banner.js +53 -35
  120. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  121. package/dist/features/circle-games/leaderboard/leaderboard.js +55 -56
  122. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  123. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +41 -40
  124. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  125. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +8 -4
  126. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
  127. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +23 -6
  128. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
  129. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +35 -40
  130. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  131. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
  132. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +23 -8
  133. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
  134. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
  135. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  136. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +43 -37
  137. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  138. package/dist/features/post-game-stats/accuracy/accuracy.js +34 -38
  139. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  140. package/dist/features/post-game-stats/clock/clock.js +39 -43
  141. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  142. package/dist/features/post-game-stats/points/points-styled.js +10 -0
  143. package/dist/features/post-game-stats/points/points-styled.js.map +1 -0
  144. package/dist/features/post-game-stats/points/points.js +44 -43
  145. package/dist/features/post-game-stats/points/points.js.map +1 -1
  146. package/dist/features/post-game-stats/streak/streak.js +28 -30
  147. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  148. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +54 -56
  149. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  150. package/dist/features/trial-session/comps/parent-app/parent-app.js +20 -25
  151. package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
  152. package/dist/features/trial-session/comps/render-lottie/index.js +26 -0
  153. package/dist/features/trial-session/comps/render-lottie/index.js.map +1 -0
  154. package/dist/features/trial-session/comps/session-insights/session-insights.js +39 -40
  155. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  156. package/dist/features/trial-session/trial-session-view.js +85 -75
  157. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  158. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +17 -0
  159. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +1 -0
  160. package/dist/features/ui/loader/circular-loader/circular-loader.js +20 -16
  161. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  162. package/dist/features/ui/nudge/nudge-styled.js +8 -4
  163. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  164. package/dist/features/ui/nudge/nudge.js +30 -13
  165. package/dist/features/ui/nudge/nudge.js.map +1 -1
  166. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +20 -22
  167. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  168. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +48 -25
  169. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  170. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +26 -12
  171. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  172. package/dist/index.d.ts +0 -58
  173. package/dist/index.js +464 -466
  174. package/dist/index.js.map +1 -1
  175. package/package.json +2 -3
  176. package/dist/assets/lottie/lottie.js +0 -61
  177. package/dist/assets/lottie/lottie.js.map +0 -1
  178. package/dist/features/ui/lottie-animation/helper.js +0 -13
  179. package/dist/features/ui/lottie-animation/helper.js.map +0 -1
  180. package/dist/features/ui/lottie-animation/lottie-animation.js +0 -37
  181. package/dist/features/ui/lottie-animation/lottie-animation.js.map +0 -1
  182. package/dist/static/accuracy-meter.99585cba.json +0 -4218
  183. package/dist/static/accuracy-needle.cd6e63ac.json +0 -618
  184. package/dist/static/beginner1x.489908a7.json +0 -3508
  185. package/dist/static/bronze-1.da4e4b5f.json +0 -4176
  186. package/dist/static/bronze-2.97f9c639.json +0 -4433
  187. package/dist/static/bronze-3.6a433ebd.json +0 -4786
  188. package/dist/static/circular-loader.a5a1a0a6.json +0 -238
  189. package/dist/static/clock-30min.eae818b8.json +0 -1197
  190. package/dist/static/clock-45min.df8adf51.json +0 -1197
  191. package/dist/static/clock-60min.2b48d875.json +0 -1197
  192. package/dist/static/clock-90min.3e557ed7.json +0 -1407
  193. package/dist/static/color-1.45101b9a.json +0 -4545
  194. package/dist/static/color-2.ccdc7d0a.json +0 -4828
  195. package/dist/static/color-3.5e8e1422.json +0 -5273
  196. package/dist/static/difficult.6846c064.json +0 -2755
  197. package/dist/static/easy-rescheduling-lottie.28026af9.json +0 -9301
  198. package/dist/static/easy.68242ddd.json +0 -2658
  199. package/dist/static/elite-circle.3df58972.json +0 -6876
  200. package/dist/static/error-lottie.b3507a4b.json +0 -5255
  201. package/dist/static/familiar1x.7c9c7f15.json +0 -3046
  202. package/dist/static/fifteen-min-clock.0af4e303.json +0 -715
  203. package/dist/static/five-min-clock.6be5cc41.json +0 -721
  204. package/dist/static/gold-1.ab2489fe.json +0 -4176
  205. package/dist/static/gold-2.34045826.json +0 -4441
  206. package/dist/static/gold-3.d704698b.json +0 -4810
  207. package/dist/static/levelup-rings.b1055283.json +0 -549
  208. package/dist/static/medium.94c3829b.json +0 -2289
  209. package/dist/static/nudge-tap.5cb30093.json +0 -1057
  210. package/dist/static/point1.b53831de.json +0 -2942
  211. package/dist/static/point10.7b5e536d.json +0 -3179
  212. package/dist/static/point100.1df16f82.json +0 -3196
  213. package/dist/static/point15.fea00c32.json +0 -3179
  214. package/dist/static/point20.c88d776d.json +0 -3178
  215. package/dist/static/point25.a18c346a.json +0 -3178
  216. package/dist/static/point30.c5224b0b.json +0 -3202
  217. package/dist/static/point35.fad343dd.json +0 -3058
  218. package/dist/static/point40.10a16f72.json +0 -3082
  219. package/dist/static/point45.2ad7561f.json +0 -3082
  220. package/dist/static/point5.da40ed1f.json +0 -2948
  221. package/dist/static/point50.5718cb3d.json +0 -3046
  222. package/dist/static/point60.17380d9f.json +0 -3076
  223. package/dist/static/proficient1x.fa6e7b80.json +0 -3430
  224. package/dist/static/silver-1.0396328a.json +0 -4168
  225. package/dist/static/silver-2.bf50615f.json +0 -4433
  226. package/dist/static/silver-3.13d66b84.json +0 -4810
  227. package/dist/static/sleepy-boi.031a1165.json +0 -1008
  228. package/dist/static/spinner-white.639e0d87.json +0 -122
  229. package/dist/static/splash-screen.bbf567ce.json +0 -2411
  230. package/dist/static/stay-connected-lottie.111439b3.json +0 -3547
  231. package/dist/static/teacher-validation.7577ecdc.json +0 -245
  232. package/dist/static/total-streak.d5ce7669.json +0 -842
  233. package/dist/static/total-time-spent.434005d3.json +0 -200
  234. package/dist/static/total-time.d979cbb9.json +0 -24383
  235. package/dist/static/tournament-ripple.e5c239a5.json +0 -1047
  236. package/dist/static/track-progress-lottie.422108cf.json +0 -2972
@@ -1,60 +1,55 @@
1
- import { jsxs as C, jsx as e } from "react/jsx-runtime";
2
- import { useState as t, useRef as u, useMemo as p } from "react";
3
- import { ILLUSTRATIONS as s } from "../../../../../assets/illustrations/illustrations.js";
4
- import { LOTTIE as L } from "../../../../../assets/lottie/lottie.js";
1
+ import { jsxs as d, jsx as t } from "react/jsx-runtime";
2
+ import f from "lottie-web";
3
+ import { useRef as a, useState as o, useEffect as L } from "react";
4
+ import { ILLUSTRATIONS as l } from "../../../../../assets/illustrations/illustrations.js";
5
5
  import S from "../../../../ui/image/image.js";
6
- import f from "../../../../ui/lottie-animation/lottie-animation.js";
7
- import { SplashScreenWrapper as g, CircleLogo as I, InnerCircle as d, CuemathLogoWrapper as w, OuterCircleImage as E } from "./splash-screen-styled.js";
8
- const O = {
9
- renderer: "svg",
10
- loop: !1,
11
- autoplay: !0,
12
- initialSegment: [0, 45]
13
- }, U = ({ animationCompleted: n }) => {
14
- const [r, l] = t(!1), [i, m] = t(!1), [o, a] = t(!1), c = u(!1), h = p(
15
- () => ({
16
- name: "complete",
17
- callback: () => {
18
- c.current = !0, m(!0), l(!0), setTimeout(() => {
19
- a(!0), setTimeout(() => {
20
- n();
6
+ import { SplashScreenWrapper as g, CircleLogo as w, InnerCircle as I, CuemathLogoWrapper as E, OuterCircleImage as O } from "./splash-screen-styled.js";
7
+ const A = () => import("../../../../../assets/lotties/circle/splash-screen.json.js"), V = ({ animationCompleted: c }) => {
8
+ const r = a(null), [i, m] = o(!1), [n, u] = o(!1), [s, h] = o(!1), C = a(!1);
9
+ return L(() => {
10
+ let e = null;
11
+ return (async () => {
12
+ const p = (await A()).default;
13
+ e = f.loadAnimation({
14
+ container: r.current,
15
+ renderer: "svg",
16
+ loop: !1,
17
+ autoplay: !0,
18
+ animationData: p,
19
+ initialSegment: [0, 45]
20
+ }), e.addEventListener("complete", () => {
21
+ C.current = !0, u(!0), m(!0), setTimeout(() => {
22
+ h(!0), setTimeout(() => {
23
+ c();
21
24
  }, 500);
22
25
  }, 500);
23
- }
24
- }),
25
- // eslint-disable-next-line react-hooks/exhaustive-deps
26
- []
27
- );
28
- return /* @__PURE__ */ C(g, { children: [
29
- /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(
30
- f,
31
- {
32
- src: L.SPLASH_SCREEN,
33
- settings: O,
34
- eventListener: h
35
- }
36
- ) }),
37
- i && /* @__PURE__ */ e(d, { isVisible: i, children: r && /* @__PURE__ */ e(w, { isVisible: r, children: /* @__PURE__ */ e(
26
+ });
27
+ })(), () => {
28
+ e == null || e.destroy();
29
+ };
30
+ }, []), /* @__PURE__ */ d(g, { children: [
31
+ /* @__PURE__ */ t(w, { ref: r }),
32
+ n && /* @__PURE__ */ t(I, { isVisible: n, children: i && /* @__PURE__ */ t(E, { isVisible: i, children: /* @__PURE__ */ t(
38
33
  S,
39
34
  {
40
- src: s.CIRCLE_CUEMATH_LOGO,
35
+ src: l.CIRCLE_CUEMATH_LOGO,
41
36
  height: 56,
42
37
  width: 158.7,
43
38
  withLoader: !1
44
39
  }
45
40
  ) }) }),
46
- o && /* @__PURE__ */ e(
47
- E,
41
+ s && /* @__PURE__ */ t(
42
+ O,
48
43
  {
49
- src: s.CIRCLE_OUTERCIRCLE_BG,
44
+ src: l.CIRCLE_OUTERCIRCLE_BG,
50
45
  height: "100%",
51
46
  width: "100%",
52
- isVisible: o
47
+ isVisible: s
53
48
  }
54
49
  )
55
50
  ] });
56
51
  };
57
52
  export {
58
- U as SplashScreen
53
+ V as SplashScreen
59
54
  };
60
55
  //# sourceMappingURL=splash-screen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"splash-screen.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/splash-screen/splash-screen.tsx"],"sourcesContent":["import type { AnimationEventName } from 'lottie-web';\n\nimport { useMemo, useRef, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport Image from '../../../../ui/image/image';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport * as S from './splash-screen-styled';\n\nconst animationSettings = {\n renderer: 'svg',\n loop: false,\n autoplay: true,\n initialSegment: [0, 45],\n};\n\nexport const SplashScreen = ({ animationCompleted }: { animationCompleted: () => void }) => {\n const [showCuemathLogo, setShowCuemathLogo] = useState(false);\n const [showInnerCircle, setShowInnerCircle] = useState(false);\n const [showOuterCircle, setShowOuterCircle] = useState(false);\n const isCircleAnimationCompleted = useRef(false);\n\n const animationEventListener = useMemo(\n () => ({\n name: 'complete' as AnimationEventName,\n callback: () => {\n isCircleAnimationCompleted.current = true;\n setShowInnerCircle(true);\n setShowCuemathLogo(true);\n setTimeout(() => {\n setShowOuterCircle(true);\n setTimeout(() => {\n animationCompleted();\n }, 500);\n }, 500);\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return (\n <S.SplashScreenWrapper>\n <S.CircleLogo>\n <LottieAnimation\n src={LOTTIE.SPLASH_SCREEN}\n settings={animationSettings}\n eventListener={animationEventListener}\n />\n </S.CircleLogo>\n\n {showInnerCircle && (\n <S.InnerCircle isVisible={showInnerCircle}>\n {showCuemathLogo && (\n <S.CuemathLogoWrapper isVisible={showCuemathLogo}>\n <Image\n src={ILLUSTRATIONS.CIRCLE_CUEMATH_LOGO}\n height={56}\n width={158.7}\n withLoader={false}\n />\n </S.CuemathLogoWrapper>\n )}\n </S.InnerCircle>\n )}\n\n {showOuterCircle && (\n <S.OuterCircleImage\n src={ILLUSTRATIONS.CIRCLE_OUTERCIRCLE_BG}\n height={'100%'}\n width={'100%'}\n isVisible={showOuterCircle}\n />\n )}\n </S.SplashScreenWrapper>\n );\n};\n"],"names":["animationSettings","SplashScreen","animationCompleted","showCuemathLogo","setShowCuemathLogo","useState","showInnerCircle","setShowInnerCircle","showOuterCircle","setShowOuterCircle","isCircleAnimationCompleted","useRef","animationEventListener","useMemo","jsxs","S.SplashScreenWrapper","jsx","S.CircleLogo","LottieAnimation","LOTTIE","S.InnerCircle","S.CuemathLogoWrapper","Image","ILLUSTRATIONS","S.OuterCircleImage"],"mappings":";;;;;;;AAUA,MAAMA,IAAoB;AAAA,EACxB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AAAA,EACV,gBAAgB,CAAC,GAAG,EAAE;AACxB,GAEaC,IAAe,CAAC,EAAE,oBAAAC,QAA6D;AAC1F,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAAS,EAAK,GACtD,CAACC,GAAiBC,CAAkB,IAAIF,EAAS,EAAK,GACtD,CAACG,GAAiBC,CAAkB,IAAIJ,EAAS,EAAK,GACtDK,IAA6BC,EAAO,EAAK,GAEzCC,IAAyBC;AAAA,IAC7B,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU,MAAM;AACd,QAAAH,EAA2B,UAAU,IACrCH,EAAmB,EAAI,GACvBH,EAAmB,EAAI,GACvB,WAAW,MAAM;AACf,UAAAK,EAAmB,EAAI,GACvB,WAAW,MAAM;AACI,YAAAP;aAClB,GAAG;AAAA,WACL,GAAG;AAAA,MACR;AAAA,IAAA;AAAA;AAAA,IAGF,CAAC;AAAA,EAAA;AAID,SAAA,gBAAAY,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAKC,EAAO;AAAA,QACZ,UAAUnB;AAAA,QACV,eAAeY;AAAA,MAAA;AAAA,IAAA,GAEnB;AAAA,IAECN,KACC,gBAAAU,EAACI,GAAA,EAAc,WAAWd,GACvB,UAAAH,KACE,gBAAAa,EAAAK,GAAA,EAAqB,WAAWlB,GAC/B,UAAA,gBAAAa;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,KAAKC,EAAc;AAAA,QACnB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,OAEhB,EAEJ,CAAA;AAAA,IAGDf,KACC,gBAAAQ;AAAA,MAACQ;AAAAA,MAAA;AAAA,QACC,KAAKD,EAAc;AAAA,QACnB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAWf;AAAA,MAAA;AAAA,IACb;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"splash-screen.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/splash-screen/splash-screen.tsx"],"sourcesContent":["import type { AnimationItem } from 'lottie-web';\n\nimport Lottie from 'lottie-web';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport Image from '../../../../ui/image/image';\nimport * as S from './splash-screen-styled';\n\nconst splashScreen = () => import('../../../../../assets/lotties/circle/splash-screen.json');\n\nexport const SplashScreen = ({ animationCompleted }: { animationCompleted: () => void }) => {\n const lottieContainer = useRef<HTMLDivElement>(null);\n const [showCuemathLogo, setShowCuemathLogo] = useState(false);\n const [showInnerCircle, setShowInnerCircle] = useState(false);\n const [showOuterCircle, setShowOuterCircle] = useState(false);\n const isCircleAnimationCompleted = useRef(false);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n const loadAnimation = async () => {\n const animationModule = await splashScreen();\n const animationData = animationModule.default;\n\n animation = Lottie.loadAnimation({\n container: lottieContainer.current as Element,\n renderer: 'svg',\n loop: false,\n autoplay: true,\n animationData: animationData,\n initialSegment: [0, 45],\n });\n\n animation.addEventListener('complete', () => {\n isCircleAnimationCompleted.current = true;\n setShowInnerCircle(true);\n setShowCuemathLogo(true);\n setTimeout(() => {\n setShowOuterCircle(true);\n setTimeout(() => {\n animationCompleted();\n }, 500);\n }, 500);\n });\n };\n\n loadAnimation();\n\n return () => {\n animation?.destroy();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <S.SplashScreenWrapper>\n <S.CircleLogo ref={lottieContainer} />\n\n {showInnerCircle && (\n <S.InnerCircle isVisible={showInnerCircle}>\n {showCuemathLogo && (\n <S.CuemathLogoWrapper isVisible={showCuemathLogo}>\n <Image\n src={ILLUSTRATIONS.CIRCLE_CUEMATH_LOGO}\n height={56}\n width={158.7}\n withLoader={false}\n />\n </S.CuemathLogoWrapper>\n )}\n </S.InnerCircle>\n )}\n\n {showOuterCircle && (\n <S.OuterCircleImage\n src={ILLUSTRATIONS.CIRCLE_OUTERCIRCLE_BG}\n height={'100%'}\n width={'100%'}\n isVisible={showOuterCircle}\n />\n )}\n </S.SplashScreenWrapper>\n );\n};\n"],"names":["splashScreen","SplashScreen","animationCompleted","lottieContainer","useRef","showCuemathLogo","setShowCuemathLogo","useState","showInnerCircle","setShowInnerCircle","showOuterCircle","setShowOuterCircle","isCircleAnimationCompleted","useEffect","animation","animationData","Lottie","jsxs","S.SplashScreenWrapper","jsx","S.CircleLogo","S.InnerCircle","S.CuemathLogoWrapper","Image","ILLUSTRATIONS","S.OuterCircleImage"],"mappings":";;;;;;AASA,MAAMA,IAAe,MAAM,OAAO,4DAAyD,GAE9EC,IAAe,CAAC,EAAE,oBAAAC,QAA6D;AACpF,QAAAC,IAAkBC,EAAuB,IAAI,GAC7C,CAACC,GAAiBC,CAAkB,IAAIC,EAAS,EAAK,GACtD,CAACC,GAAiBC,CAAkB,IAAIF,EAAS,EAAK,GACtD,CAACG,GAAiBC,CAAkB,IAAIJ,EAAS,EAAK,GACtDK,IAA6BR,EAAO,EAAK;AAE/C,SAAAS,EAAU,MAAM;AACd,QAAIC,IAAkC;AA2BxB,YA1BQ,YAAY;AAEhC,YAAMC,KADkB,MAAMf,KACQ;AAEtC,MAAAc,IAAYE,EAAO,cAAc;AAAA,QAC/B,WAAWb,EAAgB;AAAA,QAC3B,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,eAAAY;AAAA,QACA,gBAAgB,CAAC,GAAG,EAAE;AAAA,MAAA,CACvB,GAESD,EAAA,iBAAiB,YAAY,MAAM;AAC3C,QAAAF,EAA2B,UAAU,IACrCH,EAAmB,EAAI,GACvBH,EAAmB,EAAI,GACvB,WAAW,MAAM;AACf,UAAAK,EAAmB,EAAI,GACvB,WAAW,MAAM;AACI,YAAAT;aAClB,GAAG;AAAA,WACL,GAAG;AAAA,MAAA,CACP;AAAA,IAAA,MAKI,MAAM;AACX,MAAAY,KAAA,QAAAA,EAAW;AAAA,IAAQ;AAAA,EAGvB,GAAG,CAAE,CAAA,GAGH,gBAAAG,EAACC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAa,KAAKjB,EAAiB,CAAA;AAAA,IAEnCK,KACC,gBAAAW,EAACE,GAAA,EAAc,WAAWb,GACvB,UAAAH,KACE,gBAAAc,EAAAG,GAAA,EAAqB,WAAWjB,GAC/B,UAAA,gBAAAc;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,KAAKC,EAAc;AAAA,QACnB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,OAEhB,EAEJ,CAAA;AAAA,IAGDd,KACC,gBAAAS;AAAA,MAACM;AAAAA,MAAA;AAAA,QACC,KAAKD,EAAc;AAAA,QACnB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAWd;AAAA,MAAA;AAAA,IACb;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -7,7 +7,7 @@ import m from "../../../../../ui/text/text.js";
7
7
  import B from "../../../../create/comps/body-layout/body-layout.js";
8
8
  import { TESTS_CREATION_ANALYTICS_EVENTS as I } from "../../tests-creation-analytics-events.js";
9
9
  import { ButtonWrapper as G } from "../../tests-creation-styled.js";
10
- import { getDifficultyLevelCards as N, getTestDurationCards as O, getRecommendedTestDuration as P } from "../../utils/index.js";
10
+ import { getRecommendedTestDuration as N, getDifficultyLevelCards as O, getTestDurationCards as P } from "../../utils/index.js";
11
11
  import E from "./test-radio-card/test-radio-card.js";
12
12
  const Y = S((x) => {
13
13
  var y;
@@ -37,7 +37,7 @@ const Y = S((x) => {
37
37
  typeof t == "number" ? h(t) : p(t);
38
38
  },
39
39
  [p, h]
40
- ), C = ((y = r.selectedChapters) == null ? void 0 : y.length) || 0, $ = P(C), L = N(), b = O();
40
+ ), C = ((y = r.selectedChapters) == null ? void 0 : y.length) || 0, $ = N(C), L = O(), b = P();
41
41
  return /* @__PURE__ */ e(n, { children: /* @__PURE__ */ e(
42
42
  B,
43
43
  {
@@ -1,12 +1,27 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { memo as h } from "react";
3
- import n from "../../../../../../ui/image/image.js";
4
- import s from "../../../../../../ui/lottie-animation/lottie-animation.js";
5
- const p = h((i) => {
6
- const { lottiePath: e, imageUrl: o, imageAlt: r, renderLottieJSON: m, lottieWidth: a } = i;
7
- return m ? /* @__PURE__ */ t(s, { width: a, height: 63, src: e }) : /* @__PURE__ */ t(n, { src: o, alt: r, width: 61, height: 58, withLoader: !1 });
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import l from "lottie-web";
3
+ import { memo as s, useRef as d, useEffect as u } from "react";
4
+ import c from "../../../../../../ui/image/image.js";
5
+ import h from "../../../../../../ui/layout/flex-view.js";
6
+ const A = s((r) => {
7
+ const { lottieJSON: t, imageUrl: a, imageAlt: n, renderLottieJSON: e, lottieWidthX: m } = r, i = d(null);
8
+ return u(() => {
9
+ if (e && t) {
10
+ const f = l.loadAnimation({
11
+ name: "validated",
12
+ container: i.current,
13
+ renderer: "canvas",
14
+ loop: !1,
15
+ autoplay: !0,
16
+ animationData: t
17
+ });
18
+ return () => {
19
+ f.destroy();
20
+ };
21
+ }
22
+ }, [e, t]), e ? /* @__PURE__ */ o(h, { $widthX: m, $heightX: 3.9375, ref: i }) : /* @__PURE__ */ o(c, { src: a, alt: n, width: 61, height: 58, withLoader: !1 });
8
23
  });
9
24
  export {
10
- p as default
25
+ A as default
11
26
  };
12
27
  //# sourceMappingURL=test-card-lottie-animation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-card-lottie-animation.js","sources":["../../../../../../../../src/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.tsx"],"sourcesContent":["import type { ITestCardLottieAnimation } from './test-radio-card-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport Image from '../../../../../../ui/image/image';\nimport LottieAnimation from '../../../../../../ui/lottie-animation/lottie-animation';\n\nconst TestCardLottieAnimation: FC<ITestCardLottieAnimation> = memo(props => {\n const { lottiePath, imageUrl, imageAlt, renderLottieJSON, lottieWidth } = props;\n\n if (!renderLottieJSON) {\n return <Image src={imageUrl} alt={imageAlt} width={61} height={58} withLoader={false} />;\n }\n\n return <LottieAnimation width={lottieWidth} height={63} src={lottiePath} />;\n});\n\nexport default TestCardLottieAnimation;\n"],"names":["TestCardLottieAnimation","memo","props","lottiePath","imageUrl","imageAlt","renderLottieJSON","lottieWidth","LottieAnimation","jsx","Image"],"mappings":";;;;AAQM,MAAAA,IAAwDC,EAAK,CAASC,MAAA;AAC1E,QAAM,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,kBAAAC,GAAkB,aAAAC,EAAgB,IAAAL;AAE1E,SAAKI,sBAIGE,GAAgB,EAAA,OAAOD,GAAa,QAAQ,IAAI,KAAKJ,EAAY,CAAA,IAHhE,gBAAAM,EAACC,GAAM,EAAA,KAAKN,GAAU,KAAKC,GAAU,OAAO,IAAI,QAAQ,IAAI,YAAY,GAAO,CAAA;AAI1F,CAAC;"}
1
+ {"version":3,"file":"test-card-lottie-animation.js","sources":["../../../../../../../../src/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.tsx"],"sourcesContent":["import type { ITestCardLottieAnimation } from './test-radio-card-types';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef } from 'react';\n\nimport Image from '../../../../../../ui/image/image';\nimport FlexView from '../../../../../../ui/layout/flex-view';\n\nconst TestCardLottieAnimation: FC<ITestCardLottieAnimation> = memo(props => {\n const { lottieJSON, imageUrl, imageAlt, renderLottieJSON, lottieWidthX } = props;\n\n const animationContainerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (renderLottieJSON && lottieJSON) {\n const animation = Lottie.loadAnimation({\n name: 'validated',\n container: animationContainerRef.current as Element,\n renderer: 'canvas',\n loop: false,\n autoplay: true,\n animationData: lottieJSON,\n });\n\n return () => {\n animation.destroy();\n };\n }\n }, [renderLottieJSON, lottieJSON]);\n\n if (!renderLottieJSON) {\n return <Image src={imageUrl} alt={imageAlt} width={61} height={58} withLoader={false} />;\n }\n\n return <FlexView $widthX={lottieWidthX} $heightX={3.9375} ref={animationContainerRef} />;\n});\n\nexport default TestCardLottieAnimation;\n"],"names":["TestCardLottieAnimation","memo","props","lottieJSON","imageUrl","imageAlt","renderLottieJSON","lottieWidthX","animationContainerRef","useRef","useEffect","animation","Lottie","FlexView","jsx","Image"],"mappings":";;;;;AASM,MAAAA,IAAwDC,EAAK,CAASC,MAAA;AAC1E,QAAM,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,GAAU,kBAAAC,GAAkB,cAAAC,EAAiB,IAAAL,GAErEM,IAAwBC,EAAuB,IAAI;AAmBzD,SAjBAC,EAAU,MAAM;AACd,QAAIJ,KAAoBH,GAAY;AAC5B,YAAAQ,IAAYC,EAAO,cAAc;AAAA,QACrC,MAAM;AAAA,QACN,WAAWJ,EAAsB;AAAA,QACjC,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,eAAeL;AAAA,MAAA,CAChB;AAED,aAAO,MAAM;AACX,QAAAQ,EAAU,QAAQ;AAAA,MAAA;AAAA,IAEtB;AAAA,EAAA,GACC,CAACL,GAAkBH,CAAU,CAAC,GAE5BG,sBAIGO,GAAS,EAAA,SAASN,GAAc,UAAU,QAAQ,KAAKC,EAAuB,CAAA,IAH7E,gBAAAM,EAACC,GAAM,EAAA,KAAKX,GAAU,KAAKC,GAAU,OAAO,IAAI,QAAQ,IAAI,YAAY,GAAO,CAAA;AAI1F,CAAC;"}
@@ -1,9 +1,9 @@
1
1
  import { jsxs as b, jsx as o } from "react/jsx-runtime";
2
2
  import { memo as T, useState as L, useCallback as r } from "react";
3
- import A from "../../../../../../ui/text/text.js";
4
- import O from "./test-card-lottie-animation.js";
5
- import { TestCardWrapper as R, RecommendedTag as k } from "./test-radio-card-styled.js";
6
- const S = T((d) => {
3
+ import O from "../../../../../../ui/text/text.js";
4
+ import A from "./test-card-lottie-animation.js";
5
+ import { TestCardWrapper as R, RecommendedTag as X } from "./test-radio-card-styled.js";
6
+ const J = T((d) => {
7
7
  const {
8
8
  selected: s,
9
9
  title: n,
@@ -13,7 +13,7 @@ const S = T((d) => {
13
13
  isRecommended: u,
14
14
  onTestRadioCardChange: e,
15
15
  value: i,
16
- lottiePath: h,
16
+ lottieJSON: h,
17
17
  isTestDifficultRendering: f
18
18
  } = d, [g, a] = L(!1), t = g || s, C = r(() => {
19
19
  e == null || e(i);
@@ -38,23 +38,23 @@ const S = T((d) => {
38
38
  onMouseEnter: $,
39
39
  onMouseLeave: p,
40
40
  children: [
41
- /* @__PURE__ */ o(A, { $renderAs: t ? "ab2-bold" : "ab2", children: n }),
41
+ /* @__PURE__ */ o(O, { $renderAs: t ? "ab2-bold" : "ab2", children: n }),
42
42
  /* @__PURE__ */ o(
43
- O,
43
+ A,
44
44
  {
45
45
  renderLottieJSON: t,
46
46
  imageUrl: c,
47
47
  imageAlt: n,
48
- lottiePath: h,
49
- lottieWidth: f ? 72 : 62
48
+ lottieJSON: h,
49
+ lottieWidthX: f ? 4.5 : 3.875
50
50
  }
51
51
  ),
52
- u && /* @__PURE__ */ o(k, { $renderAs: "ac4-black", children: "Recommended" })
52
+ u && /* @__PURE__ */ o(X, { $renderAs: "ac4-black", children: "Recommended" })
53
53
  ]
54
54
  }
55
55
  );
56
56
  });
57
57
  export {
58
- S as default
58
+ J as default
59
59
  };
60
60
  //# sourceMappingURL=test-radio-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-radio-card.js","sources":["../../../../../../../../src/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.tsx"],"sourcesContent":["import type { ITestRadioCard } from './test-radio-card-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Text from '../../../../../../ui/text/text';\nimport TestCardLottieAnimation from './test-card-lottie-animation';\nimport * as Styled from './test-radio-card-styled';\n\nconst TestRadioCard: FC<ITestRadioCard> = memo(props => {\n const {\n selected,\n title,\n backgroundColor,\n imageUrl,\n widthX,\n isRecommended,\n onTestRadioCardChange,\n value,\n lottiePath,\n isTestDifficultRendering,\n } = props;\n\n const [renderLottieJSON, setRenderJSON] = useState(false);\n\n const canHighlightCard = renderLottieJSON || selected;\n\n const handleOnTestRadioCardChange = useCallback(() => {\n onTestRadioCardChange?.(value);\n }, [onTestRadioCardChange, value]);\n\n const handleOnMouseEnter = useCallback(() => {\n setRenderJSON(true);\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n setRenderJSON(false);\n }, []);\n\n return (\n <Styled.TestCardWrapper\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $gapX={1}\n $gutterX={1}\n $widthX={widthX}\n $heightX={5.75}\n $borderColor={canHighlightCard ? 'BLACK_T_87' : 'BLACK_T_38'}\n $background={canHighlightCard ? backgroundColor : 'WHITE_1'}\n onClick={handleOnTestRadioCardChange}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Text $renderAs={canHighlightCard ? 'ab2-bold' : 'ab2'}>{title}</Text>\n\n <TestCardLottieAnimation\n renderLottieJSON={canHighlightCard}\n imageUrl={imageUrl}\n imageAlt={title}\n lottiePath={lottiePath}\n lottieWidth={isTestDifficultRendering ? 72 : 62}\n />\n\n {isRecommended && (\n <Styled.RecommendedTag $renderAs=\"ac4-black\">Recommended</Styled.RecommendedTag>\n )}\n </Styled.TestCardWrapper>\n );\n});\n\nexport default TestRadioCard;\n"],"names":["TestRadioCard","memo","props","selected","title","backgroundColor","imageUrl","widthX","isRecommended","onTestRadioCardChange","value","lottiePath","isTestDifficultRendering","renderLottieJSON","setRenderJSON","useState","canHighlightCard","handleOnTestRadioCardChange","useCallback","handleOnMouseEnter","handleOnMouseLeave","jsxs","Styled.TestCardWrapper","jsx","Text","TestCardLottieAnimation","Styled.RecommendedTag"],"mappings":";;;;;AASM,MAAAA,IAAoCC,EAAK,CAASC,MAAA;AAChD,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,eAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,0BAAAC;AAAA,EACE,IAAAV,GAEE,CAACW,GAAkBC,CAAa,IAAIC,EAAS,EAAK,GAElDC,IAAmBH,KAAoBV,GAEvCc,IAA8BC,EAAY,MAAM;AACpD,IAAAT,KAAA,QAAAA,EAAwBC;AAAA,EAAK,GAC5B,CAACD,GAAuBC,CAAK,CAAC,GAE3BS,IAAqBD,EAAY,MAAM;AAC3C,IAAAJ,EAAc,EAAI;AAAA,EACpB,GAAG,CAAE,CAAA,GAECM,IAAqBF,EAAY,MAAM;AAC3C,IAAAJ,EAAc,EAAK;AAAA,EACrB,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAO;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAASf;AAAA,MACT,UAAU;AAAA,MACV,cAAcS,IAAmB,eAAe;AAAA,MAChD,aAAaA,IAAmBX,IAAkB;AAAA,MAClD,SAASY;AAAA,MACT,cAAcE;AAAA,MACd,cAAcC;AAAA,MAEd,UAAA;AAAA,QAAA,gBAAAG,EAACC,GAAK,EAAA,WAAWR,IAAmB,aAAa,OAAQ,UAAMZ,GAAA;AAAA,QAE/D,gBAAAmB;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,kBAAkBT;AAAA,YAClB,UAAAV;AAAA,YACA,UAAUF;AAAA,YACV,YAAAO;AAAA,YACA,aAAaC,IAA2B,KAAK;AAAA,UAAA;AAAA,QAC/C;AAAA,QAECJ,KACE,gBAAAe,EAAAG,GAAA,EAAsB,WAAU,aAAY,UAAW,eAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIhE,CAAC;"}
1
+ {"version":3,"file":"test-radio-card.js","sources":["../../../../../../../../src/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.tsx"],"sourcesContent":["import type { ITestRadioCard } from './test-radio-card-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Text from '../../../../../../ui/text/text';\nimport TestCardLottieAnimation from './test-card-lottie-animation';\nimport * as Styled from './test-radio-card-styled';\n\nconst TestRadioCard: FC<ITestRadioCard> = memo(props => {\n const {\n selected,\n title,\n backgroundColor,\n imageUrl,\n widthX,\n isRecommended,\n onTestRadioCardChange,\n value,\n lottieJSON,\n isTestDifficultRendering,\n } = props;\n\n const [renderLottieJSON, setRenderJSON] = useState(false);\n\n const canHighlightCard = renderLottieJSON || selected;\n\n const handleOnTestRadioCardChange = useCallback(() => {\n onTestRadioCardChange?.(value);\n }, [onTestRadioCardChange, value]);\n\n const handleOnMouseEnter = useCallback(() => {\n setRenderJSON(true);\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n setRenderJSON(false);\n }, []);\n\n return (\n <Styled.TestCardWrapper\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $gapX={1}\n $gutterX={1}\n $widthX={widthX}\n $heightX={5.75}\n $borderColor={canHighlightCard ? 'BLACK_T_87' : 'BLACK_T_38'}\n $background={canHighlightCard ? backgroundColor : 'WHITE_1'}\n onClick={handleOnTestRadioCardChange}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Text $renderAs={canHighlightCard ? 'ab2-bold' : 'ab2'}>{title}</Text>\n\n <TestCardLottieAnimation\n renderLottieJSON={canHighlightCard}\n imageUrl={imageUrl}\n imageAlt={title}\n lottieJSON={lottieJSON}\n lottieWidthX={isTestDifficultRendering ? 4.5 : 3.875}\n />\n\n {isRecommended && (\n <Styled.RecommendedTag $renderAs=\"ac4-black\">Recommended</Styled.RecommendedTag>\n )}\n </Styled.TestCardWrapper>\n );\n});\n\nexport default TestRadioCard;\n"],"names":["TestRadioCard","memo","props","selected","title","backgroundColor","imageUrl","widthX","isRecommended","onTestRadioCardChange","value","lottieJSON","isTestDifficultRendering","renderLottieJSON","setRenderJSON","useState","canHighlightCard","handleOnTestRadioCardChange","useCallback","handleOnMouseEnter","handleOnMouseLeave","jsxs","Styled.TestCardWrapper","jsx","Text","TestCardLottieAnimation","Styled.RecommendedTag"],"mappings":";;;;;AASM,MAAAA,IAAoCC,EAAK,CAASC,MAAA;AAChD,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,eAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,0BAAAC;AAAA,EACE,IAAAV,GAEE,CAACW,GAAkBC,CAAa,IAAIC,EAAS,EAAK,GAElDC,IAAmBH,KAAoBV,GAEvCc,IAA8BC,EAAY,MAAM;AACpD,IAAAT,KAAA,QAAAA,EAAwBC;AAAA,EAAK,GAC5B,CAACD,GAAuBC,CAAK,CAAC,GAE3BS,IAAqBD,EAAY,MAAM;AAC3C,IAAAJ,EAAc,EAAI;AAAA,EACpB,GAAG,CAAE,CAAA,GAECM,IAAqBF,EAAY,MAAM;AAC3C,IAAAJ,EAAc,EAAK;AAAA,EACrB,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAO;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAASf;AAAA,MACT,UAAU;AAAA,MACV,cAAcS,IAAmB,eAAe;AAAA,MAChD,aAAaA,IAAmBX,IAAkB;AAAA,MAClD,SAASY;AAAA,MACT,cAAcE;AAAA,MACd,cAAcC;AAAA,MAEd,UAAA;AAAA,QAAA,gBAAAG,EAACC,GAAK,EAAA,WAAWR,IAAmB,aAAa,OAAQ,UAAMZ,GAAA;AAAA,QAE/D,gBAAAmB;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,kBAAkBT;AAAA,YAClB,UAAAV;AAAA,YACA,UAAUF;AAAA,YACV,YAAAO;AAAA,YACA,cAAcC,IAA2B,MAAM;AAAA,UAAA;AAAA,QACjD;AAAA,QAECJ,KACE,gBAAAe,EAAAG,GAAA,EAAsB,WAAU,aAAY,UAAW,eAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIhE,CAAC;"}
@@ -1,69 +1,75 @@
1
- import { ILLUSTRATIONS as o } from "../../../../../assets/illustrations/illustrations.js";
2
- import { LOTTIE as r } from "../../../../../assets/lottie/lottie.js";
3
- import { TEST_DURATION as t } from "../constants/index.js";
1
+ import { ILLUSTRATIONS as i } from "../../../../../assets/illustrations/illustrations.js";
2
+ import t from "../../../../../assets/lotties/tests-creation/clock_30_min.json.js";
3
+ import l from "../../../../../assets/lotties/tests-creation/clock_45_min.json.js";
4
+ import _ from "../../../../../assets/lotties/tests-creation/clock_60_min.json.js";
5
+ import I from "../../../../../assets/lotties/tests-creation/clock_90_min.json.js";
6
+ import N from "../../../../../assets/lotties/tests-creation/difficult.json.js";
7
+ import e from "../../../../../assets/lotties/tests-creation/easy.json.js";
8
+ import m from "../../../../../assets/lotties/tests-creation/medium.json.js";
9
+ import { TEST_DURATION as o } from "../constants/index.js";
4
10
  const {
5
- DURATION_30MIN_GRAY: _,
6
- DURATION_45MIN_GRAY: i,
7
- DURATION_60MIN_GRAY: l,
8
- DURATION_90MIN_GRAY: M,
9
- TEST_DIFFICULTY_EASY: a,
10
- TEST_DIFFICULTY_MEDIUM: N,
11
- TEST_DIFFICULTY_HARD: e
12
- } = o, n = (I) => I > 0 && I <= 2 ? t.MIN_30 : I > 2 && I <= 4 ? t.MIN_45 : I > 4 && I <= 6 ? t.MIN_60 : t.MIN_90, u = () => [
11
+ DURATION_30MIN_GRAY: M,
12
+ DURATION_45MIN_GRAY: a,
13
+ DURATION_60MIN_GRAY: n,
14
+ DURATION_90MIN_GRAY: T,
15
+ TEST_DIFFICULTY_EASY: u,
16
+ TEST_DIFFICULTY_MEDIUM: U,
17
+ TEST_DIFFICULTY_HARD: c
18
+ } = i, k = (r) => r > 0 && r <= 2 ? o.MIN_30 : r > 2 && r <= 4 ? o.MIN_45 : r > 4 && r <= 6 ? o.MIN_60 : o.MIN_90, Y = () => [
13
19
  {
14
- title: `${t.MIN_30} Min`,
15
- value: t.MIN_30,
16
- imageUrl: _,
17
- lottiePath: r.CLOCK_30MIN,
20
+ title: `${o.MIN_30} Min`,
21
+ value: o.MIN_30,
22
+ imageUrl: M,
23
+ lottieJSON: t,
18
24
  backgroundColor: "GREEN_1"
19
25
  },
20
26
  {
21
- title: `${t.MIN_45} Min`,
22
- value: t.MIN_45,
23
- imageUrl: i,
24
- lottiePath: r.CLOCK_45MIN,
27
+ title: `${o.MIN_45} Min`,
28
+ value: o.MIN_45,
29
+ imageUrl: a,
30
+ lottieJSON: l,
25
31
  backgroundColor: "BLUE_1"
26
32
  },
27
33
  {
28
- title: `${t.MIN_60} Min`,
29
- value: t.MIN_60,
30
- imageUrl: l,
31
- lottiePath: r.CLOCK_60MIN,
34
+ title: `${o.MIN_60} Min`,
35
+ value: o.MIN_60,
36
+ imageUrl: n,
37
+ lottieJSON: _,
32
38
  backgroundColor: "YELLOW_1"
33
39
  },
34
40
  {
35
- title: `${t.MIN_90} Min`,
36
- value: t.MIN_90,
37
- imageUrl: M,
38
- lottiePath: r.CLOCK_90MIN,
41
+ title: `${o.MIN_90} Min`,
42
+ value: o.MIN_90,
43
+ imageUrl: T,
44
+ lottieJSON: I,
39
45
  backgroundColor: "ORANGE_1"
40
46
  }
41
- ], L = () => [
47
+ ], d = () => [
42
48
  {
43
49
  title: "Easy",
44
- imageUrl: a,
45
- lottiePath: r.EASY,
50
+ imageUrl: u,
51
+ lottieJSON: e,
46
52
  backgroundColor: "BLUE_1",
47
53
  value: "EASY"
48
54
  },
49
55
  {
50
56
  title: "Moderate",
51
57
  value: "MODERATE",
52
- lottiePath: r.MEDIUM,
53
- imageUrl: N,
58
+ lottieJSON: m,
59
+ imageUrl: U,
54
60
  backgroundColor: "YELLOW_1"
55
61
  },
56
62
  {
57
63
  title: "Difficult",
58
64
  value: "DIFFICULT",
59
- lottiePath: r.DIFFICULT,
60
- imageUrl: e,
65
+ lottieJSON: N,
66
+ imageUrl: c,
61
67
  backgroundColor: "ORANGE_1"
62
68
  }
63
69
  ];
64
70
  export {
65
- L as getDifficultyLevelCards,
66
- n as getRecommendedTestDuration,
67
- u as getTestDurationCards
71
+ d as getDifficultyLevelCards,
72
+ k as getRecommendedTestDuration,
73
+ Y as getTestDurationCards
68
74
  };
69
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/features/milestone/milestone-tests/tests-creation/utils/index.ts"],"sourcesContent":["import type { ITestDifficultyLevelCards } from '../test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection-types';\nimport type { ITestRadioCard } from '../test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card-types';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport { TEST_DURATION } from '../constants';\n\nconst {\n DURATION_30MIN_GRAY,\n DURATION_45MIN_GRAY,\n DURATION_60MIN_GRAY,\n DURATION_90MIN_GRAY,\n TEST_DIFFICULTY_EASY,\n TEST_DIFFICULTY_MEDIUM,\n TEST_DIFFICULTY_HARD,\n} = ILLUSTRATIONS;\n\nconst getRecommendedTestDuration = (selectedChaptersCount: number) => {\n if (selectedChaptersCount > 0 && selectedChaptersCount <= 2) return TEST_DURATION.MIN_30;\n\n if (selectedChaptersCount > 2 && selectedChaptersCount <= 4) return TEST_DURATION.MIN_45;\n\n if (selectedChaptersCount > 4 && selectedChaptersCount <= 6) return TEST_DURATION.MIN_60;\n\n return TEST_DURATION.MIN_90;\n};\n\nconst getTestDurationCards = (): ITestRadioCard[] => {\n return [\n {\n title: `${TEST_DURATION.MIN_30} Min`,\n value: TEST_DURATION.MIN_30,\n imageUrl: DURATION_30MIN_GRAY,\n lottiePath: LOTTIE.CLOCK_30MIN,\n backgroundColor: 'GREEN_1',\n },\n {\n title: `${TEST_DURATION.MIN_45} Min`,\n value: TEST_DURATION.MIN_45,\n imageUrl: DURATION_45MIN_GRAY,\n lottiePath: LOTTIE.CLOCK_45MIN,\n backgroundColor: 'BLUE_1',\n },\n {\n title: `${TEST_DURATION.MIN_60} Min`,\n value: TEST_DURATION.MIN_60,\n imageUrl: DURATION_60MIN_GRAY,\n lottiePath: LOTTIE.CLOCK_60MIN,\n backgroundColor: 'YELLOW_1',\n },\n {\n title: `${TEST_DURATION.MIN_90} Min`,\n value: TEST_DURATION.MIN_90,\n imageUrl: DURATION_90MIN_GRAY,\n lottiePath: LOTTIE.CLOCK_90MIN,\n backgroundColor: 'ORANGE_1',\n },\n ];\n};\n\nconst getDifficultyLevelCards = (): ITestDifficultyLevelCards[] => {\n return [\n {\n title: 'Easy',\n imageUrl: TEST_DIFFICULTY_EASY,\n lottiePath: LOTTIE.EASY,\n backgroundColor: 'BLUE_1',\n value: 'EASY',\n },\n {\n title: 'Moderate',\n value: 'MODERATE',\n lottiePath: LOTTIE.MEDIUM,\n imageUrl: TEST_DIFFICULTY_MEDIUM,\n backgroundColor: 'YELLOW_1',\n },\n {\n title: 'Difficult',\n value: 'DIFFICULT',\n lottiePath: LOTTIE.DIFFICULT,\n imageUrl: TEST_DIFFICULTY_HARD,\n backgroundColor: 'ORANGE_1',\n },\n ];\n};\n\nexport { getRecommendedTestDuration, getTestDurationCards, getDifficultyLevelCards };\n"],"names":["DURATION_30MIN_GRAY","DURATION_45MIN_GRAY","DURATION_60MIN_GRAY","DURATION_90MIN_GRAY","TEST_DIFFICULTY_EASY","TEST_DIFFICULTY_MEDIUM","TEST_DIFFICULTY_HARD","ILLUSTRATIONS","getRecommendedTestDuration","selectedChaptersCount","TEST_DURATION","getTestDurationCards","LOTTIE","getDifficultyLevelCards"],"mappings":";;;AAOA,MAAM;AAAA,EACJ,qBAAAA;AAAA,EACA,qBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,sBAAAC;AACF,IAAIC,GAEEC,IAA6B,CAACC,MAC9BA,IAAwB,KAAKA,KAAyB,IAAUC,EAAc,SAE9ED,IAAwB,KAAKA,KAAyB,IAAUC,EAAc,SAE9ED,IAAwB,KAAKA,KAAyB,IAAUC,EAAc,SAE3EA,EAAc,QAGjBC,IAAuB,MACpB;AAAA,EACL;AAAA,IACE,OAAO,GAAGD,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUV;AAAA,IACV,YAAYY,EAAO;AAAA,IACnB,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO,GAAGF,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUT;AAAA,IACV,YAAYW,EAAO;AAAA,IACnB,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO,GAAGF,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUR;AAAA,IACV,YAAYU,EAAO;AAAA,IACnB,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO,GAAGF,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUP;AAAA,IACV,YAAYS,EAAO;AAAA,IACnB,iBAAiB;AAAA,EACnB;AAAA,GAIEC,IAA0B,MACvB;AAAA,EACL;AAAA,IACE,OAAO;AAAA,IACP,UAAUT;AAAA,IACV,YAAYQ,EAAO;AAAA,IACnB,iBAAiB;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAYA,EAAO;AAAA,IACnB,UAAUP;AAAA,IACV,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAYO,EAAO;AAAA,IACnB,UAAUN;AAAA,IACV,iBAAiB;AAAA,EACnB;AAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/features/milestone/milestone-tests/tests-creation/utils/index.ts"],"sourcesContent":["import type { ITestDifficultyLevelCards } from '../test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection-types';\nimport type { ITestRadioCard } from '../test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card-types';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport clock30Min from '../../../../../assets/lotties/tests-creation/clock_30_min.json';\nimport clock45Min from '../../../../../assets/lotties/tests-creation/clock_45_min.json';\nimport clock60Min from '../../../../../assets/lotties/tests-creation/clock_60_min.json';\nimport clock90Min from '../../../../../assets/lotties/tests-creation/clock_90_min.json';\nimport difficult from '../../../../../assets/lotties/tests-creation/difficult.json';\nimport easy from '../../../../../assets/lotties/tests-creation/easy.json';\nimport medium from '../../../../../assets/lotties/tests-creation/medium.json';\nimport { TEST_DURATION } from '../constants';\n\nconst {\n DURATION_30MIN_GRAY,\n DURATION_45MIN_GRAY,\n DURATION_60MIN_GRAY,\n DURATION_90MIN_GRAY,\n TEST_DIFFICULTY_EASY,\n TEST_DIFFICULTY_MEDIUM,\n TEST_DIFFICULTY_HARD,\n} = ILLUSTRATIONS;\n\nconst getRecommendedTestDuration = (selectedChaptersCount: number) => {\n if (selectedChaptersCount > 0 && selectedChaptersCount <= 2) return TEST_DURATION.MIN_30;\n\n if (selectedChaptersCount > 2 && selectedChaptersCount <= 4) return TEST_DURATION.MIN_45;\n\n if (selectedChaptersCount > 4 && selectedChaptersCount <= 6) return TEST_DURATION.MIN_60;\n\n return TEST_DURATION.MIN_90;\n};\n\nconst getTestDurationCards = (): ITestRadioCard[] => {\n return [\n {\n title: `${TEST_DURATION.MIN_30} Min`,\n value: TEST_DURATION.MIN_30,\n imageUrl: DURATION_30MIN_GRAY,\n lottieJSON: clock30Min,\n backgroundColor: 'GREEN_1',\n },\n {\n title: `${TEST_DURATION.MIN_45} Min`,\n value: TEST_DURATION.MIN_45,\n imageUrl: DURATION_45MIN_GRAY,\n lottieJSON: clock45Min,\n backgroundColor: 'BLUE_1',\n },\n {\n title: `${TEST_DURATION.MIN_60} Min`,\n value: TEST_DURATION.MIN_60,\n imageUrl: DURATION_60MIN_GRAY,\n lottieJSON: clock60Min,\n backgroundColor: 'YELLOW_1',\n },\n {\n title: `${TEST_DURATION.MIN_90} Min`,\n value: TEST_DURATION.MIN_90,\n imageUrl: DURATION_90MIN_GRAY,\n lottieJSON: clock90Min,\n backgroundColor: 'ORANGE_1',\n },\n ];\n};\n\nconst getDifficultyLevelCards = (): ITestDifficultyLevelCards[] => {\n return [\n {\n title: 'Easy',\n imageUrl: TEST_DIFFICULTY_EASY,\n lottieJSON: easy,\n backgroundColor: 'BLUE_1',\n value: 'EASY',\n },\n {\n title: 'Moderate',\n value: 'MODERATE',\n lottieJSON: medium,\n imageUrl: TEST_DIFFICULTY_MEDIUM,\n backgroundColor: 'YELLOW_1',\n },\n {\n title: 'Difficult',\n value: 'DIFFICULT',\n lottieJSON: difficult,\n imageUrl: TEST_DIFFICULTY_HARD,\n backgroundColor: 'ORANGE_1',\n },\n ];\n};\n\nexport { getRecommendedTestDuration, getTestDurationCards, getDifficultyLevelCards };\n"],"names":["DURATION_30MIN_GRAY","DURATION_45MIN_GRAY","DURATION_60MIN_GRAY","DURATION_90MIN_GRAY","TEST_DIFFICULTY_EASY","TEST_DIFFICULTY_MEDIUM","TEST_DIFFICULTY_HARD","ILLUSTRATIONS","getRecommendedTestDuration","selectedChaptersCount","TEST_DURATION","getTestDurationCards","clock30Min","clock45Min","clock60Min","clock90Min","getDifficultyLevelCards","easy","medium","difficult"],"mappings":";;;;;;;;;AAaA,MAAM;AAAA,EACJ,qBAAAA;AAAA,EACA,qBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,sBAAAC;AACF,IAAIC,GAEEC,IAA6B,CAACC,MAC9BA,IAAwB,KAAKA,KAAyB,IAAUC,EAAc,SAE9ED,IAAwB,KAAKA,KAAyB,IAAUC,EAAc,SAE9ED,IAAwB,KAAKA,KAAyB,IAAUC,EAAc,SAE3EA,EAAc,QAGjBC,IAAuB,MACpB;AAAA,EACL;AAAA,IACE,OAAO,GAAGD,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUV;AAAA,IACV,YAAYY;AAAA,IACZ,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO,GAAGF,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUT;AAAA,IACV,YAAYY;AAAA,IACZ,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO,GAAGH,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUR;AAAA,IACV,YAAYY;AAAA,IACZ,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO,GAAGJ,EAAc,MAAM;AAAA,IAC9B,OAAOA,EAAc;AAAA,IACrB,UAAUP;AAAA,IACV,YAAYY;AAAA,IACZ,iBAAiB;AAAA,EACnB;AAAA,GAIEC,IAA0B,MACvB;AAAA,EACL;AAAA,IACE,OAAO;AAAA,IACP,UAAUZ;AAAA,IACV,YAAYa;AAAA,IACZ,iBAAiB;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAYC;AAAA,IACZ,UAAUb;AAAA,IACV,iBAAiB;AAAA,EACnB;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAYc;AAAA,IACZ,UAAUb;AAAA,IACV,iBAAiB;AAAA,EACnB;AAAA;"}
@@ -1,80 +1,76 @@
1
- import { jsxs as v, jsx as t } from "react/jsx-runtime";
1
+ import { jsxs as C, jsx as t } from "react/jsx-runtime";
2
2
  import I from "lottie-web";
3
- import { memo as X, useRef as a, useState as d, useCallback as W, useEffect as b } from "react";
4
- import { LOTTIE as M } from "../../../assets/lottie/lottie.js";
5
- import { useCircleSounds as k } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
6
- import { CircleSoundKey as h } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
3
+ import { memo as v, useRef as a, useState as A, useCallback as X, useEffect as Y } from "react";
4
+ import { useCircleSounds as j } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
5
+ import { CircleSoundKey as M } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
7
6
  import { delay as s } from "../../utils/utils.js";
8
- import { AnimatedPercentTextInput as H } from "./accuracy-comps.js";
9
- import { Accuracy as K, AccuracyMeterLottie as q, AnimatedAccuracyNeedleContainer as z, AccuracyNeedleLottie as B, TextWrapper as G, PercentTextWrapper as J } from "./accuracy-styled.js";
10
- import { getAccuracyFramesToPlay as Q } from "./accuracy-utils.js";
11
- import { NEEDLE_HOLD_TIME as C, METER as O, TEXT_DISAPPEAR_DELAY as V, TEXT_DISAPPEAR_DURATION as Z, TEXT_APPEAR_DURATION as ee, NEEDLE as F, NEEDLE_LOTTIE_FPS as U } from "./constants.js";
12
- const Ae = X(({ show: u, onComplete: n, accuracy: l, helperText: E }) => {
13
- const { play: c } = k(), y = a(null), p = a(null), o = a(), r = a(), [g, w] = d(!0), [m, T] = d(!1), [R, x] = d(!1), $ = a(0), _ = (F.IN_FRAMES[1] - F.IN_FRAMES[0]) / U * 1e3, S = W(async () => {
14
- var A;
7
+ import { AnimatedPercentTextInput as W } from "./accuracy-comps.js";
8
+ import { Accuracy as b, AccuracyMeterLottie as k, AnimatedAccuracyNeedleContainer as H, AccuracyNeedleLottie as K, TextWrapper as q, PercentTextWrapper as z } from "./accuracy-styled.js";
9
+ import { getAccuracyFramesToPlay as B } from "./accuracy-utils.js";
10
+ import { NEEDLE_HOLD_TIME as h, METER as F, TEXT_DISAPPEAR_DELAY as G, TEXT_DISAPPEAR_DURATION as J, TEXT_APPEAR_DURATION as Q, NEEDLE as O, NEEDLE_LOTTIE_FPS as g } from "./constants.js";
11
+ const V = () => import("../../../assets/lotties/circle/accuracy-meter-lottie.json.js"), Z = () => import("../../../assets/lotties/circle/accuracy-needle-lottie.json.js"), le = v(({ show: u, onComplete: n, accuracy: l, helperText: y }) => {
12
+ const { play: c } = j(), E = a(null), p = a(null), o = a(), r = a(), [x, U] = A(!0), [m, T] = A(!1), [R, $] = A(!1), w = a(0), S = (O.IN_FRAMES[1] - O.IN_FRAMES[0]) / g * 1e3, P = X(async () => {
13
+ var d;
15
14
  try {
16
- await s(C), w(!1), T(!1), c(h.ACCURACY_OUT), (A = o.current) == null || A.playSegments(O.OUT_FRAMES, !0), await s(V), x(!0), n == null || n();
15
+ await s(h), U(!1), T(!1), c(M.ACCURACY_OUT), (d = o.current) == null || d.playSegments(F.OUT_FRAMES, !0), await s(G), $(!0), n == null || n();
17
16
  } catch (e) {
18
17
  console.log(e);
19
18
  }
20
19
  }, [n, c]);
21
- return b(() => {
20
+ return Y(() => {
22
21
  if (u)
23
22
  return (async () => {
24
- var L;
23
+ var _;
25
24
  const [e, i] = await Promise.all([
26
- fetch(M.ACCURACY_METER),
27
- fetch(M.ACCURACY_NEEDLE)
28
- ]), [Y, j] = await Promise.all([
29
- e.json(),
30
- i.json()
25
+ V(),
26
+ Z()
31
27
  ]);
32
28
  o.current = I.loadAnimation({
33
- container: y.current,
34
- animationData: Y,
29
+ container: E.current,
30
+ animationData: e.default,
35
31
  autoplay: !1,
36
32
  loop: !1,
37
33
  renderer: "svg"
38
34
  }), r.current = I.loadAnimation({
39
35
  container: p.current,
40
- animationData: j,
36
+ animationData: i.default,
41
37
  autoplay: !1,
42
38
  loop: !1,
43
39
  renderer: "svg"
44
- }), c(h.ACCURACY_IN), (L = o.current) == null || L.playSegments(O.IN_FRAMES, !0), s(_).then(() => {
45
- var D, P, N;
46
- const f = Q(l);
47
- $.current = f, (D = r.current) == null || D.setSpeed(f / U), (P = r.current) == null || P.playSegments([0, f], !0), T(!0), (N = r.current) == null || N.addEventListener("complete", () => {
48
- s(C).then(() => S());
40
+ }), c(M.ACCURACY_IN), (_ = o.current) == null || _.playSegments(F.IN_FRAMES, !0), s(S).then(() => {
41
+ var L, N, D;
42
+ const f = B(l);
43
+ w.current = f, (L = r.current) == null || L.setSpeed(f / g), (N = r.current) == null || N.playSegments([0, f], !0), T(!0), (D = r.current) == null || D.addEventListener("complete", () => {
44
+ s(h).then(() => P());
49
45
  });
50
46
  });
51
47
  })(), () => {
52
48
  var e, i;
53
49
  (e = o.current) == null || e.destroy(), (i = r.current) == null || i.destroy();
54
50
  };
55
- }, [u, l, _, S, c]), u ? /* @__PURE__ */ v(K, { children: [
56
- /* @__PURE__ */ t(q, { ref: y }),
57
- g && /* @__PURE__ */ t(z, { children: /* @__PURE__ */ t(B, { ref: p }) }),
58
- E && /* @__PURE__ */ t(
59
- G,
51
+ }, [u, l, S, P, c]), u ? /* @__PURE__ */ C(b, { children: [
52
+ /* @__PURE__ */ t(k, { ref: E }),
53
+ x && /* @__PURE__ */ t(H, { children: /* @__PURE__ */ t(K, { ref: p }) }),
54
+ y && /* @__PURE__ */ t(
55
+ q,
60
56
  {
61
57
  $delay: 1e3,
62
58
  $animationType: R ? "fadeout" : "fadein",
63
- $duration: R ? Z : ee,
64
- children: E
59
+ $duration: R ? J : Q,
60
+ children: y
65
61
  }
66
62
  ),
67
63
  m && /* @__PURE__ */ t(
68
- J,
64
+ z,
69
65
  {
70
66
  $animationType: m ? "fadein" : "fadeout",
71
67
  $duration: 200,
72
- children: /* @__PURE__ */ t(H, { accuracy: Math.round(l), time: 1e3 })
68
+ children: /* @__PURE__ */ t(W, { accuracy: Math.round(l), time: 1e3 })
73
69
  }
74
70
  )
75
71
  ] }) : null;
76
72
  });
77
73
  export {
78
- Ae as Accuracy
74
+ le as Accuracy
79
75
  };
80
76
  //# sourceMappingURL=accuracy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accuracy.js","sources":["../../../../src/features/post-game-stats/accuracy/accuracy.tsx"],"sourcesContent":["import type { IAccuracyProps } from './accuracy-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef, useState, useCallback } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\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 { delay } from '../../utils/utils';\nimport { AnimatedPercentTextInput } from './accuracy-comps';\nimport * as Styled from './accuracy-styled';\nimport { getAccuracyFramesToPlay } from './accuracy-utils';\nimport {\n METER,\n NEEDLE,\n NEEDLE_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n NEEDLE_LOTTIE_FPS,\n} from './constants';\n\nexport const Accuracy: FC<IAccuracyProps> = memo(({ show, onComplete, accuracy, helperText }) => {\n const { play } = useCircleSounds();\n const accuracyMeterRef = useRef<HTMLDivElement>(null);\n const accuracyNeedleRef = useRef<HTMLDivElement>(null);\n const accuracyMeterAnimationRef = useRef<AnimationItem>();\n const accuracyNeedleAnimationRef = useRef<AnimationItem>();\n\n const [showAccuracy, setShowAccuracy] = useState(true);\n const [showPercent, setShowPercent] = useState(false);\n const [fadeOut, setFadeOut] = useState(false);\n const needleFramesToPlay = useRef(0);\n\n const percentStartAnimationDelayInMs =\n ((NEEDLE.IN_FRAMES[1] - NEEDLE.IN_FRAMES[0]) / NEEDLE_LOTTIE_FPS) * 1000;\n\n const playExitAnimation = useCallback(async () => {\n try {\n await delay(NEEDLE_HOLD_TIME);\n setShowAccuracy(false);\n setShowPercent(false);\n play(CircleSoundKey.ACCURACY_OUT);\n accuracyMeterAnimationRef.current?.playSegments(METER.OUT_FRAMES, true);\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n onComplete?.();\n } catch (err) {\n /* eslint-disable no-console */\n console.log(err);\n }\n }, [onComplete, play]);\n\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [meterLottie, needleLottie] = await Promise.all([\n fetch(LOTTIE.ACCURACY_METER),\n fetch(LOTTIE.ACCURACY_NEEDLE),\n ]);\n const [meterLottieData, needleLottieData] = await Promise.all([\n meterLottie.json(),\n needleLottie.json(),\n ]);\n\n accuracyMeterAnimationRef.current = Lottie.loadAnimation({\n container: accuracyMeterRef.current as Element,\n animationData: meterLottieData,\n autoplay: false,\n loop: false,\n renderer: 'svg',\n });\n\n accuracyNeedleAnimationRef.current = Lottie.loadAnimation({\n container: accuracyNeedleRef.current as Element,\n animationData: needleLottieData,\n autoplay: false,\n loop: false,\n renderer: 'svg',\n });\n\n play(CircleSoundKey.ACCURACY_IN);\n accuracyMeterAnimationRef.current?.playSegments(METER.IN_FRAMES, true);\n\n delay(percentStartAnimationDelayInMs).then(() => {\n const frames = getAccuracyFramesToPlay(accuracy);\n\n needleFramesToPlay.current = frames;\n accuracyNeedleAnimationRef.current?.setSpeed(frames / NEEDLE_LOTTIE_FPS);\n accuracyNeedleAnimationRef.current?.playSegments([0, frames], true);\n setShowPercent(true);\n\n accuracyNeedleAnimationRef.current?.addEventListener('complete', () => {\n delay(NEEDLE_HOLD_TIME).then(() => playExitAnimation());\n });\n });\n };\n\n loadAnimations();\n\n return () => {\n accuracyMeterAnimationRef.current?.destroy();\n accuracyNeedleAnimationRef.current?.destroy();\n };\n }\n }, [show, accuracy, percentStartAnimationDelayInMs, playExitAnimation, play]);\n\n if (show) {\n return (\n <Styled.Accuracy>\n <Styled.AccuracyMeterLottie ref={accuracyMeterRef} />\n {showAccuracy && (\n <Styled.AnimatedAccuracyNeedleContainer>\n <Styled.AccuracyNeedleLottie ref={accuracyNeedleRef} />\n </Styled.AnimatedAccuracyNeedleContainer>\n )}\n {helperText && (\n <Styled.TextWrapper\n $delay={1000}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n {showPercent && (\n <Styled.PercentTextWrapper\n $animationType={showPercent ? 'fadein' : 'fadeout'}\n $duration={showPercent ? 200 : 200}\n >\n <AnimatedPercentTextInput accuracy={Math.round(accuracy)} time={1000} />\n </Styled.PercentTextWrapper>\n )}\n </Styled.Accuracy>\n );\n }\n\n return null;\n});\n"],"names":["Accuracy","memo","show","onComplete","accuracy","helperText","play","useCircleSounds","accuracyMeterRef","useRef","accuracyNeedleRef","accuracyMeterAnimationRef","accuracyNeedleAnimationRef","showAccuracy","setShowAccuracy","useState","showPercent","setShowPercent","fadeOut","setFadeOut","needleFramesToPlay","percentStartAnimationDelayInMs","NEEDLE","NEEDLE_LOTTIE_FPS","playExitAnimation","useCallback","delay","NEEDLE_HOLD_TIME","CircleSoundKey","_a","METER","TEXT_DISAPPEAR_DELAY","err","useEffect","meterLottie","needleLottie","LOTTIE","meterLottieData","needleLottieData","Lottie","frames","getAccuracyFramesToPlay","_b","_c","jsxs","Styled.Accuracy","jsx","Styled.AccuracyMeterLottie","Styled.AnimatedAccuracyNeedleContainer","Styled.AccuracyNeedleLottie","Styled.TextWrapper","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION","Styled.PercentTextWrapper","AnimatedPercentTextInput"],"mappings":"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"}
1
+ {"version":3,"file":"accuracy.js","sources":["../../../../src/features/post-game-stats/accuracy/accuracy.tsx"],"sourcesContent":["import type { IAccuracyProps } from './accuracy-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef, useState, useCallback } from 'react';\n\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 { delay } from '../../utils/utils';\nimport { AnimatedPercentTextInput } from './accuracy-comps';\nimport * as Styled from './accuracy-styled';\nimport { getAccuracyFramesToPlay } from './accuracy-utils';\nimport {\n METER,\n NEEDLE,\n NEEDLE_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n NEEDLE_LOTTIE_FPS,\n} from './constants';\n\nconst accuracyMeterLottie = () =>\n import('../../../assets/lotties/circle/accuracy-meter-lottie.json');\nconst accuracyNeedleLottie = () =>\n import('../../../assets/lotties/circle/accuracy-needle-lottie.json');\n\nexport const Accuracy: FC<IAccuracyProps> = memo(({ show, onComplete, accuracy, helperText }) => {\n const { play } = useCircleSounds();\n const accuracyMeterRef = useRef<HTMLDivElement>(null);\n const accuracyNeedleRef = useRef<HTMLDivElement>(null);\n const accuracyMeterAnimationRef = useRef<AnimationItem>();\n const accuracyNeedleAnimationRef = useRef<AnimationItem>();\n\n const [showAccuracy, setShowAccuracy] = useState(true);\n const [showPercent, setShowPercent] = useState(false);\n const [fadeOut, setFadeOut] = useState(false);\n const needleFramesToPlay = useRef(0);\n\n const percentStartAnimationDelayInMs =\n ((NEEDLE.IN_FRAMES[1] - NEEDLE.IN_FRAMES[0]) / NEEDLE_LOTTIE_FPS) * 1000;\n\n const playExitAnimation = useCallback(async () => {\n try {\n await delay(NEEDLE_HOLD_TIME);\n setShowAccuracy(false);\n setShowPercent(false);\n play(CircleSoundKey.ACCURACY_OUT);\n accuracyMeterAnimationRef.current?.playSegments(METER.OUT_FRAMES, true);\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n onComplete?.();\n } catch (err) {\n /* eslint-disable no-console */\n console.log(err);\n }\n }, [onComplete, play]);\n\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [meterLottiePath, needleLottiePath] = await Promise.all([\n accuracyMeterLottie(),\n accuracyNeedleLottie(),\n ]);\n\n accuracyMeterAnimationRef.current = Lottie.loadAnimation({\n container: accuracyMeterRef.current as Element,\n animationData: meterLottiePath.default,\n autoplay: false,\n loop: false,\n renderer: 'svg',\n });\n\n accuracyNeedleAnimationRef.current = Lottie.loadAnimation({\n container: accuracyNeedleRef.current as Element,\n animationData: needleLottiePath.default,\n autoplay: false,\n loop: false,\n renderer: 'svg',\n });\n\n play(CircleSoundKey.ACCURACY_IN);\n accuracyMeterAnimationRef.current?.playSegments(METER.IN_FRAMES, true);\n\n delay(percentStartAnimationDelayInMs).then(() => {\n const frames = getAccuracyFramesToPlay(accuracy);\n\n needleFramesToPlay.current = frames;\n accuracyNeedleAnimationRef.current?.setSpeed(frames / NEEDLE_LOTTIE_FPS);\n accuracyNeedleAnimationRef.current?.playSegments([0, frames], true);\n setShowPercent(true);\n\n accuracyNeedleAnimationRef.current?.addEventListener('complete', () => {\n delay(NEEDLE_HOLD_TIME).then(() => playExitAnimation());\n });\n });\n };\n\n loadAnimations();\n\n return () => {\n accuracyMeterAnimationRef.current?.destroy();\n accuracyNeedleAnimationRef.current?.destroy();\n };\n }\n }, [show, accuracy, percentStartAnimationDelayInMs, playExitAnimation, play]);\n\n if (show) {\n return (\n <Styled.Accuracy>\n <Styled.AccuracyMeterLottie ref={accuracyMeterRef} />\n {showAccuracy && (\n <Styled.AnimatedAccuracyNeedleContainer>\n <Styled.AccuracyNeedleLottie ref={accuracyNeedleRef} />\n </Styled.AnimatedAccuracyNeedleContainer>\n )}\n {helperText && (\n <Styled.TextWrapper\n $delay={1000}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n {showPercent && (\n <Styled.PercentTextWrapper\n $animationType={showPercent ? 'fadein' : 'fadeout'}\n $duration={showPercent ? 200 : 200}\n >\n <AnimatedPercentTextInput accuracy={Math.round(accuracy)} time={1000} />\n </Styled.PercentTextWrapper>\n )}\n </Styled.Accuracy>\n );\n }\n\n return null;\n});\n"],"names":["accuracyMeterLottie","accuracyNeedleLottie","Accuracy","memo","show","onComplete","accuracy","helperText","play","useCircleSounds","accuracyMeterRef","useRef","accuracyNeedleRef","accuracyMeterAnimationRef","accuracyNeedleAnimationRef","showAccuracy","setShowAccuracy","useState","showPercent","setShowPercent","fadeOut","setFadeOut","needleFramesToPlay","percentStartAnimationDelayInMs","NEEDLE","NEEDLE_LOTTIE_FPS","playExitAnimation","useCallback","delay","NEEDLE_HOLD_TIME","CircleSoundKey","_a","METER","TEXT_DISAPPEAR_DELAY","err","useEffect","meterLottiePath","needleLottiePath","Lottie","frames","getAccuracyFramesToPlay","_b","_c","jsxs","Styled.Accuracy","jsx","Styled.AccuracyMeterLottie","Styled.AnimatedAccuracyNeedleContainer","Styled.AccuracyNeedleLottie","Styled.TextWrapper","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION","Styled.PercentTextWrapper","AnimatedPercentTextInput"],"mappings":"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"}