@cuemath/leap 2.8.41 → 2.8.43-rj-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/line-icons/icons/carat-left.js +26 -0
- package/dist/assets/line-icons/icons/carat-left.js.map +1 -0
- package/dist/assets/line-icons/icons/carat-right.js +26 -0
- package/dist/assets/line-icons/icons/carat-right.js.map +1 -0
- package/dist/features/circle-games/enum/circle-onboarding-steps.js +1 -1
- package/dist/features/circle-games/enum/circle-onboarding-steps.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js +20 -11
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js +53 -47
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +159 -130
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +20 -16
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +95 -68
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/constants.js +9 -0
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +217 -0
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/constants.js +13 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey-styled.js +13 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +205 -0
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -0
- package/dist/features/journey/journey-id/journey-id-student.js +1 -1
- package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js +10 -8
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/package.json +1 -1
- package/dist/features/circle-games/game-launcher/use-game-launcher-journey/constants.js +0 -7
- package/dist/features/circle-games/game-launcher/use-game-launcher-journey/constants.js.map +0 -1
- package/dist/features/circle-games/game-launcher/use-game-launcher-journey/use-game-launcher-journey.js +0 -213
- package/dist/features/circle-games/game-launcher/use-game-launcher-journey/use-game-launcher-journey.js.map +0 -1
@@ -0,0 +1,205 @@
|
|
1
|
+
import { jsx as r, Fragment as L } from "react/jsx-runtime";
|
2
|
+
import { useRef as I, useCallback as p } from "react";
|
3
|
+
import F from "../../../../../assets/line-icons/icons/carat-right.js";
|
4
|
+
import { PLATFORM_EVENTS_STUDENT as B } from "../../../../analytics-events/platform-events-student.js";
|
5
|
+
import { JOURNEY_ID_STUDENT as V } from "../../../../journey/journey-id/journey-id-student.js";
|
6
|
+
import { IndicatorType as d } from "../../../../journey/use-journey/constants.js";
|
7
|
+
import { useJourney as J } from "../../../../journey/use-journey/use-journey.js";
|
8
|
+
import X from "../../../../ui/buttons/icon-button/icon-button.js";
|
9
|
+
import { useUIContext as K } from "../../../../ui/context/context.js";
|
10
|
+
import b from "../../../../ui/layout/flex-view.js";
|
11
|
+
import m from "../../../../ui/text/text.js";
|
12
|
+
import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as U } from "../../../enum/circle-onboarding-steps.js";
|
13
|
+
import { useCircleSounds as j } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
|
14
|
+
import { TablesCard as G } from "../../comps/tables-card/tables-card.js";
|
15
|
+
import { GAME_LAUNCHER_ANALYTICS_EVENTS as Z } from "../../game-launcher-analytics-events.js";
|
16
|
+
import { SHOW_PICK_A_LEVEL_TOOLTIP_AFTER_MS as q, SHOW_PICK_A_LEVEL_NUDGE_AFTER_MS as z, START_ANIMATING_CLONED_ELEM as v, TABLE_CARD_INDEX as M, GO_TO_TABLE_LAUNCHER_DURATION_MS as Q, SHOW_CLICK_TABLE_NUDGE_AFTER_MS as ee, PUZZLE_CARD_INDEX as te, SHOW_INITIAL_COACHMARK_AFTER_MS as $, SHOW_INITIAL_TOOLTIP_AFTER_MS as re } from "./constants.js";
|
17
|
+
import { Indicator as ne } from "./use-table-launcher-journey-styled.js";
|
18
|
+
const Ce = ({
|
19
|
+
carouselRefs: s,
|
20
|
+
onTableSegmentClick: O,
|
21
|
+
onJourneyComplete: R
|
22
|
+
}) => {
|
23
|
+
const e = V.CIRCLE_TABLES_INTRO_JOURNEY, t = I(null), f = I(null), N = I(!1), { playButtonSound: P } = j(), { nextCoachmark: n, setJourney: S, addCoachmark: a } = J(), { onEvent: _ } = K(), A = p(
|
24
|
+
(l) => {
|
25
|
+
var c, i;
|
26
|
+
l && O(l), _(B.ONBOARDING_STEP_COMPLETED, {
|
27
|
+
step: U.TABLES
|
28
|
+
}), (c = t == null ? void 0 : t.current) == null || c.setLabelVisiblity(!0), (i = t == null ? void 0 : t.current) == null || i.stopLabelAnimation(), R(e), n(e, !1);
|
29
|
+
},
|
30
|
+
[e, n, R, O, _]
|
31
|
+
), H = p(
|
32
|
+
(l, c) => {
|
33
|
+
var g, T, E;
|
34
|
+
if (!((g = t.current) != null && g.segmentedCardWrapperRef.current) || !((T = t.current) != null && T.labelRef.current))
|
35
|
+
return;
|
36
|
+
const i = t.current.labelRef.current.getBoundingClientRect(), o = (E = t.current) == null ? void 0 : E.segmentedCardWrapperRef.current.getBoundingClientRect();
|
37
|
+
a(e, {
|
38
|
+
originalElementToHighlightRef: t.current.segmentedCardWrapperRef,
|
39
|
+
isActive: !1,
|
40
|
+
type: d.TOOLTIP,
|
41
|
+
elementToHighlight: /* @__PURE__ */ r(
|
42
|
+
G,
|
43
|
+
{
|
44
|
+
ref: f,
|
45
|
+
defaultTable: c,
|
46
|
+
label: l.label,
|
47
|
+
data: l.data,
|
48
|
+
onPress: A,
|
49
|
+
onGoBackFromTableLevel: A
|
50
|
+
}
|
51
|
+
),
|
52
|
+
indicator: {
|
53
|
+
position: "left",
|
54
|
+
backgroundColor: "YELLOW_4",
|
55
|
+
width: 236,
|
56
|
+
tooltipItem: /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(m, { $renderAs: "ab2-bold", children: "Each table has 3 levels—clear them and earn 3 stars!" }) }),
|
57
|
+
tooltipXCoOrdinates: 0,
|
58
|
+
tooltipYCoOrdinates: i.height * 0.35
|
59
|
+
}
|
60
|
+
}), a(e, {
|
61
|
+
originalElementToHighlightRef: t.current.segmentedCardWrapperRef,
|
62
|
+
isActive: !1,
|
63
|
+
type: d.NUDGE,
|
64
|
+
indicator: {
|
65
|
+
nudge: "click",
|
66
|
+
content: /* @__PURE__ */ r(m, { $renderAs: "ab1", $color: "WHITE", children: "Pick a level" }),
|
67
|
+
nudgePointerX: o.width / 2 + 50,
|
68
|
+
nudgePointerY: o.height * 0.4
|
69
|
+
},
|
70
|
+
elementToHighlight: /* @__PURE__ */ r(L, {})
|
71
|
+
}), n(e, !1, q), n(e, !0, z);
|
72
|
+
const u = setTimeout(() => {
|
73
|
+
var h;
|
74
|
+
clearTimeout(u), (h = f.current) == null || h.startLabelAnimation("YELLOW_4");
|
75
|
+
}, v);
|
76
|
+
},
|
77
|
+
[a, A, e, n]
|
78
|
+
), C = p(() => {
|
79
|
+
var i;
|
80
|
+
P(), (i = s.current) == null || i.goToIndex(M), n(e, !1, Q), _(B.ONBOARDING_STEP_VIEWED, {
|
81
|
+
step: U.TABLES
|
82
|
+
});
|
83
|
+
const l = setTimeout(() => {
|
84
|
+
var o;
|
85
|
+
clearTimeout(l), (o = t.current) == null || o.setLabelVisiblity(!1), n(e, !0);
|
86
|
+
}, ee), c = setTimeout(() => {
|
87
|
+
var o;
|
88
|
+
clearTimeout(c), (o = f.current) == null || o.startLabelAnimation("YELLOW_4");
|
89
|
+
}, v);
|
90
|
+
}, [s, e, n, P, _]), x = p(
|
91
|
+
(l, c = !1) => {
|
92
|
+
var E, h, y, W, D, Y, k;
|
93
|
+
if (N.current)
|
94
|
+
return;
|
95
|
+
const i = (E = s.current) == null ? void 0 : E.indicatorRefs, o = (h = s.current) == null ? void 0 : h.nextBtnRef, u = i == null ? void 0 : i[M];
|
96
|
+
if (!((y = t.current) != null && y.segmentedCardWrapperRef.current) || !((W = t.current) != null && W.labelRef.current) || !i || !(o != null && o.current) || !u || !u.current)
|
97
|
+
return;
|
98
|
+
N.current = !0;
|
99
|
+
const g = t.current.labelRef.current.getBoundingClientRect(), T = (D = t.current) == null ? void 0 : D.segmentedCardWrapperRef.current.getBoundingClientRect();
|
100
|
+
S(e, []), c ? (a(e, {
|
101
|
+
originalElementToHighlightRef: u,
|
102
|
+
isActive: !1,
|
103
|
+
type: d.TOOLTIP,
|
104
|
+
elementToHighlight: /* @__PURE__ */ r(ne, { $isActive: !1 }),
|
105
|
+
indicator: {
|
106
|
+
position: "bottom",
|
107
|
+
backgroundColor: "YELLOW_4",
|
108
|
+
width: 52,
|
109
|
+
tooltipItem: /* @__PURE__ */ r(
|
110
|
+
b,
|
111
|
+
{
|
112
|
+
$position: "absolute",
|
113
|
+
$flexDirection: "row",
|
114
|
+
style: { top: 6, left: 8, cursor: "pointer" },
|
115
|
+
onClick: C,
|
116
|
+
children: /* @__PURE__ */ r(m, { $renderAs: "ab2-bold", children: "NEW" })
|
117
|
+
}
|
118
|
+
),
|
119
|
+
tooltipYCoOrdinates: 14
|
120
|
+
// Need some offset in Y direction from top
|
121
|
+
}
|
122
|
+
}), a(e, {
|
123
|
+
originalElementToHighlightRef: u,
|
124
|
+
isActive: !1,
|
125
|
+
type: d.NUDGE,
|
126
|
+
indicator: {
|
127
|
+
nudge: "click",
|
128
|
+
content: "",
|
129
|
+
nudgePointerY: 20
|
130
|
+
},
|
131
|
+
elementToHighlight: /* @__PURE__ */ r(L, {})
|
132
|
+
}), n(e, !1, $), n(e, !0, re)) : (a(e, {
|
133
|
+
originalElementToHighlightRef: (Y = s.current) == null ? void 0 : Y.nextBtnRef,
|
134
|
+
isActive: !1,
|
135
|
+
type: d.NUDGE,
|
136
|
+
indicator: {
|
137
|
+
nudge: "click",
|
138
|
+
content: /* @__PURE__ */ r(m, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
|
139
|
+
nudgePointerX: 0,
|
140
|
+
nudgePointerY: 0
|
141
|
+
},
|
142
|
+
elementToHighlight: /* @__PURE__ */ r(
|
143
|
+
X,
|
144
|
+
{
|
145
|
+
renderAs: "secondary",
|
146
|
+
Icon: F,
|
147
|
+
onClick: C,
|
148
|
+
analyticsLabel: Z.JOURNEY_NEXT_ACTIVITY
|
149
|
+
}
|
150
|
+
)
|
151
|
+
}), (k = s.current) == null || k.goToIndex(te), n(e, !1, $)), a(e, {
|
152
|
+
originalElementToHighlightRef: t.current.labelRef,
|
153
|
+
isActive: !1,
|
154
|
+
type: d.TOOLTIP,
|
155
|
+
elementToHighlight: /* @__PURE__ */ r(L, {}),
|
156
|
+
indicator: {
|
157
|
+
position: "right",
|
158
|
+
backgroundColor: "YELLOW_4",
|
159
|
+
width: 264,
|
160
|
+
tooltipItem: /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(m, { $renderAs: "ab2-bold", children: "Get faster at multiplication! Practice everyday and become a Tables champ." }) }),
|
161
|
+
tooltipXCoOrdinates: g.width + 50,
|
162
|
+
tooltipYCoOrdinates: g.height / 2
|
163
|
+
}
|
164
|
+
}), a(e, {
|
165
|
+
originalElementToHighlightRef: t.current.segmentedCardWrapperRef,
|
166
|
+
isActive: !1,
|
167
|
+
type: d.NUDGE,
|
168
|
+
indicator: {
|
169
|
+
nudge: "click",
|
170
|
+
content: /* @__PURE__ */ r(m, { $renderAs: "ab1", $color: "WHITE", children: "Pick a table to start" }),
|
171
|
+
nudgePointerX: T.width / 2 + 50,
|
172
|
+
nudgePointerY: T.height / 2
|
173
|
+
},
|
174
|
+
elementToHighlight: /* @__PURE__ */ r(
|
175
|
+
G,
|
176
|
+
{
|
177
|
+
ref: f,
|
178
|
+
label: l.label,
|
179
|
+
data: l.data,
|
180
|
+
onPress: () => {
|
181
|
+
},
|
182
|
+
onPressTableSegment: (w) => H(l, w)
|
183
|
+
}
|
184
|
+
)
|
185
|
+
});
|
186
|
+
},
|
187
|
+
[
|
188
|
+
a,
|
189
|
+
s,
|
190
|
+
C,
|
191
|
+
H,
|
192
|
+
e,
|
193
|
+
n,
|
194
|
+
S
|
195
|
+
]
|
196
|
+
);
|
197
|
+
return {
|
198
|
+
tableRef: t,
|
199
|
+
startJourney: x
|
200
|
+
};
|
201
|
+
};
|
202
|
+
export {
|
203
|
+
Ce as useTableLauncherJourney
|
204
|
+
};
|
205
|
+
//# sourceMappingURL=use-table-launcher-journey.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-table-launcher-journey.js","sources":["../../../../../../src/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../../ui/nudge/nudge-types';\nimport type { ITableCardRef, ITableDetails } from '../../comps/tables-card/tables-card-types';\nimport type {\n ITableInfo,\n ITables,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseTableJourneyProps } from './use-table-launcher-journey-types';\n\nimport { useCallback, useRef } from 'react';\n\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport { PLATFORM_EVENTS_STUDENT } from '../../../../analytics-events/platform-events-student';\nimport { JOURNEY_ID_STUDENT } from '../../../../journey/journey-id/journey-id-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 Action } from '../../../enum/circle-onboarding-steps';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { TablesCard } from '../../comps/tables-card/tables-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport {\n PUZZLE_CARD_INDEX,\n SHOW_PICK_A_LEVEL_NUDGE_AFTER_MS,\n SHOW_PICK_A_LEVEL_TOOLTIP_AFTER_MS,\n TABLE_CARD_INDEX,\n} from './constants';\nimport {\n GO_TO_TABLE_LAUNCHER_DURATION_MS,\n SHOW_CLICK_TABLE_NUDGE_AFTER_MS,\n SHOW_INITIAL_COACHMARK_AFTER_MS,\n SHOW_INITIAL_TOOLTIP_AFTER_MS,\n START_ANIMATING_CLONED_ELEM,\n} from './constants';\nimport * as S from './use-table-launcher-journey-styled';\n\nexport const useTableLauncherJourney = ({\n carouselRefs,\n onTableSegmentClick,\n onJourneyComplete,\n}: IUseTableJourneyProps) => {\n const journeyId = JOURNEY_ID_STUDENT.CIRCLE_TABLES_INTRO_JOURNEY;\n const originalTableRef = useRef<ITableCardRef>(null);\n const highlightedTableRef = useRef<ITableCardRef>(null);\n const isJourneyInProgress = useRef(false);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney, addCoachmark } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const endJourney = useCallback(\n (tableDetails?: ITableDetails) => {\n // Only when User clicked on play\n if (tableDetails) {\n onTableSegmentClick(tableDetails);\n }\n trackAnalytics(PLATFORM_EVENTS_STUDENT.ONBOARDING_STEP_COMPLETED, {\n step: Action.TABLES,\n });\n\n // Reset original table card ref label\n originalTableRef?.current?.setLabelVisiblity(true);\n originalTableRef?.current?.stopLabelAnimation();\n onJourneyComplete(journeyId);\n nextCoachmark(journeyId, false);\n },\n [journeyId, nextCoachmark, onJourneyComplete, onTableSegmentClick, trackAnalytics],\n );\n\n const handleTableSegmentClick = useCallback(\n (launcherData: ITables, tableData: ITableInfo) => {\n if (\n !originalTableRef.current?.segmentedCardWrapperRef.current ||\n !originalTableRef.current?.labelRef.current\n ) {\n return;\n }\n\n const segmentedCardDims = originalTableRef.current.labelRef.current.getBoundingClientRect();\n const tableCardDims =\n originalTableRef.current?.segmentedCardWrapperRef.current.getBoundingClientRect();\n\n addCoachmark(journeyId, {\n originalElementToHighlightRef: originalTableRef.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: (\n <TablesCard\n ref={highlightedTableRef}\n defaultTable={tableData}\n label={launcherData.label}\n data={launcherData.data}\n onPress={endJourney}\n onGoBackFromTableLevel={endJourney}\n />\n ),\n indicator: {\n position: 'left',\n backgroundColor: 'YELLOW_4',\n width: 236,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">Each table has 3 levels—clear them and earn 3 stars!</Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: 0,\n tooltipYCoOrdinates: segmentedCardDims.height * 0.35,\n } as IArrowTooltipProps,\n });\n\n addCoachmark(journeyId, {\n originalElementToHighlightRef: originalTableRef.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Pick a level\n </Text>\n ),\n nudgePointerX: tableCardDims.width / 2 + 50,\n nudgePointerY: tableCardDims.height * 0.4,\n } as INudgeProps,\n elementToHighlight: <></>,\n });\n\n nextCoachmark(journeyId, false, SHOW_PICK_A_LEVEL_TOOLTIP_AFTER_MS); // Show coachmark => Each table has 3... and Hide the previous two\n nextCoachmark(journeyId, true, SHOW_PICK_A_LEVEL_NUDGE_AFTER_MS); // Show nudge => Pick a level\n\n const startAnimationOnLabelAgain = setTimeout(() => {\n clearTimeout(startAnimationOnLabelAgain);\n highlightedTableRef.current?.startLabelAnimation('YELLOW_4');\n }, START_ANIMATING_CLONED_ELEM);\n },\n [addCoachmark, endJourney, journeyId, nextCoachmark],\n );\n\n const goToTableLauncher = useCallback(() => {\n playButtonSound();\n carouselRefs.current?.goToIndex(TABLE_CARD_INDEX);\n nextCoachmark(journeyId, false, GO_TO_TABLE_LAUNCHER_DURATION_MS);\n\n trackAnalytics(PLATFORM_EVENTS_STUDENT.ONBOARDING_STEP_VIEWED, {\n step: Action.TABLES,\n });\n\n const showNudge = setTimeout(() => {\n clearTimeout(showNudge);\n originalTableRef.current?.setLabelVisiblity(false);\n nextCoachmark(journeyId, true);\n }, SHOW_CLICK_TABLE_NUDGE_AFTER_MS);\n\n const animateLabel = setTimeout(() => {\n clearTimeout(animateLabel);\n highlightedTableRef.current?.startLabelAnimation('YELLOW_4');\n }, START_ANIMATING_CLONED_ELEM);\n }, [carouselRefs, journeyId, nextCoachmark, playButtonSound, trackAnalytics]);\n\n const startJourney = useCallback(\n (tablesData: ITables, isTutorialOnboardingDone: boolean = false) => {\n if (isJourneyInProgress.current) {\n return;\n }\n\n const paginationList = carouselRefs.current?.indicatorRefs;\n const carouselNextBtnRef = carouselRefs.current?.nextBtnRef;\n const tablePaginationRef = paginationList?.[TABLE_CARD_INDEX];\n\n if (\n !originalTableRef.current?.segmentedCardWrapperRef.current ||\n !originalTableRef.current?.labelRef.current ||\n !paginationList ||\n !carouselNextBtnRef?.current ||\n !tablePaginationRef ||\n !tablePaginationRef.current\n ) {\n return;\n }\n\n isJourneyInProgress.current = true;\n\n const labelDims = originalTableRef.current.labelRef.current.getBoundingClientRect();\n const tableCardDims =\n originalTableRef.current?.segmentedCardWrapperRef.current.getBoundingClientRect();\n\n setJourney(journeyId, []);\n\n // TAKE THE USER TO THE TABLE CARD\n if (!isTutorialOnboardingDone) {\n addCoachmark(journeyId, {\n originalElementToHighlightRef: carouselRefs.current?.nextBtnRef,\n isActive: false,\n type: IndicatorType.NUDGE,\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 elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={goToTableLauncher}\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n });\n carouselRefs.current?.goToIndex(PUZZLE_CARD_INDEX);\n nextCoachmark(journeyId, false, SHOW_INITIAL_COACHMARK_AFTER_MS); // Show nudge => Click to proceed\n } else {\n addCoachmark(journeyId, {\n originalElementToHighlightRef: tablePaginationRef as React.RefObject<HTMLDivElement>,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <S.Indicator $isActive={false} />,\n indicator: {\n position: 'bottom',\n backgroundColor: 'YELLOW_4',\n width: 52,\n tooltipItem: (\n <FlexView\n $position=\"absolute\"\n $flexDirection=\"row\"\n style={{ top: 6, left: 8, cursor: 'pointer' }}\n onClick={goToTableLauncher}\n >\n <Text $renderAs=\"ab2-bold\">NEW</Text>\n </FlexView>\n ),\n tooltipYCoOrdinates: 14, // Need some offset in Y direction from top\n } as IArrowTooltipProps,\n });\n addCoachmark(journeyId, {\n originalElementToHighlightRef: tablePaginationRef as React.RefObject<HTMLDivElement>,\n isActive: false,\n type: IndicatorType.NUDGE,\n indicator: {\n nudge: 'click',\n content: '',\n nudgePointerY: 20,\n } as INudgeProps,\n elementToHighlight: <></>,\n });\n nextCoachmark(journeyId, false, SHOW_INITIAL_COACHMARK_AFTER_MS); // Show Coachmark => NEW\n nextCoachmark(journeyId, true, SHOW_INITIAL_TOOLTIP_AFTER_MS); // Show Nudge over Coachmark\n }\n\n // SHOW THE USER SELECT A TABLE\n addCoachmark(journeyId, {\n originalElementToHighlightRef: originalTableRef.current.labelRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'right',\n backgroundColor: 'YELLOW_4',\n width: 264,\n tooltipItem: (\n <FlexView>\n <Text $renderAs=\"ab2-bold\">\n Get faster at multiplication! Practice everyday and become a Tables champ.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: labelDims.width + 50,\n tooltipYCoOrdinates: labelDims.height / 2,\n } as IArrowTooltipProps,\n });\n\n addCoachmark(journeyId, {\n originalElementToHighlightRef: originalTableRef.current.segmentedCardWrapperRef,\n isActive: false,\n type: IndicatorType.NUDGE,\n indicator: {\n nudge: 'click',\n content: (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {'Pick a table to start'}\n </Text>\n ),\n nudgePointerX: tableCardDims.width / 2 + 50,\n nudgePointerY: tableCardDims.height / 2,\n } as INudgeProps,\n elementToHighlight: (\n <TablesCard\n ref={highlightedTableRef}\n label={tablesData.label}\n data={tablesData.data}\n onPress={() => {}}\n onPressTableSegment={tableInfo => handleTableSegmentClick(tablesData, tableInfo)}\n />\n ),\n });\n },\n [\n addCoachmark,\n carouselRefs,\n goToTableLauncher,\n handleTableSegmentClick,\n journeyId,\n nextCoachmark,\n setJourney,\n ],\n );\n\n return {\n tableRef: originalTableRef,\n startJourney,\n };\n};\n"],"names":["useTableLauncherJourney","carouselRefs","onTableSegmentClick","onJourneyComplete","journeyId","JOURNEY_ID_STUDENT","originalTableRef","useRef","highlightedTableRef","isJourneyInProgress","playButtonSound","useCircleSounds","nextCoachmark","setJourney","addCoachmark","useJourney","trackAnalytics","useUIContext","endJourney","useCallback","tableDetails","PLATFORM_EVENTS_STUDENT","Action","_a","_b","handleTableSegmentClick","launcherData","tableData","segmentedCardDims","tableCardDims","_c","IndicatorType","jsx","TablesCard","FlexView","Text","Fragment","SHOW_PICK_A_LEVEL_TOOLTIP_AFTER_MS","SHOW_PICK_A_LEVEL_NUDGE_AFTER_MS","startAnimationOnLabelAgain","START_ANIMATING_CLONED_ELEM","goToTableLauncher","TABLE_CARD_INDEX","GO_TO_TABLE_LAUNCHER_DURATION_MS","showNudge","SHOW_CLICK_TABLE_NUDGE_AFTER_MS","animateLabel","startJourney","tablesData","isTutorialOnboardingDone","paginationList","carouselNextBtnRef","tablePaginationRef","_d","labelDims","_e","S.Indicator","SHOW_INITIAL_COACHMARK_AFTER_MS","SHOW_INITIAL_TOOLTIP_AFTER_MS","_f","IconButton","CaratRightIcon","GAME_LAUNCHER_ANALYTICS_EVENTS","_g","PUZZLE_CARD_INDEX","tableInfo"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var E = /* @__PURE__ */ ((R) => (R.CIRCLE_ACTIVITIES_INTRO_JOURNEY = "CIRCLE_ACTIVITIES_INTRO_JOURNEY", R.CIRCLE_LEADERBOARD_INTRO_JOURNEY = "CIRCLE_LEADERBOARD_INTRO_JOURNEY", R.CIRCLE_POINTS_REWARD_JOURNEY = "CIRCLE_POINTS_REWARD_JOURNEY", R.CIRCLE_STREAK_UPDATE_JOURNEY = "CIRCLE_STREAK_UPDATE_JOURNEY", R.CIRCLE_TUTORIAL_JOURNEY = "CIRCLE_TUTORIAL_JOURNEY", R))(E || {});
|
1
|
+
var E = /* @__PURE__ */ ((R) => (R.CIRCLE_ACTIVITIES_INTRO_JOURNEY = "CIRCLE_ACTIVITIES_INTRO_JOURNEY", R.CIRCLE_LEADERBOARD_INTRO_JOURNEY = "CIRCLE_LEADERBOARD_INTRO_JOURNEY", R.CIRCLE_POINTS_REWARD_JOURNEY = "CIRCLE_POINTS_REWARD_JOURNEY", R.CIRCLE_STREAK_UPDATE_JOURNEY = "CIRCLE_STREAK_UPDATE_JOURNEY", R.CIRCLE_TUTORIAL_JOURNEY = "CIRCLE_TUTORIAL_JOURNEY", R.CIRCLE_TABLES_INTRO_JOURNEY = "CIRCLE_TABLES_INTRO_JOURNEY", R))(E || {});
|
2
2
|
export {
|
3
3
|
E as JOURNEY_ID_STUDENT
|
4
4
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"journey-id-student.js","sources":["../../../../src/features/journey/journey-id/journey-id-student.ts"],"sourcesContent":["export enum JOURNEY_ID_STUDENT {\n CIRCLE_ACTIVITIES_INTRO_JOURNEY = 'CIRCLE_ACTIVITIES_INTRO_JOURNEY',\n CIRCLE_LEADERBOARD_INTRO_JOURNEY = 'CIRCLE_LEADERBOARD_INTRO_JOURNEY',\n CIRCLE_POINTS_REWARD_JOURNEY = 'CIRCLE_POINTS_REWARD_JOURNEY',\n CIRCLE_STREAK_UPDATE_JOURNEY = 'CIRCLE_STREAK_UPDATE_JOURNEY',\n CIRCLE_TUTORIAL_JOURNEY = 'CIRCLE_TUTORIAL_JOURNEY',\n}\n"],"names":["JOURNEY_ID_STUDENT"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kCAAkC,mCAClCA,EAAA,mCAAmC,oCACnCA,EAAA,+BAA+B,gCAC/BA,EAAA,+BAA+B,gCAC/BA,EAAA,0BAA0B,
|
1
|
+
{"version":3,"file":"journey-id-student.js","sources":["../../../../src/features/journey/journey-id/journey-id-student.ts"],"sourcesContent":["export enum JOURNEY_ID_STUDENT {\n CIRCLE_ACTIVITIES_INTRO_JOURNEY = 'CIRCLE_ACTIVITIES_INTRO_JOURNEY',\n CIRCLE_LEADERBOARD_INTRO_JOURNEY = 'CIRCLE_LEADERBOARD_INTRO_JOURNEY',\n CIRCLE_POINTS_REWARD_JOURNEY = 'CIRCLE_POINTS_REWARD_JOURNEY',\n CIRCLE_STREAK_UPDATE_JOURNEY = 'CIRCLE_STREAK_UPDATE_JOURNEY',\n CIRCLE_TUTORIAL_JOURNEY = 'CIRCLE_TUTORIAL_JOURNEY',\n CIRCLE_TABLES_INTRO_JOURNEY = 'CIRCLE_TABLES_INTRO_JOURNEY',\n}\n"],"names":["JOURNEY_ID_STUDENT"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kCAAkC,mCAClCA,EAAA,mCAAmC,oCACnCA,EAAA,+BAA+B,gCAC/BA,EAAA,+BAA+B,gCAC/BA,EAAA,0BAA0B,2BAC1BA,EAAA,8BAA8B,+BANpBA,IAAAA,KAAA,CAAA,CAAA;"}
|
@@ -2,7 +2,7 @@ import { jsxs as v, jsx as J } from "react/jsx-runtime";
|
|
2
2
|
import { createContext as x, useState as $, useRef as f, useCallback as i, useMemo as p } from "react";
|
3
3
|
import { Coachmark as g } from "../comps/coachmark/coachmark.js";
|
4
4
|
import { BlurOverlay as A } from "./journey-styled.js";
|
5
|
-
const
|
5
|
+
const E = x(null), j = ({ children: C }) => {
|
6
6
|
const [o, u] = $([]), c = f(-1), r = f(), l = i(
|
7
7
|
(e, t) => {
|
8
8
|
if (o.length > 0)
|
@@ -22,13 +22,15 @@ const R = x(null), j = ({ children: C }) => {
|
|
22
22
|
u((s) => [...s, t]);
|
23
23
|
}, []), d = i(
|
24
24
|
(e, t = !1, s = 0) => {
|
25
|
-
if (!r.current
|
25
|
+
if (!r.current)
|
26
|
+
throw new Error("nextCoachmark was called before setJourney");
|
27
|
+
if (e !== r.current)
|
26
28
|
throw new Error(
|
27
|
-
|
29
|
+
`A Journey is already active, Current Journey: ${r.current}, New Journey Request: ${e}`
|
28
30
|
);
|
29
31
|
s !== 0 && u((n) => n.map((a) => ({ ...a, isActive: !1 })));
|
30
|
-
const
|
31
|
-
clearTimeout(
|
32
|
+
const k = setTimeout(() => {
|
33
|
+
clearTimeout(k);
|
32
34
|
const n = c.current + 1;
|
33
35
|
u((a) => {
|
34
36
|
if (n >= a.length || a.length === 0)
|
@@ -40,7 +42,7 @@ const R = x(null), j = ({ children: C }) => {
|
|
40
42
|
}, s);
|
41
43
|
},
|
42
44
|
[]
|
43
|
-
),
|
45
|
+
), w = p(
|
44
46
|
() => ({
|
45
47
|
nextCoachmark: d,
|
46
48
|
setJourney: l,
|
@@ -50,13 +52,13 @@ const R = x(null), j = ({ children: C }) => {
|
|
50
52
|
}),
|
51
53
|
[d, l, y, h, o]
|
52
54
|
);
|
53
|
-
return /* @__PURE__ */ v(
|
55
|
+
return /* @__PURE__ */ v(E.Provider, { value: w, children: [
|
54
56
|
o.length > 0 && /* @__PURE__ */ J(A, { children: o.map((e, t) => /* @__PURE__ */ J(g, { coachmark: e }, `coachmark-${t}`)) }),
|
55
57
|
C
|
56
58
|
] });
|
57
59
|
};
|
58
60
|
export {
|
59
|
-
|
61
|
+
E as JourneyContext,
|
60
62
|
j as JourneyProvider
|
61
63
|
};
|
62
64
|
//# sourceMappingURL=journey-context-provider.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"journey-context-provider.js","sources":["../../../../src/features/journey/use-journey/journey-context-provider.tsx"],"sourcesContent":["import type { TJourneyId } from '../journey-id/journey-id-types';\nimport type { ICoachmarkProps, IJourneyContext } from './journey-context-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { createContext, useCallback, useMemo, useRef, useState } from 'react';\n\nimport { Coachmark } from '../comps/coachmark/coachmark';\nimport * as S from './journey-styled';\n\nexport const JourneyContext = createContext<IJourneyContext | null>(null);\n\nexport const JourneyProvider: FC<{ children: ReactNode }> = ({ children }) => {\n const [coachmarkList, setCoachmarkList] = useState<ICoachmarkProps[]>([]);\n const currentIndex = useRef(-1);\n const currentJourneyIdStudent = useRef<TJourneyId | undefined>();\n\n const setJourney = useCallback(\n (id: TJourneyId, coachmarks: ICoachmarkProps[]) => {\n if (coachmarkList.length > 0) {\n throw new Error(\n `setJourney: Other Journey is already active, Current Journey: ${currentJourneyIdStudent.current}, New Journey Request: ${id}`,\n );\n }\n currentJourneyIdStudent.current = id;\n currentIndex.current = -1;\n setCoachmarkList([...coachmarks]);\n },\n [coachmarkList.length],\n );\n\n const clearJourney = useCallback(() => {\n currentJourneyIdStudent.current = undefined;\n currentIndex.current = -1;\n setCoachmarkList([]);\n }, []);\n\n const addCoachmark = useCallback((id: TJourneyId, coachmark: ICoachmarkProps) => {\n if (!currentJourneyIdStudent.current || id !== currentJourneyIdStudent.current) {\n throw new Error(\n currentJourneyIdStudent.current\n ? `addCoachmark was called before setJourney`\n : `A Journey is already active, Current Journey: ${currentJourneyIdStudent.current}, New Journey Request: ${id}`,\n );\n }\n\n setCoachmarkList(prev => [...prev, coachmark]);\n }, []);\n\n const nextCoachmark = useCallback(\n (id: TJourneyId, keepPrevActive: boolean = false, delayInMs: number = 0) => {\n if (!currentJourneyIdStudent.current
|
1
|
+
{"version":3,"file":"journey-context-provider.js","sources":["../../../../src/features/journey/use-journey/journey-context-provider.tsx"],"sourcesContent":["import type { TJourneyId } from '../journey-id/journey-id-types';\nimport type { ICoachmarkProps, IJourneyContext } from './journey-context-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { createContext, useCallback, useMemo, useRef, useState } from 'react';\n\nimport { Coachmark } from '../comps/coachmark/coachmark';\nimport * as S from './journey-styled';\n\nexport const JourneyContext = createContext<IJourneyContext | null>(null);\n\nexport const JourneyProvider: FC<{ children: ReactNode }> = ({ children }) => {\n const [coachmarkList, setCoachmarkList] = useState<ICoachmarkProps[]>([]);\n const currentIndex = useRef(-1);\n const currentJourneyIdStudent = useRef<TJourneyId | undefined>();\n\n const setJourney = useCallback(\n (id: TJourneyId, coachmarks: ICoachmarkProps[]) => {\n if (coachmarkList.length > 0) {\n throw new Error(\n `setJourney: Other Journey is already active, Current Journey: ${currentJourneyIdStudent.current}, New Journey Request: ${id}`,\n );\n }\n currentJourneyIdStudent.current = id;\n currentIndex.current = -1;\n setCoachmarkList([...coachmarks]);\n },\n [coachmarkList.length],\n );\n\n const clearJourney = useCallback(() => {\n currentJourneyIdStudent.current = undefined;\n currentIndex.current = -1;\n setCoachmarkList([]);\n }, []);\n\n const addCoachmark = useCallback((id: TJourneyId, coachmark: ICoachmarkProps) => {\n if (!currentJourneyIdStudent.current || id !== currentJourneyIdStudent.current) {\n throw new Error(\n currentJourneyIdStudent.current\n ? `addCoachmark was called before setJourney`\n : `A Journey is already active, Current Journey: ${currentJourneyIdStudent.current}, New Journey Request: ${id}`,\n );\n }\n\n setCoachmarkList(prev => [...prev, coachmark]);\n }, []);\n\n const nextCoachmark = useCallback(\n (id: TJourneyId, keepPrevActive: boolean = false, delayInMs: number = 0) => {\n if (!currentJourneyIdStudent.current) {\n throw new Error('nextCoachmark was called before setJourney');\n }\n\n if (id !== currentJourneyIdStudent.current) {\n throw new Error(\n `A Journey is already active, Current Journey: ${currentJourneyIdStudent.current}, New Journey Request: ${id}`,\n );\n }\n\n if (delayInMs !== 0) {\n // If delay is not 0, we will hide all them coachmarks and reveal only after the delay\n setCoachmarkList(prevList => {\n return prevList.map((item: ICoachmarkProps) => {\n return { ...item, isActive: false };\n });\n });\n }\n\n const timer = setTimeout(() => {\n clearTimeout(timer);\n const currIndex = currentIndex.current + 1;\n\n setCoachmarkList(prevList => {\n // Finish onboarding\n if (currIndex >= prevList.length || prevList.length === 0) {\n currentJourneyIdStudent.current = undefined;\n currentIndex.current = -1;\n\n return [];\n }\n\n currentIndex.current = currIndex;\n const updatedCoachmarkList = [...prevList];\n\n (updatedCoachmarkList[currIndex] as ICoachmarkProps).isActive = true;\n\n if (currIndex > 0) {\n (updatedCoachmarkList[currIndex - 1] as ICoachmarkProps).isActive = keepPrevActive;\n }\n\n return updatedCoachmarkList;\n });\n }, delayInMs);\n },\n [],\n );\n\n const memoizedContextValue = useMemo(\n () => ({\n nextCoachmark,\n setJourney,\n addCoachmark,\n clearJourney,\n coachmarks: coachmarkList,\n }),\n [nextCoachmark, setJourney, addCoachmark, clearJourney, coachmarkList],\n );\n\n return (\n <JourneyContext.Provider value={memoizedContextValue}>\n {coachmarkList.length > 0 && (\n <S.BlurOverlay>\n {coachmarkList.map((coachmark, index) => (\n <Coachmark key={`coachmark-${index}`} coachmark={coachmark} />\n ))}\n </S.BlurOverlay>\n )}\n {children}\n </JourneyContext.Provider>\n );\n};\n"],"names":["JourneyContext","createContext","JourneyProvider","children","coachmarkList","setCoachmarkList","useState","currentIndex","useRef","currentJourneyIdStudent","setJourney","useCallback","id","coachmarks","clearJourney","addCoachmark","coachmark","prev","nextCoachmark","keepPrevActive","delayInMs","prevList","item","timer","currIndex","updatedCoachmarkList","memoizedContextValue","useMemo","jsxs","jsx","S.BlurOverlay","index","Coachmark"],"mappings":";;;;AASa,MAAAA,IAAiBC,EAAsC,IAAI,GAE3DC,IAA+C,CAAC,EAAE,UAAAC,QAAe;AAC5E,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAA4B,CAAE,CAAA,GAClEC,IAAeC,EAAO,EAAE,GACxBC,IAA0BD,KAE1BE,IAAaC;AAAA,IACjB,CAACC,GAAgBC,MAAkC;AAC7C,UAAAT,EAAc,SAAS;AACzB,cAAM,IAAI;AAAA,UACR,iEAAiEK,EAAwB,OAAO,0BAA0BG,CAAE;AAAA,QAAA;AAGhI,MAAAH,EAAwB,UAAUG,GAClCL,EAAa,UAAU,IACNF,EAAA,CAAC,GAAGQ,CAAU,CAAC;AAAA,IAClC;AAAA,IACA,CAACT,EAAc,MAAM;AAAA,EAAA,GAGjBU,IAAeH,EAAY,MAAM;AACrC,IAAAF,EAAwB,UAAU,QAClCF,EAAa,UAAU,IACvBF,EAAiB,CAAE,CAAA;AAAA,EACrB,GAAG,CAAE,CAAA,GAECU,IAAeJ,EAAY,CAACC,GAAgBI,MAA+B;AAC/E,QAAI,CAACP,EAAwB,WAAWG,MAAOH,EAAwB;AACrE,YAAM,IAAI;AAAA,QACRA,EAAwB,UACpB,8CACA,iDAAiDA,EAAwB,OAAO,0BAA0BG,CAAE;AAAA,MAAA;AAIpH,IAAAP,EAAiB,CAAQY,MAAA,CAAC,GAAGA,GAAMD,CAAS,CAAC;AAAA,EAC/C,GAAG,CAAE,CAAA,GAECE,IAAgBP;AAAA,IACpB,CAACC,GAAgBO,IAA0B,IAAOC,IAAoB,MAAM;AACtE,UAAA,CAACX,EAAwB;AACrB,cAAA,IAAI,MAAM,4CAA4C;AAG1D,UAAAG,MAAOH,EAAwB;AACjC,cAAM,IAAI;AAAA,UACR,iDAAiDA,EAAwB,OAAO,0BAA0BG,CAAE;AAAA,QAAA;AAIhH,MAAIQ,MAAc,KAEhBf,EAAiB,CAAYgB,MACpBA,EAAS,IAAI,CAACC,OACZ,EAAE,GAAGA,GAAM,UAAU,GAAM,EACnC,CACF;AAGG,YAAAC,IAAQ,WAAW,MAAM;AAC7B,qBAAaA,CAAK;AACZ,cAAAC,IAAYjB,EAAa,UAAU;AAEzC,QAAAF,EAAiB,CAAYgB,MAAA;AAE3B,cAAIG,KAAaH,EAAS,UAAUA,EAAS,WAAW;AACtD,mBAAAZ,EAAwB,UAAU,QAClCF,EAAa,UAAU,IAEhB;AAGT,UAAAA,EAAa,UAAUiB;AACjB,gBAAAC,IAAuB,CAAC,GAAGJ,CAAQ;AAExC,iBAAAI,EAAqBD,CAAS,EAAsB,WAAW,IAE5DA,IAAY,MACbC,EAAqBD,IAAY,CAAC,EAAsB,WAAWL,IAG/DM;AAAA,QAAA,CACR;AAAA,SACAL,CAAS;AAAA,IACd;AAAA,IACA,CAAC;AAAA,EAAA,GAGGM,IAAuBC;AAAA,IAC3B,OAAO;AAAA,MACL,eAAAT;AAAA,MACA,YAAAR;AAAA,MACA,cAAAK;AAAA,MACA,cAAAD;AAAA,MACA,YAAYV;AAAA,IAAA;AAAA,IAEd,CAACc,GAAeR,GAAYK,GAAcD,GAAcV,CAAa;AAAA,EAAA;AAGvE,SACG,gBAAAwB,EAAA5B,EAAe,UAAf,EAAwB,OAAO0B,GAC7B,UAAA;AAAA,IAAAtB,EAAc,SAAS,KACtB,gBAAAyB,EAACC,GAAA,EACE,YAAc,IAAI,CAACd,GAAWe,wBAC5BC,GAAqC,EAAA,WAAAhB,EAAA,GAAtB,aAAae,CAAK,EAA0B,CAC7D,GACH;AAAA,IAED5B;AAAA,EACH,EAAA,CAAA;AAEJ;"}
|
package/dist/index.d.ts
CHANGED
@@ -173,7 +173,8 @@ export declare enum CIRCLE_ONBOARDING_ANALYTICS_STEPS {
|
|
173
173
|
TUTORIAL = "tutorial",
|
174
174
|
POINTS = "points",
|
175
175
|
STREAK = "streak",
|
176
|
-
LEADERBOARD = "leaderboard"
|
176
|
+
LEADERBOARD = "leaderboard",
|
177
|
+
TABLES = "tables"
|
177
178
|
}
|
178
179
|
|
179
180
|
export declare enum CircleSoundKey {
|
@@ -888,6 +889,7 @@ declare interface ICoachMarkCompletion {
|
|
888
889
|
CIRCLE_POINTS_REWARD_JOURNEY: boolean;
|
889
890
|
CIRCLE_STREAK_UPDATE_JOURNEY: boolean;
|
890
891
|
CIRCLE_TUTORIAL_JOURNEY: boolean;
|
892
|
+
CIRCLE_TABLES_INTRO_JOURNEY: boolean;
|
891
893
|
}
|
892
894
|
|
893
895
|
export declare interface ICoachmarkProgress {
|
@@ -896,6 +898,7 @@ export declare interface ICoachmarkProgress {
|
|
896
898
|
CIRCLE_POINTS_REWARD_JOURNEY: boolean;
|
897
899
|
CIRCLE_STREAK_UPDATE_JOURNEY: boolean;
|
898
900
|
CIRCLE_TUTORIAL_JOURNEY: boolean;
|
901
|
+
CIRCLE_TABLES_INTRO_JOURNEY: boolean;
|
899
902
|
}
|
900
903
|
|
901
904
|
/**
|
@@ -1103,6 +1106,7 @@ declare interface IGameLauncherProps {
|
|
1103
1106
|
data: IProjectData | null;
|
1104
1107
|
defaultIndex?: number;
|
1105
1108
|
journeyId?: TJourneyId;
|
1109
|
+
isTutorialOnboardingDone?: boolean;
|
1106
1110
|
onJourneyComplete: (journeyId: TJourneyId) => void;
|
1107
1111
|
}
|
1108
1112
|
|
@@ -3350,7 +3354,8 @@ export declare enum JOURNEY_ID_STUDENT {
|
|
3350
3354
|
CIRCLE_LEADERBOARD_INTRO_JOURNEY = "CIRCLE_LEADERBOARD_INTRO_JOURNEY",
|
3351
3355
|
CIRCLE_POINTS_REWARD_JOURNEY = "CIRCLE_POINTS_REWARD_JOURNEY",
|
3352
3356
|
CIRCLE_STREAK_UPDATE_JOURNEY = "CIRCLE_STREAK_UPDATE_JOURNEY",
|
3353
|
-
CIRCLE_TUTORIAL_JOURNEY = "CIRCLE_TUTORIAL_JOURNEY"
|
3357
|
+
CIRCLE_TUTORIAL_JOURNEY = "CIRCLE_TUTORIAL_JOURNEY",
|
3358
|
+
CIRCLE_TABLES_INTRO_JOURNEY = "CIRCLE_TABLES_INTRO_JOURNEY"
|
3354
3359
|
}
|
3355
3360
|
|
3356
3361
|
export declare const JourneyProvider: FC<{
|
@@ -4905,9 +4910,9 @@ declare const useGetCircleHomeAPI: (initialId?: string, initialQuery?: IGetCircl
|
|
4905
4910
|
} & Record<string, unknown>) | undefined;
|
4906
4911
|
};
|
4907
4912
|
|
4908
|
-
export declare const useGetCircleHomeDetailsDal: (userId: string,
|
4913
|
+
export declare const useGetCircleHomeDetailsDal: (userId: string, grade: string) => Omit<ReturnType<typeof useGetCircleHomeAPI>, "data" | "get"> & {
|
4909
4914
|
data: ICircleHomeDetails | null;
|
4910
|
-
getCircleHomeDetails: () => void;
|
4915
|
+
getCircleHomeDetails: (countryCode: string) => void;
|
4911
4916
|
};
|
4912
4917
|
|
4913
4918
|
declare const useGetLeaderboard: (initialId?: string, initialQuery?: IGetLeaderboardPayloadModel | undefined) => {
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../src/features/circle-games/game-launcher/use-game-launcher-journey/constants.ts"],"sourcesContent":["export const GO_TO_NEXT_SLIDE_AFTER_MS = 500;\nexport const SHOW_LABEL_HIGHLIGHT_AFTER_MS = 1500;\nexport const SHOW_NUDGE_AFTER_MS = 3000;\nexport const FIRST_COACHMARK_AFTER_MS = 200;\n"],"names":["GO_TO_NEXT_SLIDE_AFTER_MS","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS"],"mappings":"AAAO,MAAMA,IAA4B,KAC5BC,IAAgC,MAChCC,IAAsB;"}
|
@@ -1,213 +0,0 @@
|
|
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
|
-
import z from "../../../ui/buttons/icon-button/icon-button.js";
|
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 = ({
|
18
|
-
onSegmentClick: L,
|
19
|
-
setCarouselIndex: O,
|
20
|
-
onJourneyComplete: b
|
21
|
-
}) => {
|
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
|
-
});
|
27
|
-
},
|
28
|
-
[f]
|
29
|
-
), y = T(
|
30
|
-
(t) => {
|
31
|
-
f(j.ONBOARDING_STEP_COMPLETED, {
|
32
|
-
step: t
|
33
|
-
});
|
34
|
-
},
|
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);
|
43
|
-
},
|
44
|
-
[o, P, O, S]
|
45
|
-
), H = T(
|
46
|
-
(t, l) => {
|
47
|
-
L(t, he.PUZZLE), y(E.PUZZLE_ACTIVITY), o(l), b(l);
|
48
|
-
},
|
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)
|
54
|
-
return;
|
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()) || {
|
57
|
-
height: 0,
|
58
|
-
width: 0
|
59
|
-
}, p = ((W = (M = (x = i.current) == null ? void 0 : x.labelRef) == null ? void 0 : M.current) == null ? void 0 : W.getBoundingClientRect()) || {
|
60
|
-
height: 0,
|
61
|
-
width: 0
|
62
|
-
}, A = ((J = ($ = (X = r.current) == null ? void 0 : X.labelRef) == null ? void 0 : $.current) == null ? void 0 : J.getBoundingClientRect()) || {
|
63
|
-
height: 0,
|
64
|
-
width: 0
|
65
|
-
}, _ = ((K = (Z = (F = r.current) == null ? void 0 : F.segmentedCardWrapperRef) == null ? void 0 : Z.current) == null ? void 0 : K.getBoundingClientRect()) || {
|
66
|
-
height: 0,
|
67
|
-
width: 0
|
68
|
-
};
|
69
|
-
let k = [];
|
70
|
-
l && a.current && (k = [
|
71
|
-
{
|
72
|
-
originalElementToHighlightRef: a.current.labelRef,
|
73
|
-
isActive: !1,
|
74
|
-
type: s.TOOLTIP,
|
75
|
-
elementToHighlight: /* @__PURE__ */ e(R, {}),
|
76
|
-
indicator: {
|
77
|
-
position: "right",
|
78
|
-
backgroundColor: "BLUE_4",
|
79
|
-
width: 264,
|
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 + 50,
|
82
|
-
tooltipYCoOrdinates: g.height / 2
|
83
|
-
}
|
84
|
-
},
|
85
|
-
{
|
86
|
-
originalElementToHighlightRef: (q = c.current) == null ? void 0 : q.nextBtnRef,
|
87
|
-
isActive: !1,
|
88
|
-
type: s.NUDGE,
|
89
|
-
elementToHighlight: /* @__PURE__ */ e(
|
90
|
-
z,
|
91
|
-
{
|
92
|
-
renderAs: "secondary",
|
93
|
-
Icon: Q,
|
94
|
-
onClick: () => h(
|
95
|
-
E.GAMES_ACTIVITY,
|
96
|
-
i.current,
|
97
|
-
"ORANGE_4",
|
98
|
-
n
|
99
|
-
),
|
100
|
-
analyticsLabel: ee.JOURNEY_NEXT_ACTIVITY
|
101
|
-
}
|
102
|
-
),
|
103
|
-
indicator: {
|
104
|
-
nudge: "click",
|
105
|
-
content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
|
106
|
-
nudgePointerX: 0,
|
107
|
-
nudgePointerY: 0
|
108
|
-
}
|
109
|
-
}
|
110
|
-
]);
|
111
|
-
const te = [
|
112
|
-
{
|
113
|
-
originalElementToHighlightRef: i.current.labelRef,
|
114
|
-
isActive: !1,
|
115
|
-
type: s.TOOLTIP,
|
116
|
-
elementToHighlight: /* @__PURE__ */ e(R, {}),
|
117
|
-
indicator: {
|
118
|
-
position: "right",
|
119
|
-
backgroundColor: "ORANGE_4",
|
120
|
-
width: 264,
|
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 + 50,
|
123
|
-
tooltipYCoOrdinates: p.height / 2
|
124
|
-
}
|
125
|
-
},
|
126
|
-
{
|
127
|
-
originalElementToHighlightRef: c.current.nextBtnRef,
|
128
|
-
isActive: !1,
|
129
|
-
type: s.NUDGE,
|
130
|
-
elementToHighlight: /* @__PURE__ */ e(
|
131
|
-
z,
|
132
|
-
{
|
133
|
-
renderAs: "secondary",
|
134
|
-
Icon: Q,
|
135
|
-
onClick: () => h(
|
136
|
-
E.PUZZLE_ACTIVITY,
|
137
|
-
r.current,
|
138
|
-
"PURPLE_4",
|
139
|
-
n
|
140
|
-
),
|
141
|
-
analyticsLabel: ee.JOURNEY_NEXT_ACTIVITY
|
142
|
-
}
|
143
|
-
),
|
144
|
-
indicator: {
|
145
|
-
nudge: "click",
|
146
|
-
content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
|
147
|
-
nudgePointerX: 0,
|
148
|
-
nudgePointerY: 0
|
149
|
-
}
|
150
|
-
}
|
151
|
-
], re = [
|
152
|
-
{
|
153
|
-
originalElementToHighlightRef: r.current.labelRef,
|
154
|
-
isActive: !1,
|
155
|
-
type: s.TOOLTIP,
|
156
|
-
elementToHighlight: /* @__PURE__ */ e(R, {}),
|
157
|
-
indicator: {
|
158
|
-
position: "right",
|
159
|
-
backgroundColor: "PURPLE_4",
|
160
|
-
width: 264,
|
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 + 50,
|
163
|
-
tooltipYCoOrdinates: A.height / 2
|
164
|
-
}
|
165
|
-
},
|
166
|
-
{
|
167
|
-
originalElementToHighlightRef: r.current.segmentedCardWrapperRef,
|
168
|
-
isActive: !1,
|
169
|
-
type: s.NUDGE,
|
170
|
-
elementToHighlight: /* @__PURE__ */ e(
|
171
|
-
ce,
|
172
|
-
{
|
173
|
-
label: "",
|
174
|
-
value: t.data.filter((m) => m.solved).length,
|
175
|
-
maxValue: t.data.length,
|
176
|
-
initialValue: t.initialProgressValue,
|
177
|
-
data: t.data.map((m) => ({
|
178
|
-
card: m.cardLottie,
|
179
|
-
name: "",
|
180
|
-
// We dont want to show the name of the puzzle in onboarding
|
181
|
-
isCompleted: m.solved,
|
182
|
-
onPress: () => H(m, n)
|
183
|
-
}))
|
184
|
-
}
|
185
|
-
),
|
186
|
-
indicator: {
|
187
|
-
nudge: "click",
|
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
|
191
|
-
}
|
192
|
-
}
|
193
|
-
];
|
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);
|
195
|
-
},
|
196
|
-
[H, h, o, N]
|
197
|
-
);
|
198
|
-
return ne(
|
199
|
-
() => ({
|
200
|
-
gameRefs: i,
|
201
|
-
puzzleRefs: r,
|
202
|
-
lessonRefs: a,
|
203
|
-
carouselNextBtnRef: c,
|
204
|
-
isJourneyInProgress: C,
|
205
|
-
startJourney: G
|
206
|
-
}),
|
207
|
-
[G]
|
208
|
-
);
|
209
|
-
};
|
210
|
-
export {
|
211
|
-
Se as useGameLauncherJourney
|
212
|
-
};
|
213
|
-
//# sourceMappingURL=use-game-launcher-journey.js.map
|