@cuemath/leap 2.8.25 → 2.8.27

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 (238) hide show
  1. package/dist/assets/lottie/lottie.js +61 -0
  2. package/dist/assets/lottie/lottie.js.map +1 -0
  3. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +81 -79
  4. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/game-launcher.js +61 -65
  6. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  7. package/dist/features/circle-games/leaderboard/comps/banner/banner.js +35 -53
  8. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  9. package/dist/features/circle-games/leaderboard/leaderboard.js +56 -55
  10. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  11. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +40 -41
  12. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  13. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +4 -8
  14. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
  15. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +6 -23
  16. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
  17. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +40 -35
  18. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  19. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
  20. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +8 -23
  21. 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
  22. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
  23. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  24. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +37 -43
  25. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  26. package/dist/features/post-game-stats/accuracy/accuracy.js +38 -34
  27. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  28. package/dist/features/post-game-stats/clock/clock.js +43 -39
  29. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  30. package/dist/features/post-game-stats/points/points.js +43 -44
  31. package/dist/features/post-game-stats/points/points.js.map +1 -1
  32. package/dist/features/post-game-stats/streak/streak.js +30 -28
  33. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  34. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +56 -54
  35. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  36. package/dist/features/trial-session/comps/parent-app/parent-app.js +25 -20
  37. package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
  38. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +4 -4
  39. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  40. package/dist/features/trial-session/comps/session-insights/session-insights.js +40 -39
  41. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  42. package/dist/features/trial-session/trial-session-view.js +95 -79
  43. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  44. package/dist/features/ui/loader/circular-loader/circular-loader.js +16 -20
  45. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  46. package/dist/features/ui/lottie-animation/helper.js +13 -0
  47. package/dist/features/ui/lottie-animation/helper.js.map +1 -0
  48. package/dist/features/ui/lottie-animation/lottie-animation.js +37 -0
  49. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -0
  50. package/dist/features/ui/nudge/nudge-styled.js +4 -8
  51. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  52. package/dist/features/ui/nudge/nudge.js +13 -30
  53. package/dist/features/ui/nudge/nudge.js.map +1 -1
  54. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +22 -20
  55. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  56. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +25 -48
  57. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  58. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +12 -26
  59. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  60. package/dist/index.d.ts +58 -0
  61. package/dist/index.js +466 -464
  62. package/dist/index.js.map +1 -1
  63. package/dist/static/accuracy-meter.99585cba.json +4218 -0
  64. package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
  65. package/dist/static/beginner1x.489908a7.json +3508 -0
  66. package/dist/static/bronze-1.da4e4b5f.json +4176 -0
  67. package/dist/static/bronze-2.97f9c639.json +4433 -0
  68. package/dist/static/bronze-3.6a433ebd.json +4786 -0
  69. package/dist/static/circular-loader.a5a1a0a6.json +238 -0
  70. package/dist/static/clock-30min.eae818b8.json +1197 -0
  71. package/dist/static/clock-45min.df8adf51.json +1197 -0
  72. package/dist/static/clock-60min.2b48d875.json +1197 -0
  73. package/dist/static/clock-90min.3e557ed7.json +1407 -0
  74. package/dist/static/color-1.45101b9a.json +4545 -0
  75. package/dist/static/color-2.ccdc7d0a.json +4828 -0
  76. package/dist/static/color-3.5e8e1422.json +5273 -0
  77. package/dist/static/difficult.6846c064.json +2755 -0
  78. package/dist/static/easy-rescheduling-lottie.28026af9.json +9301 -0
  79. package/dist/static/easy.68242ddd.json +2658 -0
  80. package/dist/static/elite-circle.3df58972.json +6876 -0
  81. package/dist/static/error-lottie.b3507a4b.json +5255 -0
  82. package/dist/static/familiar1x.7c9c7f15.json +3046 -0
  83. package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
  84. package/dist/static/five-min-clock.6be5cc41.json +721 -0
  85. package/dist/static/gold-1.ab2489fe.json +4176 -0
  86. package/dist/static/gold-2.34045826.json +4441 -0
  87. package/dist/static/gold-3.d704698b.json +4810 -0
  88. package/dist/static/levelup-rings.b1055283.json +549 -0
  89. package/dist/static/medium.94c3829b.json +2289 -0
  90. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  91. package/dist/static/point1.b53831de.json +2942 -0
  92. package/dist/static/point10.7b5e536d.json +3179 -0
  93. package/dist/static/point100.1df16f82.json +3196 -0
  94. package/dist/static/point15.fea00c32.json +3179 -0
  95. package/dist/static/point20.c88d776d.json +3178 -0
  96. package/dist/static/point25.a18c346a.json +3178 -0
  97. package/dist/static/point30.c5224b0b.json +3202 -0
  98. package/dist/static/point35.fad343dd.json +3058 -0
  99. package/dist/static/point40.10a16f72.json +3082 -0
  100. package/dist/static/point45.2ad7561f.json +3082 -0
  101. package/dist/static/point5.da40ed1f.json +2948 -0
  102. package/dist/static/point50.5718cb3d.json +3046 -0
  103. package/dist/static/point60.17380d9f.json +3076 -0
  104. package/dist/static/proficient1x.fa6e7b80.json +3430 -0
  105. package/dist/static/silver-1.0396328a.json +4168 -0
  106. package/dist/static/silver-2.bf50615f.json +4433 -0
  107. package/dist/static/silver-3.13d66b84.json +4810 -0
  108. package/dist/static/sleepy-boi.031a1165.json +1008 -0
  109. package/dist/static/spinner-white.639e0d87.json +122 -0
  110. package/dist/static/splash-screen.bbf567ce.json +2411 -0
  111. package/dist/static/stay-connected-lottie.111439b3.json +3547 -0
  112. package/dist/static/teacher-validation.7577ecdc.json +245 -0
  113. package/dist/static/total-streak.d5ce7669.json +842 -0
  114. package/dist/static/total-time-spent.434005d3.json +200 -0
  115. package/dist/static/total-time.d979cbb9.json +24383 -0
  116. package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
  117. package/dist/static/track-progress-lottie.422108cf.json +2972 -0
  118. package/package.json +1 -1
  119. package/dist/assets/lotties/circle/100pts.json.js +0 -7957
  120. package/dist/assets/lotties/circle/100pts.json.js.map +0 -1
  121. package/dist/assets/lotties/circle/10pts.json.js +0 -7753
  122. package/dist/assets/lotties/circle/10pts.json.js.map +0 -1
  123. package/dist/assets/lotties/circle/15pts.json.js +0 -7879
  124. package/dist/assets/lotties/circle/15pts.json.js.map +0 -1
  125. package/dist/assets/lotties/circle/1pts.json.js +0 -7257
  126. package/dist/assets/lotties/circle/1pts.json.js.map +0 -1
  127. package/dist/assets/lotties/circle/20pts.json.js +0 -7845
  128. package/dist/assets/lotties/circle/20pts.json.js.map +0 -1
  129. package/dist/assets/lotties/circle/25pts.json.js +0 -7971
  130. package/dist/assets/lotties/circle/25pts.json.js.map +0 -1
  131. package/dist/assets/lotties/circle/30pts.json.js +0 -7941
  132. package/dist/assets/lotties/circle/30pts.json.js.map +0 -1
  133. package/dist/assets/lotties/circle/35pts.json.js +0 -7881
  134. package/dist/assets/lotties/circle/35pts.json.js.map +0 -1
  135. package/dist/assets/lotties/circle/40pts.json.js +0 -7725
  136. package/dist/assets/lotties/circle/40pts.json.js.map +0 -1
  137. package/dist/assets/lotties/circle/45pts.json.js +0 -7851
  138. package/dist/assets/lotties/circle/45pts.json.js.map +0 -1
  139. package/dist/assets/lotties/circle/50pts.json.js +0 -7707
  140. package/dist/assets/lotties/circle/50pts.json.js.map +0 -1
  141. package/dist/assets/lotties/circle/5pts.json.js +0 -7420
  142. package/dist/assets/lotties/circle/5pts.json.js.map +0 -1
  143. package/dist/assets/lotties/circle/60pts.json.js +0 -7701
  144. package/dist/assets/lotties/circle/60pts.json.js.map +0 -1
  145. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +0 -6811
  146. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +0 -1
  147. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +0 -1503
  148. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +0 -1
  149. package/dist/assets/lotties/circle/circular-loader.json.js +0 -635
  150. package/dist/assets/lotties/circle/circular-loader.json.js.map +0 -1
  151. package/dist/assets/lotties/circle/elite-circle-lottie.json.js +0 -12079
  152. package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +0 -1
  153. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +0 -1412
  154. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +0 -1
  155. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +0 -2632
  156. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +0 -1
  157. package/dist/assets/lotties/circle/spinner-white.json.js +0 -316
  158. package/dist/assets/lotties/circle/spinner-white.json.js.map +0 -1
  159. package/dist/assets/lotties/circle/splash-screen.json.js +0 -5864
  160. package/dist/assets/lotties/circle/splash-screen.json.js.map +0 -1
  161. package/dist/assets/lotties/circle/total-streak-lottie.json.js +0 -2103
  162. package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +0 -1
  163. package/dist/assets/lotties/circle/total-time-lottie.json.js +0 -33016
  164. package/dist/assets/lotties/circle/total-time-lottie.json.js.map +0 -1
  165. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +0 -260
  166. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +0 -1
  167. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +0 -1563
  168. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +0 -1
  169. package/dist/assets/lotties/common/nudge-tap.json.js +0 -3597
  170. package/dist/assets/lotties/common/nudge-tap.json.js.map +0 -1
  171. package/dist/assets/lotties/error-lottie.json.js +0 -12755
  172. package/dist/assets/lotties/error-lottie.json.js.map +0 -1
  173. package/dist/assets/lotties/perfect-hits/bronze-1.json.js +0 -10871
  174. package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +0 -1
  175. package/dist/assets/lotties/perfect-hits/bronze-2.json.js +0 -11389
  176. package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +0 -1
  177. package/dist/assets/lotties/perfect-hits/bronze-3.json.js +0 -12169
  178. package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +0 -1
  179. package/dist/assets/lotties/perfect-hits/color-1.json.js +0 -12348
  180. package/dist/assets/lotties/perfect-hits/color-1.json.js.map +0 -1
  181. package/dist/assets/lotties/perfect-hits/color-2.json.js +0 -12941
  182. package/dist/assets/lotties/perfect-hits/color-2.json.js.map +0 -1
  183. package/dist/assets/lotties/perfect-hits/color-3.json.js +0 -14034
  184. package/dist/assets/lotties/perfect-hits/color-3.json.js.map +0 -1
  185. package/dist/assets/lotties/perfect-hits/gold-1.json.js +0 -10871
  186. package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +0 -1
  187. package/dist/assets/lotties/perfect-hits/gold-2.json.js +0 -11389
  188. package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +0 -1
  189. package/dist/assets/lotties/perfect-hits/gold-3.json.js +0 -12169
  190. package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +0 -1
  191. package/dist/assets/lotties/perfect-hits/silver-1.json.js +0 -10871
  192. package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +0 -1
  193. package/dist/assets/lotties/perfect-hits/silver-2.json.js +0 -11389
  194. package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +0 -1
  195. package/dist/assets/lotties/perfect-hits/silver-3.json.js +0 -12169
  196. package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +0 -1
  197. package/dist/assets/lotties/teacher-validation.json.js +0 -649
  198. package/dist/assets/lotties/teacher-validation.json.js.map +0 -1
  199. package/dist/assets/lotties/tests-creation/clock_30_min.json.js +0 -2857
  200. package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +0 -1
  201. package/dist/assets/lotties/tests-creation/clock_45_min.json.js +0 -2857
  202. package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +0 -1
  203. package/dist/assets/lotties/tests-creation/clock_60_min.json.js +0 -2857
  204. package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +0 -1
  205. package/dist/assets/lotties/tests-creation/clock_90_min.json.js +0 -3345
  206. package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +0 -1
  207. package/dist/assets/lotties/tests-creation/difficult.json.js +0 -6713
  208. package/dist/assets/lotties/tests-creation/difficult.json.js.map +0 -1
  209. package/dist/assets/lotties/tests-creation/easy.json.js +0 -6525
  210. package/dist/assets/lotties/tests-creation/easy.json.js.map +0 -1
  211. package/dist/assets/lotties/tests-creation/medium.json.js +0 -5603
  212. package/dist/assets/lotties/tests-creation/medium.json.js.map +0 -1
  213. package/dist/assets/lotties/trial-v3/15min-clock.json.js +0 -2037
  214. package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +0 -1
  215. package/dist/assets/lotties/trial-v3/5min-clock.json.js +0 -2062
  216. package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +0 -1
  217. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +0 -8517
  218. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +0 -1
  219. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +0 -7396
  220. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +0 -1
  221. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +0 -8559
  222. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +0 -1
  223. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +0 -23284
  224. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +0 -1
  225. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +0 -9090
  226. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +0 -1
  227. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +0 -8675
  228. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +0 -1
  229. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +0 -13
  230. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +0 -1
  231. package/dist/features/circle-games/game-launcher/game-launcher-styled.js +0 -10
  232. package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +0 -1
  233. package/dist/features/post-game-stats/points/points-styled.js +0 -10
  234. package/dist/features/post-game-stats/points/points-styled.js.map +0 -1
  235. package/dist/features/trial-session/comps/render-lottie/index.js +0 -26
  236. package/dist/features/trial-session/comps/render-lottie/index.js.map +0 -1
  237. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +0 -17
  238. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(props => {\n const {\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [], student } = trialHomeData;\n const { name: studentName, grade: studentGrade } = student || {};\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n matchMakingId: `${teacherId}_${studentId}_trial_v3`,\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n useEffect(() => {\n updateSlideConfig({ name: studentName, grade: studentGrade, studentTimezone });\n }, [studentName, studentGrade, updateSlideConfig, studentTimezone]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","isTeacher","slides","student","studentName","studentGrade","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","contextValue","useEffect","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":"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"}
1
+ {"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { getGradesFromConfig } from '../milestone/create/milestone-create-helpers';\nimport FlexView from '../ui/layout/flex-view';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(props => {\n const {\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [], student } = trialHomeData;\n const { name: studentName, grade: studentGrade } = student || {};\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n matchMakingId: `${teacherId}_${studentId}_trial_v3`,\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n const IsGradeExistInMilestoneConfig = useMemo(\n () => !!getGradesFromConfig(milestoneConfig).find(element => element.id === studentGrade),\n [milestoneConfig, studentGrade],\n );\n\n useEffect(() => {\n updateSlideConfig({\n studentTimezone,\n name: studentName,\n grade: IsGradeExistInMilestoneConfig ? studentGrade : '',\n });\n }, [\n studentName,\n studentGrade,\n updateSlideConfig,\n studentTimezone,\n IsGradeExistInMilestoneConfig,\n ]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","isTeacher","slides","student","studentName","studentGrade","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","contextValue","useEffect","IsGradeExistInMilestoneConfig","getGradesFromConfig","element","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":";;;;;;;;AAiBM,MAAAA,KAA+CC,EAAK,CAASC,MAAA;AAC3D,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAUC;AAAA,IACV,QAAAC,IAAS;AAAA,IACT,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,sBAAAC;AAAA,EACE,IAAAxB,GACEyB,IAAYxB,MAAa,WACzB,EAAE,OAAOyB,IAAS,CAAC,GAAG,SAAAC,MAAYpB,GAClC,EAAE,MAAMqB,GAAa,OAAOC,EAAa,IAAIF,KAAW,IACxD,CAACG,GAAUC,CAAW,IAAIC,EAA8C3B,CAAa,GACrF4B,IAAgBR,IAAYK,IAAWzB,GACvC6B,IAAiBD,KAAA,gBAAAA,EAAe,IAChCE,IAAqBC;AAAA,IACzB,MAAMV,EAAO,KAAK,CAAAW,MAAUA,EAAO,OAAOH,CAAc,KAAKR,EAAO,CAAC;AAAA,IACrE,CAACQ,GAAgBR,CAAM;AAAA,EAAA,GAGnBY,IAAcF,EAAQ,MAAM;AAChC,UAAMG,IAAO;AAAA,MACX,cAAchC,EAAc;AAAA,MAC5B,eAAe;AAAA,QACb,eAAe,GAAGK,CAAS,IAAID,CAAS;AAAA,QACxC,QAAQc,IAAYb,IAAYD;AAAA,QAChC,iBAAiBJ,EAAckB,IAAY,YAAY,SAAS,EAAE;AAAA,QAClE,aAAalB,EAAckB,IAAY,YAAY,SAAS,EAAE;AAAA,QAC9D,YAAYxB;AAAA,MACd;AAAA,IAAA;AAGF,WAAIA,MAAa,cACVsC,EAAA,cAAc,QAAQhC,EAAc,QAAQ,QAG5CgC;AAAA,EAAA,GACN,CAACd,GAAWd,GAAWC,GAAWL,GAAeN,CAAQ,CAAC,GAEvDuC,IAAoBC,EAAY,CAACJ,MAA6C;AAClF,IAAAN,EAAY,CAAiBW,MACtBA,IAEE,EAAE,GAAGA,GAAe,GAAGL,MAFHA,CAG5B;AAAA,EACH,GAAG,CAAE,CAAA,GACC,EAAE,aAAAM,GAAa,mBAAAC,EAAkB,IAAIC,EAA2B,GAEhEC,IAAeV;AAAA,IACnB,OAAO;AAAA,MACL,cAAAlC;AAAA,MACA,cAAAC;AAAA,MACA,WAAAsB;AAAA,MACA,aAAaU;AAAA,MACb,iBAAA3B;AAAA,MACA,UAAUiB,IAAYK,IAAWzB;AAAA,MACjC,mBAAAmC;AAAA,MACA,WAAA9B;AAAA,MACA,aAAAiC;AAAA,MACA,mBAAAC;AAAA,MACA,WAAAjC;AAAA,MACA,WAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,eAAAN;AAAA,MACA,0BAAAO;AAAA,MACA,sBAAAC;AAAA,MACA,0BAAAG;AAAA,MACA,mBAAAD;AAAA,MACA,sBAAAD;AAAA,MACA,aAAAsB;AAAA,MACA,cAAAlC;AAAA,MACA,mBAAAgB;AAAA,MACA,wBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,sBAAAE;AAAA,IAAA;AAAA,IAEF;AAAA,MACEtB;AAAA,MACAC;AAAA,MACAsB;AAAA,MACAU;AAAA,MACA3B;AAAA,MACAsB;AAAA,MACAzB;AAAA,MACAmC;AAAA,MACA9B;AAAA,MACAiC;AAAA,MACAC;AAAA,MACAjC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAN;AAAA,MACAO;AAAA,MACAC;AAAA,MACAG;AAAA,MACAD;AAAA,MACAD;AAAA,MACAsB;AAAA,MACAlC;AAAA,MACAgB;AAAA,MACAC;AAAA,MACAC;AAAA,MACAE;AAAA,IACF;AAAA,EAAA;AAGF,EAAAuB,EAAU,MAAM;AACd,IAAIjB,KAAYrB,KACdA,EAAiBqB,CAAQ;AAAA,EAC3B,GACC,CAACrB,GAAkBqB,CAAQ,CAAC,GAE/BiB,EAAU,MAAM;AACV,IAACxB,KAA2CJ,KAAA,QAAAA;AAAA,EAAA,GAE/C,CAACe,CAAc,CAAC;AAEnB,QAAMc,IAAgCZ;AAAA,IACpC,MAAM,CAAC,CAACa,EAAoBzC,CAAe,EAAE,KAAK,CAAA0C,MAAWA,EAAQ,OAAOrB,CAAY;AAAA,IACxF,CAACrB,GAAiBqB,CAAY;AAAA,EAAA;AAGhC,SAAAkB,EAAU,MAAM;AACI,IAAAP,EAAA;AAAA,MAChB,iBAAAjB;AAAA,MACA,MAAMK;AAAA,MACN,OAAOoB,IAAgCnB,IAAe;AAAA,IAAA,CACvD;AAAA,EAAA,GACA;AAAA,IACDD;AAAA,IACAC;AAAA,IACAW;AAAA,IACAjB;AAAA,IACAyB;AAAA,EAAA,CACD,GAGE,gBAAAG,EAAAC,EAAoB,UAApB,EAA6B,OAAON,GACnC,UAAA,gBAAAO,EAACC,GAAS,EAAA,SAAShD,GAAQ,gBAAe,OAAM,iBAAgB,UAAS,aAAY,UACnF,UAAA;AAAA,IAAA,gBAAA6C,EAACI,IAAU,EAAA;AAAA,sBACVC,IAAW,EAAA;AAAA,EAAA,EACd,CAAA,EACF,CAAA;AAEJ,CAAC;"}
@@ -1,23 +1,19 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import e from "lottie-web";
3
- import { useRef as i, useEffect as n } from "react";
4
- import a from "../../../../assets/lotties/circle/circular-loader.json.js";
5
- import { Loader as m, LottieContainer as u } from "./circular-loader-styled.js";
6
- const d = () => {
7
- const r = i(null);
8
- return n(() => {
9
- const t = e.loadAnimation({
10
- container: r.current,
11
- animationData: a,
12
- autoplay: !0,
13
- loop: !0
14
- });
15
- return () => {
16
- t.destroy();
17
- };
18
- }, []), /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(u, { ref: r }) });
19
- };
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { LOTTIE as r } from "../../../../assets/lottie/lottie.js";
3
+ import i from "../../layout/flex-view.js";
4
+ import o from "../../lottie-animation/lottie-animation.js";
5
+ const h = () => /* @__PURE__ */ t(
6
+ i,
7
+ {
8
+ $width: "100%",
9
+ $height: "100%",
10
+ $alignItems: "center",
11
+ $justifyContent: "center",
12
+ $background: "TRANSPARENT",
13
+ children: /* @__PURE__ */ t(o, { width: "50%", height: "50%", src: r.CIRCULAR_LOADER })
14
+ }
15
+ );
20
16
  export {
21
- d as CircularLoader
17
+ h as CircularLoader
22
18
  };
23
19
  //# sourceMappingURL=circular-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"circular-loader.js","sources":["../../../../../src/features/ui/loader/circular-loader/circular-loader.tsx"],"sourcesContent":["import Lottie from 'lottie-web';\nimport { useEffect, useRef } from 'react';\n\nimport circularLoader from '../../../../assets/lotties/circle/circular-loader.json';\nimport * as Styled from './circular-loader-styled';\n\nexport const CircularLoader = () => {\n const lottieContainerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const animation = Lottie.loadAnimation({\n container: lottieContainerRef.current as Element,\n animationData: circularLoader,\n autoplay: true,\n loop: true,\n });\n\n return () => {\n animation.destroy();\n };\n }, []);\n\n return (\n <Styled.Loader>\n <Styled.LottieContainer ref={lottieContainerRef} />\n </Styled.Loader>\n );\n};\n"],"names":["CircularLoader","lottieContainerRef","useRef","useEffect","animation","Lottie","circularLoader","jsx","Styled.Loader","Styled.LottieContainer"],"mappings":";;;;;AAMO,MAAMA,IAAiB,MAAM;AAC5B,QAAAC,IAAqBC,EAAuB,IAAI;AAEtD,SAAAC,EAAU,MAAM;AACR,UAAAC,IAAYC,EAAO,cAAc;AAAA,MACrC,WAAWJ,EAAmB;AAAA,MAC9B,eAAeK;AAAA,MACf,UAAU;AAAA,MACV,MAAM;AAAA,IAAA,CACP;AAED,WAAO,MAAM;AACX,MAAAF,EAAU,QAAQ;AAAA,IAAA;AAAA,EAEtB,GAAG,CAAE,CAAA,GAGH,gBAAAG,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACE,GAAA,EAAuB,KAAKR,GAAoB,EACnD,CAAA;AAEJ;"}
1
+ {"version":3,"file":"circular-loader.js","sources":["../../../../../src/features/ui/loader/circular-loader/circular-loader.tsx"],"sourcesContent":["import { LOTTIE } from '../../../../assets/lottie/lottie';\nimport FlexView from '../../layout/flex-view';\nimport LottieAnimation from '../../lottie-animation/lottie-animation';\n\nexport const CircularLoader = () => (\n <FlexView\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"TRANSPARENT\"\n >\n <LottieAnimation width=\"50%\" height=\"50%\" src={LOTTIE.CIRCULAR_LOADER} />\n </FlexView>\n);\n"],"names":["CircularLoader","jsx","FlexView","LottieAnimation","LOTTIE"],"mappings":";;;;AAIO,MAAMA,IAAiB,MAC5B,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,iBAAgB;AAAA,IAChB,aAAY;AAAA,IAEZ,UAAA,gBAAAD,EAACE,KAAgB,OAAM,OAAM,QAAO,OAAM,KAAKC,EAAO,gBAAiB,CAAA;AAAA,EAAA;AACzE;"}
@@ -0,0 +1,13 @@
1
+ const c = async (o) => {
2
+ let e = null;
3
+ try {
4
+ e = await fetch(o).then((t) => t.json()).catch(() => null);
5
+ } catch (t) {
6
+ console.log("Error while fetching the lottie: ", t);
7
+ }
8
+ return e;
9
+ };
10
+ export {
11
+ c as fetchLottie
12
+ };
13
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sources":["../../../../src/features/ui/lottie-animation/helper.ts"],"sourcesContent":["import type { AnimationItem } from 'lottie-web';\n\nexport const fetchLottie = async (lottieSrc: string): Promise<AnimationItem | null> => {\n let lottieJson: AnimationItem | null = null;\n\n try {\n lottieJson = await fetch(lottieSrc)\n .then(res => res.json())\n .catch(() => null);\n } catch (error) {\n /* eslint-disable no-console */\n console.log('Error while fetching the lottie: ', error);\n }\n\n return lottieJson;\n};\n"],"names":["fetchLottie","lottieSrc","lottieJson","res","error"],"mappings":"AAEa,MAAAA,IAAc,OAAOC,MAAqD;AACrF,MAAIC,IAAmC;AAEnC,MAAA;AACF,IAAAA,IAAa,MAAM,MAAMD,CAAS,EAC/B,KAAK,CAAAE,MAAOA,EAAI,KAAA,CAAM,EACtB,MAAM,MAAM,IAAI;AAAA,WACZC,GAAO;AAEN,YAAA,IAAI,qCAAqCA,CAAK;AAAA,EACxD;AAEO,SAAAF;AACT;"}
@@ -0,0 +1,37 @@
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import p from "lottie-web";
3
+ import { memo as h, forwardRef as L, useRef as m, useImperativeHandle as g, useEffect as v } from "react";
4
+ import w from "../layout/flex-view.js";
5
+ import { fetchLottie as y } from "./helper.js";
6
+ const A = L((s, u) => {
7
+ const { src: i, width: l = "100%", height: f = "100%", settings: a, eventListener: t, onRender: n } = s, o = m(null), e = m(null);
8
+ return g(
9
+ u,
10
+ () => ({
11
+ playSegments: (c, r) => {
12
+ e.current && e.current.playSegments(c, r);
13
+ }
14
+ }),
15
+ []
16
+ ), v(() => ((async () => {
17
+ try {
18
+ const r = await y(i);
19
+ o.current && (e.current = p.loadAnimation({
20
+ container: o.current,
21
+ animationData: r,
22
+ renderer: "svg",
23
+ loop: !0,
24
+ autoplay: !0,
25
+ ...a
26
+ }), n == null || n(), t && e.current.addEventListener(t.name, t.callback));
27
+ } catch (r) {
28
+ throw Error(`Error loading Lottie animation: ${r}`);
29
+ }
30
+ })(), () => {
31
+ e.current && (t && e.current.removeEventListener(t.name, t.callback), e.current.destroy());
32
+ }), [i, t, n, a]), /* @__PURE__ */ d(w, { ref: o, $width: l, $height: f });
33
+ }), I = h(A);
34
+ export {
35
+ I as default
36
+ };
37
+ //# sourceMappingURL=lottie-animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lottie-animation.js","sources":["../../../../src/features/ui/lottie-animation/lottie-animation.tsx"],"sourcesContent":["import type { ILottieAnimationProps, ILottieAnimationRef } from './types';\nimport type { AnimationItem, AnimationSegment } from 'lottie-web';\n\nimport lottie from 'lottie-web';\nimport { forwardRef, memo, useEffect, useImperativeHandle, useRef } from 'react';\n\nimport FlexView from '../layout/flex-view';\nimport { fetchLottie } from './helper';\n\nconst LottieAnimation = forwardRef<ILottieAnimationRef, ILottieAnimationProps>((props, ref) => {\n const { src, width = '100%', height = '100%', settings, eventListener, onRender } = props;\n\n const container = useRef<HTMLDivElement>(null);\n const animationInstance = useRef<AnimationItem | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n playSegments: (segments: AnimationSegment, forceFlag?: boolean) => {\n if (animationInstance.current) {\n animationInstance.current.playSegments(segments, forceFlag);\n }\n },\n }),\n [],\n );\n\n useEffect(() => {\n const loadAnimation = async () => {\n try {\n const animationData = await fetchLottie(src);\n\n if (container.current) {\n animationInstance.current = lottie.loadAnimation({\n container: container.current,\n animationData,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n ...settings,\n });\n\n onRender?.();\n if (eventListener) {\n animationInstance.current.addEventListener(eventListener.name, eventListener.callback);\n }\n }\n } catch (error) {\n throw Error(`Error loading Lottie animation: ${error}`);\n }\n };\n\n loadAnimation();\n\n return () => {\n if (animationInstance.current) {\n if (eventListener) {\n animationInstance.current.removeEventListener(eventListener.name, eventListener.callback);\n }\n animationInstance.current.destroy();\n }\n };\n }, [src, eventListener, onRender, settings]);\n\n return <FlexView ref={container} $width={width} $height={height} />;\n});\n\nexport default memo(LottieAnimation);\n"],"names":["LottieAnimation","forwardRef","props","ref","src","width","height","settings","eventListener","onRender","container","useRef","animationInstance","useImperativeHandle","segments","forceFlag","useEffect","animationData","fetchLottie","lottie","error","FlexView","LottieAnimation$1","memo"],"mappings":";;;;;AASA,MAAMA,IAAkBC,EAAuD,CAACC,GAAOC,MAAQ;AACvF,QAAA,EAAE,KAAAC,GAAK,OAAAC,IAAQ,QAAQ,QAAAC,IAAS,QAAQ,UAAAC,GAAU,eAAAC,GAAe,UAAAC,EAAa,IAAAP,GAE9EQ,IAAYC,EAAuB,IAAI,GACvCC,IAAoBD,EAA6B,IAAI;AAE3D,SAAAE;AAAA,IACEV;AAAA,IACA,OAAO;AAAA,MACL,cAAc,CAACW,GAA4BC,MAAwB;AACjE,QAAIH,EAAkB,WACFA,EAAA,QAAQ,aAAaE,GAAUC,CAAS;AAAA,MAE9D;AAAA,IAAA;AAAA,IAEF,CAAC;AAAA,EAAA,GAGHC,EAAU,QACc,YAAY;AAC5B,QAAA;AACI,YAAAC,IAAgB,MAAMC,EAAYd,CAAG;AAE3C,MAAIM,EAAU,YACME,EAAA,UAAUO,EAAO,cAAc;AAAA,QAC/C,WAAWT,EAAU;AAAA,QACrB,eAAAO;AAAA,QACA,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,GAAGV;AAAA,MAAA,CACJ,GAEUE,KAAA,QAAAA,KACPD,KACFI,EAAkB,QAAQ,iBAAiBJ,EAAc,MAAMA,EAAc,QAAQ;AAAA,aAGlFY,GAAO;AACR,YAAA,MAAM,mCAAmCA,CAAK,EAAE;AAAA,IACxD;AAAA,EAAA,MAKK,MAAM;AACX,IAAIR,EAAkB,YAChBJ,KACFI,EAAkB,QAAQ,oBAAoBJ,EAAc,MAAMA,EAAc,QAAQ,GAE1FI,EAAkB,QAAQ;EAC5B,IAED,CAACR,GAAKI,GAAeC,GAAUF,CAAQ,CAAC,qBAEnCc,GAAS,EAAA,KAAKX,GAAW,QAAQL,GAAO,SAASC,EAAQ,CAAA;AACnE,CAAC,GAEcgB,IAAAC,EAAKvB,CAAe;"}
@@ -1,5 +1,5 @@
1
1
  import e from "styled-components";
2
- import o from "../layout/flex-view.js";
2
+ import n from "../layout/flex-view.js";
3
3
  const r = e.div`
4
4
  position: absolute;
5
5
  top: ${({ $top: t }) => t}px;
@@ -11,18 +11,14 @@ const r = e.div`
11
11
  align-items: end;
12
12
  z-index: ${({ $zIndex: t }) => t};
13
13
  pointer-events: none;
14
- `, p = e(o)`
15
- height: 64px;
16
- width: 64px;
14
+ `, p = e(n)`
17
15
  overflow: hidden;
18
- `, s = e.div`
19
- cursor: pointer;
20
- & > svg {
16
+
17
+ & svg {
21
18
  transform: scale(3.5) !important;
22
19
  }
23
20
  `;
24
21
  export {
25
- s as Nudge,
26
22
  p as NudgeLottieContainer,
27
23
  r as NudgeWrapper
28
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nudge-styled.js","sources":["../../../../src/features/ui/nudge/nudge-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\ninterface NudgeWrapperProps {\n $top: number;\n $left: number;\n $zIndex: number;\n}\n\nexport const NudgeWrapper = styled.div<NudgeWrapperProps>`\n position: absolute;\n top: ${({ $top }) => $top}px;\n left: ${({ $left }) => $left}px;\n height: max-content;\n width: max-content;\n display: flex;\n justify-content: center;\n align-items: end;\n z-index: ${({ $zIndex }) => $zIndex};\n pointer-events: none;\n`;\n\nexport const NudgeLottieContainer = styled(FlexView)`\n height: 64px;\n width: 64px;\n overflow: hidden;\n`;\n\nexport const Nudge = styled.div`\n cursor: pointer;\n & > svg {\n transform: scale(3.5) !important;\n }\n`;\n"],"names":["NudgeWrapper","styled","$top","$left","$zIndex","NudgeLottieContainer","FlexView","Nudge"],"mappings":";;AAUO,MAAMA,IAAeC,EAAO;AAAA;AAAA,SAE1B,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA,UACjB,CAAC,EAAE,OAAAC,EAAM,MAAMA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMjB,CAAC,EAAE,SAAAC,EAAQ,MAAMA,CAAO;AAAA;AAAA,GAIxBC,IAAuBJ,EAAOK,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMtCC,IAAQN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"nudge-styled.js","sources":["../../../../src/features/ui/nudge/nudge-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\ninterface NudgeWrapperProps {\n $top: number;\n $left: number;\n $zIndex: number;\n}\n\nexport const NudgeWrapper = styled.div<NudgeWrapperProps>`\n position: absolute;\n top: ${({ $top }) => $top}px;\n left: ${({ $left }) => $left}px;\n height: max-content;\n width: max-content;\n display: flex;\n justify-content: center;\n align-items: end;\n z-index: ${({ $zIndex }) => $zIndex};\n pointer-events: none;\n`;\n\nexport const NudgeLottieContainer = styled(FlexView)`\n overflow: hidden;\n\n & svg {\n transform: scale(3.5) !important;\n }\n`;\n"],"names":["NudgeWrapper","styled","$top","$left","$zIndex","NudgeLottieContainer","FlexView"],"mappings":";;AAUO,MAAMA,IAAeC,EAAO;AAAA;AAAA,SAE1B,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA,UACjB,CAAC,EAAE,OAAAC,EAAM,MAAMA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMjB,CAAC,EAAE,SAAAC,EAAQ,MAAMA,CAAO;AAAA;AAAA,GAIxBC,IAAuBJ,EAAOK,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,34 +1,17 @@
1
- import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
- import l from "lottie-web";
3
- import { useRef as s, useEffect as m } from "react";
4
- import { NudgeWrapper as c, NudgeLottieContainer as p, Nudge as f } from "./nudge-styled.js";
5
- const g = () => import("../../../assets/lotties/common/nudge-tap.json.js"), N = ({
6
- content: n,
7
- nudgePointerX: r = 0,
8
- nudgePointerY: a = 0,
1
+ import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
+ import { LOTTIE as d } from "../../../assets/lottie/lottie.js";
3
+ import m from "../lottie-animation/lottie-animation.js";
4
+ import { NudgeWrapper as p, NudgeLottieContainer as s } from "./nudge-styled.js";
5
+ const f = ({
6
+ content: r,
7
+ nudgePointerX: e = 0,
8
+ nudgePointerY: o = 0,
9
9
  zIndex: i = 100
10
- }) => {
11
- const o = s(null);
12
- return m(() => {
13
- let t = null;
14
- return (async () => {
15
- const u = (await g()).default;
16
- t = l.loadAnimation({
17
- container: o.current,
18
- animationData: u,
19
- autoplay: !0,
20
- loop: !0,
21
- renderer: "svg"
22
- });
23
- })(), () => {
24
- t == null || t.destroy();
25
- };
26
- }, []), /* @__PURE__ */ d(c, { $top: a, $left: r, $zIndex: i, children: [
27
- /* @__PURE__ */ e(p, { children: /* @__PURE__ */ e(f, { ref: o }) }),
28
- n
29
- ] });
30
- }, j = N;
10
+ }) => /* @__PURE__ */ n(p, { $top: o, $left: e, $zIndex: i, children: [
11
+ /* @__PURE__ */ t(s, { $height: 64, $width: 64, children: /* @__PURE__ */ t(m, { src: d.NUDGE_TAP }) }),
12
+ r
13
+ ] }), g = f;
31
14
  export {
32
- j as default
15
+ g as default
33
16
  };
34
17
  //# sourceMappingURL=nudge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nudge.js","sources":["../../../../src/features/ui/nudge/nudge.tsx"],"sourcesContent":["import type { INudgeProps } from './nudge-types';\nimport type { AnimationItem } from 'lottie-web';\n\nimport Lottie from 'lottie-web';\nimport React, { useEffect, useRef } from 'react';\n\nimport * as S from './nudge-styled';\n\nconst tapLottie = () => import('../../../assets/lotties/common/nudge-tap.json');\n\nconst Nudge: React.FC<INudgeProps> = ({\n content,\n nudgePointerX = 0,\n nudgePointerY = 0,\n zIndex = 100,\n}) => {\n const lottieContainer = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n const loadAnimation = async () => {\n const animationModule = await tapLottie();\n const animationData = animationModule.default;\n\n animation = Lottie.loadAnimation({\n container: lottieContainer.current as Element,\n animationData: animationData,\n autoplay: true,\n loop: true,\n renderer: 'svg',\n });\n };\n\n loadAnimation();\n\n return () => {\n animation?.destroy();\n };\n }, []);\n\n return (\n <S.NudgeWrapper $top={nudgePointerY} $left={nudgePointerX} $zIndex={zIndex}>\n <S.NudgeLottieContainer>\n <S.Nudge ref={lottieContainer} />\n </S.NudgeLottieContainer>\n {content}\n </S.NudgeWrapper>\n );\n};\n\nexport default Nudge;\n"],"names":["tapLottie","Nudge","content","nudgePointerX","nudgePointerY","zIndex","lottieContainer","useRef","useEffect","animation","animationData","Lottie","jsxs","S.NudgeWrapper","jsx","S.NudgeLottieContainer","S.Nudge","Nudge$1"],"mappings":";;;;AAQA,MAAMA,IAAY,MAAM,OAAO,kDAA+C,GAExEC,IAA+B,CAAC;AAAA,EACpC,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,eAAAC,IAAgB;AAAA,EAChB,QAAAC,IAAS;AACX,MAAM;AACE,QAAAC,IAAkBC,EAAuB,IAAI;AAEnD,SAAAC,EAAU,MAAM;AACd,QAAIC,IAAkC;AAcxB,YAbQ,YAAY;AAEhC,YAAMC,KADkB,MAAMV,KACQ;AAEtC,MAAAS,IAAYE,EAAO,cAAc;AAAA,QAC/B,WAAWL,EAAgB;AAAA,QAC3B,eAAAI;AAAA,QACA,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,MAAA,CACX;AAAA,IAAA,MAKI,MAAM;AACX,MAAAD,KAAA,QAAAA,EAAW;AAAA,IAAQ;AAAA,EAEvB,GAAG,CAAE,CAAA,GAGH,gBAAAG,EAACC,GAAA,EAAe,MAAMT,GAAe,OAAOD,GAAe,SAASE,GAClE,UAAA;AAAA,IAAC,gBAAAS,EAAAC,GAAA,EACC,UAAA,gBAAAD,EAACE,GAAA,EAAQ,KAAKV,EAAiB,CAAA,GACjC;AAAA,IACCJ;AAAA,EACH,EAAA,CAAA;AAEJ,GAEAe,IAAehB;"}
1
+ {"version":3,"file":"nudge.js","sources":["../../../../src/features/ui/nudge/nudge.tsx"],"sourcesContent":["import type { INudgeProps } from './nudge-types';\n\nimport React from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport LottieAnimation from '../lottie-animation/lottie-animation';\nimport * as S from './nudge-styled';\n\nconst Nudge: React.FC<INudgeProps> = ({\n content,\n nudgePointerX = 0,\n nudgePointerY = 0,\n zIndex = 100,\n}) => {\n return (\n <S.NudgeWrapper $top={nudgePointerY} $left={nudgePointerX} $zIndex={zIndex}>\n <S.NudgeLottieContainer $height={64} $width={64}>\n <LottieAnimation src={LOTTIE.NUDGE_TAP} />\n </S.NudgeLottieContainer>\n {content}\n </S.NudgeWrapper>\n );\n};\n\nexport default Nudge;\n"],"names":["Nudge","content","nudgePointerX","nudgePointerY","zIndex","jsxs","S.NudgeWrapper","jsx","S.NudgeLottieContainer","LottieAnimation","LOTTIE","Nudge$1"],"mappings":";;;;AAQA,MAAMA,IAA+B,CAAC;AAAA,EACpC,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,eAAAC,IAAgB;AAAA,EAChB,QAAAC,IAAS;AACX,MAEI,gBAAAC,EAACC,GAAA,EAAe,MAAMH,GAAe,OAAOD,GAAe,SAASE,GAClE,UAAA;AAAA,EAAA,gBAAAG,EAACC,GAAA,EAAuB,SAAS,IAAI,QAAQ,IAC3C,UAAA,gBAAAD,EAACE,GAAgB,EAAA,KAAKC,EAAO,UAAA,CAAW,EAC1C,CAAA;AAAA,EACCT;AACH,EAAA,CAAA,GAIJU,IAAeX;"}
@@ -1,30 +1,32 @@
1
- import { RANGE_SIZE as o, TIERS as r } from "./constants.js";
2
- const a = {
3
- bronze_1: () => import("../../../assets/lotties/perfect-hits/bronze-1.json.js"),
4
- bronze_2: () => import("../../../assets/lotties/perfect-hits/bronze-2.json.js"),
5
- bronze_3: () => import("../../../assets/lotties/perfect-hits/bronze-3.json.js"),
6
- silver_1: () => import("../../../assets/lotties/perfect-hits/silver-1.json.js"),
7
- silver_2: () => import("../../../assets/lotties/perfect-hits/silver-2.json.js"),
8
- silver_3: () => import("../../../assets/lotties/perfect-hits/silver-3.json.js"),
9
- gold_1: () => import("../../../assets/lotties/perfect-hits/gold-1.json.js"),
10
- gold_2: () => import("../../../assets/lotties/perfect-hits/gold-2.json.js"),
11
- gold_3: () => import("../../../assets/lotties/perfect-hits/gold-3.json.js"),
12
- color_1: () => import("../../../assets/lotties/perfect-hits/color-1.json.js"),
13
- color_2: () => import("../../../assets/lotties/perfect-hits/color-2.json.js"),
14
- color_3: () => import("../../../assets/lotties/perfect-hits/color-3.json.js")
1
+ import { LOTTIE as o } from "../../../assets/lottie/lottie.js";
2
+ import { fetchLottie as a } from "../lottie-animation/helper.js";
3
+ import { RANGE_SIZE as t, TIERS as e } from "./constants.js";
4
+ const s = {
5
+ bronze_1: o.BRONZE_1,
6
+ bronze_2: o.BRONZE_2,
7
+ bronze_3: o.BRONZE_3,
8
+ silver_1: o.SILVER_1,
9
+ silver_2: o.SILVER_2,
10
+ silver_3: o.SILVER_3,
11
+ gold_1: o.GOLD_1,
12
+ gold_2: o.GOLD_2,
13
+ gold_3: o.GOLD_3,
14
+ color_1: o.COLOR_1,
15
+ color_2: o.COLOR_2,
16
+ color_3: o.COLOR_3
15
17
  };
16
- async function _(t) {
17
- const e = t >= o * 12 ? 3 : Math.floor(t / (r.length * o)) + 1, l = Math.floor(t % (r.length * o) / o), n = `${t >= o * 12 ? "color" : r[l]}_${e}`, i = a[n];
18
- if (i)
18
+ async function f(r) {
19
+ const _ = r >= t * 12 ? 3 : Math.floor(r / (e.length * t)) + 1, i = Math.floor(r % (e.length * t) / t), n = `${r >= t * 12 ? "color" : e[i]}_${_}`, l = s[n];
20
+ if (l)
19
21
  try {
20
- return (await i()).default;
22
+ return await a(l);
21
23
  } catch {
22
24
  return null;
23
25
  }
24
26
  return null;
25
27
  }
26
28
  export {
27
- o as RANGE_SIZE,
28
- _ as getAnimationFile
29
+ t as RANGE_SIZE,
30
+ f as getAnimationFile
29
31
  };
30
32
  //# sourceMappingURL=perfect-hits-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"perfect-hits-helpers.js","sources":["../../../../src/features/ui/perfect-hits/perfect-hits-helpers.ts"],"sourcesContent":["import { RANGE_SIZE, TIERS } from './constants';\n\ntype AnimationData = Record<string, unknown>;\n\nconst animationFilesMap: Record<string, () => Promise<{ default: AnimationData }>> = {\n bronze_1: () => import('../../../assets/lotties/perfect-hits/bronze-1.json'),\n bronze_2: () => import('../../../assets/lotties/perfect-hits/bronze-2.json'),\n bronze_3: () => import('../../../assets/lotties/perfect-hits/bronze-3.json'),\n silver_1: () => import('../../../assets/lotties/perfect-hits/silver-1.json'),\n silver_2: () => import('../../../assets/lotties/perfect-hits/silver-2.json'),\n silver_3: () => import('../../../assets/lotties/perfect-hits/silver-3.json'),\n gold_1: () => import('../../../assets/lotties/perfect-hits/gold-1.json'),\n gold_2: () => import('../../../assets/lotties/perfect-hits/gold-2.json'),\n gold_3: () => import('../../../assets/lotties/perfect-hits/gold-3.json'),\n color_1: () => import('../../../assets/lotties/perfect-hits/color-1.json'),\n color_2: () => import('../../../assets/lotties/perfect-hits/color-2.json'),\n color_3: () => import('../../../assets/lotties/perfect-hits/color-3.json'),\n};\n\n/**\n * [0-4] => bronze_1\n * [5-9] => silver_1\n * [10-14] => gold_1\n * [15-19] => color_1\n * [20-24] => bronze_2\n * [25-29] => silver_2\n * [30-34] => gold_2\n * [35-39] => color_2\n * [40-44] => bronze_3\n * [45-49] => silver_3\n * [50-54] => gold_3\n * [55-59] => color_3\n * [>60] => color_3\n */\n\nasync function getAnimationFile(num: number): Promise<AnimationData | null> {\n const setNumber = num >= RANGE_SIZE * 12 ? 3 : Math.floor(num / (TIERS.length * RANGE_SIZE)) + 1;\n\n const tierIndex = Math.floor((num % (TIERS.length * RANGE_SIZE)) / RANGE_SIZE);\n const tier = num >= RANGE_SIZE * 12 ? 'color' : TIERS[tierIndex];\n const fileName = `${tier}_${setNumber}`;\n\n const loadAnimationData = animationFilesMap[fileName];\n\n if (loadAnimationData) {\n try {\n const module = await loadAnimationData();\n\n return module.default;\n } catch (error) {\n return null;\n }\n }\n\n return null;\n}\n\nexport { getAnimationFile, RANGE_SIZE };\n"],"names":["animationFilesMap","getAnimationFile","num","setNumber","RANGE_SIZE","TIERS","tierIndex","fileName","loadAnimationData"],"mappings":";AAIA,MAAMA,IAA+E;AAAA,EACnF,UAAU,MAAM,OAAO,uDAAoD;AAAA,EAC3E,UAAU,MAAM,OAAO,uDAAoD;AAAA,EAC3E,UAAU,MAAM,OAAO,uDAAoD;AAAA,EAC3E,UAAU,MAAM,OAAO,uDAAoD;AAAA,EAC3E,UAAU,MAAM,OAAO,uDAAoD;AAAA,EAC3E,UAAU,MAAM,OAAO,uDAAoD;AAAA,EAC3E,QAAQ,MAAM,OAAO,qDAAkD;AAAA,EACvE,QAAQ,MAAM,OAAO,qDAAkD;AAAA,EACvE,QAAQ,MAAM,OAAO,qDAAkD;AAAA,EACvE,SAAS,MAAM,OAAO,sDAAmD;AAAA,EACzE,SAAS,MAAM,OAAO,sDAAmD;AAAA,EACzE,SAAS,MAAM,OAAO,sDAAmD;AAC3E;AAkBA,eAAeC,EAAiBC,GAA4C;AACpE,QAAAC,IAAYD,KAAOE,IAAa,KAAK,IAAI,KAAK,MAAMF,KAAOG,EAAM,SAASD,EAAW,IAAI,GAEzFE,IAAY,KAAK,MAAOJ,KAAOG,EAAM,SAASD,KAAeA,CAAU,GAEvEG,IAAW,GADJL,KAAOE,IAAa,KAAK,UAAUC,EAAMC,CAAS,CACvC,IAAIH,CAAS,IAE/BK,IAAoBR,EAAkBO,CAAQ;AAEpD,MAAIC;AACE,QAAA;AAGF,cAFe,MAAMA,KAEP;AAAA,YACA;AACP,aAAA;AAAA,IACT;AAGK,SAAA;AACT;"}
1
+ {"version":3,"file":"perfect-hits-helpers.js","sources":["../../../../src/features/ui/perfect-hits/perfect-hits-helpers.ts"],"sourcesContent":["import { LOTTIE } from '../../../assets/lottie/lottie';\nimport { fetchLottie } from '../lottie-animation/helper';\nimport { RANGE_SIZE, TIERS } from './constants';\n\ntype AnimationData = Record<string, unknown>;\n\nconst animationFilesMap: Record<string, string> = {\n bronze_1: LOTTIE.BRONZE_1,\n bronze_2: LOTTIE.BRONZE_2,\n bronze_3: LOTTIE.BRONZE_3,\n silver_1: LOTTIE.SILVER_1,\n silver_2: LOTTIE.SILVER_2,\n silver_3: LOTTIE.SILVER_3,\n gold_1: LOTTIE.GOLD_1,\n gold_2: LOTTIE.GOLD_2,\n gold_3: LOTTIE.GOLD_3,\n color_1: LOTTIE.COLOR_1,\n color_2: LOTTIE.COLOR_2,\n color_3: LOTTIE.COLOR_3,\n};\n\n/**\n * [0-4] => bronze_1\n * [5-9] => silver_1\n * [10-14] => gold_1\n * [15-19] => color_1\n * [20-24] => bronze_2\n * [25-29] => silver_2\n * [30-34] => gold_2\n * [35-39] => color_2\n * [40-44] => bronze_3\n * [45-49] => silver_3\n * [50-54] => gold_3\n * [55-59] => color_3\n * [>60] => color_3\n */\n\nasync function getAnimationFile(num: number): Promise<AnimationData | null> {\n const setNumber = num >= RANGE_SIZE * 12 ? 3 : Math.floor(num / (TIERS.length * RANGE_SIZE)) + 1;\n\n const tierIndex = Math.floor((num % (TIERS.length * RANGE_SIZE)) / RANGE_SIZE);\n const tier = num >= RANGE_SIZE * 12 ? 'color' : TIERS[tierIndex];\n const fileName = `${tier}_${setNumber}`;\n\n const loadAnimationPath = animationFilesMap[fileName];\n\n if (loadAnimationPath) {\n try {\n const lottieModule = await fetchLottie(loadAnimationPath);\n\n return lottieModule;\n } catch (error) {\n return null;\n }\n }\n\n return null;\n}\n\nexport { getAnimationFile, RANGE_SIZE };\n"],"names":["animationFilesMap","LOTTIE","getAnimationFile","num","setNumber","RANGE_SIZE","TIERS","tierIndex","fileName","loadAnimationPath","fetchLottie"],"mappings":";;;AAMA,MAAMA,IAA4C;AAAA,EAChD,UAAUC,EAAO;AAAA,EACjB,UAAUA,EAAO;AAAA,EACjB,UAAUA,EAAO;AAAA,EACjB,UAAUA,EAAO;AAAA,EACjB,UAAUA,EAAO;AAAA,EACjB,UAAUA,EAAO;AAAA,EACjB,QAAQA,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAClB;AAkBA,eAAeC,EAAiBC,GAA4C;AACpE,QAAAC,IAAYD,KAAOE,IAAa,KAAK,IAAI,KAAK,MAAMF,KAAOG,EAAM,SAASD,EAAW,IAAI,GAEzFE,IAAY,KAAK,MAAOJ,KAAOG,EAAM,SAASD,KAAeA,CAAU,GAEvEG,IAAW,GADJL,KAAOE,IAAa,KAAK,UAAUC,EAAMC,CAAS,CACvC,IAAIH,CAAS,IAE/BK,IAAoBT,EAAkBQ,CAAQ;AAEpD,MAAIC;AACE,QAAA;AAGK,aAFc,MAAMC,EAAYD,CAAiB;AAAA,YAG1C;AACP,aAAA;AAAA,IACT;AAGK,SAAA;AACT;"}
@@ -1,52 +1,29 @@
1
- import { jsx as e, jsxs as g } from "react/jsx-runtime";
2
- import { memo as A, useState as i, useEffect as a } from "react";
3
- import E from "../../../ui/buttons/button/button.js";
4
- import m from "../../../ui/layout/flex-view.js";
5
- import l from "../../../ui/separator/separator.js";
6
- import $ from "../../../ui/text/text.js";
7
- import { BaseWrapper as x } from "./styles.js";
8
- const o = "error_modal", y = ({ buttonLabel: s = "Home", error: d, handleClick: c }) => {
9
- const [r, p] = i(null), [t, u] = i(null);
10
- return a(() => {
11
- (async () => {
12
- const [f, h] = await Promise.all([
13
- import("lottie-web"),
14
- import("../../../../assets/lotties/error-lottie.json.js")
15
- ]);
16
- p(f.default), u(h.default);
17
- })();
18
- }, []), a(() => {
19
- if (r && t) {
20
- const n = r.loadAnimation({
21
- name: o,
22
- container: document.getElementById(o),
23
- renderer: "svg",
24
- loop: !0,
25
- autoplay: !0,
26
- animationData: t
27
- });
28
- return () => {
29
- n.destroy();
30
- };
1
+ import { jsx as r, jsxs as m } from "react/jsx-runtime";
2
+ import { memo as n } from "react";
3
+ import { LOTTIE as p } from "../../../../assets/lottie/lottie.js";
4
+ import a from "../../../ui/buttons/button/button.js";
5
+ import h from "../../../ui/layout/flex-view.js";
6
+ import c from "../../../ui/lottie-animation/lottie-animation.js";
7
+ import o from "../../../ui/separator/separator.js";
8
+ import l from "../../../ui/text/text.js";
9
+ import { BaseWrapper as s } from "./styles.js";
10
+ const d = ({ buttonLabel: e = "Home", error: t, handleClick: i }) => /* @__PURE__ */ r(s, { $background: "BLACK_75", children: /* @__PURE__ */ m(h, { $alignItems: "center", children: [
11
+ /* @__PURE__ */ r(o, { heightX: 4 }),
12
+ /* @__PURE__ */ r(c, { src: p.ERROR_LOTTIE, height: 320, width: 320 }),
13
+ /* @__PURE__ */ r(l, { $renderAs: "h6", $color: "WHITE", $align: "center", children: t || "Oh No! Error detected..." }),
14
+ /* @__PURE__ */ r(o, { heightX: 1 }),
15
+ /* @__PURE__ */ r(
16
+ a,
17
+ {
18
+ label: e,
19
+ onClick: i,
20
+ renderAs: "primary",
21
+ size: "regular",
22
+ widthX: 14
31
23
  }
32
- }, [r, t]), /* @__PURE__ */ e(x, { $background: "BLACK_75", children: /* @__PURE__ */ g(m, { $alignItems: "center", children: [
33
- /* @__PURE__ */ e(l, { heightX: 4 }),
34
- /* @__PURE__ */ e(m, { $width: 320, $height: 320, id: o }),
35
- /* @__PURE__ */ e($, { $renderAs: "h6", $color: "WHITE", $align: "center", children: d || "Oh No! Error detected..." }),
36
- /* @__PURE__ */ e(l, { heightX: 1 }),
37
- /* @__PURE__ */ e(
38
- E,
39
- {
40
- label: s,
41
- onClick: c,
42
- renderAs: "primary",
43
- size: "regular",
44
- widthX: 14
45
- }
46
- )
47
- ] }) });
48
- }, R = A(y);
24
+ )
25
+ ] }) }), L = n(d);
49
26
  export {
50
- R as default
27
+ L as default
51
28
  };
52
29
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-permissions/error.tsx"],"sourcesContent":["import type { LottiePlayer } from 'lottie-web';\n\nimport { memo, useEffect, useState } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { BaseWrapper } from './styles';\n\nconst ERROR_MODAL = 'error_modal';\n\ninterface ErrorProps {\n buttonLabel?: string;\n error: string;\n handleClick: () => void;\n}\n\nconst Error: React.FC<ErrorProps> = ({ buttonLabel = 'Home', error, handleClick }) => {\n const [lottie, setLottie] = useState<LottiePlayer | null>(null);\n const [errorAnm, setErrorAnm] = useState<unknown>(null);\n\n useEffect(() => {\n const loadDependencies = async () => {\n const [lottieModule, errorAnmModule] = await Promise.all([\n import('lottie-web'),\n import('../../../../assets/lotties/error-lottie.json'),\n ]);\n\n setLottie(lottieModule.default);\n setErrorAnm(errorAnmModule.default);\n };\n\n loadDependencies();\n }, []);\n\n useEffect(() => {\n if (lottie && errorAnm) {\n const animation = lottie.loadAnimation({\n name: ERROR_MODAL,\n container: document.getElementById(ERROR_MODAL) as Element,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n animationData: errorAnm,\n });\n\n return () => {\n animation.destroy();\n };\n }\n }, [lottie, errorAnm]);\n\n return (\n <BaseWrapper $background=\"BLACK_75\">\n <FlexView $alignItems=\"center\">\n <Separator heightX={4} />\n <FlexView $width={320} $height={320} id={ERROR_MODAL} />\n <Text $renderAs=\"h6\" $color=\"WHITE\" $align=\"center\">\n {error || 'Oh No! Error detected...'}\n </Text>\n <Separator heightX={1} />\n <Button\n label={buttonLabel}\n onClick={handleClick}\n renderAs=\"primary\"\n size=\"regular\"\n widthX={14}\n />\n </FlexView>\n </BaseWrapper>\n );\n};\n\nexport default memo(Error);\n"],"names":["ERROR_MODAL","Error","buttonLabel","error","handleClick","lottie","setLottie","useState","errorAnm","setErrorAnm","useEffect","lottieModule","errorAnmModule","animation","BaseWrapper","jsxs","FlexView","jsx","Separator","Text","Button","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAc,eAQdC,IAA8B,CAAC,EAAE,aAAAC,IAAc,QAAQ,OAAAC,GAAO,aAAAC,QAAkB;AACpF,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAA8B,IAAI,GACxD,CAACC,GAAUC,CAAW,IAAIF,EAAkB,IAAI;AAEtD,SAAAG,EAAU,MAAM;AAWG,KAVQ,YAAY;AACnC,YAAM,CAACC,GAAcC,CAAc,IAAI,MAAM,QAAQ,IAAI;AAAA,QACvD,OAAO,YAAY;AAAA,QACnB,OAAO,iDAA8C;AAAA,MAAA,CACtD;AAED,MAAAN,EAAUK,EAAa,OAAO,GAC9BF,EAAYG,EAAe,OAAO;AAAA,IAAA;EAItC,GAAG,CAAE,CAAA,GAELF,EAAU,MAAM;AACd,QAAIL,KAAUG,GAAU;AAChB,YAAAK,IAAYR,EAAO,cAAc;AAAA,QACrC,MAAML;AAAA,QACN,WAAW,SAAS,eAAeA,CAAW;AAAA,QAC9C,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,eAAeQ;AAAA,MAAA,CAChB;AAED,aAAO,MAAM;AACX,QAAAK,EAAU,QAAQ;AAAA,MAAA;AAAA,IAEtB;AAAA,EAAA,GACC,CAACR,GAAQG,CAAQ,CAAC,qBAGlBM,GAAY,EAAA,aAAY,YACvB,UAAC,gBAAAC,EAAAC,GAAA,EAAS,aAAY,UACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,sBACtBF,GAAS,EAAA,QAAQ,KAAK,SAAS,KAAK,IAAIhB,GAAa;AAAA,IACtD,gBAAAiB,EAACE,KAAK,WAAU,MAAK,QAAO,SAAQ,QAAO,UACxC,UAAAhB,KAAS,2BACZ,CAAA;AAAA,IACA,gBAAAc,EAACC,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAD;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,OAAOlB;AAAA,QACP,SAASE;AAAA,QACT,UAAS;AAAA,QACT,MAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ,GAEeD,IAAAkB,EAAKpB,CAAK;"}
1
+ {"version":3,"file":"error.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-permissions/error.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { BaseWrapper } from './styles';\n\ninterface ErrorProps {\n buttonLabel?: string;\n error: string;\n handleClick: () => void;\n}\n\nconst Error: React.FC<ErrorProps> = ({ buttonLabel = 'Home', error, handleClick }) => (\n <BaseWrapper $background=\"BLACK_75\">\n <FlexView $alignItems=\"center\">\n <Separator heightX={4} />\n <LottieAnimation src={LOTTIE.ERROR_LOTTIE} height={320} width={320} />\n <Text $renderAs=\"h6\" $color=\"WHITE\" $align=\"center\">\n {error || 'Oh No! Error detected...'}\n </Text>\n <Separator heightX={1} />\n <Button\n label={buttonLabel}\n onClick={handleClick}\n renderAs=\"primary\"\n size=\"regular\"\n widthX={14}\n />\n </FlexView>\n </BaseWrapper>\n);\n\nexport default memo(Error);\n"],"names":["Error","buttonLabel","error","handleClick","jsx","BaseWrapper","jsxs","FlexView","Separator","LottieAnimation","LOTTIE","Text","Button","memo"],"mappings":";;;;;;;;;AAgBA,MAAMA,IAA8B,CAAC,EAAE,aAAAC,IAAc,QAAQ,OAAAC,GAAO,aAAAC,EAAA,MAClE,gBAAAC,EAACC,KAAY,aAAY,YACvB,UAAC,gBAAAC,EAAAC,GAAA,EAAS,aAAY,UACpB,UAAA;AAAA,EAAC,gBAAAH,EAAAI,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAJ,EAACK,KAAgB,KAAKC,EAAO,cAAc,QAAQ,KAAK,OAAO,KAAK;AAAA,EACpE,gBAAAN,EAACO,KAAK,WAAU,MAAK,QAAO,SAAQ,QAAO,UACxC,UAAAT,KAAS,2BACZ,CAAA;AAAA,EACA,gBAAAE,EAACI,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAJ;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,OAAOX;AAAA,MACP,SAASE;AAAA,MACT,UAAS;AAAA,MACT,MAAK;AAAA,MACL,QAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EACF,CAAA,EACF,CAAA,GAGaD,IAAAW,EAAKb,CAAK;"}
@@ -1,27 +1,13 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import a from "lottie-web";
3
- import { memo as m, useState as c, useRef as d, useEffect as f } from "react";
4
- import s from "../../../../../assets/line-icons/icons/check2.js";
5
- import u from "../../../../../assets/lotties/teacher-validation.json.js";
6
- import o from "../../../../ui/layout/flex-view.js";
7
- const w = m(({ validated: e }) => {
8
- const [n] = c(e), r = d(null);
9
- return f(() => {
10
- if (!n && e && r.current) {
11
- const i = a.loadAnimation({
12
- name: "validated",
13
- container: r.current,
14
- renderer: "svg",
15
- loop: !1,
16
- autoplay: !0,
17
- animationData: u
18
- });
19
- return () => {
20
- i.destroy();
21
- };
22
- }
23
- }, [e, n]), n ? /* @__PURE__ */ t(o, { $width: 40, $height: 40, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ t(
24
- o,
2
+ import { memo as o, useState as r } from "react";
3
+ import m from "../../../../../assets/line-icons/icons/check2.js";
4
+ import { LOTTIE as a } from "../../../../../assets/lottie/lottie.js";
5
+ import n from "../../../../ui/layout/flex-view.js";
6
+ import s from "../../../../ui/lottie-animation/lottie-animation.js";
7
+ const c = { name: "validated", loop: !1 }, g = o(({ validated: e }) => {
8
+ const [i] = r(e);
9
+ return i ? /* @__PURE__ */ t(n, { $width: 40, $height: 40, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ t(
10
+ n,
25
11
  {
26
12
  $borderRadius: 10,
27
13
  $background: "REAL_BLACK",
@@ -29,11 +15,11 @@ const w = m(({ validated: e }) => {
29
15
  $height: 20,
30
16
  $alignItems: "center",
31
17
  $justifyContent: "center",
32
- children: /* @__PURE__ */ t(s, { color: "WHITE", width: 16, height: 16 })
18
+ children: /* @__PURE__ */ t(m, { color: "WHITE", width: 16, height: 16 })
33
19
  }
34
- ) }) : /* @__PURE__ */ t("div", { ref: r });
20
+ ) }) : !i && e ? /* @__PURE__ */ t(s, { src: a.TEACHER_VALIDATION, settings: c }) : null;
35
21
  });
36
22
  export {
37
- w as default
23
+ g as default
38
24
  };
39
25
  //# sourceMappingURL=validated-animation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validated-animation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/validated-animation.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport validatedLottieJSON from '../../../../../assets/lotties/teacher-validation.json';\nimport FlexView from '../../../../ui/layout/flex-view';\n\ninterface IValidatedAnimationProps {\n validated: boolean;\n}\n\nconst ValidatedAnimation: FC<IValidatedAnimationProps> = memo(({ validated }) => {\n const [validatedOnMount] = useState(validated);\n const animationContainerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!validatedOnMount && validated && animationContainerRef.current) {\n const animation = Lottie.loadAnimation({\n name: 'validated',\n container: animationContainerRef.current as Element,\n renderer: 'svg',\n loop: false,\n autoplay: true,\n animationData: validatedLottieJSON,\n });\n\n return () => {\n animation.destroy();\n };\n }\n }, [validated, validatedOnMount]);\n\n if (validatedOnMount) {\n return (\n <FlexView $width={40} $height={40} $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView\n $borderRadius={10}\n $background=\"REAL_BLACK\"\n $width={20}\n $height={20}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Check2Icon color=\"WHITE\" width={16} height={16} />\n </FlexView>\n </FlexView>\n );\n }\n\n return <div ref={animationContainerRef} />;\n});\n\nexport default ValidatedAnimation;\n"],"names":["ValidatedAnimation","memo","validated","validatedOnMount","useState","animationContainerRef","useRef","useEffect","animation","Lottie","validatedLottieJSON","jsx","FlexView","Check2Icon"],"mappings":";;;;;;AAaA,MAAMA,IAAmDC,EAAK,CAAC,EAAE,WAAAC,QAAgB;AAC/E,QAAM,CAACC,CAAgB,IAAIC,EAASF,CAAS,GACvCG,IAAwBC,EAAuB,IAAI;AAmBzD,SAjBAC,EAAU,MAAM;AACd,QAAI,CAACJ,KAAoBD,KAAaG,EAAsB,SAAS;AAC7D,YAAAG,IAAYC,EAAO,cAAc;AAAA,QACrC,MAAM;AAAA,QACN,WAAWJ,EAAsB;AAAA,QACjC,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,eAAeK;AAAA,MAAA,CAChB;AAED,aAAO,MAAM;AACX,QAAAF,EAAU,QAAQ;AAAA,MAAA;AAAA,IAEtB;AAAA,EAAA,GACC,CAACN,GAAWC,CAAgB,CAAC,GAE5BA,IAEA,gBAAAQ,EAACC,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAAS,iBAAgB,UACtE,UAAA,gBAAAD;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAe;AAAA,MACf,aAAY;AAAA,MACZ,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEhB,4BAACC,GAAW,EAAA,OAAM,SAAQ,OAAO,IAAI,QAAQ,IAAI;AAAA,IAAA;AAAA,EAErD,EAAA,CAAA,IAIG,gBAAAF,EAAC,OAAI,EAAA,KAAKN,EAAuB,CAAA;AAC1C,CAAC;"}
1
+ {"version":3,"file":"validated-animation.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/header/validated-animation.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { memo, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\n\ninterface IValidatedAnimationProps {\n validated: boolean;\n}\n\nconst animationSettings = { name: 'validated', loop: false };\n\nconst ValidatedAnimation: FC<IValidatedAnimationProps> = memo(({ validated }) => {\n const [validatedOnMount] = useState(validated);\n\n if (validatedOnMount) {\n return (\n <FlexView $width={40} $height={40} $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView\n $borderRadius={10}\n $background=\"REAL_BLACK\"\n $width={20}\n $height={20}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Check2Icon color=\"WHITE\" width={16} height={16} />\n </FlexView>\n </FlexView>\n );\n }\n\n if (!validatedOnMount && validated) {\n return <LottieAnimation src={LOTTIE.TEACHER_VALIDATION} settings={animationSettings} />;\n }\n\n return null;\n});\n\nexport default ValidatedAnimation;\n"],"names":["animationSettings","ValidatedAnimation","memo","validated","validatedOnMount","useState","jsx","FlexView","Check2Icon","LottieAnimation","LOTTIE"],"mappings":";;;;;;AAaA,MAAMA,IAAoB,EAAE,MAAM,aAAa,MAAM,GAAM,GAErDC,IAAmDC,EAAK,CAAC,EAAE,WAAAC,QAAgB;AAC/E,QAAM,CAACC,CAAgB,IAAIC,EAASF,CAAS;AAE7C,SAAIC,IAEA,gBAAAE,EAACC,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAAS,iBAAgB,UACtE,UAAA,gBAAAD;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAe;AAAA,MACf,aAAY;AAAA,MACZ,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEhB,4BAACC,GAAW,EAAA,OAAM,SAAQ,OAAO,IAAI,QAAQ,IAAI;AAAA,IAAA;AAAA,EAErD,EAAA,CAAA,IAIA,CAACJ,KAAoBD,sBACfM,GAAgB,EAAA,KAAKC,EAAO,oBAAoB,UAAUV,EAAmB,CAAA,IAGhF;AACT,CAAC;"}
package/dist/index.d.ts CHANGED
@@ -3280,6 +3280,64 @@ export declare const Lock2Icon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
3280
3280
 
3281
3281
  export declare const LockIcon: React.FC<React.SVGProps<SVGSVGElement>>;
3282
3282
 
3283
+ export declare const LOTTIE: {
3284
+ ACCURACY_METER: string;
3285
+ ACCURACY_NEEDLE: string;
3286
+ BEGINNER1X: string;
3287
+ BRONZE_1: string;
3288
+ BRONZE_2: string;
3289
+ BRONZE_3: string;
3290
+ CIRCULAR_LOADER: string;
3291
+ CLOCK_30MIN: string;
3292
+ CLOCK_45MIN: string;
3293
+ CLOCK_60MIN: string;
3294
+ CLOCK_90MIN: string;
3295
+ COLOR_1: string;
3296
+ COLOR_2: string;
3297
+ COLOR_3: string;
3298
+ DIFFICULT: string;
3299
+ EASY: string;
3300
+ EASY_RESCHEDULING_LOTTIE: string;
3301
+ ELITE_CIRCLE: string;
3302
+ ERROR_LOTTIE: string;
3303
+ FAMILIAR1X: string;
3304
+ FIFTEEN_MIN_CLOCK: string;
3305
+ FIVE_MIN_CLOCK: string;
3306
+ GOLD_1: string;
3307
+ GOLD_2: string;
3308
+ GOLD_3: string;
3309
+ LEVELUP_RINGS: string;
3310
+ MEDIUM: string;
3311
+ NUDGE_TAP: string;
3312
+ POINT100: string;
3313
+ POINT10: string;
3314
+ POINT15: string;
3315
+ POINT1: string;
3316
+ POINT20: string;
3317
+ POINT25: string;
3318
+ POINT30: string;
3319
+ POINT35: string;
3320
+ POINT40: string;
3321
+ POINT45: string;
3322
+ POINT50: string;
3323
+ POINT5: string;
3324
+ POINT60: string;
3325
+ PROFICIENT1X: string;
3326
+ SILVER_1: string;
3327
+ SILVER_2: string;
3328
+ SILVER_3: string;
3329
+ SLEEPY_BOI: string;
3330
+ SPINNER_WHITE: string;
3331
+ SPLASH_SCREEN: string;
3332
+ STAY_CONNECTED_LOTTIE: string;
3333
+ TEACHER_VALIDATION: string;
3334
+ TOTAL_STREAK: string;
3335
+ TOTAL_TIME: string;
3336
+ TOTAL_TIME_SPENT: string;
3337
+ TOURNAMENT_RIPPLE: string;
3338
+ TRACK_PROGRESS_LOTTIE: string;
3339
+ };
3340
+
3283
3341
  export declare const LPARChapter: FC<ILPARChapterProps>;
3284
3342
 
3285
3343
  export declare const LPARMilestoneChapter: FC<ILPARMilestoneChapter>;