@cuemath/leap 3.0.10 → 3.0.11-akm

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 (34) hide show
  1. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +36 -27
  2. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  3. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +43 -31
  4. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  5. package/dist/features/chapters/chapters-list/chapters-list.js +16 -15
  6. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  7. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +2 -2
  8. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  9. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +30 -30
  10. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  11. package/dist/features/chapters-v2/chapter-details/chapter-details.js +35 -35
  12. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  13. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +44 -44
  14. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  15. package/dist/features/homework/homework-card.js +146 -131
  16. package/dist/features/homework/homework-card.js.map +1 -1
  17. package/dist/features/journey/hooks/use-chapter-journey.js +28 -28
  18. package/dist/features/journey/hooks/use-chapter-journey.js.map +1 -1
  19. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +40 -38
  20. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  21. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +53 -50
  22. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +64 -62
  24. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  25. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +44 -42
  26. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  27. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +39 -37
  28. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  29. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +38 -31
  30. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  31. package/dist/features/post-game-stats/clock/clock.js +45 -45
  32. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  33. package/dist/index.d.ts +3 -1
  34. package/package.json +1 -1
@@ -1,253 +1,268 @@
1
- import { jsxs as T, jsx as r } from "react/jsx-runtime";
2
- import { memo as Q, useRef as x, useCallback as w, useMemo as U } from "react";
3
- import W from "../../assets/line-icons/icons/eye2.js";
4
- import D from "../../assets/line-icons/icons/more-vertical.js";
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";
5
6
  import H from "../../assets/line-icons/icons/redo.js";
6
- import A from "../ui/arrow-tooltip/arrow-tooltip.js";
7
- import N from "../ui/buttons/clickable/clickable.js";
8
- import X from "../ui/hooks/use-context-menu-click-handler.js";
9
- import ee from "../ui/layout/flex-view.js";
10
- import I from "./card-menu-options.js";
11
- import re from "./homework-card-view.js";
12
- import { CardContainer as te, MenuWrapper as ie, CardKebabMenuWrapper as ne, BlurContainer as oe, BlurFlexView as ce, StyledMinus2Icon as se } from "./styles.js";
13
- import { getCardAnalyticProps as ae } from "./utils.js";
14
- const le = ({
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";
14
+ import { getCardAnalyticProps as he } from "./utils.js";
15
+ const de = ({
15
16
  // callbacks
16
17
  nodeData: e,
17
- onNodeAttempt: b,
18
- onNodeReattempt: d,
18
+ onNodeAttempt: C,
19
+ onNodeReattempt: h,
19
20
  onNodeReview: n,
20
- onNodeUnassign: m,
21
- onNodeView: C,
22
- header: j,
23
- isInQueue: E,
24
- renderAs: F,
25
- shouldOpenOnRight: L,
26
- studentId: v,
27
- subHeader: P,
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,
28
30
  userMilestoneId: t,
29
- userType: g
31
+ userType: R
30
32
  }) => {
31
- const i = F === "homework", {
32
- node_type: k,
33
- state: B,
34
- permissions: z,
35
- user_node_id: o,
36
- user_milestone_id: a,
37
- homework_id: c
38
- } = e, y = x(null), $ = x(null), { menuVisible: R, onMenuClick: K } = X(y), { menuVisible: Y, onMenuClick: V } = X($), {
39
- can_start: h,
40
- can_resume: f,
41
- can_review: s,
42
- can_unassign: q,
43
- can_reset: S
44
- } = z, l = g === "STUDENT", p = w(() => {
45
- if (s) {
33
+ const i = P === "homework", {
34
+ node_type: _,
35
+ state: K,
36
+ permissions: Y,
37
+ user_node_id: c,
38
+ user_milestone_id: l,
39
+ homework_id: o
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,
43
+ can_review: a,
44
+ can_unassign: J,
45
+ can_reset: O,
46
+ can_assign_as_homework: Z
47
+ } = Y, u = R === "STUDENT", w = b(() => {
48
+ if (a) {
46
49
  if (typeof n != "function")
47
50
  throw new Error("onReview must be a function");
48
- if (!o)
51
+ if (!c)
49
52
  throw new Error("user node id must be present to review the sheet");
50
53
  n(e, t);
51
54
  return;
52
55
  }
53
- }, [s, n, o, e, t]), G = w(() => {
54
- if (h || f) {
55
- if (typeof b != "function")
56
+ }, [a, n, c, e, t]), Q = b(() => {
57
+ if (f || p) {
58
+ if (typeof C != "function")
56
59
  throw new Error("onNodeAttempt must be a function");
57
- b(e, c);
60
+ C(e, o);
58
61
  return;
59
62
  }
60
63
  if (!i) {
61
- V();
64
+ S();
62
65
  return;
63
66
  }
64
- p();
67
+ w();
65
68
  }, [
66
- h,
67
69
  f,
68
- i,
69
70
  p,
70
- b,
71
+ i,
72
+ w,
73
+ C,
71
74
  e,
72
- c,
73
- V
74
- ]), _ = w(() => {
75
- if (s) {
75
+ o,
76
+ S
77
+ ]), E = b(() => {
78
+ if (a) {
76
79
  if (typeof n != "function")
77
80
  throw new Error("onNodeReview must be a function");
78
- if (!o)
81
+ if (!c)
79
82
  throw new Error("user node id must be present to review the sheet");
80
- n(e, t || a, c);
83
+ n(e, t || l, o);
81
84
  return;
82
85
  }
83
- if (typeof C != "function")
86
+ if (typeof k != "function")
84
87
  throw new Error("onNodeView must be a function");
85
- C(e, t || a);
88
+ k(e, t || l);
86
89
  }, [
87
- s,
88
- C,
90
+ a,
91
+ k,
89
92
  e,
90
93
  t,
91
- a,
94
+ l,
92
95
  n,
93
- o,
94
- c
95
- ]), u = w(
96
- (O) => {
97
- switch (O) {
96
+ c,
97
+ o
98
+ ]), s = b(
99
+ (W) => {
100
+ switch (W) {
98
101
  case "teacher-card-view":
99
- _();
102
+ E();
100
103
  return;
101
104
  case "student-card-view":
102
- p();
105
+ w();
103
106
  return;
104
107
  case "teacher-card-unassign":
105
- m == null || m(e, t);
108
+ d == null || d(e, t);
106
109
  return;
107
110
  case "student-card-reattempt":
108
111
  case "teacher-card-redo":
109
- d == null || d(e, t);
112
+ h == null || h(e, t);
113
+ return;
114
+ case "teacher-card-assign-as-hw":
115
+ m == null || m(e, t);
110
116
  return;
111
117
  default:
112
- throw new Error(`No callback function for ${O}`);
118
+ throw new Error(`No callback function for ${W}`);
113
119
  }
114
120
  },
115
121
  [
116
122
  e,
117
- d,
118
123
  m,
119
- p,
120
- _,
124
+ h,
125
+ d,
126
+ w,
127
+ E,
121
128
  t
122
129
  ]
123
- ), J = [
130
+ ), A = [
124
131
  {
125
132
  id: "teacher-card-view",
126
- label: s ? "Review" : "View",
127
- icon: W,
133
+ label: a ? "Review" : "View",
134
+ icon: X,
128
135
  disabled: !1,
129
- onClick: u
136
+ onClick: s
130
137
  },
131
138
  {
132
139
  id: "teacher-card-unassign",
133
140
  label: "Unassign",
134
- icon: se,
135
- disabled: i ? k === "MASTERY" : !q,
136
- onClick: u
141
+ icon: ue,
142
+ disabled: i ? _ === "MASTERY" : !J,
143
+ onClick: s
137
144
  },
138
145
  {
139
146
  id: "teacher-card-redo",
140
147
  label: "Redo",
141
148
  icon: H,
142
- disabled: !S,
143
- onClick: u
149
+ disabled: !O,
150
+ onClick: s
151
+ },
152
+ {
153
+ id: "teacher-card-assign-as-hw",
154
+ label: "Assign as HW",
155
+ icon: ee,
156
+ disabled: !Z,
157
+ onClick: s
144
158
  }
145
- ], Z = [
159
+ ], U = [
146
160
  {
147
161
  id: "student-card-view",
148
162
  label: "Review",
149
- icon: W,
150
- disabled: !s,
151
- onClick: u
163
+ icon: X,
164
+ disabled: !a,
165
+ onClick: s
152
166
  },
153
167
  {
154
168
  id: "student-card-reattempt",
155
169
  label: "Reattempt",
156
170
  icon: H,
157
- disabled: !S,
158
- onClick: u
171
+ disabled: !O,
172
+ onClick: s
159
173
  }
160
- ], M = U(
161
- () => ae({
162
- canResume: f,
163
- canStart: h,
164
- homeworkId: c,
174
+ ], T = N(
175
+ () => he({
176
+ canResume: p,
177
+ canStart: f,
178
+ homeworkId: o,
165
179
  isHomeWork: i,
166
- isStudent: l,
167
- milestoneId: a,
168
- nodeType: k,
169
- studentId: v,
170
- userNodeId: o
180
+ isStudent: u,
181
+ milestoneId: l,
182
+ nodeType: _,
183
+ studentId: g,
184
+ userNodeId: c
171
185
  }),
172
186
  [
173
- l,
187
+ u,
174
188
  i,
175
- v,
176
- k,
177
- h,
189
+ g,
190
+ _,
178
191
  f,
179
- c,
192
+ p,
180
193
  o,
181
- a
194
+ c,
195
+ l
182
196
  ]
183
197
  );
184
- return /* @__PURE__ */ T(te, { $position: "relative", $width: "fit-content", children: [
198
+ return /* @__PURE__ */ x(ce, { $position: "relative", $width: "fit-content", children: [
185
199
  /* @__PURE__ */ r(
186
- N,
200
+ te,
187
201
  {
188
- onClick: l ? G : _,
202
+ onClick: u ? Q : E,
189
203
  label: "homework-card",
190
- analyticsLabel: M.analyticsLabel,
191
- analyticsProps: M.analyticsProps,
204
+ analyticsLabel: T.analyticsLabel,
205
+ analyticsProps: T.analyticsProps,
192
206
  children: /* @__PURE__ */ r(
193
- re,
207
+ ne,
194
208
  {
195
- header: j,
196
- isInQueue: E,
209
+ header: L,
210
+ isInQueue: v,
197
211
  nodeData: e,
198
212
  studentContainerRef: $,
199
- subHeader: P,
200
- userType: g
213
+ subHeader: z,
214
+ userType: R
201
215
  }
202
216
  )
203
217
  }
204
218
  ),
205
- l && !i && /* @__PURE__ */ r(
206
- I,
219
+ u && !i && /* @__PURE__ */ r(
220
+ F,
207
221
  {
208
222
  $width: 200,
209
- options: Z,
223
+ options: U,
210
224
  triggerRef: $,
211
- visible: Y,
225
+ visible: G,
212
226
  shouldOpenOnRight: !1
213
227
  }
214
228
  ),
215
- !l && /* @__PURE__ */ T(ie, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
229
+ !u && /* @__PURE__ */ x(oe, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
216
230
  /* @__PURE__ */ r(
217
- A,
231
+ I,
218
232
  {
219
233
  renderAs: "primary",
220
234
  tooltipItem: "Review",
221
235
  position: "bottom",
222
236
  zIndex: 6,
223
237
  parentWidth: "100%",
224
- hidden: R || B !== "WAIT_FOR_REVIEW" && i,
238
+ hidden: V || K !== "WAIT_FOR_REVIEW" && i,
225
239
  children: /* @__PURE__ */ r(
226
- ne,
240
+ ae,
227
241
  {
228
242
  $alignItems: "center",
229
243
  $justifyContent: "center",
230
244
  ref: y,
231
- onClick: K,
232
- children: /* @__PURE__ */ r(D, { width: 16, height: 16 })
245
+ onClick: q,
246
+ children: /* @__PURE__ */ r(re, { width: 16, height: 16 })
233
247
  }
234
248
  )
235
249
  }
236
250
  ),
237
251
  /* @__PURE__ */ r(
238
- I,
252
+ F,
239
253
  {
240
- options: J,
254
+ options: A,
241
255
  triggerRef: y,
242
- visible: R,
243
- shouldOpenOnRight: L
256
+ visible: V,
257
+ shouldOpenOnRight: B,
258
+ $width: 144
244
259
  }
245
260
  )
246
261
  ] }),
247
- E && /* @__PURE__ */ r(oe, { $background: "WHITE_5", children: /* @__PURE__ */ r(ce, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ r(A, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ r(ee, { $heightX: 1, $widthX: 6 }) }) }) })
262
+ 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 }) }) }) })
248
263
  ] });
249
- }, Ee = Q(le);
264
+ }, Ve = D(de);
250
265
  export {
251
- Ee as default
266
+ Ve as default
252
267
  };
253
268
  //# 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 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\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 } = 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, 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 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 default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n nodeData,\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\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 />\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","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","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","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: 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, 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 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,31 +1,31 @@
1
1
  import { jsxs as x, jsx as o } from "react/jsx-runtime";
2
2
  import { useRef as n, useCallback as p, useMemo as R, useEffect as N } from "react";
3
3
  import _ from "../../chapters-v2/chapter-details/block-sections/block-sections.js";
4
- import L from "../../chapters-v2/chapter-details/chapter-banner/chapter-banner.js";
4
+ import k from "../../chapters-v2/chapter-details/chapter-banner/chapter-banner.js";
5
5
  import I from "../../chapters-v2/chapter-details/chapter-details.js";
6
- import k from "../../ui/layout/flex-view.js";
6
+ import A from "../../ui/layout/flex-view.js";
7
7
  import P from "../../ui/separator/separator.js";
8
- import { JOURNEY_ID_STUDENT as K } from "../journey-id/journey-id-student.js";
9
- import { PROGRESS_STAT_MOCK as y, BLOCK_MOCKS as H } from "../mocks/chapter-page-journey-mock-data.js";
8
+ import { JOURNEY_ID_STUDENT as H } from "../journey-id/journey-id-student.js";
9
+ import { PROGRESS_STAT_MOCK as y, BLOCK_MOCKS as K } from "../mocks/chapter-page-journey-mock-data.js";
10
10
  import { IndicatorType as l } from "../use-journey/constants.js";
11
11
  import { useJourney as v } from "../use-journey/use-journey.js";
12
- import a from "./use-home-page-journey/tooltip-item.js";
12
+ import s from "./use-home-page-journey/tooltip-item.js";
13
13
  const $ = () => {
14
- const t = K.CHAPTER_PAGE_JOURNEY, r = n(null), e = n(null), s = n(null), c = n([]), { nextCoachmark: d, setJourney: h, endJourney: C } = v(), i = p(() => {
14
+ const t = H.CHAPTER_PAGE_JOURNEY, r = n(null), e = n(null), a = n(null), c = n([]), { nextCoachmark: d, setJourney: h, endJourney: C } = v(), i = p(() => {
15
15
  d(t, !1, 0, !0);
16
16
  }, [t, d]), g = p(() => {
17
17
  document.body.style.overflow = "unset", C(t);
18
18
  }, [C, t]), f = p(
19
19
  ({ chapterDetails: m, userChapterId: B, studentId: E, userType: T }) => {
20
- const { name: O, image_hue: u, image_url: b } = m;
21
- if (!(r != null && r.current) || !(e != null && e.current) || !s.current)
20
+ const { name: w, image_hue: u, image_url: O } = m;
21
+ if (!(r != null && r.current) || !(e != null && e.current) || !a.current)
22
22
  return;
23
23
  const S = [
24
24
  {
25
25
  originalElementToHighlightRef: r,
26
26
  isActive: !1,
27
27
  type: l.TOOLTIP,
28
- elementToHighlight: /* @__PURE__ */ x(k, { children: [
28
+ elementToHighlight: /* @__PURE__ */ x(A, { children: [
29
29
  /* @__PURE__ */ o(P, { heightX: 10 }),
30
30
  /* @__PURE__ */ o(
31
31
  I,
@@ -35,7 +35,7 @@ const $ = () => {
35
35
  userType: T,
36
36
  onBlockSkipUnskip: () => null,
37
37
  onNodeAttempt: () => null,
38
- onNodeAttemptLocationChange: () => null,
38
+ onNodeAssignAsHomework: () => null,
39
39
  onNodeMarkAsDone: () => null,
40
40
  onNodeReattempt: () => null,
41
41
  onNodeReview: () => null,
@@ -53,7 +53,7 @@ const $ = () => {
53
53
  arrowSize: 12,
54
54
  width: 264,
55
55
  tooltipItem: /* @__PURE__ */ o(
56
- a,
56
+ s,
57
57
  {
58
58
  text: "Welcome to the all new chapter experience.",
59
59
  buttonLabel: "Next",
@@ -65,11 +65,11 @@ const $ = () => {
65
65
  {
66
66
  originalElementToHighlightRef: e,
67
67
  elementToHighlight: /* @__PURE__ */ o(
68
- L,
68
+ k,
69
69
  {
70
- title: O,
70
+ title: w,
71
71
  progressStats: y,
72
- imageUrl: b,
72
+ imageUrl: O,
73
73
  imageHue: u
74
74
  }
75
75
  ),
@@ -84,7 +84,7 @@ const $ = () => {
84
84
  width: 264,
85
85
  arrowSize: 12,
86
86
  tooltipItem: /* @__PURE__ */ o(
87
- a,
87
+ s,
88
88
  {
89
89
  text: "A chapter is divided into *core sheets (compulsory), and supplementary sheets.",
90
90
  buttonLabel: "Next",
@@ -97,11 +97,11 @@ const $ = () => {
97
97
  {
98
98
  originalElementToHighlightRef: e,
99
99
  elementToHighlight: /* @__PURE__ */ o(
100
- L,
100
+ k,
101
101
  {
102
- title: O,
102
+ title: w,
103
103
  progressStats: y,
104
- imageUrl: b,
104
+ imageUrl: O,
105
105
  imageHue: u
106
106
  }
107
107
  ),
@@ -116,7 +116,7 @@ const $ = () => {
116
116
  arrowSize: 12,
117
117
  width: 264,
118
118
  tooltipItem: /* @__PURE__ */ o(
119
- a,
119
+ s,
120
120
  {
121
121
  text: "Easily track the progress of the core sheets.",
122
122
  buttonLabel: "Next",
@@ -127,8 +127,8 @@ const $ = () => {
127
127
  isActive: !1
128
128
  },
129
129
  {
130
- originalElementToHighlightRef: s,
131
- elementToHighlight: /* @__PURE__ */ o(k, { $widthX: 50, children: /* @__PURE__ */ o(_, { userType: T, blocks: H, imageHue: u }) }),
130
+ originalElementToHighlightRef: a,
131
+ elementToHighlight: /* @__PURE__ */ o(A, { $widthX: 50, children: /* @__PURE__ */ o(_, { userType: T, blocks: K, imageHue: u }) }),
132
132
  type: l.TOOLTIP,
133
133
  indicator: {
134
134
  position: "top",
@@ -140,7 +140,7 @@ const $ = () => {
140
140
  arrowSize: 12,
141
141
  width: 264,
142
142
  tooltipItem: /* @__PURE__ */ o(
143
- a,
143
+ s,
144
144
  {
145
145
  text: "Core sheets are marked to help you find them faster.",
146
146
  buttonLabel: "Got it",
@@ -152,24 +152,24 @@ const $ = () => {
152
152
  }
153
153
  ];
154
154
  h(t, S);
155
- const w = setTimeout(() => {
156
- clearTimeout(w), window.scrollTo(0, 0), document.body.style.overflow = "hidden", i();
155
+ const b = setTimeout(() => {
156
+ clearTimeout(b), window.scrollTo(0, 0), document.body.style.overflow = "hidden", i();
157
157
  }, 500);
158
- c.current.push(w);
158
+ c.current.push(b);
159
159
  },
160
160
  [i, g, h, t]
161
- ), A = R(
161
+ ), L = R(
162
162
  () => ({
163
163
  chapterPageRef: r,
164
164
  bannerRef: e,
165
- coreBlocksRef: s,
165
+ coreBlocksRef: a,
166
166
  startJourney: f
167
167
  }),
168
168
  [f]
169
169
  );
170
170
  return N(() => () => {
171
171
  c.current.forEach((m) => clearTimeout(m)), c.current = [];
172
- }, []), A;
172
+ }, []), L;
173
173
  };
174
174
  export {
175
175
  $ as useChapterPageJourney