@cuemath/leap 3.5.71-j5 → 3.5.71-jj01

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 (44) hide show
  1. package/dist/features/homework/homework-card.js +159 -162
  2. package/dist/features/homework/homework-card.js.map +1 -1
  3. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +16 -19
  4. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  5. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +52 -54
  6. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  7. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +41 -42
  8. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  9. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +82 -68
  10. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  11. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +26 -23
  12. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  13. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +38 -32
  14. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  15. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-store.js +7 -0
  16. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-store.js.map +1 -0
  17. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js +33 -36
  18. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js.map +1 -1
  19. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +34 -28
  20. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  21. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +196 -162
  22. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  23. package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js +78 -125
  24. package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js.map +1 -1
  25. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-store.js +7 -0
  26. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-store.js.map +1 -0
  27. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js +16 -19
  28. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js.map +1 -1
  29. package/dist/features/milestone/milestone-tests/tests-creation/store/tests-creation-store.js +33 -50
  30. package/dist/features/milestone/milestone-tests/tests-creation/store/tests-creation-store.js.map +1 -1
  31. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +31 -28
  32. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  33. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +40 -37
  34. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  35. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -1
  36. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +77 -59
  37. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  38. package/dist/features/trial-session/comps/learning-plan/index.js +238 -185
  39. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  40. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  41. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +27 -27
  42. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  43. package/dist/index.d.ts +3 -0
  44. package/package.json +1 -1
@@ -1,100 +1,100 @@
1
- import { jsxs as I, jsx as i } from "react/jsx-runtime";
2
- import { memo as pr, useRef as Y, useCallback as k, useMemo as v } from "react";
3
- import q from "../../assets/line-icons/icons/eye2.js";
4
- import br from "../../assets/line-icons/icons/home2.js";
5
- import wr from "../../assets/line-icons/icons/more-vertical.js";
6
- import A from "../../assets/line-icons/icons/redo.js";
7
- import { ECardType as G } from "../chapters-v2/comps/node-card/node-card-types.js";
8
- import J from "../ui/arrow-tooltip/arrow-tooltip.js";
9
- import Cr from "../ui/buttons/clickable/clickable.js";
10
- import U from "../ui/hooks/use-context-menu-click-handler.js";
11
- import Er from "../ui/layout/flex-view.js";
12
- import Q from "./card-menu-options.js";
13
- import Mr from "./homework-card-view.js";
14
- import { EHWCardListEntityType as Tr } from "./hw-card-list/hw-card-list-types.js";
15
- import { CardContainer as _r, MenuWrapper as $r, CardKebabMenuWrapper as kr, BlurContainer as vr, BlurFlexView as Rr, StyledMinus2Icon as gr } from "./styles.js";
16
- import { getCardAnalyticProps as Sr } from "./utils.js";
17
- const yr = ({
1
+ import { jsxs as Y, jsx as t } from "react/jsx-runtime";
2
+ import { memo as pe, useRef as q, useCallback as $, useMemo as v } from "react";
3
+ import A from "../../assets/line-icons/icons/eye2.js";
4
+ import be from "../../assets/line-icons/icons/home2.js";
5
+ import we from "../../assets/line-icons/icons/more-vertical.js";
6
+ import G from "../../assets/line-icons/icons/redo.js";
7
+ import { ECardType as J } from "../chapters-v2/comps/node-card/node-card-types.js";
8
+ import U from "../ui/arrow-tooltip/arrow-tooltip.js";
9
+ import Ce from "../ui/buttons/clickable/clickable.js";
10
+ import Q from "../ui/hooks/use-context-menu-click-handler.js";
11
+ import Me from "../ui/layout/flex-view.js";
12
+ import D from "./card-menu-options.js";
13
+ import Ee from "./homework-card-view.js";
14
+ import { EHWCardListEntityType as ke } from "./hw-card-list/hw-card-list-types.js";
15
+ import { CardContainer as Te, MenuWrapper as _e, CardKebabMenuWrapper as $e, BlurContainer as ve, BlurFlexView as Fe, StyledMinus2Icon as Re } from "./styles.js";
16
+ import { getCardAnalyticProps as Se } from "./utils.js";
17
+ const Le = ({
18
18
  // callbacks
19
- nodeData: r,
20
- onNodeAttempt: R,
19
+ nodeData: e,
20
+ onNodeAttempt: F,
21
21
  onNodeReattempt: b,
22
22
  onNodeReview: u,
23
23
  onNodeUnassign: w,
24
- onNodeView: g,
24
+ onNodeView: R,
25
25
  onNodeAssignAsHomework: C,
26
26
  onCardClick: f,
27
27
  entityId: n,
28
- entityType: E,
29
- header: D,
28
+ entityType: M,
29
+ header: N,
30
30
  homeworkId: c,
31
- isInQueue: W,
32
- mathFitCardRef: N,
33
- renderAs: H,
34
- score: rr,
35
- shouldOpenOnRight: er,
31
+ isInQueue: V,
32
+ mathFitCardRef: ee,
33
+ renderAs: P,
34
+ score: re,
35
+ shouldOpenOnRight: te,
36
36
  state: h,
37
- totalQuestions: L,
38
- imageUrl: ir,
39
- studentId: x,
40
- subHeader: tr,
41
- userMilestoneId: nr,
42
- userType: P,
43
- puzzleHWCardRef: cr,
44
- disableMenuActions: X
37
+ totalQuestions: W,
38
+ imageUrl: ie,
39
+ studentId: H,
40
+ subHeader: ne,
41
+ userMilestoneId: ce,
42
+ userType: x,
43
+ puzzleHWCardRef: oe,
44
+ disableMenuActions: z
45
45
  }) => {
46
- const o = H === "homework", { node_type: m, permissions: or, user_node_id: d } = r, e = nr || "", S = m === "PUZZLE_CARD", t = E === Tr.MATHFIT_TEST, y = h === "LOCKED", O = Y(null), V = Y(null), { menuVisible: j, onMenuClick: sr } = U(O), { menuVisible: ar, onMenuClick: z } = U(V), {
47
- can_start: M,
48
- can_resume: T,
46
+ const o = P === "homework", { node_type: p, permissions: se, user_node_id: d } = e, r = ce || "", S = p === "PUZZLE_CARD", i = M === ke.MATHFIT_TEST, L = h === "LOCKED", g = q(null), y = q(null), { menuVisible: X, onMenuClick: ae } = Q(g), { menuVisible: le, onMenuClick: j } = Q(y), {
47
+ can_start: E,
48
+ can_resume: k,
49
49
  can_review: s,
50
- can_unassign: B,
51
- can_reset: _,
52
- can_assign_as_homework: K
53
- } = or, a = P === "STUDENT", $ = k(() => {
50
+ can_unassign: I,
51
+ can_reset: T,
52
+ can_assign_as_homework: B
53
+ } = se, a = x === "STUDENT", _ = $(() => {
54
54
  if (s) {
55
55
  if (typeof u != "function")
56
56
  throw new Error("onReview must be a function");
57
57
  if (!d)
58
58
  throw new Error("user node id must be present to review the sheet");
59
- u(r, e);
59
+ u(e, r);
60
60
  return;
61
61
  }
62
- }, [s, u, d, r, e]), lr = k(() => {
63
- if (t && n) {
62
+ }, [s, u, d, e, r]), ue = $(() => {
63
+ if (i && n) {
64
64
  if (typeof f != "function")
65
65
  throw new Error("onCardClick must be a function for MathFit cards");
66
- f({ entityId: n, type: G.MATHFIT });
66
+ f({ entityId: n, type: J.MATHFIT });
67
67
  return;
68
68
  }
69
- if (M || T) {
70
- if (typeof R != "function")
69
+ if (E || k) {
70
+ if (typeof F != "function")
71
71
  throw new Error("onNodeAttempt must be a function");
72
- R(r, e, c);
72
+ F(e, r, c);
73
73
  return;
74
74
  }
75
75
  if (!o) {
76
- z();
76
+ j();
77
77
  return;
78
78
  }
79
- $();
79
+ _();
80
80
  }, [
81
- T,
82
- M,
81
+ k,
82
+ E,
83
83
  n,
84
84
  c,
85
85
  o,
86
- t,
87
- e,
86
+ i,
88
87
  r,
88
+ e,
89
89
  f,
90
- R,
91
- z,
92
- $
93
- ]), F = k(() => {
94
- if (t && n) {
90
+ F,
91
+ j,
92
+ _
93
+ ]), O = $(() => {
94
+ if (i && n) {
95
95
  if (typeof f != "function")
96
96
  throw new Error("onCardClick must be a function for MathFit cards");
97
- f({ entityId: n, type: G.MATHFIT });
97
+ f({ entityId: n, type: J.MATHFIT });
98
98
  return;
99
99
  }
100
100
  if (s) {
@@ -102,224 +102,221 @@ const yr = ({
102
102
  throw new Error("onNodeReview must be a function");
103
103
  if (!d)
104
104
  throw new Error("user node id must be present to review the sheet");
105
- u(r, e, c);
105
+ u(e, r, c);
106
106
  return;
107
107
  }
108
- if (typeof g != "function")
108
+ if (typeof R != "function")
109
109
  throw new Error("onNodeView must be a function");
110
- g(r, e);
110
+ R(e, r);
111
111
  }, [
112
112
  s,
113
113
  n,
114
114
  c,
115
- t,
116
- e,
115
+ i,
117
116
  r,
117
+ e,
118
118
  f,
119
119
  u,
120
- g,
120
+ R,
121
121
  d
122
- ]), l = k(
123
- (p) => {
124
- switch (p) {
122
+ ]), l = $(
123
+ (m) => {
124
+ switch (m) {
125
125
  case "teacher-card-view":
126
- F();
126
+ O();
127
127
  return;
128
128
  case "student-card-view":
129
- $();
129
+ _();
130
130
  return;
131
131
  case "teacher-card-unassign":
132
- w == null || w(r, e, c);
132
+ w == null || w(e, r, c);
133
133
  return;
134
134
  case "student-card-reattempt":
135
135
  case "teacher-card-redo":
136
- b == null || b(r, e);
136
+ b == null || b(e, r);
137
137
  return;
138
138
  case "teacher-card-assign-as-hw":
139
- C == null || C(r, e);
139
+ C == null || C(e, r);
140
140
  return;
141
141
  default:
142
- throw new Error(`No callback function for ${p}`);
142
+ throw new Error(`No callback function for ${m}`);
143
143
  }
144
144
  },
145
145
  [
146
146
  c,
147
- e,
148
147
  r,
148
+ e,
149
149
  C,
150
150
  b,
151
151
  w,
152
- $,
153
- F
152
+ _,
153
+ O
154
154
  ]
155
- ), ur = v(() => {
156
- const p = [
155
+ ), fe = v(() => {
156
+ const m = [
157
157
  {
158
158
  id: "teacher-card-view",
159
159
  label: s ? "Review" : "View",
160
- icon: q,
160
+ icon: A,
161
161
  disabled: !1,
162
162
  onClick: l
163
163
  },
164
164
  {
165
165
  id: "teacher-card-unassign",
166
166
  label: "Unassign",
167
- icon: gr,
168
- disabled: o ? m === "MASTERY" : !B,
167
+ icon: Re,
168
+ disabled: o ? p === "MASTERY" : !I,
169
169
  onClick: l
170
170
  },
171
171
  {
172
172
  id: "teacher-card-redo",
173
173
  label: "Redo",
174
- icon: A,
175
- disabled: !_,
174
+ icon: G,
175
+ disabled: !T,
176
176
  onClick: l
177
177
  },
178
178
  {
179
179
  id: "teacher-card-assign-as-hw",
180
180
  label: "Assign as HW",
181
- icon: br,
182
- disabled: !K,
181
+ icon: be,
182
+ disabled: !B,
183
183
  onClick: l
184
184
  }
185
185
  ];
186
- return X ? p.filter((mr) => mr.id === "teacher-card-view") : p;
186
+ return z ? m.filter((Z) => Z.id === "teacher-card-view") : m;
187
187
  }, [
188
188
  s,
189
+ I,
190
+ T,
189
191
  B,
190
- _,
191
- K,
192
192
  o,
193
- m,
194
- X,
193
+ p,
194
+ z,
195
195
  l
196
- ]), fr = v(
196
+ ]), he = v(
197
197
  () => [
198
198
  {
199
199
  id: "student-card-view",
200
200
  label: "Review",
201
- icon: q,
201
+ icon: A,
202
202
  disabled: !s,
203
203
  onClick: l
204
204
  },
205
205
  {
206
206
  id: "student-card-reattempt",
207
207
  label: "Reattempt",
208
- icon: A,
209
- disabled: !_,
208
+ icon: G,
209
+ disabled: !T,
210
210
  onClick: l
211
211
  }
212
212
  ],
213
- [s, _, l]
214
- ), Z = v(
215
- () => Sr({
216
- canResume: T,
217
- canStart: M,
213
+ [s, T, l]
214
+ ), K = v(
215
+ () => Se({
216
+ canResume: k,
217
+ canStart: E,
218
218
  entityId: n,
219
- entityType: E,
219
+ entityType: M,
220
220
  homeworkId: c,
221
221
  isHomeWork: o,
222
222
  isStudent: a,
223
- milestoneId: e,
224
- nodeType: m,
225
- studentId: x,
226
- totalQuestions: L,
223
+ milestoneId: r,
224
+ nodeType: p,
225
+ studentId: H,
226
+ totalQuestions: W,
227
227
  userNodeId: d
228
228
  }),
229
229
  [
230
- T,
231
- M,
232
- n,
230
+ k,
233
231
  E,
232
+ n,
233
+ M,
234
234
  c,
235
235
  o,
236
236
  a,
237
- e,
238
- m,
239
- x,
240
- L,
237
+ r,
238
+ p,
239
+ H,
240
+ W,
241
241
  d
242
242
  ]
243
- ), hr = !a && !S && !t, dr = v(
244
- () => a && S && y || !a && t && h !== "COMPLETED" && h !== "EXPIRED" || t && y,
245
- [a, S, y, t, h]
246
- );
247
- return /* @__PURE__ */ I(_r, { $position: "relative", $width: "fit-content", children: [
248
- /* @__PURE__ */ i(
249
- Cr,
243
+ ), de = !a && !S && !i, me = v(() => a && S && L || !a && i && h !== "COMPLETED" && h !== "EXPIRED" || i && L, [a, S, L, i, h]);
244
+ return /* @__PURE__ */ Y(Te, { $position: "relative", $width: "fit-content", children: [
245
+ /* @__PURE__ */ t(
246
+ Ce,
250
247
  {
251
- onClick: a ? lr : F,
248
+ onClick: a ? ue : O,
252
249
  label: "homework-card",
253
- analyticsLabel: Z.analyticsLabel,
254
- analyticsProps: Z.analyticsProps,
255
- disabled: dr,
256
- children: /* @__PURE__ */ i(
257
- Mr,
250
+ analyticsLabel: K.analyticsLabel,
251
+ analyticsProps: K.analyticsProps,
252
+ disabled: me,
253
+ children: /* @__PURE__ */ t(
254
+ Ee,
258
255
  {
259
- entityType: E,
260
- header: D,
261
- isInQueue: W,
262
- isMilestone: H === "milestone",
263
- nodeData: r,
264
- puzzleHWCardRef: cr,
265
- mathFitCardRef: N,
266
- score: rr,
267
- imageUrl: ir,
256
+ entityType: M,
257
+ header: N,
258
+ isInQueue: V,
259
+ isMilestone: P === "milestone",
260
+ nodeData: e,
261
+ puzzleHWCardRef: oe,
262
+ mathFitCardRef: ee,
263
+ score: re,
264
+ imageUrl: ie,
268
265
  state: h,
269
- studentContainerRef: V,
270
- subHeader: tr,
271
- userType: P
266
+ studentContainerRef: y,
267
+ subHeader: ne,
268
+ userType: x
272
269
  }
273
270
  )
274
271
  }
275
272
  ),
276
- a && !o && !t && /* @__PURE__ */ i(
277
- Q,
273
+ a && !o && !i && /* @__PURE__ */ t(
274
+ D,
278
275
  {
279
276
  $width: 200,
280
- options: fr,
281
- triggerRef: V,
282
- visible: ar,
277
+ options: he,
278
+ triggerRef: y,
279
+ visible: le,
283
280
  shouldOpenOnRight: !1
284
281
  }
285
282
  ),
286
- hr && /* @__PURE__ */ I($r, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
287
- /* @__PURE__ */ i(
288
- J,
283
+ de && /* @__PURE__ */ Y(_e, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
284
+ /* @__PURE__ */ t(
285
+ U,
289
286
  {
290
287
  renderAs: "primary",
291
288
  tooltipItem: "Review",
292
289
  position: "bottom",
293
290
  zIndex: 6,
294
291
  parentWidth: "100%",
295
- hidden: j || h !== "WAIT_FOR_REVIEW" && o,
296
- children: /* @__PURE__ */ i(
297
- kr,
292
+ hidden: X || h !== "WAIT_FOR_REVIEW" && o,
293
+ children: /* @__PURE__ */ t(
294
+ $e,
298
295
  {
299
296
  $alignItems: "center",
300
297
  $justifyContent: "center",
301
- ref: O,
302
- onClick: sr,
303
- children: /* @__PURE__ */ i(wr, { width: 16, height: 16 })
298
+ ref: g,
299
+ onClick: ae,
300
+ children: /* @__PURE__ */ t(we, { width: 16, height: 16 })
304
301
  }
305
302
  )
306
303
  }
307
304
  ),
308
- /* @__PURE__ */ i(
309
- Q,
305
+ /* @__PURE__ */ t(
306
+ D,
310
307
  {
311
- options: ur,
312
- triggerRef: O,
313
- visible: j,
314
- shouldOpenOnRight: er,
308
+ options: fe,
309
+ triggerRef: g,
310
+ visible: X,
311
+ shouldOpenOnRight: te,
315
312
  $width: 144
316
313
  }
317
314
  )
318
315
  ] }),
319
- W && /* @__PURE__ */ i(vr, { $background: "WHITE_5", children: /* @__PURE__ */ i(Rr, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ i(J, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ i(Er, { $heightX: 1, $widthX: 6 }) }) }) })
316
+ V && /* @__PURE__ */ t(ve, { $background: "WHITE_5", children: /* @__PURE__ */ t(Fe, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(U, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(Me, { $heightX: 1, $widthX: 6 }) }) }) })
320
317
  ] });
321
- }, qr = pr(yr);
318
+ }, Ae = pe(Le);
322
319
  export {
323
- qr as default
320
+ Ae as default
324
321
  };
325
322
  //# sourceMappingURL=homework-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport {\n ECardType,\n type INodeCardCallbacks,\n type INodeDataProps,\n type TSheetStates,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport type { TUserTypes } from '../ui/types';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport { EHWCardListEntityType } from './hw-card-list/hw-card-list-types';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n entityId?: string;\n entityType?: EHWCardListEntityType;\n header: string;\n homeworkId?: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n mathFitCardRef?: React.RefObject<HTMLDivElement>;\n disableMenuActions?: boolean;\n renderAs: 'homework' | 'milestone';\n score: number | null;\n shouldOpenOnRight: boolean;\n state: TSheetStates;\n imageUrl?: string;\n studentId: string;\n subHeader: string;\n userMilestoneId?: string;\n userType: TUserTypes;\n totalQuestions: number;\n}\n\nconst HomeworkCard: FC<IHomeworkCardProps> = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n onCardClick,\n\n entityId,\n entityType,\n header,\n homeworkId,\n isInQueue,\n mathFitCardRef,\n renderAs,\n score,\n shouldOpenOnRight,\n state,\n totalQuestions,\n imageUrl,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n puzzleHWCardRef,\n disableMenuActions,\n}) => {\n const isHomeWork = renderAs === 'homework';\n const { node_type: nodeType, permissions, user_node_id: userNodeId } = nodeData;\n\n const milestoneId = userMilestoneId || '';\n const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isMathFitCard = entityType === EHWCardListEntityType.MATHFIT_TEST;\n const isSheetLocked = state === 'LOCKED';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const studentContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n // Handle MathFit card clicks\n if (isMathFitCard && entityId) {\n if (typeof onCardClick !== 'function') {\n throw new Error('onCardClick must be a function for MathFit cards');\n }\n\n onCardClick({ entityId, type: ECardType.MATHFIT });\n\n return;\n }\n\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canResume,\n canStart,\n entityId,\n homeworkId,\n isHomeWork,\n isMathFitCard,\n milestoneId,\n nodeData,\n onCardClick,\n onNodeAttempt,\n onStudentMenuClick,\n onStudentViewSheet,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n // Handle MathFit card clicks\n if (isMathFitCard && entityId) {\n if (typeof onCardClick !== 'function') {\n throw new Error('onCardClick must be a function for MathFit cards');\n }\n\n onCardClick({ entityId, type: ECardType.MATHFIT });\n\n return;\n }\n\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [\n canReview,\n entityId,\n homeworkId,\n isMathFitCard,\n milestoneId,\n nodeData,\n onCardClick,\n onNodeReview,\n onNodeView,\n userNodeId,\n ]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId, homeworkId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n homeworkId,\n milestoneId,\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n ],\n );\n\n const teacherOptions = useMemo(() => {\n const options = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return disableMenuActions\n ? options.filter(option => option.id === 'teacher-card-view')\n : options;\n }, [\n canReview,\n canUnassign,\n canReset,\n canAssignAsHw,\n isHomeWork,\n nodeType,\n disableMenuActions,\n handleOnMenuOptionClick,\n ]);\n\n const studentOptions = useMemo(\n () => [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ],\n [canReview, canReset, handleOnMenuOptionClick],\n );\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n entityId,\n entityType,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n totalQuestions,\n userNodeId,\n }),\n [\n canResume,\n canStart,\n entityId,\n entityType,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n totalQuestions,\n userNodeId,\n ],\n );\n\n const showMoreMenu = !isStudent && !isPuzzleCard && !isMathFitCard;\n\n const isClickableDisabled = useMemo(\n () =>\n (isStudent && isPuzzleCard && isSheetLocked) ||\n (!isStudent && isMathFitCard && state !== 'COMPLETED' && state !== 'EXPIRED') ||\n (isMathFitCard && isSheetLocked),\n [isStudent, isPuzzleCard, isSheetLocked, isMathFitCard, state],\n );\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n disabled={isClickableDisabled}\n >\n <HomeworkView\n entityType={entityType}\n header={header}\n isInQueue={isInQueue}\n isMilestone={renderAs === 'milestone'}\n nodeData={nodeData}\n puzzleHWCardRef={puzzleHWCardRef}\n mathFitCardRef={mathFitCardRef}\n score={score}\n imageUrl={imageUrl}\n state={state}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n />\n </Clickable>\n {isStudent && !isHomeWork && !isMathFitCard && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {showMoreMenu && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","onCardClick","entityId","entityType","header","homeworkId","isInQueue","mathFitCardRef","renderAs","score","shouldOpenOnRight","state","totalQuestions","imageUrl","studentId","subHeader","userMilestoneId","userType","puzzleHWCardRef","disableMenuActions","isHomeWork","nodeType","permissions","userNodeId","milestoneId","isPuzzleCard","isMathFitCard","EHWCardListEntityType","isSheetLocked","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","ECardType","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","useMemo","options","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","option","studentOptions","analyticsLabel","getCardAnalyticProps","showMoreMenu","isClickableDisabled","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useRef, type FC } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport {\n ECardType,\n type INodeCardCallbacks,\n type INodeDataProps,\n type TSheetStates,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../ui/layout/flex-view';\nimport type { TUserTypes } from '../ui/types';\nimport CardMenuOptions from './card-menu-options';\nimport HomeworkView from './homework-card-view';\nimport { EHWCardListEntityType } from './hw-card-list/hw-card-list-types';\nimport * as Styled from './styles';\nimport { getCardAnalyticProps } from './utils';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n entityId?: string;\n entityType?: EHWCardListEntityType;\n header: string;\n homeworkId?: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n mathFitCardRef?: React.RefObject<HTMLDivElement>;\n disableMenuActions?: boolean;\n renderAs: 'homework' | 'milestone';\n score: number | null;\n shouldOpenOnRight: boolean;\n state: TSheetStates;\n imageUrl?: string;\n studentId: string;\n subHeader: string;\n userMilestoneId?: string;\n userType: TUserTypes;\n totalQuestions: number;\n}\n\nconst HomeworkCard: FC<IHomeworkCardProps> = ({\n // callbacks\n nodeData,\n onNodeAttempt,\n onNodeReattempt,\n onNodeReview,\n onNodeUnassign,\n onNodeView,\n onNodeAssignAsHomework,\n onCardClick,\n\n entityId,\n entityType,\n header,\n homeworkId,\n isInQueue,\n mathFitCardRef,\n renderAs,\n score,\n shouldOpenOnRight,\n state,\n totalQuestions,\n imageUrl,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n puzzleHWCardRef,\n disableMenuActions,\n}) => {\n const isHomeWork = renderAs === 'homework';\n const { node_type: nodeType, permissions, user_node_id: userNodeId } = nodeData;\n\n const milestoneId = userMilestoneId || '';\n const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isMathFitCard = entityType === EHWCardListEntityType.MATHFIT_TEST;\n const isSheetLocked = state === 'LOCKED';\n\n const teacherContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const studentContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const { menuVisible: teacherMenuVisible, onMenuClick: onTeacherMenuClick } =\n useContextMenuClickHandler(teacherContainerRef);\n const { menuVisible: studentMenuVisible, onMenuClick: onStudentMenuClick } =\n useContextMenuClickHandler(studentContainerRef);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n can_assign_as_homework: canAssignAsHw,\n } = permissions;\n const isStudent = userType === 'STUDENT';\n\n const onStudentViewSheet = useCallback(() => {\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId);\n\n return;\n }\n }, [canReview, onNodeReview, userNodeId, nodeData, milestoneId]);\n\n const onStudentCardClick = useCallback(() => {\n // Handle MathFit card clicks\n if (isMathFitCard && entityId) {\n if (typeof onCardClick !== 'function') {\n throw new Error('onCardClick must be a function for MathFit cards');\n }\n\n onCardClick({ entityId, type: ECardType.MATHFIT });\n\n return;\n }\n\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (!isHomeWork) {\n onStudentMenuClick();\n\n return;\n }\n onStudentViewSheet();\n }, [\n canResume,\n canStart,\n entityId,\n homeworkId,\n isHomeWork,\n isMathFitCard,\n milestoneId,\n nodeData,\n onCardClick,\n onNodeAttempt,\n onStudentMenuClick,\n onStudentViewSheet,\n ]);\n\n const onTeacherCardClick = useCallback(() => {\n // Handle MathFit card clicks\n if (isMathFitCard && entityId) {\n if (typeof onCardClick !== 'function') {\n throw new Error('onCardClick must be a function for MathFit cards');\n }\n\n onCardClick({ entityId, type: ECardType.MATHFIT });\n\n return;\n }\n\n if (canReview) {\n if (typeof onNodeReview !== 'function') {\n throw new Error('onNodeReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n onNodeReview(nodeData, milestoneId, homeworkId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onNodeView must be a function');\n }\n\n onNodeView(nodeData, milestoneId);\n }, [\n canReview,\n entityId,\n homeworkId,\n isMathFitCard,\n milestoneId,\n nodeData,\n onCardClick,\n onNodeReview,\n onNodeView,\n userNodeId,\n ]);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'teacher-card-view':\n onTeacherCardClick();\n\n return;\n case 'student-card-view':\n onStudentViewSheet();\n\n return;\n case 'teacher-card-unassign':\n onNodeUnassign?.(nodeData, milestoneId, homeworkId);\n\n return;\n case 'student-card-reattempt':\n case 'teacher-card-redo':\n onNodeReattempt?.(nodeData, milestoneId);\n\n return;\n\n case 'teacher-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData, milestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n homeworkId,\n milestoneId,\n nodeData,\n onNodeAssignAsHomework,\n onNodeReattempt,\n onNodeUnassign,\n onStudentViewSheet,\n onTeacherCardClick,\n ],\n );\n\n const teacherOptions = useMemo(() => {\n const options = [\n {\n id: 'teacher-card-view',\n label: canReview ? 'Review' : 'View',\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n disabled: isHomeWork ? nodeType === 'MASTERY' : !canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-redo',\n label: 'Redo',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'teacher-card-assign-as-hw',\n label: 'Assign as HW',\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return disableMenuActions\n ? options.filter(option => option.id === 'teacher-card-view')\n : options;\n }, [\n canReview,\n canUnassign,\n canReset,\n canAssignAsHw,\n isHomeWork,\n nodeType,\n disableMenuActions,\n handleOnMenuOptionClick,\n ]);\n\n const studentOptions = useMemo(\n () => [\n {\n id: 'student-card-view',\n label: 'Review',\n icon: Eye2Icon,\n disabled: !canReview,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'student-card-reattempt',\n label: 'Reattempt',\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n ],\n [canReview, canReset, handleOnMenuOptionClick],\n );\n\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n entityId,\n entityType,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n totalQuestions,\n userNodeId,\n }),\n [\n canResume,\n canStart,\n entityId,\n entityType,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n totalQuestions,\n userNodeId,\n ],\n );\n\n const showMoreMenu = !isStudent && !isPuzzleCard && !isMathFitCard;\n\n const isClickableDisabled = useMemo(() => {\n const isStudentPuzzleLocked = isStudent && isPuzzleCard && isSheetLocked;\n const isTeacherMathFitIncomplete =\n !isStudent && isMathFitCard && state !== 'COMPLETED' && state !== 'EXPIRED';\n const isMathFitLocked = isMathFitCard && isSheetLocked;\n\n return isStudentPuzzleLocked || isTeacherMathFitIncomplete || isMathFitLocked;\n }, [isStudent, isPuzzleCard, isSheetLocked, isMathFitCard, state]);\n\n return (\n <Styled.CardContainer $position=\"relative\" $width=\"fit-content\">\n <Clickable\n onClick={isStudent ? onStudentCardClick : onTeacherCardClick}\n label=\"homework-card\"\n analyticsLabel={analyticsLabel.analyticsLabel}\n analyticsProps={analyticsLabel.analyticsProps}\n disabled={isClickableDisabled}\n >\n <HomeworkView\n entityType={entityType}\n header={header}\n isInQueue={isInQueue}\n isMilestone={renderAs === 'milestone'}\n nodeData={nodeData}\n puzzleHWCardRef={puzzleHWCardRef}\n mathFitCardRef={mathFitCardRef}\n score={score}\n imageUrl={imageUrl}\n state={state}\n studentContainerRef={studentContainerRef}\n subHeader={subHeader}\n userType={userType}\n />\n </Clickable>\n {isStudent && !isHomeWork && !isMathFitCard && (\n <CardMenuOptions\n $width={200}\n options={studentOptions}\n triggerRef={studentContainerRef}\n visible={studentMenuVisible}\n shouldOpenOnRight={false}\n />\n )}\n {showMoreMenu && (\n <Styled.MenuWrapper $position=\"absolute\" $width=\"fit-content\" $borderRadiusX={2}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={6}\n parentWidth=\"100%\"\n hidden={teacherMenuVisible || (state !== 'WAIT_FOR_REVIEW' && isHomeWork)}\n >\n <Styled.CardKebabMenuWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n ref={teacherContainerRef}\n onClick={onTeacherMenuClick}\n >\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <CardMenuOptions\n options={teacherOptions}\n triggerRef={teacherContainerRef}\n visible={teacherMenuVisible}\n shouldOpenOnRight={shouldOpenOnRight}\n $width={144}\n />\n </Styled.MenuWrapper>\n )}\n {isInQueue && (\n <Styled.BlurContainer $background=\"WHITE_5\">\n <Styled.BlurFlexView $heightX={1} $widthX={6}>\n <ArrowTooltip renderAs=\"primary\" tooltipItem=\"Not visible to student\" position=\"bottom\">\n <FlexView $heightX={1} $widthX={6} />\n </ArrowTooltip>\n </Styled.BlurFlexView>\n </Styled.BlurContainer>\n )}\n </Styled.CardContainer>\n );\n};\n\nexport default memo(HomeworkCard);\n"],"names":["HomeworkCard","nodeData","onNodeAttempt","onNodeReattempt","onNodeReview","onNodeUnassign","onNodeView","onNodeAssignAsHomework","onCardClick","entityId","entityType","header","homeworkId","isInQueue","mathFitCardRef","renderAs","score","shouldOpenOnRight","state","totalQuestions","imageUrl","studentId","subHeader","userMilestoneId","userType","puzzleHWCardRef","disableMenuActions","isHomeWork","nodeType","permissions","userNodeId","milestoneId","isPuzzleCard","isMathFitCard","EHWCardListEntityType","isSheetLocked","teacherContainerRef","useRef","studentContainerRef","teacherMenuVisible","onTeacherMenuClick","useContextMenuClickHandler","studentMenuVisible","onStudentMenuClick","canStart","canResume","canReview","canUnassign","canReset","canAssignAsHw","isStudent","onStudentViewSheet","useCallback","onStudentCardClick","ECardType","onTeacherCardClick","handleOnMenuOptionClick","optionId","teacherOptions","useMemo","options","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","option","studentOptions","analyticsLabel","getCardAnalyticProps","showMoreMenu","isClickableDisabled","Styled.CardContainer","jsx","Clickable","HomeworkView","CardMenuOptions","jsxs","Styled.MenuWrapper","ArrowTooltip","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.BlurContainer","Styled.BlurFlexView","FlexView","HomeworkCard$1","memo"],"mappings":"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"}
@@ -2,48 +2,45 @@ import n from "styled-components";
2
2
  import a from "../../../../../ui/layout/flex-view.js";
3
3
  import d from "../../../../../ui/text/text.js";
4
4
  import { MILESTONE_WIDGET_MIN_HEIGHT as p } from "../../../../constants.js";
5
- const x = n(a)(({ theme: o }) => `
6
- padding-bottom: ${o.layout.gutter * 1.5}px;
7
- `), $ = n.div(({ theme: o, $backgroundColor: e, $frames: r }) => {
8
- const { colors: t } = o;
5
+ const x = n(a)(({ theme: r }) => `
6
+ padding-bottom: ${r.layout.gutter * 1.5}px;
7
+ `), m = n.div(({ theme: r, $backgroundColor: e, $frames: o }) => {
8
+ const { colors: t } = r;
9
9
  return `
10
10
  display: grid;
11
11
  background: ${t[e || "WHITE_3"]};
12
- grid-template-columns: repeat(${r}, 1fr);
12
+ grid-template-columns: repeat(${o}, 1fr);
13
13
  `;
14
- }), m = n(d)(({ theme: o, $selected: e }) => {
15
- const { layout: r, colors: t } = o, { BLACK_T_15: i, BLACK_T_87: s } = t;
14
+ }), T = n(d)(({ theme: r, $selected: e }) => {
15
+ const { layout: o, colors: t } = r, { BLACK_T_15: i, BLACK_T_87: s } = t;
16
16
  return `
17
17
  cursor: pointer;
18
- padding: ${r.gutter * 0.5}px 0;
18
+ padding: ${o.gutter * 0.5}px 0;
19
19
  border-bottom: 1px solid ${e ? s : i};
20
20
  `;
21
- }), T = n(a)(({ theme: o, $flexibleHeight: e }) => {
22
- const { WHITE_5: r } = o.colors, { gutter: t } = o.layout;
21
+ }), $ = n(a)(({ theme: r, $flexibleHeight: e }) => {
22
+ const { WHITE_5: o } = r.colors, { gutter: t } = r.layout;
23
23
  return `
24
24
  position: relative;
25
- height: ${p}px;
26
25
  ${e ? `
27
26
  height: 100%;
28
27
  min-height: ${p}px;
29
28
  ` : `
30
29
  height: ${p}px;
31
- overflow-y: auto;
32
- overflow-x: hidden;
33
30
  `}
34
31
  overflow-y: auto;
35
32
  overflow-x: hidden;
36
33
 
37
- background: ${o.colors.WHITE_2};
38
- background-image: linear-gradient(${r} 0.5px, transparent 0.5px),
39
- linear-gradient(90deg, ${r} 0.5px, transparent 0.5px);
34
+ background: ${r.colors.WHITE_2};
35
+ background-image: linear-gradient(${o} 0.5px, transparent 0.5px),
36
+ linear-gradient(90deg, ${o} 0.5px, transparent 0.5px);
40
37
  background-size: ${t * 2.81}px ${t * 2.81}px;
41
38
  `;
42
39
  });
43
40
  export {
44
41
  x as NoPlanCardWrapper,
45
- T as TabComponentWrapper,
46
- m as TabsText,
47
- $ as TabsWrapper
42
+ $ as TabComponentWrapper,
43
+ T as TabsText,
44
+ m as TabsWrapper
48
45
  };
49
46
  //# sourceMappingURL=milestone-tabs-styled.js.map