@cuemath/leap 3.5.60 → 3.5.61

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,27 +1,27 @@
1
- import { jsxs as I, jsx as t } from "react/jsx-runtime";
2
- import { memo as fe, useRef as j, useCallback as T, useMemo as de } from "react";
3
- import z from "../../assets/line-icons/icons/eye2.js";
1
+ import { jsxs as j, jsx as t } from "react/jsx-runtime";
2
+ import { memo as ue, useRef as z, useCallback as T, useMemo as fe } from "react";
3
+ import I from "../../assets/line-icons/icons/eye2.js";
4
4
  import he from "../../assets/line-icons/icons/home2.js";
5
- import me from "../../assets/line-icons/icons/more-vertical.js";
5
+ import de from "../../assets/line-icons/icons/more-vertical.js";
6
6
  import B from "../../assets/line-icons/icons/redo.js";
7
7
  import { ECardType as K } from "../chapters-v2/comps/node-card/node-card-types.js";
8
8
  import Z from "../ui/arrow-tooltip/arrow-tooltip.js";
9
- import pe from "../ui/buttons/clickable/clickable.js";
9
+ import me from "../ui/buttons/clickable/clickable.js";
10
10
  import A from "../ui/hooks/use-context-menu-click-handler.js";
11
- import be from "../ui/layout/flex-view.js";
11
+ import pe from "../ui/layout/flex-view.js";
12
12
  import Y from "./card-menu-options.js";
13
- import we from "./homework-card-view.js";
14
- import { EHWCardListEntityType as Ce } from "./hw-card-list/hw-card-list-types.js";
15
- import { CardContainer as Ee, MenuWrapper as Me, CardKebabMenuWrapper as Te, BlurContainer as _e, BlurFlexView as ye, StyledMinus2Icon as $e } from "./styles.js";
16
- import { getCardAnalyticProps as ke } from "./utils.js";
17
- const Re = ({
13
+ import be from "./homework-card-view.js";
14
+ import { EHWCardListEntityType as we } from "./hw-card-list/hw-card-list-types.js";
15
+ import { CardContainer as Ce, MenuWrapper as Ee, CardKebabMenuWrapper as Me, BlurContainer as Te, BlurFlexView as ye, StyledMinus2Icon as _e } from "./styles.js";
16
+ import { getCardAnalyticProps as $e } from "./utils.js";
17
+ const ke = ({
18
18
  // callbacks
19
19
  nodeData: e,
20
- onNodeAttempt: _,
20
+ onNodeAttempt: y,
21
21
  onNodeReattempt: m,
22
22
  onNodeReview: s,
23
23
  onNodeUnassign: p,
24
- onNodeView: y,
24
+ onNodeView: _,
25
25
  onNodeAssignAsHomework: b,
26
26
  onCardClick: a,
27
27
  entityId: l,
@@ -34,25 +34,20 @@ const Re = ({
34
34
  renderAs: S,
35
35
  score: Q,
36
36
  shouldOpenOnRight: U,
37
- state: h,
37
+ state: d,
38
38
  imageUrl: D,
39
39
  studentId: O,
40
40
  subHeader: N,
41
41
  userMilestoneId: ee,
42
42
  userType: V
43
43
  }) => {
44
- const c = S === "homework", {
45
- node_type: w,
46
- permissions: re,
47
- user_node_id: u,
48
- user_milestone_id: te
49
- } = e, r = ee || te || "", F = w === "PUZZLE_CARD", n = v === Ce.MATHFIT_TEST, W = h === "LOCKED", $ = j(null), k = j(null), { menuVisible: H, onMenuClick: ie } = A($), { menuVisible: ne, onMenuClick: L } = A(k), {
44
+ const c = S === "homework", { node_type: w, permissions: re, user_node_id: u } = e, r = ee || "", F = w === "PUZZLE_CARD", n = v === we.MATHFIT_TEST, W = d === "LOCKED", $ = z(null), k = z(null), { menuVisible: H, onMenuClick: te } = A($), { menuVisible: ie, onMenuClick: L } = A(k), {
50
45
  can_start: C,
51
46
  can_resume: E,
52
47
  can_review: f,
53
- can_unassign: ce,
48
+ can_unassign: ne,
54
49
  can_reset: x,
55
- can_assign_as_homework: oe
50
+ can_assign_as_homework: ce
56
51
  } = re, o = V === "STUDENT", M = T(() => {
57
52
  if (f) {
58
53
  if (typeof s != "function")
@@ -62,7 +57,7 @@ const Re = ({
62
57
  s(e, r);
63
58
  return;
64
59
  }
65
- }, [f, s, u, e, r]), se = T(() => {
60
+ }, [f, s, u, e, r]), oe = T(() => {
66
61
  if (n && l) {
67
62
  if (typeof a != "function")
68
63
  throw new Error("onCardClick must be a function for MathFit cards");
@@ -70,9 +65,9 @@ const Re = ({
70
65
  return;
71
66
  }
72
67
  if (C || E) {
73
- if (typeof _ != "function")
68
+ if (typeof y != "function")
74
69
  throw new Error("onNodeAttempt must be a function");
75
- _(e, r, i);
70
+ y(e, r, i);
76
71
  return;
77
72
  }
78
73
  if (!c) {
@@ -90,7 +85,7 @@ const Re = ({
90
85
  r,
91
86
  e,
92
87
  a,
93
- _,
88
+ y,
94
89
  L,
95
90
  M
96
91
  ]), R = T(() => {
@@ -108,9 +103,9 @@ const Re = ({
108
103
  s(e, r, i);
109
104
  return;
110
105
  }
111
- if (typeof y != "function")
106
+ if (typeof _ != "function")
112
107
  throw new Error("onNodeView must be a function");
113
- y(e, r);
108
+ _(e, r);
114
109
  }, [
115
110
  f,
116
111
  l,
@@ -120,9 +115,9 @@ const Re = ({
120
115
  e,
121
116
  a,
122
117
  s,
123
- y,
118
+ _,
124
119
  u
125
- ]), d = T(
120
+ ]), h = T(
126
121
  (X) => {
127
122
  switch (X) {
128
123
  case "teacher-card-view":
@@ -155,52 +150,52 @@ const Re = ({
155
150
  M,
156
151
  R
157
152
  ]
158
- ), ae = [
153
+ ), se = [
159
154
  {
160
155
  id: "teacher-card-view",
161
156
  label: f ? "Review" : "View",
162
- icon: z,
157
+ icon: I,
163
158
  disabled: !1,
164
- onClick: d
159
+ onClick: h
165
160
  },
166
161
  {
167
162
  id: "teacher-card-unassign",
168
163
  label: "Unassign",
169
- icon: $e,
170
- disabled: c ? w === "MASTERY" : !ce,
171
- onClick: d
164
+ icon: _e,
165
+ disabled: c ? w === "MASTERY" : !ne,
166
+ onClick: h
172
167
  },
173
168
  {
174
169
  id: "teacher-card-redo",
175
170
  label: "Redo",
176
171
  icon: B,
177
172
  disabled: !x,
178
- onClick: d
173
+ onClick: h
179
174
  },
180
175
  {
181
176
  id: "teacher-card-assign-as-hw",
182
177
  label: "Assign as HW",
183
178
  icon: he,
184
- disabled: !oe,
185
- onClick: d
179
+ disabled: !ce,
180
+ onClick: h
186
181
  }
187
- ], le = [
182
+ ], ae = [
188
183
  {
189
184
  id: "student-card-view",
190
185
  label: "Review",
191
- icon: z,
186
+ icon: I,
192
187
  disabled: !f,
193
- onClick: d
188
+ onClick: h
194
189
  },
195
190
  {
196
191
  id: "student-card-reattempt",
197
192
  label: "Reattempt",
198
193
  icon: B,
199
194
  disabled: !x,
200
- onClick: d
195
+ onClick: h
201
196
  }
202
- ], P = de(
203
- () => ke({
197
+ ], P = fe(
198
+ () => $e({
204
199
  canResume: E,
205
200
  canStart: C,
206
201
  homeworkId: i,
@@ -222,18 +217,18 @@ const Re = ({
222
217
  O,
223
218
  u
224
219
  ]
225
- ), ue = o && F && W || !o && n && h !== "COMPLETED" && h !== "EXPIRED" || n && W;
226
- return /* @__PURE__ */ I(Ee, { $position: "relative", $width: "fit-content", children: [
220
+ ), le = o && F && W || !o && n && d !== "COMPLETED" && d !== "EXPIRED" || n && W;
221
+ return /* @__PURE__ */ j(Ce, { $position: "relative", $width: "fit-content", children: [
227
222
  /* @__PURE__ */ t(
228
- pe,
223
+ me,
229
224
  {
230
- onClick: o ? se : R,
225
+ onClick: o ? oe : R,
231
226
  label: "homework-card",
232
227
  analyticsLabel: P.analyticsLabel,
233
228
  analyticsProps: P.analyticsProps,
234
- disabled: ue,
229
+ disabled: le,
235
230
  children: /* @__PURE__ */ t(
236
- we,
231
+ be,
237
232
  {
238
233
  entityType: v,
239
234
  header: q,
@@ -244,7 +239,7 @@ const Re = ({
244
239
  mathFitCardRef: J,
245
240
  score: Q,
246
241
  imageUrl: D,
247
- state: h,
242
+ state: d,
248
243
  studentContainerRef: k,
249
244
  subHeader: N,
250
245
  userType: V
@@ -256,13 +251,13 @@ const Re = ({
256
251
  Y,
257
252
  {
258
253
  $width: 200,
259
- options: le,
254
+ options: ae,
260
255
  triggerRef: k,
261
- visible: ne,
256
+ visible: ie,
262
257
  shouldOpenOnRight: !1
263
258
  }
264
259
  ),
265
- !o && !F && !n && /* @__PURE__ */ I(Me, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
260
+ !o && !F && !n && /* @__PURE__ */ j(Ee, { $position: "absolute", $width: "fit-content", $borderRadiusX: 2, children: [
266
261
  /* @__PURE__ */ t(
267
262
  Z,
268
263
  {
@@ -271,15 +266,15 @@ const Re = ({
271
266
  position: "bottom",
272
267
  zIndex: 6,
273
268
  parentWidth: "100%",
274
- hidden: H || h !== "WAIT_FOR_REVIEW" && c,
269
+ hidden: H || d !== "WAIT_FOR_REVIEW" && c,
275
270
  children: /* @__PURE__ */ t(
276
- Te,
271
+ Me,
277
272
  {
278
273
  $alignItems: "center",
279
274
  $justifyContent: "center",
280
275
  ref: $,
281
- onClick: ie,
282
- children: /* @__PURE__ */ t(me, { width: 16, height: 16 })
276
+ onClick: te,
277
+ children: /* @__PURE__ */ t(de, { width: 16, height: 16 })
283
278
  }
284
279
  )
285
280
  }
@@ -287,7 +282,7 @@ const Re = ({
287
282
  /* @__PURE__ */ t(
288
283
  Y,
289
284
  {
290
- options: ae,
285
+ options: se,
291
286
  triggerRef: $,
292
287
  visible: H,
293
288
  shouldOpenOnRight: U,
@@ -295,10 +290,10 @@ const Re = ({
295
290
  }
296
291
  )
297
292
  ] }),
298
- g && /* @__PURE__ */ t(_e, { $background: "WHITE_5", children: /* @__PURE__ */ t(ye, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(Z, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(be, { $heightX: 1, $widthX: 6 }) }) }) })
293
+ g && /* @__PURE__ */ t(Te, { $background: "WHITE_5", children: /* @__PURE__ */ t(ye, { $heightX: 1, $widthX: 6, children: /* @__PURE__ */ t(Z, { renderAs: "primary", tooltipItem: "Not visible to student", position: "bottom", children: /* @__PURE__ */ t(pe, { $heightX: 1, $widthX: 6 }) }) }) })
299
294
  ] });
300
- }, Ke = fe(Re);
295
+ }, Be = ue(ke);
301
296
  export {
302
- Ke as default
297
+ Be as default
303
298
  };
304
299
  //# 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 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}\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 puzzleHWCardRef,\n mathFitCardRef,\n renderAs,\n score,\n shouldOpenOnRight,\n state,\n imageUrl,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\n}) => {\n const isHomeWork = renderAs === 'homework';\n const {\n node_type: nodeType,\n permissions,\n user_node_id: userNodeId,\n user_milestone_id: nodeDataMilestoneId,\n } = nodeData;\n\n const milestoneId = userMilestoneId || nodeDataMilestoneId || '';\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 = [\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 const studentOptions = [\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\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n ],\n );\n\n const isClickableDisabled =\n (isStudent && isPuzzleCard && isSheetLocked) ||\n (!isStudent && isMathFitCard && state !== 'COMPLETED' && state !== 'EXPIRED') ||\n (isMathFitCard && isSheetLocked);\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 {!isStudent && !isPuzzleCard && !isMathFitCard && (\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","puzzleHWCardRef","mathFitCardRef","renderAs","score","shouldOpenOnRight","state","imageUrl","studentId","subHeader","userMilestoneId","userType","isHomeWork","nodeType","permissions","userNodeId","nodeDataMilestoneId","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","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","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 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}\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 puzzleHWCardRef,\n mathFitCardRef,\n renderAs,\n score,\n shouldOpenOnRight,\n state,\n imageUrl,\n studentId,\n subHeader,\n userMilestoneId,\n userType,\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 = [\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 const studentOptions = [\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\n const analyticsLabel = useMemo(\n () =>\n getCardAnalyticProps({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n }),\n [\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n ],\n );\n\n const isClickableDisabled =\n (isStudent && isPuzzleCard && isSheetLocked) ||\n (!isStudent && isMathFitCard && state !== 'COMPLETED' && state !== 'EXPIRED') ||\n (isMathFitCard && isSheetLocked);\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 {!isStudent && !isPuzzleCard && !isMathFitCard && (\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","puzzleHWCardRef","mathFitCardRef","renderAs","score","shouldOpenOnRight","state","imageUrl","studentId","subHeader","userMilestoneId","userType","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","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","Home2Icon","studentOptions","analyticsLabel","useMemo","getCardAnalyticProps","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,18 +1,18 @@
1
1
  import { jsxs as a, jsx as o } from "react/jsx-runtime";
2
- import { memo as O, useMemo as L, useCallback as V } from "react";
3
- import Y from "../../../assets/line-icons/icons/chevron-left.js";
4
- import N from "../../../assets/line-icons/icons/chevron-right.js";
5
- import { NODE_TYPE as P } from "../../sheets/constants/sheet.js";
2
+ import { memo as V, useMemo as L, useCallback as Y } from "react";
3
+ import N from "../../../assets/line-icons/icons/chevron-left.js";
4
+ import P from "../../../assets/line-icons/icons/chevron-right.js";
5
+ import { NODE_TYPE as z } from "../../sheets/constants/sheet.js";
6
6
  import c from "../../ui/layout/flex-view.js";
7
7
  import m from "../../ui/text/text.js";
8
- import z from "../homework-card.js";
9
- import { QueueWrapper as J, QueueText as Q, ContentWrapper as U, ScrollButton as y, ScrollContainer as Z } from "./hw-card-list-styled.js";
10
- import { getWaitForReviewSheetsCount as D } from "./hw-card-list-utils.js";
11
- import { useScrollButtons as ee } from "./hooks/use-scroll-buttons.js";
12
- const oe = ({
8
+ import J from "../homework-card.js";
9
+ import { QueueWrapper as Q, QueueText as U, ContentWrapper as Z, ScrollButton as v, ScrollContainer as D } from "./hw-card-list-styled.js";
10
+ import { getWaitForReviewSheetsCount as ee } from "./hw-card-list-utils.js";
11
+ import { useScrollButtons as oe } from "./hooks/use-scroll-buttons.js";
12
+ const te = ({
13
13
  userType: h,
14
14
  studentId: $,
15
- isHwProcessing: A,
15
+ isHwProcessing: y,
16
16
  hwDetails: r,
17
17
  onTestStart: p,
18
18
  onNodeAttempt: f,
@@ -26,7 +26,7 @@ const oe = ({
26
26
  mathFitCardRef: b
27
27
  }) => {
28
28
  const t = L(() => {
29
- const s = (r == null ? void 0 : r.assigned_homeworks) || [], i = (r == null ? void 0 : r.queued_homeworks) || [], e = s.length + i.length, n = D(r);
29
+ const s = (r == null ? void 0 : r.assigned_homeworks) || [], i = (r == null ? void 0 : r.queued_homeworks) || [], e = s.length + i.length, n = ee(r);
30
30
  return {
31
31
  assignedHomeworks: s,
32
32
  queuedHomeworks: i,
@@ -34,27 +34,28 @@ const oe = ({
34
34
  waitForReviewCount: n
35
35
  };
36
36
  }, [r]), {
37
- scrollRef: v,
38
- showLeftButton: B,
39
- showRightButton: I,
37
+ scrollRef: A,
38
+ showLeftButton: I,
39
+ showRightButton: B,
40
40
  handleMouseEnter: R,
41
- handleMouseLeave: T,
42
- handleScrollLeft: q,
43
- handleScrollRight: E
44
- } = ee({
41
+ handleMouseLeave: M,
42
+ handleScrollLeft: T,
43
+ handleScrollRight: q
44
+ } = oe({
45
45
  totalCount: t.totalCount
46
- }), u = V(
46
+ }), u = Y(
47
47
  (s, i, e = !1) => {
48
48
  const {
49
49
  entity_id: n,
50
- sheets: M,
50
+ sheets: K,
51
51
  subtext: S,
52
52
  entity_type: j,
53
53
  image_url: F,
54
- state: G,
55
- score: W,
56
- id: X
57
- } = s, l = M[0], d = (l == null ? void 0 : l.node_type) === P.DYNAMIC;
54
+ user_milestone_id: G,
55
+ state: W,
56
+ score: X,
57
+ id: O
58
+ } = s, l = K[0], d = (l == null ? void 0 : l.node_type) === z.DYNAMIC;
58
59
  return /* @__PURE__ */ a(
59
60
  c,
60
61
  {
@@ -62,17 +63,17 @@ const oe = ({
62
63
  $flexGapX: 1,
63
64
  children: [
64
65
  e && i === 0 && /* @__PURE__ */ o(
65
- J,
66
+ Q,
66
67
  {
67
68
  $background: "BLACK_4",
68
69
  $justifyContent: "center",
69
70
  $gutter: 4,
70
71
  $gap: 8,
71
- children: /* @__PURE__ */ o(Q, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
72
+ children: /* @__PURE__ */ o(U, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
72
73
  }
73
74
  ),
74
75
  l && /* @__PURE__ */ o(
75
- z,
76
+ J,
76
77
  {
77
78
  isInQueue: e,
78
79
  userType: h,
@@ -91,10 +92,11 @@ const oe = ({
91
92
  onCardClick: x,
92
93
  entityType: j,
93
94
  entityId: n,
94
- state: G,
95
- score: W,
95
+ state: W,
96
+ score: X,
96
97
  imageUrl: F,
97
- homeworkId: X
98
+ homeworkId: O,
99
+ userMilestoneId: G ?? void 0
98
100
  }
99
101
  )
100
102
  ]
@@ -116,7 +118,7 @@ const oe = ({
116
118
  b,
117
119
  x
118
120
  ]
119
- ), K = L(() => {
121
+ ), E = L(() => {
120
122
  if (t.totalCount === 0) return [];
121
123
  const s = t.assignedHomeworks.map(
122
124
  (e, n) => u(e, n, !1)
@@ -133,7 +135,7 @@ const oe = ({
133
135
  return t.totalCount === 0 ? /* @__PURE__ */ a(c, { $flexRowGapX: 1, children: [
134
136
  /* @__PURE__ */ o(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Homework (0)" }),
135
137
  /* @__PURE__ */ o(m, { $renderAs: "ab2", $color: "BLACK_T_60", children: "No Homework assigned yet" })
136
- ] }) : /* @__PURE__ */ a(U, { $flexRowGapX: 1, $disablePointerEvents: A, children: [
138
+ ] }) : /* @__PURE__ */ a(Z, { $flexRowGapX: 1, $disablePointerEvents: y, children: [
137
139
  /* @__PURE__ */ a(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
138
140
  "Homework (",
139
141
  t.waitForReviewCount,
@@ -146,26 +148,26 @@ const oe = ({
146
148
  {
147
149
  $position: "relative",
148
150
  onMouseEnter: R,
149
- onMouseLeave: T,
151
+ onMouseLeave: M,
150
152
  children: [
151
153
  /* @__PURE__ */ o(
152
- y,
154
+ v,
153
155
  {
154
156
  $position: "absolute",
155
157
  $background: "BLACK_T_60",
156
158
  $justifyContent: "center",
157
159
  $alignItems: "center",
158
160
  $height: "100%",
159
- onClick: q,
160
- $visible: B,
161
+ onClick: T,
162
+ $visible: I,
161
163
  left: "0px",
162
164
  right: "auto",
163
- children: /* @__PURE__ */ o(Y, { width: 24, height: 24 })
165
+ children: /* @__PURE__ */ o(N, { width: 24, height: 24 })
164
166
  }
165
167
  ),
166
- /* @__PURE__ */ o(Z, { ref: v, children: /* @__PURE__ */ o(c, { $flexDirection: "row", $flexGapX: 1, children: K }) }),
168
+ /* @__PURE__ */ o(D, { ref: A, children: /* @__PURE__ */ o(c, { $flexDirection: "row", $flexGapX: 1, children: E }) }),
167
169
  /* @__PURE__ */ o(
168
- y,
170
+ v,
169
171
  {
170
172
  $position: "absolute",
171
173
  $width: "60px",
@@ -173,19 +175,19 @@ const oe = ({
173
175
  $background: "BLACK_T_60",
174
176
  $justifyContent: "center",
175
177
  $alignItems: "center",
176
- onClick: E,
177
- $visible: I,
178
+ onClick: q,
179
+ $visible: B,
178
180
  left: "auto",
179
181
  right: "0px",
180
- children: /* @__PURE__ */ o(N, { width: 24, height: 24 })
182
+ children: /* @__PURE__ */ o(P, { width: 24, height: 24 })
181
183
  }
182
184
  )
183
185
  ]
184
186
  }
185
187
  )
186
188
  ] });
187
- }, he = O(oe);
189
+ }, $e = V(te);
188
190
  export {
189
- he as default
191
+ $e as default
190
192
  };
191
193
  //# sourceMappingURL=hw-card-list-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, type FC } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport type { IHomeworkItem } from './api/get-homeworks';\nimport * as Styled from './hw-card-list-styled';\nimport type { IHwCardListView } from './hw-card-list-types';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\nimport { useScrollButtons } from './hooks/use-scroll-buttons';\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n puzzleHWCardRef,\n mathFitCardRef,\n}) => {\n const homeworkData = useMemo(() => {\n const assignedHomeworks = hwDetails?.assigned_homeworks || [];\n const queuedHomeworks = hwDetails?.queued_homeworks || [];\n const totalCount = assignedHomeworks.length + queuedHomeworks.length;\n const waitForReviewCount = getWaitForReviewSheetsCount(hwDetails);\n\n return {\n assignedHomeworks,\n queuedHomeworks,\n totalCount,\n waitForReviewCount,\n };\n }, [hwDetails]);\n\n const {\n scrollRef,\n showLeftButton,\n showRightButton,\n handleMouseEnter,\n handleMouseLeave,\n handleScrollLeft,\n handleScrollRight,\n } = useScrollButtons({\n totalCount: homeworkData.totalCount,\n });\n\n const renderHomeworkCard = useCallback(\n (item: IHomeworkItem, idx: number, isQueued = false) => {\n const {\n entity_id: entityId,\n sheets,\n subtext,\n entity_type: entitYType,\n image_url: imageUrl,\n state,\n score,\n id,\n } = item;\n const sheet = sheets[0];\n const isDynamicSheet = sheet?.node_type === NODE_TYPE.DYNAMIC;\n\n return (\n <FlexView\n key={`${entityId}_${idx}_${isQueued ? 'queued' : 'assigned'}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {isQueued && idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n\n {sheet && (\n <HomeworkCard\n isInQueue={isQueued}\n userType={userType}\n header={sheet.title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n puzzleHWCardRef={isQueued ? undefined : puzzleHWCardRef}\n mathFitCardRef={isQueued ? undefined : mathFitCardRef}\n onCardClick={onCardClick}\n entityType={entitYType}\n entityId={entityId}\n state={state}\n score={score}\n imageUrl={imageUrl}\n homeworkId={id}\n />\n )}\n </FlexView>\n );\n },\n [\n userType,\n studentId,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n puzzleHWCardRef,\n mathFitCardRef,\n onCardClick,\n ],\n );\n\n const homeworkCards = useMemo(() => {\n if (homeworkData.totalCount === 0) return [];\n\n const assignedCards = homeworkData.assignedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, false),\n );\n\n const queuedCards = homeworkData.queuedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, true),\n );\n\n return [...assignedCards, ...queuedCards];\n }, [\n homeworkData.assignedHomeworks,\n homeworkData.queuedHomeworks,\n renderHomeworkCard,\n homeworkData.totalCount,\n ]);\n\n if (homeworkData.totalCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({homeworkData.waitForReviewCount}/{homeworkData.totalCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={showLeftButton}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {homeworkCards}\n </FlexView>\n </Styled.ScrollContainer>\n\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={showRightButton}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","onCardClick","puzzleHWCardRef","mathFitCardRef","homeworkData","useMemo","assignedHomeworks","queuedHomeworks","totalCount","waitForReviewCount","getWaitForReviewSheetsCount","scrollRef","showLeftButton","showRightButton","handleMouseEnter","handleMouseLeave","handleScrollLeft","handleScrollRight","useScrollButtons","renderHomeworkCard","useCallback","item","idx","isQueued","entityId","sheets","subtext","entitYType","imageUrl","state","score","id","sheet","isDynamicSheet","NODE_TYPE","jsxs","FlexView","jsx","Styled.QueueWrapper","Styled.QueueText","HomeworkCard","homeworkCards","assignedCards","queuedCards","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, type FC } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport type { IHomeworkItem } from './api/get-homeworks';\nimport * as Styled from './hw-card-list-styled';\nimport type { IHwCardListView } from './hw-card-list-types';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\nimport { useScrollButtons } from './hooks/use-scroll-buttons';\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n puzzleHWCardRef,\n mathFitCardRef,\n}) => {\n const homeworkData = useMemo(() => {\n const assignedHomeworks = hwDetails?.assigned_homeworks || [];\n const queuedHomeworks = hwDetails?.queued_homeworks || [];\n const totalCount = assignedHomeworks.length + queuedHomeworks.length;\n const waitForReviewCount = getWaitForReviewSheetsCount(hwDetails);\n\n return {\n assignedHomeworks,\n queuedHomeworks,\n totalCount,\n waitForReviewCount,\n };\n }, [hwDetails]);\n\n const {\n scrollRef,\n showLeftButton,\n showRightButton,\n handleMouseEnter,\n handleMouseLeave,\n handleScrollLeft,\n handleScrollRight,\n } = useScrollButtons({\n totalCount: homeworkData.totalCount,\n });\n\n const renderHomeworkCard = useCallback(\n (item: IHomeworkItem, idx: number, isQueued = false) => {\n const {\n entity_id: entityId,\n sheets,\n subtext,\n entity_type: entitYType,\n image_url: imageUrl,\n user_milestone_id: userMilestoneId,\n state,\n score,\n id,\n } = item;\n const sheet = sheets[0];\n const isDynamicSheet = sheet?.node_type === NODE_TYPE.DYNAMIC;\n\n return (\n <FlexView\n key={`${entityId}_${idx}_${isQueued ? 'queued' : 'assigned'}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {isQueued && idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n\n {sheet && (\n <HomeworkCard\n isInQueue={isQueued}\n userType={userType}\n header={sheet.title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n puzzleHWCardRef={isQueued ? undefined : puzzleHWCardRef}\n mathFitCardRef={isQueued ? undefined : mathFitCardRef}\n onCardClick={onCardClick}\n entityType={entitYType}\n entityId={entityId}\n state={state}\n score={score}\n imageUrl={imageUrl}\n homeworkId={id}\n userMilestoneId={userMilestoneId ?? undefined}\n />\n )}\n </FlexView>\n );\n },\n [\n userType,\n studentId,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n puzzleHWCardRef,\n mathFitCardRef,\n onCardClick,\n ],\n );\n\n const homeworkCards = useMemo(() => {\n if (homeworkData.totalCount === 0) return [];\n\n const assignedCards = homeworkData.assignedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, false),\n );\n\n const queuedCards = homeworkData.queuedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, true),\n );\n\n return [...assignedCards, ...queuedCards];\n }, [\n homeworkData.assignedHomeworks,\n homeworkData.queuedHomeworks,\n renderHomeworkCard,\n homeworkData.totalCount,\n ]);\n\n if (homeworkData.totalCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({homeworkData.waitForReviewCount}/{homeworkData.totalCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={showLeftButton}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {homeworkCards}\n </FlexView>\n </Styled.ScrollContainer>\n\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={showRightButton}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","onCardClick","puzzleHWCardRef","mathFitCardRef","homeworkData","useMemo","assignedHomeworks","queuedHomeworks","totalCount","waitForReviewCount","getWaitForReviewSheetsCount","scrollRef","showLeftButton","showRightButton","handleMouseEnter","handleMouseLeave","handleScrollLeft","handleScrollRight","useScrollButtons","renderHomeworkCard","useCallback","item","idx","isQueued","entityId","sheets","subtext","entitYType","imageUrl","userMilestoneId","state","score","id","sheet","isDynamicSheet","NODE_TYPE","jsxs","FlexView","jsx","Styled.QueueWrapper","Styled.QueueText","HomeworkCard","homeworkCards","assignedCards","queuedCards","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ const o = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), t = {
2
+ randomUUID: o
3
+ };
4
+ export {
5
+ t as default
6
+ };
7
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/native.js"],"sourcesContent":["const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};"],"names":["randomUUID","native"],"mappings":"AAAA,MAAMA,IAAa,OAAO,SAAW,OAAe,OAAO,cAAc,OAAO,WAAW,KAAK,MAAM,GACvFC,IAAA;AAAA,EACb,YAAAD;AACF;","x_google_ignoreList":[0]}
@@ -1,6 +1,7 @@
1
- var t, e = new Uint8Array(16);
1
+ let t;
2
+ const e = new Uint8Array(16);
2
3
  function o() {
3
- if (!t && (t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto), !t))
4
+ if (!t && (t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !t))
4
5
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
5
6
  return t(e);
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rng.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAGA,IAAIA,GACAC,IAAQ,IAAI,WAAW,EAAE;AACd,SAASC,IAAM;AAE5B,MAAI,CAACF,MAGHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,KAAK,OAAO,WAAa,OAAe,OAAO,SAAS,mBAAoB,cAAc,SAAS,gBAAgB,KAAK,QAAQ,GAE3O,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"rng.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAGA,IAAIA;AACJ,MAAMC,IAAQ,IAAI,WAAW,EAAE;AAChB,SAASC,IAAM;AAE5B,MAAI,CAACF,MAEHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,GAE3G,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;","x_google_ignoreList":[0]}
@@ -1,14 +1,10 @@
1
- import s from "./validate.js";
2
- var t = [];
3
- for (var n = 0; n < 256; ++n)
4
- t.push((n + 256).toString(16).substr(1));
5
- function f(e) {
6
- var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, o = (t[e[i + 0]] + t[e[i + 1]] + t[e[i + 2]] + t[e[i + 3]] + "-" + t[e[i + 4]] + t[e[i + 5]] + "-" + t[e[i + 6]] + t[e[i + 7]] + "-" + t[e[i + 8]] + t[e[i + 9]] + "-" + t[e[i + 10]] + t[e[i + 11]] + t[e[i + 12]] + t[e[i + 13]] + t[e[i + 14]] + t[e[i + 15]]).toLowerCase();
7
- if (!s(o))
8
- throw TypeError("Stringified UUID is invalid");
9
- return o;
1
+ const i = [];
2
+ for (let n = 0; n < 256; ++n)
3
+ i.push((n + 256).toString(16).slice(1));
4
+ function c(n, u = 0) {
5
+ return (i[n[u + 0]] + i[n[u + 1]] + i[n[u + 2]] + i[n[u + 3]] + "-" + i[n[u + 4]] + i[n[u + 5]] + "-" + i[n[u + 6]] + i[n[u + 7]] + "-" + i[n[u + 8]] + i[n[u + 9]] + "-" + i[n[u + 10]] + i[n[u + 11]] + i[n[u + 12]] + i[n[u + 13]] + i[n[u + 14]] + i[n[u + 15]]).toLowerCase();
10
6
  }
11
7
  export {
12
- f as default
8
+ c as unsafeStringify
13
9
  };
14
10
  //# sourceMappingURL=stringify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","stringify","arr","offset","uuid","validate"],"mappings":";AAMA,IAAIA,IAAY,CAAA;AAEhB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;AAGnD,SAASC,EAAUC,GAAK;AACtB,MAAIC,IAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,GAG7EC,KAAQL,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AAMzf,MAAI,CAACE,EAASD,CAAI;AAChB,UAAM,UAAU,6BAA6B;AAG/C,SAAOA;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"stringify.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","unsafeStringify","arr","offset"],"mappings":"AAMA,MAAMA,IAAY,CAAA;AAElB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AAG3C,SAASC,EAAgBC,GAAKC,IAAS,GAAG;AAG/C,UAAQJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AACvf;","x_google_ignoreList":[0]}
@@ -1,17 +1,20 @@
1
- import d from "./rng.js";
2
- import f from "./stringify.js";
3
- function v(n, m, x) {
1
+ import e from "./native.js";
2
+ import i from "./rng.js";
3
+ import { unsafeStringify as d } from "./stringify.js";
4
+ function g(n, m, t) {
5
+ if (e.randomUUID && !m && !n)
6
+ return e.randomUUID();
4
7
  n = n || {};
5
- var r = n.random || (n.rng || d)();
8
+ const r = n.random || (n.rng || i)();
6
9
  if (r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, m) {
7
- x = x || 0;
8
- for (var a = 0; a < 16; ++a)
9
- m[x + a] = r[a];
10
+ t = t || 0;
11
+ for (let a = 0; a < 16; ++a)
12
+ m[t + a] = r[a];
10
13
  return m;
11
14
  }
12
- return f(r);
15
+ return d(r);
13
16
  }
14
17
  export {
15
- v as default
18
+ g as default
16
19
  };
17
20
  //# sourceMappingURL=v4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v4.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","rnds","rng","i","stringify"],"mappings":";;AAGA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,EAAAF,IAAUA,KAAW;AACrB,MAAIG,IAAOH,EAAQ,WAAWA,EAAQ,OAAOI;AAK7C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBF,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASG,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAJ,EAAIC,IAASG,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOJ;AAAA,EACR;AAED,SAAOK,EAAUH,CAAI;AACvB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"v4.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","native","rnds","rng","i","unsafeStringify"],"mappings":";;;AAIA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,MAAIC,EAAO,cAAc,CAACF,KAAO,CAACD;AAChC,WAAOG,EAAO;AAGhB,EAAAH,IAAUA,KAAW;AACrB,QAAMI,IAAOJ,EAAQ,WAAWA,EAAQ,OAAOK;AAK/C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBH,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASI,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAL,EAAIC,IAASI,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOL;AAAA,EACR;AAED,SAAOM,EAAgBH,CAAI;AAC7B;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.5.60",
3
+ "version": "3.5.61",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,5 +0,0 @@
1
- const a = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
2
- export {
3
- a as default
4
- };
5
- //# sourceMappingURL=regex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/regex.js"],"sourcesContent":["export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;"],"names":["REGEX"],"mappings":"AAAA,MAAAA,IAAe;","x_google_ignoreList":[0]}
@@ -1,8 +0,0 @@
1
- import e from "./regex.js";
2
- function o(t) {
3
- return typeof t == "string" && e.test(t);
4
- }
5
- export {
6
- o as default
7
- };
8
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/validate.js"],"sourcesContent":["import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;"],"names":["validate","uuid","REGEX"],"mappings":";AAEA,SAASA,EAASC,GAAM;AACtB,SAAO,OAAOA,KAAS,YAAYC,EAAM,KAAKD,CAAI;AACpD;","x_google_ignoreList":[0]}