@cuemath/leap 3.0.12-ays5 → 3.0.12-ays7

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.
@@ -1,269 +1,260 @@
1
- import { jsxs as x, jsx as r } from "react/jsx-runtime";
2
- import { memo as D, useRef as M, useCallback as b, useMemo as N } from "react";
3
- import X from "../../assets/line-icons/icons/eye2.js";
4
- import ee from "../../assets/line-icons/icons/home2.js";
5
- import re from "../../assets/line-icons/icons/more-vertical.js";
6
- import H from "../../assets/line-icons/icons/redo.js";
7
- import I from "../ui/arrow-tooltip/arrow-tooltip.js";
8
- import te from "../ui/buttons/clickable/clickable.js";
9
- import j from "../ui/hooks/use-context-menu-click-handler.js";
10
- import ie from "../ui/layout/flex-view.js";
11
- import F from "./card-menu-options.js";
12
- import ne from "./homework-card-view.js";
13
- import { CardContainer as ce, MenuWrapper as oe, CardKebabMenuWrapper as ae, BlurContainer as se, BlurFlexView as le, StyledMinus2Icon as ue } from "./styles.js";
1
+ import { jsxs as O, jsx as t } from "react/jsx-runtime";
2
+ import { memo as N, useRef as T, useCallback as w, useMemo as ee } from "react";
3
+ import W from "../../assets/line-icons/icons/eye2.js";
4
+ import re from "../../assets/line-icons/icons/home2.js";
5
+ import te from "../../assets/line-icons/icons/more-vertical.js";
6
+ import x from "../../assets/line-icons/icons/redo.js";
7
+ import X from "../ui/arrow-tooltip/arrow-tooltip.js";
8
+ import ie from "../ui/buttons/clickable/clickable.js";
9
+ import H from "../ui/hooks/use-context-menu-click-handler.js";
10
+ import ne from "../ui/layout/flex-view.js";
11
+ import j from "./card-menu-options.js";
12
+ import ce from "./homework-card-view.js";
13
+ import { CardContainer as oe, MenuWrapper as se, CardKebabMenuWrapper as ae, BlurContainer as le, BlurFlexView as ue, StyledMinus2Icon as de } from "./styles.js";
14
14
  import { getCardAnalyticProps as he } from "./utils.js";
15
- const de = ({
15
+ const me = ({
16
16
  // callbacks
17
17
  nodeData: e,
18
- onNodeAttempt: C,
19
- onNodeReattempt: h,
20
- onNodeReview: c,
18
+ onNodeAttempt: b,
19
+ onNodeReattempt: u,
20
+ onNodeReview: n,
21
21
  onNodeUnassign: d,
22
- onNodeView: k,
23
- onNodeAssignAsHomework: m,
24
- header: L,
25
- isInQueue: v,
26
- renderAs: P,
27
- shouldOpenOnRight: B,
28
- studentId: g,
29
- subHeader: z,
30
- userMilestoneId: t,
31
- userType: R
22
+ onNodeView: C,
23
+ onNodeAssignAsHomework: h,
24
+ header: F,
25
+ isInQueue: $,
26
+ renderAs: L,
27
+ shouldOpenOnRight: P,
28
+ studentId: E,
29
+ subHeader: B,
30
+ userMilestoneId: z,
31
+ userType: I
32
32
  }) => {
33
- const i = P === "homework", {
34
- node_type: _,
33
+ const i = L === "homework", {
34
+ node_type: k,
35
35
  state: K,
36
36
  permissions: Y,
37
- user_node_id: o,
38
- user_milestone_id: n,
39
- homework_id: a
40
- } = e, y = M(null), $ = M(null), { menuVisible: V, onMenuClick: q } = j(y), { menuVisible: G, onMenuClick: S } = j($), {
41
- can_start: f,
42
- can_resume: p,
37
+ user_node_id: c,
38
+ user_milestone_id: q,
39
+ homework_id: o
40
+ } = e, r = z || q || "", _ = T(null), y = T(null), { menuVisible: v, onMenuClick: G } = H(_), { menuVisible: J, onMenuClick: g } = H(y), {
41
+ can_start: m,
42
+ can_resume: f,
43
43
  can_review: s,
44
- can_unassign: J,
45
- can_reset: O,
46
- can_assign_as_homework: Z
47
- } = Y, u = R === "STUDENT", w = b(() => {
44
+ can_unassign: Z,
45
+ can_reset: R,
46
+ can_assign_as_homework: Q
47
+ } = Y, l = I === "STUDENT", p = w(() => {
48
48
  if (s) {
49
- if (typeof c != "function")
49
+ if (typeof n != "function")
50
50
  throw new Error("onReview must be a function");
51
- if (!o)
51
+ if (!c)
52
52
  throw new Error("user node id must be present to review the sheet");
53
- c(e, t);
53
+ n(e, r);
54
54
  return;
55
55
  }
56
- }, [s, c, o, e, t]), Q = b(() => {
57
- if (f || p) {
58
- if (typeof C != "function")
56
+ }, [s, n, c, e, r]), A = w(() => {
57
+ if (m || f) {
58
+ if (typeof b != "function")
59
59
  throw new Error("onNodeAttempt must be a function");
60
- C(e, n, a);
60
+ b(e, r, o);
61
61
  return;
62
62
  }
63
63
  if (!i) {
64
- S();
64
+ g();
65
65
  return;
66
66
  }
67
- w();
67
+ p();
68
68
  }, [
69
+ m,
69
70
  f,
70
- p,
71
71
  i,
72
- w,
73
- C,
72
+ p,
73
+ b,
74
74
  e,
75
- n,
76
- a,
77
- S
78
- ]), E = b(() => {
75
+ r,
76
+ o,
77
+ g
78
+ ]), M = w(() => {
79
79
  if (s) {
80
- if (typeof c != "function")
80
+ if (typeof n != "function")
81
81
  throw new Error("onNodeReview must be a function");
82
- if (!o)
82
+ if (!c)
83
83
  throw new Error("user node id must be present to review the sheet");
84
- c(e, t || n, a);
84
+ n(e, r, o);
85
85
  return;
86
86
  }
87
- if (typeof k != "function")
87
+ if (typeof C != "function")
88
88
  throw new Error("onNodeView must be a function");
89
- k(e, t || n);
90
- }, [
91
- s,
92
- k,
93
- e,
94
- t,
95
- n,
96
- c,
97
- o,
98
- a
99
- ]), l = b(
100
- (W) => {
101
- switch (W) {
89
+ C(e, r);
90
+ }, [s, C, e, r, n, c, o]), a = w(
91
+ (S) => {
92
+ switch (S) {
102
93
  case "teacher-card-view":
103
- E();
94
+ M();
104
95
  return;
105
96
  case "student-card-view":
106
- w();
97
+ p();
107
98
  return;
108
99
  case "teacher-card-unassign":
109
- d == null || d(e, t);
100
+ d == null || d(e, r);
110
101
  return;
111
102
  case "student-card-reattempt":
112
103
  case "teacher-card-redo":
113
- h == null || h(e, t);
104
+ u == null || u(e, r);
114
105
  return;
115
106
  case "teacher-card-assign-as-hw":
116
- m == null || m(e, t);
107
+ h == null || h(e, r);
117
108
  return;
118
109
  default:
119
- throw new Error(`No callback function for ${W}`);
110
+ throw new Error(`No callback function for ${S}`);
120
111
  }
121
112
  },
122
113
  [
123
114
  e,
124
- m,
125
115
  h,
116
+ u,
126
117
  d,
127
- w,
128
- E,
129
- t
118
+ p,
119
+ M,
120
+ r
130
121
  ]
131
- ), A = [
122
+ ), U = [
132
123
  {
133
124
  id: "teacher-card-view",
134
125
  label: s ? "Review" : "View",
135
- icon: X,
126
+ icon: W,
136
127
  disabled: !1,
137
- onClick: l
128
+ onClick: a
138
129
  },
139
130
  {
140
131
  id: "teacher-card-unassign",
141
132
  label: "Unassign",
142
- icon: ue,
143
- disabled: i ? _ === "MASTERY" : !J,
144
- onClick: l
133
+ icon: de,
134
+ disabled: i ? k === "MASTERY" : !Z,
135
+ onClick: a
145
136
  },
146
137
  {
147
138
  id: "teacher-card-redo",
148
139
  label: "Redo",
149
- icon: H,
150
- disabled: !O,
151
- onClick: l
140
+ icon: x,
141
+ disabled: !R,
142
+ onClick: a
152
143
  },
153
144
  {
154
145
  id: "teacher-card-assign-as-hw",
155
146
  label: "Assign as HW",
156
- icon: ee,
157
- disabled: !Z,
158
- onClick: l
147
+ icon: re,
148
+ disabled: !Q,
149
+ onClick: a
159
150
  }
160
- ], U = [
151
+ ], D = [
161
152
  {
162
153
  id: "student-card-view",
163
154
  label: "Review",
164
- icon: X,
155
+ icon: W,
165
156
  disabled: !s,
166
- onClick: l
157
+ onClick: a
167
158
  },
168
159
  {
169
160
  id: "student-card-reattempt",
170
161
  label: "Reattempt",
171
- icon: H,
172
- disabled: !O,
173
- onClick: l
162
+ icon: x,
163
+ disabled: !R,
164
+ onClick: a
174
165
  }
175
- ], T = N(
166
+ ], V = ee(
176
167
  () => he({
177
- canResume: p,
178
- canStart: f,
179
- homeworkId: a,
168
+ canResume: f,
169
+ canStart: m,
170
+ homeworkId: o,
180
171
  isHomeWork: i,
181
- isStudent: u,
182
- milestoneId: n,
183
- nodeType: _,
184
- studentId: g,
185
- userNodeId: o
172
+ isStudent: l,
173
+ milestoneId: r,
174
+ nodeType: k,
175
+ studentId: E,
176
+ userNodeId: c
186
177
  }),
187
178
  [
188
- u,
179
+ l,
189
180
  i,
190
- g,
191
- _,
181
+ E,
182
+ k,
183
+ m,
192
184
  f,
193
- p,
194
- a,
195
185
  o,
196
- n
186
+ c,
187
+ r
197
188
  ]
198
189
  );
199
- return /* @__PURE__ */ x(ce, { $position: "relative", $width: "fit-content", children: [
200
- /* @__PURE__ */ r(
201
- te,
190
+ return /* @__PURE__ */ O(oe, { $position: "relative", $width: "fit-content", children: [
191
+ /* @__PURE__ */ t(
192
+ ie,
202
193
  {
203
- onClick: u ? Q : E,
194
+ onClick: l ? A : M,
204
195
  label: "homework-card",
205
- analyticsLabel: T.analyticsLabel,
206
- analyticsProps: T.analyticsProps,
207
- children: /* @__PURE__ */ r(
208
- ne,
196
+ analyticsLabel: V.analyticsLabel,
197
+ analyticsProps: V.analyticsProps,
198
+ children: /* @__PURE__ */ t(
199
+ ce,
209
200
  {
210
- header: L,
211
- isInQueue: v,
201
+ header: F,
202
+ isInQueue: $,
212
203
  nodeData: e,
213
- studentContainerRef: $,
214
- subHeader: z,
215
- userType: R
204
+ studentContainerRef: y,
205
+ subHeader: B,
206
+ userType: I
216
207
  }
217
208
  )
218
209
  }
219
210
  ),
220
- u && !i && /* @__PURE__ */ r(
221
- F,
211
+ l && !i && /* @__PURE__ */ t(
212
+ j,
222
213
  {
223
214
  $width: 200,
224
- options: U,
225
- triggerRef: $,
226
- visible: G,
215
+ options: D,
216
+ triggerRef: y,
217
+ visible: J,
227
218
  shouldOpenOnRight: !1
228
219
  }
229
220
  ),
230
- !u && /* @__PURE__ */ x(oe, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
231
- /* @__PURE__ */ r(
232
- I,
221
+ !l && /* @__PURE__ */ O(se, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
222
+ /* @__PURE__ */ t(
223
+ X,
233
224
  {
234
225
  renderAs: "primary",
235
226
  tooltipItem: "Review",
236
227
  position: "bottom",
237
228
  zIndex: 6,
238
229
  parentWidth: "100%",
239
- hidden: V || K !== "WAIT_FOR_REVIEW" && i,
240
- children: /* @__PURE__ */ r(
230
+ hidden: v || K !== "WAIT_FOR_REVIEW" && i,
231
+ children: /* @__PURE__ */ t(
241
232
  ae,
242
233
  {
243
234
  $alignItems: "center",
244
235
  $justifyContent: "center",
245
- ref: y,
246
- onClick: q,
247
- children: /* @__PURE__ */ r(re, { width: 16, height: 16 })
236
+ ref: _,
237
+ onClick: G,
238
+ children: /* @__PURE__ */ t(te, { width: 16, height: 16 })
248
239
  }
249
240
  )
250
241
  }
251
242
  ),
252
- /* @__PURE__ */ r(
253
- F,
243
+ /* @__PURE__ */ t(
244
+ j,
254
245
  {
255
- options: A,
256
- triggerRef: y,
257
- visible: V,
258
- shouldOpenOnRight: B,
246
+ options: U,
247
+ triggerRef: _,
248
+ visible: v,
249
+ shouldOpenOnRight: P,
259
250
  $width: 144
260
251
  }
261
252
  )
262
253
  ] }),
263
- v && /* @__PURE__ */ r(se, { $background: "WHITE_5", children: /* @__PURE__ */ r(le, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ r(I, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ r(ie, { $heightX: 1, $widthX: 6 }) }) }) })
254
+ $ && /* @__PURE__ */ t(le, { $background: "WHITE_5", children: /* @__PURE__ */ t(ue, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(X, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(ne, { $heightX: 1, $widthX: 6 }) }) }) })
264
255
  ] });
265
- }, Ve = D(de);
256
+ }, Re = N(me);
266
257
  export {
267
- Ve as default
258
+ Re as default
268
259
  };
269
260
  //# sourceMappingURL=homework-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../ui/types';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\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 Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n studentId: string;\n userMilestoneId?: string;\n renderAs: 'homework' | 'milestone';\n shouldOpenOnRight: boolean;\n isInQueue?: boolean;\n}\n\nconst HomeworkCard = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n\n header,\n isInQueue,\n renderAs,\n shouldOpenOnRight,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}: IHomeworkCardProps) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n state,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: milestoneId,\n homework_id: homeworkId,\n } = nodeData;\n\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, userMilestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, userMilestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canStart,\n canResume,\n isHomeWork,\n onStudentViewSheet,\n onNodeAttempt,\n nodeData,\n milestoneId,\n homeworkId,\n onStudentMenuClick,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, userMilestoneId || milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId || milestoneId);\n }, [\n canReview,\n onNodeView,\n nodeData,\n userMilestoneId,\n milestoneId,\n onNodeReview,\n userNodeId,\n homeworkId,\n ]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, userMilestoneId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, userMilestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, userMilestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n userMilestoneId,\n ],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n isStudent,\n isHomeWork,\n studentId,\n nodeType,\n canStart,\n canResume,\n homeworkId,\n userNodeId,\n milestoneId,\n ],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n >\n <HomeworkView\n header={header}\n isInQueue={isInQueue}\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n />\n </Clickable>\n {isStudent && !isHomeWork && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","header","isInQueue","renderAs","shouldOpenOnRight","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","state","permissions","userNodeId","milestoneId","homeworkId","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { TUserTypes } from '../ui/types';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\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 Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n studentId: string;\n userMilestoneId?: string;\n renderAs: 'homework' | 'milestone';\n shouldOpenOnRight: boolean;\n isInQueue?: boolean;\n}\n\nconst HomeworkCard = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n\n header,\n isInQueue,\n renderAs,\n shouldOpenOnRight,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}: IHomeworkCardProps) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n state,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: nodeDataMilestoneId,\n homework_id: homeworkId,\n } = nodeData;\n\n const milestoneId = userMilestoneId || nodeDataMilestoneId || '';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canStart,\n canResume,\n isHomeWork,\n onStudentViewSheet,\n onNodeAttempt,\n nodeData,\n milestoneId,\n homeworkId,\n onStudentMenuClick,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [canReview, onNodeView, nodeData, milestoneId, onNodeReview, userNodeId, homeworkId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n milestoneId,\n ],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n isStudent,\n isHomeWork,\n studentId,\n nodeType,\n canStart,\n canResume,\n homeworkId,\n userNodeId,\n milestoneId,\n ],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n >\n <HomeworkView\n header={header}\n isInQueue={isInQueue}\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n />\n </Clickable>\n {isStudent && !isHomeWork && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","header","isInQueue","renderAs","shouldOpenOnRight","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","state","permissions","userNodeId","nodeDataMilestoneId","homeworkId","milestoneId","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2626,7 +2626,6 @@ export declare interface IReviewWorksheetModel {
2626
2626
  mastery_summary: Record<string, unknown>;
2627
2627
  title?: string;
2628
2628
  worksheet_id?: string;
2629
- user_milestone_id?: string;
2630
2629
  }
2631
2630
 
2632
2631
  declare interface ISATSheetItemCallbacks {
@@ -3059,7 +3058,7 @@ declare interface ITestsListProps {
3059
3058
  onNodeReattempt?: (sheetData: INodeDataProps, milestoneId?: string) => void;
3060
3059
  onNodeAssignAsHomework?: (sheetData: INodeDataProps, milestoneId?: string) => void;
3061
3060
  onTestPreview?: (sheetData: INodeDataProps, milestoneId: string) => void;
3062
- onTestStart?: (sheetData: INodeDataProps) => void;
3061
+ onTestStart?: (sheetData: INodeDataProps, milestoneId: string) => void;
3063
3062
  onTestReview?: (sheetData: INodeDataProps, milestoneId: string) => void;
3064
3063
  }
3065
3064
 
@@ -4599,15 +4598,15 @@ export declare type TInclassMessage = {
4599
4598
  mediaState: Record<string, unknown>;
4600
4599
  };
4601
4600
  } | {
4602
- eventName: 'WORKSHEET_MARK_AS_REVIEWED';
4601
+ eventName: 'STUDENT_LEARNING_WORKSHEET_COMPLETED';
4603
4602
  eventPayload: {
4604
- studentId: string;
4605
- milestoneId?: string;
4603
+ worksheetId: string;
4606
4604
  };
4607
4605
  } | {
4608
4606
  eventName: typeof EVENTS.SHEET_MARKED_AS_REVIEWED;
4609
4607
  eventPayload: {
4610
- worksheetId: string;
4608
+ studentId: string;
4609
+ milestoneId?: string;
4611
4610
  };
4612
4611
  } | {
4613
4612
  eventName: typeof EVENTS.HOMEWORK_UNASSIGN;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.0.12-ays5",
3
+ "version": "3.0.12-ays7",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"