@cuemath/leap 2.8.60-ag1 → 2.8.60-ag3

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 (32) hide show
  1. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +5 -4
  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 +2 -1
  4. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  5. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +7 -7
  6. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  7. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +6 -6
  8. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  9. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +2 -2
  10. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  11. package/dist/features/chapters-v2/utils/node-card-utils.js +18 -17
  12. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  13. package/dist/features/homework/card-menu-options.js +44 -20
  14. package/dist/features/homework/card-menu-options.js.map +1 -1
  15. package/dist/features/homework/homework-card.js +200 -153
  16. package/dist/features/homework/homework-card.js.map +1 -1
  17. package/dist/features/homework/hw-card-list/hw-card-list.js +444 -0
  18. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -0
  19. package/dist/features/homework/styles.js +30 -23
  20. package/dist/features/homework/styles.js.map +1 -1
  21. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js +1 -1
  22. package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js +1 -1
  24. package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
  25. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +10 -0
  26. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -0
  27. package/dist/features/recent-chapters/recent-chapters.js +1 -1
  28. package/dist/features/recent-chapters/recent-chapters.js.map +1 -1
  29. package/dist/index.d.ts +8 -2
  30. package/dist/index.js +328 -326
  31. package/dist/index.js.map +1 -1
  32. package/package.json +1 -1
@@ -1,60 +1,64 @@
1
- import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
- import { memo as P, useRef as x, useState as q, useLayoutEffect as J, useCallback as f } from "react";
3
- import Q from "../../assets/line-icons/icons/eye2.js";
4
- import Y from "../../assets/line-icons/icons/more-vertical.js";
5
- import Z from "../../assets/line-icons/icons/redo.js";
6
- import U from "../chapters-v2/comps/node-card/node-card-tags.js";
7
- import { getNodeTypeBasedBgImage as D } from "../chapters-v2/utils/index.js";
8
- import { getNodeCardBasedIcon as N } from "../chapters-v2/utils/node-card-utils.js";
9
- import E from "../ui/arrow-tooltip/arrow-tooltip.js";
10
- import ee from "../ui/buttons/clickable/clickable.js";
11
- import re from "../ui/hooks/use-context-menu-click-handler.js";
12
- import s from "../ui/layout/flex-view.js";
13
- import te from "../ui/text/text.js";
14
- import ie from "./card-menu-options.js";
15
- import { CardContainer as ne, CardWrapper as oe, IconWrapper as ce, BannerImageWrapper as ae, BannerImage as le, HeaderText as se, SubHeaderText as ue, CardKebabMenuWrapper as me, CardMenuOptionsWrapper as he, StyledMinus2Icon as pe } from "./styles.js";
16
- const fe = ({
17
- header: d,
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import { memo as N, useRef as T, useState as ee, useLayoutEffect as re, useCallback as _ } from "react";
3
+ import W from "../../assets/line-icons/icons/eye2.js";
4
+ import te from "../../assets/line-icons/icons/more-vertical.js";
5
+ import ie from "../../assets/line-icons/icons/redo.js";
6
+ import ne from "../chapters-v2/comps/node-card/node-card-tags.js";
7
+ import { getNodeTypeBasedBgImage as oe } from "../chapters-v2/utils/index.js";
8
+ import { getNodeCardBasedIcon as ce } from "../chapters-v2/utils/node-card-utils.js";
9
+ import A from "../ui/arrow-tooltip/arrow-tooltip.js";
10
+ import ae from "../ui/buttons/clickable/clickable.js";
11
+ import M from "../ui/hooks/use-context-menu-click-handler.js";
12
+ import d from "../ui/layout/flex-view.js";
13
+ import le from "../ui/text/text.js";
14
+ import O from "./card-menu-options.js";
15
+ import { CardContainer as se, CardWrapper as ue, IconWrapper as de, BannerImageWrapper as he, BannerImage as me, HeaderText as fe, SubHeaderText as pe, CardMenuOptionsWrapper as B, MenuWrapper as we, CardKebabMenuWrapper as be, StyledMinus2Icon as ge } from "./styles.js";
16
+ const $e = ({
17
+ header: v,
18
18
  nodeData: r,
19
- subHeader: I,
20
- userType: H,
19
+ subHeader: j,
20
+ userType: G,
21
21
  userMilestoneId: t,
22
22
  onNodeUnassign: c,
23
- onNodeReset: a,
24
- onNodeView: u,
23
+ onNodeReattempt: a,
24
+ onNodeView: h,
25
25
  onNodeReview: i,
26
26
  onNodeAttempt: m
27
27
  }) => {
28
28
  const {
29
- node_type: h,
30
- state: X,
31
- accuracy: S,
32
- due_date_ts: W,
33
- image_url: w,
34
- image_hue: A,
35
- card_header: B = "",
36
- permissions: O,
29
+ node_type: f,
30
+ state: K,
31
+ accuracy: L,
32
+ due_date_ts: z,
33
+ image_url: y,
34
+ image_hue: F,
35
+ card_header: P = "",
36
+ permissions: p,
37
37
  user_node_id: l
38
- } = r, R = D(h), $ = N(h), b = x(null), n = x(null), { menuVisible: j, onMenuClick: V } = re(b), [G, K] = q(!1), {
39
- can_start: g,
40
- can_resume: C,
41
- can_review: T,
42
- can_teacher_review: _,
43
- can_unassign: L,
44
- can_reset: z
45
- } = O, k = H === "STUDENT";
46
- J(() => {
47
- n.current && n.current.scrollHeight > n.current.clientHeight && K(!0);
48
- }, [n]);
49
- const F = f(() => {
50
- if (g || C) {
51
- if (typeof m != "function")
38
+ } = r, q = oe(f), x = ce(f), w = T(null), b = T(null), o = T(null), { menuVisible: S, onMenuClick: J } = M(w), { menuVisible: E, onMenuClick: I } = M(b), [Q, Y] = ee(!1), {
39
+ can_start: R,
40
+ can_resume: H,
41
+ can_review: g,
42
+ can_teacher_review: V,
43
+ can_unassign: Z,
44
+ can_reset: $
45
+ } = p, s = G === "STUDENT";
46
+ re(() => {
47
+ o.current && o.current.scrollHeight > o.current.clientHeight && Y(!0);
48
+ }, [o]);
49
+ const C = _(() => {
50
+ if (console.log("calles onStudentView view", p), R || H) {
51
+ if (console.log("calles onStudentView canStart || canResume"), typeof m != "function")
52
52
  throw new Error("onNodeAttempt must be a function");
53
53
  m(r);
54
54
  return;
55
55
  }
56
- if (T) {
57
- if (typeof i != "function")
56
+ if ($) {
57
+ console.log("calles onStudentView canReset"), I();
58
+ return;
59
+ }
60
+ if (g) {
61
+ if (console.log("calles onStudentView canReview"), typeof i != "function")
58
62
  throw new Error("onReview must be a function");
59
63
  if (!l)
60
64
  throw new Error("user node id must be present to review the sheet");
@@ -62,16 +66,19 @@ const fe = ({
62
66
  return;
63
67
  }
64
68
  }, [
65
- C,
66
- T,
69
+ p,
70
+ R,
71
+ H,
72
+ $,
67
73
  g,
68
- t,
69
- r,
70
74
  m,
75
+ r,
76
+ I,
71
77
  i,
72
- l
73
- ]), v = f(() => {
74
- if (_) {
78
+ l,
79
+ t
80
+ ]), k = _(() => {
81
+ if (V) {
75
82
  if (typeof i != "function")
76
83
  throw new Error("onReview must be a function");
77
84
  if (!l)
@@ -79,131 +86,171 @@ const fe = ({
79
86
  i(r, t);
80
87
  return;
81
88
  }
82
- if (typeof u != "function")
89
+ if (typeof h != "function")
83
90
  throw new Error("onPreview must be a function");
84
- u(r, t);
85
- }, [_, t, r, i, u, l]), p = f(
86
- (y) => {
87
- switch (y) {
88
- case "card-view":
89
- v();
91
+ h(r, t);
92
+ }, [V, t, r, i, h, l]), u = _(
93
+ (X) => {
94
+ switch (X) {
95
+ case "teacher-card-view":
96
+ k();
97
+ return;
98
+ case "student-card-click":
99
+ C();
90
100
  return;
91
101
  case "card-unassign":
92
102
  c == null || c(r, t);
93
103
  return;
94
- case "card-reset":
104
+ case "card-reattempt":
95
105
  a == null || a(r, t);
96
106
  return;
97
107
  default:
98
- throw new Error(`No callback function for ${y}`);
108
+ throw new Error(`No callback function for ${X}`);
99
109
  }
100
110
  },
101
- [r, a, c, v, t]
102
- ), M = [
111
+ [r, a, c, C, k, t]
112
+ ), U = [
103
113
  {
104
- id: "card-view",
114
+ id: "teacher-card-view",
105
115
  label: "View",
106
- icon: Q,
107
- visible: !0,
108
- onClick: p
116
+ icon: W,
117
+ disabled: !0,
118
+ onClick: u
109
119
  },
110
120
  {
111
121
  id: "card-unassign",
112
122
  label: "Unassign",
113
- icon: pe,
114
- visible: !!L,
115
- onClick: p
123
+ icon: ge,
124
+ disabled: !!Z,
125
+ onClick: u
126
+ }
127
+ ], D = [
128
+ {
129
+ id: "student-card-click",
130
+ label: "Review",
131
+ icon: W,
132
+ disabled: !!g,
133
+ onClick: u
116
134
  },
117
135
  {
118
- id: "card-reset",
119
- label: "Reset",
120
- icon: Z,
121
- visible: !!z,
122
- onClick: p
136
+ id: "card-reattempt",
137
+ label: "Reattempt",
138
+ icon: ie,
139
+ disabled: !!$,
140
+ onClick: u
123
141
  }
124
142
  ];
125
- return /* @__PURE__ */ e(ee, { onClick: k ? F : void 0, label: "homework-card", children: /* @__PURE__ */ o(
126
- ne,
127
- {
128
- $widthX: 12.5,
129
- $position: "relative",
130
- $background: `${A || "ORANGE"}_2`,
131
- children: [
132
- /* @__PURE__ */ o(
133
- oe,
134
- {
135
- $flexDirection: "row",
136
- $alignItems: "center",
137
- $width: "100%",
138
- $heightX: 3.5,
139
- $bgImage: R,
140
- $gutterX: 0.78125,
141
- $flexGap: 8.5,
142
- $position: "relative",
143
- children: [
144
- /* @__PURE__ */ e(
145
- ce,
146
- {
147
- $width: 31,
148
- $height: 31,
149
- $borderRadiusX: 2,
150
- $background: "WHITE_1",
151
- $position: "relative",
152
- $alignItems: "center",
153
- $justifyContent: "center",
154
- children: $ && /* @__PURE__ */ e($, { width: 20, height: 20 })
155
- }
156
- ),
157
- /* @__PURE__ */ e(te, { $renderAs: "ac4-black", children: B }),
158
- !!w && /* @__PURE__ */ e(ae, { children: /* @__PURE__ */ e(le, { src: w, alt: "Chapter image" }) })
159
- ]
160
- }
161
- ),
162
- /* @__PURE__ */ e(U, { nodeType: h, state: X, accuracy: S, dueDateTs: W }),
163
- /* @__PURE__ */ o(s, { $gutterX: 0.75, $gapX: 1, $flexRowGapX: 0.5, $background: "WHITE", children: [
164
- /* @__PURE__ */ e(
165
- E,
166
- {
167
- renderAs: "primary",
168
- position: "bottom",
169
- tooltipItem: d,
170
- hidden: !G,
171
- widthX: 21.75,
172
- children: /* @__PURE__ */ e(s, { $heightX: 2.5, children: /* @__PURE__ */ e(se, { ref: n, $renderAs: "ab3", children: d }) })
173
- }
174
- ),
175
- /* @__PURE__ */ o(
176
- s,
177
- {
178
- $flexDirection: "row",
179
- $heightX: 1.25,
180
- $alignItems: "center",
181
- $justifyContent: "space-between",
182
- children: [
183
- /* @__PURE__ */ e(ue, { $renderAs: "ub3", $color: "BLACK_T_60", children: I }),
184
- !k && /* @__PURE__ */ o(s, { $position: "relative", $width: "fit-content", children: [
143
+ return console.log(!s), /* @__PURE__ */ n(d, { $position: "relative", children: [
144
+ /* @__PURE__ */ n(ae, { onClick: s ? C : k, label: "homework-card", children: [
145
+ /* @__PURE__ */ n(
146
+ se,
147
+ {
148
+ ref: b,
149
+ $widthX: 12.5,
150
+ $position: "relative",
151
+ $background: `${F || "ORANGE"}_2`,
152
+ children: [
153
+ /* @__PURE__ */ n(
154
+ ue,
155
+ {
156
+ $flexDirection: "row",
157
+ $alignItems: "center",
158
+ $width: "100%",
159
+ $heightX: 3.5,
160
+ $bgImage: q,
161
+ $gutterX: 0.78125,
162
+ $flexGap: 8.5,
163
+ $position: "relative",
164
+ children: [
185
165
  /* @__PURE__ */ e(
186
- E,
166
+ de,
187
167
  {
188
- renderAs: "primary",
189
- tooltipItem: "Review",
190
- position: "bottom",
191
- zIndex: 5,
192
- parentWidth: "100%",
193
- children: /* @__PURE__ */ e(me, { ref: b, onClick: V, children: /* @__PURE__ */ e(Y, { width: 16, height: 16 }) })
168
+ $width: 31,
169
+ $height: 31,
170
+ $borderRadiusX: 2,
171
+ $background: "WHITE_1",
172
+ $position: "relative",
173
+ $alignItems: "center",
174
+ $justifyContent: "center",
175
+ children: x && /* @__PURE__ */ e(x, { width: 20, height: 20 })
194
176
  }
195
177
  ),
196
- /* @__PURE__ */ e(he, { $visible: j, children: /* @__PURE__ */ e(ie, { options: M }) })
197
- ] })
198
- ]
199
- }
200
- )
201
- ] })
202
- ]
203
- }
204
- ) });
205
- }, Xe = P(fe);
178
+ /* @__PURE__ */ e(le, { $renderAs: "ac4-black", children: P }),
179
+ !!y && /* @__PURE__ */ e(he, { children: /* @__PURE__ */ e(me, { src: y, alt: "Chapter image" }) })
180
+ ]
181
+ }
182
+ ),
183
+ /* @__PURE__ */ e(
184
+ ne,
185
+ {
186
+ nodeType: f,
187
+ state: K,
188
+ accuracy: L,
189
+ dueDateTs: z
190
+ }
191
+ ),
192
+ /* @__PURE__ */ n(d, { $gutterX: 0.75, $gapX: 1, $flexRowGapX: 0.5, $background: "WHITE", children: [
193
+ /* @__PURE__ */ e(
194
+ A,
195
+ {
196
+ renderAs: "primary",
197
+ position: "bottom",
198
+ tooltipItem: v,
199
+ hidden: !Q,
200
+ widthX: 21.75,
201
+ children: /* @__PURE__ */ e(d, { $heightX: 2.5, children: /* @__PURE__ */ e(fe, { ref: o, $renderAs: "ab3", children: v }) })
202
+ }
203
+ ),
204
+ /* @__PURE__ */ e(
205
+ d,
206
+ {
207
+ $flexDirection: "row",
208
+ $heightX: 1.25,
209
+ $alignItems: "center",
210
+ $justifyContent: "space-between",
211
+ children: /* @__PURE__ */ e(pe, { $renderAs: "ub3", $color: "BLACK_T_60", children: j })
212
+ }
213
+ )
214
+ ] })
215
+ ]
216
+ }
217
+ ),
218
+ s && /* @__PURE__ */ e(B, { $visible: E, children: /* @__PURE__ */ e(
219
+ O,
220
+ {
221
+ $width: 200,
222
+ options: D,
223
+ triggerRef: b,
224
+ visible: E
225
+ }
226
+ ) })
227
+ ] }),
228
+ !s && /* @__PURE__ */ n(we, { $position: "absolute", $width: "fit-content", children: [
229
+ /* @__PURE__ */ e(
230
+ A,
231
+ {
232
+ isAnimated: !0,
233
+ renderAs: "primary",
234
+ tooltipItem: "Review",
235
+ position: "bottom",
236
+ zIndex: 5,
237
+ parentWidth: "100%",
238
+ children: /* @__PURE__ */ e(be, { ref: w, onClick: J, children: /* @__PURE__ */ e(te, { width: 16, height: 16 }) })
239
+ }
240
+ ),
241
+ /* @__PURE__ */ e(B, { $visible: S, children: /* @__PURE__ */ e(
242
+ O,
243
+ {
244
+ $width: "fit-content",
245
+ options: U,
246
+ triggerRef: w,
247
+ visible: S
248
+ }
249
+ ) })
250
+ ] })
251
+ ] });
252
+ }, Ae = N($e);
206
253
  export {
207
- Xe as default
254
+ Ae as default
208
255
  };
209
256
  //# 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';\n\nimport { memo, useCallback, useLayoutEffect, useRef, useState } 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 NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\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 Text from '../ui/text/text';\nimport CardMenuOptions from './card-menu-options';\nimport * as Styled from './styles';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: 'TEACHER' | 'STUDENT';\n userMilestoneId?: string;\n}\n\nconst HomeworkCard = ({\n header,\n nodeData,\n subHeader,\n userType,\n userMilestoneId,\n onNodeUnassign,\n onNodeReset,\n onNodeView,\n onNodeReview,\n onNodeAttempt,\n}: IHomeworkCardProps) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n permissions,\n user_node_id: userNodeId,\n } = nodeData;\n\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = getNodeCardBasedIcon(nodeType);\n const containerRef = useRef<HTMLDivElement>(null);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const onStudentView = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData);\n\n return;\n }\n\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 }, [\n canResume,\n canReview,\n canStart,\n userMilestoneId,\n nodeData,\n onNodeAttempt,\n onNodeReview,\n userNodeId,\n ]);\n\n const onTeacherView = useCallback(() => {\n if (canTeacherReview) {\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\n onNodeReview(nodeData, userMilestoneId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId);\n }, [canTeacherReview, userMilestoneId, nodeData, onNodeReview, onNodeView, userNodeId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'card-view':\n onTeacherView();\n\n return;\n case 'card-unassign':\n onNodeUnassign?.(nodeData, userMilestoneId);\n\n return;\n case 'card-reset':\n onNodeReset?.(nodeData, userMilestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [nodeData, onNodeReset, onNodeUnassign, onTeacherView, userMilestoneId],\n );\n\n const menuOptions = [\n {\n id: 'card-view',\n label: 'View',\n icon: Eye2Icon,\n visible: true,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n visible: !!canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-reset',\n label: 'Reset',\n icon: RedoIcon,\n visible: !!canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Clickable onClick={isStudent ? onStudentView : undefined} label=\"homework-card\">\n <Styled.CardContainer\n $widthX={12.5}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n </Styled.IconWrapper>\n <Text $renderAs=\"ac4-black\">{cardHeader}</Text>\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} dueDateTs={dueDateTs} />\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n {!isStudent && (\n <FlexView $position=\"relative\" $width=\"fit-content\">\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={5}\n parentWidth=\"100%\"\n >\n <Styled.CardKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <Styled.CardMenuOptionsWrapper $visible={menuVisible}>\n <CardMenuOptions options={menuOptions} />\n </Styled.CardMenuOptionsWrapper>\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n </Styled.CardContainer>\n </Clickable>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","header","nodeData","subHeader","userType","userMilestoneId","onNodeUnassign","onNodeReset","onNodeView","onNodeReview","onNodeAttempt","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","permissions","userNodeId","bgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","containerRef","useRef","titleTextRef","menuVisible","onMenuClick","useContextMenuClickHandler","showTitleTooltip","setShowTitleTooltip","useState","canStart","canResume","canReview","canTeacherReview","canUnassign","canReset","isStudent","useLayoutEffect","onStudentView","useCallback","onTeacherView","handleOnMenuOptionClick","optionId","menuOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Clickable","jsxs","Styled.CardContainer","Styled.CardWrapper","jsx","Styled.IconWrapper","Text","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","FlexView","ArrowTooltip","Styled.HeaderText","Styled.SubHeaderText","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.CardMenuOptionsWrapper","CardMenuOptions","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, useLayoutEffect, useRef, useState } 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 NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\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 Text from '../ui/text/text';\nimport CardMenuOptions from './card-menu-options';\nimport * as Styled from './styles';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: TUserTypes;\n userMilestoneId?: string;\n}\n\nconst HomeworkCard = ({\n header,\n nodeData,\n subHeader,\n userType,\n userMilestoneId,\n onNodeUnassign,\n onNodeReattempt,\n onNodeView,\n onNodeReview,\n onNodeAttempt,\n}: IHomeworkCardProps) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n permissions,\n user_node_id: userNodeId,\n } = nodeData;\n\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = getNodeCardBasedIcon(nodeType);\n const teacherContainerRef = useRef<HTMLDivElement>(null);\n const studentContainerRef = useRef<HTMLDivElement>(null);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const onStudentView = useCallback(() => {\n console.log('calles onStudentView view', permissions);\n if (canStart || canResume) {\n console.log('calles onStudentView canStart || canResume');\n\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData);\n\n return;\n }\n\n if (canReset) {\n console.log('calles onStudentView canReset');\n\n onStudentMenuClick();\n\n return;\n }\n\n if (canReview) {\n console.log('calles onStudentView 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 }, [\n permissions,\n canStart,\n canResume,\n canReset,\n canReview,\n onNodeAttempt,\n nodeData,\n onStudentMenuClick,\n onNodeReview,\n userNodeId,\n userMilestoneId,\n ]);\n\n const onTeacherView = useCallback(() => {\n if (canTeacherReview) {\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\n onNodeReview(nodeData, userMilestoneId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId);\n }, [canTeacherReview, userMilestoneId, nodeData, onNodeReview, onNodeView, userNodeId]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherView();\n\n return;\n\n case 'student-card-click':\n onStudentView();\n\n return;\n case 'card-unassign':\n onNodeUnassign?.(nodeData, userMilestoneId);\n\n return;\n case 'card-reattempt':\n onNodeReattempt?.(nodeData, userMilestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [nodeData, onNodeReattempt, onNodeUnassign, onStudentView, onTeacherView, userMilestoneId],\n );\n\n const teacherOptions = [\n {\n id: 'teacher-card-view',\n label: 'View',\n icon: Eye2Icon,\n disabled: true,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: !!canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const studentOptions = [\n {\n id: 'student-card-click',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !!canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !!canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n console.log(!isStudent);\n\n return (\n <FlexView $position=\"relative\">\n <Clickable onClick={isStudent ? onStudentView : onTeacherView} label=\"homework-card\">\n <Styled.CardContainer\n ref={studentContainerRef}\n $widthX={12.5}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n </Styled.IconWrapper>\n <Text $renderAs=\"ac4-black\">{cardHeader}</Text>\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n />\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n </FlexView>\n </FlexView>\n </Styled.CardContainer>\n {isStudent && (\n <Styled.CardMenuOptionsWrapper $visible={studentMenuVisible}>\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n />\n </Styled.CardMenuOptionsWrapper>\n )}\n </Clickable>\n {!isStudent && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\">\n <ArrowTooltip\n isAnimated\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={5}\n parentWidth=\"100%\"\n >\n <Styled.CardKebabMenuWrapper ref={teacherContainerRef} onClick={onTeacherMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <Styled.CardMenuOptionsWrapper $visible={teacherMenuVisible}>\n <CardMenuOptions\n $width={'fit-content'}\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n />\n </Styled.CardMenuOptionsWrapper>\n </Styled.MenuWrapper>\n )}\n </FlexView>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","header","nodeData","subHeader","userType","userMilestoneId","onNodeUnassign","onNodeReattempt","onNodeView","onNodeReview","onNodeAttempt","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","permissions","userNodeId","bgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","teacherContainerRef","useRef","studentContainerRef","titleTextRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","showTitleTooltip","setShowTitleTooltip","useState","canStart","canResume","canReview","canTeacherReview","canUnassign","canReset","isStudent","useLayoutEffect","onStudentView","useCallback","onTeacherView","handleOnMenuOptionClick","optionId","teacherOptions","Eye2Icon","Styled.StyledMinus2Icon","studentOptions","RedoIcon","jsxs","FlexView","Clickable","Styled.CardContainer","Styled.CardWrapper","jsx","Styled.IconWrapper","Text","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","ArrowTooltip","Styled.HeaderText","Styled.SubHeaderText","Styled.CardMenuOptionsWrapper","CardMenuOptions","Styled.MenuWrapper","Styled.CardKebabMenuWrapper","MoreVerticalIcon","HomeworkCard$1","memo"],"mappings":"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"}