@cuemath/leap 3.4.9-m → 3.4.9
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/features/journey/use-journey/constants.js +7 -5
- package/dist/features/journey/use-journey/constants.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js +84 -72
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/stickers/hooks/use-handle-sticker-send.js +44 -0
- package/dist/features/stickers/hooks/use-handle-sticker-send.js.map +1 -0
- package/dist/features/stickers/hooks/use-stickers-error-logger.js +17 -0
- package/dist/features/stickers/hooks/use-stickers-error-logger.js.map +1 -0
- package/dist/features/stickers/{sticker-selector/hooks → hooks}/use-stickers-journey/use-stickers-journey.js +7 -7
- package/dist/features/stickers/hooks/use-stickers-journey/use-stickers-journey.js.map +1 -0
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js +27 -26
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +1 -1
- package/dist/features/stickers/sticker-selector/sticker-selector.js +67 -66
- package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
- package/dist/features/stickers/stickers-analytics-events.js +8 -0
- package/dist/features/stickers/stickers-analytics-events.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +52 -119
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +17 -21
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js +27 -33
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +247 -251
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/index.d.ts +15 -15
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js +0 -33
- package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js.map +0 -1
- package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js.map +0 -1
|
@@ -1,87 +1,88 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { memo as B, useState as G, useCallback as H, useMemo as c } from "react";
|
|
3
|
+
import K from "../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
4
|
+
import { useHandleStickerSend as R } from "../hooks/use-handle-sticker-send.js";
|
|
5
|
+
import _ from "./comps/stiker-selector-grid/sticker-selector-grid.js";
|
|
6
|
+
import { TriggerWrapper as $ } from "./sticker-selector-styled.js";
|
|
7
|
+
const q = ({
|
|
7
8
|
triggerNode: e,
|
|
8
|
-
studentClassroomId:
|
|
9
|
-
gridConfig:
|
|
10
|
-
tooltipConfig:
|
|
11
|
-
visible:
|
|
9
|
+
studentClassroomId: m,
|
|
10
|
+
gridConfig: p,
|
|
11
|
+
tooltipConfig: f,
|
|
12
|
+
visible: u
|
|
12
13
|
}) => {
|
|
13
|
-
const { columns: i = 4, gap: s = 8, stickerSize: a = 48 } =
|
|
14
|
-
isAnimated:
|
|
15
|
-
arrowColor:
|
|
16
|
-
arrowSize:
|
|
17
|
-
arrowXCoOrdinates:
|
|
18
|
-
arrowYCoOrdinates:
|
|
19
|
-
backgroundColor:
|
|
20
|
-
borderColor:
|
|
14
|
+
const { columns: i = 4, gap: s = 8, stickerSize: a = 48 } = p, {
|
|
15
|
+
isAnimated: S,
|
|
16
|
+
arrowColor: C,
|
|
17
|
+
arrowSize: b,
|
|
18
|
+
arrowXCoOrdinates: h,
|
|
19
|
+
arrowYCoOrdinates: k,
|
|
20
|
+
backgroundColor: w,
|
|
21
|
+
borderColor: T,
|
|
21
22
|
position: g = "bottom",
|
|
22
|
-
renderAs:
|
|
23
|
-
textVariant:
|
|
24
|
-
tooltipOffset:
|
|
25
|
-
tooltipXCoOrdinates:
|
|
26
|
-
tooltipYCoOrdinates:
|
|
27
|
-
width:
|
|
28
|
-
widthX:
|
|
29
|
-
zIndex:
|
|
30
|
-
parentWidth:
|
|
31
|
-
isBlocking:
|
|
32
|
-
} =
|
|
33
|
-
(
|
|
23
|
+
renderAs: x = "primary",
|
|
24
|
+
textVariant: E,
|
|
25
|
+
tooltipOffset: O,
|
|
26
|
+
tooltipXCoOrdinates: y,
|
|
27
|
+
tooltipYCoOrdinates: I,
|
|
28
|
+
width: z,
|
|
29
|
+
widthX: A,
|
|
30
|
+
zIndex: M,
|
|
31
|
+
parentWidth: X,
|
|
32
|
+
isBlocking: D = !1
|
|
33
|
+
} = f, [o, n] = G(!1), r = R(m), l = H(
|
|
34
|
+
(W) => {
|
|
34
35
|
if (o) return;
|
|
35
|
-
const d = ["burst-from-edges", "pop-expand", "float-up", "fall-down"],
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
36
|
+
const d = ["burst-from-edges", "pop-expand", "float-up", "fall-down"], Y = d[Math.floor(Math.random() * d.length)];
|
|
37
|
+
r == null || r(W, Y), n(!0);
|
|
38
|
+
const j = setTimeout(() => {
|
|
39
|
+
n(!1);
|
|
39
40
|
}, 5e3);
|
|
40
|
-
return () => clearTimeout(
|
|
41
|
+
return () => clearTimeout(j);
|
|
41
42
|
},
|
|
42
|
-
[
|
|
43
|
-
),
|
|
44
|
-
() => /* @__PURE__ */
|
|
45
|
-
|
|
43
|
+
[r, o]
|
|
44
|
+
), F = c(
|
|
45
|
+
() => /* @__PURE__ */ t(
|
|
46
|
+
_,
|
|
46
47
|
{
|
|
47
48
|
columns: i,
|
|
48
49
|
gap: s,
|
|
49
50
|
stickerSize: a,
|
|
50
|
-
onStickerClick:
|
|
51
|
+
onStickerClick: l,
|
|
51
52
|
disabled: o
|
|
52
53
|
}
|
|
53
54
|
),
|
|
54
|
-
[i, s, a,
|
|
55
|
-
),
|
|
56
|
-
return /* @__PURE__ */
|
|
57
|
-
|
|
55
|
+
[i, s, a, l, o]
|
|
56
|
+
), V = c(() => /* @__PURE__ */ t($, { $disabled: o, children: e }), [o, e]);
|
|
57
|
+
return /* @__PURE__ */ t(
|
|
58
|
+
K,
|
|
58
59
|
{
|
|
59
|
-
children:
|
|
60
|
+
children: V,
|
|
60
61
|
alwaysVisible: !0,
|
|
61
|
-
hidden: !
|
|
62
|
-
tooltipItem:
|
|
63
|
-
renderAs:
|
|
62
|
+
hidden: !u,
|
|
63
|
+
tooltipItem: F,
|
|
64
|
+
renderAs: x,
|
|
64
65
|
position: g,
|
|
65
|
-
isBlocking:
|
|
66
|
-
isAnimated:
|
|
67
|
-
zIndex:
|
|
68
|
-
width:
|
|
69
|
-
widthX:
|
|
70
|
-
parentWidth:
|
|
71
|
-
backgroundColor:
|
|
72
|
-
borderColor:
|
|
73
|
-
textVariant:
|
|
74
|
-
tooltipOffset:
|
|
75
|
-
arrowColor:
|
|
76
|
-
arrowSize:
|
|
77
|
-
arrowXCoOrdinates:
|
|
78
|
-
arrowYCoOrdinates:
|
|
79
|
-
tooltipXCoOrdinates:
|
|
80
|
-
tooltipYCoOrdinates:
|
|
66
|
+
isBlocking: D,
|
|
67
|
+
isAnimated: S,
|
|
68
|
+
zIndex: M,
|
|
69
|
+
width: z,
|
|
70
|
+
widthX: A,
|
|
71
|
+
parentWidth: X,
|
|
72
|
+
backgroundColor: w,
|
|
73
|
+
borderColor: T,
|
|
74
|
+
textVariant: E,
|
|
75
|
+
tooltipOffset: O,
|
|
76
|
+
arrowColor: C,
|
|
77
|
+
arrowSize: b,
|
|
78
|
+
arrowXCoOrdinates: h,
|
|
79
|
+
arrowYCoOrdinates: k,
|
|
80
|
+
tooltipXCoOrdinates: y,
|
|
81
|
+
tooltipYCoOrdinates: I
|
|
81
82
|
}
|
|
82
83
|
);
|
|
83
|
-
},
|
|
84
|
+
}, Z = B(q);
|
|
84
85
|
export {
|
|
85
|
-
|
|
86
|
+
Z as default
|
|
86
87
|
};
|
|
87
88
|
//# sourceMappingURL=sticker-selector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useMemo, useState, useCallback } from 'react';\n\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport type { IStickerData, TStickerAnimationEffects } from '../stickers-types';\nimport StickerSelectorGrid from './comps/stiker-selector-grid/sticker-selector-grid';\nimport
|
|
1
|
+
{"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useMemo, useState, useCallback } from 'react';\n\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport { useHandleStickerSend } from '../hooks/use-handle-sticker-send';\nimport type { IStickerData, TStickerAnimationEffects } from '../stickers-types';\nimport StickerSelectorGrid from './comps/stiker-selector-grid/sticker-selector-grid';\nimport * as Styled from './sticker-selector-styled';\nimport type { IStickerSelectorProps } from './sticker-selector-types';\n\nconst StickerSelector: FC<IStickerSelectorProps> = ({\n triggerNode,\n studentClassroomId,\n gridConfig,\n tooltipConfig,\n visible,\n}) => {\n const { columns = 4, gap = 8, stickerSize = 48 } = gridConfig;\n const {\n isAnimated,\n arrowColor,\n arrowSize,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n position = 'bottom',\n renderAs = 'primary',\n textVariant,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n parentWidth,\n isBlocking = false,\n } = tooltipConfig;\n\n const [isTemporarilyDisabled, setIsTemporarilyDisabled] = useState(false);\n\n const sendSticker = useHandleStickerSend(studentClassroomId);\n\n const handleStickerSend = useCallback(\n (sticker: IStickerData) => {\n if (isTemporarilyDisabled) return;\n\n const STICKER_EFFECTS = ['burst-from-edges', 'pop-expand', 'float-up', 'fall-down'] as const;\n\n const randomEffect: TStickerAnimationEffects =\n STICKER_EFFECTS[Math.floor(Math.random() * STICKER_EFFECTS.length)]!;\n\n sendSticker?.(sticker, randomEffect);\n setIsTemporarilyDisabled(true);\n\n const timeout = setTimeout(() => {\n setIsTemporarilyDisabled(false);\n }, 5000);\n\n return () => clearTimeout(timeout);\n },\n [sendSticker, isTemporarilyDisabled],\n );\n\n const tooltipItem = useMemo(\n () => (\n <StickerSelectorGrid\n columns={columns}\n gap={gap}\n stickerSize={stickerSize}\n onStickerClick={handleStickerSend}\n disabled={isTemporarilyDisabled}\n />\n ),\n [columns, gap, stickerSize, handleStickerSend, isTemporarilyDisabled],\n );\n\n const triggerEle = useMemo(() => {\n return (\n <Styled.TriggerWrapper $disabled={isTemporarilyDisabled}>{triggerNode}</Styled.TriggerWrapper>\n );\n }, [isTemporarilyDisabled, triggerNode]);\n\n return (\n <ArrowTooltip\n children={triggerEle}\n alwaysVisible\n hidden={!visible}\n tooltipItem={tooltipItem}\n renderAs={renderAs}\n position={position}\n isBlocking={isBlocking}\n isAnimated={isAnimated}\n zIndex={zIndex}\n width={width}\n widthX={widthX}\n parentWidth={parentWidth}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n textVariant={textVariant}\n tooltipOffset={tooltipOffset}\n arrowColor={arrowColor}\n arrowSize={arrowSize}\n arrowXCoOrdinates={arrowXCoOrdinates}\n arrowYCoOrdinates={arrowYCoOrdinates}\n tooltipXCoOrdinates={tooltipXCoOrdinates}\n tooltipYCoOrdinates={tooltipYCoOrdinates}\n />\n );\n};\n\nexport default memo(StickerSelector);\n"],"names":["StickerSelector","triggerNode","studentClassroomId","gridConfig","tooltipConfig","visible","columns","gap","stickerSize","isAnimated","arrowColor","arrowSize","arrowXCoOrdinates","arrowYCoOrdinates","backgroundColor","borderColor","position","renderAs","textVariant","tooltipOffset","tooltipXCoOrdinates","tooltipYCoOrdinates","width","widthX","zIndex","parentWidth","isBlocking","isTemporarilyDisabled","setIsTemporarilyDisabled","useState","sendSticker","useHandleStickerSend","handleStickerSend","useCallback","sticker","STICKER_EFFECTS","randomEffect","timeout","tooltipItem","useMemo","jsx","StickerSelectorGrid","triggerEle","Styled.TriggerWrapper","ArrowTooltip","stickerSelector","memo"],"mappings":";;;;;;AAUA,MAAMA,IAA6C,CAAC;AAAA,EAClD,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAM,EAAE,SAAAC,IAAU,GAAG,KAAAC,IAAM,GAAG,aAAAC,IAAc,GAAO,IAAAL,GAC7C;AAAA,IACJ,YAAAM;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,EACX,IAAAtB,GAEE,CAACuB,GAAuBC,CAAwB,IAAIC,EAAS,EAAK,GAElEC,IAAcC,EAAqB7B,CAAkB,GAErD8B,IAAoBC;AAAA,IACxB,CAACC,MAA0B;AACzB,UAAIP,EAAuB;AAE3B,YAAMQ,IAAkB,CAAC,oBAAoB,cAAc,YAAY,WAAW,GAE5EC,IACJD,EAAgB,KAAK,MAAM,KAAK,WAAWA,EAAgB,MAAM,CAAC;AAEpE,MAAAL,KAAA,QAAAA,EAAcI,GAASE,IACvBR,EAAyB,EAAI;AAEvB,YAAAS,IAAU,WAAW,MAAM;AAC/B,QAAAT,EAAyB,EAAK;AAAA,SAC7B,GAAI;AAEA,aAAA,MAAM,aAAaS,CAAO;AAAA,IACnC;AAAA,IACA,CAACP,GAAaH,CAAqB;AAAA,EAAA,GAG/BW,IAAcC;AAAA,IAClB,MACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAAnC;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAgBwB;AAAA,QAChB,UAAUL;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,CAACrB,GAASC,GAAKC,GAAawB,GAAmBL,CAAqB;AAAA,EAAA,GAGhEe,IAAaH,EAAQ,wBAEtBI,GAAA,EAAsB,WAAWhB,GAAwB,UAAY1B,EAAA,CAAA,GAEvE,CAAC0B,GAAuB1B,CAAW,CAAC;AAGrC,SAAA,gBAAAuC;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,UAAUF;AAAA,MACV,eAAa;AAAA,MACb,QAAQ,CAACrC;AAAA,MACT,aAAAiC;AAAA,MACA,UAAArB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAU;AAAA,MACA,YAAAjB;AAAA,MACA,QAAAe;AAAA,MACA,OAAAF;AAAA,MACA,QAAAC;AAAA,MACA,aAAAE;AAAA,MACA,iBAAAX;AAAA,MACA,aAAAC;AAAA,MACA,aAAAG;AAAA,MACA,eAAAC;AAAA,MACA,YAAAT;AAAA,MACA,WAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,qBAAAO;AAAA,MACA,qBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN,GAEewB,IAAAC,EAAK9C,CAAe;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickers-analytics-events.js","sources":["../../../src/features/stickers/stickers-analytics-events.ts"],"sourcesContent":["export const STICKERS_ANALYTICS_EVENT = {\n STICKER_SENT: 'sticker_sent',\n STICKER_LOG_ERROR: 'sticker_log_error',\n};\n"],"names":["STICKERS_ANALYTICS_EVENT"],"mappings":"AAAO,MAAMA,IAA2B;AAAA,EACtC,cAAc;AAAA,EACd,mBAAmB;AACrB;"}
|
|
@@ -1,147 +1,80 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import { StickersIcon as te, GuideContainer as oe, HintIcon as ie, SolIcon as ne, Pointer as re, SectionContainer as ce, Section as le, CloseIcon as se, Guide as de } from "./worksheet-sidebar-styled.js";
|
|
14
|
-
const be = z(
|
|
15
|
-
({
|
|
16
|
-
questionWidth: E,
|
|
17
|
-
questions: L,
|
|
18
|
-
activeQuestionIndex: X,
|
|
19
|
-
learnosity: I,
|
|
20
|
-
actionbarHeight: T,
|
|
21
|
-
loggerRef: a,
|
|
22
|
-
studentClassroomId: b,
|
|
23
|
-
enableStickers: K
|
|
24
|
-
}) => {
|
|
25
|
-
var G;
|
|
26
|
-
const [t, h] = $(), [B, V] = $({
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as L, useState as T, useCallback as h, useMemo as v, useRef as H, useEffect as X } from "react";
|
|
3
|
+
import $ from "../../../ui/buttons/clickable/clickable.js";
|
|
4
|
+
import c from "../../../ui/layout/flex-view.js";
|
|
5
|
+
import y from "../../../ui/separator/separator.js";
|
|
6
|
+
import u from "../../../ui/text/text.js";
|
|
7
|
+
import N from "../../constants/events.js";
|
|
8
|
+
import { GuideContainer as P, HintIcon as V, SolIcon as j, Pointer as x, SectionContainer as B, Section as W, CloseIcon as K, Guide as M } from "./worksheet-sidebar-styled.js";
|
|
9
|
+
const Z = L(
|
|
10
|
+
({ questionWidth: f, questions: _, activeQuestionIndex: O, learnosity: S, actionbarHeight: p, loggerRef: l }) => {
|
|
11
|
+
var C;
|
|
12
|
+
const [t, s] = T(), [k, A] = T({
|
|
27
13
|
top: 0,
|
|
28
14
|
left: 0
|
|
29
|
-
}),
|
|
30
|
-
|
|
31
|
-
}, [
|
|
32
|
-
|
|
33
|
-
}, [
|
|
34
|
-
|
|
15
|
+
}), { top: g, left: b } = k, R = h(() => {
|
|
16
|
+
s("HINT"), l.current(N.WORKSHEET_V3_HINT_SEEN);
|
|
17
|
+
}, [l]), w = h(() => {
|
|
18
|
+
s("SOL"), l.current(N.WORKSHEET_V3_SOLUTION_SEEN);
|
|
19
|
+
}, [l]), G = h(() => {
|
|
20
|
+
s(() => {
|
|
35
21
|
});
|
|
36
|
-
}, []),
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
top: l.top + l.height / 2 - 8,
|
|
43
|
-
left: l.right - 78
|
|
22
|
+
}, []), { hints: n, solution: d } = ((C = _[O]) == null ? void 0 : C.metadata) || {}, o = v(() => t === void 0 ? void 0 : t === "HINT" ? n : d, [t, n, d]), E = H(null), I = H(null), m = h((a) => {
|
|
23
|
+
if (a.current) {
|
|
24
|
+
const i = a.current.getBoundingClientRect();
|
|
25
|
+
A({
|
|
26
|
+
top: i.top + i.height / 2 - 8,
|
|
27
|
+
left: i.right - 78
|
|
44
28
|
// 52px (sidebar width) + 16px (gutter) + 10px
|
|
45
29
|
});
|
|
46
30
|
}
|
|
47
|
-
}, [])
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
() => ({
|
|
56
|
-
stickerSize: 48,
|
|
57
|
-
columns: 4,
|
|
58
|
-
gap: 8
|
|
59
|
-
}),
|
|
60
|
-
[]
|
|
61
|
-
), M = m(
|
|
62
|
-
() => ({
|
|
63
|
-
position: "left",
|
|
64
|
-
zIndex: 1e3,
|
|
65
|
-
arrowYCoOrdinates: -175,
|
|
66
|
-
tooltipXCoOrdinates: "7.5%",
|
|
67
|
-
tooltipYCoOrdinates: "40%"
|
|
68
|
-
}),
|
|
69
|
-
[]
|
|
70
|
-
), q = {
|
|
71
|
-
position: "left",
|
|
72
|
-
tooltipXCoOrdinates: 20,
|
|
73
|
-
tooltipYCoOrdinates: -20
|
|
74
|
-
}, w = F([
|
|
75
|
-
Y.STICKERS_INTRO_JOURNEY
|
|
76
|
-
]), { isJourneyActive: y } = Q(), { startTeacherStickersJourney: A } = Z({
|
|
77
|
-
triggerRef: k,
|
|
78
|
-
triggerElement: H,
|
|
79
|
-
tooltipConfig: q
|
|
80
|
-
});
|
|
81
|
-
return t && r && I && I.renderMath("mathjax"), D(() => {
|
|
82
|
-
t === "HINT" ? S(N) : t === "SOL" ? S(_) : r || h(void 0), w.includes(Y.STICKERS_INTRO_JOURNEY) && !y && A();
|
|
83
|
-
}, [
|
|
84
|
-
t,
|
|
85
|
-
S,
|
|
86
|
-
r,
|
|
87
|
-
w,
|
|
88
|
-
y,
|
|
89
|
-
A
|
|
90
|
-
]), /* @__PURE__ */ o(oe, { $background: "WHITE", children: [
|
|
91
|
-
K && b && /* @__PURE__ */ e(
|
|
92
|
-
ee,
|
|
93
|
-
{
|
|
94
|
-
triggerNode: H,
|
|
95
|
-
studentClassroomId: b,
|
|
96
|
-
gridConfig: W,
|
|
97
|
-
tooltipConfig: M,
|
|
98
|
-
visible: u,
|
|
99
|
-
onToggle: p
|
|
100
|
-
}
|
|
101
|
-
),
|
|
102
|
-
/* @__PURE__ */ e(f, { label: "hints", onClick: x, disabled: !n, children: /* @__PURE__ */ o(i, { $alignItems: "center", $justifyContent: "center", ref: N, children: [
|
|
103
|
-
/* @__PURE__ */ e(ie, { width: 32, height: 32, $disabled: !n }),
|
|
104
|
-
/* @__PURE__ */ e(d, { $renderAs: "eyebrow2", $color: n ? "BLACK" : "GREY_4", children: "HINT" }),
|
|
105
|
-
/* @__PURE__ */ e(i, { $gap: 8, $alignItems: "center", children: /* @__PURE__ */ e(v, { width: 24, height: 1, background: "GREY_2" }) })
|
|
31
|
+
}, []);
|
|
32
|
+
return t && o && S && S.renderMath("mathjax"), X(() => {
|
|
33
|
+
t === "HINT" ? m(I) : t === "SOL" ? m(E) : o || s(void 0);
|
|
34
|
+
}, [t, m, o]), /* @__PURE__ */ r(P, { $background: "WHITE", children: [
|
|
35
|
+
/* @__PURE__ */ e($, { label: "hints", onClick: R, disabled: !n, children: /* @__PURE__ */ r(c, { $alignItems: "center", $justifyContent: "center", ref: I, children: [
|
|
36
|
+
/* @__PURE__ */ e(V, { width: 32, height: 32, $disabled: !n }),
|
|
37
|
+
/* @__PURE__ */ e(u, { $renderAs: "eyebrow2", $color: n ? "BLACK" : "GREY_4", children: "HINT" }),
|
|
38
|
+
/* @__PURE__ */ e(c, { $gap: 8, $alignItems: "center", children: /* @__PURE__ */ e(y, { width: 24, height: 1, background: "GREY_2" }) })
|
|
106
39
|
] }) }),
|
|
107
|
-
/* @__PURE__ */ e(
|
|
108
|
-
/* @__PURE__ */ e(
|
|
109
|
-
/* @__PURE__ */ e(
|
|
40
|
+
/* @__PURE__ */ e($, { label: "solution", onClick: w, disabled: !d, children: /* @__PURE__ */ r(c, { $alignItems: "center", $justifyContent: "center", ref: E, children: [
|
|
41
|
+
/* @__PURE__ */ e(j, { width: 32, height: 32, $disabled: !d }),
|
|
42
|
+
/* @__PURE__ */ e(u, { $renderAs: "eyebrow2", $color: n ? "BLACK" : "GREY_4", children: "SOL" })
|
|
110
43
|
] }) }),
|
|
111
|
-
t &&
|
|
44
|
+
t && g && b && /* @__PURE__ */ e(x, { topValue: g, leftValue: b }),
|
|
112
45
|
t && /* @__PURE__ */ e(
|
|
113
|
-
|
|
46
|
+
B,
|
|
114
47
|
{
|
|
115
48
|
$background: "WHITE",
|
|
116
|
-
$questionWidth:
|
|
117
|
-
$actionbarHeight:
|
|
49
|
+
$questionWidth: f,
|
|
50
|
+
$actionbarHeight: p,
|
|
118
51
|
$borderRadius: 10,
|
|
119
|
-
children: /* @__PURE__ */
|
|
120
|
-
|
|
52
|
+
children: /* @__PURE__ */ r(
|
|
53
|
+
W,
|
|
121
54
|
{
|
|
122
55
|
$gutterX: 1,
|
|
123
56
|
$gapX: 1,
|
|
124
|
-
$questionWidth:
|
|
125
|
-
$actionbarHeight:
|
|
57
|
+
$questionWidth: f,
|
|
58
|
+
$actionbarHeight: p,
|
|
126
59
|
children: [
|
|
127
|
-
/* @__PURE__ */ e(
|
|
128
|
-
/* @__PURE__ */ e(
|
|
129
|
-
|
|
130
|
-
|
|
60
|
+
/* @__PURE__ */ e($, { label: "close", onClick: G, children: /* @__PURE__ */ e(K, {}) }),
|
|
61
|
+
/* @__PURE__ */ e(c, { $gutterX: 0.5, children: /* @__PURE__ */ e(u, { $renderAs: "eyebrow2", $color: "ORANGE_5", $marginBottomX: 0.25, children: t === "HINT" ? "HINTS:" : "SOLUTION:" }) }),
|
|
62
|
+
o && o.map((a, i) => /* @__PURE__ */ r(c, { $gutterX: 0.5, $gapX: 0.5, children: [
|
|
63
|
+
o.length > 1 && /* @__PURE__ */ r(u, { $renderAs: "eyebrow2", $color: "ORANGE_5", $marginBottomX: 0.25, children: [
|
|
131
64
|
t,
|
|
132
65
|
" ",
|
|
133
|
-
|
|
66
|
+
i + 1,
|
|
134
67
|
":"
|
|
135
68
|
] }),
|
|
136
69
|
/* @__PURE__ */ e(
|
|
137
|
-
|
|
70
|
+
M,
|
|
138
71
|
{
|
|
139
72
|
dangerouslySetInnerHTML: {
|
|
140
|
-
__html:
|
|
73
|
+
__html: a
|
|
141
74
|
}
|
|
142
75
|
}
|
|
143
76
|
)
|
|
144
|
-
] },
|
|
77
|
+
] }, i.toString()))
|
|
145
78
|
]
|
|
146
79
|
}
|
|
147
80
|
)
|
|
@@ -151,6 +84,6 @@ const be = z(
|
|
|
151
84
|
}
|
|
152
85
|
);
|
|
153
86
|
export {
|
|
154
|
-
|
|
87
|
+
Z as default
|
|
155
88
|
};
|
|
156
89
|
//# sourceMappingURL=question-guide.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-guide.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/question-guide.tsx"],"sourcesContent":["import React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useState,\n useRef,\n type ReactElement,\n type RefObject,\n} from 'react';\n\nimport { useGetEligibleJourneysViaRoute } from '../../../journey/hooks/use-get-eligible-journeys-via-route';\nimport { JOURNEY_ID_TEACHER } from '../../../journey/journey-id/journey-id-teacher';\nimport { useJourney } from '../../../journey/use-journey/use-journey';\nimport { useStickersJourney } from '../../../stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey';\nimport StickerSelector from '../../../stickers/sticker-selector/sticker-selector';\nimport {\n type IArrowTooltipProps,\n type TPositionProps,\n} from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport EVENTS from '../../constants/events';\nimport type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\nimport {\n Section,\n GuideContainer,\n CloseIcon,\n SolIcon,\n HintIcon,\n StickersIcon,\n SectionContainer,\n Guide,\n Pointer,\n} from './worksheet-sidebar-styled';\n\ntype TSections = 'HINT' | 'SOL';\n\ninterface IQuestionGuideProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n actionbarHeight: number;\n studentClassroomId?: string;\n enableStickers?: boolean;\n}\n\nconst QuestionGuide: React.FC<IQuestionGuideProps> = memo(\n ({\n questionWidth,\n questions,\n activeQuestionIndex,\n learnosity,\n actionbarHeight,\n loggerRef,\n studentClassroomId,\n enableStickers,\n }) => {\n const [activeSection, setActiveSection] = useState<TSections | undefined>();\n const [pointerPosition, setPointerPosition] = useState({\n top: 0,\n left: 0,\n });\n const [showStickers, setShowStickers] = useState(true);\n const triggerRef = useRef<HTMLDivElement | null>(null);\n const { top, left } = pointerPosition;\n\n const handleHintClick = useCallback(() => {\n setActiveSection('HINT');\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n }, [loggerRef]);\n const handleSolClick = useCallback(() => {\n setActiveSection('SOL');\n loggerRef.current(EVENTS.WORKSHEET_V3_SOLUTION_SEEN);\n }, [loggerRef]);\n const handleClose = useCallback(() => {\n setActiveSection(() => undefined);\n }, []);\n const handleBadgeToggle = useCallback(() => {\n setShowStickers(prev => !prev);\n }, []);\n\n const { hints, solution } = questions[activeQuestionIndex]?.metadata || {};\n\n const activeSectionData = useMemo(() => {\n return activeSection === undefined ? undefined : activeSection === 'HINT' ? hints : solution;\n }, [activeSection, hints, solution]);\n\n const sqlRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const hintRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n\n const updatePointerPosition = useCallback((ref: React.RefObject<HTMLDivElement>) => {\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n\n setPointerPosition({\n top: rect.top + rect.height / 2 - 8,\n left: rect.right - 78, // 52px (sidebar width) + 16px (gutter) + 10px\n });\n }\n }, []);\n\n const stickerTrigger = useMemo(\n () => (\n <div ref={triggerRef}>\n <Clickable label=\"teacher-badges\" onClick={handleBadgeToggle}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <StickersIcon width={32} height={32} $disabled={!showStickers} />\n <Text $renderAs=\"eyebrow2\" $color={!showStickers ? 'GREY_4' : 'BLACK'}>\n STICKERS\n </Text>\n <FlexView $gap={8} $alignItems=\"center\">\n <Separator width={24} height={1} background=\"GREY_2\" />\n </FlexView>\n </FlexView>\n </Clickable>\n </div>\n ),\n [showStickers, handleBadgeToggle],\n );\n\n const stickerGridConfig = useMemo(\n () => ({\n stickerSize: 48,\n columns: 4,\n gap: 8,\n }),\n [],\n );\n\n const stickerTooltipConfig = useMemo(\n () => ({\n position: 'left' as TPositionProps,\n zIndex: 1000,\n arrowYCoOrdinates: -175,\n tooltipXCoOrdinates: '7.5%',\n tooltipYCoOrdinates: '40%',\n }),\n [],\n );\n\n const coachmarkConfig = {\n position: 'left',\n tooltipXCoOrdinates: 20,\n tooltipYCoOrdinates: -20,\n };\n\n const eligibleJourneyIds = useGetEligibleJourneysViaRoute([\n JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY,\n ]);\n\n const { isJourneyActive } = useJourney();\n\n const { startTeacherStickersJourney } = useStickersJourney({\n triggerRef: triggerRef as RefObject<HTMLDivElement>,\n triggerElement: stickerTrigger as ReactElement,\n tooltipConfig: coachmarkConfig as IArrowTooltipProps,\n });\n\n if (activeSection && activeSectionData && learnosity) {\n learnosity.renderMath('mathjax');\n }\n\n useEffect(() => {\n if (activeSection === 'HINT') {\n updatePointerPosition(hintRef);\n } else if (activeSection === 'SOL') {\n updatePointerPosition(sqlRef);\n } else if (!activeSectionData) {\n setActiveSection(undefined);\n }\n\n if (\n eligibleJourneyIds.includes(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY) &&\n !isJourneyActive\n ) {\n startTeacherStickersJourney();\n }\n }, [\n activeSection,\n updatePointerPosition,\n activeSectionData,\n eligibleJourneyIds,\n isJourneyActive,\n startTeacherStickersJourney,\n ]);\n\n return (\n <GuideContainer $background=\"WHITE\">\n {enableStickers && studentClassroomId && (\n <StickerSelector\n triggerNode={stickerTrigger}\n studentClassroomId={studentClassroomId}\n gridConfig={stickerGridConfig}\n tooltipConfig={stickerTooltipConfig}\n visible={showStickers}\n onToggle={handleBadgeToggle}\n />\n )}\n <Clickable label=\"hints\" onClick={handleHintClick} disabled={!hints}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={hintRef}>\n <HintIcon width={32} height={32} $disabled={!hints} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n HINT\n </Text>\n <FlexView $gap={8} $alignItems=\"center\">\n <Separator width={24} height={1} background=\"GREY_2\" />\n </FlexView>\n </FlexView>\n </Clickable>\n <Clickable label=\"solution\" onClick={handleSolClick} disabled={!solution}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={sqlRef}>\n <SolIcon width={32} height={32} $disabled={!solution} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n SOL\n </Text>\n </FlexView>\n </Clickable>\n {activeSection && top && left && <Pointer topValue={top} leftValue={left} />}\n {activeSection && (\n <SectionContainer\n $background=\"WHITE\"\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n $borderRadius={10}\n >\n <Section\n $gutterX={1}\n $gapX={1}\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n >\n <Clickable label=\"close\" onClick={handleClose}>\n <CloseIcon />\n </Clickable>\n <FlexView $gutterX={0.5}>\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection === 'HINT' ? 'HINTS:' : 'SOLUTION:'}\n </Text>\n </FlexView>\n {activeSectionData &&\n activeSectionData.map((item, index) => (\n <FlexView $gutterX={0.5} $gapX={0.5} key={index.toString()}>\n {activeSectionData.length > 1 && (\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection} {index + 1}:\n </Text>\n )}\n <Guide\n dangerouslySetInnerHTML={{\n __html: item,\n }}\n />\n </FlexView>\n ))}\n </Section>\n </SectionContainer>\n )}\n </GuideContainer>\n );\n },\n);\n\nexport default QuestionGuide;\n"],"names":["QuestionGuide","memo","questionWidth","questions","activeQuestionIndex","learnosity","actionbarHeight","loggerRef","studentClassroomId","enableStickers","activeSection","setActiveSection","useState","pointerPosition","setPointerPosition","showStickers","setShowStickers","triggerRef","useRef","top","left","handleHintClick","useCallback","EVENTS","handleSolClick","handleClose","handleBadgeToggle","prev","hints","solution","_a","activeSectionData","useMemo","sqlRef","hintRef","updatePointerPosition","ref","rect","stickerTrigger","jsx","Clickable","jsxs","FlexView","StickersIcon","Text","Separator","stickerGridConfig","stickerTooltipConfig","coachmarkConfig","eligibleJourneyIds","useGetEligibleJourneysViaRoute","JOURNEY_ID_TEACHER","isJourneyActive","useJourney","startTeacherStickersJourney","useStickersJourney","useEffect","GuideContainer","StickerSelector","HintIcon","SolIcon","Pointer","SectionContainer","Section","CloseIcon","item","index","Guide"],"mappings":";;;;;;;;;;;;;AAkDA,MAAMA,KAA+CC;AAAA,EACnD,CAAC;AAAA,IACC,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;;AACJ,UAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAgC,GACpE,CAACC,GAAiBC,CAAkB,IAAIF,EAAS;AAAA,MACrD,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP,GACK,CAACG,GAAcC,CAAe,IAAIJ,EAAS,EAAI,GAC/CK,IAAaC,EAA8B,IAAI,GAC/C,EAAE,KAAAC,GAAK,MAAAC,EAAS,IAAAP,GAEhBQ,IAAkBC,EAAY,MAAM;AACxC,MAAAX,EAAiB,MAAM,GACbJ,EAAA,QAAQgB,EAAO,sBAAsB;AAAA,IAAA,GAC9C,CAAChB,CAAS,CAAC,GACRiB,IAAiBF,EAAY,MAAM;AACvC,MAAAX,EAAiB,KAAK,GACZJ,EAAA,QAAQgB,EAAO,0BAA0B;AAAA,IAAA,GAClD,CAAChB,CAAS,CAAC,GACRkB,IAAcH,EAAY,MAAM;AACpC,MAAAX,EAAiB,MAAA;AAAA,OAAe;AAAA,IAClC,GAAG,CAAE,CAAA,GACCe,IAAoBJ,EAAY,MAAM;AAC1B,MAAAN,EAAA,CAAAW,MAAQ,CAACA,CAAI;AAAA,IAC/B,GAAG,CAAE,CAAA,GAEC,EAAE,OAAAC,GAAO,UAAAC,EAAS,MAAIC,IAAA3B,EAAUC,CAAmB,MAA7B,gBAAA0B,EAAgC,aAAY,IAElEC,IAAoBC,EAAQ,MACzBtB,MAAkB,SAAY,SAAYA,MAAkB,SAASkB,IAAQC,GACnF,CAACnB,GAAekB,GAAOC,CAAQ,CAAC,GAE7BI,IAASf,EAAuB,IAAI,GACpCgB,IAAUhB,EAAuB,IAAI,GAErCiB,IAAwBb,EAAY,CAACc,MAAyC;AAClF,UAAIA,EAAI,SAAS;AACT,cAAAC,IAAOD,EAAI,QAAQ,sBAAsB;AAE5B,QAAAtB,EAAA;AAAA,UACjB,KAAKuB,EAAK,MAAMA,EAAK,SAAS,IAAI;AAAA,UAClC,MAAMA,EAAK,QAAQ;AAAA;AAAA,QAAA,CACpB;AAAA,MACH;AAAA,IACF,GAAG,CAAE,CAAA,GAECC,IAAiBN;AAAA,MACrB,MACG,gBAAAO,EAAA,OAAA,EAAI,KAAKtB,GACR,4BAACuB,GAAU,EAAA,OAAM,kBAAiB,SAASd,GACzC,UAAC,gBAAAe,EAAAC,GAAA,EAAS,aAAY,UAAS,iBAAgB,UAC7C,UAAA;AAAA,QAAA,gBAAAH,EAACI,MAAa,OAAO,IAAI,QAAQ,IAAI,WAAW,CAAC5B,GAAc;AAAA,QAC/D,gBAAAwB,EAACK,KAAK,WAAU,YAAW,QAAS7B,IAA0B,UAAX,UAAoB,UAEvE,WAAA,CAAA;AAAA,QACC,gBAAAwB,EAAAG,GAAA,EAAS,MAAM,GAAG,aAAY,UAC7B,UAAA,gBAAAH,EAACM,GAAU,EAAA,OAAO,IAAI,QAAQ,GAAG,YAAW,SAAS,CAAA,GACvD;AAAA,MAAA,EACF,CAAA,EACF,CAAA,GACF;AAAA,MAEF,CAAC9B,GAAcW,CAAiB;AAAA,IAAA,GAG5BoB,IAAoBd;AAAA,MACxB,OAAO;AAAA,QACL,aAAa;AAAA,QACb,SAAS;AAAA,QACT,KAAK;AAAA,MAAA;AAAA,MAEP,CAAC;AAAA,IAAA,GAGGe,IAAuBf;AAAA,MAC3B,OAAO;AAAA,QACL,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,mBAAmB;AAAA,QACnB,qBAAqB;AAAA,QACrB,qBAAqB;AAAA,MAAA;AAAA,MAEvB,CAAC;AAAA,IAAA,GAGGgB,IAAkB;AAAA,MACtB,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,qBAAqB;AAAA,IAAA,GAGjBC,IAAqBC,EAA+B;AAAA,MACxDC,EAAmB;AAAA,IAAA,CACpB,GAEK,EAAE,iBAAAC,MAAoBC,KAEtB,EAAE,6BAAAC,EAA4B,IAAIC,EAAmB;AAAA,MACzD,YAAAtC;AAAA,MACA,gBAAgBqB;AAAA,MAChB,eAAeU;AAAA,IAAA,CAChB;AAEG,WAAAtC,KAAiBqB,KAAqB1B,KACxCA,EAAW,WAAW,SAAS,GAGjCmD,EAAU,MAAM;AACd,MAAI9C,MAAkB,SACpByB,EAAsBD,CAAO,IACpBxB,MAAkB,QAC3ByB,EAAsBF,CAAM,IAClBF,KACVpB,EAAiB,MAAS,GAI1BsC,EAAmB,SAASE,EAAmB,sBAAsB,KACrE,CAACC,KAE2BE;IAC9B,GACC;AAAA,MACD5C;AAAA,MACAyB;AAAA,MACAJ;AAAA,MACAkB;AAAA,MACAG;AAAA,MACAE;AAAA,IAAA,CACD,GAGC,gBAAAb,EAACgB,IAAe,EAAA,aAAY,SACzB,UAAA;AAAA,MAAAhD,KAAkBD,KACjB,gBAAA+B;AAAA,QAACmB;AAAA,QAAA;AAAA,UACC,aAAapB;AAAA,UACb,oBAAA9B;AAAA,UACA,YAAYsC;AAAA,UACZ,eAAeC;AAAA,UACf,SAAShC;AAAA,UACT,UAAUW;AAAA,QAAA;AAAA,MACZ;AAAA,wBAEDc,GAAU,EAAA,OAAM,SAAQ,SAASnB,GAAiB,UAAU,CAACO,GAC5D,UAAA,gBAAAa,EAACC,KAAS,aAAY,UAAS,iBAAgB,UAAS,KAAKR,GAC3D,UAAA;AAAA,QAAA,gBAAAK,EAACoB,MAAS,OAAO,IAAI,QAAQ,IAAI,WAAW,CAAC/B,GAAO;AAAA,QACpD,gBAAAW,EAACK,KAAK,WAAU,YAAW,QAAShB,IAAmB,UAAX,UAAoB,UAEhE,OAAA,CAAA;AAAA,QACC,gBAAAW,EAAAG,GAAA,EAAS,MAAM,GAAG,aAAY,UAC7B,UAAA,gBAAAH,EAACM,GAAU,EAAA,OAAO,IAAI,QAAQ,GAAG,YAAW,SAAS,CAAA,GACvD;AAAA,MAAA,EAAA,CACF,EACF,CAAA;AAAA,wBACCL,GAAU,EAAA,OAAM,YAAW,SAAShB,GAAgB,UAAU,CAACK,GAC9D,UAAA,gBAAAY,EAACC,KAAS,aAAY,UAAS,iBAAgB,UAAS,KAAKT,GAC3D,UAAA;AAAA,QAAA,gBAAAM,EAACqB,MAAQ,OAAO,IAAI,QAAQ,IAAI,WAAW,CAAC/B,GAAU;AAAA,QACtD,gBAAAU,EAACK,KAAK,WAAU,YAAW,QAAShB,IAAmB,UAAX,UAAoB,UAEhE,MAAA,CAAA;AAAA,MAAA,EAAA,CACF,EACF,CAAA;AAAA,MACClB,KAAiBS,KAAOC,KAAQ,gBAAAmB,EAACsB,MAAQ,UAAU1C,GAAK,WAAWC,GAAM;AAAA,MACzEV,KACC,gBAAA6B;AAAA,QAACuB;AAAA,QAAA;AAAA,UACC,aAAY;AAAA,UACZ,gBAAgB5D;AAAA,UAChB,kBAAkBI;AAAA,UAClB,eAAe;AAAA,UAEf,UAAA,gBAAAmC;AAAA,YAACsB;AAAA,YAAA;AAAA,cACC,UAAU;AAAA,cACV,OAAO;AAAA,cACP,gBAAgB7D;AAAA,cAChB,kBAAkBI;AAAA,cAElB,UAAA;AAAA,gBAAA,gBAAAiC,EAACC,KAAU,OAAM,SAAQ,SAASf,GAChC,UAAA,gBAAAc,EAACyB,MAAU,EACb,CAAA;AAAA,kCACCtB,GAAS,EAAA,UAAU,KAClB,UAAA,gBAAAH,EAACK,KAAK,WAAU,YAAW,QAAO,YAAW,gBAAgB,MAC1D,UAAAlC,MAAkB,SAAS,WAAW,YACzC,CAAA,GACF;AAAA,gBACCqB,KACCA,EAAkB,IAAI,CAACkC,GAAMC,MAC3B,gBAAAzB,EAACC,GAAS,EAAA,UAAU,KAAK,OAAO,KAC7B,UAAA;AAAA,kBAAkBX,EAAA,SAAS,KACzB,gBAAAU,EAAAG,GAAA,EAAK,WAAU,YAAW,QAAO,YAAW,gBAAgB,MAC1D,UAAA;AAAA,oBAAAlC;AAAA,oBAAc;AAAA,oBAAEwD,IAAQ;AAAA,oBAAE;AAAA,kBAAA,GAC7B;AAAA,kBAEF,gBAAA3B;AAAA,oBAAC4B;AAAA,oBAAA;AAAA,sBACC,yBAAyB;AAAA,wBACvB,QAAQF;AAAA,sBACV;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAAA,KAVwCC,EAAM,SAAS,CAWzD,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UACL;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;"}
|
|
1
|
+
{"version":3,"file":"question-guide.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/question-guide.tsx"],"sourcesContent":["import {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useState,\n useRef,\n type FC,\n type RefObject,\n} from 'react';\n\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport EVENTS from '../../constants/events';\nimport type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\nimport {\n Section,\n GuideContainer,\n CloseIcon,\n SolIcon,\n HintIcon,\n SectionContainer,\n Guide,\n Pointer,\n} from './worksheet-sidebar-styled';\n\ntype TSections = 'HINT' | 'SOL';\n\ninterface IQuestionGuideProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n actionbarHeight: number;\n}\n\nconst QuestionGuide: FC<IQuestionGuideProps> = memo(\n ({ questionWidth, questions, activeQuestionIndex, learnosity, actionbarHeight, loggerRef }) => {\n const [activeSection, setActiveSection] = useState<TSections | undefined>();\n const [pointerPosition, setPointerPosition] = useState({\n top: 0,\n left: 0,\n });\n const { top, left } = pointerPosition;\n\n const handleHintClick = useCallback(() => {\n setActiveSection('HINT');\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n }, [loggerRef]);\n const handleSolClick = useCallback(() => {\n setActiveSection('SOL');\n loggerRef.current(EVENTS.WORKSHEET_V3_SOLUTION_SEEN);\n }, [loggerRef]);\n const handleClose = useCallback(() => {\n setActiveSection(() => undefined);\n }, []);\n\n const { hints, solution } = questions[activeQuestionIndex]?.metadata || {};\n\n const activeSectionData = useMemo(() => {\n return activeSection === undefined ? undefined : activeSection === 'HINT' ? hints : solution;\n }, [activeSection, hints, solution]);\n\n const sqlRef = useRef<HTMLDivElement>(null) as RefObject<HTMLDivElement>;\n const hintRef = useRef<HTMLDivElement>(null) as RefObject<HTMLDivElement>;\n\n const updatePointerPosition = useCallback((ref: RefObject<HTMLDivElement>) => {\n if (ref.current) {\n const rect = ref.current.getBoundingClientRect();\n\n setPointerPosition({\n top: rect.top + rect.height / 2 - 8,\n left: rect.right - 78, // 52px (sidebar width) + 16px (gutter) + 10px\n });\n }\n }, []);\n\n if (activeSection && activeSectionData && learnosity) {\n learnosity.renderMath('mathjax');\n }\n\n useEffect(() => {\n if (activeSection === 'HINT') {\n updatePointerPosition(hintRef);\n } else if (activeSection === 'SOL') {\n updatePointerPosition(sqlRef);\n } else if (!activeSectionData) {\n setActiveSection(undefined);\n }\n }, [activeSection, updatePointerPosition, activeSectionData]);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"hints\" onClick={handleHintClick} disabled={!hints}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={hintRef}>\n <HintIcon width={32} height={32} $disabled={!hints} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n HINT\n </Text>\n <FlexView $gap={8} $alignItems=\"center\">\n <Separator width={24} height={1} background=\"GREY_2\" />\n </FlexView>\n </FlexView>\n </Clickable>\n <Clickable label=\"solution\" onClick={handleSolClick} disabled={!solution}>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" ref={sqlRef}>\n <SolIcon width={32} height={32} $disabled={!solution} />\n <Text $renderAs=\"eyebrow2\" $color={!hints ? 'GREY_4' : 'BLACK'}>\n SOL\n </Text>\n </FlexView>\n </Clickable>\n {activeSection && top && left && <Pointer topValue={top} leftValue={left} />}\n {activeSection && (\n <SectionContainer\n $background=\"WHITE\"\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n $borderRadius={10}\n >\n <Section\n $gutterX={1}\n $gapX={1}\n $questionWidth={questionWidth}\n $actionbarHeight={actionbarHeight}\n >\n <Clickable label=\"close\" onClick={handleClose}>\n <CloseIcon />\n </Clickable>\n <FlexView $gutterX={0.5}>\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection === 'HINT' ? 'HINTS:' : 'SOLUTION:'}\n </Text>\n </FlexView>\n {activeSectionData &&\n activeSectionData.map((item, index) => (\n <FlexView $gutterX={0.5} $gapX={0.5} key={index.toString()}>\n {activeSectionData.length > 1 && (\n <Text $renderAs=\"eyebrow2\" $color=\"ORANGE_5\" $marginBottomX={0.25}>\n {activeSection} {index + 1}:\n </Text>\n )}\n <Guide\n dangerouslySetInnerHTML={{\n __html: item,\n }}\n />\n </FlexView>\n ))}\n </Section>\n </SectionContainer>\n )}\n </GuideContainer>\n );\n },\n);\n\nexport default QuestionGuide;\n"],"names":["QuestionGuide","memo","questionWidth","questions","activeQuestionIndex","learnosity","actionbarHeight","loggerRef","activeSection","setActiveSection","useState","pointerPosition","setPointerPosition","top","left","handleHintClick","useCallback","EVENTS","handleSolClick","handleClose","hints","solution","_a","activeSectionData","useMemo","sqlRef","useRef","hintRef","updatePointerPosition","ref","rect","useEffect","jsxs","GuideContainer","jsx","Clickable","FlexView","HintIcon","Text","Separator","SolIcon","Pointer","SectionContainer","Section","CloseIcon","item","index","Guide"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsxs as n, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import { memo as $, useCallback as x } from "react";
|
|
3
|
+
import C from "../../../ui/layout/flex-view.js";
|
|
4
|
+
import g from "../../../ui/separator/separator.js";
|
|
5
5
|
import { SIDEBAR_WIDTH as f } from "../constants.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { SideBarContainer as
|
|
9
|
-
const
|
|
6
|
+
import u from "./navigator.js";
|
|
7
|
+
import w from "./question-guide.js";
|
|
8
|
+
import { SideBarContainer as S, UnderlinedTextWrapper as T, UnderlinedText as j } from "./worksheet-sidebar-styled.js";
|
|
9
|
+
const I = $(
|
|
10
10
|
({
|
|
11
11
|
questionWidth: t,
|
|
12
12
|
questions: i,
|
|
@@ -16,38 +16,34 @@ const X = C(
|
|
|
16
16
|
height: l,
|
|
17
17
|
actionbarHeight: s,
|
|
18
18
|
openQuestionFeedbackModal: e,
|
|
19
|
-
loggerRef: h
|
|
20
|
-
studentClassroomId: p,
|
|
21
|
-
enableStickers: d
|
|
19
|
+
loggerRef: h
|
|
22
20
|
}) => {
|
|
23
|
-
const
|
|
21
|
+
const p = i[m], { item_reference: o } = p ?? {}, d = x(() => {
|
|
24
22
|
e && e(o || "");
|
|
25
23
|
}, [o, e]);
|
|
26
24
|
return c !== "TEACHER" || !e ? null : /* @__PURE__ */ n(
|
|
27
|
-
|
|
25
|
+
S,
|
|
28
26
|
{
|
|
29
27
|
$width: f,
|
|
30
28
|
$questionWidth: t,
|
|
31
29
|
$height: l,
|
|
32
30
|
$justifyContent: "space-between",
|
|
33
31
|
children: [
|
|
34
|
-
/* @__PURE__ */ r(
|
|
35
|
-
/* @__PURE__ */ n(
|
|
32
|
+
/* @__PURE__ */ r(T, { $width: f, $alignItems: "flex-start", $gapX: 0.5, children: /* @__PURE__ */ r(j, { $renderAs: "cta1", onClick: d, children: "Question Feedback" }) }),
|
|
33
|
+
/* @__PURE__ */ n(C, { children: [
|
|
36
34
|
/* @__PURE__ */ r(
|
|
37
|
-
|
|
35
|
+
w,
|
|
38
36
|
{
|
|
39
37
|
questionWidth: t,
|
|
40
38
|
questions: i,
|
|
41
39
|
activeQuestionIndex: m,
|
|
42
40
|
learnosity: a,
|
|
43
41
|
actionbarHeight: s,
|
|
44
|
-
loggerRef: h
|
|
45
|
-
studentClassroomId: p,
|
|
46
|
-
enableStickers: d
|
|
42
|
+
loggerRef: h
|
|
47
43
|
}
|
|
48
44
|
),
|
|
49
|
-
/* @__PURE__ */ r(
|
|
50
|
-
/* @__PURE__ */ r(
|
|
45
|
+
/* @__PURE__ */ r(g, { heightX: 0.5 }),
|
|
46
|
+
/* @__PURE__ */ r(u, {})
|
|
51
47
|
] })
|
|
52
48
|
]
|
|
53
49
|
}
|
|
@@ -55,6 +51,6 @@ const X = C(
|
|
|
55
51
|
}
|
|
56
52
|
);
|
|
57
53
|
export {
|
|
58
|
-
|
|
54
|
+
I as default
|
|
59
55
|
};
|
|
60
56
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/sidebar.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport type { TUserTypes } from '../../../ui/types';\nimport { SIDEBAR_WIDTH } from '../constants';\nimport type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\nimport Navigator from './navigator';\nimport QuestionGuide from './question-guide';\nimport {\n SideBarContainer,\n UnderlinedText,\n UnderlinedTextWrapper,\n} from './worksheet-sidebar-styled';\n\ninterface IWorksheetSideBarProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n userType: TUserTypes;\n height: number | string;\n actionbarHeight: number;\n
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/sidebar.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport type { TUserTypes } from '../../../ui/types';\nimport { SIDEBAR_WIDTH } from '../constants';\nimport type { ILearnosity, IWorksheetProps, IWorksheetQuestion } from '../worksheet-types';\nimport Navigator from './navigator';\nimport QuestionGuide from './question-guide';\nimport {\n SideBarContainer,\n UnderlinedText,\n UnderlinedTextWrapper,\n} from './worksheet-sidebar-styled';\n\ninterface IWorksheetSideBarProps extends Pick<IWorksheetProps, 'loggerRef'> {\n questionWidth: number;\n questions: IWorksheetQuestion[];\n activeQuestionIndex: number;\n learnosity: ILearnosity;\n userType: TUserTypes;\n height: number | string;\n actionbarHeight: number;\n openQuestionFeedbackModal?: (itemRef: string) => void;\n}\n\nconst WorksheetSideBar: FC<IWorksheetSideBarProps> = memo(\n ({\n questionWidth,\n questions,\n activeQuestionIndex,\n learnosity,\n userType,\n height,\n actionbarHeight,\n openQuestionFeedbackModal,\n loggerRef,\n }) => {\n const activeQuestion = questions[activeQuestionIndex];\n const { item_reference: itemRef } = activeQuestion ?? {};\n\n const onFeedbackClick = useCallback(() => {\n if (openQuestionFeedbackModal) {\n openQuestionFeedbackModal(itemRef || '');\n }\n }, [itemRef, openQuestionFeedbackModal]);\n\n if (userType !== 'TEACHER' || !openQuestionFeedbackModal) return null;\n\n return (\n <SideBarContainer\n $width={SIDEBAR_WIDTH}\n $questionWidth={questionWidth}\n $height={height}\n $justifyContent=\"space-between\"\n >\n <UnderlinedTextWrapper $width={SIDEBAR_WIDTH} $alignItems=\"flex-start\" $gapX={0.5}>\n <UnderlinedText $renderAs=\"cta1\" onClick={onFeedbackClick}>\n Question Feedback\n </UnderlinedText>\n </UnderlinedTextWrapper>\n\n <FlexView>\n <QuestionGuide\n questionWidth={questionWidth}\n questions={questions}\n activeQuestionIndex={activeQuestionIndex}\n learnosity={learnosity}\n actionbarHeight={actionbarHeight}\n loggerRef={loggerRef}\n />\n <Separator heightX={0.5} />\n <Navigator />\n </FlexView>\n </SideBarContainer>\n );\n },\n);\n\nexport default WorksheetSideBar;\n"],"names":["WorksheetSideBar","memo","questionWidth","questions","activeQuestionIndex","learnosity","userType","height","actionbarHeight","openQuestionFeedbackModal","loggerRef","activeQuestion","itemRef","onFeedbackClick","useCallback","jsxs","SideBarContainer","SIDEBAR_WIDTH","jsx","UnderlinedTextWrapper","UnderlinedText","FlexView","QuestionGuide","Separator","Navigator"],"mappings":";;;;;;;;AA0BA,MAAMA,IAA+CC;AAAA,EACnD,CAAC;AAAA,IACC,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAiBR,EAAUC,CAAmB,GAC9C,EAAE,gBAAgBQ,MAAYD,KAAkB,CAAA,GAEhDE,IAAkBC,EAAY,MAAM;AACxC,MAAIL,KACFA,EAA0BG,KAAW,EAAE;AAAA,IACzC,GACC,CAACA,GAASH,CAAyB,CAAC;AAEvC,WAAIH,MAAa,aAAa,CAACG,IAAkC,OAG/D,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQC;AAAA,QACR,gBAAgBf;AAAA,QAChB,SAASK;AAAA,QACT,iBAAgB;AAAA,QAEhB,UAAA;AAAA,UAAA,gBAAAW,EAACC,GAAsB,EAAA,QAAQF,GAAe,aAAY,cAAa,OAAO,KAC5E,UAAC,gBAAAC,EAAAE,GAAA,EAAe,WAAU,QAAO,SAASP,GAAiB,8BAE3D,CAAA,GACF;AAAA,4BAECQ,GACC,EAAA,UAAA;AAAA,YAAA,gBAAAH;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,eAAApB;AAAA,gBACA,WAAAC;AAAA,gBACA,qBAAAC;AAAA,gBACA,YAAAC;AAAA,gBACA,iBAAAG;AAAA,gBACA,WAAAE;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAQ,EAACK,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,8BACxBC,GAAU,EAAA;AAAA,UAAA,GACb;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
|