@cuemath/leap 2.8.25 → 2.8.26
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.
- package/dist/assets/lottie/lottie.js +61 -0
- package/dist/assets/lottie/lottie.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +81 -79
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +61 -65
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js +35 -53
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
- package/dist/features/circle-games/leaderboard/leaderboard.js +56 -55
- package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +40 -41
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +4 -8
- package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +6 -23
- package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +40 -35
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +8 -23
- 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
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +37 -43
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy.js +38 -34
- package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js +43 -39
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/features/post-game-stats/points/points.js +43 -44
- package/dist/features/post-game-stats/points/points.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak.js +30 -28
- package/dist/features/post-game-stats/streak/streak.js.map +1 -1
- package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +56 -54
- package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
- package/dist/features/trial-session/comps/parent-app/parent-app.js +25 -20
- package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js +4 -4
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
- package/dist/features/trial-session/comps/session-insights/session-insights.js +40 -39
- package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js +95 -79
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/ui/loader/circular-loader/circular-loader.js +16 -20
- package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
- package/dist/features/ui/lottie-animation/helper.js +13 -0
- package/dist/features/ui/lottie-animation/helper.js.map +1 -0
- package/dist/features/ui/lottie-animation/lottie-animation.js +37 -0
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -0
- package/dist/features/ui/nudge/nudge-styled.js +4 -8
- package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
- package/dist/features/ui/nudge/nudge.js +13 -30
- package/dist/features/ui/nudge/nudge.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +22 -20
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +25 -48
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +12 -26
- package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
- package/dist/index.d.ts +58 -0
- package/dist/index.js +466 -464
- package/dist/index.js.map +1 -1
- package/dist/static/accuracy-meter.99585cba.json +4218 -0
- package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
- package/dist/static/beginner1x.489908a7.json +3508 -0
- package/dist/static/bronze-1.da4e4b5f.json +4176 -0
- package/dist/static/bronze-2.97f9c639.json +4433 -0
- package/dist/static/bronze-3.6a433ebd.json +4786 -0
- package/dist/static/circular-loader.a5a1a0a6.json +238 -0
- package/dist/static/clock-30min.eae818b8.json +1197 -0
- package/dist/static/clock-45min.df8adf51.json +1197 -0
- package/dist/static/clock-60min.2b48d875.json +1197 -0
- package/dist/static/clock-90min.3e557ed7.json +1407 -0
- package/dist/static/color-1.45101b9a.json +4545 -0
- package/dist/static/color-2.ccdc7d0a.json +4828 -0
- package/dist/static/color-3.5e8e1422.json +5273 -0
- package/dist/static/difficult.6846c064.json +2755 -0
- package/dist/static/easy-rescheduling-lottie.28026af9.json +9301 -0
- package/dist/static/easy.68242ddd.json +2658 -0
- package/dist/static/elite-circle.3df58972.json +6876 -0
- package/dist/static/error-lottie.b3507a4b.json +5255 -0
- package/dist/static/familiar1x.7c9c7f15.json +3046 -0
- package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
- package/dist/static/five-min-clock.6be5cc41.json +721 -0
- package/dist/static/gold-1.ab2489fe.json +4176 -0
- package/dist/static/gold-2.34045826.json +4441 -0
- package/dist/static/gold-3.d704698b.json +4810 -0
- package/dist/static/levelup-rings.b1055283.json +549 -0
- package/dist/static/medium.94c3829b.json +2289 -0
- package/dist/static/nudge-tap.5cb30093.json +1057 -0
- package/dist/static/point1.b53831de.json +2942 -0
- package/dist/static/point10.7b5e536d.json +3179 -0
- package/dist/static/point100.1df16f82.json +3196 -0
- package/dist/static/point15.fea00c32.json +3179 -0
- package/dist/static/point20.c88d776d.json +3178 -0
- package/dist/static/point25.a18c346a.json +3178 -0
- package/dist/static/point30.c5224b0b.json +3202 -0
- package/dist/static/point35.fad343dd.json +3058 -0
- package/dist/static/point40.10a16f72.json +3082 -0
- package/dist/static/point45.2ad7561f.json +3082 -0
- package/dist/static/point5.da40ed1f.json +2948 -0
- package/dist/static/point50.5718cb3d.json +3046 -0
- package/dist/static/point60.17380d9f.json +3076 -0
- package/dist/static/proficient1x.fa6e7b80.json +3430 -0
- package/dist/static/silver-1.0396328a.json +4168 -0
- package/dist/static/silver-2.bf50615f.json +4433 -0
- package/dist/static/silver-3.13d66b84.json +4810 -0
- package/dist/static/sleepy-boi.031a1165.json +1008 -0
- package/dist/static/spinner-white.639e0d87.json +122 -0
- package/dist/static/splash-screen.bbf567ce.json +2411 -0
- package/dist/static/stay-connected-lottie.111439b3.json +3547 -0
- package/dist/static/teacher-validation.7577ecdc.json +245 -0
- package/dist/static/total-streak.d5ce7669.json +842 -0
- package/dist/static/total-time-spent.434005d3.json +200 -0
- package/dist/static/total-time.d979cbb9.json +24383 -0
- package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
- package/dist/static/track-progress-lottie.422108cf.json +2972 -0
- package/package.json +1 -1
- package/dist/assets/lotties/circle/100pts.json.js +0 -7957
- package/dist/assets/lotties/circle/100pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/10pts.json.js +0 -7753
- package/dist/assets/lotties/circle/10pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/15pts.json.js +0 -7879
- package/dist/assets/lotties/circle/15pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/1pts.json.js +0 -7257
- package/dist/assets/lotties/circle/1pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/20pts.json.js +0 -7845
- package/dist/assets/lotties/circle/20pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/25pts.json.js +0 -7971
- package/dist/assets/lotties/circle/25pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/30pts.json.js +0 -7941
- package/dist/assets/lotties/circle/30pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/35pts.json.js +0 -7881
- package/dist/assets/lotties/circle/35pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/40pts.json.js +0 -7725
- package/dist/assets/lotties/circle/40pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/45pts.json.js +0 -7851
- package/dist/assets/lotties/circle/45pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/50pts.json.js +0 -7707
- package/dist/assets/lotties/circle/50pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/5pts.json.js +0 -7420
- package/dist/assets/lotties/circle/5pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/60pts.json.js +0 -7701
- package/dist/assets/lotties/circle/60pts.json.js.map +0 -1
- package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +0 -6811
- package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +0 -1503
- package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/circular-loader.json.js +0 -635
- package/dist/assets/lotties/circle/circular-loader.json.js.map +0 -1
- package/dist/assets/lotties/circle/elite-circle-lottie.json.js +0 -12079
- package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +0 -1412
- package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +0 -2632
- package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/spinner-white.json.js +0 -316
- package/dist/assets/lotties/circle/spinner-white.json.js.map +0 -1
- package/dist/assets/lotties/circle/splash-screen.json.js +0 -5864
- package/dist/assets/lotties/circle/splash-screen.json.js.map +0 -1
- package/dist/assets/lotties/circle/total-streak-lottie.json.js +0 -2103
- package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/total-time-lottie.json.js +0 -33016
- package/dist/assets/lotties/circle/total-time-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +0 -260
- package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +0 -1
- package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +0 -1563
- package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +0 -1
- package/dist/assets/lotties/common/nudge-tap.json.js +0 -3597
- package/dist/assets/lotties/common/nudge-tap.json.js.map +0 -1
- package/dist/assets/lotties/error-lottie.json.js +0 -12755
- package/dist/assets/lotties/error-lottie.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/bronze-1.json.js +0 -10871
- package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/bronze-2.json.js +0 -11389
- package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/bronze-3.json.js +0 -12169
- package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/color-1.json.js +0 -12348
- package/dist/assets/lotties/perfect-hits/color-1.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/color-2.json.js +0 -12941
- package/dist/assets/lotties/perfect-hits/color-2.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/color-3.json.js +0 -14034
- package/dist/assets/lotties/perfect-hits/color-3.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/gold-1.json.js +0 -10871
- package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/gold-2.json.js +0 -11389
- package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/gold-3.json.js +0 -12169
- package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/silver-1.json.js +0 -10871
- package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/silver-2.json.js +0 -11389
- package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +0 -1
- package/dist/assets/lotties/perfect-hits/silver-3.json.js +0 -12169
- package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +0 -1
- package/dist/assets/lotties/teacher-validation.json.js +0 -649
- package/dist/assets/lotties/teacher-validation.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/clock_30_min.json.js +0 -2857
- package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/clock_45_min.json.js +0 -2857
- package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/clock_60_min.json.js +0 -2857
- package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/clock_90_min.json.js +0 -3345
- package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/difficult.json.js +0 -6713
- package/dist/assets/lotties/tests-creation/difficult.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/easy.json.js +0 -6525
- package/dist/assets/lotties/tests-creation/easy.json.js.map +0 -1
- package/dist/assets/lotties/tests-creation/medium.json.js +0 -5603
- package/dist/assets/lotties/tests-creation/medium.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/15min-clock.json.js +0 -2037
- package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/5min-clock.json.js +0 -2062
- package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +0 -8517
- package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +0 -7396
- package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +0 -8559
- package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +0 -23284
- package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +0 -9090
- package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +0 -1
- package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +0 -8675
- package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +0 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +0 -13
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +0 -1
- package/dist/features/circle-games/game-launcher/game-launcher-styled.js +0 -10
- package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +0 -1
- package/dist/features/post-game-stats/points/points-styled.js +0 -10
- package/dist/features/post-game-stats/points/points-styled.js.map +0 -1
- package/dist/features/trial-session/comps/render-lottie/index.js +0 -26
- package/dist/features/trial-session/comps/render-lottie/index.js.map +0 -1
- package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +0 -17
- package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +0 -1
@@ -0,0 +1,61 @@
|
|
1
|
+
const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", s = {
|
2
|
+
ACCURACY_METER: `${t}static/accuracy-meter.99585cba.json`,
|
3
|
+
ACCURACY_NEEDLE: `${t}static/accuracy-needle.cd6e63ac.json`,
|
4
|
+
BEGINNER1X: `${t}static/beginner1x.489908a7.json`,
|
5
|
+
BRONZE_1: `${t}static/bronze-1.da4e4b5f.json`,
|
6
|
+
BRONZE_2: `${t}static/bronze-2.97f9c639.json`,
|
7
|
+
BRONZE_3: `${t}static/bronze-3.6a433ebd.json`,
|
8
|
+
CIRCULAR_LOADER: `${t}static/circular-loader.a5a1a0a6.json`,
|
9
|
+
CLOCK_30MIN: `${t}static/clock-30min.eae818b8.json`,
|
10
|
+
CLOCK_45MIN: `${t}static/clock-45min.df8adf51.json`,
|
11
|
+
CLOCK_60MIN: `${t}static/clock-60min.2b48d875.json`,
|
12
|
+
CLOCK_90MIN: `${t}static/clock-90min.3e557ed7.json`,
|
13
|
+
COLOR_1: `${t}static/color-1.45101b9a.json`,
|
14
|
+
COLOR_2: `${t}static/color-2.ccdc7d0a.json`,
|
15
|
+
COLOR_3: `${t}static/color-3.5e8e1422.json`,
|
16
|
+
DIFFICULT: `${t}static/difficult.6846c064.json`,
|
17
|
+
EASY: `${t}static/easy.68242ddd.json`,
|
18
|
+
EASY_RESCHEDULING_LOTTIE: `${t}static/easy-rescheduling-lottie.28026af9.json`,
|
19
|
+
ELITE_CIRCLE: `${t}static/elite-circle.3df58972.json`,
|
20
|
+
ERROR_LOTTIE: `${t}static/error-lottie.b3507a4b.json`,
|
21
|
+
FAMILIAR1X: `${t}static/familiar1x.7c9c7f15.json`,
|
22
|
+
FIFTEEN_MIN_CLOCK: `${t}static/fifteen-min-clock.0af4e303.json`,
|
23
|
+
FIVE_MIN_CLOCK: `${t}static/five-min-clock.6be5cc41.json`,
|
24
|
+
GOLD_1: `${t}static/gold-1.ab2489fe.json`,
|
25
|
+
GOLD_2: `${t}static/gold-2.34045826.json`,
|
26
|
+
GOLD_3: `${t}static/gold-3.d704698b.json`,
|
27
|
+
LEVELUP_RINGS: `${t}static/levelup-rings.b1055283.json`,
|
28
|
+
MEDIUM: `${t}static/medium.94c3829b.json`,
|
29
|
+
NUDGE_TAP: `${t}static/nudge-tap.5cb30093.json`,
|
30
|
+
POINT100: `${t}static/point100.1df16f82.json`,
|
31
|
+
POINT10: `${t}static/point10.7b5e536d.json`,
|
32
|
+
POINT15: `${t}static/point15.fea00c32.json`,
|
33
|
+
POINT1: `${t}static/point1.b53831de.json`,
|
34
|
+
POINT20: `${t}static/point20.c88d776d.json`,
|
35
|
+
POINT25: `${t}static/point25.a18c346a.json`,
|
36
|
+
POINT30: `${t}static/point30.c5224b0b.json`,
|
37
|
+
POINT35: `${t}static/point35.fad343dd.json`,
|
38
|
+
POINT40: `${t}static/point40.10a16f72.json`,
|
39
|
+
POINT45: `${t}static/point45.2ad7561f.json`,
|
40
|
+
POINT50: `${t}static/point50.5718cb3d.json`,
|
41
|
+
POINT5: `${t}static/point5.da40ed1f.json`,
|
42
|
+
POINT60: `${t}static/point60.17380d9f.json`,
|
43
|
+
PROFICIENT1X: `${t}static/proficient1x.fa6e7b80.json`,
|
44
|
+
SILVER_1: `${t}static/silver-1.0396328a.json`,
|
45
|
+
SILVER_2: `${t}static/silver-2.bf50615f.json`,
|
46
|
+
SILVER_3: `${t}static/silver-3.13d66b84.json`,
|
47
|
+
SLEEPY_BOI: `${t}static/sleepy-boi.031a1165.json`,
|
48
|
+
SPINNER_WHITE: `${t}static/spinner-white.639e0d87.json`,
|
49
|
+
SPLASH_SCREEN: `${t}static/splash-screen.bbf567ce.json`,
|
50
|
+
STAY_CONNECTED_LOTTIE: `${t}static/stay-connected-lottie.111439b3.json`,
|
51
|
+
TEACHER_VALIDATION: `${t}static/teacher-validation.7577ecdc.json`,
|
52
|
+
TOTAL_STREAK: `${t}static/total-streak.d5ce7669.json`,
|
53
|
+
TOTAL_TIME: `${t}static/total-time.d979cbb9.json`,
|
54
|
+
TOTAL_TIME_SPENT: `${t}static/total-time-spent.434005d3.json`,
|
55
|
+
TOURNAMENT_RIPPLE: `${t}static/tournament-ripple.e5c239a5.json`,
|
56
|
+
TRACK_PROGRESS_LOTTIE: `${t}static/track-progress-lottie.422108cf.json`
|
57
|
+
};
|
58
|
+
export {
|
59
|
+
s as LOTTIE
|
60
|
+
};
|
61
|
+
//# sourceMappingURL=lottie.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"lottie.js","sources":["../../../src/assets/lottie/lottie.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\nconst LOTTIE = {\n ACCURACY_METER: `${PREFIX}static/accuracy-meter.99585cba.json`,\n ACCURACY_NEEDLE: `${PREFIX}static/accuracy-needle.cd6e63ac.json`,\n BEGINNER1X: `${PREFIX}static/beginner1x.489908a7.json`,\n BRONZE_1: `${PREFIX}static/bronze-1.da4e4b5f.json`,\n BRONZE_2: `${PREFIX}static/bronze-2.97f9c639.json`,\n BRONZE_3: `${PREFIX}static/bronze-3.6a433ebd.json`,\n CIRCULAR_LOADER: `${PREFIX}static/circular-loader.a5a1a0a6.json`,\n CLOCK_30MIN: `${PREFIX}static/clock-30min.eae818b8.json`,\n CLOCK_45MIN: `${PREFIX}static/clock-45min.df8adf51.json`,\n CLOCK_60MIN: `${PREFIX}static/clock-60min.2b48d875.json`,\n CLOCK_90MIN: `${PREFIX}static/clock-90min.3e557ed7.json`,\n COLOR_1: `${PREFIX}static/color-1.45101b9a.json`,\n COLOR_2: `${PREFIX}static/color-2.ccdc7d0a.json`,\n COLOR_3: `${PREFIX}static/color-3.5e8e1422.json`,\n DIFFICULT: `${PREFIX}static/difficult.6846c064.json`,\n EASY: `${PREFIX}static/easy.68242ddd.json`,\n EASY_RESCHEDULING_LOTTIE: `${PREFIX}static/easy-rescheduling-lottie.28026af9.json`,\n ELITE_CIRCLE: `${PREFIX}static/elite-circle.3df58972.json`,\n ERROR_LOTTIE: `${PREFIX}static/error-lottie.b3507a4b.json`,\n FAMILIAR1X: `${PREFIX}static/familiar1x.7c9c7f15.json`,\n FIFTEEN_MIN_CLOCK: `${PREFIX}static/fifteen-min-clock.0af4e303.json`,\n FIVE_MIN_CLOCK: `${PREFIX}static/five-min-clock.6be5cc41.json`,\n GOLD_1: `${PREFIX}static/gold-1.ab2489fe.json`,\n GOLD_2: `${PREFIX}static/gold-2.34045826.json`,\n GOLD_3: `${PREFIX}static/gold-3.d704698b.json`,\n LEVELUP_RINGS: `${PREFIX}static/levelup-rings.b1055283.json`,\n MEDIUM: `${PREFIX}static/medium.94c3829b.json`,\n NUDGE_TAP: `${PREFIX}static/nudge-tap.5cb30093.json`,\n POINT100: `${PREFIX}static/point100.1df16f82.json`,\n POINT10: `${PREFIX}static/point10.7b5e536d.json`,\n POINT15: `${PREFIX}static/point15.fea00c32.json`,\n POINT1: `${PREFIX}static/point1.b53831de.json`,\n POINT20: `${PREFIX}static/point20.c88d776d.json`,\n POINT25: `${PREFIX}static/point25.a18c346a.json`,\n POINT30: `${PREFIX}static/point30.c5224b0b.json`,\n POINT35: `${PREFIX}static/point35.fad343dd.json`,\n POINT40: `${PREFIX}static/point40.10a16f72.json`,\n POINT45: `${PREFIX}static/point45.2ad7561f.json`,\n POINT50: `${PREFIX}static/point50.5718cb3d.json`,\n POINT5: `${PREFIX}static/point5.da40ed1f.json`,\n POINT60: `${PREFIX}static/point60.17380d9f.json`,\n PROFICIENT1X: `${PREFIX}static/proficient1x.fa6e7b80.json`,\n SILVER_1: `${PREFIX}static/silver-1.0396328a.json`,\n SILVER_2: `${PREFIX}static/silver-2.bf50615f.json`,\n SILVER_3: `${PREFIX}static/silver-3.13d66b84.json`,\n SLEEPY_BOI: `${PREFIX}static/sleepy-boi.031a1165.json`,\n SPINNER_WHITE: `${PREFIX}static/spinner-white.639e0d87.json`,\n SPLASH_SCREEN: `${PREFIX}static/splash-screen.bbf567ce.json`,\n STAY_CONNECTED_LOTTIE: `${PREFIX}static/stay-connected-lottie.111439b3.json`,\n TEACHER_VALIDATION: `${PREFIX}static/teacher-validation.7577ecdc.json`,\n TOTAL_STREAK: `${PREFIX}static/total-streak.d5ce7669.json`,\n TOTAL_TIME: `${PREFIX}static/total-time.d979cbb9.json`,\n TOTAL_TIME_SPENT: `${PREFIX}static/total-time-spent.434005d3.json`,\n TOURNAMENT_RIPPLE: `${PREFIX}static/tournament-ripple.e5c239a5.json`,\n TRACK_PROGRESS_LOTTIE: `${PREFIX}static/track-progress-lottie.422108cf.json`,\n};\n\nexport { LOTTIE };\n"],"names":["PREFIX","LOTTIE"],"mappings":"AAAA,MAAMA,IAAS,OAAO,kBAAkB,OAAO,kBAAkB,KAE3DC,IAAS;AAAA,EACb,gBAAgB,GAAGD,CAAM;AAAA,EACzB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,YAAY,GAAGA,CAAM;AAAA,EACrB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,WAAW,GAAGA,CAAM;AAAA,EACpB,MAAM,GAAGA,CAAM;AAAA,EACf,0BAA0B,GAAGA,CAAM;AAAA,EACnC,cAAc,GAAGA,CAAM;AAAA,EACvB,cAAc,GAAGA,CAAM;AAAA,EACvB,YAAY,GAAGA,CAAM;AAAA,EACrB,mBAAmB,GAAGA,CAAM;AAAA,EAC5B,gBAAgB,GAAGA,CAAM;AAAA,EACzB,QAAQ,GAAGA,CAAM;AAAA,EACjB,QAAQ,GAAGA,CAAM;AAAA,EACjB,QAAQ,GAAGA,CAAM;AAAA,EACjB,eAAe,GAAGA,CAAM;AAAA,EACxB,QAAQ,GAAGA,CAAM;AAAA,EACjB,WAAW,GAAGA,CAAM;AAAA,EACpB,UAAU,GAAGA,CAAM;AAAA,EACnB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,QAAQ,GAAGA,CAAM;AAAA,EACjB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,QAAQ,GAAGA,CAAM;AAAA,EACjB,SAAS,GAAGA,CAAM;AAAA,EAClB,cAAc,GAAGA,CAAM;AAAA,EACvB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,YAAY,GAAGA,CAAM;AAAA,EACrB,eAAe,GAAGA,CAAM;AAAA,EACxB,eAAe,GAAGA,CAAM;AAAA,EACxB,uBAAuB,GAAGA,CAAM;AAAA,EAChC,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,cAAc,GAAGA,CAAM;AAAA,EACvB,YAAY,GAAGA,CAAM;AAAA,EACrB,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,mBAAmB,GAAGA,CAAM;AAAA,EAC5B,uBAAuB,GAAGA,CAAM;AAClC;"}
|
package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js
CHANGED
@@ -1,114 +1,116 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import
|
3
|
-
import { memo as
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import { fetchLottie as j } from "
|
7
|
-
import
|
8
|
-
|
9
|
-
|
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,
|
10
11
|
isCompleted: i,
|
11
|
-
card:
|
12
|
-
name:
|
12
|
+
card: m,
|
13
|
+
name: l,
|
13
14
|
onMouseEnter: s
|
14
15
|
}) => {
|
15
|
-
const c =
|
16
|
-
|
17
|
-
let
|
16
|
+
const c = L(null);
|
17
|
+
F(() => {
|
18
|
+
let o = null;
|
18
19
|
return (async () => {
|
19
|
-
const
|
20
|
-
|
20
|
+
const d = await j(m);
|
21
|
+
o = k.loadAnimation({
|
21
22
|
container: c.current,
|
22
23
|
renderer: "canvas",
|
23
24
|
loop: !0,
|
24
25
|
autoplay: !0,
|
25
|
-
animationData:
|
26
|
+
animationData: d
|
26
27
|
});
|
27
|
-
})(), () =>
|
28
|
-
}, [
|
29
|
-
const
|
30
|
-
return /* @__PURE__ */
|
31
|
-
/* @__PURE__ */
|
32
|
-
i && /* @__PURE__ */
|
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 }) }) })
|
33
34
|
] }) });
|
34
|
-
},
|
35
|
-
const
|
36
|
-
|
37
|
-
}, []),
|
38
|
-
|
39
|
-
}, [i]),
|
40
|
-
var
|
41
|
-
(
|
42
|
-
},
|
43
|
-
|
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);
|
44
45
|
}, []);
|
45
|
-
|
46
|
-
labelRef:
|
47
|
-
segmentedCardWrapperRef:
|
48
|
-
startLabelAnimation:
|
49
|
-
}))
|
50
|
-
|
51
|
-
container: d.current,
|
52
|
-
renderer: "canvas",
|
53
|
-
autoplay: !1,
|
54
|
-
loop: !1,
|
55
|
-
animationData: x
|
56
|
-
});
|
46
|
+
w(c, () => ({
|
47
|
+
labelRef: a,
|
48
|
+
segmentedCardWrapperRef: o,
|
49
|
+
startLabelAnimation: $
|
50
|
+
}));
|
51
|
+
const E = I(() => {
|
57
52
|
if (s <= 0)
|
58
53
|
return;
|
59
|
-
const
|
60
|
-
return
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
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
|
+
() => ({
|
58
|
+
renderer: "canvas",
|
59
|
+
autoplay: !0,
|
60
|
+
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,
|
66
68
|
{
|
67
|
-
ref:
|
69
|
+
ref: a,
|
68
70
|
$renderAs: "ac3",
|
69
71
|
$align: "center",
|
70
|
-
$color:
|
71
|
-
isAnimated:
|
72
|
-
children:
|
72
|
+
$color: A ? b : R ? "WHITE_T_87" : "WHITE_T_60",
|
73
|
+
isAnimated: A,
|
74
|
+
children: u
|
73
75
|
}
|
74
76
|
) }),
|
75
|
-
/* @__PURE__ */
|
76
|
-
/* @__PURE__ */
|
77
|
-
/* @__PURE__ */
|
78
|
-
|
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,
|
79
81
|
{
|
80
82
|
segmentType: "left",
|
81
|
-
card:
|
82
|
-
name:
|
83
|
-
isCompleted:
|
84
|
-
onMouseEnter:
|
83
|
+
card: t[0].card,
|
84
|
+
name: t[0].name,
|
85
|
+
isCompleted: t[0].isCompleted,
|
86
|
+
onMouseEnter: g
|
85
87
|
}
|
86
88
|
) }),
|
87
|
-
/* @__PURE__ */
|
88
|
-
|
89
|
+
/* @__PURE__ */ e(J, { onClick: () => h(1), children: /* @__PURE__ */ e(
|
90
|
+
S,
|
89
91
|
{
|
90
92
|
segmentType: "right",
|
91
|
-
card:
|
92
|
-
name:
|
93
|
-
isCompleted:
|
94
|
-
onMouseEnter:
|
93
|
+
card: t[1].card,
|
94
|
+
name: t[1].name,
|
95
|
+
isCompleted: t[1].isCompleted,
|
96
|
+
onMouseEnter: g
|
95
97
|
}
|
96
98
|
) }),
|
97
|
-
/* @__PURE__ */
|
98
|
-
|
99
|
+
/* @__PURE__ */ e(K, { onClick: () => h(2), children: /* @__PURE__ */ e(
|
100
|
+
S,
|
99
101
|
{
|
100
102
|
segmentType: "bottom",
|
101
|
-
card:
|
102
|
-
name:
|
103
|
-
isCompleted:
|
104
|
-
onMouseEnter:
|
103
|
+
card: t[2].card,
|
104
|
+
name: t[2].name,
|
105
|
+
isCompleted: t[2].isCompleted,
|
106
|
+
onMouseEnter: g
|
105
107
|
}
|
106
108
|
) })
|
107
109
|
] })
|
108
110
|
] });
|
109
|
-
},
|
111
|
+
}, ce = v(H(ee));
|
110
112
|
export {
|
111
|
-
|
112
|
-
|
113
|
+
S as SegmentContent,
|
114
|
+
ce as SegmentedGameCard
|
113
115
|
};
|
114
116
|
//# 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 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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"}
|
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":"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"}
|
@@ -1,33 +1,34 @@
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import { CircularLoader as
|
5
|
-
import
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
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";
|
10
11
|
import { useGameLauncherJourney as B } from "./use-game-launcher-journey/use-game-launcher-journey.js";
|
11
|
-
import { ProjectType as
|
12
|
-
const
|
13
|
-
({ onSegmentClick:
|
14
|
-
const [
|
15
|
-
gameRefs:
|
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,
|
16
17
|
lessonRefs: p,
|
17
|
-
puzzleRefs:
|
18
|
-
startJourney:
|
19
|
-
carouselNextBtnRef:
|
18
|
+
puzzleRefs: f,
|
19
|
+
startJourney: c,
|
20
|
+
carouselNextBtnRef: E,
|
20
21
|
isJourneyInProgress: L
|
21
22
|
} = B({
|
22
|
-
setCarouselIndex:
|
23
|
-
onSegmentClick:
|
24
|
-
onJourneyComplete:
|
25
|
-
}),
|
26
|
-
let
|
27
|
-
return e && (e.lessons && (
|
28
|
-
...
|
23
|
+
setCarouselIndex: z,
|
24
|
+
onSegmentClick: l,
|
25
|
+
onJourneyComplete: x
|
26
|
+
}), N = a(() => {
|
27
|
+
let o = [];
|
28
|
+
return e && (e.lessons && (o = [
|
29
|
+
...o,
|
29
30
|
/* @__PURE__ */ r(
|
30
|
-
|
31
|
+
n,
|
31
32
|
{
|
32
33
|
ref: p,
|
33
34
|
label: e.lessons.label,
|
@@ -38,16 +39,16 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
|
|
38
39
|
card: s.cardLottie,
|
39
40
|
name: s.name,
|
40
41
|
isCompleted: s.status === "completed",
|
41
|
-
onPress: () => s.status === "completed" ? void 0 :
|
42
|
+
onPress: () => s.status === "completed" ? void 0 : l(s, m.LESSON)
|
42
43
|
}))
|
43
44
|
}
|
44
45
|
)
|
45
|
-
]),
|
46
|
-
...
|
46
|
+
]), o = [
|
47
|
+
...o,
|
47
48
|
/* @__PURE__ */ r(
|
48
|
-
|
49
|
+
n,
|
49
50
|
{
|
50
|
-
ref:
|
51
|
+
ref: u,
|
51
52
|
label: e.games.label,
|
52
53
|
value: e.games.data.filter((s) => s.isPlayed).length,
|
53
54
|
maxValue: e.games.data.length,
|
@@ -56,14 +57,14 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
|
|
56
57
|
card: s.cardLottie,
|
57
58
|
name: s.name,
|
58
59
|
isCompleted: !1,
|
59
|
-
onPress: () =>
|
60
|
+
onPress: () => l(s, m.GAME)
|
60
61
|
}))
|
61
62
|
}
|
62
63
|
),
|
63
64
|
/* @__PURE__ */ r(
|
64
|
-
|
65
|
+
n,
|
65
66
|
{
|
66
|
-
ref:
|
67
|
+
ref: f,
|
67
68
|
label: e.puzzles.label,
|
68
69
|
value: e.puzzles.data.filter((s) => s.solved).length,
|
69
70
|
maxValue: e.puzzles.data.length,
|
@@ -72,51 +73,46 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
|
|
72
73
|
card: s.cardLottie,
|
73
74
|
name: s.name,
|
74
75
|
isCompleted: s.solved,
|
75
|
-
onPress: () =>
|
76
|
+
onPress: () => l(s, m.PUZZLE)
|
76
77
|
}))
|
77
78
|
}
|
78
79
|
)
|
79
|
-
]),
|
80
|
-
}, [e,
|
81
|
-
() => [
|
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
|
+
],
|
82
92
|
[]
|
83
93
|
);
|
84
|
-
return
|
85
|
-
|
86
|
-
|
87
|
-
|
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,
|
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,
|
102
98
|
{
|
103
|
-
ref:
|
104
|
-
items:
|
105
|
-
defaultIndex:
|
106
|
-
onNext:
|
107
|
-
onPrev:
|
99
|
+
ref: E,
|
100
|
+
items: N,
|
101
|
+
defaultIndex: g,
|
102
|
+
onNext: t,
|
103
|
+
onPrev: t,
|
108
104
|
analyticsNext: {
|
109
|
-
analyticsLabel:
|
105
|
+
analyticsLabel: y.NEXT_ACTIVITY
|
110
106
|
},
|
111
107
|
analyticsPrev: {
|
112
|
-
analyticsLabel:
|
108
|
+
analyticsLabel: y.PREV_ACTIVITY
|
113
109
|
}
|
114
110
|
}
|
115
111
|
) : /* @__PURE__ */ r(
|
116
|
-
|
112
|
+
P,
|
117
113
|
{
|
118
|
-
ref:
|
119
|
-
items:
|
114
|
+
ref: E,
|
115
|
+
items: T,
|
120
116
|
analyticsNext: {
|
121
117
|
analyticsLabel: ""
|
122
118
|
},
|
@@ -128,6 +124,6 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
|
|
128
124
|
}
|
129
125
|
);
|
130
126
|
export {
|
131
|
-
|
127
|
+
K as GameLauncher
|
132
128
|
};
|
133
129
|
//# 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 {
|
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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"}
|