@cuemath/leap 3.3.12 → 3.3.13-akm-2

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 (27) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/features/circle-games/game-launcher/comps/circular-game-card/circular-game-card-styled.js +47 -0
  4. package/dist/features/circle-games/game-launcher/comps/circular-game-card/circular-game-card-styled.js.map +1 -0
  5. package/dist/features/circle-games/game-launcher/comps/circular-game-card/circular-game-card.js +65 -0
  6. package/dist/features/circle-games/game-launcher/comps/circular-game-card/circular-game-card.js.map +1 -0
  7. package/dist/features/circle-games/game-launcher/comps/circular-game-card/constants.js +7 -0
  8. package/dist/features/circle-games/game-launcher/comps/circular-game-card/constants.js.map +1 -0
  9. package/dist/features/circle-games/game-launcher/comps/game-card-content/constants.js +6 -0
  10. package/dist/features/circle-games/game-launcher/comps/game-card-content/constants.js.map +1 -0
  11. package/dist/features/circle-games/game-launcher/comps/game-card-content/game-card-content-styled.js +62 -0
  12. package/dist/features/circle-games/game-launcher/comps/game-card-content/game-card-content-styled.js.map +1 -0
  13. package/dist/features/circle-games/game-launcher/comps/game-card-content/game-card-content.js +13 -0
  14. package/dist/features/circle-games/game-launcher/comps/game-card-content/game-card-content.js.map +1 -0
  15. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/helper.js +12 -5
  16. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/helper.js.map +1 -1
  17. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/mock-data.js +159 -0
  18. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/mock-data.js.map +1 -0
  19. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +25 -27
  20. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  21. package/dist/features/circle-games/game-launcher/game-launcher-v2.js +145 -0
  22. package/dist/features/circle-games/game-launcher/game-launcher-v2.js.map +1 -0
  23. package/dist/index.d.ts +11 -0
  24. package/dist/index.js +255 -253
  25. package/dist/index.js.map +1 -1
  26. package/dist/static/cram-cram.db665b47.svg +1 -0
  27. package/package.json +1 -1
@@ -1,37 +1,35 @@
1
- import { useMemo as D, useState as p, useCallback as s, useEffect as u } from "react";
2
- import { useGetCircleHomeAPI as y, invalidateCircleHomeAPI as P } from "../../api/get-content-for-today/get-circle-home-api.js";
3
- import { transformCircleHomeData as n } from "./helper.js";
4
- const F = (e, a, l) => {
5
- const t = D(
1
+ import { useMemo as u, useState as C, useCallback as r, useEffect as D } from "react";
2
+ import { useGetCircleHomeAPI as H } from "../../api/get-content-for-today/get-circle-home-api.js";
3
+ import { transformCircleHomeDataV2 as p } from "./helper.js";
4
+ import { mockCircleHomeDataV2 as d } from "./mock-data.js";
5
+ const G = (e, o, i) => {
6
+ const t = u(
6
7
  () => ({
7
8
  user_id: e,
8
- grade: a,
9
- country_code: l
9
+ grade: o,
10
+ country_code: i
10
11
  }),
11
- [e, a, l]
12
+ [e, o, i]
12
13
  ), {
13
- data: o = null,
14
- get: c,
15
- isProcessed: i,
16
- ...r
17
- } = y(e, t), [m, f] = p(
18
- n(o)
19
- ), C = s(() => {
20
- c(e, t);
21
- }, [c, t, e]), H = s(() => {
22
- P(e, t);
14
+ data: s = null,
15
+ get: a,
16
+ isProcessed: c,
17
+ ...m
18
+ } = H(e, t), [l, y] = C(
19
+ p(d)
20
+ ), n = r(() => {
21
+ }, [a, t, e]), f = r(() => {
23
22
  }, [t, e]);
24
- return u(() => {
25
- i && o && f(n(o));
26
- }, [o, i]), {
27
- data: m,
28
- isProcessed: i,
29
- getCircleHomeDetails: C,
30
- invalidateCircleHomeDetails: H,
31
- ...r
23
+ return D(() => {
24
+ }, [s, c]), {
25
+ data: l,
26
+ isProcessed: !0,
27
+ getCircleHomeDetails: n,
28
+ invalidateCircleHomeDetails: f,
29
+ ...m
32
30
  };
33
31
  };
34
32
  export {
35
- F as useGetCircleHomeDetailsDal
33
+ G as useGetCircleHomeDetailsDal
36
34
  };
37
35
  //# sourceMappingURL=use-get-circle-home-details-dal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-circle-home-details-dal.js","sources":["../../../../../../src/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.ts"],"sourcesContent":["import type { ICircleHomeDetails } from './use-get-circle-home-dal-types';\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport {\n invalidateCircleHomeAPI,\n useGetCircleHomeAPI,\n} from '../../api/get-content-for-today/get-circle-home-api';\nimport { transformCircleHomeData } from './helper';\n\nexport const useGetCircleHomeDetailsDal = (\n userId: string,\n grade: string,\n countryCode: string,\n): Omit<ReturnType<typeof useGetCircleHomeAPI>, 'data' | 'get'> & {\n data: ICircleHomeDetails | null;\n getCircleHomeDetails: () => void;\n invalidateCircleHomeDetails: () => void;\n} => {\n const initialQuery = useMemo(\n () => ({\n user_id: userId,\n grade,\n country_code: countryCode,\n }),\n [userId, grade, countryCode],\n );\n\n const {\n data = null,\n get: getHomeDetails,\n isProcessed,\n ...rest\n } = useGetCircleHomeAPI(userId, initialQuery);\n const [contentForToday, setContentForToday] = useState<ICircleHomeDetails | null>(\n transformCircleHomeData(data),\n );\n\n const getCircleHomeDetails = useCallback(() => {\n getHomeDetails(userId, initialQuery);\n }, [getHomeDetails, initialQuery, userId]);\n\n const invalidateCircleHomeDetails = useCallback(() => {\n invalidateCircleHomeAPI(userId, initialQuery);\n }, [initialQuery, userId]);\n\n useEffect(() => {\n if (isProcessed && data) {\n setContentForToday(transformCircleHomeData(data));\n }\n }, [data, isProcessed]);\n\n return {\n data: contentForToday,\n isProcessed,\n getCircleHomeDetails,\n invalidateCircleHomeDetails,\n ...rest,\n };\n};\n"],"names":["useGetCircleHomeDetailsDal","userId","grade","countryCode","initialQuery","useMemo","data","getHomeDetails","isProcessed","rest","useGetCircleHomeAPI","contentForToday","setContentForToday","useState","transformCircleHomeData","getCircleHomeDetails","useCallback","invalidateCircleHomeDetails","invalidateCircleHomeAPI","useEffect"],"mappings":";;;AAUO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MAKG;AACH,QAAMC,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,SAASJ;AAAA,MACT,OAAAC;AAAA,MACA,cAAcC;AAAA,IAAA;AAAA,IAEhB,CAACF,GAAQC,GAAOC,CAAW;AAAA,EAAA,GAGvB;AAAA,IACJ,MAAAG,IAAO;AAAA,IACP,KAAKC;AAAA,IACL,aAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDC,EAAoBT,GAAQG,CAAY,GACtC,CAACO,GAAiBC,CAAkB,IAAIC;AAAA,IAC5CC,EAAwBR,CAAI;AAAA,EAAA,GAGxBS,IAAuBC,EAAY,MAAM;AAC7C,IAAAT,EAAeN,GAAQG,CAAY;AAAA,EAClC,GAAA,CAACG,GAAgBH,GAAcH,CAAM,CAAC,GAEnCgB,IAA8BD,EAAY,MAAM;AACpD,IAAAE,EAAwBjB,GAAQG,CAAY;AAAA,EAAA,GAC3C,CAACA,GAAcH,CAAM,CAAC;AAEzB,SAAAkB,EAAU,MAAM;AACd,IAAIX,KAAeF,KACEM,EAAAE,EAAwBR,CAAI,CAAC;AAAA,EAClD,GACC,CAACA,GAAME,CAAW,CAAC,GAEf;AAAA,IACL,MAAMG;AAAA,IACN,aAAAH;AAAA,IACA,sBAAAO;AAAA,IACA,6BAAAE;AAAA,IACA,GAAGR;AAAA,EAAA;AAEP;"}
1
+ {"version":3,"file":"use-get-circle-home-details-dal.js","sources":["../../../../../../src/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.ts"],"sourcesContent":["import type { IGetCircleHomeResponseModel } from '../../api/get-content-for-today/get-circle-home-api-types';\nimport type { ICircleHomeDetails } from './use-get-circle-home-dal-types';\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport {\n invalidateCircleHomeAPI,\n useGetCircleHomeAPI,\n} from '../../api/get-content-for-today/get-circle-home-api';\nimport { transformCircleHomeDataV2 } from './helper';\nimport { mockCircleHomeDataV2 } from './mock-data';\n\nconst USE_MOCK_DATA = true;\n\nexport const useGetCircleHomeDetailsDal = (\n userId: string,\n grade: string,\n countryCode: string,\n): Omit<ReturnType<typeof useGetCircleHomeAPI>, 'data' | 'get'> & {\n data: ICircleHomeDetails | null;\n getCircleHomeDetails: () => void;\n invalidateCircleHomeDetails: () => void;\n} => {\n const initialQuery = useMemo(\n () => ({\n user_id: userId,\n grade,\n country_code: countryCode,\n }),\n [userId, grade, countryCode],\n );\n\n const {\n data = null,\n get: getHomeDetails,\n isProcessed,\n ...rest\n } = useGetCircleHomeAPI(userId, initialQuery);\n\n const [contentForToday, setContentForToday] = useState<ICircleHomeDetails | null>(\n USE_MOCK_DATA\n ? transformCircleHomeDataV2(mockCircleHomeDataV2 as IGetCircleHomeResponseModel)\n : null,\n );\n\n const getCircleHomeDetails = useCallback(() => {\n if (!USE_MOCK_DATA) {\n getHomeDetails(userId, initialQuery);\n }\n }, [getHomeDetails, initialQuery, userId]);\n\n const invalidateCircleHomeDetails = useCallback(() => {\n if (!USE_MOCK_DATA) {\n invalidateCircleHomeAPI(userId, initialQuery);\n }\n }, [initialQuery, userId]);\n\n useEffect(() => {\n if (!USE_MOCK_DATA && isProcessed && data) {\n setContentForToday(transformCircleHomeDataV2(data));\n }\n }, [data, isProcessed]);\n\n return {\n data: contentForToday,\n isProcessed: USE_MOCK_DATA ? true : isProcessed,\n getCircleHomeDetails,\n invalidateCircleHomeDetails,\n ...rest,\n };\n};\n"],"names":["useGetCircleHomeDetailsDal","userId","grade","countryCode","initialQuery","useMemo","data","getHomeDetails","isProcessed","rest","useGetCircleHomeAPI","contentForToday","setContentForToday","useState","transformCircleHomeDataV2","mockCircleHomeDataV2","getCircleHomeDetails","useCallback","invalidateCircleHomeDetails","useEffect"],"mappings":";;;;AAcO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MAKG;AACH,QAAMC,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,SAASJ;AAAA,MACT,OAAAC;AAAA,MACA,cAAcC;AAAA,IAAA;AAAA,IAEhB,CAACF,GAAQC,GAAOC,CAAW;AAAA,EAAA,GAGvB;AAAA,IACJ,MAAAG,IAAO;AAAA,IACP,KAAKC;AAAA,IACL,aAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDC,EAAoBT,GAAQG,CAAY,GAEtC,CAACO,GAAiBC,CAAkB,IAAIC;AAAA,IAExCC,EAA0BC,CAAmD;AAAA,EAC7E,GAGAC,IAAuBC,EAAY,MAAM;AAAA,EAI5C,GAAA,CAACV,GAAgBH,GAAcH,CAAM,CAAC,GAEnCiB,IAA8BD,EAAY,MAAM;AAAA,EAGpD,GACC,CAACb,GAAcH,CAAM,CAAC;AAEzB,SAAAkB,EAAU,MAAM;AAAA,EAGd,GACC,CAACb,GAAME,CAAW,CAAC,GAEf;AAAA,IACL,MAAMG;AAAA,IACN,aAA6B;AAAA,IAC7B,sBAAAK;AAAA,IACA,6BAAAE;AAAA,IACA,GAAGT;AAAA,EAAA;AAEP;"}
@@ -0,0 +1,145 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { memo as T, useRef as G, useCallback as m, useMemo as C } from "react";
3
+ import { LOTTIE as N } from "../../../assets/lottie/lottie.js";
4
+ import { CircularLoader as S } from "../../ui/loader/circular-loader/circular-loader.js";
5
+ import R from "../../ui/lottie-animation/lottie-animation.js";
6
+ import { useCircleSounds as M } from "../hooks/use-circle-sounds/use-circle-sounds.js";
7
+ import { CircleSoundKey as n } from "../hooks/use-circle-sounds/use-circle-sounds-enums.js";
8
+ import { GAME_LAUNCHER_SIZE as v } from "./comps/card-container/constants.js";
9
+ import { Carousel as A } from "./comps/carousel/carousel.js";
10
+ import { CircularGameCard as c } from "./comps/circular-game-card/circular-game-card.js";
11
+ import { GAME_LAUNCHER_ASSET_PADDING as D } from "./comps/segmented-game-card/constants.js";
12
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as _ } from "./game-launcher-analytics-events.js";
13
+ import { ProjectType as p } from "../games/web-view/enums/project-type-enum.js";
14
+ const d = v + D, g = T(
15
+ ({ onSegmentClick: t, data: o, isLoading: y, defaultIndex: b = 0 }) => {
16
+ const h = G(null), { playSwipeSound: f, play: a } = M(), u = m(
17
+ (s) => {
18
+ s.status !== "completed" && (a(n.GAME_CARD_CLICK), t(s, p.LESSON));
19
+ },
20
+ [t, a]
21
+ ), L = m(
22
+ (s) => {
23
+ a(n.GAME_CARD_CLICK), t(s, p.GAME);
24
+ },
25
+ [t, a]
26
+ ), E = m(
27
+ (s) => {
28
+ a(n.GAME_CARD_CLICK), t(s, p.PUZZLE);
29
+ },
30
+ [t, a]
31
+ ), I = C(() => {
32
+ const s = [];
33
+ if (o) {
34
+ if (o.games) {
35
+ const l = o.games.label;
36
+ o.games.data.forEach((e, i) => {
37
+ s.push(
38
+ /* @__PURE__ */ r(
39
+ c,
40
+ {
41
+ data: {
42
+ card: e.cardLottie,
43
+ name: e.name,
44
+ isCompleted: !1,
45
+ // or derive from game data if available
46
+ onPress: () => L(e)
47
+ },
48
+ label: l,
49
+ value: 0
50
+ },
51
+ `game-${i}`
52
+ )
53
+ );
54
+ });
55
+ }
56
+ if (o.lessons) {
57
+ const l = o.lessons.label;
58
+ o.lessons.data.forEach((e, i) => {
59
+ s.push(
60
+ /* @__PURE__ */ r(
61
+ c,
62
+ {
63
+ data: {
64
+ card: e.cardLottie,
65
+ name: e.name,
66
+ isCompleted: e.status === "completed",
67
+ onPress: () => u(e)
68
+ },
69
+ label: l,
70
+ value: 0
71
+ },
72
+ `lesson-${i}`
73
+ )
74
+ );
75
+ });
76
+ }
77
+ if (o.puzzles) {
78
+ const l = o.puzzles.label;
79
+ o.puzzles.data.forEach((e, i) => {
80
+ s.push(
81
+ /* @__PURE__ */ r(
82
+ c,
83
+ {
84
+ data: {
85
+ card: e.cardLottie,
86
+ name: e.name,
87
+ isCompleted: e.solved,
88
+ onPress: () => E(e)
89
+ },
90
+ label: l,
91
+ value: 0
92
+ },
93
+ `puzzle-${i}`
94
+ )
95
+ );
96
+ });
97
+ }
98
+ }
99
+ return s;
100
+ }, [o, L, u, E]), P = C(
101
+ () => [
102
+ /* @__PURE__ */ r(
103
+ R,
104
+ {
105
+ src: N.SLEEPY_BOI,
106
+ width: d,
107
+ height: d
108
+ }
109
+ )
110
+ ],
111
+ []
112
+ );
113
+ return y ? /* @__PURE__ */ r(S, {}) : o ? /* @__PURE__ */ r(
114
+ A,
115
+ {
116
+ ref: h,
117
+ items: I,
118
+ defaultIndex: b,
119
+ onNext: f,
120
+ onPrev: f,
121
+ analyticsNext: {
122
+ analyticsLabel: _.NEXT_ACTIVITY
123
+ },
124
+ analyticsPrev: {
125
+ analyticsLabel: _.PREV_ACTIVITY
126
+ }
127
+ }
128
+ ) : /* @__PURE__ */ r(
129
+ A,
130
+ {
131
+ items: P,
132
+ analyticsNext: {
133
+ analyticsLabel: ""
134
+ },
135
+ analyticsPrev: {
136
+ analyticsLabel: ""
137
+ }
138
+ }
139
+ );
140
+ }
141
+ );
142
+ export {
143
+ g as GameLauncherV2
144
+ };
145
+ //# sourceMappingURL=game-launcher-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-launcher-v2.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher-v2.tsx"],"sourcesContent":["import type { ICarouselRefs } from './comps/carousel/carousel-types';\nimport type {\n Game,\n Lesson,\n Puzzle,\n} from './dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IGameLauncherProps } from './game-launcher-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { memo, useCallback, useMemo, useRef } 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 { CircleSoundKey } from '../hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { GAME_LAUNCHER_SIZE } from './comps/card-container/constants';\nimport { Carousel } from './comps/carousel/carousel';\nimport { CircularGameCard } from './comps/circular-game-card/circular-game-card';\nimport { GAME_LAUNCHER_ASSET_PADDING } from './comps/segmented-game-card/constants';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from './game-launcher-analytics-events';\n\nconst sleepyBoiDimension = GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING;\n\nexport const GameLauncherV2: FC<IGameLauncherProps> = memo(\n ({ onSegmentClick, data, isLoading, defaultIndex = 0 }) => {\n const carouselRefs = useRef<ICarouselRefs>(null) as React.RefObject<ICarouselRefs>;\n\n const { playSwipeSound, play } = useCircleSounds();\n\n const handleLessonSegmentClick = useCallback(\n (lesson: Lesson) => {\n if (lesson.status !== 'completed') {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(lesson, ProjectType.LESSON);\n }\n },\n [onSegmentClick, play],\n );\n\n const handleGameSegmentClick = useCallback(\n (game: Game) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(game, ProjectType.GAME);\n },\n [onSegmentClick, play],\n );\n\n const handlePuzzleSegmentClick = useCallback(\n (puzzle: Puzzle) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(puzzle, ProjectType.PUZZLE);\n },\n [onSegmentClick, play],\n );\n\n const items = useMemo(() => {\n const itemTypes: ReactNode[] = [];\n\n if (data) {\n if (data.games) {\n const sectionLabel = data.games.label;\n\n data.games.data.forEach((game, index) => {\n itemTypes.push(\n <CircularGameCard\n key={`game-${index}`}\n data={{\n card: game.cardLottie,\n name: game.name,\n isCompleted: false, // or derive from game data if available\n onPress: () => handleGameSegmentClick(game),\n }}\n label={sectionLabel}\n value={0}\n />,\n );\n });\n }\n\n if (data.lessons) {\n const sectionLabel = data.lessons.label;\n\n data.lessons.data.forEach((lesson, index) => {\n itemTypes.push(\n <CircularGameCard\n key={`lesson-${index}`}\n data={{\n card: lesson.cardLottie,\n name: lesson.name,\n isCompleted: lesson.status === 'completed',\n onPress: () => handleLessonSegmentClick(lesson),\n }}\n label={sectionLabel}\n value={0}\n />,\n );\n });\n }\n\n if (data.puzzles) {\n const sectionLabel = data.puzzles.label;\n\n data.puzzles.data.forEach((puzzle, index) => {\n itemTypes.push(\n <CircularGameCard\n key={`puzzle-${index}`}\n data={{\n card: puzzle.cardLottie,\n name: puzzle.name,\n isCompleted: puzzle.solved,\n onPress: () => handlePuzzleSegmentClick(puzzle),\n }}\n label={sectionLabel}\n value={0}\n />,\n );\n });\n }\n }\n\n return itemTypes;\n }, [data, handleGameSegmentClick, handleLessonSegmentClick, handlePuzzleSegmentClick]);\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 only when isLoading has become false and data is available\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (!data) {\n return (\n <Carousel\n items={sleepyBoiItem}\n analyticsNext={{\n analyticsLabel: '',\n }}\n analyticsPrev={{\n analyticsLabel: '',\n }}\n />\n );\n }\n\n return (\n <Carousel\n ref={carouselRefs}\n items={items}\n defaultIndex={defaultIndex}\n onNext={playSwipeSound}\n onPrev={playSwipeSound}\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","GameLauncherV2","memo","onSegmentClick","data","isLoading","defaultIndex","carouselRefs","useRef","playSwipeSound","play","useCircleSounds","handleLessonSegmentClick","useCallback","lesson","CircleSoundKey","ProjectType","handleGameSegmentClick","game","handlePuzzleSegmentClick","puzzle","items","useMemo","itemTypes","sectionLabel","index","jsx","CircularGameCard","sleepyBoiItem","LottieAnimation","LOTTIE","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -127,6 +127,7 @@ declare interface BaseProject {
127
127
  cardLottie: string;
128
128
  tutorial: string;
129
129
  variant: string;
130
+ displayNameImage: string;
130
131
  }
131
132
 
132
133
  export declare const Bin2Icon: React.FC<React.SVGProps<SVGSVGElement>>;
@@ -595,6 +596,8 @@ export declare const GameIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
595
596
 
596
597
  export declare const GameLauncher: FC<IGameLauncherProps>;
597
598
 
599
+ export declare const GameLauncherV2: FC<IGameLauncherProps>;
600
+
598
601
  declare enum GENDER {
599
602
  MALE = "MALE",
600
603
  FEMALE = "FEMALE",
@@ -889,6 +892,7 @@ declare interface IBaseProject {
889
892
  card: string;
890
893
  variant: string;
891
894
  tutorial: string;
895
+ display_name_image?: string;
892
896
  }
893
897
 
894
898
  declare interface IBaseSelectInputProps<IDType extends string | number> extends Omit<IBaseInputProps, 'inputElement' | 'size'> {
@@ -1222,6 +1226,9 @@ export declare interface ICircleHomeDetails {
1222
1226
  streakReduction: number;
1223
1227
  streakDaysBeforeReduction: number;
1224
1228
  tournamentRank: number;
1229
+ progress: number;
1230
+ dailyPoints: number;
1231
+ dailyTarget: number;
1225
1232
  projects: IProjects;
1226
1233
  timestamps: ITodaysContentTimeStamps;
1227
1234
  }
@@ -1620,6 +1627,9 @@ declare interface IGetCircleHomeResponseModel {
1620
1627
  streak_days_before_reduction: number;
1621
1628
  streak_status: 'pending' | 'completed';
1622
1629
  projects: IProjects_2;
1630
+ progress: number;
1631
+ daily_points: number;
1632
+ daily_target: number;
1623
1633
  timestamps: ITimeStampsResponseModel;
1624
1634
  coachmark_completion: ICoachMarkCompletion;
1625
1635
  }
@@ -2181,6 +2191,7 @@ export declare const ILLUSTRATIONS: {
2181
2191
  CLOCK_ORANGE: string;
2182
2192
  COMMUNITY_BULB: string;
2183
2193
  COMMUNITY_BULB_YELLOW_2: string;
2194
+ CRAM_CRAM: string;
2184
2195
  CROSSHAIR_CIRCLE: string;
2185
2196
  CROWN: string;
2186
2197
  CROWN_OVERLAY: string;