@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-progress-lottie.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,13 @@
1
+ const r = async (c) => {
2
+ let t = null;
3
+ try {
4
+ t = await fetch(c).then((e) => e.json()).catch(() => null);
5
+ } catch {
6
+ console.log("err while fetching the card");
7
+ }
8
+ return t;
9
+ };
10
+ export {
11
+ r as fetchLottie
12
+ };
13
+ //# sourceMappingURL=fetch-lottie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-lottie.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.ts"],"sourcesContent":["import type { AnimationItem } from 'lottie-web';\n\nexport const fetchLottie = async (gameCardLottieUrl: string): Promise<AnimationItem | null> => {\n let cardLottie: AnimationItem | null = null;\n\n try {\n cardLottie = await fetch(gameCardLottieUrl)\n .then(res => res.json())\n .catch(() => null);\n } catch (err) {\n /* eslint-disable no-console */\n console.log('err while fetching the card');\n }\n\n return cardLottie;\n};\n"],"names":["fetchLottie","gameCardLottieUrl","cardLottie","res"],"mappings":"AAEa,MAAAA,IAAc,OAAOC,MAA6D;AAC7F,MAAIC,IAAmC;AAEnC,MAAA;AACF,IAAAA,IAAa,MAAM,MAAMD,CAAiB,EACvC,KAAK,CAAAE,MAAOA,EAAI,KAAA,CAAM,EACtB,MAAM,MAAM,IAAI;AAAA,UACP;AAEZ,YAAQ,IAAI,6BAA6B;AAAA,EAC3C;AAEO,SAAAD;AACT;"}
@@ -1,116 +1,114 @@
1
- import { jsxs as T, jsx as e } from "react/jsx-runtime";
2
- import k from "lottie-web";
3
- import { memo as v, forwardRef as H, useRef as L, useState as C, useCallback as f, useImperativeHandle as w, useMemo as I, useEffect as F } from "react";
4
- import x from "../../../../../assets/line-icons/icons/check.js";
5
- import { LOTTIE as G } from "../../../../../assets/lottie/lottie.js";
6
- import { fetchLottie as j } from "../../../../ui/lottie-animation/helper.js";
7
- import O from "../../../../ui/lottie-animation/lottie-animation.js";
8
- import { SegmentedCard as U, ExtendedFlexView as B, AnimatedLabel as D, SegmentedCardWrapper as N, CircularProgressLottieContainer as q, SegmentLeft as z, SegmentRight as J, SegmentBottom as K, SegmentContainer as Q, SegmentContentContainer as V, SegmentAssetContainer as X, SegmentOverlay as Y, IconWrapper as Z } from "./segmented-game-card-styled.js";
9
- const S = ({
10
- segmentType: t,
1
+ import { jsxs as A, jsx as t } from "react/jsx-runtime";
2
+ import R from "lottie-web";
3
+ import { memo as M, forwardRef as v, useRef as f, useState as S, useCallback as u, useImperativeHandle as w, useEffect as b } from "react";
4
+ import F from "../../../../../assets/line-icons/icons/check.js";
5
+ import x from "../../../../../assets/lotties/circle/levelup-rings-lottie.json.js";
6
+ import { fetchLottie as j } from "./fetch-lottie.js";
7
+ import { SegmentedCard as D, ExtendedFlexView as G, AnimatedLabel as B, SegmentedCardWrapper as O, CircularProgressLottieContainer as q, SegmentLeft as z, SegmentRight as J, SegmentBottom as K, SegmentContainer as N, SegmentContentContainer as Q, SegmentAssetContainer as U, SegmentOverlay as X, IconWrapper as Y } from "./segmented-game-card-styled.js";
8
+ const T = ({
9
+ segmentType: e,
11
10
  isCompleted: i,
12
- card: m,
13
- name: l,
11
+ card: l,
12
+ name: m,
14
13
  onMouseEnter: s
15
14
  }) => {
16
- const c = L(null);
17
- F(() => {
18
- let o = null;
15
+ const c = f(null);
16
+ b(() => {
17
+ let r = null;
19
18
  return (async () => {
20
- const d = await j(m);
21
- o = k.loadAnimation({
19
+ const p = await j(l);
20
+ r = R.loadAnimation({
22
21
  container: c.current,
23
22
  renderer: "canvas",
24
23
  loop: !0,
25
24
  autoplay: !0,
26
- animationData: d
25
+ animationData: p
27
26
  });
28
- })(), () => o == null ? void 0 : o.destroy();
29
- }, [m]);
30
- const a = f(() => s(l), [s, l]);
31
- return /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ T(V, { $segmentType: t, onMouseEnter: a, children: [
32
- /* @__PURE__ */ e(X, { ref: c, $segmentType: t }),
33
- i && /* @__PURE__ */ e(Y, { $segmentType: t, children: /* @__PURE__ */ e(Z, { children: /* @__PURE__ */ e(x, { color: "#fff", height: 40, width: 40 }) }) })
27
+ })(), () => r == null ? void 0 : r.destroy();
28
+ }, [l]);
29
+ const d = u(() => s(m), [s, m]);
30
+ return /* @__PURE__ */ t(N, { children: /* @__PURE__ */ A(Q, { $segmentType: e, onMouseEnter: d, children: [
31
+ /* @__PURE__ */ t(U, { ref: c, $segmentType: e }),
32
+ i && /* @__PURE__ */ t(X, { $segmentType: e, children: /* @__PURE__ */ t(Y, { children: /* @__PURE__ */ t(F, { color: "#fff", height: 40, width: 40 }) }) })
34
33
  ] }) });
35
- }, ee = ({ data: t, label: i, initialValue: m = 0, value: l, maxValue: s = 1 }, c) => {
36
- const a = L(null), o = L(null), [u, d] = C(i), [A, y] = C(!1), [b, P] = C("WHITE_T_87"), R = u !== i, g = f((n) => {
37
- d(n);
38
- }, []), _ = f(() => {
39
- d(i);
40
- }, [i]), h = (n) => {
41
- var r, p;
42
- (p = (r = t[n]) == null ? void 0 : r.onPress) == null || p.call(r);
43
- }, $ = f((n) => {
44
- y(!0), P(n);
34
+ }, Z = ({ data: e, label: i, initialValue: l = 0, value: m, maxValue: s = 1 }, c) => {
35
+ const d = f(null), r = f(null), g = f(null), [p, y] = S(i), [L, E] = S(!1), [I, $] = S("WHITE_T_87"), P = p !== i, h = u((n) => {
36
+ y(n);
37
+ }, []), W = u(() => {
38
+ y(i);
39
+ }, [i]), C = (n) => {
40
+ var o, a;
41
+ (a = (o = e[n]) == null ? void 0 : o.onPress) == null || a.call(o);
42
+ }, _ = u((n) => {
43
+ E(!0), $(n);
45
44
  }, []);
46
- w(c, () => ({
47
- labelRef: a,
48
- segmentedCardWrapperRef: o,
49
- startLabelAnimation: $
50
- }));
51
- const E = I(() => {
52
- if (s <= 0)
53
- return;
54
- const n = 92, r = n / s, p = Math.min(r * m, n), W = Math.min(r * l + 1, n);
55
- return [p, W];
56
- }, [m, s, l]), M = I(
57
- () => ({
45
+ return w(c, () => ({
46
+ labelRef: r,
47
+ segmentedCardWrapperRef: g,
48
+ startLabelAnimation: _
49
+ })), b(() => {
50
+ const n = R.loadAnimation({
51
+ container: d.current,
58
52
  renderer: "canvas",
59
- autoplay: !0,
53
+ autoplay: !1,
60
54
  loop: !1,
61
- initialSegment: E
62
- }),
63
- [E]
64
- );
65
- return /* @__PURE__ */ T(U, { children: [
66
- /* @__PURE__ */ e(B, { $position: "absolute", children: /* @__PURE__ */ e(
67
- D,
55
+ animationData: x
56
+ });
57
+ if (s <= 0)
58
+ return;
59
+ const o = 92, a = o / s, k = Math.min(a * l, o), H = Math.min(a * m + 1, o);
60
+ return n.playSegments([k, H], !0), () => {
61
+ n.destroy();
62
+ };
63
+ }, [l, m, s]), /* @__PURE__ */ A(D, { children: [
64
+ /* @__PURE__ */ t(G, { $position: "absolute", children: /* @__PURE__ */ t(
65
+ B,
68
66
  {
69
- ref: a,
67
+ ref: r,
70
68
  $renderAs: "ac3",
71
69
  $align: "center",
72
- $color: A ? b : R ? "WHITE_T_87" : "WHITE_T_60",
73
- isAnimated: A,
74
- children: u
70
+ $color: L ? I : P ? "WHITE_T_87" : "WHITE_T_60",
71
+ isAnimated: L,
72
+ children: p
75
73
  }
76
74
  ) }),
77
- /* @__PURE__ */ T(N, { ref: o, onMouseLeave: _, children: [
78
- /* @__PURE__ */ e(q, { children: /* @__PURE__ */ e(O, { src: G.LEVELUP_RINGS, settings: M }) }),
79
- /* @__PURE__ */ e(z, { onClick: () => h(0), children: /* @__PURE__ */ e(
80
- S,
75
+ /* @__PURE__ */ A(O, { ref: g, onMouseLeave: W, children: [
76
+ /* @__PURE__ */ t(q, { ref: d }),
77
+ /* @__PURE__ */ t(z, { onClick: () => C(0), children: /* @__PURE__ */ t(
78
+ T,
81
79
  {
82
80
  segmentType: "left",
83
- card: t[0].card,
84
- name: t[0].name,
85
- isCompleted: t[0].isCompleted,
86
- onMouseEnter: g
81
+ card: e[0].card,
82
+ name: e[0].name,
83
+ isCompleted: e[0].isCompleted,
84
+ onMouseEnter: h
87
85
  }
88
86
  ) }),
89
- /* @__PURE__ */ e(J, { onClick: () => h(1), children: /* @__PURE__ */ e(
90
- S,
87
+ /* @__PURE__ */ t(J, { onClick: () => C(1), children: /* @__PURE__ */ t(
88
+ T,
91
89
  {
92
90
  segmentType: "right",
93
- card: t[1].card,
94
- name: t[1].name,
95
- isCompleted: t[1].isCompleted,
96
- onMouseEnter: g
91
+ card: e[1].card,
92
+ name: e[1].name,
93
+ isCompleted: e[1].isCompleted,
94
+ onMouseEnter: h
97
95
  }
98
96
  ) }),
99
- /* @__PURE__ */ e(K, { onClick: () => h(2), children: /* @__PURE__ */ e(
100
- S,
97
+ /* @__PURE__ */ t(K, { onClick: () => C(2), children: /* @__PURE__ */ t(
98
+ T,
101
99
  {
102
100
  segmentType: "bottom",
103
- card: t[2].card,
104
- name: t[2].name,
105
- isCompleted: t[2].isCompleted,
106
- onMouseEnter: g
101
+ card: e[2].card,
102
+ name: e[2].name,
103
+ isCompleted: e[2].isCompleted,
104
+ onMouseEnter: h
107
105
  }
108
106
  ) })
109
107
  ] })
110
108
  ] });
111
- }, ce = v(H(ee));
109
+ }, se = M(v(Z));
112
110
  export {
113
- S as SegmentContent,
114
- ce as SegmentedGameCard
111
+ T as SegmentContent,
112
+ se as SegmentedGameCard
115
113
  };
116
114
  //# sourceMappingURL=segmented-game-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ForwardRefRenderFunction } from 'react';\n\nimport Lottie from 'lottie-web';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport { fetchLottie } from '../../../../ui/lottie-animation/helper';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './segmented-game-card-styled';\n\nexport const SegmentContent: FC<IGameCardSegmentContentProps> = ({\n segmentType,\n isCompleted,\n card,\n name,\n onMouseEnter,\n}) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n const loadLottie = async () => {\n const lottie = await fetchLottie(card);\n\n animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n loop: true,\n autoplay: true,\n animationData: lottie,\n });\n };\n\n loadLottie();\n\n return () => {\n return animation?.destroy();\n };\n }, [card]);\n\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer ref={lottieAnimationRef} $segmentType={segmentType} />\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n};\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const labelRef = useRef<HTMLDivElement>(null);\n const segmentedCardWrapperRef = useRef<HTMLDivElement>(null);\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = (index: number) => {\n data[index]?.onPress?.();\n };\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef,\n startLabelAnimation,\n }));\n\n const animationSegments: [number, number] | undefined = useMemo(() => {\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n return [initialFrameToPlay, finalFrameToPlay];\n }, [initialValue, maxValue, value]);\n\n const levelUpAnimationSettings = useMemo(\n () => ({\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n initialSegment: animationSegments,\n }),\n [animationSegments],\n );\n\n return (\n <Styled.SegmentedCard>\n <Styled.ExtendedFlexView $position=\"absolute\">\n <Styled.AnimatedLabel\n ref={labelRef}\n $renderAs=\"ac3\"\n $align=\"center\"\n $color={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n isAnimated={isAnimated}\n >\n {label}\n </Styled.AnimatedLabel>\n </Styled.ExtendedFlexView>\n <Styled.SegmentedCardWrapper ref={segmentedCardWrapperRef} onMouseLeave={onMouseLeave}>\n <Styled.CircularProgressLottieContainer>\n <LottieAnimation src={LOTTIE.LEVELUP_RINGS} settings={levelUpAnimationSettings} />\n </Styled.CircularProgressLottieContainer>\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </Styled.SegmentedCardWrapper>\n </Styled.SegmentedCard>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["SegmentContent","segmentType","isCompleted","card","name","onMouseEnter","lottieAnimationRef","useRef","useEffect","animation","lottie","fetchLottie","Lottie","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","segmentedCardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","animationSegments","useMemo","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","levelUpAnimationSettings","Styled.SegmentedCard","Styled.ExtendedFlexView","Styled.AnimatedLabel","Styled.SegmentedCardWrapper","Styled.CircularProgressLottieContainer","LottieAnimation","LOTTIE","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","memo","forwardRef"],"mappings":";;;;;;;;AA2BO,MAAMA,IAAmD,CAAC;AAAA,EAC/D,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACE,QAAAC,IAAqBC,EAAuB,IAAI;AAEtD,EAAAC,EAAU,MAAM;AACd,QAAIC,IAAkC;AAc3B,YAZQ,YAAY;AACvB,YAAAC,IAAS,MAAMC,EAAYR,CAAI;AAErC,MAAAM,IAAYG,EAAO,cAAc;AAAA,QAC/B,WAAWN,EAAmB;AAAA,QAC9B,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,eAAeI;AAAA,MAAA,CAChB;AAAA,IAAA,MAKI,MACED,KAAA,gBAAAA,EAAW;AAAA,EACpB,GACC,CAACN,CAAI,CAAC;AAEH,QAAAU,IAAmBC,EAAY,MAAMT,EAAaD,CAAI,GAAG,CAACC,GAAcD,CAAI,CAAC;AAGjF,SAAA,gBAAAW,EAACC,GAAA,EACC,UAAA,gBAAAC,EAACC,GAAA,EAA+B,cAAcjB,GAAa,cAAcY,GACvE,UAAA;AAAA,IAAA,gBAAAE,EAACI,GAAA,EAA6B,KAAKb,GAAoB,cAAcL,GAAa;AAAA,IACjFC,uBACEkB,GAAA,EAAsB,cAAcnB,GACnC,4BAACoB,GAAA,EACC,UAAC,gBAAAN,EAAAO,GAAA,EAAU,OAAM,QAAO,QAAQ,IAAI,OAAO,GAAA,CAAI,EACjD,CAAA,GACF;AAAA,EAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEMC,KAGF,CAAC,EAAE,MAAAC,GAAM,OAAOC,GAAmB,cAAAC,IAAe,GAAG,OAAAC,GAAO,UAAAC,IAAW,EAAE,GAAGC,MAAQ;AAChF,QAAAC,IAAWvB,EAAuB,IAAI,GACtCwB,IAA0BxB,EAAuB,IAAI,GAErD,CAACyB,GAAOC,CAAQ,IAAIC,EAAiBT,CAAiB,GACtD,CAACU,GAAYC,CAAa,IAAIF,EAAS,EAAK,GAC5C,CAACG,GAAeC,CAAgB,IAAIJ,EAAsB,YAAY,GAEtEK,IAAqBP,MAAUP,GAE/BpB,IAAeS,EAAY,CAAC0B,MAAqB;AACrD,IAAAP,EAASO,CAAQ;AAAA,EACnB,GAAG,CAAE,CAAA,GAECC,IAAe3B,EAAY,MAAM;AACrC,IAAAmB,EAASR,CAAiB;AAAA,EAAA,GACzB,CAACA,CAAiB,CAAC,GAEhBiB,IAAiB,CAACC,MAAkB;;AACnC,KAAAC,KAAAC,IAAArB,EAAAmB,CAAK,MAAL,gBAAAE,EAAQ,YAAR,QAAAD,EAAA,KAAAC;AAAA,EAAkB,GAGnBC,IAAsBhC,EAAY,CAACiC,MAAuB;AAC9D,IAAAX,EAAc,EAAI,GAClBE,EAAiBS,CAAK;AAAA,EACxB,GAAG,CAAE,CAAA;AAEL,EAAAC,EAAoBnB,GAAK,OAAO;AAAA,IAC9B,UAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,qBAAAe;AAAA,EACA,EAAA;AAEI,QAAAG,IAAkDC,EAAQ,MAAM;AACpE,QAAItB,KAAY;AACd;AAGF,UAAMuB,IAAc,IACdC,IAAiBD,IAAcvB,GAE/ByB,IAAqB,KAAK,IAAID,IAAiB1B,GAAcyB,CAAW,GACxEG,IAAmB,KAAK,IAAIF,IAAiBzB,IAAQ,GAAGwB,CAAW;AAElE,WAAA,CAACE,GAAoBC,CAAgB;AAAA,EAC3C,GAAA,CAAC5B,GAAcE,GAAUD,CAAK,CAAC,GAE5B4B,IAA2BL;AAAA,IAC/B,OAAO;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,MACN,gBAAgBD;AAAA,IAAA;AAAA,IAElB,CAACA,CAAiB;AAAA,EAAA;AAIlB,SAAA,gBAAAhC,EAACuC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAzC,EAAC0C,GAAA,EAAwB,WAAU,YACjC,UAAA,gBAAA1C;AAAA,MAAC2C;AAAAA,MAAA;AAAA,QACC,KAAK5B;AAAA,QACL,WAAU;AAAA,QACV,QAAO;AAAA,QACP,QAAQK,IAAaE,IAAgBE,IAAqB,eAAe;AAAA,QACzE,YAAAJ;AAAA,QAEC,UAAAH;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,sBACC2B,GAAA,EAA4B,KAAK5B,GAAyB,cAAAU,GACzD,UAAA;AAAA,MAAC,gBAAA1B,EAAA6C,GAAA,EACC,UAAC,gBAAA7C,EAAA8C,GAAA,EAAgB,KAAKC,EAAO,eAAe,UAAUP,EAAA,CAA0B,EAClF,CAAA;AAAA,MAEA,gBAAAxC,EAACgD,GAAA,EAAmB,SAAS,MAAMrB,EAAe,CAAC,GACjD,UAAA,gBAAA3B;AAAA,QAACf;AAAA,QAAA;AAAA,UACC,aAAa;AAAA,UACb,MAAMwB,EAAK,CAAC,EAAG;AAAA,UACf,MAAMA,EAAK,CAAC,EAAG;AAAA,UACf,aAAaA,EAAK,CAAC,EAAG;AAAA,UACtB,cAAAnB;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,MAGA,gBAAAU,EAACiD,GAAA,EAAoB,SAAS,MAAMtB,EAAe,CAAC,GAClD,UAAA,gBAAA3B;AAAA,QAACf;AAAA,QAAA;AAAA,UACC,aAAa;AAAA,UACb,MAAMwB,EAAK,CAAC,EAAG;AAAA,UACf,MAAMA,EAAK,CAAC,EAAG;AAAA,UACf,aAAaA,EAAK,CAAC,EAAG;AAAA,UACtB,cAAAnB;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,MAGA,gBAAAU,EAACkD,GAAA,EAAqB,SAAS,MAAMvB,EAAe,CAAC,GACnD,UAAA,gBAAA3B;AAAA,QAACf;AAAA,QAAA;AAAA,UACC,aAAa;AAAA,UACb,MAAMwB,EAAK,CAAC,EAAG;AAAA,UACf,MAAMA,EAAK,CAAC,EAAG;AAAA,UACf,aAAaA,EAAK,CAAC,EAAG;AAAA,UACtB,cAAAnB;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ,GAEa6D,KAAoBC,EAAKC,EAAW7C,EAA0B,CAAC;"}
1
+ {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ForwardRefRenderFunction } from 'react';\n\nimport Lottie from 'lottie-web';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport progressRingLottie from '../../../../../assets/lotties/circle/levelup-rings-lottie.json';\nimport { fetchLottie } from './fetch-lottie';\nimport * as Styled from './segmented-game-card-styled';\n\nexport const SegmentContent: FC<IGameCardSegmentContentProps> = ({\n segmentType,\n isCompleted,\n card,\n name,\n onMouseEnter,\n}) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n const loadLottie = async () => {\n const lottie = await fetchLottie(card);\n\n animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n loop: true,\n autoplay: true,\n animationData: lottie,\n });\n };\n\n loadLottie();\n\n return () => {\n return animation?.destroy();\n };\n }, [card]);\n\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer ref={lottieAnimationRef} $segmentType={segmentType} />\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n};\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n const labelRef = useRef<HTMLDivElement>(null);\n const segmentedCardWrapperRef = useRef<HTMLDivElement>(null);\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = (index: number) => {\n data[index]?.onPress?.();\n };\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef,\n startLabelAnimation,\n }));\n\n useEffect(() => {\n const animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n autoplay: false,\n loop: false,\n animationData: progressRingLottie,\n });\n\n // handle progress lottie\n // total frames in 100% progress are 90 frames\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n animation.playSegments([initialFrameToPlay, finalFrameToPlay], true);\n\n return () => {\n animation.destroy();\n };\n }, [initialValue, value, maxValue]);\n\n return (\n <Styled.SegmentedCard>\n <Styled.ExtendedFlexView $position=\"absolute\">\n <Styled.AnimatedLabel\n ref={labelRef}\n $renderAs=\"ac3\"\n $align=\"center\"\n $color={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n isAnimated={isAnimated}\n >\n {label}\n </Styled.AnimatedLabel>\n </Styled.ExtendedFlexView>\n <Styled.SegmentedCardWrapper ref={segmentedCardWrapperRef} onMouseLeave={onMouseLeave}>\n <Styled.CircularProgressLottieContainer ref={lottieAnimationRef} />\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </Styled.SegmentedCardWrapper>\n </Styled.SegmentedCard>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["SegmentContent","segmentType","isCompleted","card","name","onMouseEnter","lottieAnimationRef","useRef","useEffect","animation","lottie","fetchLottie","Lottie","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","segmentedCardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","progressRingLottie","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","Styled.SegmentedCard","Styled.ExtendedFlexView","Styled.AnimatedLabel","Styled.SegmentedCardWrapper","Styled.CircularProgressLottieContainer","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","memo","forwardRef"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import i from "styled-components";
2
+ import { GAME_LAUNCHER_SIZE as t, GAME_LAUNCHER_ASSET_PADDING as o } from "./comps/segmented-game-card/constants.js";
3
+ const r = i.div`
4
+ height: ${t + o}px;
5
+ width: ${t + o}px;
6
+ `;
7
+ export {
8
+ r as SleepyBoiLottyContainer
9
+ };
10
+ //# sourceMappingURL=game-launcher-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-launcher-styled.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport {\n GAME_LAUNCHER_SIZE,\n GAME_LAUNCHER_ASSET_PADDING,\n} from './comps/segmented-game-card/constants';\n\nexport const SleepyBoiLottyContainer = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n`;\n"],"names":["SleepyBoiLottyContainer","styled","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING"],"mappings":";;AAOO,MAAMA,IAA0BC,EAAO;AAAA,YAClCC,IAAqBC,CAA2B;AAAA,WACjDD,IAAqBC,CAA2B;AAAA;"}
@@ -1,34 +1,33 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { memo as h, useState as C, useMemo as a, useEffect as _ } from "react";
3
- import { LOTTIE as b } from "../../../assets/lottie/lottie.js";
4
- import { CircularLoader as v } from "../../ui/loader/circular-loader/circular-loader.js";
5
- import S from "../../ui/lottie-animation/lottie-animation.js";
6
- import { useCircleSounds as G } from "../hooks/use-circle-sounds/use-circle-sounds.js";
7
- import { Carousel as P } from "./comps/carousel/carousel.js";
8
- import { GAME_LAUNCHER_SIZE as R, GAME_LAUNCHER_ASSET_PADDING as M } from "./comps/segmented-game-card/constants.js";
9
- import { SegmentedGameCard as n } from "./comps/segmented-game-card/segmented-game-card.js";
10
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as y } from "./game-launcher-analytics-events.js";
2
+ import T from "lottie-web";
3
+ import { memo as h, useState as R, useRef as S, useMemo as P, useEffect as x } from "react";
4
+ import { CircularLoader as G } from "../../ui/loader/circular-loader/circular-loader.js";
5
+ import { useCircleSounds as M } from "../hooks/use-circle-sounds/use-circle-sounds.js";
6
+ import { Carousel as V } from "./comps/carousel/carousel.js";
7
+ import { SegmentedGameCard as i } from "./comps/segmented-game-card/segmented-game-card.js";
8
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as z } from "./game-launcher-analytics-events.js";
9
+ import { SleepyBoiLottyContainer as _ } from "./game-launcher-styled.js";
11
10
  import { useGameLauncherJourney as B } from "./use-game-launcher-journey/use-game-launcher-journey.js";
12
- import { ProjectType as m } from "../games/web-view/enums/project-type-enum.js";
13
- const A = R + M, K = h(
14
- ({ onSegmentClick: l, onJourneyComplete: x, journeyId: i, data: e, isLoading: I, defaultIndex: V = 0 }) => {
15
- const [g, z] = C(V), { playSwipSound: t } = G(), {
16
- gameRefs: u,
11
+ import { ProjectType as t } from "../games/web-view/enums/project-type-enum.js";
12
+ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js"), Q = h(
13
+ ({ onSegmentClick: o, onJourneyComplete: g, journeyId: n, data: e, isLoading: C, defaultIndex: b = 0 }) => {
14
+ const [v, A] = R(b), m = S(null), { playSwipSound: u } = M(), {
15
+ gameRefs: a,
17
16
  lessonRefs: p,
18
- puzzleRefs: f,
19
- startJourney: c,
20
- carouselNextBtnRef: E,
17
+ puzzleRefs: c,
18
+ startJourney: f,
19
+ carouselNextBtnRef: y,
21
20
  isJourneyInProgress: L
22
21
  } = B({
23
- setCarouselIndex: z,
24
- onSegmentClick: l,
25
- onJourneyComplete: x
26
- }), N = a(() => {
27
- let o = [];
28
- return e && (e.lessons && (o = [
29
- ...o,
22
+ setCarouselIndex: A,
23
+ onSegmentClick: o,
24
+ onJourneyComplete: g
25
+ }), E = P(() => {
26
+ let l = [];
27
+ return e && (e.lessons && (l = [
28
+ ...l,
30
29
  /* @__PURE__ */ r(
31
- n,
30
+ i,
32
31
  {
33
32
  ref: p,
34
33
  label: e.lessons.label,
@@ -39,16 +38,16 @@ const A = R + M, K = h(
39
38
  card: s.cardLottie,
40
39
  name: s.name,
41
40
  isCompleted: s.status === "completed",
42
- onPress: () => s.status === "completed" ? void 0 : l(s, m.LESSON)
41
+ onPress: () => s.status === "completed" ? void 0 : o(s, t.LESSON)
43
42
  }))
44
43
  }
45
44
  )
46
- ]), o = [
47
- ...o,
45
+ ]), l = [
46
+ ...l,
48
47
  /* @__PURE__ */ r(
49
- n,
48
+ i,
50
49
  {
51
- ref: u,
50
+ ref: a,
52
51
  label: e.games.label,
53
52
  value: e.games.data.filter((s) => s.isPlayed).length,
54
53
  maxValue: e.games.data.length,
@@ -57,14 +56,14 @@ const A = R + M, K = h(
57
56
  card: s.cardLottie,
58
57
  name: s.name,
59
58
  isCompleted: !1,
60
- onPress: () => l(s, m.GAME)
59
+ onPress: () => o(s, t.GAME)
61
60
  }))
62
61
  }
63
62
  ),
64
63
  /* @__PURE__ */ r(
65
- n,
64
+ i,
66
65
  {
67
- ref: f,
66
+ ref: c,
68
67
  label: e.puzzles.label,
69
68
  value: e.puzzles.data.filter((s) => s.solved).length,
70
69
  maxValue: e.puzzles.data.length,
@@ -73,46 +72,51 @@ const A = R + M, K = h(
73
72
  card: s.cardLottie,
74
73
  name: s.name,
75
74
  isCompleted: s.solved,
76
- onPress: () => l(s, m.PUZZLE)
75
+ onPress: () => o(s, t.PUZZLE)
77
76
  }))
78
77
  }
79
78
  )
80
- ]), o;
81
- }, [e, u, p, l, f]), T = a(
82
- () => [
83
- /* @__PURE__ */ r(
84
- S,
85
- {
86
- src: b.SLEEPY_BOI,
87
- width: A,
88
- height: A
89
- }
90
- )
91
- ],
79
+ ]), l;
80
+ }, [e, a, p, o, c]), I = P(
81
+ () => [/* @__PURE__ */ r(_, { ref: m })],
92
82
  []
93
83
  );
94
- return _(() => {
95
- e != null && e.puzzles && i && L && c(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), i);
96
- }, [e == null ? void 0 : e.lessons, e == null ? void 0 : e.puzzles, L, i, c]), I ? /* @__PURE__ */ r(v, {}) : e ? /* @__PURE__ */ r(
97
- P,
84
+ return x(() => {
85
+ let l = null;
86
+ return (async () => {
87
+ const N = (await J()).default;
88
+ l = T.loadAnimation({
89
+ container: m.current,
90
+ animationData: N,
91
+ autoplay: !0,
92
+ loop: !0,
93
+ renderer: "canvas"
94
+ });
95
+ })(), () => {
96
+ l == null || l.destroy();
97
+ };
98
+ }, []), x(() => {
99
+ e != null && e.puzzles && n && L && f(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), n);
100
+ }, [e == null ? void 0 : e.lessons, e == null ? void 0 : e.puzzles, L, n, f]), C ? /* @__PURE__ */ r(G, {}) : e ? /* @__PURE__ */ r(
101
+ V,
98
102
  {
99
- ref: E,
100
- items: N,
101
- defaultIndex: g,
102
- onNext: t,
103
- onPrev: t,
103
+ ref: y,
104
+ items: E,
105
+ defaultIndex: v,
106
+ onNext: u,
107
+ onPrev: u,
104
108
  analyticsNext: {
105
- analyticsLabel: y.NEXT_ACTIVITY
109
+ analyticsLabel: z.NEXT_ACTIVITY
106
110
  },
107
111
  analyticsPrev: {
108
- analyticsLabel: y.PREV_ACTIVITY
112
+ analyticsLabel: z.PREV_ACTIVITY
109
113
  }
110
114
  }
111
115
  ) : /* @__PURE__ */ r(
112
- P,
116
+ V,
113
117
  {
114
- ref: E,
115
- items: T,
118
+ ref: y,
119
+ items: I,
116
120
  analyticsNext: {
117
121
  analyticsLabel: ""
118
122
  },
@@ -124,6 +128,6 @@ const A = R + M, K = h(
124
128
  }
125
129
  );
126
130
  export {
127
- K as GameLauncher
131
+ Q as GameLauncher
128
132
  };
129
133
  //# sourceMappingURL=game-launcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-launcher.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher.tsx"],"sourcesContent":["import type { IGameLauncherProps } from './game-launcher-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { memo, useEffect, useMemo, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport { ProjectType } from '../games/web-view/enums';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Carousel } from './comps/carousel/carousel';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_SIZE,\n} from './comps/segmented-game-card/constants';\nimport { SegmentedGameCard } from './comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from './game-launcher-analytics-events';\nimport { useGameLauncherJourney } from './use-game-launcher-journey/use-game-launcher-journey';\n\nconst sleepyBoiDimension = GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING;\n\nexport const GameLauncher: FC<IGameLauncherProps> = memo(\n ({ onSegmentClick, onJourneyComplete, journeyId, data, isLoading, defaultIndex = 0 }) => {\n const [currentIndex, setCurrentIndex] = useState(defaultIndex);\n\n const { playSwipSound } = useCircleSounds();\n\n const {\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney,\n carouselNextBtnRef,\n isJourneyInProgress,\n } = useGameLauncherJourney({\n setCarouselIndex: setCurrentIndex,\n onSegmentClick,\n onJourneyComplete,\n });\n\n const items = useMemo(() => {\n let itemTypes: ReactNode[] = [];\n\n if (data) {\n if (data.lessons) {\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={lessonRefs}\n label={data.lessons.label}\n value={data.lessons.data.filter(lesson => lesson.status === 'completed').length}\n maxValue={data.lessons.data.length}\n initialValue={data.lessons.initialProgressValue}\n data={data?.lessons.data.map(lesson => ({\n card: lesson.cardLottie,\n name: lesson.name,\n isCompleted: lesson.status === 'completed',\n onPress: () =>\n lesson.status === 'completed'\n ? undefined\n : onSegmentClick(lesson, ProjectType.LESSON),\n }))}\n />,\n ];\n }\n\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={gameRefs}\n label={data.games.label}\n value={data.games.data.filter(game => game.isPlayed).length}\n maxValue={data.games.data.length}\n initialValue={data.games.initialProgressValue}\n data={data.games.data.map(game => ({\n card: game.cardLottie,\n name: game.name,\n isCompleted: false,\n onPress: () => onSegmentClick(game, ProjectType.GAME),\n }))}\n />,\n <SegmentedGameCard\n ref={puzzleRefs}\n label={data.puzzles.label}\n value={data.puzzles.data.filter(puzzle => puzzle.solved).length}\n maxValue={data.puzzles.data.length}\n initialValue={data.puzzles.initialProgressValue}\n data={data.puzzles.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: puzzle.name,\n isCompleted: puzzle.solved,\n onPress: () => onSegmentClick(puzzle, ProjectType.PUZZLE),\n }))}\n />,\n ];\n }\n\n return itemTypes;\n }, [data, gameRefs, lessonRefs, onSegmentClick, puzzleRefs]);\n\n const sleepyBoiItem = useMemo(\n () => [\n <LottieAnimation\n src={LOTTIE.SLEEPY_BOI}\n width={sleepyBoiDimension}\n height={sleepyBoiDimension}\n />,\n ],\n [],\n );\n\n // Start game launcher journey when the data for puzzles is available\n useEffect(() => {\n if (data?.puzzles && journeyId && isJourneyInProgress) {\n startJourney(data?.puzzles, !!data?.lessons, journeyId);\n }\n }, [data?.lessons, data?.puzzles, isJourneyInProgress, journeyId, startJourney]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (!data) {\n return (\n <Carousel\n ref={carouselNextBtnRef}\n items={sleepyBoiItem}\n analyticsNext={{\n analyticsLabel: '',\n }}\n analyticsPrev={{\n analyticsLabel: '',\n }}\n />\n );\n }\n\n return (\n <Carousel\n ref={carouselNextBtnRef}\n items={items}\n defaultIndex={currentIndex}\n onNext={playSwipSound}\n onPrev={playSwipSound}\n analyticsNext={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY,\n }}\n analyticsPrev={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY,\n }}\n />\n );\n },\n);\n"],"names":["sleepyBoiDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GameLauncher","memo","onSegmentClick","onJourneyComplete","journeyId","data","isLoading","defaultIndex","currentIndex","setCurrentIndex","useState","playSwipSound","useCircleSounds","gameRefs","lessonRefs","puzzleRefs","startJourney","carouselNextBtnRef","isJourneyInProgress","useGameLauncherJourney","items","useMemo","itemTypes","jsx","SegmentedGameCard","lesson","ProjectType","game","puzzle","sleepyBoiItem","LottieAnimation","LOTTIE","useEffect","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}
1
+ {"version":3,"file":"game-launcher.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher.tsx"],"sourcesContent":["import type { IGameLauncherProps } from './game-launcher-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ReactNode } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport { ProjectType } from '../games/web-view/enums';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Carousel } from './comps/carousel/carousel';\nimport { SegmentedGameCard } from './comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from './game-launcher-analytics-events';\nimport * as Styled from './game-launcher-styled';\nimport { useGameLauncherJourney } from './use-game-launcher-journey/use-game-launcher-journey';\n\nconst sleepyBoi = () => import('../../../assets/lotties/circle/sleepy-boi-lottie.json');\n\nexport const GameLauncher: FC<IGameLauncherProps> = memo(\n ({ onSegmentClick, onJourneyComplete, journeyId, data, isLoading, defaultIndex = 0 }) => {\n const [currentIndex, setCurrentIndex] = useState(defaultIndex);\n\n const lottieContainerRef = useRef<HTMLDivElement>(null);\n const { playSwipSound } = useCircleSounds();\n\n const {\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney,\n carouselNextBtnRef,\n isJourneyInProgress,\n } = useGameLauncherJourney({\n setCarouselIndex: setCurrentIndex,\n onSegmentClick,\n onJourneyComplete,\n });\n\n const items = useMemo(() => {\n let itemTypes: ReactNode[] = [];\n\n if (data) {\n if (data.lessons) {\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={lessonRefs}\n label={data.lessons.label}\n value={data.lessons.data.filter(lesson => lesson.status === 'completed').length}\n maxValue={data.lessons.data.length}\n initialValue={data.lessons.initialProgressValue}\n data={data?.lessons.data.map(lesson => ({\n card: lesson.cardLottie,\n name: lesson.name,\n isCompleted: lesson.status === 'completed',\n onPress: () =>\n lesson.status === 'completed'\n ? undefined\n : onSegmentClick(lesson, ProjectType.LESSON),\n }))}\n />,\n ];\n }\n\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={gameRefs}\n label={data.games.label}\n value={data.games.data.filter(game => game.isPlayed).length}\n maxValue={data.games.data.length}\n initialValue={data.games.initialProgressValue}\n data={data.games.data.map(game => ({\n card: game.cardLottie,\n name: game.name,\n isCompleted: false,\n onPress: () => onSegmentClick(game, ProjectType.GAME),\n }))}\n />,\n <SegmentedGameCard\n ref={puzzleRefs}\n label={data.puzzles.label}\n value={data.puzzles.data.filter(puzzle => puzzle.solved).length}\n maxValue={data.puzzles.data.length}\n initialValue={data.puzzles.initialProgressValue}\n data={data.puzzles.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: puzzle.name,\n isCompleted: puzzle.solved,\n onPress: () => onSegmentClick(puzzle, ProjectType.PUZZLE),\n }))}\n />,\n ];\n }\n\n return itemTypes;\n }, [data, gameRefs, lessonRefs, onSegmentClick, puzzleRefs]);\n\n const sleepyBoiItem = useMemo(\n () => [<Styled.SleepyBoiLottyContainer ref={lottieContainerRef} />],\n [],\n );\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n const loadAnimation = async () => {\n const animationModule = await sleepyBoi();\n\n const animationData = animationModule.default;\n\n animation = Lottie.loadAnimation({\n container: lottieContainerRef.current as Element,\n animationData: animationData,\n autoplay: true,\n loop: true,\n renderer: 'canvas',\n });\n };\n\n loadAnimation();\n\n return () => {\n animation?.destroy();\n };\n }, []);\n\n // Start game launcher journey when the data for puzzles is available\n useEffect(() => {\n if (data?.puzzles && journeyId && isJourneyInProgress) {\n startJourney(data?.puzzles, !!data?.lessons, journeyId);\n }\n }, [data?.lessons, data?.puzzles, isJourneyInProgress, journeyId, startJourney]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (!data) {\n return (\n <Carousel\n ref={carouselNextBtnRef}\n items={sleepyBoiItem}\n analyticsNext={{\n analyticsLabel: '',\n }}\n analyticsPrev={{\n analyticsLabel: '',\n }}\n />\n );\n }\n\n return (\n <Carousel\n ref={carouselNextBtnRef}\n items={items}\n defaultIndex={currentIndex}\n onNext={playSwipSound}\n onPrev={playSwipSound}\n analyticsNext={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY,\n }}\n analyticsPrev={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY,\n }}\n />\n );\n },\n);\n"],"names":["sleepyBoi","GameLauncher","memo","onSegmentClick","onJourneyComplete","journeyId","data","isLoading","defaultIndex","currentIndex","setCurrentIndex","useState","lottieContainerRef","useRef","playSwipSound","useCircleSounds","gameRefs","lessonRefs","puzzleRefs","startJourney","carouselNextBtnRef","isJourneyInProgress","useGameLauncherJourney","items","useMemo","itemTypes","jsx","SegmentedGameCard","lesson","ProjectType","game","puzzle","sleepyBoiItem","Styled.SleepyBoiLottyContainer","useEffect","animation","animationData","Lottie","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}