@cuemath/leap 2.8.21-rj-12 → 2.8.21-rj-15

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.
@@ -0,0 +1,5 @@
1
+ var a = /* @__PURE__ */ ((t) => (t.SKILL_ACTIVITY = "skill_activity", t.GAMES_ACTIVITY = "games_activity", t.PUZZLE_ACTIVITY = "puzzle_activity", t.TUTORIAL = "tutorial", t.POINTS = "points", t.STREAK = "streak", t.LEADERBOARD = "leaderboard", t))(a || {});
2
+ export {
3
+ a as CIRCLE_ONBOARDING_ANALYTICS_STEPS
4
+ };
5
+ //# sourceMappingURL=circle-onboarding-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle-onboarding-steps.js","sources":["../../../../src/features/circle-games/enum/circle-onboarding-steps.ts"],"sourcesContent":["export enum CIRCLE_ONBOARDING_ANALYTICS_STEPS {\n SKILL_ACTIVITY = 'skill_activity',\n GAMES_ACTIVITY = 'games_activity',\n PUZZLE_ACTIVITY = 'puzzle_activity',\n TUTORIAL = 'tutorial',\n POINTS = 'points',\n STREAK = 'streak',\n LEADERBOARD = 'leaderboard',\n}\n"],"names":["CIRCLE_ONBOARDING_ANALYTICS_STEPS"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,iBAAiB,kBACjBA,EAAA,iBAAiB,kBACjBA,EAAA,kBAAkB,mBAClBA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,cAAc,eAPJA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,11 +1,11 @@
1
1
  import { PLUGINS as i } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
- var I = /* @__PURE__ */ ((t) => (t.NEXT_ACTIVITY = "next_activity", t.PREV_ACTIVITY = "prev_activity", t))(I || {});
3
- const v = {
2
+ var I = /* @__PURE__ */ ((t) => (t.NEXT_ACTIVITY = "next_activity", t.PREV_ACTIVITY = "prev_activity", t.JOURNEY_NEXT_ACTIVITY = "journey_next_activity", t))(I || {});
3
+ const e = {
4
4
  next_activity: [i.MIXPANEL],
5
5
  prev_activity: [i.MIXPANEL]
6
6
  };
7
7
  export {
8
8
  I as GAME_LAUNCHER_ANALYTICS_EVENTS,
9
- v as GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS
9
+ e as GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS
10
10
  };
11
11
  //# sourceMappingURL=game-launcher-analytics-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-launcher-analytics-events.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum GAME_LAUNCHER_ANALYTICS_EVENTS {\n NEXT_ACTIVITY = 'next_activity',\n PREV_ACTIVITY = 'prev_activity',\n}\n\nexport const GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS = {\n [GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY]: [PLUGINS.MIXPANEL],\n [GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY]: [PLUGINS.MIXPANEL],\n};\n"],"names":["GAME_LAUNCHER_ANALYTICS_EVENTS","GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,gBAAgB,iBAChBA,EAAA,gBAAgB,iBAFNA,IAAAA,KAAA,CAAA,CAAA;AAKL,MAAMC,IAA2C;AAAA,EACrD,eAA+C,CAACC,EAAQ,QAAQ;AAAA,EAChE,eAA+C,CAACA,EAAQ,QAAQ;AACnE;"}
1
+ {"version":3,"file":"game-launcher-analytics-events.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum GAME_LAUNCHER_ANALYTICS_EVENTS {\n NEXT_ACTIVITY = 'next_activity',\n PREV_ACTIVITY = 'prev_activity',\n JOURNEY_NEXT_ACTIVITY = 'journey_next_activity',\n}\n\nexport const GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS = {\n [GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY]: [PLUGINS.MIXPANEL],\n [GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY]: [PLUGINS.MIXPANEL],\n};\n"],"names":["GAME_LAUNCHER_ANALYTICS_EVENTS","GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,gBAAgB,iBAChBA,EAAA,gBAAgB,iBAChBA,EAAA,wBAAwB,yBAHdA,IAAAA,KAAA,CAAA,CAAA;AAML,MAAMC,IAA2C;AAAA,EACrD,eAA+C,CAACC,EAAQ,QAAQ;AAAA,EAChE,eAA+C,CAACA,EAAQ,QAAQ;AACnE;"}
@@ -1,222 +1,213 @@
1
- import { jsx as e, Fragment as O } from "react/jsx-runtime";
2
- import { useRef as T, useCallback as E, useMemo as re } from "react";
3
- import j from "../../../../assets/line-icons/icons/next.js";
4
- import { PLATFORM_EVENTS_STUDENT as C } from "../../../analytics-events/platform-events-student.js";
5
- import { IndicatorType as h } from "../../../journey/use-journey/constants.js";
6
- import { useJourney as ne } from "../../../journey/use-journey/use-journey.js";
1
+ import { jsx as e, Fragment as R } from "react/jsx-runtime";
2
+ import { useRef as u, useCallback as T, useMemo as ne } from "react";
3
+ import Q from "../../../../assets/line-icons/icons/next.js";
4
+ import { PLATFORM_EVENTS_STUDENT as j } from "../../../analytics-events/platform-events-student.js";
5
+ import { IndicatorType as s } from "../../../journey/use-journey/constants.js";
6
+ import { useJourney as ie } from "../../../journey/use-journey/use-journey.js";
7
7
  import z from "../../../ui/buttons/icon-button/icon-button.js";
8
- import { useUIContext as ie } from "../../../ui/context/context.js";
9
- import P from "../../../ui/layout/flex-view.js";
10
- import g from "../../../ui/text/text.js";
11
- import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as c } from "../../enum/CircleOnboardingSteps.js";
12
- import { useCircleSounds as oe } from "../../hooks/use-circle-sounds/use-circle-sounds.js";
13
- import { SegmentedGameCard as le } from "../comps/segmented-game-card/segmented-game-card.js";
14
- import { GO_TO_NEXT_SLIDE_AFTER_MS as ce, SHOW_LABEL_HIGHLIGHT_AFTER_MS as ae, SHOW_NUDGE_AFTER_MS as se } from "./constants.js";
15
- import { ProjectType as de } from "../../games/web-view/enums/project-type-enum.js";
16
- const Ie = ({
8
+ import { useUIContext as oe } from "../../../ui/context/context.js";
9
+ import I from "../../../ui/layout/flex-view.js";
10
+ import d from "../../../ui/text/text.js";
11
+ import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as E } from "../../enum/circle-onboarding-steps.js";
12
+ import { useCircleSounds as le } from "../../hooks/use-circle-sounds/use-circle-sounds.js";
13
+ import { SegmentedGameCard as ce } from "../comps/segmented-game-card/segmented-game-card.js";
14
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as ee } from "../game-launcher-analytics-events.js";
15
+ import { GO_TO_NEXT_SLIDE_AFTER_MS as ae, SHOW_LABEL_HIGHLIGHT_AFTER_MS as se, SHOW_NUDGE_AFTER_MS as de } from "./constants.js";
16
+ import { ProjectType as he } from "../../games/web-view/enums/project-type-enum.js";
17
+ const Se = ({
17
18
  onSegmentClick: L,
18
- setCarouselIndex: b,
19
- onJourneyComplete: I
19
+ setCarouselIndex: O,
20
+ onJourneyComplete: b
20
21
  }) => {
21
- const a = T(null), o = T(null), r = T(null), s = T(null), R = T(!1), { playButtonSound: S } = oe(), { nextCoachmark: l, setJourney: N } = ne(), { onEvent: p } = ie(), y = E(
22
- (t, n) => {
23
- p(C.ONBOARDING_STEP_VIEWED, {
24
- journey_id: t,
25
- step: n
22
+ const c = u(null), i = u(null), r = u(null), a = u(null), C = u(!1), { playButtonSound: P } = le(), { nextCoachmark: o, setJourney: N } = ie(), { onEvent: f } = oe(), S = T(
23
+ (t) => {
24
+ f(j.ONBOARDING_STEP_VIEWED, {
25
+ step: t
26
26
  });
27
27
  },
28
- [p]
29
- ), G = E(
30
- (t, n) => {
31
- p(C.ONBOARDING_STEP_COMPLETED, {
32
- journey_id: t,
33
- step: n
28
+ [f]
29
+ ), y = T(
30
+ (t) => {
31
+ f(j.ONBOARDING_STEP_COMPLETED, {
32
+ step: t
34
33
  });
35
34
  },
36
- [p]
37
- ), m = E(
38
- (t, n, i, d, f = !1) => {
39
- f || (S(), b((A) => A + 1), l(d, !1, ce)), y(d, t);
40
- const _ = setTimeout(() => {
41
- clearTimeout(_), n.startLabelAnimation(i);
42
- }, ae);
43
- l(d, !0, se);
35
+ [f]
36
+ ), h = T(
37
+ (t, l, n, g, p = !1) => {
38
+ p || (P(), O((_) => _ + 1), o(g, !1, ae)), S(t);
39
+ const A = setTimeout(() => {
40
+ clearTimeout(A), l.startLabelAnimation(n);
41
+ }, se);
42
+ o(g, !0, de);
44
43
  },
45
- [l, S, b, y]
46
- ), H = E(
47
- (t, n) => {
48
- L(t, de.PUZZLE), G(n, c.PUZZLE_ACTIVITY), l(n), I(n);
44
+ [o, P, O, S]
45
+ ), H = T(
46
+ (t, l) => {
47
+ L(t, he.PUZZLE), y(E.PUZZLE_ACTIVITY), o(l), b(l);
49
48
  },
50
- [l, I, L, G]
51
- ), k = E(
52
- (t, n, i) => {
53
- var v, B, D, V, Y, U, M, x, W, $, X, F, Z, J, q, K, Q;
54
- if (R.current || !((v = a == null ? void 0 : a.current) != null && v.nextBtnRef.current) || !((B = r == null ? void 0 : r.current) != null && B.segmentedCardWrapperRef.current) || !((D = o == null ? void 0 : o.current) != null && D.labelRef.current) || !((V = r == null ? void 0 : r.current) != null && V.labelRef.current) || !t)
49
+ [o, b, L, y]
50
+ ), G = T(
51
+ (t, l, n) => {
52
+ var w, Y, v, U, V, B, D, x, M, W, X, $, J, F, Z, K, q;
53
+ if (C.current || !((w = c == null ? void 0 : c.current) != null && w.nextBtnRef.current) || !((Y = r == null ? void 0 : r.current) != null && Y.segmentedCardWrapperRef.current) || !((v = i == null ? void 0 : i.current) != null && v.labelRef.current) || !((U = r == null ? void 0 : r.current) != null && U.labelRef.current) || !t)
55
54
  return;
56
- R.current = !0;
57
- const d = ((M = (U = (Y = s.current) == null ? void 0 : Y.labelRef) == null ? void 0 : U.current) == null ? void 0 : M.getBoundingClientRect()) || {
55
+ C.current = !0;
56
+ const g = ((D = (B = (V = a.current) == null ? void 0 : V.labelRef) == null ? void 0 : B.current) == null ? void 0 : D.getBoundingClientRect()) || {
58
57
  height: 0,
59
58
  width: 0
60
- }, f = (($ = (W = (x = o.current) == null ? void 0 : x.labelRef) == null ? void 0 : W.current) == null ? void 0 : $.getBoundingClientRect()) || {
59
+ }, p = ((W = (M = (x = i.current) == null ? void 0 : x.labelRef) == null ? void 0 : M.current) == null ? void 0 : W.getBoundingClientRect()) || {
61
60
  height: 0,
62
61
  width: 0
63
- }, _ = ((Z = (F = (X = r.current) == null ? void 0 : X.labelRef) == null ? void 0 : F.current) == null ? void 0 : Z.getBoundingClientRect()) || {
62
+ }, A = ((J = ($ = (X = r.current) == null ? void 0 : X.labelRef) == null ? void 0 : $.current) == null ? void 0 : J.getBoundingClientRect()) || {
64
63
  height: 0,
65
64
  width: 0
66
- }, A = ((K = (q = (J = r.current) == null ? void 0 : J.segmentedCardWrapperRef) == null ? void 0 : q.current) == null ? void 0 : K.getBoundingClientRect()) || {
65
+ }, _ = ((K = (Z = (F = r.current) == null ? void 0 : F.segmentedCardWrapperRef) == null ? void 0 : Z.current) == null ? void 0 : K.getBoundingClientRect()) || {
67
66
  height: 0,
68
67
  width: 0
69
68
  };
70
- let w = [];
71
- n && s.current && (w = [
69
+ let k = [];
70
+ l && a.current && (k = [
72
71
  {
73
- originalElementToHighlightRef: s.current.labelRef,
72
+ originalElementToHighlightRef: a.current.labelRef,
74
73
  isActive: !1,
75
- type: h.TOOLTIP,
76
- elementToHighlight: /* @__PURE__ */ e(O, {}),
74
+ type: s.TOOLTIP,
75
+ elementToHighlight: /* @__PURE__ */ e(R, {}),
77
76
  indicator: {
78
77
  position: "right",
79
78
  backgroundColor: "BLUE_4",
80
79
  width: 264,
81
- tooltipItem: /* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(g, { $renderAs: "ab2-bold", children: "Get faster & stay ahead in school. Practice 3 new skills everyday." }) }),
82
- tooltipXCoOrdinates: d.width,
83
- tooltipYCoOrdinates: d.height / 2
80
+ tooltipItem: /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(d, { $renderAs: "ab2-bold", children: "Get faster & stay ahead in school. Practice 3 new skills everyday." }) }),
81
+ tooltipXCoOrdinates: g.width,
82
+ tooltipYCoOrdinates: g.height / 2
84
83
  }
85
84
  },
86
85
  {
87
- originalElementToHighlightRef: (Q = a.current) == null ? void 0 : Q.nextBtnRef,
86
+ originalElementToHighlightRef: (q = c.current) == null ? void 0 : q.nextBtnRef,
88
87
  isActive: !1,
89
- type: h.NUDGE,
88
+ type: s.NUDGE,
90
89
  elementToHighlight: /* @__PURE__ */ e(
91
90
  z,
92
91
  {
93
92
  renderAs: "secondary",
94
- Icon: j,
95
- onClick: () => m(
96
- c.GAMES_ACTIVITY,
97
- o.current,
93
+ Icon: Q,
94
+ onClick: () => h(
95
+ E.GAMES_ACTIVITY,
96
+ i.current,
98
97
  "ORANGE_4",
99
- i
98
+ n
100
99
  ),
101
- analyticsLabel: C.ONBOARDING_STEP_COMPLETED,
102
- analyticsProps: {
103
- journey_id: i,
104
- step: c.LESSON_ACTIVITY
105
- }
100
+ analyticsLabel: ee.JOURNEY_NEXT_ACTIVITY
106
101
  }
107
102
  ),
108
103
  indicator: {
109
104
  nudge: "click",
110
- content: /* @__PURE__ */ e(g, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
105
+ content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
111
106
  nudgePointerX: 0,
112
107
  nudgePointerY: 0
113
108
  }
114
109
  }
115
110
  ]);
116
- const ee = [
111
+ const te = [
117
112
  {
118
- originalElementToHighlightRef: o.current.labelRef,
113
+ originalElementToHighlightRef: i.current.labelRef,
119
114
  isActive: !1,
120
- type: h.TOOLTIP,
121
- elementToHighlight: /* @__PURE__ */ e(O, {}),
115
+ type: s.TOOLTIP,
116
+ elementToHighlight: /* @__PURE__ */ e(R, {}),
122
117
  indicator: {
123
118
  position: "right",
124
119
  backgroundColor: "ORANGE_4",
125
120
  width: 264,
126
- tooltipItem: /* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(g, { $renderAs: "ab2-bold", children: "Train to think deeper & plan ahead. Play 3 new games everyday." }) }),
127
- tooltipXCoOrdinates: f.width,
128
- tooltipYCoOrdinates: f.height / 2
121
+ tooltipItem: /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(d, { $renderAs: "ab2-bold", children: "Train to think deeper & plan ahead. Play 3 new games everyday." }) }),
122
+ tooltipXCoOrdinates: p.width,
123
+ tooltipYCoOrdinates: p.height / 2
129
124
  }
130
125
  },
131
126
  {
132
- originalElementToHighlightRef: a.current.nextBtnRef,
127
+ originalElementToHighlightRef: c.current.nextBtnRef,
133
128
  isActive: !1,
134
- type: h.NUDGE,
129
+ type: s.NUDGE,
135
130
  elementToHighlight: /* @__PURE__ */ e(
136
131
  z,
137
132
  {
138
133
  renderAs: "secondary",
139
- Icon: j,
140
- onClick: () => m(
141
- c.PUZZLE_ACTIVITY,
134
+ Icon: Q,
135
+ onClick: () => h(
136
+ E.PUZZLE_ACTIVITY,
142
137
  r.current,
143
138
  "PURPLE_4",
144
- i
139
+ n
145
140
  ),
146
- analyticsLabel: C.ONBOARDING_STEP_COMPLETED,
147
- analyticsProps: {
148
- journey_id: i,
149
- step: c.GAMES_ACTIVITY
150
- }
141
+ analyticsLabel: ee.JOURNEY_NEXT_ACTIVITY
151
142
  }
152
143
  ),
153
144
  indicator: {
154
145
  nudge: "click",
155
- content: /* @__PURE__ */ e(g, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
146
+ content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
156
147
  nudgePointerX: 0,
157
148
  nudgePointerY: 0
158
149
  }
159
150
  }
160
- ], te = [
151
+ ], re = [
161
152
  {
162
153
  originalElementToHighlightRef: r.current.labelRef,
163
154
  isActive: !1,
164
- type: h.TOOLTIP,
165
- elementToHighlight: /* @__PURE__ */ e(O, {}),
155
+ type: s.TOOLTIP,
156
+ elementToHighlight: /* @__PURE__ */ e(R, {}),
166
157
  indicator: {
167
158
  position: "right",
168
159
  backgroundColor: "PURPLE_4",
169
160
  width: 264,
170
- tooltipItem: /* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(g, { $renderAs: "ab2-bold", children: "Think in new ways & stay sharp. Solve 3 new puzzles everyday." }) }),
171
- tooltipXCoOrdinates: _.width,
172
- tooltipYCoOrdinates: _.height / 2
161
+ tooltipItem: /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(d, { $renderAs: "ab2-bold", children: "Think in new ways & stay sharp. Solve 3 new puzzles everyday." }) }),
162
+ tooltipXCoOrdinates: A.width,
163
+ tooltipYCoOrdinates: A.height / 2
173
164
  }
174
165
  },
175
166
  {
176
167
  originalElementToHighlightRef: r.current.segmentedCardWrapperRef,
177
168
  isActive: !1,
178
- type: h.NUDGE,
169
+ type: s.NUDGE,
179
170
  elementToHighlight: /* @__PURE__ */ e(
180
- le,
171
+ ce,
181
172
  {
182
173
  label: "",
183
- value: t.data.filter((u) => u.solved).length,
174
+ value: t.data.filter((m) => m.solved).length,
184
175
  maxValue: t.data.length,
185
176
  initialValue: t.initialProgressValue,
186
- data: t.data.map((u) => ({
187
- card: u.cardLottie,
177
+ data: t.data.map((m) => ({
178
+ card: m.cardLottie,
188
179
  name: "",
189
180
  // We dont want to show the name of the puzzle in onboarding
190
- isCompleted: u.solved,
191
- onPress: () => H(u, i)
181
+ isCompleted: m.solved,
182
+ onPress: () => H(m, n)
192
183
  }))
193
184
  }
194
185
  ),
195
186
  indicator: {
196
187
  nudge: "click",
197
- content: /* @__PURE__ */ e(g, { $renderAs: "ab1", $color: "WHITE", children: "Click to solve a puzzle" }),
198
- nudgePointerX: A.width * 0.6,
199
- nudgePointerY: A.height * 0.4
188
+ content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to solve a puzzle" }),
189
+ nudgePointerX: _.width * 0.6,
190
+ nudgePointerY: _.height * 0.4
200
191
  }
201
192
  }
202
193
  ];
203
- N(i, [...w, ...ee, ...te]), l(i), n && s.current ? m(c.LESSON_ACTIVITY, s.current, "BLUE_4", i, !0) : m(c.GAMES_ACTIVITY, o.current, "ORANGE_4", i, !0);
194
+ N(n, [...k, ...te, ...re]), o(n), l && a.current ? h(E.SKILL_ACTIVITY, a.current, "BLUE_4", n, !0) : h(E.GAMES_ACTIVITY, i.current, "ORANGE_4", n, !0);
204
195
  },
205
- [H, m, l, N]
196
+ [H, h, o, N]
206
197
  );
207
- return re(
198
+ return ne(
208
199
  () => ({
209
- gameRefs: o,
200
+ gameRefs: i,
210
201
  puzzleRefs: r,
211
- lessonRefs: s,
212
- carouselNextBtnRef: a,
213
- isJourneyInProgress: R,
214
- startJourney: k
202
+ lessonRefs: a,
203
+ carouselNextBtnRef: c,
204
+ isJourneyInProgress: C,
205
+ startJourney: G
215
206
  }),
216
- [k]
207
+ [G]
217
208
  );
218
209
  };
219
210
  export {
220
- Ie as useGameLauncherJourney
211
+ Se as useGameLauncherJourney
221
212
  };
222
213
  //# sourceMappingURL=use-game-launcher-journey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-game-launcher-journey.js","sources":["../../../../../src/features/circle-games/game-launcher/use-game-launcher-journey/use-game-launcher-journey.tsx"],"sourcesContent":["import type { TJourneyId } from '../../../journey/journey-id/journey-id-types';\nimport type { ICoachmarkProps } from '../../../journey/use-journey/journey-context-types';\nimport type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../ui/nudge/nudge-types';\nimport type { TColorNames } from '../../../ui/types';\nimport type { ICarouselRefs } from '../comps/carousel/carousel-types';\nimport type { ISegmentedGameCardRefs } from '../comps/segmented-game-card/segmented-game-card-types';\nimport type {\n IProject,\n Puzzle,\n} from '../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseGameLauncherJourneyProps } from './use-game-launcher-journey-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport NextIcon from '../../../../assets/line-icons/icons/next';\nimport { PLATFORM_EVENTS_STUDENT as AnalyticsLabel } from '../../../analytics-events/platform-events-student';\nimport { IndicatorType } from '../../../journey/use-journey/constants';\nimport { useJourney } from '../../../journey/use-journey/use-journey';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { CIRCLE_ONBOARDING_ANALYTICS_STEPS as ActionEvent } from '../../enum/CircleOnboardingSteps';\nimport { ProjectType } from '../../games/web-view/enums';\nimport { useCircleSounds } from '../../hooks/use-circle-sounds/use-circle-sounds';\nimport { SegmentedGameCard } from '../comps/segmented-game-card/segmented-game-card';\nimport {\n GO_TO_NEXT_SLIDE_AFTER_MS,\n SHOW_LABEL_HIGHLIGHT_AFTER_MS,\n SHOW_NUDGE_AFTER_MS,\n} from './constants';\n\nexport const useGameLauncherJourney = ({\n onSegmentClick,\n setCarouselIndex,\n onJourneyComplete,\n}: IUseGameLauncherJourneyProps) => {\n const carouselNextBtnRef = useRef<ICarouselRefs>(null);\n const gameRefs = useRef<ISegmentedGameCardRefs>(null);\n const puzzleRefs = useRef<ISegmentedGameCardRefs>(null);\n const lessonRefs = useRef<ISegmentedGameCardRefs>(null);\n\n const isJourneyInProgress = useRef(false);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const trackEventViewed = useCallback(\n (journeyId: TJourneyId, step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_VIEWED, {\n journey_id: journeyId,\n step,\n });\n },\n [trackAnalytics],\n );\n const trackEventCompleted = useCallback(\n (journeyId: TJourneyId, step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_COMPLETED, {\n journey_id: journeyId,\n step,\n });\n },\n [trackAnalytics],\n );\n\n const goToNextCard = useCallback(\n (\n analyticsLabelViewed: ActionEvent,\n refOfNextSlide: ISegmentedGameCardRefs,\n color: TColorNames,\n journeyId: TJourneyId,\n isFirstSlide: boolean = false,\n ) => {\n if (!isFirstSlide) {\n playButtonSound();\n setCarouselIndex((prev: number) => prev + 1);\n nextCoachmark(journeyId, false, GO_TO_NEXT_SLIDE_AFTER_MS);\n }\n\n trackEventViewed(journeyId, analyticsLabelViewed);\n\n const animateLabelTimer = setTimeout(() => {\n clearTimeout(animateLabelTimer);\n refOfNextSlide.startLabelAnimation(color);\n }, SHOW_LABEL_HIGHLIGHT_AFTER_MS);\n\n nextCoachmark(journeyId, true, SHOW_NUDGE_AFTER_MS);\n },\n [nextCoachmark, playButtonSound, setCarouselIndex, trackEventViewed],\n );\n\n const endJourney = useCallback(\n (puzzlesData: Puzzle, journeyId: TJourneyId) => {\n onSegmentClick(puzzlesData, ProjectType.PUZZLE);\n trackEventCompleted(journeyId, ActionEvent.PUZZLE_ACTIVITY);\n nextCoachmark(journeyId);\n onJourneyComplete(journeyId);\n },\n [nextCoachmark, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const startJourney = useCallback(\n (puzzlesData: IProject<Puzzle>, isLessonAvailable: boolean, journeyId: TJourneyId) => {\n if (isJourneyInProgress.current) {\n return;\n }\n\n // If element refs are not available return, this is just for type safety\n if (\n !carouselNextBtnRef?.current?.nextBtnRef.current ||\n !puzzleRefs?.current?.segmentedCardWrapperRef.current ||\n !gameRefs?.current?.labelRef.current ||\n !puzzleRefs?.current?.labelRef.current ||\n !puzzlesData\n ) {\n return;\n }\n\n isJourneyInProgress.current = true;\n const lessonLabelDims = lessonRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const gameLabelDims = gameRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const puzzleLabelDims = puzzleRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const launcherDims =\n puzzleRefs.current?.segmentedCardWrapperRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n let lessonSteps: ICoachmarkProps[] = [];\n\n if (isLessonAvailable && lessonRefs.current) {\n lessonSteps = [\n {\n originalElementToHighlightRef: lessonRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'BLUE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Get faster & stay ahead in school. Practice 3 new skills everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: lessonLabelDims.width,\n tooltipYCoOrdinates: lessonLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselNextBtnRef.current?.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={NextIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.GAMES_ACTIVITY,\n gameRefs.current as ISegmentedGameCardRefs,\n 'ORANGE_4',\n journeyId,\n )\n }\n analyticsLabel={AnalyticsLabel.ONBOARDING_STEP_COMPLETED}\n analyticsProps={{\n journey_id: journeyId,\n step: ActionEvent.LESSON_ACTIVITY,\n }}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n }\n\n const gameSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: gameRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'ORANGE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Train to think deeper & plan ahead. Play 3 new games everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: gameLabelDims.width,\n tooltipYCoOrdinates: gameLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselNextBtnRef.current.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={NextIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.PUZZLE_ACTIVITY,\n puzzleRefs.current as ISegmentedGameCardRefs,\n 'PURPLE_4',\n journeyId,\n )\n }\n analyticsLabel={AnalyticsLabel.ONBOARDING_STEP_COMPLETED}\n analyticsProps={{\n journey_id: journeyId,\n step: ActionEvent.GAMES_ACTIVITY,\n }}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n\n const puzzleSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'PURPLE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Think in new ways & stay sharp. Solve 3 new puzzles everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: puzzleLabelDims.width,\n tooltipYCoOrdinates: puzzleLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: puzzleRefs.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={puzzlesData.data.filter(puzzle => puzzle.solved).length}\n maxValue={puzzlesData.data.length}\n initialValue={puzzlesData.initialProgressValue}\n data={puzzlesData.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: puzzle.solved,\n onPress: () => endJourney(puzzle, journeyId),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to solve a puzzle\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n\n setJourney(journeyId, [...lessonSteps, ...gameSteps, ...puzzleSteps]);\n\n nextCoachmark(journeyId);\n if (isLessonAvailable && lessonRefs.current) {\n goToNextCard(ActionEvent.LESSON_ACTIVITY, lessonRefs.current, 'BLUE_4', journeyId, true);\n } else {\n goToNextCard(ActionEvent.GAMES_ACTIVITY, gameRefs.current, 'ORANGE_4', journeyId, true);\n }\n },\n [endJourney, goToNextCard, nextCoachmark, setJourney],\n );\n\n const data = useMemo(\n () => ({\n gameRefs,\n puzzleRefs,\n lessonRefs,\n carouselNextBtnRef,\n isJourneyInProgress,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n"],"names":["useGameLauncherJourney","onSegmentClick","setCarouselIndex","onJourneyComplete","carouselNextBtnRef","useRef","gameRefs","puzzleRefs","lessonRefs","isJourneyInProgress","playButtonSound","useCircleSounds","nextCoachmark","setJourney","useJourney","trackAnalytics","useUIContext","trackEventViewed","useCallback","journeyId","step","AnalyticsLabel","trackEventCompleted","goToNextCard","analyticsLabelViewed","refOfNextSlide","color","isFirstSlide","prev","GO_TO_NEXT_SLIDE_AFTER_MS","animateLabelTimer","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS","endJourney","puzzlesData","ProjectType","ActionEvent","startJourney","isLessonAvailable","_a","_b","_c","_d","lessonLabelDims","_g","_f","_e","gameLabelDims","_j","_i","_h","puzzleLabelDims","_m","_l","_k","launcherDims","_p","_o","_n","lessonSteps","IndicatorType","jsx","Fragment","FlexView","Text","_q","IconButton","NextIcon","gameSteps","puzzleSteps","SegmentedGameCard","puzzle","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"use-game-launcher-journey.js","sources":["../../../../../src/features/circle-games/game-launcher/use-game-launcher-journey/use-game-launcher-journey.tsx"],"sourcesContent":["import type { TJourneyId } from '../../../journey/journey-id/journey-id-types';\nimport type { ICoachmarkProps } from '../../../journey/use-journey/journey-context-types';\nimport type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../ui/nudge/nudge-types';\nimport type { TColorNames } from '../../../ui/types';\nimport type { ICarouselRefs } from '../comps/carousel/carousel-types';\nimport type { ISegmentedGameCardRefs } from '../comps/segmented-game-card/segmented-game-card-types';\nimport type {\n IProject,\n Puzzle,\n} from '../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseGameLauncherJourneyProps } from './use-game-launcher-journey-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport NextIcon from '../../../../assets/line-icons/icons/next';\nimport { PLATFORM_EVENTS_STUDENT as AnalyticsLabel } from '../../../analytics-events/platform-events-student';\nimport { IndicatorType } from '../../../journey/use-journey/constants';\nimport { useJourney } from '../../../journey/use-journey/use-journey';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { CIRCLE_ONBOARDING_ANALYTICS_STEPS as ActionEvent } from '../../enum/circle-onboarding-steps';\nimport { ProjectType } from '../../games/web-view/enums';\nimport { useCircleSounds } from '../../hooks/use-circle-sounds/use-circle-sounds';\nimport { SegmentedGameCard } from '../comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../game-launcher-analytics-events';\nimport {\n GO_TO_NEXT_SLIDE_AFTER_MS,\n SHOW_LABEL_HIGHLIGHT_AFTER_MS,\n SHOW_NUDGE_AFTER_MS,\n} from './constants';\n\nexport const useGameLauncherJourney = ({\n onSegmentClick,\n setCarouselIndex,\n onJourneyComplete,\n}: IUseGameLauncherJourneyProps) => {\n const carouselNextBtnRef = useRef<ICarouselRefs>(null);\n const gameRefs = useRef<ISegmentedGameCardRefs>(null);\n const puzzleRefs = useRef<ISegmentedGameCardRefs>(null);\n const lessonRefs = useRef<ISegmentedGameCardRefs>(null);\n\n const isJourneyInProgress = useRef(false);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const trackEventViewed = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_VIEWED, {\n step,\n });\n },\n [trackAnalytics],\n );\n const trackEventCompleted = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_COMPLETED, {\n step,\n });\n },\n [trackAnalytics],\n );\n\n const goToNextCard = useCallback(\n (\n analyticsLabelViewed: ActionEvent,\n refOfNextSlide: ISegmentedGameCardRefs,\n color: TColorNames,\n journeyId: TJourneyId,\n isFirstSlide: boolean = false,\n ) => {\n if (!isFirstSlide) {\n playButtonSound();\n setCarouselIndex((prev: number) => prev + 1);\n nextCoachmark(journeyId, false, GO_TO_NEXT_SLIDE_AFTER_MS);\n }\n\n trackEventViewed(analyticsLabelViewed);\n\n const animateLabelTimer = setTimeout(() => {\n clearTimeout(animateLabelTimer);\n refOfNextSlide.startLabelAnimation(color);\n }, SHOW_LABEL_HIGHLIGHT_AFTER_MS);\n\n nextCoachmark(journeyId, true, SHOW_NUDGE_AFTER_MS);\n },\n [nextCoachmark, playButtonSound, setCarouselIndex, trackEventViewed],\n );\n\n const endJourney = useCallback(\n (puzzlesData: Puzzle, journeyId: TJourneyId) => {\n onSegmentClick(puzzlesData, ProjectType.PUZZLE);\n trackEventCompleted(ActionEvent.PUZZLE_ACTIVITY);\n nextCoachmark(journeyId);\n onJourneyComplete(journeyId);\n },\n [nextCoachmark, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const startJourney = useCallback(\n (puzzlesData: IProject<Puzzle>, isLessonAvailable: boolean, journeyId: TJourneyId) => {\n if (isJourneyInProgress.current) {\n return;\n }\n\n // If element refs are not available return, this is just for type safety\n if (\n !carouselNextBtnRef?.current?.nextBtnRef.current ||\n !puzzleRefs?.current?.segmentedCardWrapperRef.current ||\n !gameRefs?.current?.labelRef.current ||\n !puzzleRefs?.current?.labelRef.current ||\n !puzzlesData\n ) {\n return;\n }\n\n isJourneyInProgress.current = true;\n const lessonLabelDims = lessonRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const gameLabelDims = gameRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const puzzleLabelDims = puzzleRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const launcherDims =\n puzzleRefs.current?.segmentedCardWrapperRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n let lessonSteps: ICoachmarkProps[] = [];\n\n if (isLessonAvailable && lessonRefs.current) {\n lessonSteps = [\n {\n originalElementToHighlightRef: lessonRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'BLUE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Get faster & stay ahead in school. Practice 3 new skills everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: lessonLabelDims.width,\n tooltipYCoOrdinates: lessonLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselNextBtnRef.current?.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={NextIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.GAMES_ACTIVITY,\n gameRefs.current as ISegmentedGameCardRefs,\n 'ORANGE_4',\n journeyId,\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n }\n\n const gameSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: gameRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'ORANGE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Train to think deeper & plan ahead. Play 3 new games everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: gameLabelDims.width,\n tooltipYCoOrdinates: gameLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselNextBtnRef.current.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={NextIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.PUZZLE_ACTIVITY,\n puzzleRefs.current as ISegmentedGameCardRefs,\n 'PURPLE_4',\n journeyId,\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n\n const puzzleSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleRefs.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'PURPLE_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Think in new ways & stay sharp. Solve 3 new puzzles everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: puzzleLabelDims.width,\n tooltipYCoOrdinates: puzzleLabelDims.height / 2,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: puzzleRefs.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={puzzlesData.data.filter(puzzle => puzzle.solved).length}\n maxValue={puzzlesData.data.length}\n initialValue={puzzlesData.initialProgressValue}\n data={puzzlesData.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: puzzle.solved,\n onPress: () => endJourney(puzzle, journeyId),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to solve a puzzle\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n\n setJourney(journeyId, [...lessonSteps, ...gameSteps, ...puzzleSteps]);\n\n nextCoachmark(journeyId);\n if (isLessonAvailable && lessonRefs.current) {\n goToNextCard(ActionEvent.SKILL_ACTIVITY, lessonRefs.current, 'BLUE_4', journeyId, true);\n } else {\n goToNextCard(ActionEvent.GAMES_ACTIVITY, gameRefs.current, 'ORANGE_4', journeyId, true);\n }\n },\n [endJourney, goToNextCard, nextCoachmark, setJourney],\n );\n\n const data = useMemo(\n () => ({\n gameRefs,\n puzzleRefs,\n lessonRefs,\n carouselNextBtnRef,\n isJourneyInProgress,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n"],"names":["useGameLauncherJourney","onSegmentClick","setCarouselIndex","onJourneyComplete","carouselNextBtnRef","useRef","gameRefs","puzzleRefs","lessonRefs","isJourneyInProgress","playButtonSound","useCircleSounds","nextCoachmark","setJourney","useJourney","trackAnalytics","useUIContext","trackEventViewed","useCallback","step","AnalyticsLabel","trackEventCompleted","goToNextCard","analyticsLabelViewed","refOfNextSlide","color","journeyId","isFirstSlide","prev","GO_TO_NEXT_SLIDE_AFTER_MS","animateLabelTimer","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS","endJourney","puzzlesData","ProjectType","ActionEvent","startJourney","isLessonAvailable","_a","_b","_c","_d","lessonLabelDims","_g","_f","_e","gameLabelDims","_j","_i","_h","puzzleLabelDims","_m","_l","_k","launcherDims","_p","_o","_n","lessonSteps","IndicatorType","jsx","Fragment","FlexView","Text","_q","IconButton","NextIcon","GAME_LAUNCHER_ANALYTICS_EVENTS","gameSteps","puzzleSteps","SegmentedGameCard","puzzle","useMemo"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -167,6 +167,16 @@ export declare const ChevronLeftIcon: React_2.FC<IconProps_2>;
167
167
 
168
168
  export declare const ChevronRightIcon: React_2.FC<IconProps>;
169
169
 
170
+ export declare enum CIRCLE_ONBOARDING_ANALYTICS_STEPS {
171
+ SKILL_ACTIVITY = "skill_activity",
172
+ GAMES_ACTIVITY = "games_activity",
173
+ PUZZLE_ACTIVITY = "puzzle_activity",
174
+ TUTORIAL = "tutorial",
175
+ POINTS = "points",
176
+ STREAK = "streak",
177
+ LEADERBOARD = "leaderboard"
178
+ }
179
+
170
180
  export declare enum CircleSoundKey {
171
181
  BACKGROUND = "background",
172
182
  BACKGROUND_RUSHHOUR = "background_rushhour",
package/dist/index.js CHANGED
@@ -9,17 +9,17 @@ import { default as i } from "./assets/line-icons/icons/bin2.js";
9
9
  import { default as E } from "./assets/line-icons/icons/book-closed.js";
10
10
  import { default as C } from "./assets/line-icons/icons/book.js";
11
11
  import { default as P } from "./assets/line-icons/icons/book2.js";
12
- import { default as _ } from "./assets/line-icons/icons/bookmark.js";
12
+ import { default as M } from "./assets/line-icons/icons/bookmark.js";
13
13
  import { default as L } from "./assets/line-icons/icons/bulb.js";
14
- import { default as H } from "./assets/line-icons/icons/bulb2.js";
15
- import { default as D } from "./assets/line-icons/icons/calendar.js";
16
- import { default as R } from "./assets/line-icons/icons/check.js";
14
+ import { default as N } from "./assets/line-icons/icons/bulb2.js";
15
+ import { default as O } from "./assets/line-icons/icons/calendar.js";
16
+ import { default as D } from "./assets/line-icons/icons/check.js";
17
17
  import { default as y } from "./assets/line-icons/icons/check2.js";
18
18
  import { default as g } from "./assets/line-icons/icons/clipboard.js";
19
19
  import { default as v } from "./assets/line-icons/icons/clock.js";
20
20
  import { default as W } from "./assets/line-icons/icons/clock2.js";
21
21
  import { default as w } from "./assets/line-icons/icons/code.js";
22
- import { default as K } from "./assets/line-icons/icons/copy.js";
22
+ import { default as Y } from "./assets/line-icons/icons/copy.js";
23
23
  import { default as F } from "./assets/line-icons/icons/cross.js";
24
24
  import { default as j } from "./assets/line-icons/icons/cue-rocket.js";
25
25
  import { default as Z } from "./assets/line-icons/icons/dash-arrow.js";
@@ -36,17 +36,17 @@ import { default as ie } from "./assets/line-icons/icons/hand.js";
36
36
  import { default as Ee } from "./assets/line-icons/icons/help.js";
37
37
  import { default as Ce } from "./assets/line-icons/icons/highlighter.js";
38
38
  import { default as Pe } from "./assets/line-icons/icons/home.js";
39
- import { default as _e } from "./assets/line-icons/icons/image.js";
39
+ import { default as Me } from "./assets/line-icons/icons/image.js";
40
40
  import { default as Le } from "./assets/line-icons/icons/info.js";
41
- import { default as He } from "./assets/line-icons/icons/info2.js";
42
- import { default as De } from "./assets/line-icons/icons/left.js";
43
- import { default as Re } from "./assets/line-icons/icons/lock.js";
41
+ import { default as Ne } from "./assets/line-icons/icons/info2.js";
42
+ import { default as Oe } from "./assets/line-icons/icons/left.js";
43
+ import { default as De } from "./assets/line-icons/icons/lock.js";
44
44
  import { default as ye } from "./assets/line-icons/icons/lock2.js";
45
45
  import { default as ge } from "./assets/line-icons/icons/minus.js";
46
46
  import { default as ve } from "./assets/line-icons/icons/minus2.js";
47
47
  import { default as We } from "./assets/line-icons/icons/mistake.js";
48
48
  import { default as we } from "./assets/line-icons/icons/mobile.js";
49
- import { default as Ke } from "./assets/line-icons/icons/more-vertical.js";
49
+ import { default as Ye } from "./assets/line-icons/icons/more-vertical.js";
50
50
  import { default as Fe } from "./assets/line-icons/icons/next.js";
51
51
  import { default as je } from "./assets/line-icons/icons/pencil.js";
52
52
  import { default as Ze } from "./assets/line-icons/icons/pointer.js";
@@ -62,18 +62,18 @@ import { default as Io } from "./assets/line-icons/icons/redo.js";
62
62
  import { default as To } from "./assets/line-icons/icons/right.js";
63
63
  import { default as So } from "./assets/line-icons/icons/ruler.js";
64
64
  import { default as Ao } from "./assets/line-icons/icons/search.js";
65
- import { default as Mo } from "./assets/line-icons/icons/star.js";
65
+ import { default as _o } from "./assets/line-icons/icons/star.js";
66
66
  import { default as ho } from "./assets/line-icons/icons/skip.js";
67
67
  import { default as ko } from "./assets/line-icons/icons/skip2.js";
68
- import { default as No } from "./assets/line-icons/icons/star2.js";
69
- import { default as Oo } from "./assets/line-icons/icons/striked-eye.js";
68
+ import { default as Ho } from "./assets/line-icons/icons/star2.js";
69
+ import { default as Ro } from "./assets/line-icons/icons/striked-eye.js";
70
70
  import { default as Go } from "./assets/line-icons/icons/switch-icon.js";
71
71
  import { default as Bo } from "./assets/line-icons/icons/tick.js";
72
72
  import { default as bo } from "./assets/line-icons/icons/trophy.js";
73
73
  import { default as Uo } from "./assets/line-icons/icons/undo.js";
74
74
  import { default as Vo } from "./assets/line-icons/icons/unlock.js";
75
75
  import { default as Qo } from "./assets/line-icons/icons/up.js";
76
- import { default as Yo } from "./assets/line-icons/icons/user.js";
76
+ import { default as Ko } from "./assets/line-icons/icons/user.js";
77
77
  import { default as Jo } from "./assets/line-icons/icons/user2.js";
78
78
  import { default as zo, default as Zo } from "./assets/line-icons/icons/sketch.js";
79
79
  import { default as Xo } from "./assets/line-icons/icons/back2.js";
@@ -89,17 +89,17 @@ import { AutoPlayPermissionProvider as it } from "./features/hooks/use-auto-play
89
89
  import { default as Et } from "./features/hooks/use-zoom-disable.js";
90
90
  import { default as Ct } from "./features/hooks/use-force-reload.js";
91
91
  import { default as Pt } from "./features/ui/accordion-section/accordion-section.js";
92
- import { default as _t } from "./features/ui/arrow-tooltip/arrow-tooltip.js";
92
+ import { default as Mt } from "./features/ui/arrow-tooltip/arrow-tooltip.js";
93
93
  import { default as Lt } from "./features/ui/context-menu/context-menu.js";
94
- import { default as Ht } from "./features/ui/timers/countdown-timer/countdown-timer.js";
95
- import { default as Dt } from "./features/ui/nudge/nudge.js";
96
- import { default as Rt } from "./features/ui/buttons/button/button.js";
94
+ import { default as Nt } from "./features/ui/timers/countdown-timer/countdown-timer.js";
95
+ import { default as Ot } from "./features/ui/nudge/nudge.js";
96
+ import { default as Dt } from "./features/ui/buttons/button/button.js";
97
97
  import { default as yt } from "./features/ui/buttons/clickable/clickable.js";
98
98
  import { default as gt } from "./features/ui/buttons/icon-button/icon-button.js";
99
99
  import { default as vt } from "./features/ui/buttons/text-button/text-button.js";
100
100
  import { ArcButton as Wt } from "./features/ui/arc-button/arc-button.js";
101
101
  import { default as wt } from "./features/ui/error/error.js";
102
- import { default as Kt } from "./features/ui/inputs/checkbox-input/checkbox-input.js";
102
+ import { default as Yt } from "./features/ui/inputs/checkbox-input/checkbox-input.js";
103
103
  import { default as Ft } from "./features/ui/inputs/checkbox-input-list/checkbox-input-list.js";
104
104
  import { default as jt } from "./features/ui/inputs/radio-input/radio-input.js";
105
105
  import { default as Zt } from "./features/ui/inputs/select-input/select-input.js";
@@ -116,17 +116,17 @@ import { CircularLoader as ir } from "./features/ui/loader/circular-loader/circu
116
116
  import { default as Er } from "./features/ui/radio-cards/radio-cards.js";
117
117
  import { default as Cr } from "./features/ui/section-list/section-list.js";
118
118
  import { default as Pr } from "./features/ui/text/text.js";
119
- import { default as _r } from "./features/ui/tag/tag.js";
119
+ import { default as Mr } from "./features/ui/tag/tag.js";
120
120
  import { default as Lr } from "./features/ui/callout/callout.js";
121
- import { default as Hr, useUIContext as Nr } from "./features/ui/context/context.js";
122
- import { default as Or } from "./features/ui/context/use-tracking-context.js";
121
+ import { default as Nr, useUIContext as Hr } from "./features/ui/context/context.js";
122
+ import { default as Rr } from "./features/ui/context/use-tracking-context.js";
123
123
  import { default as Gr } from "./features/ui/hooks/use-context-menu-click-handler.js";
124
124
  import { getTheme as Br } from "./features/ui/theme/get-theme.js";
125
125
  import { default as br } from "./features/ui/avatar/avatar.js";
126
126
  import { default as Ur } from "./features/ui/time-left-timeline/time-left-timeline.js";
127
127
  import { default as Vr } from "./features/ui/tab/tab.js";
128
128
  import { default as Qr } from "./features/ui/streak-icon/streak-icon.js";
129
- import { default as Yr } from "./features/ui/separator/separator.js";
129
+ import { default as Kr } from "./features/ui/separator/separator.js";
130
130
  import { default as Jr } from "./features/ui/video/index.js";
131
131
  import { default as zr } from "./features/ui/perfect-hits/perfect-hits.js";
132
132
  import { PLATFORM_EVENTS_STUDENT as qr } from "./features/analytics-events/platform-events-student.js";
@@ -142,164 +142,166 @@ import { default as Ia } from "./features/chapters/lpar-chapter/block-section/sa
142
142
  import { checkIfPPTNodeType as Ta } from "./features/chapters/lpar-chapter/utils/index.js";
143
143
  import { GAME_LAUNCHER_ASSET_PADDING as Sa, GAME_LAUNCHER_SIZE as Ca } from "./features/circle-games/game-launcher/comps/segmented-game-card/constants.js";
144
144
  import { useGetLeaderboardDal as Pa } from "./features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js";
145
- import { ELeaderboardType as _a } from "./features/circle-games/leaderboard/enums/leaderboard-type-enum.js";
145
+ import { ELeaderboardType as Ma } from "./features/circle-games/leaderboard/enums/leaderboard-type-enum.js";
146
146
  import { useCircleSounds as La } from "./features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
147
- import { CircleSoundKey as Ha } from "./features/circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
148
- import { Tutorial as Da } from "./features/circle-games/games/tutorial/tutorial.js";
149
- import { WebView as Ra } from "./features/circle-games/games/web-view/web-view.js";
147
+ import { CircleSoundKey as Na } from "./features/circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
148
+ import { Tutorial as Oa } from "./features/circle-games/games/tutorial/tutorial.js";
149
+ import { WebView as Da } from "./features/circle-games/games/web-view/web-view.js";
150
150
  import { GameId as ya, LessonId as Ba, MiniGameId as ga, ProjectId as ba, PuzzleId as va } from "./features/circle-games/games/web-view/enums/project-ids-enum.js";
151
151
  import { ProjectOutcome as Wa } from "./features/circle-games/games/web-view/enums/project-outcomes-enum.js";
152
152
  import { WebViewEvent as wa } from "./features/circle-games/games/web-view/enums/web-view-events-enum.js";
153
- import { ProjectType as Ka } from "./features/circle-games/games/web-view/enums/project-type-enum.js";
153
+ import { ProjectType as Ya } from "./features/circle-games/games/web-view/enums/project-type-enum.js";
154
154
  import { PlayerType as Fa } from "./features/circle-games/games/web-view/enums/player-type-enum.js";
155
155
  import { IStatsToAwardErrorCode as ja } from "./features/circle-games/games/web-view/web-view-types.js";
156
- import { GameLauncher as Za } from "./features/circle-games/game-launcher/game-launcher.js";
157
- import { useGetCircleHomeDetailsDal as Xa } from "./features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js";
158
- import { usePostUpdateCircleJourneyDal as ef } from "./features/circle-games/game-launcher/dal/use-post-update-circle-journey-dal/use-post-update-circle-journey-dal.js";
159
- import { Leaderboard as tf } from "./features/circle-games/leaderboard/leaderboard.js";
160
- import { BackgroundImage as af, CircularSteps as ff } from "./features/circle-games/sign-up/comp/circular-steps/circular-steps.js";
161
- import { SplashScreen as lf } from "./features/circle-games/sign-up/comp/splash-screen/splash-screen.js";
162
- import { SignUp as mf } from "./features/circle-games/sign-up/sign-up.js";
163
- import { default as df } from "./features/cue-canvas/cue-canvas-provider.js";
164
- import { default as nf } from "./features/cue-canvas/toolbar/toolbar.js";
165
- import { default as If } from "./features/cue-canvas/cue-canvas.js";
166
- import { default as Ef } from "./features/cue-canvas/hooks/use-canvas-sync-broker.js";
167
- import { default as Cf } from "./features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
168
- import { default as Pf } from "./features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
169
- import { EVENTS as _f } from "./features/communication/pub-sub/constants.js";
170
- import { useInClassActionDispatcher as Lf, useInClassActionListener as kf } from "./features/communication/pub-sub/hooks.js";
171
- import { default as Nf } from "./features/trial-session/trial-session.js";
172
- import { EClassTimeAlertLevel as Of } from "./features/trial-session/trial-session-types.js";
173
- import { useClassTimeAlerts as Gf } from "./features/trial-session/hooks/use-class-time-alerts.js";
174
- import { default as Bf } from "./features/extra-practice/extra-practice.js";
175
- import { useAutoPlayPermission as bf } from "./features/hooks/use-auto-play-permission/use-auto-play-permission.js";
176
- import { JOURNEY_ID_STUDENT as Uf } from "./features/journey/journey-id/journey-id-student.js";
177
- import { useJourney as Vf } from "./features/journey/use-journey/use-journey.js";
178
- import { JourneyProvider as Qf } from "./features/journey/use-journey/journey-context-provider.js";
179
- import { IndicatorType as Yf } from "./features/journey/use-journey/constants.js";
180
- import { Coachmark as Jf } from "./features/journey/comps/coachmark/coachmark.js";
181
- import { default as zf } from "./features/milestone/create/submit-modal/submit-modal.js";
182
- import { default as qf } from "./features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js";
183
- import { default as $f } from "./features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js";
184
- import { default as os } from "./features/milestone/create/milestone-create-container.js";
185
- import { default as rs } from "./features/milestone/drafts/create/draft-create-container.js";
186
- import { default as fs } from "./features/milestone/drafts/edit/draft-edit-container.js";
187
- import { default as ls } from "./features/milestone/drafts/goal-edit/goal-draft-edit-container.js";
188
- import { default as ms } from "./features/milestone/drafts/review/draft-review-container.js";
189
- import { default as ds } from "./features/milestone/outcome/milestone-outcome-container.js";
190
- import { default as ns } from "./features/milestone/edit/comps/edit-milestone-modal/share-screen.js";
191
- import { default as Is } from "./features/milestone/outcome/comps/achievement/reason-submit-modal.js";
192
- import { default as Ts } from "./features/milestone/outcome/comps/achievement/share-instructions-modal.js";
193
- import { default as Ss } from "./features/milestone/edit/comps/edit-milestone-modal/index.js";
194
- import { default as As } from "./features/milestone/edit/goal-edit-container.js";
195
- import { default as Ms } from "./features/milestone/edit/milestone-edit-container.js";
196
- import { default as hs } from "./features/milestone/milestone-list-container/milestone-list-container.js";
197
- import { default as ks } from "./features/milestone/milestone-action-widget/milestone-action-widget.js";
198
- import { default as Ns } from "./features/milestone/start/milestone-start.js";
199
- import { default as Os } from "./features/milestone/intro-modal/index.js";
200
- import { default as Gs } from "./features/milestone/help-modals/milestone-list.js";
201
- import { default as Bs } from "./features/milestone/help-modals/milestone-lesson.js";
202
- import { default as bs } from "./features/milestone/milestone-tests/tests-creation/tests-creation.js";
203
- import { ACHIEVEMENT_ACTIONS as Us, STAGES as Ws } from "./features/milestone/outcome/milestone-outcome-constants.js";
204
- import { invalidateMilestonesData as ws, useGetAllMilestonesdata as Qs } from "./features/milestone/milestone-list-container/api/get-milestones.js";
205
- import { invalidateTestHelpData as Ys, useGetTestHelpData as Fs } from "./features/milestone/milestone-list-container/api/get-tests-list.js";
206
- import { invalidateMilestoneResources as js, useGetMilestoneResources as zs } from "./features/milestone/milestone-list-container/api/get-milestone-resources.js";
207
- import { default as qs } from "./features/pointer-sync/pointer.js";
208
- import { default as $s } from "./features/pointer-sync/hooks/use-pointer-sync.js";
209
- import { PostGameStats as ol } from "./features/post-game-stats/post-game-stats.js";
210
- import { EPostGameStat as rl } from "./features/post-game-stats/enums/post-game-stats-enum.js";
211
- import { default as fl } from "./features/sheet-tools/desmos-calculator/desmos-calculator.js";
212
- import { default as ll } from "./features/sheet-tools/tool-header/tool-header.js";
213
- import { default as ml } from "./features/sheets/sheets-list/sheets-list.js";
214
- import { default as dl } from "./features/sheets/reference-sheet/reference-sheet.js";
215
- import { isV3Worksheet as nl, isV3WorksheetAttempt as cl } from "./features/sheets/utils/is-v3-worksheet.js";
216
- import { COMPLETED_SHEET_STATE as il, NODE_LABELS as Tl, NODE_SUB_GROUP as El, NODE_TYPE as Sl, PYTHON_NODE_TYPES as Cl, REWARDS_LIST as Al, SHEET_ACTIONS as Pl, SHEET_ATTEMPT_LOCATION as Ml, SHEET_ATTEMPT_LOCATION_MAP as _l, SHEET_ATTEMPT_STATE as hl, SHEET_DATA_TYPE as Ll, SHEET_STATE as kl } from "./features/sheets/constants/sheet.js";
217
- import { default as Nl } from "./features/student-details/student-details.js";
218
- import { default as Ol } from "./features/utils/load-script.js";
219
- import { ACTION_BAR_HEIGHT as Gl, QUESTIONS_GAP as yl, QUESTION_WIDTH as Bl, TOP_NAVIGATION_HEIGHT as gl } from "./features/worksheet/worksheet/constants.js";
220
- import { isOkayTypeQuestion as vl } from "./features/worksheet/worksheet/worksheet-helpers.js";
221
- import { default as Wl } from "./features/worksheet/worksheet/worksheet-container.js";
222
- import { default as wl } from "./features/worksheet/worksheet-preview/worksheet-preview.js";
223
- import { default as Kl } from "./features/worksheet/worksheet/worksheet-permissions/sheet-locked.js";
224
- import { default as Fl } from "./features/worksheet/worksheet/worksheet-permissions/error.js";
225
- import { default as jl } from "./features/worksheet/learnosity-preloader/learnosity-preloader.js";
226
- import { default as Zl } from "./features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js";
227
- import { default as Xl } from "./features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js";
228
- import { default as ep } from "./features/maintenance/maintenance.js";
156
+ import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as Za } from "./features/circle-games/enum/circle-onboarding-steps.js";
157
+ import { GameLauncher as Xa } from "./features/circle-games/game-launcher/game-launcher.js";
158
+ import { useGetCircleHomeDetailsDal as ef } from "./features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js";
159
+ import { usePostUpdateCircleJourneyDal as tf } from "./features/circle-games/game-launcher/dal/use-post-update-circle-journey-dal/use-post-update-circle-journey-dal.js";
160
+ import { Leaderboard as af } from "./features/circle-games/leaderboard/leaderboard.js";
161
+ import { BackgroundImage as sf, CircularSteps as lf } from "./features/circle-games/sign-up/comp/circular-steps/circular-steps.js";
162
+ import { SplashScreen as mf } from "./features/circle-games/sign-up/comp/splash-screen/splash-screen.js";
163
+ import { SignUp as df } from "./features/circle-games/sign-up/sign-up.js";
164
+ import { default as nf } from "./features/cue-canvas/cue-canvas-provider.js";
165
+ import { default as If } from "./features/cue-canvas/toolbar/toolbar.js";
166
+ import { default as Ef } from "./features/cue-canvas/cue-canvas.js";
167
+ import { default as Cf } from "./features/cue-canvas/hooks/use-canvas-sync-broker.js";
168
+ import { default as Pf } from "./features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
169
+ import { default as Mf } from "./features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
170
+ import { EVENTS as Lf } from "./features/communication/pub-sub/constants.js";
171
+ import { useInClassActionDispatcher as Nf, useInClassActionListener as Hf } from "./features/communication/pub-sub/hooks.js";
172
+ import { default as Rf } from "./features/trial-session/trial-session.js";
173
+ import { EClassTimeAlertLevel as Gf } from "./features/trial-session/trial-session-types.js";
174
+ import { useClassTimeAlerts as Bf } from "./features/trial-session/hooks/use-class-time-alerts.js";
175
+ import { default as bf } from "./features/extra-practice/extra-practice.js";
176
+ import { useAutoPlayPermission as Uf } from "./features/hooks/use-auto-play-permission/use-auto-play-permission.js";
177
+ import { JOURNEY_ID_STUDENT as Vf } from "./features/journey/journey-id/journey-id-student.js";
178
+ import { useJourney as Qf } from "./features/journey/use-journey/use-journey.js";
179
+ import { JourneyProvider as Kf } from "./features/journey/use-journey/journey-context-provider.js";
180
+ import { IndicatorType as Jf } from "./features/journey/use-journey/constants.js";
181
+ import { Coachmark as zf } from "./features/journey/comps/coachmark/coachmark.js";
182
+ import { default as qf } from "./features/milestone/create/submit-modal/submit-modal.js";
183
+ import { default as $f } from "./features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js";
184
+ import { default as os } from "./features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js";
185
+ import { default as rs } from "./features/milestone/create/milestone-create-container.js";
186
+ import { default as fs } from "./features/milestone/drafts/create/draft-create-container.js";
187
+ import { default as ls } from "./features/milestone/drafts/edit/draft-edit-container.js";
188
+ import { default as ms } from "./features/milestone/drafts/goal-edit/goal-draft-edit-container.js";
189
+ import { default as ds } from "./features/milestone/drafts/review/draft-review-container.js";
190
+ import { default as ns } from "./features/milestone/outcome/milestone-outcome-container.js";
191
+ import { default as Is } from "./features/milestone/edit/comps/edit-milestone-modal/share-screen.js";
192
+ import { default as Ts } from "./features/milestone/outcome/comps/achievement/reason-submit-modal.js";
193
+ import { default as Ss } from "./features/milestone/outcome/comps/achievement/share-instructions-modal.js";
194
+ import { default as As } from "./features/milestone/edit/comps/edit-milestone-modal/index.js";
195
+ import { default as _s } from "./features/milestone/edit/goal-edit-container.js";
196
+ import { default as hs } from "./features/milestone/edit/milestone-edit-container.js";
197
+ import { default as ks } from "./features/milestone/milestone-list-container/milestone-list-container.js";
198
+ import { default as Hs } from "./features/milestone/milestone-action-widget/milestone-action-widget.js";
199
+ import { default as Rs } from "./features/milestone/start/milestone-start.js";
200
+ import { default as Gs } from "./features/milestone/intro-modal/index.js";
201
+ import { default as Bs } from "./features/milestone/help-modals/milestone-list.js";
202
+ import { default as bs } from "./features/milestone/help-modals/milestone-lesson.js";
203
+ import { default as Us } from "./features/milestone/milestone-tests/tests-creation/tests-creation.js";
204
+ import { ACHIEVEMENT_ACTIONS as Vs, STAGES as ws } from "./features/milestone/outcome/milestone-outcome-constants.js";
205
+ import { invalidateMilestonesData as Ys, useGetAllMilestonesdata as Ks } from "./features/milestone/milestone-list-container/api/get-milestones.js";
206
+ import { invalidateTestHelpData as Js, useGetTestHelpData as js } from "./features/milestone/milestone-list-container/api/get-tests-list.js";
207
+ import { invalidateMilestoneResources as Zs, useGetMilestoneResources as qs } from "./features/milestone/milestone-list-container/api/get-milestone-resources.js";
208
+ import { default as $s } from "./features/pointer-sync/pointer.js";
209
+ import { default as ol } from "./features/pointer-sync/hooks/use-pointer-sync.js";
210
+ import { PostGameStats as rl } from "./features/post-game-stats/post-game-stats.js";
211
+ import { EPostGameStat as fl } from "./features/post-game-stats/enums/post-game-stats-enum.js";
212
+ import { default as ll } from "./features/sheet-tools/desmos-calculator/desmos-calculator.js";
213
+ import { default as ml } from "./features/sheet-tools/tool-header/tool-header.js";
214
+ import { default as dl } from "./features/sheets/sheets-list/sheets-list.js";
215
+ import { default as nl } from "./features/sheets/reference-sheet/reference-sheet.js";
216
+ import { isV3Worksheet as Il, isV3WorksheetAttempt as il } from "./features/sheets/utils/is-v3-worksheet.js";
217
+ import { COMPLETED_SHEET_STATE as El, NODE_LABELS as Sl, NODE_SUB_GROUP as Cl, NODE_TYPE as Al, PYTHON_NODE_TYPES as Pl, REWARDS_LIST as _l, SHEET_ACTIONS as Ml, SHEET_ATTEMPT_LOCATION as hl, SHEET_ATTEMPT_LOCATION_MAP as Ll, SHEET_ATTEMPT_STATE as kl, SHEET_DATA_TYPE as Nl, SHEET_STATE as Hl } from "./features/sheets/constants/sheet.js";
218
+ import { default as Rl } from "./features/student-details/student-details.js";
219
+ import { default as Gl } from "./features/utils/load-script.js";
220
+ import { ACTION_BAR_HEIGHT as Bl, QUESTIONS_GAP as gl, QUESTION_WIDTH as bl, TOP_NAVIGATION_HEIGHT as vl } from "./features/worksheet/worksheet/constants.js";
221
+ import { isOkayTypeQuestion as Wl } from "./features/worksheet/worksheet/worksheet-helpers.js";
222
+ import { default as wl } from "./features/worksheet/worksheet/worksheet-container.js";
223
+ import { default as Yl } from "./features/worksheet/worksheet-preview/worksheet-preview.js";
224
+ import { default as Fl } from "./features/worksheet/worksheet/worksheet-permissions/sheet-locked.js";
225
+ import { default as jl } from "./features/worksheet/worksheet/worksheet-permissions/error.js";
226
+ import { default as Zl } from "./features/worksheet/learnosity-preloader/learnosity-preloader.js";
227
+ import { default as Xl } from "./features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js";
228
+ import { default as ep } from "./features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js";
229
+ import { default as tp } from "./features/maintenance/maintenance.js";
229
230
  export {
230
- Us as ACHIEVEMENT_ACTIONS,
231
+ Vs as ACHIEVEMENT_ACTIONS,
231
232
  Pt as AccordionSection,
232
- Is as AchievementNotShareReasonModal,
233
- Ts as AchievementShareInstructionModal,
234
- ns as AddRemoveChapters,
233
+ Ts as AchievementNotShareReasonModal,
234
+ Ss as AchievementShareInstructionModal,
235
+ Is as AddRemoveChapters,
235
236
  u as AlertIcon,
236
237
  cr as AppLoader,
237
238
  Wt as ArcButton,
238
- _t as ArrowTooltip,
239
+ Mt as ArrowTooltip,
239
240
  it as AutoPlayPermissionProvider,
240
241
  br as Avatar,
241
242
  Xo as Back2Icon,
242
243
  x as BackIcon,
243
- af as BackgroundImage,
244
+ sf as BackgroundImage,
244
245
  i as Bin2Icon,
245
246
  c as BinIcon,
246
247
  P as Book2Icon,
247
248
  E as BookClosedIcon,
248
249
  C as BookIcon,
249
- _ as BookmarkIcon,
250
- H as Bulb2Icon,
250
+ M as BookmarkIcon,
251
+ N as Bulb2Icon,
251
252
  L as BulbIcon,
252
- Rt as Button,
253
- il as COMPLETED_SHEET_STATE,
254
- D as CalendarIcon,
253
+ Dt as Button,
254
+ Za as CIRCLE_ONBOARDING_ANALYTICS_STEPS,
255
+ El as COMPLETED_SHEET_STATE,
256
+ O as CalendarIcon,
255
257
  Lr as Callout,
256
258
  ar as CascadingSelectInput,
257
259
  la as Chapter,
258
- $f as ChapterClearanceConfirmationModal,
260
+ os as ChapterClearanceConfirmationModal,
259
261
  ma as ChaptersList,
260
262
  ut as ChatIcon,
261
263
  y as Check2Icon,
262
- R as CheckIcon,
263
- Kt as CheckboxInput,
264
+ D as CheckIcon,
265
+ Yt as CheckboxInput,
264
266
  Ft as CheckboxInputList,
265
267
  at as ChevronDownIcon,
266
268
  tt as ChevronLeftIcon,
267
269
  et as ChevronRightIcon,
268
- Ha as CircleSoundKey,
270
+ Na as CircleSoundKey,
269
271
  ir as CircularLoader,
270
- ff as CircularSteps,
272
+ lf as CircularSteps,
271
273
  yt as Clickable,
272
274
  g as ClipboardIcon,
273
275
  W as Clock2Icon,
274
276
  v as ClockIcon,
275
- Jf as Coachmark,
277
+ zf as Coachmark,
276
278
  w as CodeIcon,
277
279
  Lt as ContextMenu,
278
- K as CopyIcon,
279
- Ht as CountdownTimer,
280
+ Y as CopyIcon,
281
+ Nt as CountdownTimer,
280
282
  F as CrossIcon,
281
- If as CueCanvas,
282
- nf as CueCanvasController,
283
- df as CueCanvasProvider,
283
+ Ef as CueCanvas,
284
+ If as CueCanvasController,
285
+ nf as CueCanvasProvider,
284
286
  j as CueRocket,
285
287
  xt as CuemathLogo,
286
288
  Z as DashArrowIcon,
287
- fl as DesmosCalculator,
289
+ ll as DesmosCalculator,
288
290
  X as DownIcon,
289
291
  ee as DraftIcon,
290
292
  te as DragIcon,
291
- Of as EClassTimeAlertLevel,
292
- _a as ELeaderboardType,
293
- rl as EPostGameStat,
294
- _f as EVENTS,
293
+ Gf as EClassTimeAlertLevel,
294
+ Ma as ELeaderboardType,
295
+ fl as EPostGameStat,
296
+ Lf as EVENTS,
295
297
  se as Edit2Icon,
296
298
  ae as EditIcon,
297
- Ss as EditMilestoneModal,
299
+ As as EditMilestoneModal,
298
300
  pe as EditStarIcon,
299
301
  ue as EraserIcon,
300
302
  wt as Error,
301
- ll as ExpandableHeader,
302
- Bf as ExtraPractice,
303
+ ml as ExpandableHeader,
304
+ bf as ExtraPractice,
303
305
  ce as Eye2Icon,
304
306
  xe as EyeIcon,
305
307
  xr as FlexView,
@@ -307,10 +309,10 @@ export {
307
309
  Ca as GAME_LAUNCHER_SIZE,
308
310
  st as GameIcon,
309
311
  ya as GameId,
310
- Za as GameLauncher,
311
- qf as GoalCreationConfirmationModal,
312
- ls as GoalDraftEdit,
313
- As as GoalEdit,
312
+ Xa as GameLauncher,
313
+ $f as GoalCreationConfirmationModal,
314
+ ms as GoalDraftEdit,
315
+ _s as GoalEdit,
314
316
  er as GooglePlacesSearchInput,
315
317
  t as GradeSelector,
316
318
  ie as HandIcon,
@@ -321,50 +323,50 @@ export {
321
323
  p as IMAGES,
322
324
  ja as IStatsToAwardErrorCode,
323
325
  gt as IconButton,
324
- _e as ImageIcon,
325
- Yf as IndicatorType,
326
- He as Info2Icon,
326
+ Me as ImageIcon,
327
+ Jf as IndicatorType,
328
+ Ne as Info2Icon,
327
329
  Le as InfoIcon,
328
- Uf as JOURNEY_ID_STUDENT,
329
- Qf as JourneyProvider,
330
+ Vf as JOURNEY_ID_STUDENT,
331
+ Kf as JourneyProvider,
330
332
  da as LPARChapter,
331
333
  na as LPARMilestoneChapter,
332
- tf as Leaderboard,
333
- jl as LearnosityPreloader,
334
- De as LeftIcon,
334
+ af as Leaderboard,
335
+ Zl as LearnosityPreloader,
336
+ Oe as LeftIcon,
335
337
  Ba as LessonId,
336
338
  ye as Lock2Icon,
337
- Re as LockIcon,
338
- ep as Maintenance,
339
- ks as MilestoneActionWidget,
340
- os as MilestoneCreate,
341
- rs as MilestoneDraftCreate,
342
- fs as MilestoneDraftEdit,
343
- ms as MilestoneDraftReview,
344
- Ms as MilestoneEdit,
345
- Os as MilestoneIntroModal,
346
- Bs as MilestoneLessonHelpModal,
347
- hs as MilestoneList,
348
- Gs as MilestoneListHelpModal,
349
- ds as MilestoneOutcome,
350
- Ns as MilestoneStart,
339
+ De as LockIcon,
340
+ tp as Maintenance,
341
+ Hs as MilestoneActionWidget,
342
+ rs as MilestoneCreate,
343
+ fs as MilestoneDraftCreate,
344
+ ls as MilestoneDraftEdit,
345
+ ds as MilestoneDraftReview,
346
+ hs as MilestoneEdit,
347
+ Gs as MilestoneIntroModal,
348
+ bs as MilestoneLessonHelpModal,
349
+ ks as MilestoneList,
350
+ Bs as MilestoneListHelpModal,
351
+ ns as MilestoneOutcome,
352
+ Rs as MilestoneStart,
351
353
  ga as MiniGameId,
352
354
  ve as Minus2Icon,
353
355
  ge as MinusIcon,
354
356
  We as MistakeIcon,
355
357
  we as Mobile,
356
- Ke as MoreVerticalIcon,
358
+ Ye as MoreVerticalIcon,
357
359
  fa as MultiTabBlocker,
358
- Tl as NODE_LABELS,
359
- El as NODE_SUB_GROUP,
360
- Sl as NODE_TYPE,
360
+ Sl as NODE_LABELS,
361
+ Cl as NODE_SUB_GROUP,
362
+ Al as NODE_TYPE,
361
363
  ct as Next2Icon,
362
364
  Fe as NextIcon,
363
- Dt as Nudge,
365
+ Ot as Nudge,
364
366
  sr as NumRangeInput,
365
367
  qr as PLATFORM_EVENTS_STUDENT,
366
368
  $r as PLATFORM_EVENTS_TEACHER,
367
- Cl as PYTHON_NODE_TYPES,
369
+ Pl as PYTHON_NODE_TYPES,
368
370
  je as PencilIcon,
369
371
  pr as PercentileInput,
370
372
  zr as PerfectHits,
@@ -374,114 +376,114 @@ export {
374
376
  ao as Plus2Icon,
375
377
  to as PlusIcon,
376
378
  Ze as PointerIcon,
377
- ol as PostGameStats,
379
+ rl as PostGameStats,
378
380
  so as PracticeIcon,
379
- wl as PreviewWorksheet,
381
+ Yl as PreviewWorksheet,
380
382
  po as ProgressIcon,
381
383
  ba as ProjectId,
382
384
  Wa as ProjectOutcome,
383
- Ka as ProjectType,
385
+ Ya as ProjectType,
384
386
  va as PuzzleId,
385
387
  uo as QuestionIcon,
386
388
  no as QuestionLetterIcon,
387
- Al as REWARDS_LIST,
389
+ _l as REWARDS_LIST,
388
390
  Er as RadioCard,
389
391
  jt as RadioInput,
390
392
  Io as RedoIcon,
391
- dl as ReferenceSheet,
392
- qs as RemotePeerPointer,
393
+ nl as ReferenceSheet,
394
+ $s as RemotePeerPointer,
393
395
  To as RightIcon,
394
396
  So as RulerIcon,
395
397
  Ia as SATSheetSummary,
396
- Pl as SHEET_ACTIONS,
397
- Ml as SHEET_ATTEMPT_LOCATION,
398
- _l as SHEET_ATTEMPT_LOCATION_MAP,
399
- hl as SHEET_ATTEMPT_STATE,
400
- Ll as SHEET_DATA_TYPE,
401
- kl as SHEET_STATE,
402
- Ws as STAGES,
398
+ Ml as SHEET_ACTIONS,
399
+ hl as SHEET_ATTEMPT_LOCATION,
400
+ Ll as SHEET_ATTEMPT_LOCATION_MAP,
401
+ kl as SHEET_ATTEMPT_STATE,
402
+ Nl as SHEET_DATA_TYPE,
403
+ Hl as SHEET_STATE,
404
+ ws as STAGES,
403
405
  zo as ScribbleIcon,
404
406
  Ao as SearchIcon,
405
407
  Xt as SearchableSelectInput,
406
408
  Cr as SectionList,
407
409
  Zt as SelectInput,
408
410
  ur as SelectionCards,
409
- Yr as Separator,
410
- Fl as SheetError,
411
- ml as SheetList,
412
- Kl as SheetLocked,
413
- mf as SignUp,
411
+ Kr as Separator,
412
+ jl as SheetError,
413
+ dl as SheetList,
414
+ Fl as SheetLocked,
415
+ df as SignUp,
414
416
  Zo as SketchIcon,
415
417
  ko as Skip2Icon,
416
418
  ho as SkipIcon,
417
- lf as SplashScreen,
418
- No as Star2Icon,
419
- Mo as StarIcon,
419
+ mf as SplashScreen,
420
+ Ho as Star2Icon,
421
+ _o as StarIcon,
420
422
  a as Stepper,
421
423
  Qr as StreakIcon,
422
- Oo as StrikedEyeIcon,
423
- Nl as StudentDetails,
424
- zf as SubmitMilestoneModal,
424
+ Ro as StrikedEyeIcon,
425
+ Rl as StudentDetails,
426
+ qf as SubmitMilestoneModal,
425
427
  Go as SwitchIcon,
426
428
  Vr as TabComponent,
427
- _r as Tag,
428
- bs as TestsCreation,
429
+ Mr as Tag,
430
+ Us as TestsCreation,
429
431
  Pr as Text,
430
432
  vt as TextButton,
431
433
  tr as TextInput,
432
434
  Bo as TickIcon,
433
435
  Ur as TimeLeftTimeline,
434
- Nf as TrialSession,
436
+ Rf as TrialSession,
435
437
  bo as TrophyIcon,
436
- Da as Tutorial,
438
+ Oa as Tutorial,
437
439
  pt as TutoringIcon,
438
- Hr as UIContext,
440
+ Nr as UIContext,
439
441
  Uo as UndoIcon,
440
442
  Vo as UnlockIcon,
441
443
  Qo as UpIcon,
442
444
  Jo as User2Icon,
443
- Yo as UserIcon,
445
+ Ko as UserIcon,
444
446
  Jr as Video,
445
447
  oa as WHITELIST_EVENTS,
446
- Gl as WORKSHEET_ACTION_BAR_HEIGHT,
447
- yl as WORKSHEET_QUESTIONS_GAP,
448
- Bl as WORKSHEET_QUESTION_WIDTH,
449
- gl as WORKSHEET_TOP_NAVIGATION_HEIGHT,
450
- Ra as WebView,
448
+ Bl as WORKSHEET_ACTION_BAR_HEIGHT,
449
+ gl as WORKSHEET_QUESTIONS_GAP,
450
+ bl as WORKSHEET_QUESTION_WIDTH,
451
+ vl as WORKSHEET_TOP_NAVIGATION_HEIGHT,
452
+ Da as WebView,
451
453
  wa as WebViewEvent,
452
- Wl as Worksheet,
454
+ wl as Worksheet,
453
455
  Ta as checkIfPPTNodeType,
454
456
  Br as getTheme,
455
- js as invalidateMilestoneResources,
456
- ws as invalidateMilestonesData,
457
- Ys as invalidateTestHelpData,
458
- vl as isOkayTypeQuestion,
459
- nl as isV3Worksheet,
460
- cl as isV3WorksheetAttempt,
461
- Ol as loadScript,
462
- bf as useAutoPlayPermission,
463
- Ef as useCanvasSyncBroker,
457
+ Zs as invalidateMilestoneResources,
458
+ Ys as invalidateMilestonesData,
459
+ Js as invalidateTestHelpData,
460
+ Wl as isOkayTypeQuestion,
461
+ Il as isV3Worksheet,
462
+ il as isV3WorksheetAttempt,
463
+ Gl as loadScript,
464
+ Uf as useAutoPlayPermission,
465
+ Cf as useCanvasSyncBroker,
464
466
  La as useCircleSounds,
465
- Gf as useClassTimeAlerts,
467
+ Bf as useClassTimeAlerts,
466
468
  Gr as useContextMenuClickHandler,
467
469
  Ct as useForceReload,
468
- Qs as useGetAllMilestonesdata,
469
- Xa as useGetCircleHomeDetailsDal,
470
+ Ks as useGetAllMilestonesdata,
471
+ ef as useGetCircleHomeDetailsDal,
470
472
  Pa as useGetLeaderboardDal,
471
- zs as useGetMilestoneResources,
472
- Fs as useGetTestHelpData,
473
- Lf as useInClassActionDispatcher,
474
- kf as useInClassActionListener,
475
- Cf as useInClassMessageBroker,
476
- Zl as useIsLearnosityLoaded,
473
+ qs as useGetMilestoneResources,
474
+ js as useGetTestHelpData,
475
+ Nf as useInClassActionDispatcher,
476
+ Hf as useInClassActionListener,
477
+ Pf as useInClassMessageBroker,
478
+ Xl as useIsLearnosityLoaded,
477
479
  ra as useIsTabBlocked,
478
- Vf as useJourney,
479
- $s as usePointerSync,
480
- ef as usePostUpdateCircleJourneyDal,
481
- Or as useTrackingContext,
482
- Pf as useTrialSessionMessageBroker,
483
- Nr as useUIContext,
484
- Xl as useWorksheetLayout,
480
+ Qf as useJourney,
481
+ ol as usePointerSync,
482
+ tf as usePostUpdateCircleJourneyDal,
483
+ Rr as useTrackingContext,
484
+ Mf as useTrialSessionMessageBroker,
485
+ Hr as useUIContext,
486
+ ep as useWorksheetLayout,
485
487
  Et as useZoomDisable
486
488
  };
487
489
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "2.8.21-rj-12",
3
+ "version": "2.8.21-rj-15",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,5 +0,0 @@
1
- var a = /* @__PURE__ */ ((t) => (t.LESSON_ACTIVITY = "skill_activity", t.GAMES_ACTIVITY = "games_activity", t.PUZZLE_ACTIVITY = "puzzle_activity", t.TUTORIAL = "tutorial", t.POINTS = "points", t.STREAK = "streak", t.LEADERBOARD = "leaderboard", t))(a || {});
2
- export {
3
- a as CIRCLE_ONBOARDING_ANALYTICS_STEPS
4
- };
5
- //# sourceMappingURL=CircleOnboardingSteps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CircleOnboardingSteps.js","sources":["../../../../src/features/circle-games/enum/CircleOnboardingSteps.ts"],"sourcesContent":["export enum CIRCLE_ONBOARDING_ANALYTICS_STEPS {\n LESSON_ACTIVITY = 'skill_activity',\n GAMES_ACTIVITY = 'games_activity',\n PUZZLE_ACTIVITY = 'puzzle_activity',\n TUTORIAL = 'tutorial',\n POINTS = 'points',\n STREAK = 'streak',\n LEADERBOARD = 'leaderboard',\n}\n"],"names":["CIRCLE_ONBOARDING_ANALYTICS_STEPS"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,kBAClBA,EAAA,iBAAiB,kBACjBA,EAAA,kBAAkB,mBAClBA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,cAAc,eAPJA,IAAAA,KAAA,CAAA,CAAA;"}