@cuemath/leap 3.0.23 → 3.0.26-gs1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +24 -22
  2. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  3. package/dist/features/chapters-v2/chapter-details/chapter-details.js +47 -45
  4. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  5. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +11 -11
  6. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  7. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +140 -115
  8. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  9. package/dist/features/chapters-v2/utils/node-card-utils.js +46 -46
  10. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  11. package/dist/features/homework/homework-card-view.js +40 -38
  12. package/dist/features/homework/homework-card-view.js.map +1 -1
  13. package/dist/features/homework/homework-card.js +53 -52
  14. package/dist/features/homework/homework-card.js.map +1 -1
  15. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +91 -86
  16. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  17. package/dist/features/trial-session/comps/school-goals/school-goals.js +57 -51
  18. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  19. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +64 -63
  20. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  21. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  22. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js +3 -3
  23. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
  24. package/dist/index.d.ts +4 -0
  25. package/package.json +1 -1
@@ -1,61 +1,65 @@
1
- import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
- import { memo as N, useRef as S, useCallback as m } from "react";
3
- import rr from "../../../../../assets/line-icons/icons/check2.js";
4
- import tr from "../../../../../assets/line-icons/icons/eye2.js";
5
- import er from "../../../../../assets/line-icons/icons/home2.js";
6
- import cr from "../../../../../assets/line-icons/icons/lock3.js";
7
- import T from "../../../../../assets/line-icons/icons/more-vertical.js";
8
- import ir from "../../../../../assets/line-icons/icons/redo.js";
9
- import nr from "../../../../../assets/line-icons/icons/unlock2.js";
10
- import ar from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
11
- import lr from "../../../../ui/hooks/use-context-menu-click-handler.js";
12
- import y from "../../../../ui/layout/flex-view.js";
13
- import sr from "../../../../ui/lottie-animation/lottie-animation.js";
14
- import or from "../../../../ui/text/text.js";
15
- import { BLOCK_TYPE as mr } from "../../../constants/block-constants.js";
16
- import { NODE_CARD_STATES as x, TEACHER_MENU_LABELS as pr } from "../../../constants/node-constants.js";
17
- import { getNodeTypeBasedBgImage as dr } from "../../../utils/index.js";
18
- import { getNodeCardBasedIcon as hr } from "../../../utils/node-card-utils.js";
19
- import { NodeCardContainer as ur, NodeCardInfoWrapper as fr, IconWrapper as Cr, StyledImportantIcon as $r, NodeKebabMenuWrapper as W, NodeCardContentWrapper as _r, NodeCardTitle as br, NodeMenuOptionsWrapper as Ir } from "../node-card-styled.js";
20
- import kr from "../node-card-tags.js";
21
- import Er from "../node-menu-options/node-menu-options.js";
22
- const gr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Lr, REVIEW: Or, VIEW: Sr, MARK_AS_DONE: Tr, RESET: yr, LOCK: xr, UNLOCK: Wr } = pr, Dr = N(
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(
23
24
  ({
24
25
  nodeData: r,
25
- imageHue: B,
26
- blockType: M,
27
- isSkipped: K,
26
+ imageHue: A,
27
+ blockType: G,
28
+ isSkipped: j,
28
29
  onNodeAssignAsHomework: p,
29
30
  onNodeMarkAsDone: d,
30
31
  onNodeView: c,
31
32
  onNodeReview: i,
32
33
  onNodeReattempt: h,
33
34
  onNodeUnlock: u,
34
- onNodeUnassign: f
35
+ onNodeUnassign: f,
36
+ onNodeSkipUnSkip: C
35
37
  }) => {
36
- const $ = S(null), { menuVisible: k, onMenuClick: E } = lr($), {
37
- accuracy: A,
38
- attempt_location: G,
39
- node_type: _,
40
- card_header: j,
41
- title: X,
42
- state: b,
43
- is_optional: H,
44
- sheet_statement: g,
45
- permissions: F,
46
- user_attempt_id: l
47
- } = r, { lottie: P } = hr(_), I = S(null), {
48
- can_mark_familiar: z,
49
- can_review: s,
50
- can_assign_as_homework: Y,
51
- can_reset: q,
52
- can_unlock: C,
53
- can_unassign: J
54
- } = F, L = M === mr.GOAL, n = b === x.LOCKED, Q = b === x.NOT_STARTED, Z = G === "INCLASS", v = (n || Q) && (C || J), R = dr(_), o = m(
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,
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
59
  (e) => {
56
60
  switch (e) {
57
61
  case "node-card-view":
58
- s && l ? i == null || i(r) : c == null || c(r);
62
+ o && s ? i == null || i(r) : c == null || c(r);
59
63
  return;
60
64
  case "node-card-assign-as-hw":
61
65
  p == null || p(r);
@@ -72,105 +76,117 @@ const gr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Lr, REVIEW: Or,
72
76
  case "node-card-lock":
73
77
  f == null || f(r);
74
78
  return;
79
+ case "node-card-skip":
80
+ case "node-card-revert-skip":
81
+ C == null || C(r);
82
+ return;
75
83
  default:
76
84
  throw new Error(`No callback function for ${e}`);
77
85
  }
78
86
  },
79
87
  [
80
- s,
88
+ o,
81
89
  r,
82
90
  p,
83
91
  d,
84
92
  h,
85
93
  i,
94
+ C,
86
95
  f,
87
96
  u,
88
97
  c,
89
- l
98
+ s
90
99
  ]
91
- ), U = m(() => {
100
+ ), D = m(() => {
92
101
  var e;
93
- n || (e = I.current) == null || e.play();
94
- }, [n]), w = m(() => {
102
+ a || (e = k.current) == null || e.play();
103
+ }, [a]), N = m(() => {
95
104
  var e;
96
- (e = I.current) == null || e.stop();
97
- }, []), V = m(() => {
98
- s && l ? i == null || i(r) : c == null || c(r);
99
- }, [s, r, i, c, l]), O = m(
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(
100
109
  (e) => {
101
- e.stopPropagation(), E();
110
+ e.stopPropagation(), O();
102
111
  },
103
- [E]
104
- ), D = [
112
+ [O]
113
+ ), tr = [
105
114
  {
106
115
  id: "node-card-view",
107
- label: s && l ? Or : Sr,
108
- icon: tr,
116
+ label: o && s ? Sr : Wr,
117
+ icon: ir,
109
118
  disabled: !1,
110
- onClick: o
119
+ onClick: n
111
120
  },
112
121
  {
113
122
  id: "node-card-assign-as-hw",
114
- label: Lr,
115
- icon: er,
116
- disabled: !Y,
117
- onClick: o
123
+ label: xr,
124
+ icon: ar,
125
+ disabled: !J,
126
+ onClick: n
118
127
  },
119
128
  {
120
129
  id: "node-card-reset",
121
- label: yr,
122
- icon: ir,
123
- disabled: !q,
124
- onClick: o
130
+ label: Mr,
131
+ icon: lr,
132
+ disabled: !Q,
133
+ onClick: n
125
134
  },
126
135
  {
127
136
  id: "node-card-mark-as-done",
128
- label: Tr,
129
- icon: rr,
130
- disabled: !z,
131
- onClick: o
137
+ label: Br,
138
+ icon: cr,
139
+ disabled: !q,
140
+ onClick: n
141
+ },
142
+ {
143
+ id: `node-card-${$ ? "unlock" : "lock"}`,
144
+ label: $ ? Ar : Kr,
145
+ icon: $ ? or : nr,
146
+ disabled: !V,
147
+ onClick: n
132
148
  },
133
149
  {
134
- id: `node-card-${C ? "unlock" : "lock"}`,
135
- label: C ? Wr : xr,
136
- icon: C ? nr : cr,
137
- disabled: !v,
138
- onClick: o
150
+ id: `node-card-${E ? "skip" : "revert-skip"}`,
151
+ label: E ? "Skip" : "Revert 'Skip'",
152
+ icon: sr,
153
+ disabled: !g && !E,
154
+ onClick: n
139
155
  }
140
156
  ];
141
- return /* @__PURE__ */ a(y, { $position: "relative", children: [
157
+ return /* @__PURE__ */ l(B, { $position: "relative", children: [
142
158
  /* @__PURE__ */ t(
143
- ur,
159
+ _r,
144
160
  {
145
- $background: `${B}_2`,
146
- $disabled: !!(K || n),
147
- onClick: V,
148
- children: /* @__PURE__ */ a(
149
- ar,
161
+ $background: `${A}_2`,
162
+ $disabled: !!(j || a),
163
+ onClick: rr,
164
+ children: /* @__PURE__ */ l(
165
+ mr,
150
166
  {
151
167
  renderAs: "primary",
152
- tooltipItem: g,
168
+ tooltipItem: T,
153
169
  position: "bottom",
154
170
  zIndex: 5,
155
- hidden: k || !g,
171
+ hidden: L || !T,
156
172
  parentWidth: "100%",
157
173
  widthX: 11.25,
158
174
  children: [
159
- /* @__PURE__ */ a(
160
- fr,
175
+ /* @__PURE__ */ l(
176
+ br,
161
177
  {
162
178
  $flexDirection: "row",
163
179
  $alignItems: "center",
164
180
  $width: "100%",
165
181
  $heightX: 3.5,
166
- $bgImage: R,
182
+ $bgImage: U,
167
183
  $gutterX: 0.78125,
168
184
  $flexGap: 8.5,
169
- onMouseEnter: U,
170
- onMouseLeave: w,
185
+ onMouseEnter: D,
186
+ onMouseLeave: N,
171
187
  children: [
172
- /* @__PURE__ */ a(
173
- Cr,
188
+ /* @__PURE__ */ l(
189
+ Ir,
174
190
  {
175
191
  $width: 31,
176
192
  $height: 31,
@@ -178,32 +194,41 @@ const gr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Lr, REVIEW: Or,
178
194
  $position: "relative",
179
195
  $alignItems: "center",
180
196
  $justifyContent: "center",
181
- $opacity: n ? 0.5 : 1,
197
+ $opacity: a ? 0.5 : 1,
182
198
  children: [
183
199
  /* @__PURE__ */ t(
184
- sr,
200
+ dr,
185
201
  {
186
- src: P,
187
- ref: I,
188
- settings: gr
202
+ src: Y,
203
+ ref: k,
204
+ settings: yr
189
205
  }
190
206
  ),
191
- !H && /* @__PURE__ */ t($r, {})
207
+ !P && /* @__PURE__ */ t(kr, {})
208
+ ]
209
+ }
210
+ ),
211
+ /* @__PURE__ */ l(
212
+ hr,
213
+ {
214
+ $renderAs: "ac4-black",
215
+ $color: "BLACK",
216
+ $opacity: a ? 0.5 : 1,
217
+ $textDecoration: g ? "line-through" : "none",
218
+ children: [
219
+ v,
220
+ " ",
221
+ w && "• CW"
192
222
  ]
193
223
  }
194
224
  ),
195
- /* @__PURE__ */ a(or, { $renderAs: "ac4-black", $color: "BLACK", $opacity: n ? 0.5 : 1, children: [
196
- j,
197
- " ",
198
- Z && "• CW"
199
- ] }),
200
- /* @__PURE__ */ t(y, { className: "context-menu", children: L && /* @__PURE__ */ t(W, { ref: $, onClick: O, children: /* @__PURE__ */ t(T, { width: 18, height: 18 }) }) })
225
+ /* @__PURE__ */ t(B, { className: "context-menu", children: y && /* @__PURE__ */ t(K, { ref: _, onClick: x, children: /* @__PURE__ */ t(W, { width: 18, height: 18 }) }) })
201
226
  ]
202
227
  }
203
228
  ),
204
- /* @__PURE__ */ t(kr, { nodeType: _, state: b, accuracy: A }),
205
- !L && /* @__PURE__ */ a(
206
- _r,
229
+ /* @__PURE__ */ t(Or, { nodeType: b, state: I, accuracy: X }),
230
+ !y && /* @__PURE__ */ l(
231
+ gr,
207
232
  {
208
233
  $flexDirection: "row",
209
234
  $alignItems: "center",
@@ -213,15 +238,15 @@ const gr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Lr, REVIEW: Or,
213
238
  $justifyContent: "space-between",
214
239
  children: [
215
240
  /* @__PURE__ */ t(
216
- br,
241
+ Er,
217
242
  {
218
243
  $renderAs: "ab3",
219
244
  $color: "BLACK_1",
220
- $opacity: n ? 0.5 : 1,
221
- children: X
245
+ $opacity: a ? 0.5 : 1,
246
+ children: F
222
247
  }
223
248
  ),
224
- /* @__PURE__ */ t(W, { ref: $, onClick: O, children: /* @__PURE__ */ t(T, { width: 18, height: 18 }) })
249
+ /* @__PURE__ */ t(K, { ref: _, onClick: x, children: /* @__PURE__ */ t(W, { width: 18, height: 18 }) })
225
250
  ]
226
251
  }
227
252
  )
@@ -230,11 +255,11 @@ const gr = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Lr, REVIEW: Or,
230
255
  )
231
256
  }
232
257
  ),
233
- /* @__PURE__ */ t(Ir, { $visible: k, children: /* @__PURE__ */ t(Er, { options: D }) })
258
+ /* @__PURE__ */ t(Lr, { $visible: L, children: /* @__PURE__ */ t(Tr, { options: tr }) })
234
259
  ] });
235
260
  }
236
261
  );
237
262
  export {
238
- Dr as default
263
+ ct as default
239
264
  };
240
265
  //# 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 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 }) => {\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 } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\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\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 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\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 $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\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","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","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","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, 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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"}