@cuemath/leap 3.0.12-ays3 → 3.0.12-ays5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +68 -32
  2. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  3. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +98 -95
  4. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  5. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +165 -154
  6. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  7. package/dist/features/communication/pub-sub/constants.js +1 -0
  8. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  9. package/dist/features/homework/homework-card.js +35 -34
  10. package/dist/features/homework/homework-card.js.map +1 -1
  11. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +65 -64
  12. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  13. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +25 -25
  14. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  15. package/dist/features/ui/border-path-animation/border-path-animation-styled.js +51 -0
  16. package/dist/features/ui/border-path-animation/border-path-animation-styled.js.map +1 -0
  17. package/dist/features/ui/border-path-animation/border-path-animation.js +108 -0
  18. package/dist/features/ui/border-path-animation/border-path-animation.js.map +1 -0
  19. package/dist/index.d.ts +11 -2
  20. package/package.json +1 -1
@@ -1,197 +1,208 @@
1
- import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
- import { memo as P, useRef as g, useCallback as C } from "react";
3
- import R from "../../../../../assets/line-icons/icons/check2.js";
4
- import U from "../../../../../assets/line-icons/icons/eye2.js";
5
- import Y from "../../../../../assets/line-icons/icons/home2.js";
6
- import E from "../../../../../assets/line-icons/icons/more-vertical.js";
7
- import q from "../../../../../assets/line-icons/icons/redo.js";
8
- import J from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
9
- import Q from "../../../../ui/hooks/use-context-menu-click-handler.js";
10
- import V from "../../../../ui/layout/flex-view.js";
11
- import Z from "../../../../ui/lottie-animation/lottie-animation.js";
12
- import D from "../../../../ui/text/text.js";
13
- import { BLOCK_TYPE as N } from "../../../constants/block-constants.js";
14
- import { NODE_CARD_STATES as ee, TEACHER_MENU_LABELS as re } from "../../../constants/node-constants.js";
15
- import { getNodeTypeBasedBgImage as te } from "../../../utils/index.js";
16
- import { getNodeCardBasedIcon as ne } from "../../../utils/node-card-utils.js";
17
- import { NodeCardContainer as ie, NodeCardInfoWrapper as ce, IconWrapper as ae, StyledImportantIcon as oe, NodeKebabMenuWrapper as y, NodeCardContentWrapper as le, NodeCardTitle as se, NodeMenuOptionsWrapper as de } from "../node-card-styled.js";
18
- import me from "../node-card-tags.js";
19
- import pe from "../node-menu-options/node-menu-options.js";
20
- const he = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: fe, REVIEW: ue, VIEW: Ce, MARK_AS_DONE: $e, RESET: _e } = re, ve = P(
1
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
+ import { memo as q, useRef as L, useCallback as $ } from "react";
3
+ import J from "../../../../../assets/line-icons/icons/check2.js";
4
+ import Q from "../../../../../assets/line-icons/icons/eye2.js";
5
+ import V from "../../../../../assets/line-icons/icons/home2.js";
6
+ import O from "../../../../../assets/line-icons/icons/more-vertical.js";
7
+ import Z from "../../../../../assets/line-icons/icons/redo.js";
8
+ import D from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
9
+ import N from "../../../../ui/border-path-animation/border-path-animation.js";
10
+ import ee from "../../../../ui/hooks/use-context-menu-click-handler.js";
11
+ import re from "../../../../ui/layout/flex-view.js";
12
+ import te from "../../../../ui/lottie-animation/lottie-animation.js";
13
+ import ne from "../../../../ui/text/text.js";
14
+ import { BLOCK_TYPE as ie } from "../../../constants/block-constants.js";
15
+ import { NODE_CARD_STATES as _, TEACHER_MENU_LABELS as oe } from "../../../constants/node-constants.js";
16
+ import { getNodeTypeBasedBgImage as ce } from "../../../utils/index.js";
17
+ import { getNodeCardBasedIcon as ae } from "../../../utils/node-card-utils.js";
18
+ import { NodeCardContainer as se, NodeCardInfoWrapper as le, IconWrapper as de, StyledImportantIcon as me, NodeKebabMenuWrapper as y, NodeCardContentWrapper as pe, NodeCardTitle as he, NodeMenuOptionsWrapper as fe } from "../node-card-styled.js";
19
+ import ue from "../node-card-tags.js";
20
+ import Ce from "../node-menu-options/node-menu-options.js";
21
+ const $e = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: _e, REVIEW: Ie, VIEW: be, MARK_AS_DONE: ge, RESET: Ee } = oe, Fe = q(
21
22
  ({
22
23
  nodeData: t,
23
- imageHue: L,
24
- blockType: S,
25
- isSkipped: T,
26
- onNodeAssignAsHomework: c,
27
- onNodeMarkAsDone: a,
28
- onNodeView: o,
29
- onNodeReview: l,
30
- onNodeReattempt: s
24
+ imageHue: k,
25
+ blockType: W,
26
+ isSkipped: I,
27
+ onNodeAssignAsHomework: o,
28
+ onNodeMarkAsDone: c,
29
+ onNodeView: a,
30
+ onNodeReview: s,
31
+ onNodeReattempt: l
31
32
  }) => {
32
- const m = g(null), { menuVisible: k, onMenuClick: $ } = Q(m), {
33
- accuracy: O,
34
- attempt_location: x,
35
- node_type: p,
36
- card_header: W,
37
- title: B,
38
- state: _,
39
- is_optional: M,
40
- sheet_statement: I,
41
- permissions: w,
42
- user_attempt_id: h
43
- } = t, { lottie: A } = ne(p), f = g(null), {
44
- can_mark_familiar: K,
45
- can_review: u,
46
- can_assign_as_homework: G,
47
- can_reset: j
48
- } = w, b = S === N.GOAL, i = _ === ee.LOCKED, v = x === "INCLASS", X = te(p), d = C(
33
+ const p = L(null), { menuVisible: x, onMenuClick: b } = ee(p), {
34
+ accuracy: B,
35
+ attempt_location: A,
36
+ node_type: h,
37
+ card_header: M,
38
+ title: w,
39
+ state: d,
40
+ is_optional: g,
41
+ sheet_statement: E,
42
+ permissions: K,
43
+ user_attempt_id: f
44
+ } = t, { lottie: G } = ae(h), u = L(null), {
45
+ can_mark_familiar: j,
46
+ can_review: C,
47
+ can_assign_as_homework: v,
48
+ can_reset: P
49
+ } = K, S = W === ie.GOAL, n = d === _.LOCKED, R = d === _.NOT_STARTED, X = d === _.IN_PROGRESS, H = A === "INCLASS", T = !g && (X || R), F = ce(h), m = $(
49
50
  (r) => {
50
51
  switch (r) {
51
52
  case "node-card-view":
52
- u && h ? l == null || l(t) : o == null || o(t);
53
+ C && f ? s == null || s(t) : a == null || a(t);
53
54
  return;
54
55
  case "node-card-assign-as-hw":
55
- c == null || c(t);
56
+ o == null || o(t);
56
57
  return;
57
58
  case "node-card-mark-as-done":
58
- a == null || a(t);
59
+ c == null || c(t);
59
60
  return;
60
61
  case "node-card-reset":
61
- s == null || s(t);
62
+ l == null || l(t);
62
63
  return;
63
64
  default:
64
65
  throw new Error(`No callback function for ${r}`);
65
66
  }
66
67
  },
67
68
  [
68
- u,
69
+ C,
69
70
  t,
71
+ o,
70
72
  c,
71
- a,
72
- s,
73
73
  l,
74
- o,
75
- h
74
+ s,
75
+ a,
76
+ f
76
77
  ]
77
- ), H = C(() => {
78
+ ), z = $(() => {
78
79
  var r;
79
- i || (r = f.current) == null || r.play();
80
- }, [i]), F = C(() => {
80
+ n || (r = u.current) == null || r.play();
81
+ }, [n]), U = $(() => {
81
82
  var r;
82
- (r = f.current) == null || r.stop();
83
- }, []), z = [
83
+ (r = u.current) == null || r.stop();
84
+ }, []), Y = [
84
85
  {
85
86
  id: "node-card-view",
86
- label: u && h ? ue : Ce,
87
- icon: U,
87
+ label: C && f ? Ie : be,
88
+ icon: Q,
88
89
  disabled: !1,
89
- onClick: d
90
+ onClick: m
90
91
  },
91
92
  {
92
93
  id: "node-card-assign-as-hw",
93
- label: fe,
94
- icon: Y,
95
- disabled: !G,
96
- onClick: d
94
+ label: _e,
95
+ icon: V,
96
+ disabled: !v,
97
+ onClick: m
97
98
  },
98
99
  {
99
100
  id: "node-card-reset",
100
- label: _e,
101
- icon: q,
102
- disabled: !j,
103
- onClick: d
101
+ label: Ee,
102
+ icon: Z,
103
+ disabled: !P,
104
+ onClick: m
104
105
  },
105
106
  {
106
107
  id: "node-card-mark-as-done",
107
- label: $e,
108
- icon: R,
109
- disabled: !K,
110
- onClick: d
108
+ label: ge,
109
+ icon: J,
110
+ disabled: !j,
111
+ onClick: m
111
112
  }
112
113
  ];
113
- return /* @__PURE__ */ n(ie, { $background: `${L}_2`, $disabled: !!T, children: [
114
- /* @__PURE__ */ n(
115
- J,
116
- {
117
- renderAs: "primary",
118
- tooltipItem: I,
119
- position: "bottom",
120
- zIndex: 5,
121
- hidden: !I,
122
- parentWidth: "100%",
123
- widthX: 11.25,
124
- children: [
125
- /* @__PURE__ */ n(
126
- ce,
127
- {
128
- $flexDirection: "row",
129
- $alignItems: "center",
130
- $width: "100%",
131
- $heightX: 3.5,
132
- $bgImage: X,
133
- $gutterX: 0.78125,
134
- $flexGap: 8.5,
135
- onMouseEnter: H,
136
- onMouseLeave: F,
137
- children: [
138
- /* @__PURE__ */ n(
139
- ae,
140
- {
141
- $width: 31,
142
- $height: 31,
143
- $background: "WHITE_1",
144
- $position: "relative",
145
- $alignItems: "center",
146
- $justifyContent: "center",
147
- $opacity: i ? 0.5 : 1,
148
- children: [
149
- /* @__PURE__ */ e(Z, { src: A, ref: f, settings: he }),
150
- !M && /* @__PURE__ */ e(oe, {})
151
- ]
152
- }
153
- ),
154
- /* @__PURE__ */ n(D, { $renderAs: "ac4-black", $color: "BLACK", $opacity: i ? 0.5 : 1, children: [
155
- W,
156
- " ",
157
- v && "• CW"
158
- ] }),
159
- /* @__PURE__ */ e(V, { className: "context-menu", children: b && /* @__PURE__ */ e(y, { ref: m, onClick: $, children: /* @__PURE__ */ e(E, { width: 16, height: 16 }) }) })
160
- ]
161
- }
162
- ),
163
- /* @__PURE__ */ e(me, { nodeType: p, state: _, accuracy: O }),
164
- !b && /* @__PURE__ */ n(
165
- le,
166
- {
167
- $flexDirection: "row",
168
- $alignItems: "center",
169
- $background: "WHITE_1",
170
- $flexGap: 8,
171
- $heightX: 4,
172
- $justifyContent: "space-between",
173
- children: [
174
- /* @__PURE__ */ e(
175
- se,
176
- {
177
- $renderAs: "ab3",
178
- $color: "BLACK_1",
179
- $opacity: i ? 0.5 : 1,
180
- children: B
181
- }
182
- ),
183
- /* @__PURE__ */ e(y, { ref: m, onClick: $, children: /* @__PURE__ */ e(E, { width: 16, height: 16 }) })
184
- ]
185
- }
186
- )
187
- ]
188
- }
189
- ),
190
- /* @__PURE__ */ e(de, { $visible: k, children: /* @__PURE__ */ e(pe, { options: z }) })
191
- ] });
114
+ return /* @__PURE__ */ i(
115
+ se,
116
+ {
117
+ $showOutline: !T,
118
+ $isSheetLocked: n,
119
+ $background: `${k}_2`,
120
+ $disabled: !!I,
121
+ children: [
122
+ /* @__PURE__ */ i(
123
+ D,
124
+ {
125
+ renderAs: "primary",
126
+ tooltipItem: E,
127
+ position: "bottom",
128
+ zIndex: 5,
129
+ hidden: !E,
130
+ parentWidth: "100%",
131
+ widthX: 11.25,
132
+ children: [
133
+ /* @__PURE__ */ i(
134
+ le,
135
+ {
136
+ $flexDirection: "row",
137
+ $alignItems: "center",
138
+ $width: "100%",
139
+ $heightX: 3.5,
140
+ $bgImage: F,
141
+ $gutterX: 0.78125,
142
+ $flexGap: 8.5,
143
+ onMouseEnter: z,
144
+ onMouseLeave: U,
145
+ children: [
146
+ /* @__PURE__ */ i(
147
+ de,
148
+ {
149
+ $width: 31,
150
+ $height: 31,
151
+ $background: "WHITE_1",
152
+ $position: "relative",
153
+ $alignItems: "center",
154
+ $justifyContent: "center",
155
+ $opacity: n ? 0.5 : 1,
156
+ children: [
157
+ /* @__PURE__ */ e(te, { src: G, ref: u, settings: $e }),
158
+ !g && /* @__PURE__ */ e(me, {})
159
+ ]
160
+ }
161
+ ),
162
+ /* @__PURE__ */ i(ne, { $renderAs: "ac4-black", $color: "BLACK", $opacity: n ? 0.5 : 1, children: [
163
+ M,
164
+ " ",
165
+ H && "• CW"
166
+ ] }),
167
+ /* @__PURE__ */ e(re, { className: "context-menu", children: S && /* @__PURE__ */ e(y, { ref: p, onClick: b, children: /* @__PURE__ */ e(O, { width: 16, height: 16 }) }) }),
168
+ T && !I && /* @__PURE__ */ e(N, { borderColor: "BLACK_1", borderWidth: 1 })
169
+ ]
170
+ }
171
+ ),
172
+ /* @__PURE__ */ e(ue, { nodeType: h, state: d, accuracy: B }),
173
+ !S && /* @__PURE__ */ i(
174
+ pe,
175
+ {
176
+ $flexDirection: "row",
177
+ $alignItems: "center",
178
+ $background: "WHITE_1",
179
+ $flexGap: 8,
180
+ $heightX: 4,
181
+ $justifyContent: "space-between",
182
+ children: [
183
+ /* @__PURE__ */ e(
184
+ he,
185
+ {
186
+ $renderAs: "ab3",
187
+ $color: "BLACK_1",
188
+ $opacity: n ? 0.5 : 1,
189
+ children: w
190
+ }
191
+ ),
192
+ /* @__PURE__ */ e(y, { ref: p, onClick: b, children: /* @__PURE__ */ e(O, { width: 16, height: 16 }) })
193
+ ]
194
+ }
195
+ )
196
+ ]
197
+ }
198
+ ),
199
+ /* @__PURE__ */ e(fe, { $visible: x, children: /* @__PURE__ */ e(Ce, { options: Y }) })
200
+ ]
201
+ }
202
+ );
192
203
  }
193
204
  );
194
205
  export {
195
- ve as default
206
+ Fe as default
196
207
  };
197
208
  //# sourceMappingURL=teacher-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } 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 NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\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 user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const inClassSheet = attemptLocation === 'INCLASS';\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n userAttemptId,\n ],\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-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer $background={`${imageHue}_2`} $disabled={Boolean(isSkipped)}>\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 $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\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 $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","inClassSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","LottieAnimation","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport BorderPathAnimation from '../../../../ui/border-path-animation/border-path-animation';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } 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 NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\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 user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n userAttemptId,\n ],\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-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $isSheetLocked={sheetLocked}\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped)}\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 $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\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 $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n\n {showCardAnimation && !isSkipped && (\n <BorderPathAnimation borderColor=\"BLACK_1\" borderWidth={1} />\n )}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","showCardAnimation","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","LottieAnimation","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","BorderPathAnimation","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
@@ -6,6 +6,7 @@ const E = {
6
6
  UNLOCK_SHEETS: "UNLOCK_SHEETS",
7
7
  EXTRA_PRACTICE_ASSIGNED: "EXTRA_PRACTICE_ASSIGNED",
8
8
  CHANGE_LOCATION: "CHANGE_LOCATION",
9
+ SHEET_MARKED_AS_REVIEWED: "SHEET_MARKED_AS_REVIEWED",
9
10
  SHEET_STARTED: "SHEET_STARTED",
10
11
  SHEET_UNASSIGNED: "SHEET_UNASSIGNED",
11
12
  SHEET_REATTEMPTED: "SHEET_REATTEMPTED",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/communication/pub-sub/constants.ts"],"sourcesContent":["const CHAPTER_SHEET_EVENTS = {\n CHAPTER_UPDATED: 'CHAPTER_UPDATED',\n LESSONS_MARKED_AS_FAMILIAR: 'LESSONS_MARKED_AS_FAMILIAR',\n LESSONS_MARKED_AS_IRRELEVANT: 'LESSONS_MARKED_AS_IRRELEVANT',\n LESSONS_PROGRESS_RESET: 'LESSONS_PROGRESS_RESET',\n UNLOCK_SHEETS: 'UNLOCK_SHEETS',\n EXTRA_PRACTICE_ASSIGNED: 'EXTRA_PRACTICE_ASSIGNED',\n CHANGE_LOCATION: 'CHANGE_LOCATION',\n SHEET_STARTED: 'SHEET_STARTED',\n SHEET_UNASSIGNED: 'SHEET_UNASSIGNED',\n SHEET_REATTEMPTED: 'SHEET_REATTEMPTED',\n INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: 'INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION',\n} as const;\n\nconst GOAL_EVENTS = {\n GOAL_CREATED: 'GOAL_CREATED',\n GOAL_EDITED: 'GOAL_EDITED',\n GOAL_DELETED: 'GOAL_DELETED',\n GOAL_OUTCOME_ADDED: 'GOAL_OUTCOME_ADDED',\n} as const;\n\nconst MILESTONE_EVENTS = {\n MILESTONE_NAME_UPDATED: 'MILESTONE_NAME_UPDATED',\n MILESTONE_DATE_UPDATED: 'MILESTONE_DATE_UPDATED',\n MILESTONE_DELETED: 'MILESTONE_DELETED',\n MILESTONE_EDITED: 'MILESTONE_EDITED',\n MILESTONE_RESOURCE_ASSIGNED: 'MILESTONE_RESOURCE_ASSIGNED',\n MILESTONE_RESOURCE_UNASSIGNED: 'MILESTONE_RESOURCE_UNASSIGNED',\n MILESTONE_RESOURCE_RESET: 'MILESTONE_RESOURCE_RESET',\n PAST_MILESTONE_OUTCOME_ADDED: 'PAST_MILESTONE_OUTCOME_ADDED',\n MILESTONE_TEST_ASSIGNED: 'MILESTONE_TEST_ASSIGNED',\n} as const;\n\nconst HOMEWORK_EVENTS = {\n HOMEWORK_UNASSIGN: 'HOMEWORK_UNASSIGN',\n INVALIDATE_HOMEWORK: 'INVALIDATE_HOMEWORK',\n} as const;\n\nconst EVENTS = {\n ...CHAPTER_SHEET_EVENTS,\n ...MILESTONE_EVENTS,\n ...GOAL_EVENTS,\n ...HOMEWORK_EVENTS,\n};\n\nexport { EVENTS };\n"],"names":["CHAPTER_SHEET_EVENTS","GOAL_EVENTS","MILESTONE_EVENTS","HOMEWORK_EVENTS","EVENTS"],"mappings":"AAAA,MAAMA,IAAuB;AAAA,EAC3B,iBAAiB;AAAA,EACjB,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAC9B,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,+CAA+C;AACjD,GAEMC,IAAc;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,oBAAoB;AACtB,GAEMC,IAAmB;AAAA,EACvB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,8BAA8B;AAAA,EAC9B,yBAAyB;AAC3B,GAEMC,IAAkB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AACvB,GAEMC,IAAS;AAAA,EACb,GAAGJ;AAAA,EACH,GAAGE;AAAA,EACH,GAAGD;AAAA,EACH,GAAGE;AACL;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/communication/pub-sub/constants.ts"],"sourcesContent":["const CHAPTER_SHEET_EVENTS = {\n CHAPTER_UPDATED: 'CHAPTER_UPDATED',\n LESSONS_MARKED_AS_FAMILIAR: 'LESSONS_MARKED_AS_FAMILIAR',\n LESSONS_MARKED_AS_IRRELEVANT: 'LESSONS_MARKED_AS_IRRELEVANT',\n LESSONS_PROGRESS_RESET: 'LESSONS_PROGRESS_RESET',\n UNLOCK_SHEETS: 'UNLOCK_SHEETS',\n EXTRA_PRACTICE_ASSIGNED: 'EXTRA_PRACTICE_ASSIGNED',\n CHANGE_LOCATION: 'CHANGE_LOCATION',\n SHEET_MARKED_AS_REVIEWED: 'SHEET_MARKED_AS_REVIEWED',\n SHEET_STARTED: 'SHEET_STARTED',\n SHEET_UNASSIGNED: 'SHEET_UNASSIGNED',\n SHEET_REATTEMPTED: 'SHEET_REATTEMPTED',\n INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: 'INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION',\n} as const;\n\nconst GOAL_EVENTS = {\n GOAL_CREATED: 'GOAL_CREATED',\n GOAL_EDITED: 'GOAL_EDITED',\n GOAL_DELETED: 'GOAL_DELETED',\n GOAL_OUTCOME_ADDED: 'GOAL_OUTCOME_ADDED',\n} as const;\n\nconst MILESTONE_EVENTS = {\n MILESTONE_NAME_UPDATED: 'MILESTONE_NAME_UPDATED',\n MILESTONE_DATE_UPDATED: 'MILESTONE_DATE_UPDATED',\n MILESTONE_DELETED: 'MILESTONE_DELETED',\n MILESTONE_EDITED: 'MILESTONE_EDITED',\n MILESTONE_RESOURCE_ASSIGNED: 'MILESTONE_RESOURCE_ASSIGNED',\n MILESTONE_RESOURCE_UNASSIGNED: 'MILESTONE_RESOURCE_UNASSIGNED',\n MILESTONE_RESOURCE_RESET: 'MILESTONE_RESOURCE_RESET',\n PAST_MILESTONE_OUTCOME_ADDED: 'PAST_MILESTONE_OUTCOME_ADDED',\n MILESTONE_TEST_ASSIGNED: 'MILESTONE_TEST_ASSIGNED',\n} as const;\n\nconst HOMEWORK_EVENTS = {\n HOMEWORK_UNASSIGN: 'HOMEWORK_UNASSIGN',\n INVALIDATE_HOMEWORK: 'INVALIDATE_HOMEWORK',\n} as const;\n\nconst EVENTS = {\n ...CHAPTER_SHEET_EVENTS,\n ...MILESTONE_EVENTS,\n ...GOAL_EVENTS,\n ...HOMEWORK_EVENTS,\n};\n\nexport { EVENTS };\n"],"names":["CHAPTER_SHEET_EVENTS","GOAL_EVENTS","MILESTONE_EVENTS","HOMEWORK_EVENTS","EVENTS"],"mappings":"AAAA,MAAMA,IAAuB;AAAA,EAC3B,iBAAiB;AAAA,EACjB,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAC9B,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,+CAA+C;AACjD,GAEMC,IAAc;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,oBAAoB;AACtB,GAEMC,IAAmB;AAAA,EACvB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,8BAA8B;AAAA,EAC9B,yBAAyB;AAC3B,GAEMC,IAAkB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AACvB,GAEMC,IAAS;AAAA,EACb,GAAGJ;AAAA,EACH,GAAGE;AAAA,EACH,GAAGD;AAAA,EACH,GAAGE;AACL;"}
@@ -17,7 +17,7 @@ const de = ({
17
17
  nodeData: e,
18
18
  onNodeAttempt: C,
19
19
  onNodeReattempt: h,
20
- onNodeReview: n,
20
+ onNodeReview: c,
21
21
  onNodeUnassign: d,
22
22
  onNodeView: k,
23
23
  onNodeAssignAsHomework: m,
@@ -34,30 +34,30 @@ const de = ({
34
34
  node_type: _,
35
35
  state: K,
36
36
  permissions: Y,
37
- user_node_id: c,
38
- user_milestone_id: l,
39
- homework_id: o
37
+ user_node_id: o,
38
+ user_milestone_id: n,
39
+ homework_id: a
40
40
  } = e, y = M(null), $ = M(null), { menuVisible: V, onMenuClick: q } = j(y), { menuVisible: G, onMenuClick: S } = j($), {
41
41
  can_start: f,
42
42
  can_resume: p,
43
- can_review: a,
43
+ can_review: s,
44
44
  can_unassign: J,
45
45
  can_reset: O,
46
46
  can_assign_as_homework: Z
47
47
  } = Y, u = R === "STUDENT", w = b(() => {
48
- if (a) {
49
- if (typeof n != "function")
48
+ if (s) {
49
+ if (typeof c != "function")
50
50
  throw new Error("onReview must be a function");
51
- if (!c)
51
+ if (!o)
52
52
  throw new Error("user node id must be present to review the sheet");
53
- n(e, t);
53
+ c(e, t);
54
54
  return;
55
55
  }
56
- }, [a, n, c, e, t]), Q = b(() => {
56
+ }, [s, c, o, e, t]), Q = b(() => {
57
57
  if (f || p) {
58
58
  if (typeof C != "function")
59
59
  throw new Error("onNodeAttempt must be a function");
60
- C(e, o);
60
+ C(e, n, a);
61
61
  return;
62
62
  }
63
63
  if (!i) {
@@ -72,30 +72,31 @@ const de = ({
72
72
  w,
73
73
  C,
74
74
  e,
75
- o,
75
+ n,
76
+ a,
76
77
  S
77
78
  ]), E = b(() => {
78
- if (a) {
79
- if (typeof n != "function")
79
+ if (s) {
80
+ if (typeof c != "function")
80
81
  throw new Error("onNodeReview must be a function");
81
- if (!c)
82
+ if (!o)
82
83
  throw new Error("user node id must be present to review the sheet");
83
- n(e, t || l, o);
84
+ c(e, t || n, a);
84
85
  return;
85
86
  }
86
87
  if (typeof k != "function")
87
88
  throw new Error("onNodeView must be a function");
88
- k(e, t || l);
89
+ k(e, t || n);
89
90
  }, [
90
- a,
91
+ s,
91
92
  k,
92
93
  e,
93
94
  t,
94
- l,
95
95
  n,
96
96
  c,
97
- o
98
- ]), s = b(
97
+ o,
98
+ a
99
+ ]), l = b(
99
100
  (W) => {
100
101
  switch (W) {
101
102
  case "teacher-card-view":
@@ -130,58 +131,58 @@ const de = ({
130
131
  ), A = [
131
132
  {
132
133
  id: "teacher-card-view",
133
- label: a ? "Review" : "View",
134
+ label: s ? "Review" : "View",
134
135
  icon: X,
135
136
  disabled: !1,
136
- onClick: s
137
+ onClick: l
137
138
  },
138
139
  {
139
140
  id: "teacher-card-unassign",
140
141
  label: "Unassign",
141
142
  icon: ue,
142
143
  disabled: i ? _ === "MASTERY" : !J,
143
- onClick: s
144
+ onClick: l
144
145
  },
145
146
  {
146
147
  id: "teacher-card-redo",
147
148
  label: "Redo",
148
149
  icon: H,
149
150
  disabled: !O,
150
- onClick: s
151
+ onClick: l
151
152
  },
152
153
  {
153
154
  id: "teacher-card-assign-as-hw",
154
155
  label: "Assign as HW",
155
156
  icon: ee,
156
157
  disabled: !Z,
157
- onClick: s
158
+ onClick: l
158
159
  }
159
160
  ], U = [
160
161
  {
161
162
  id: "student-card-view",
162
163
  label: "Review",
163
164
  icon: X,
164
- disabled: !a,
165
- onClick: s
165
+ disabled: !s,
166
+ onClick: l
166
167
  },
167
168
  {
168
169
  id: "student-card-reattempt",
169
170
  label: "Reattempt",
170
171
  icon: H,
171
172
  disabled: !O,
172
- onClick: s
173
+ onClick: l
173
174
  }
174
175
  ], T = N(
175
176
  () => he({
176
177
  canResume: p,
177
178
  canStart: f,
178
- homeworkId: o,
179
+ homeworkId: a,
179
180
  isHomeWork: i,
180
181
  isStudent: u,
181
- milestoneId: l,
182
+ milestoneId: n,
182
183
  nodeType: _,
183
184
  studentId: g,
184
- userNodeId: c
185
+ userNodeId: o
185
186
  }),
186
187
  [
187
188
  u,
@@ -190,9 +191,9 @@ const de = ({
190
191
  _,
191
192
  f,
192
193
  p,
194
+ a,
193
195
  o,
194
- c,
195
- l
196
+ n
196
197
  ]
197
198
  );
198
199
  return /* @__PURE__ */ x(ce, { $position: "relative", $width: "fit-content", children: [