@cuemath/leap 3.0.26-gs1 → 3.0.26-guru.0

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,192 +1,208 @@
1
1
  import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
- import { memo as er, useRef as S, useCallback as m } from "react";
3
- import cr from "../../../../../assets/line-icons/icons/check2.js";
4
- import ir from "../../../../../assets/line-icons/icons/eye2.js";
5
- import ar from "../../../../../assets/line-icons/icons/home2.js";
6
- import nr from "../../../../../assets/line-icons/icons/lock3.js";
7
- import W from "../../../../../assets/line-icons/icons/more-vertical.js";
8
- import lr from "../../../../../assets/line-icons/icons/redo.js";
9
- import sr from "../../../../../assets/line-icons/icons/skip.js";
10
- import or from "../../../../../assets/line-icons/icons/unlock2.js";
11
- import mr from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
12
- import pr from "../../../../ui/hooks/use-context-menu-click-handler.js";
13
- import B from "../../../../ui/layout/flex-view.js";
14
- import dr from "../../../../ui/lottie-animation/lottie-animation.js";
15
- import hr from "../../../../ui/text/text.js";
16
- import { BLOCK_TYPE as ur } from "../../../constants/block-constants.js";
17
- import { NODE_CARD_STATES as M, TEACHER_MENU_LABELS as fr } from "../../../constants/node-constants.js";
18
- import { getNodeTypeBasedBgImage as Cr } from "../../../utils/index.js";
19
- import { getNodeCardBasedIcon as $r } from "../../../utils/node-card-utils.js";
20
- import { NodeCardContainer as _r, NodeCardInfoWrapper as br, IconWrapper as Ir, StyledImportantIcon as kr, NodeKebabMenuWrapper as K, NodeCardContentWrapper as gr, NodeCardTitle as Er, NodeMenuOptionsWrapper as Lr } from "../node-card-styled.js";
21
- import Or from "../node-card-tags.js";
22
- import Tr from "../node-menu-options/node-menu-options.js";
23
- const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr, VIEW: Wr, MARK_AS_DONE: Br, RESET: Mr, LOCK: Kr, UNLOCK: Ar } = fr, ct = er(
2
+ import { memo as ar, useRef as T, useCallback as d, useEffect as sr } from "react";
3
+ import lr from "../../../../../assets/line-icons/icons/check2.js";
4
+ import or from "../../../../../assets/line-icons/icons/eye2.js";
5
+ import mr from "../../../../../assets/line-icons/icons/home2.js";
6
+ import dr from "../../../../../assets/line-icons/icons/lock3.js";
7
+ import v from "../../../../../assets/line-icons/icons/more-vertical.js";
8
+ import pr from "../../../../../assets/line-icons/icons/redo.js";
9
+ import ur from "../../../../../assets/line-icons/icons/skip.js";
10
+ import hr from "../../../../../assets/line-icons/icons/unlock2.js";
11
+ import fr from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
12
+ import Cr from "../../../../ui/hooks/use-context-menu-click-handler.js";
13
+ import A from "../../../../ui/layout/flex-view.js";
14
+ import _r from "../../../../ui/lottie-animation/lottie-animation.js";
15
+ import $r from "../../../../ui/text/text.js";
16
+ import { BLOCK_TYPE as Ir } from "../../../constants/block-constants.js";
17
+ import { NODE_CARD_STATES as G, TEACHER_MENU_LABELS as br } from "../../../constants/node-constants.js";
18
+ import { getNodeTypeBasedBgImage as Er } from "../../../utils/index.js";
19
+ import { getNodeCardBasedIcon as kr } from "../../../utils/node-card-utils.js";
20
+ import { NodeCardContainer as gr, NodeCardInfoWrapper as Lr, IconWrapper as Or, StyledImportantIcon as Tr, NodeKebabMenuWrapper as j, NodeCardContentWrapper as yr, NodeCardTitle as xr, NodeMenuOptionsWrapper as Sr } from "../node-card-styled.js";
21
+ import Wr from "../node-card-tags.js";
22
+ import Mr from "../node-menu-options/node-menu-options.js";
23
+ const Br = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Kr, REVIEW: vr, VIEW: Ar, MARK_AS_DONE: Gr, RESET: jr, LOCK: Xr, UNLOCK: Hr } = br, y = "cue_cp_close_other_node_card_menu_options", le = ar(
24
24
  ({
25
25
  nodeData: r,
26
- imageHue: A,
27
- blockType: G,
28
- isSkipped: j,
26
+ imageHue: X,
27
+ blockType: H,
28
+ isSkipped: q,
29
29
  onNodeAssignAsHomework: p,
30
- onNodeMarkAsDone: d,
30
+ onNodeMarkAsDone: u,
31
31
  onNodeView: c,
32
- onNodeReview: i,
32
+ onNodeReview: n,
33
33
  onNodeReattempt: h,
34
- onNodeUnlock: u,
35
- onNodeUnassign: f,
36
- onNodeSkipUnSkip: C
34
+ onNodeUnlock: f,
35
+ onNodeUnassign: C,
36
+ onNodeSkipUnSkip: _
37
37
  }) => {
38
- const _ = S(null), { menuVisible: L, onMenuClick: O } = pr(_), {
39
- accuracy: X,
40
- attempt_location: H,
41
- node_type: b,
42
- card_header: v,
43
- title: F,
44
- state: I,
45
- is_optional: P,
46
- sheet_statement: T,
47
- permissions: z,
48
- user_attempt_id: s
49
- } = r, { lottie: Y } = $r(b), k = S(null), {
50
- can_mark_familiar: q,
51
- can_review: o,
52
- can_assign_as_homework: J,
53
- can_reset: Q,
38
+ const x = T(r.node_id), b = T(null), { menuVisible: a, onMenuClick: S, hideMenu: W } = Cr(b), {
39
+ accuracy: F,
40
+ attempt_location: P,
41
+ node_type: E,
42
+ card_header: z,
43
+ title: Y,
44
+ state: k,
45
+ is_optional: J,
46
+ sheet_statement: M,
47
+ permissions: Q,
48
+ user_attempt_id: o
49
+ } = r, { lottie: Z } = kr(E), g = T(null), {
50
+ can_mark_familiar: R,
51
+ can_review: m,
52
+ can_assign_as_homework: w,
53
+ can_reset: V,
54
54
  can_unlock: $,
55
- can_unassign: Z,
56
- can_un_skip: g,
57
- can_skip: E
58
- } = z, y = G === ur.GOAL, a = I === M.LOCKED || g, R = I === M.NOT_STARTED, w = H === "INCLASS", V = (a || R) && ($ || Z), U = Cr(b), n = m(
55
+ can_unassign: U,
56
+ can_un_skip: L,
57
+ can_skip: O
58
+ } = Q, B = H === Ir.GOAL, i = k === G.LOCKED || L, D = k === G.NOT_STARTED, N = P === "INCLASS", rr = (i || D) && ($ || U), er = Er(E), s = d(
59
59
  (e) => {
60
60
  switch (e) {
61
61
  case "node-card-view":
62
- o && s ? i == null || i(r) : c == null || c(r);
62
+ m && o ? n == null || n(r) : c == null || c(r);
63
63
  return;
64
64
  case "node-card-assign-as-hw":
65
65
  p == null || p(r);
66
66
  return;
67
67
  case "node-card-mark-as-done":
68
- d == null || d(r);
68
+ u == null || u(r);
69
69
  return;
70
70
  case "node-card-reset":
71
71
  h == null || h(r);
72
72
  return;
73
73
  case "node-card-unlock":
74
- u == null || u(r);
74
+ f == null || f(r);
75
75
  return;
76
76
  case "node-card-lock":
77
- f == null || f(r);
77
+ C == null || C(r);
78
78
  return;
79
79
  case "node-card-skip":
80
80
  case "node-card-revert-skip":
81
- C == null || C(r);
81
+ _ == null || _(r);
82
82
  return;
83
83
  default:
84
84
  throw new Error(`No callback function for ${e}`);
85
85
  }
86
86
  },
87
87
  [
88
- o,
88
+ m,
89
89
  r,
90
90
  p,
91
- d,
91
+ u,
92
92
  h,
93
- i,
93
+ n,
94
+ _,
94
95
  C,
95
96
  f,
96
- u,
97
97
  c,
98
- s
98
+ o
99
99
  ]
100
- ), D = m(() => {
100
+ ), tr = d(() => {
101
101
  var e;
102
- a || (e = k.current) == null || e.play();
103
- }, [a]), N = m(() => {
102
+ i || (e = g.current) == null || e.play();
103
+ }, [i]), cr = d(() => {
104
104
  var e;
105
- (e = k.current) == null || e.stop();
106
- }, []), rr = m(() => {
107
- o && s ? i == null || i(r) : c == null || c(r);
108
- }, [o, r, i, c, s]), x = m(
105
+ (e = g.current) == null || e.stop();
106
+ }, []), nr = d(() => {
107
+ m && o ? n == null || n(r) : c == null || c(r);
108
+ }, [m, r, n, c, o]), K = d(
109
109
  (e) => {
110
- e.stopPropagation(), O();
110
+ if (e.stopPropagation(), !a) {
111
+ const I = new CustomEvent(y, {
112
+ detail: { sourceId: x.current }
113
+ });
114
+ document.dispatchEvent(I);
115
+ }
116
+ S();
111
117
  },
112
- [O]
113
- ), tr = [
118
+ [S, a]
119
+ );
120
+ sr(() => {
121
+ const e = (I) => {
122
+ I.detail && I.detail.sourceId !== x.current && a && W();
123
+ };
124
+ return document.addEventListener(y, e), () => {
125
+ document.removeEventListener(y, e);
126
+ };
127
+ }, [a, W]);
128
+ const ir = [
114
129
  {
115
130
  id: "node-card-view",
116
- label: o && s ? Sr : Wr,
117
- icon: ir,
131
+ label: m && o ? vr : Ar,
132
+ icon: or,
118
133
  disabled: !1,
119
- onClick: n
134
+ onClick: s
120
135
  },
121
136
  {
122
137
  id: "node-card-assign-as-hw",
123
- label: xr,
124
- icon: ar,
125
- disabled: !J,
126
- onClick: n
138
+ label: Kr,
139
+ icon: mr,
140
+ disabled: !w,
141
+ onClick: s
127
142
  },
128
143
  {
129
144
  id: "node-card-reset",
130
- label: Mr,
131
- icon: lr,
132
- disabled: !Q,
133
- onClick: n
145
+ label: jr,
146
+ icon: pr,
147
+ disabled: !V,
148
+ onClick: s
134
149
  },
135
150
  {
136
151
  id: "node-card-mark-as-done",
137
- label: Br,
138
- icon: cr,
139
- disabled: !q,
140
- onClick: n
152
+ label: Gr,
153
+ icon: lr,
154
+ disabled: !R,
155
+ onClick: s
141
156
  },
142
157
  {
143
158
  id: `node-card-${$ ? "unlock" : "lock"}`,
144
- label: $ ? Ar : Kr,
145
- icon: $ ? or : nr,
146
- disabled: !V,
147
- onClick: n
159
+ label: $ ? Hr : Xr,
160
+ icon: $ ? hr : dr,
161
+ disabled: !rr,
162
+ onClick: s
148
163
  },
149
164
  {
150
- id: `node-card-${E ? "skip" : "revert-skip"}`,
151
- label: E ? "Skip" : "Revert 'Skip'",
152
- icon: sr,
153
- disabled: !g && !E,
154
- onClick: n
165
+ id: `node-card-${O ? "skip" : "revert-skip"}`,
166
+ label: O ? "Skip" : "Revert 'Skip'",
167
+ icon: ur,
168
+ disabled: !L && !O,
169
+ onClick: s
155
170
  }
156
171
  ];
157
- return /* @__PURE__ */ l(B, { $position: "relative", children: [
172
+ return /* @__PURE__ */ l(A, { $position: "relative", children: [
158
173
  /* @__PURE__ */ t(
159
- _r,
174
+ gr,
160
175
  {
161
- $background: `${A}_2`,
162
- $disabled: !!(j || a),
163
- onClick: rr,
176
+ $background: `${X}_2`,
177
+ $disabled: i,
178
+ onClick: nr,
179
+ $opacity: q ? 0.5 : 1,
164
180
  children: /* @__PURE__ */ l(
165
- mr,
181
+ fr,
166
182
  {
167
183
  renderAs: "primary",
168
- tooltipItem: T,
184
+ tooltipItem: M,
169
185
  position: "bottom",
170
186
  zIndex: 5,
171
- hidden: L || !T,
187
+ hidden: a || !M,
172
188
  parentWidth: "100%",
173
189
  widthX: 11.25,
174
190
  children: [
175
191
  /* @__PURE__ */ l(
176
- br,
192
+ Lr,
177
193
  {
178
194
  $flexDirection: "row",
179
195
  $alignItems: "center",
180
196
  $width: "100%",
181
197
  $heightX: 3.5,
182
- $bgImage: U,
198
+ $bgImage: er,
183
199
  $gutterX: 0.78125,
184
200
  $flexGap: 8.5,
185
- onMouseEnter: D,
186
- onMouseLeave: N,
201
+ onMouseEnter: tr,
202
+ onMouseLeave: cr,
187
203
  children: [
188
204
  /* @__PURE__ */ l(
189
- Ir,
205
+ Or,
190
206
  {
191
207
  $width: 31,
192
208
  $height: 31,
@@ -194,41 +210,41 @@ const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr,
194
210
  $position: "relative",
195
211
  $alignItems: "center",
196
212
  $justifyContent: "center",
197
- $opacity: a ? 0.5 : 1,
213
+ $opacity: i ? 0.5 : 1,
198
214
  children: [
199
215
  /* @__PURE__ */ t(
200
- dr,
216
+ _r,
201
217
  {
202
- src: Y,
203
- ref: k,
204
- settings: yr
218
+ src: Z,
219
+ ref: g,
220
+ settings: Br
205
221
  }
206
222
  ),
207
- !P && /* @__PURE__ */ t(kr, {})
223
+ !J && /* @__PURE__ */ t(Tr, {})
208
224
  ]
209
225
  }
210
226
  ),
211
227
  /* @__PURE__ */ l(
212
- hr,
228
+ $r,
213
229
  {
214
230
  $renderAs: "ac4-black",
215
231
  $color: "BLACK",
216
- $opacity: a ? 0.5 : 1,
217
- $textDecoration: g ? "line-through" : "none",
232
+ $opacity: i ? 0.5 : 1,
233
+ $textDecoration: L ? "line-through" : "none",
218
234
  children: [
219
- v,
235
+ z,
220
236
  " ",
221
- w && "• CW"
237
+ N && "• CW"
222
238
  ]
223
239
  }
224
240
  ),
225
- /* @__PURE__ */ t(B, { className: "context-menu", children: y && /* @__PURE__ */ t(K, { ref: _, onClick: x, children: /* @__PURE__ */ t(W, { width: 18, height: 18 }) }) })
241
+ /* @__PURE__ */ t(A, { className: "context-menu", children: B && /* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) }) })
226
242
  ]
227
243
  }
228
244
  ),
229
- /* @__PURE__ */ t(Or, { nodeType: b, state: I, accuracy: X }),
230
- !y && /* @__PURE__ */ l(
231
- gr,
245
+ /* @__PURE__ */ t(Wr, { nodeType: E, state: k, accuracy: F }),
246
+ !B && /* @__PURE__ */ l(
247
+ yr,
232
248
  {
233
249
  $flexDirection: "row",
234
250
  $alignItems: "center",
@@ -238,15 +254,15 @@ const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr,
238
254
  $justifyContent: "space-between",
239
255
  children: [
240
256
  /* @__PURE__ */ t(
241
- Er,
257
+ xr,
242
258
  {
243
259
  $renderAs: "ab3",
244
260
  $color: "BLACK_1",
245
- $opacity: a ? 0.5 : 1,
246
- children: F
261
+ $opacity: i ? 0.5 : 1,
262
+ children: Y
247
263
  }
248
264
  ),
249
- /* @__PURE__ */ t(K, { ref: _, onClick: x, children: /* @__PURE__ */ t(W, { width: 18, height: 18 }) })
265
+ /* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) })
250
266
  ]
251
267
  }
252
268
  )
@@ -255,11 +271,11 @@ const yr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: xr, REVIEW: Sr,
255
271
  )
256
272
  }
257
273
  ),
258
- /* @__PURE__ */ t(Lr, { $visible: L, children: /* @__PURE__ */ t(Tr, { options: tr }) })
274
+ /* @__PURE__ */ t(Sr, { $visible: a, children: /* @__PURE__ */ t(Mr, { options: ir }) })
259
275
  ] });
260
276
  }
261
277
  );
262
278
  export {
263
- ct as default
279
+ le as default
264
280
  };
265
281
  //# sourceMappingURL=teacher-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n onMenuClick();\n },\n [onMenuClick],\n );\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped || sheetLocked)}\n onClick={handleOnNodeCardClick}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst customEventName = 'cue_cp_close_other_node_card_menu_options';\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const componentUniqueIdRef = useRef(nodeData.node_id);\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n\n //* If this menu is not currently visible, it means onMenuClick will attempt to open it.\n //* In that case, dispatch an event to close other menus.\n //* This check ensures we only dispatch, When this menu is about to be opened.\n if (!menuVisible) {\n const event = new CustomEvent(customEventName, {\n detail: { sourceId: componentUniqueIdRef.current },\n });\n\n document.dispatchEvent(event);\n }\n\n //* This will toggle the current menu's visibility.\n onMenuClick();\n },\n [onMenuClick, menuVisible],\n );\n\n useEffect(() => {\n const handleCloseRequest = (event: CustomEvent) => {\n //*() Ensure event.detail and event.detail.sourceId exist before accessing\n if (event.detail && event.detail.sourceId !== componentUniqueIdRef.current && menuVisible) {\n hideMenu();\n }\n };\n\n document.addEventListener(customEventName, handleCloseRequest as EventListener);\n\n return () => {\n document.removeEventListener(customEventName, handleCloseRequest as EventListener);\n };\n }, [menuVisible, hideMenu]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n $opacity={isSkipped ? 0.5 : 1}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","customEventName","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","componentUniqueIdRef","useRef","containerRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
@@ -3,20 +3,20 @@ import T from "../../../assets/line-icons/icons/check2.js";
3
3
  import f from "../../../assets/line-icons/icons/exclamation.js";
4
4
  import u from "../../../assets/line-icons/icons/lock2.js";
5
5
  import R from "../../../assets/line-icons/icons/status.js";
6
- import { LOTTIE as r } from "../../../assets/lottie/lottie.js";
6
+ import { LOTTIE as n } from "../../../assets/lottie/lottie.js";
7
7
  import A from "../../ui/layout/flex-view.js";
8
8
  import d from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
9
  import E from "../../ui/text/text.js";
10
- import { InProgressIconWrapper as I } from "../comps/node-card/node-card-styled.js";
10
+ import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
11
11
  import m from "../comps/tag/tag.js";
12
- const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
13
- if (!t)
12
+ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t, i) => {
13
+ if (!t || i)
14
14
  return { isOverdue: !1, daysText: "", differenceInDays: 0 };
15
- const n = Math.floor(Date.now() / 1e3), c = t - n, o = Math.ceil(c / h), s = o < 0, a = o > 0 ? `${Math.abs(o)}D` : "";
16
- return { isOverdue: s, daysText: a, differenceInDays: o };
17
- }, w = (t, n, c, o, s) => {
18
- const { isOverdue: a, daysText: i, differenceInDays: l } = D(o);
19
- if (!s && a && $.includes(t))
15
+ const c = Math.floor(Date.now() / 1e3), s = t - c, r = Math.ceil(s / h), a = r < 0, o = r > 0 ? `${Math.abs(r)}D` : "";
16
+ return { isOverdue: a, daysText: o, differenceInDays: r };
17
+ }, w = (t, i, c, s, r) => {
18
+ const { isOverdue: a, daysText: o, differenceInDays: I } = D(s, r);
19
+ if (!r && a && $.includes(t))
20
20
  return {
21
21
  icon: /* @__PURE__ */ e(
22
22
  d,
@@ -25,7 +25,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
25
25
  position: "bottom",
26
26
  tooltipItem: "Complete now",
27
27
  zIndex: 10,
28
- hidden: !n,
28
+ hidden: !i,
29
29
  parentWidth: "fit-content",
30
30
  children: /* @__PURE__ */ e(A, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
31
31
  }
@@ -41,11 +41,11 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
41
41
  {
42
42
  renderAs: "primary",
43
43
  position: "bottom",
44
- tooltipItem: l > 1 ? `${l} days left` : "Complete it today",
44
+ tooltipItem: I > 1 ? `${I} days left` : "Complete it today",
45
45
  zIndex: 10,
46
- hidden: !n,
46
+ hidden: !i,
47
47
  children: /* @__PURE__ */ e(
48
- I,
48
+ l,
49
49
  {
50
50
  $flexDirection: "row",
51
51
  $alignItems: "center",
@@ -53,7 +53,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
53
53
  $borderRadius: 16,
54
54
  $paddingRight: 6,
55
55
  $paddingLeft: 6,
56
- children: i && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: i })
56
+ children: o && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: o })
57
57
  }
58
58
  )
59
59
  }
@@ -70,16 +70,16 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
70
70
  case "IN_PROGRESS":
71
71
  return {
72
72
  icon: /* @__PURE__ */ p(
73
- I,
73
+ l,
74
74
  {
75
75
  $flexDirection: "row",
76
76
  $alignItems: "center",
77
77
  $justifyContent: "center",
78
78
  $borderRadius: 16,
79
79
  $paddingRight: 0,
80
- $paddingLeft: i ? 6 : 0,
80
+ $paddingLeft: o ? 6 : 0,
81
81
  children: [
82
- i && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: i }),
82
+ o && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: o }),
83
83
  /* @__PURE__ */ e(R, {})
84
84
  ]
85
85
  }
@@ -104,7 +104,7 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
104
104
  {
105
105
  renderAs: "primary",
106
106
  position: "bottom",
107
- tooltipItem: n ? "Waiting for teacher to review" : "Needs your review",
107
+ tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
108
108
  zIndex: 10,
109
109
  children: /* @__PURE__ */ e(m, { Icon: f })
110
110
  }
@@ -123,42 +123,42 @@ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], D = (t) => {
123
123
  case "LEVEL2":
124
124
  case "LEVEL3":
125
125
  return {
126
- lottie: r.LEARN
126
+ lottie: n.LEARN
127
127
  };
128
128
  case "RECAP":
129
129
  case "REMEDIAL":
130
130
  case "REVISION":
131
131
  return {
132
- lottie: r.RECAP
132
+ lottie: n.RECAP
133
133
  };
134
134
  case "DYNAMIC":
135
135
  case "ASSESSMENT":
136
136
  case "CHAPTER_ASSESSMENT":
137
137
  case "DIAGNOSTIC":
138
138
  return {
139
- lottie: r.TEST
139
+ lottie: n.TEST
140
140
  };
141
141
  case "PRACTICE":
142
142
  case "EXTRA_PRACTICE":
143
143
  case "TARGET_PRACTICE":
144
144
  case "MASTERY":
145
145
  return {
146
- lottie: r.PRACTICE
146
+ lottie: n.PRACTICE
147
147
  };
148
148
  case "PUZZLE":
149
149
  case "PUZZLE_EASY":
150
150
  case "PUZZLE_MEDIUM":
151
151
  case "PUZZLE_HARD":
152
152
  return {
153
- lottie: r.PUZZLE
153
+ lottie: n.PUZZLE
154
154
  };
155
155
  case "VIDEO":
156
156
  return {
157
- lottie: r.VIDEO
157
+ lottie: n.VIDEO
158
158
  };
159
159
  default:
160
160
  return {
161
- lottie: r.PROJECT
161
+ lottie: n.PROJECT
162
162
  };
163
163
  }
164
164
  };