@cuemath/leap 3.4.1-as1 → 3.4.1
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/chapters-v2/comps/node-card/student-actions/student-actions.js +63 -71
- package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js +6 -6
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { jsx as e, jsxs as m, Fragment as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { BLOCK_TYPE as
|
|
10
|
-
import { NODE_CARD_STATES as
|
|
11
|
-
import { getNodeTypeBasedBgImage as
|
|
12
|
-
import { getNodeCardBasedIcon as
|
|
13
|
-
import { NodeCardContainer as
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
const
|
|
1
|
+
import { jsx as e, jsxs as m, Fragment as G } from "react/jsx-runtime";
|
|
2
|
+
import { memo as z, useRef as F, useCallback as l } from "react";
|
|
3
|
+
import P from "../../../../../assets/line-icons/icons/eye2.js";
|
|
4
|
+
import U from "../../../../../assets/line-icons/icons/redo.js";
|
|
5
|
+
import Y from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
6
|
+
import Z from "../../../../ui/context-menu/context-menu.js";
|
|
7
|
+
import q from "../../../../ui/lottie-animation/lottie-animation.js";
|
|
8
|
+
import J from "../../../../ui/text/text.js";
|
|
9
|
+
import { BLOCK_TYPE as Q } from "../../../constants/block-constants.js";
|
|
10
|
+
import { NODE_CARD_STATES as V } from "../../../constants/node-constants.js";
|
|
11
|
+
import { getNodeTypeBasedBgImage as ee } from "../../../utils/index.js";
|
|
12
|
+
import { getNodeCardBasedIcon as te } from "../../../utils/node-card-utils.js";
|
|
13
|
+
import { NodeCardContainer as ne, NodeCardInfoWrapper as re, IconWrapper as oe, StyledImportantIcon as ae, NodeCardContentWrapper as ie, NodeCardTitle as ce } from "../node-card-styled.js";
|
|
14
|
+
import se from "../node-card-tags.js";
|
|
15
|
+
import de from "../node-menu-options/node-menu-options.js";
|
|
16
|
+
const me = { renderer: "canvas", autoplay: !1 }, ye = z((b) => {
|
|
17
17
|
const {
|
|
18
18
|
nodeData: t,
|
|
19
|
-
imageHue:
|
|
20
|
-
blockType:
|
|
19
|
+
imageHue: O,
|
|
20
|
+
blockType: A,
|
|
21
21
|
onNodeAttempt: a,
|
|
22
22
|
onNodeReattempt: i,
|
|
23
23
|
onNodeReview: c,
|
|
24
24
|
onNodeView: n,
|
|
25
|
-
isStudent:
|
|
25
|
+
isStudent: S
|
|
26
26
|
} = b, {
|
|
27
27
|
accuracy: y,
|
|
28
|
-
attempt_location:
|
|
28
|
+
attempt_location: E,
|
|
29
29
|
node_type: s,
|
|
30
|
-
card_header:
|
|
31
|
-
title:
|
|
32
|
-
state:
|
|
33
|
-
is_optional:
|
|
30
|
+
card_header: L,
|
|
31
|
+
title: T,
|
|
32
|
+
state: C,
|
|
33
|
+
is_optional: B,
|
|
34
34
|
sheet_statement: $,
|
|
35
35
|
permissions: x,
|
|
36
36
|
marked_as_completed: g,
|
|
37
|
-
user_attempt_id:
|
|
37
|
+
user_attempt_id: _
|
|
38
38
|
} = t, {
|
|
39
39
|
can_review: d,
|
|
40
40
|
can_start: p,
|
|
41
41
|
can_resume: u,
|
|
42
42
|
can_reset: I,
|
|
43
|
-
can_un_skip:
|
|
44
|
-
} = x,
|
|
43
|
+
can_un_skip: v
|
|
44
|
+
} = x, w = A === Q.GOAL, o = C === V.LOCKED, M = E === "INCLASS", R = p || u, W = s === "HIDDEN_BASIC", f = !R && (I || d), h = F(null), D = ee(s), { lottie: N } = te(s), k = l(
|
|
45
45
|
(r) => {
|
|
46
46
|
switch (r) {
|
|
47
47
|
case "node-card-review":
|
|
48
|
-
d &&
|
|
48
|
+
d && _ ? c == null || c(t) : n == null || n(t);
|
|
49
49
|
return;
|
|
50
50
|
case "node-card-reattempt":
|
|
51
51
|
i == null || i(t);
|
|
@@ -54,16 +54,8 @@ const le = { renderer: "canvas", autoplay: !1 }, Ee = P((b) => {
|
|
|
54
54
|
throw new Error(`No callback function for ${r}`);
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
|
-
[
|
|
58
|
-
|
|
59
|
-
S,
|
|
60
|
-
t,
|
|
61
|
-
i,
|
|
62
|
-
c,
|
|
63
|
-
n,
|
|
64
|
-
k
|
|
65
|
-
]
|
|
66
|
-
), X = l(() => {
|
|
57
|
+
[d, t, i, c, n, _]
|
|
58
|
+
), H = l(() => {
|
|
67
59
|
f || o || (p || u ? a == null || a(t) : g && (n == null || n(t)));
|
|
68
60
|
}, [
|
|
69
61
|
u,
|
|
@@ -74,39 +66,39 @@ const le = { renderer: "canvas", autoplay: !1 }, Ee = P((b) => {
|
|
|
74
66
|
f,
|
|
75
67
|
o,
|
|
76
68
|
g
|
|
77
|
-
]),
|
|
69
|
+
]), K = l(() => {
|
|
78
70
|
var r;
|
|
79
71
|
o || (r = h.current) == null || r.play();
|
|
80
|
-
}, [o]),
|
|
72
|
+
}, [o]), X = l(() => {
|
|
81
73
|
var r;
|
|
82
74
|
(r = h.current) == null || r.stop();
|
|
83
|
-
}, []),
|
|
75
|
+
}, []), j = [
|
|
84
76
|
{
|
|
85
77
|
id: "node-card-review",
|
|
86
78
|
label: "Review",
|
|
87
|
-
icon:
|
|
79
|
+
icon: P,
|
|
88
80
|
disabled: !d,
|
|
89
|
-
onClick:
|
|
81
|
+
onClick: k
|
|
90
82
|
},
|
|
91
83
|
{
|
|
92
84
|
id: "node-card-reattempt",
|
|
93
85
|
label: "Reattempt",
|
|
94
|
-
icon:
|
|
86
|
+
icon: U,
|
|
95
87
|
disabled: !I,
|
|
96
|
-
onClick:
|
|
88
|
+
onClick: k
|
|
97
89
|
}
|
|
98
90
|
];
|
|
99
|
-
return
|
|
100
|
-
|
|
91
|
+
return v || W ? null : /* @__PURE__ */ e(
|
|
92
|
+
Z,
|
|
101
93
|
{
|
|
102
94
|
targetElement: /* @__PURE__ */ e(
|
|
103
|
-
|
|
95
|
+
ne,
|
|
104
96
|
{
|
|
105
|
-
$background: `${
|
|
97
|
+
$background: `${O}_2`,
|
|
106
98
|
$disabled: o,
|
|
107
|
-
onClick:
|
|
99
|
+
onClick: H,
|
|
108
100
|
children: /* @__PURE__ */ m(
|
|
109
|
-
|
|
101
|
+
Y,
|
|
110
102
|
{
|
|
111
103
|
renderAs: "primary",
|
|
112
104
|
tooltipItem: $,
|
|
@@ -117,20 +109,20 @@ const le = { renderer: "canvas", autoplay: !1 }, Ee = P((b) => {
|
|
|
117
109
|
widthX: 11.25,
|
|
118
110
|
children: [
|
|
119
111
|
/* @__PURE__ */ m(
|
|
120
|
-
|
|
112
|
+
re,
|
|
121
113
|
{
|
|
122
114
|
$flexDirection: "row",
|
|
123
115
|
$alignItems: "center",
|
|
124
116
|
$heightX: 3.5,
|
|
125
|
-
$bgImage:
|
|
117
|
+
$bgImage: D,
|
|
126
118
|
$gutterX: 0.78125,
|
|
127
119
|
$flexGap: 8.5,
|
|
128
120
|
$opacity: o ? 0.5 : 1,
|
|
129
|
-
onMouseEnter:
|
|
130
|
-
onMouseLeave:
|
|
121
|
+
onMouseEnter: K,
|
|
122
|
+
onMouseLeave: X,
|
|
131
123
|
children: [
|
|
132
124
|
/* @__PURE__ */ m(
|
|
133
|
-
|
|
125
|
+
oe,
|
|
134
126
|
{
|
|
135
127
|
$width: 31,
|
|
136
128
|
$height: 31,
|
|
@@ -140,41 +132,41 @@ const le = { renderer: "canvas", autoplay: !1 }, Ee = P((b) => {
|
|
|
140
132
|
$justifyContent: "center",
|
|
141
133
|
children: [
|
|
142
134
|
/* @__PURE__ */ e(
|
|
143
|
-
|
|
135
|
+
q,
|
|
144
136
|
{
|
|
145
|
-
src:
|
|
137
|
+
src: N,
|
|
146
138
|
ref: h,
|
|
147
|
-
settings:
|
|
139
|
+
settings: me
|
|
148
140
|
}
|
|
149
141
|
),
|
|
150
|
-
!
|
|
142
|
+
!B && /* @__PURE__ */ e(ae, {})
|
|
151
143
|
]
|
|
152
144
|
}
|
|
153
145
|
),
|
|
154
|
-
/* @__PURE__ */ m(
|
|
155
|
-
|
|
146
|
+
/* @__PURE__ */ m(J, { $renderAs: "ac4-black", $color: "BLACK", children: [
|
|
147
|
+
L,
|
|
156
148
|
" ",
|
|
157
|
-
|
|
149
|
+
M && "• CW"
|
|
158
150
|
] })
|
|
159
151
|
]
|
|
160
152
|
}
|
|
161
153
|
),
|
|
162
154
|
/* @__PURE__ */ e(
|
|
163
|
-
|
|
155
|
+
se,
|
|
164
156
|
{
|
|
165
157
|
nodeType: s,
|
|
166
|
-
state:
|
|
158
|
+
state: C,
|
|
167
159
|
accuracy: y,
|
|
168
|
-
isStudent:
|
|
160
|
+
isStudent: S
|
|
169
161
|
}
|
|
170
162
|
),
|
|
171
|
-
!
|
|
172
|
-
|
|
163
|
+
!w && /* @__PURE__ */ e(ie, { $background: "WHITE_1", $heightX: 4, children: /* @__PURE__ */ e(
|
|
164
|
+
ce,
|
|
173
165
|
{
|
|
174
166
|
$renderAs: "ab3",
|
|
175
167
|
$color: "BLACK_1",
|
|
176
168
|
$opacity: o ? 0.5 : 1,
|
|
177
|
-
children:
|
|
169
|
+
children: T
|
|
178
170
|
}
|
|
179
171
|
) })
|
|
180
172
|
]
|
|
@@ -186,11 +178,11 @@ const le = { renderer: "canvas", autoplay: !1 }, Ee = P((b) => {
|
|
|
186
178
|
menuWidth: "100%",
|
|
187
179
|
menuZIndex: 6,
|
|
188
180
|
menuOffset: 2,
|
|
189
|
-
menuElement: f ? /* @__PURE__ */ e(
|
|
181
|
+
menuElement: f ? /* @__PURE__ */ e(de, { options: j }) : /* @__PURE__ */ e(G, {})
|
|
190
182
|
}
|
|
191
183
|
);
|
|
192
184
|
});
|
|
193
185
|
export {
|
|
194
|
-
|
|
186
|
+
ye as default
|
|
195
187
|
};
|
|
196
188
|
//# sourceMappingURL=student-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"student-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/student-actions/student-actions.tsx"],"sourcesContent":["import { memo, useCallback, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../../ui/context-menu/context-menu';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport type { INodeCardProps } from '../node-card-types';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst StudentActions: FC<Omit<INodeCardProps, 'userType'>> = memo(props => {\n const {\n nodeData,\n imageHue,\n blockType,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n isStudent,\n } = props;\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n marked_as_completed: teacherMarkedAsCompleted,\n user_attempt_id: userAttemptId,\n } = nodeData;\n const {\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n can_reset: canReset,\n can_un_skip: canUnSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canStartOrResume = canStart || canResume;\n const isHiddenBasic = nodeType === 'HIDDEN_BASIC';\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n const renderOptions = !canStartOrResume && (canReset || canReview);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-review':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData, undefined, undefined, isSatMockTestBlock);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-reattempt':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n isSatMockTestBlock,\n nodeData,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnNodeCardClick = useCallback(() => {\n if (renderOptions || sheetLocked) return;\n\n if (canStart || canResume) {\n onNodeAttempt?.(nodeData);\n } else if (teacherMarkedAsCompleted) {\n onNodeView?.(nodeData);\n }\n }, [\n canResume,\n canStart,\n nodeData,\n onNodeAttempt,\n onNodeView,\n renderOptions,\n sheetLocked,\n teacherMarkedAsCompleted,\n ]);\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n //* Scenario when student cannot see the node. But teacher can still see that node.\n //* If a node is skipped or if it's node type is HIDDEN_BASIC.\n if (canUnSkip || isHiddenBasic) return null;\n\n return (\n <ContextMenu\n targetElement={\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={!sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n isStudent={isStudent}\n />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper $background=\"WHITE_1\" $heightX={4}>\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n }\n startLeft\n menuWidth=\"100%\"\n menuZIndex={6}\n menuOffset={2}\n menuElement={renderOptions ? <NodeMenuOptions options={menuOptions} /> : <></>}\n />\n );\n});\n\nexport default StudentActions;\n"],"names":["renderSettings","StudentActions","memo","props","nodeData","imageHue","blockType","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeView","isStudent","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","teacherMarkedAsCompleted","userAttemptId","canReview","canStart","canResume","canReset","canUnSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","inClassSheet","canStartOrResume","isHiddenBasic","isSatMockTestBlock","renderOptions","animationRef","useRef","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","handleOnNodeCardClick","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","RedoIcon","jsx","ContextMenu","Styled.NodeCardContainer","jsxs","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","NodeMenuOptions","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"student-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/student-actions/student-actions.tsx"],"sourcesContent":["import { memo, useCallback, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../../ui/context-menu/context-menu';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport type { INodeCardProps } from '../node-card-types';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst StudentActions: FC<Omit<INodeCardProps, 'userType'>> = memo(props => {\n const {\n nodeData,\n imageHue,\n blockType,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n isStudent,\n } = props;\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n marked_as_completed: teacherMarkedAsCompleted,\n user_attempt_id: userAttemptId,\n } = nodeData;\n const {\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n can_reset: canReset,\n can_un_skip: canUnSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canStartOrResume = canStart || canResume;\n const isHiddenBasic = nodeType === 'HIDDEN_BASIC';\n\n const renderOptions = !canStartOrResume && (canReset || canReview);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-review':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-reattempt':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [canReview, nodeData, onNodeReattempt, onNodeReview, onNodeView, userAttemptId],\n );\n\n const handleOnNodeCardClick = useCallback(() => {\n if (renderOptions || sheetLocked) return;\n\n if (canStart || canResume) {\n onNodeAttempt?.(nodeData);\n } else if (teacherMarkedAsCompleted) {\n onNodeView?.(nodeData);\n }\n }, [\n canResume,\n canStart,\n nodeData,\n onNodeAttempt,\n onNodeView,\n renderOptions,\n sheetLocked,\n teacherMarkedAsCompleted,\n ]);\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-review',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n //* Scenario when student cannot see the node. But teacher can still see that node.\n //* If a node is skipped or if it's node type is HIDDEN_BASIC.\n if (canUnSkip || isHiddenBasic) return null;\n\n return (\n <ContextMenu\n targetElement={\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={!sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n isStudent={isStudent}\n />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper $background=\"WHITE_1\" $heightX={4}>\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n }\n startLeft\n menuWidth=\"100%\"\n menuZIndex={6}\n menuOffset={2}\n menuElement={renderOptions ? <NodeMenuOptions options={menuOptions} /> : <></>}\n />\n );\n});\n\nexport default StudentActions;\n"],"names":["renderSettings","StudentActions","memo","props","nodeData","imageHue","blockType","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeView","isStudent","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","teacherMarkedAsCompleted","userAttemptId","canReview","canStart","canResume","canReset","canUnSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","inClassSheet","canStartOrResume","isHiddenBasic","renderOptions","animationRef","useRef","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","handleOnNodeCardClick","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","RedoIcon","jsx","ContextMenu","Styled.NodeCardContainer","jsxs","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","NodeMenuOptions","Fragment"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ const Y = { renderer: "canvas", autoplay: !1 }, pe = N((_) => {
|
|
|
23
23
|
blockPermissions: I,
|
|
24
24
|
onNodeAttempt: a,
|
|
25
25
|
onNodeReview: s
|
|
26
|
-
} = _, l = O(null), { can_resume: $, can_review:
|
|
26
|
+
} = _, l = O(null), { can_resume: $, can_review: u, can_start: f } = I, n = T(() => r === A.LOCKED, [r]), g = T(() => r === A.COMPLETED, [r]), { sat_max_score: L, sat_total_score: w } = k || {}, y = i[0], { node_type: d } = y, B = P(d), { lottie: M } = z(d), { english: v, math: E } = Q(i), D = m(() => {
|
|
27
27
|
var o;
|
|
28
28
|
n || (o = l.current) == null || o.play();
|
|
29
29
|
}, [n]), K = m(() => {
|
|
@@ -33,12 +33,12 @@ const Y = { renderer: "canvas", autoplay: !1 }, pe = N((_) => {
|
|
|
33
33
|
const o = U(i);
|
|
34
34
|
if (!o)
|
|
35
35
|
throw new Error("Active SAT sheet is not available");
|
|
36
|
-
if (h === "STUDENT" && (
|
|
36
|
+
if (h === "STUDENT" && (f || $)) {
|
|
37
37
|
a == null || a(o);
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
}, [$,
|
|
40
|
+
u && (s == null || s(o, void 0, void 0, !0));
|
|
41
|
+
}, [$, u, f, a, s, i, h]);
|
|
42
42
|
return /* @__PURE__ */ e(S, { $flexDirection: "row", $flexGapX: 1.5, $alignItems: "center", children: [
|
|
43
43
|
/* @__PURE__ */ t(
|
|
44
44
|
X,
|
|
@@ -120,7 +120,7 @@ const Y = { renderer: "canvas", autoplay: !1 }, pe = N((_) => {
|
|
|
120
120
|
/* @__PURE__ */ t("span", { children: "Reading & Writing:" }),
|
|
121
121
|
/* @__PURE__ */ e("span", { children: [
|
|
122
122
|
"2 Modules, ",
|
|
123
|
-
|
|
123
|
+
v,
|
|
124
124
|
" questions"
|
|
125
125
|
] })
|
|
126
126
|
] }),
|
|
@@ -128,7 +128,7 @@ const Y = { renderer: "canvas", autoplay: !1 }, pe = N((_) => {
|
|
|
128
128
|
/* @__PURE__ */ t("span", { children: "Math:" }),
|
|
129
129
|
/* @__PURE__ */ e("span", { children: [
|
|
130
130
|
"2 Modules, ",
|
|
131
|
-
|
|
131
|
+
E,
|
|
132
132
|
" questions"
|
|
133
133
|
] })
|
|
134
134
|
] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sat-mock-test.js","sources":["../../../../../src/features/chapters-v2/comps/sat-mock-test/sat-mock-test.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport Text from '../../../ui/text/text';\nimport {\n NodeCardContainer,\n NodeCardInfoWrapper,\n IconWrapper,\n StyledImportantIcon,\n} from '../../comps/node-card/node-card-styled';\nimport { BLOCK_STATES } from '../../constants/block-constants';\nimport { getNodeTypeBasedBgImage } from '../../utils';\nimport { getNodeCardBasedIcon } from '../../utils/node-card-utils';\nimport { getNextAccessibleSATSheet, getSatSheetQuestionsCount } from '../../utils/sat-sheet-utils';\nimport NodeCardTags from '../node-card/node-card-tags';\nimport * as Styled from './sat-mock-test-styled';\nimport type { ISatMockTestProps } from './sat-mock-test-types';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst SatMockTest: FC<ISatMockTestProps> = memo(props => {\n const {\n userType,\n imageHue,\n sheets,\n blockStats,\n blockState,\n blockStatement,\n blockPermissions,\n onNodeAttempt,\n onNodeReview,\n } = props;\n\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const { can_resume: canResume, can_review: canReview, can_start: canStart } = blockPermissions;\n\n const isBlockLocked = useMemo(() => blockState === BLOCK_STATES.LOCKED, [blockState]);\n const isBlockCompleted = useMemo(() => blockState === BLOCK_STATES.COMPLETED, [blockState]);\n const { sat_max_score: satMaxScore, sat_total_score: satTotalScore } = blockStats || {};\n const nodeData = sheets[0] as ISatMockTestProps['sheets'][0];\n\n const { node_type: nodeType } = nodeData;\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const { english, math } = getSatSheetQuestionsCount(sheets);\n\n const handleOnMouseEnter = useCallback(() => {\n if (isBlockLocked) return;\n\n animationRef.current?.play();\n }, [isBlockLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeAttempt = useCallback(() => {\n const nextAccessibleSATSheet = getNextAccessibleSATSheet(sheets);\n\n if (!nextAccessibleSATSheet) {\n throw new Error('Active SAT sheet is not available');\n }\n\n if (userType === 'STUDENT' && (canStart || canResume)) {\n onNodeAttempt?.(nextAccessibleSATSheet);\n\n return;\n }\n\n if (canReview) {\n onNodeReview?.(nextAccessibleSATSheet);\n }\n }, [canResume, canReview, canStart, onNodeAttempt, onNodeReview, sheets, userType]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5} $alignItems=\"center\">\n <Clickable\n label=\"\"\n analyticsLabel=\"mock_test\"\n onClick={handleOnNodeAttempt}\n disabled={isBlockLocked}\n >\n <NodeCardContainer $minWidth={180} $background={`${imageHue}_2`} $disabled={isBlockLocked}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={blockStatement}\n zIndex={5}\n hidden={!blockStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={isBlockLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n width={31}\n height={31}\n />\n <StyledImportantIcon />\n </IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n Mock Test\n </Text>\n </NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={blockState} />\n </ArrowTooltip>\n </NodeCardContainer>\n </Clickable>\n\n <FlexView $flexGap={isBlockCompleted ? 8 : 4}>\n {isBlockCompleted ? (\n <>\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n Total Score\n </Text>\n\n <Styled.ScoreTextWrapper $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Text $renderAs=\"ah4-bold\">{satTotalScore}</Text>\n <Text $renderAs=\"ac3-black\" $color=\"BLACK_T_38\">\n /{satMaxScore}\n </Text>\n </Styled.ScoreTextWrapper>\n </>\n ) : (\n <>\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Reading & Writing:</span>\n <span>2 Modules, {english} questions</span>\n </Styled.StyledText>\n\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Math:</span>\n <span>2 Modules, {math} questions</span>\n </Styled.StyledText>\n </>\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default SatMockTest;\n"],"names":["renderSettings","SatMockTest","memo","props","userType","imageHue","sheets","blockStats","blockState","blockStatement","blockPermissions","onNodeAttempt","onNodeReview","animationRef","useRef","canResume","canReview","canStart","isBlockLocked","useMemo","BLOCK_STATES","isBlockCompleted","satMaxScore","satTotalScore","nodeData","nodeType","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","english","math","getSatSheetQuestionsCount","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","handleOnNodeAttempt","nextAccessibleSATSheet","getNextAccessibleSATSheet","FlexView","jsx","Clickable","NodeCardContainer","jsxs","ArrowTooltip","NodeCardInfoWrapper","IconWrapper","LottieAnimation","StyledImportantIcon","Text","NodeCardTags","Fragment","Styled.ScoreTextWrapper","Styled.StyledText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sat-mock-test.js","sources":["../../../../../src/features/chapters-v2/comps/sat-mock-test/sat-mock-test.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport Text from '../../../ui/text/text';\nimport {\n NodeCardContainer,\n NodeCardInfoWrapper,\n IconWrapper,\n StyledImportantIcon,\n} from '../../comps/node-card/node-card-styled';\nimport { BLOCK_STATES } from '../../constants/block-constants';\nimport { getNodeTypeBasedBgImage } from '../../utils';\nimport { getNodeCardBasedIcon } from '../../utils/node-card-utils';\nimport { getNextAccessibleSATSheet, getSatSheetQuestionsCount } from '../../utils/sat-sheet-utils';\nimport NodeCardTags from '../node-card/node-card-tags';\nimport * as Styled from './sat-mock-test-styled';\nimport type { ISatMockTestProps } from './sat-mock-test-types';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\nconst SatMockTest: FC<ISatMockTestProps> = memo(props => {\n const {\n userType,\n imageHue,\n sheets,\n blockStats,\n blockState,\n blockStatement,\n blockPermissions,\n onNodeAttempt,\n onNodeReview,\n } = props;\n\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const { can_resume: canResume, can_review: canReview, can_start: canStart } = blockPermissions;\n\n const isBlockLocked = useMemo(() => blockState === BLOCK_STATES.LOCKED, [blockState]);\n const isBlockCompleted = useMemo(() => blockState === BLOCK_STATES.COMPLETED, [blockState]);\n const { sat_max_score: satMaxScore, sat_total_score: satTotalScore } = blockStats || {};\n const nodeData = sheets[0] as ISatMockTestProps['sheets'][0];\n\n const { node_type: nodeType } = nodeData;\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const { english, math } = getSatSheetQuestionsCount(sheets);\n\n const handleOnMouseEnter = useCallback(() => {\n if (isBlockLocked) return;\n\n animationRef.current?.play();\n }, [isBlockLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeAttempt = useCallback(() => {\n const nextAccessibleSATSheet = getNextAccessibleSATSheet(sheets);\n\n if (!nextAccessibleSATSheet) {\n throw new Error('Active SAT sheet is not available');\n }\n\n if (userType === 'STUDENT' && (canStart || canResume)) {\n onNodeAttempt?.(nextAccessibleSATSheet);\n\n return;\n }\n\n if (canReview) {\n onNodeReview?.(nextAccessibleSATSheet, undefined, undefined, true);\n }\n }, [canResume, canReview, canStart, onNodeAttempt, onNodeReview, sheets, userType]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5} $alignItems=\"center\">\n <Clickable\n label=\"\"\n analyticsLabel=\"mock_test\"\n onClick={handleOnNodeAttempt}\n disabled={isBlockLocked}\n >\n <NodeCardContainer $minWidth={180} $background={`${imageHue}_2`} $disabled={isBlockLocked}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={blockStatement}\n zIndex={5}\n hidden={!blockStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={isBlockLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n width={31}\n height={31}\n />\n <StyledImportantIcon />\n </IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\">\n Mock Test\n </Text>\n </NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={blockState} />\n </ArrowTooltip>\n </NodeCardContainer>\n </Clickable>\n\n <FlexView $flexGap={isBlockCompleted ? 8 : 4}>\n {isBlockCompleted ? (\n <>\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n Total Score\n </Text>\n\n <Styled.ScoreTextWrapper $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Text $renderAs=\"ah4-bold\">{satTotalScore}</Text>\n <Text $renderAs=\"ac3-black\" $color=\"BLACK_T_38\">\n /{satMaxScore}\n </Text>\n </Styled.ScoreTextWrapper>\n </>\n ) : (\n <>\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Reading & Writing:</span>\n <span>2 Modules, {english} questions</span>\n </Styled.StyledText>\n\n <Styled.StyledText $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n <span>Math:</span>\n <span>2 Modules, {math} questions</span>\n </Styled.StyledText>\n </>\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default SatMockTest;\n"],"names":["renderSettings","SatMockTest","memo","props","userType","imageHue","sheets","blockStats","blockState","blockStatement","blockPermissions","onNodeAttempt","onNodeReview","animationRef","useRef","canResume","canReview","canStart","isBlockLocked","useMemo","BLOCK_STATES","isBlockCompleted","satMaxScore","satTotalScore","nodeData","nodeType","nodeBgImage","getNodeTypeBasedBgImage","nodeCardLottie","getNodeCardBasedIcon","english","math","getSatSheetQuestionsCount","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","handleOnNodeAttempt","nextAccessibleSATSheet","getNextAccessibleSATSheet","FlexView","jsx","Clickable","NodeCardContainer","jsxs","ArrowTooltip","NodeCardInfoWrapper","IconWrapper","LottieAnimation","StyledImportantIcon","Text","NodeCardTags","Fragment","Styled.ScoreTextWrapper","Styled.StyledText"],"mappings":"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"}
|