@cuemath/leap 3.1.38-beta-hb-5 → 3.1.38

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,225 +1,209 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { memo as lt, useRef as T, useCallback as u, useEffect as ot } from "react";
3
- import dt from "../../../../../assets/line-icons/icons/check2.js";
4
- import mt from "../../../../../assets/line-icons/icons/eye2.js";
5
- import pt from "../../../../../assets/line-icons/icons/home2.js";
6
- import ut from "../../../../../assets/line-icons/icons/link.js";
7
- import ht from "../../../../../assets/line-icons/icons/lock3.js";
1
+ import { jsxs as l, jsx as t } from "react/jsx-runtime";
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";
8
7
  import v from "../../../../../assets/line-icons/icons/more-vertical.js";
9
- import ft from "../../../../../assets/line-icons/icons/redo.js";
10
- import Ct from "../../../../../assets/line-icons/icons/skip.js";
11
- import _t from "../../../../../assets/line-icons/icons/unlock2.js";
12
- import $t from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
13
- import It from "../../../../ui/hooks/use-context-menu-click-handler.js";
14
- import G from "../../../../ui/layout/flex-view.js";
15
- import bt from "../../../../ui/lottie-animation/lottie-animation.js";
16
- import kt from "../../../../ui/text/text.js";
17
- import { BLOCK_TYPE as Et } from "../../../constants/block-constants.js";
18
- import { NODE_CARD_STATES as j, TEACHER_MENU_LABELS as gt } from "../../../constants/node-constants.js";
19
- import { getNodeTypeBasedBgImage as Lt } from "../../../utils/index.js";
20
- import { getNodeCardBasedIcon as yt } from "../../../utils/node-card-utils.js";
21
- import { NodeCardContainer as Tt, NodeCardInfoWrapper as Ot, IconWrapper as xt, StyledImportantIcon as St, NodeKebabMenuWrapper as X, NodeCardContentWrapper as Mt, NodeCardTitle as Wt, NodeMenuOptionsWrapper as Bt } from "../node-card-styled.js";
22
- import At from "../node-card-tags.js";
23
- import Kt from "../node-menu-options/node-menu-options.js";
24
- const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt, VIEW: Xt, MARK_AS_DONE: Ht, RESET: Pt, LOCK: qt, UNLOCK: Ft } = gt, O = "cue_cp_close_other_node_card_menu_options", pr = lt(
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(
25
24
  ({
26
- nodeData: t,
27
- imageHue: H,
28
- blockType: P,
25
+ nodeData: r,
26
+ imageHue: X,
27
+ blockType: H,
29
28
  isSkipped: q,
30
- onNodeAssignAsHomework: h,
31
- onNodeMarkAsDone: f,
32
- onNodeView: i,
33
- onNodeReview: c,
34
- onNodeReattempt: C,
35
- onNodeUnlock: _,
36
- onNodeUnassign: $,
37
- onNodeSkipUnSkip: I
29
+ onNodeAssignAsHomework: p,
30
+ onNodeMarkAsDone: u,
31
+ onNodeView: c,
32
+ onNodeReview: n,
33
+ onNodeReattempt: h,
34
+ onNodeUnlock: f,
35
+ onNodeUnassign: C,
36
+ onNodeSkipUnSkip: _
38
37
  }) => {
39
- const x = T(t.node_id), E = T(null), { menuVisible: s, onMenuClick: S, hideMenu: M } = It(E), {
38
+ const x = T(r.node_id), b = T(null), { menuVisible: a, onMenuClick: S, hideMenu: W } = Cr(b), {
40
39
  accuracy: F,
41
- attempt_location: z,
42
- node_type: o,
43
- card_header: Y,
44
- title: J,
45
- state: d,
46
- is_optional: Q,
47
- sheet_statement: W,
48
- permissions: Z,
49
- user_attempt_id: m,
50
- is_turing: R,
51
- learnosity_activity_ref: B
52
- } = t, { lottie: U } = yt(o), g = T(null), {
53
- can_mark_familiar: V,
54
- can_review: p,
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,
55
52
  can_assign_as_homework: w,
56
- can_reset: D,
57
- can_unlock: b,
58
- can_unassign: N,
53
+ can_reset: V,
54
+ can_unlock: $,
55
+ can_unassign: U,
59
56
  can_un_skip: L,
60
- can_skip: y
61
- } = Z, A = P === Et.GOAL, n = d === j.LOCKED || L, tt = d === j.NOT_STARTED, rt = z === "INCLASS", et = (n || tt) && (b || N), ct = Lt(o), a = u(
62
- (r) => {
63
- switch (r) {
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
+ (e) => {
60
+ switch (e) {
64
61
  case "node-card-view":
65
- p && m ? c == null || c(t) : i == null || i(t);
62
+ m && o ? n == null || n(r) : c == null || c(r);
66
63
  return;
67
64
  case "node-card-assign-as-hw":
68
- h == null || h(t);
65
+ p == null || p(r);
69
66
  return;
70
67
  case "node-card-mark-as-done":
71
- f == null || f(t);
68
+ u == null || u(r);
72
69
  return;
73
70
  case "node-card-reset":
74
- C == null || C(t);
71
+ h == null || h(r);
75
72
  return;
76
73
  case "node-card-unlock":
77
- _ == null || _(t);
74
+ f == null || f(r);
78
75
  return;
79
76
  case "node-card-lock":
80
- $ == null || $(t);
77
+ C == null || C(r);
81
78
  return;
82
79
  case "node-card-skip":
83
80
  case "node-card-revert-skip":
84
- I == null || I(t);
85
- return;
86
- case "node-card-activity-link":
87
- o !== "TURING_BASIC" && d === "COMPLETED" ? c == null || c(t) : window.open(B);
81
+ _ == null || _(r);
88
82
  return;
89
83
  default:
90
- throw new Error(`No callback function for ${r}`);
84
+ throw new Error(`No callback function for ${e}`);
91
85
  }
92
86
  },
93
87
  [
88
+ m,
89
+ r,
94
90
  p,
95
- B,
96
- t,
97
- o,
91
+ u,
98
92
  h,
99
- f,
93
+ n,
94
+ _,
100
95
  C,
96
+ f,
101
97
  c,
102
- I,
103
- $,
104
- _,
105
- i,
106
- d,
107
- m
98
+ o
108
99
  ]
109
- ), it = u(() => {
110
- var r;
111
- n || (r = g.current) == null || r.play();
112
- }, [n]), nt = u(() => {
113
- var r;
114
- (r = g.current) == null || r.stop();
115
- }, []), at = u(() => {
116
- p && m ? c == null || c(t) : i == null || i(t);
117
- }, [p, t, c, i, m]), K = u(
118
- (r) => {
119
- if (r.stopPropagation(), !s) {
120
- const k = new CustomEvent(O, {
100
+ ), tr = d(() => {
101
+ var e;
102
+ i || (e = g.current) == null || e.play();
103
+ }, [i]), cr = d(() => {
104
+ var e;
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
+ (e) => {
110
+ if (e.stopPropagation(), !a) {
111
+ const I = new CustomEvent(y, {
121
112
  detail: { sourceId: x.current }
122
113
  });
123
- document.dispatchEvent(k);
114
+ document.dispatchEvent(I);
124
115
  }
125
116
  S();
126
117
  },
127
- [S, s]
118
+ [S, a]
128
119
  );
129
- ot(() => {
130
- const r = (k) => {
131
- k.detail && k.detail.sourceId !== x.current && s && M();
120
+ sr(() => {
121
+ const e = (I) => {
122
+ I.detail && I.detail.sourceId !== x.current && a && W();
132
123
  };
133
- return document.addEventListener(O, r), () => {
134
- document.removeEventListener(O, r);
124
+ return document.addEventListener(y, e), () => {
125
+ document.removeEventListener(y, e);
135
126
  };
136
- }, [s, M]);
137
- const st = [
127
+ }, [a, W]);
128
+ const ir = [
138
129
  {
139
130
  id: "node-card-view",
140
- label: p && m ? jt : Xt,
141
- icon: mt,
131
+ label: m && o ? vr : Ar,
132
+ icon: or,
142
133
  disabled: !1,
143
- onClick: a
134
+ onClick: s
144
135
  },
145
136
  {
146
137
  id: "node-card-assign-as-hw",
147
- label: Gt,
148
- icon: pt,
138
+ label: Kr,
139
+ icon: mr,
149
140
  disabled: !w,
150
- onClick: a
141
+ onClick: s
151
142
  },
152
143
  {
153
144
  id: "node-card-reset",
154
- label: Pt,
155
- icon: ft,
156
- disabled: !D,
157
- onClick: a
158
- },
159
- {
160
- id: "node-card-mark-as-done",
161
- label: Ht,
162
- icon: dt,
145
+ label: jr,
146
+ icon: pr,
163
147
  disabled: !V,
164
- onClick: a
148
+ onClick: s
165
149
  },
166
150
  {
167
- id: `node-card-${b ? "unlock" : "lock"}`,
168
- label: b ? Ft : qt,
169
- icon: b ? _t : ht,
170
- disabled: !et,
171
- onClick: a
151
+ id: "node-card-mark-as-done",
152
+ label: Gr,
153
+ icon: lr,
154
+ disabled: !R,
155
+ onClick: s
172
156
  },
173
157
  {
174
- id: `node-card-${y ? "skip" : "revert-skip"}`,
175
- label: y ? "Skip" : "Revert 'Skip'",
176
- icon: Ct,
177
- disabled: !L && !y,
178
- onClick: a
158
+ id: `node-card-${$ ? "unlock" : "lock"}`,
159
+ label: $ ? Hr : Xr,
160
+ icon: $ ? hr : dr,
161
+ disabled: !rr,
162
+ onClick: s
179
163
  },
180
164
  {
181
- id: "node-card-activity-link",
182
- label: "Activity Link",
183
- icon: ut,
184
- disabled: !R,
185
- onClick: a
165
+ id: `node-card-${O ? "skip" : "revert-skip"}`,
166
+ label: O ? "Skip" : "Revert 'Skip'",
167
+ icon: ur,
168
+ disabled: !L && !O,
169
+ onClick: s
186
170
  }
187
171
  ];
188
- return /* @__PURE__ */ l(G, { $position: "relative", children: [
189
- /* @__PURE__ */ e(
190
- Tt,
172
+ return /* @__PURE__ */ l(A, { $position: "relative", children: [
173
+ /* @__PURE__ */ t(
174
+ gr,
191
175
  {
192
- $background: `${H}_2`,
193
- $disabled: n,
194
- onClick: at,
176
+ $background: `${X}_2`,
177
+ $disabled: i,
178
+ onClick: nr,
195
179
  $opacity: q ? 0.5 : 1,
196
180
  children: /* @__PURE__ */ l(
197
- $t,
181
+ fr,
198
182
  {
199
183
  renderAs: "primary",
200
- tooltipItem: W,
184
+ tooltipItem: M,
201
185
  position: "bottom",
202
186
  zIndex: 5,
203
- hidden: s || !W,
187
+ hidden: a || !M,
204
188
  parentWidth: "100%",
205
189
  widthX: 11.25,
206
190
  children: [
207
191
  /* @__PURE__ */ l(
208
- Ot,
192
+ Lr,
209
193
  {
210
194
  $flexDirection: "row",
211
195
  $alignItems: "center",
212
196
  $width: "100%",
213
197
  $heightX: 3.5,
214
- $bgImage: ct,
198
+ $bgImage: er,
215
199
  $gutterX: 0.78125,
216
200
  $flexGap: 8.5,
217
- $opacity: n ? 0.5 : 1,
218
- onMouseEnter: it,
219
- onMouseLeave: nt,
201
+ $opacity: i ? 0.5 : 1,
202
+ onMouseEnter: tr,
203
+ onMouseLeave: cr,
220
204
  children: [
221
205
  /* @__PURE__ */ l(
222
- xt,
206
+ Or,
223
207
  {
224
208
  $width: 31,
225
209
  $height: 31,
@@ -228,41 +212,39 @@ const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt,
228
212
  $alignItems: "center",
229
213
  $justifyContent: "center",
230
214
  children: [
231
- /* @__PURE__ */ e(
232
- bt,
215
+ /* @__PURE__ */ t(
216
+ _r,
233
217
  {
234
- src: U,
218
+ src: Z,
235
219
  ref: g,
236
- settings: vt,
237
- width: 31,
238
- height: 31
220
+ settings: Br
239
221
  }
240
222
  ),
241
- !Q && /* @__PURE__ */ e(St, {})
223
+ !J && /* @__PURE__ */ t(Tr, {})
242
224
  ]
243
225
  }
244
226
  ),
245
227
  /* @__PURE__ */ l(
246
- kt,
228
+ $r,
247
229
  {
248
230
  $renderAs: "ac4-black",
249
231
  $color: "BLACK",
250
- $opacity: n ? 0.5 : 1,
232
+ $opacity: i ? 0.5 : 1,
251
233
  $textDecoration: L ? "line-through" : "none",
252
234
  children: [
253
- Y,
235
+ z,
254
236
  " ",
255
- rt && "• CW"
237
+ N && "• CW"
256
238
  ]
257
239
  }
258
240
  ),
259
- /* @__PURE__ */ e(G, { className: "context-menu", children: A && /* @__PURE__ */ e(X, { ref: E, onClick: K, children: /* @__PURE__ */ e(v, { 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 }) }) })
260
242
  ]
261
243
  }
262
244
  ),
263
- /* @__PURE__ */ e(At, { nodeType: o, state: d, accuracy: F }),
264
- !A && /* @__PURE__ */ l(
265
- Mt,
245
+ /* @__PURE__ */ t(Wr, { nodeType: E, state: k, accuracy: F }),
246
+ !B && /* @__PURE__ */ l(
247
+ yr,
266
248
  {
267
249
  $flexDirection: "row",
268
250
  $alignItems: "center",
@@ -271,16 +253,16 @@ const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt,
271
253
  $heightX: 4,
272
254
  $justifyContent: "space-between",
273
255
  children: [
274
- /* @__PURE__ */ e(
275
- Wt,
256
+ /* @__PURE__ */ t(
257
+ xr,
276
258
  {
277
259
  $renderAs: "ab3",
278
260
  $color: "BLACK_1",
279
- $opacity: n ? 0.5 : 1,
280
- children: J
261
+ $opacity: i ? 0.5 : 1,
262
+ children: Y
281
263
  }
282
264
  ),
283
- /* @__PURE__ */ e(X, { ref: E, onClick: K, children: /* @__PURE__ */ e(v, { width: 18, height: 18 }) })
265
+ /* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) })
284
266
  ]
285
267
  }
286
268
  )
@@ -289,11 +271,11 @@ const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt,
289
271
  )
290
272
  }
291
273
  ),
292
- /* @__PURE__ */ e(Bt, { $visible: s, children: /* @__PURE__ */ e(Kt, { options: st }) })
274
+ /* @__PURE__ */ t(Sr, { $visible: a, children: /* @__PURE__ */ t(Mr, { options: ir }) })
293
275
  ] });
294
276
  }
295
277
  );
296
278
  export {
297
- pr as default
279
+ le as default
298
280
  };
299
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, 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 LinkIcon from '../../../../../assets/line-icons/icons/link';\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) as React.RefObject<HTMLDivElement>;\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 is_turing: isTuring,\n learnosity_activity_ref: learnosityReference,\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 case 'node-card-activity-link':\n if (nodeType !== 'TURING_BASIC' && state === 'COMPLETED') {\n onNodeReview?.(nodeData);\n } else {\n window.open(learnosityReference);\n }\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n learnosityReference,\n nodeData,\n nodeType,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n state,\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 id: `node-card-activity-link`,\n label: 'Activity Link',\n icon: LinkIcon,\n disabled: !isTuring,\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 $opacity={sheetLocked ? 0.5 : 1}\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 >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n width={31}\n height={31}\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","isTuring","learnosityReference","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","e","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","LinkIcon","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) as React.RefObject<HTMLDivElement>;\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 $opacity={sheetLocked ? 0.5 : 1}\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 >\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,30 +3,26 @@ const _ = (E) => {
3
3
  if (!E) return 0;
4
4
  const { mandatory: r } = E, { completed: c, total: t } = r;
5
5
  return t === 0 ? 0 : Math.floor(c / t * 100);
6
- }, n = (E) => {
6
+ }, s = (E) => {
7
7
  switch (E) {
8
8
  case "LEVEL2":
9
9
  case "LEVEL3":
10
- case "HIDDEN_BASIC":
11
10
  return e.NODE_TEST_PREP_BG;
12
11
  case "LEARNING":
13
12
  return e.NODE_LEARN_BG;
14
13
  case "RECAP":
15
14
  case "REMEDIAL":
16
15
  case "REVISION":
17
- case "PPT_BASIC":
18
16
  return e.NODE_RECAP_BG;
19
17
  case "DYNAMIC":
20
18
  case "ASSESSMENT":
21
19
  case "CHAPTER_ASSESSMENT":
22
20
  case "DIAGNOSTIC":
23
- case "TURING_ASSESSMENT":
24
21
  return e.NODE_CUSTOM_TEST_BG;
25
22
  case "PRACTICE":
26
23
  case "EXTRA_PRACTICE":
27
24
  case "TARGET_PRACTICE":
28
25
  case "MASTERY":
29
- case "TURING_PRACTICE":
30
26
  return e.NODE_PRACTICE_BG;
31
27
  case "PUZZLE":
32
28
  case "PUZZLE_EASY":
@@ -36,7 +32,7 @@ const _ = (E) => {
36
32
  case "VIDEO":
37
33
  return e.NODE_VIDEO_BG;
38
34
  default:
39
- return e.NODE_PROJECT_BG;
35
+ return e.NODE_CUSTOM_TEST_BG;
40
36
  }
41
37
  }, T = (E, r, c, t) => {
42
38
  if (!c) return `(${r})`;
@@ -45,7 +41,7 @@ const _ = (E) => {
45
41
  };
46
42
  export {
47
43
  _ as getChapterCompletionPercentage,
48
- n as getNodeTypeBasedBgImage,
44
+ s as getNodeTypeBasedBgImage,
49
45
  T as getSheetNLessonCount
50
46
  };
51
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n default:\n return ILLUSTRATIONS.NODE_PROJECT_BG;\n }\n};\n\nconst getSheetNLessonCount = (\n isSkipped: boolean,\n sheetsLength: number,\n isGoalBlock?: boolean,\n lessonIdx?: number,\n) => {\n if (!isGoalBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAEMC,IAAuB,CAC3BC,GACAC,GACAC,GACAC,MACG;AACH,MAAI,CAACD,EAAoB,QAAA,IAAID,CAAY;AAErC,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n default:\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n }\n};\n\nconst getSheetNLessonCount = (\n isSkipped: boolean,\n sheetsLength: number,\n isGoalBlock?: boolean,\n lessonIdx?: number,\n) => {\n if (!isGoalBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAEMC,IAAuB,CAC3BC,GACAC,GACAC,GACAC,MACG;AACH,MAAI,CAACD,EAAoB,QAAA,IAAID,CAAY;AAErC,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB;"}
@@ -1,25 +1,25 @@
1
1
  import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
2
  import p from "../../../assets/line-icons/icons/check2.js";
3
- import A from "../../../assets/line-icons/icons/exclamation.js";
4
- import f from "../../../assets/line-icons/icons/lock2.js";
5
- import R from "../../../assets/line-icons/icons/status.js";
3
+ import f from "../../../assets/line-icons/icons/exclamation.js";
4
+ import u from "../../../assets/line-icons/icons/lock2.js";
5
+ import A from "../../../assets/line-icons/icons/status.js";
6
6
  import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
7
- import u from "../../ui/layout/flex-view.js";
8
- import E from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
- import d from "../../ui/text/text.js";
7
+ import R from "../../ui/layout/flex-view.js";
8
+ import d from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
+ import E from "../../ui/text/text.js";
10
10
  import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
11
11
  import T from "../comps/tag/tag.js";
12
- const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
12
+ const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
13
13
  if (!r || i)
14
14
  return { isOverdue: !1, daysText: "", differenceInDays: 0 };
15
15
  const c = Math.floor(Date.now() / 1e3), s = r - c, o = Math.ceil(s / h), a = o < 0, n = o > 0 ? `${Math.abs(o)}D` : "";
16
16
  return { isOverdue: a, daysText: n, differenceInDays: o };
17
- }, M = (r, i, c, s, o) => {
17
+ }, w = (r, i, c, s, o) => {
18
18
  const { isOverdue: a, daysText: n, differenceInDays: I } = C(s, o);
19
- if (!o && a && S.includes(r))
19
+ if (!o && a && $.includes(r))
20
20
  return {
21
21
  icon: /* @__PURE__ */ e(
22
- E,
22
+ d,
23
23
  {
24
24
  renderAs: "primary",
25
25
  position: "bottom",
@@ -27,7 +27,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
27
27
  zIndex: 10,
28
28
  hidden: !i,
29
29
  parentWidth: "fit-content",
30
- children: /* @__PURE__ */ e(u, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(d, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
30
+ children: /* @__PURE__ */ e(R, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
31
31
  }
32
32
  ),
33
33
  top: -10,
@@ -37,7 +37,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
37
37
  case "NOT_STARTED":
38
38
  return {
39
39
  icon: /* @__PURE__ */ e(
40
- E,
40
+ d,
41
41
  {
42
42
  renderAs: "primary",
43
43
  position: "bottom",
@@ -53,7 +53,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
53
53
  $borderRadius: 16,
54
54
  $paddingRight: 6,
55
55
  $paddingLeft: 6,
56
- children: n && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: n })
56
+ children: n && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: n })
57
57
  }
58
58
  )
59
59
  }
@@ -63,7 +63,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
63
63
  };
64
64
  case "LOCKED":
65
65
  return {
66
- icon: /* @__PURE__ */ e(f, { width: 32, height: 32 }),
66
+ icon: /* @__PURE__ */ e(u, { width: 32, height: 32 }),
67
67
  top: -12,
68
68
  right: -12
69
69
  };
@@ -79,8 +79,8 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
79
79
  $paddingRight: 0,
80
80
  $paddingLeft: n ? 6 : 0,
81
81
  children: [
82
- n && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: n }),
83
- /* @__PURE__ */ e(R, {})
82
+ n && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: n }),
83
+ /* @__PURE__ */ e(A, {})
84
84
  ]
85
85
  }
86
86
  )
@@ -100,13 +100,13 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
100
100
  case "WAIT_FOR_REVIEW":
101
101
  return {
102
102
  icon: /* @__PURE__ */ e(
103
- E,
103
+ d,
104
104
  {
105
105
  renderAs: "primary",
106
106
  position: "bottom",
107
107
  tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
108
108
  zIndex: 10,
109
- children: /* @__PURE__ */ e(T, { Icon: A })
109
+ children: /* @__PURE__ */ e(T, { Icon: f })
110
110
  }
111
111
  ),
112
112
  top: -10,
@@ -117,11 +117,10 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
117
117
  icon: void 0
118
118
  };
119
119
  }
120
- }, w = (r) => {
120
+ }, M = (r) => {
121
121
  switch (r) {
122
122
  case "LEVEL2":
123
123
  case "LEVEL3":
124
- case "HIDDEN_BASIC":
125
124
  return {
126
125
  lottie: t.COMPETITIVE_ARENA
127
126
  };
@@ -132,7 +131,6 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
132
131
  case "RECAP":
133
132
  case "REMEDIAL":
134
133
  case "REVISION":
135
- case "PPT_BASIC":
136
134
  return {
137
135
  lottie: t.RECAP
138
136
  };
@@ -140,7 +138,6 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
140
138
  case "ASSESSMENT":
141
139
  case "CHAPTER_ASSESSMENT":
142
140
  case "DIAGNOSTIC":
143
- case "TURING_ASSESSMENT":
144
141
  return {
145
142
  lottie: t.TEST
146
143
  };
@@ -148,7 +145,6 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
148
145
  case "EXTRA_PRACTICE":
149
146
  case "TARGET_PRACTICE":
150
147
  case "MASTERY":
151
- case "TURING_PRACTICE":
152
148
  return {
153
149
  lottie: t.PRACTICE
154
150
  };
@@ -170,7 +166,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
170
166
  }
171
167
  };
172
168
  export {
173
- w as getNodeCardBasedIcon,
174
- M as getNodeStateBasedTagInfo
169
+ M as getNodeCardBasedIcon,
170
+ w as getNodeStateBasedTagInfo
175
171
  };
176
172
  //# sourceMappingURL=node-card-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
1
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
@@ -47,10 +47,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
47
47
  worksheet_id: "c4e1035a-d3e5-11eb-8971-6296551a51ec",
48
48
  complete_status: !1,
49
49
  id: "",
50
- user_chapter_id: null,
51
- is_turing: !1,
52
- student_instructions_ref: null,
53
- instructions_ref: null
50
+ user_chapter_id: null
54
51
  },
55
52
  {
56
53
  accuracy: null,
@@ -99,10 +96,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
99
96
  complete_status: !1,
100
97
  id: "",
101
98
  user_attempt_id: null,
102
- user_chapter_id: null,
103
- is_turing: !1,
104
- student_instructions_ref: null,
105
- instructions_ref: null
99
+ user_chapter_id: null
106
100
  },
107
101
  {
108
102
  accuracy: null,
@@ -151,10 +145,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
151
145
  worksheet_id: "8b9bc1d6-0d7b-11ed-bf5b-4eea17b71ce5",
152
146
  complete_status: !1,
153
147
  id: "",
154
- user_chapter_id: null,
155
- is_turing: !1,
156
- student_instructions_ref: null,
157
- instructions_ref: null
148
+ user_chapter_id: null
158
149
  },
159
150
  {
160
151
  accuracy: null,
@@ -203,10 +194,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
203
194
  complete_status: !1,
204
195
  id: "",
205
196
  learnosity_activity_ref: "",
206
- user_chapter_id: null,
207
- is_turing: !1,
208
- student_instructions_ref: null,
209
- instructions_ref: null
197
+ user_chapter_id: null
210
198
  }
211
199
  ],
212
200
  queued_homeworks: []
@@ -1 +1 @@
1
- {"version":3,"file":"home-page-homeworks-mock.js","sources":["../../../../../src/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.ts"],"sourcesContent":["import type { IHomeworkDetails } from '../../../homework/hw-card-list/api/get-homeworks';\n\nconst now = Math.floor(Date.now() / 1000); // current epoch in seconds\nconst fiveDaysLater = now + 5 * 24 * 60 * 60;\n\nconst HOMEWORK_DETAILS: IHomeworkDetails = {\n assigned_homeworks: [\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '23a4e676-7094-11ed-87bc-6ec30f5d70bb',\n\n card_header: 'PUZZLE',\n\n chapter_id: '8b0d5af7-3d47-4888-acef-920069c6ae13',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748241531,\n\n homework_id: 'ede761ea-347b-11f0-b9d2-5e3c498fca42',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Default.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: true,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'CR_G4L1 Sum of Three Cubes',\n\n marked_as_completed: false,\n\n node_id: '1de6ac4a-8e41-4446-9a07-a93d5713a2ff',\n\n node_type: 'PUZZLE_EASY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 2400,\n\n state: 'NOT_STARTED',\n subtext: 'Puzzle Cards',\n\n title: 'Sum of Three Cubes',\n total_questions: 0,\n unlocked_on_ts: 1747636731,\n user_attempt_id: null,\n\n user_node_id: '147520a0-2f62-11f0-876b-da0546594b04',\n worksheet_id: 'c4e1035a-d3e5-11eb-8971-6296551a51ec',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '',\n\n card_header: 'SMART PRACTICE',\n\n chapter_id: null,\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: fiveDaysLater,\n\n homework_id: 'b5e1bf00-3586-11f0-a22a-9207bc065284',\n image_hue: 'PURPLE',\n image_url: null,\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'mastery-6f8b199b-9c54-40dc-833e-69db342fec26',\n\n marked_as_completed: false,\n\n node_id: '307b7775-98fd-4831-bd2f-e87403db7da7',\n\n node_type: 'MASTERY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'IN_PROGRESS',\n subtext: '10 Questions',\n\n title:\n 'Identify Types of Polygons \\u2022 Understand Decimal Numbers \\u2022 Convert Improper Fractions to Decimals',\n total_questions: 10,\n unlocked_on_ts: 1747751086,\n\n user_node_id: '2e715efe-3586-11f0-be8b-526b31ab17cd',\n worksheet_id: 'b70c4195-2727-415e-b3a0-f9c0672103dc',\n complete_status: false,\n id: '',\n user_attempt_id: null,\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '6c30d4f0-4bb0-4fc2-9dac-f7016f1bd589',\n\n card_header: 'LEARN',\n\n chapter_id: '8ac6c4a0-931c-4bd3-80f4-30b1c13cb8f4',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1747765021,\n\n homework_id: '3e05a164-35a3-11f0-b52f-9207bc065284',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Measurement_G4.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'G4-Length-Weight-Capacity-W01.vxp',\n\n marked_as_completed: false,\n\n node_id: 'ee7b2e69-fd74-4311-a378-8bb4e45449a6',\n\n node_type: 'LEARNING',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: true,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'NOT_STARTED',\n subtext: 'Measurement',\n\n title: 'Solve Problems on Conversion of Units of Length',\n total_questions: 34,\n unlocked_on_ts: 1747160221,\n user_attempt_id: null,\n\n user_node_id: '76f860b0-3026-11f0-8945-925795afcf7c',\n worksheet_id: '8b9bc1d6-0d7b-11ed-bf5b-4eea17b71ce5',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n block_id: '',\n card_header: 'TEST',\n chapter_id: null,\n course_type: 'EXAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748368416.713071,\n homework_id: '5ac50966-35a3-11f0-b52f-9207bc065284',\n image_hue: 'YELLOW',\n image_url: null,\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: true,\n is_worksheet_v3: null,\n marked_as_completed: false,\n node_id: 'bbcb2c1a-3289-11ed-b746-6237f2d293d9',\n node_type: 'DYNAMIC',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n sheet_statement: 'Yet to start',\n sheet_time: 2700,\n state: 'NOT_STARTED',\n subtext: '17 Questions, 45 Mins',\n title:\n 'Factors, Multiples, and Primes \\u2022 Time \\u2022 An Introduction to Decimal Numbers \\u2022 Fractions',\n total_questions: 17,\n unlocked_on_ts: 1747763616.713071,\n user_attempt_id: null,\n\n user_node_id: '5ac2b404-35a3-11f0-b52f-9207bc065284',\n worksheet_id: 'bbbfd900-3289-11ed-b746-6237f2d293d9',\n complete_status: false,\n id: '',\n learnosity_activity_ref: '',\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n ],\n queued_homeworks: [],\n};\n\nexport { HOMEWORK_DETAILS };\n"],"names":["now","fiveDaysLater","HOMEWORK_DETAILS"],"mappings":"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"}
1
+ {"version":3,"file":"home-page-homeworks-mock.js","sources":["../../../../../src/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.ts"],"sourcesContent":["import type { IHomeworkDetails } from '../../../homework/hw-card-list/api/get-homeworks';\n\nconst now = Math.floor(Date.now() / 1000); // current epoch in seconds\nconst fiveDaysLater = now + 5 * 24 * 60 * 60;\n\nconst HOMEWORK_DETAILS: IHomeworkDetails = {\n assigned_homeworks: [\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '23a4e676-7094-11ed-87bc-6ec30f5d70bb',\n\n card_header: 'PUZZLE',\n\n chapter_id: '8b0d5af7-3d47-4888-acef-920069c6ae13',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748241531,\n\n homework_id: 'ede761ea-347b-11f0-b9d2-5e3c498fca42',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Default.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: true,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'CR_G4L1 Sum of Three Cubes',\n\n marked_as_completed: false,\n\n node_id: '1de6ac4a-8e41-4446-9a07-a93d5713a2ff',\n\n node_type: 'PUZZLE_EASY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 2400,\n\n state: 'NOT_STARTED',\n subtext: 'Puzzle Cards',\n\n title: 'Sum of Three Cubes',\n total_questions: 0,\n unlocked_on_ts: 1747636731,\n user_attempt_id: null,\n\n user_node_id: '147520a0-2f62-11f0-876b-da0546594b04',\n worksheet_id: 'c4e1035a-d3e5-11eb-8971-6296551a51ec',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '',\n\n card_header: 'SMART PRACTICE',\n\n chapter_id: null,\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: fiveDaysLater,\n\n homework_id: 'b5e1bf00-3586-11f0-a22a-9207bc065284',\n image_hue: 'PURPLE',\n image_url: null,\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'mastery-6f8b199b-9c54-40dc-833e-69db342fec26',\n\n marked_as_completed: false,\n\n node_id: '307b7775-98fd-4831-bd2f-e87403db7da7',\n\n node_type: 'MASTERY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'IN_PROGRESS',\n subtext: '10 Questions',\n\n title:\n 'Identify Types of Polygons \\u2022 Understand Decimal Numbers \\u2022 Convert Improper Fractions to Decimals',\n total_questions: 10,\n unlocked_on_ts: 1747751086,\n\n user_node_id: '2e715efe-3586-11f0-be8b-526b31ab17cd',\n worksheet_id: 'b70c4195-2727-415e-b3a0-f9c0672103dc',\n complete_status: false,\n id: '',\n user_attempt_id: null,\n user_chapter_id: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '6c30d4f0-4bb0-4fc2-9dac-f7016f1bd589',\n\n card_header: 'LEARN',\n\n chapter_id: '8ac6c4a0-931c-4bd3-80f4-30b1c13cb8f4',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1747765021,\n\n homework_id: '3e05a164-35a3-11f0-b52f-9207bc065284',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Measurement_G4.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'G4-Length-Weight-Capacity-W01.vxp',\n\n marked_as_completed: false,\n\n node_id: 'ee7b2e69-fd74-4311-a378-8bb4e45449a6',\n\n node_type: 'LEARNING',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: true,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'NOT_STARTED',\n subtext: 'Measurement',\n\n title: 'Solve Problems on Conversion of Units of Length',\n total_questions: 34,\n unlocked_on_ts: 1747160221,\n user_attempt_id: null,\n\n user_node_id: '76f860b0-3026-11f0-8945-925795afcf7c',\n worksheet_id: '8b9bc1d6-0d7b-11ed-bf5b-4eea17b71ce5',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n block_id: '',\n card_header: 'TEST',\n chapter_id: null,\n course_type: 'EXAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748368416.713071,\n homework_id: '5ac50966-35a3-11f0-b52f-9207bc065284',\n image_hue: 'YELLOW',\n image_url: null,\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: true,\n is_worksheet_v3: null,\n marked_as_completed: false,\n node_id: 'bbcb2c1a-3289-11ed-b746-6237f2d293d9',\n node_type: 'DYNAMIC',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n sheet_statement: 'Yet to start',\n sheet_time: 2700,\n state: 'NOT_STARTED',\n subtext: '17 Questions, 45 Mins',\n title:\n 'Factors, Multiples, and Primes \\u2022 Time \\u2022 An Introduction to Decimal Numbers \\u2022 Fractions',\n total_questions: 17,\n unlocked_on_ts: 1747763616.713071,\n user_attempt_id: null,\n\n user_node_id: '5ac2b404-35a3-11f0-b52f-9207bc065284',\n worksheet_id: 'bbbfd900-3289-11ed-b746-6237f2d293d9',\n complete_status: false,\n id: '',\n learnosity_activity_ref: '',\n user_chapter_id: null,\n },\n ],\n queued_homeworks: [],\n};\n\nexport { HOMEWORK_DETAILS };\n"],"names":["now","fiveDaysLater","HOMEWORK_DETAILS"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2518,9 +2518,6 @@ export declare interface INodeDataProps {
2518
2518
  user_milestone_id?: string;
2519
2519
  user_node_id: string | null;
2520
2520
  worksheet_id: string;
2521
- is_turing: boolean;
2522
- student_instructions_ref: string | null;
2523
- instructions_ref: string | null;
2524
2521
  }
2525
2522
 
2526
2523
  declare interface INodePermissions {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.1.38-beta-hb-5",
3
+ "version": "3.1.38",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,25 +0,0 @@
1
- import { jsx as L } from "react/jsx-runtime";
2
- const o = (e) => /* @__PURE__ */ L(
3
- "svg",
4
- {
5
- xmlns: "http://www.w3.org/2000/svg",
6
- width: "24",
7
- height: "24",
8
- viewBox: "0 0 24 24",
9
- fill: "none",
10
- ...e,
11
- children: /* @__PURE__ */ L(
12
- "path",
13
- {
14
- "fill-rule": "evenodd",
15
- "clip-rule": "evenodd",
16
- d: "M7.42419 12.4243C6.27778 13.5707 6.27778 15.4294 7.42419 16.5758C8.57061 17.7222 10.4293 17.7222 11.5757 16.5758L13.3615 14.7901L14.21 15.6386L12.4243 17.4243C10.8092 19.0394 8.19071 19.0394 6.57566 17.4243C4.96062 15.8093 4.96062 13.1908 6.57567 11.5757L8.3614 9.78999L9.20993 10.6385L7.42419 12.4243ZM12.4243 7.42419L10.6385 9.20993L9.78999 8.3614L11.5757 6.57566C13.1908 4.96062 15.8093 4.96062 17.4243 6.57566C19.0394 8.19071 19.0394 10.8092 17.4243 12.4243L15.6386 14.21L14.7901 13.3615L16.5758 11.5757C17.7222 10.4293 17.7222 8.57061 16.5758 7.42419C15.4294 6.27778 13.5707 6.27778 12.4243 7.42419ZM9.56708 15.2814L8.71855 14.4329L14.4329 8.71855L15.2814 9.56708L9.56708 15.2814Z",
17
- fill: "currentColor"
18
- }
19
- )
20
- }
21
- );
22
- export {
23
- o as default
24
- };
25
- //# sourceMappingURL=link.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.js","sources":["../../../../src/assets/line-icons/icons/link.tsx"],"sourcesContent":["const LinkIcon: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n {...props}\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.42419 12.4243C6.27778 13.5707 6.27778 15.4294 7.42419 16.5758C8.57061 17.7222 10.4293 17.7222 11.5757 16.5758L13.3615 14.7901L14.21 15.6386L12.4243 17.4243C10.8092 19.0394 8.19071 19.0394 6.57566 17.4243C4.96062 15.8093 4.96062 13.1908 6.57567 11.5757L8.3614 9.78999L9.20993 10.6385L7.42419 12.4243ZM12.4243 7.42419L10.6385 9.20993L9.78999 8.3614L11.5757 6.57566C13.1908 4.96062 15.8093 4.96062 17.4243 6.57566C19.0394 8.19071 19.0394 10.8092 17.4243 12.4243L15.6386 14.21L14.7901 13.3615L16.5758 11.5757C17.7222 10.4293 17.7222 8.57061 16.5758 7.42419C15.4294 6.27778 13.5707 6.27778 12.4243 7.42419ZM9.56708 15.2814L8.71855 14.4329L14.4329 8.71855L15.2814 9.56708L9.56708 15.2814Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default LinkIcon;\n"],"names":["LinkIcon","props","jsx"],"mappings":";AAAA,MAAMA,IAAoD,CACxDC,MAAA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACJ,GAAGD;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,aAAU;AAAA,QACV,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AACF;"}