@cuemath/leap 2.8.61-as11 → 2.8.61-as12

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,125 +1,132 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { memo as P, useRef as X, useCallback as F } from "react";
3
- import v from "../../../../../assets/line-icons/icons/check2.js";
4
- import z from "../../../../../assets/line-icons/icons/eye2.js";
5
- import N from "../../../../../assets/line-icons/icons/home2.js";
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import { memo as U, useState as Y, useRef as q, useCallback as f } from "react";
3
+ import J from "../../../../../assets/line-icons/icons/check2.js";
4
+ import Q from "../../../../../assets/line-icons/icons/eye2.js";
5
+ import V from "../../../../../assets/line-icons/icons/home2.js";
6
6
  import k from "../../../../../assets/line-icons/icons/more-vertical.js";
7
- import U from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
8
- import Y from "../../../../ui/hooks/use-context-menu-click-handler.js";
9
- import q from "../../../../ui/layout/flex-view.js";
10
- import J from "../../../../ui/text/text.js";
11
- import { BLOCK_TYPE as Q } from "../../../constants/block-constants.js";
12
- import { NODE_CARD_STATES as f, TEACHER_MENU_LABELS as V } from "../../../constants/node-constants.js";
13
- import { getNodeTypeBasedBgImage as Z } from "../../../utils/index.js";
14
- import { getNodeCardBasedIcon as D } from "../../../utils/node-card-utils.js";
15
- import ee from "../border-path-animation.js";
16
- import { NodeCardContainer as re, NodeCardInfoWrapper as te, IconWrapper as ie, StyledImportantIcon as oe, NodeKebabMenuWrapper as S, NodeCardContentWrapper as ne, NodeCardTitle as ce, NodeMenuOptionsWrapper as ae } from "../node-card-styled.js";
17
- import se from "../node-card-tags.js";
18
- import le from "../node-menu-options/node-menu-options.js";
19
- const { ASSIGN_AS_HW: de, REVIEW: me, VIEW: pe, MARK_AS_DONE: he } = V, Be = P(
7
+ import Z from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
8
+ import D from "../../../../ui/hooks/use-context-menu-click-handler.js";
9
+ import ee from "../../../../ui/layout/flex-view.js";
10
+ import te from "../../../../ui/lottie-animation/lottie-animation.js";
11
+ import re from "../../../../ui/text/text.js";
12
+ import { BLOCK_TYPE as oe } from "../../../constants/block-constants.js";
13
+ import { NODE_CARD_STATES as u, TEACHER_MENU_LABELS as ie } from "../../../constants/node-constants.js";
14
+ import { getNodeTypeBasedBgImage as ne } from "../../../utils/index.js";
15
+ import { getNodeCardBasedIcon as ce } from "../../../utils/node-card-utils.js";
16
+ import ae from "../border-path-animation.js";
17
+ import { NodeCardContainer as se, NodeCardInfoWrapper as le, IconWrapper as de, StyledImportantIcon as me, NodeKebabMenuWrapper as O, NodeCardContentWrapper as pe, NodeCardTitle as he, NodeMenuOptionsWrapper as fe } from "../node-card-styled.js";
18
+ import ue from "../node-card-tags.js";
19
+ import $e from "../node-menu-options/node-menu-options.js";
20
+ const { ASSIGN_AS_HW: Ce, REVIEW: _e, VIEW: Ie, MARK_AS_DONE: ge } = ie, Pe = U(
20
21
  ({
21
- nodeData: r,
22
+ nodeData: t,
22
23
  imageHue: T,
23
- blockType: O,
24
+ blockType: L,
24
25
  isSkipped: $,
25
- onNodeAttemptLocationChange: i,
26
- onNodeMarkAsDone: o,
26
+ onNodeAttemptLocationChange: o,
27
+ onNodeMarkAsDone: i,
27
28
  onNodeView: n,
28
29
  onNodeReview: c
29
30
  }) => {
30
- const l = X(null), { menuVisible: w, onMenuClick: u } = Y(l), {
31
- accuracy: x,
32
- attempt_location: y,
31
+ const [w, C] = Y(!1), l = q(null), { menuVisible: x, onMenuClick: _ } = D(l), {
32
+ accuracy: y,
33
+ attempt_location: A,
33
34
  node_type: d,
34
35
  card_header: W,
35
- title: A,
36
+ title: B,
36
37
  state: a,
37
- is_optional: C,
38
- sheet_statement: _,
39
- permissions: B
40
- } = r, {
38
+ is_optional: I,
39
+ sheet_statement: g,
40
+ permissions: M
41
+ } = t, {
41
42
  can_change_attempt_location: H,
42
- can_mark_familiar: L,
43
+ can_mark_familiar: G,
43
44
  can_review: m
44
- } = B, p = O === Q.GOAL, s = a === f.LOCKED, G = a === f.NOT_STARTED, K = a === f.IN_PROGRESS, I = y === "INCLASS", M = !_ || !p, g = !C && (K || G), R = Z(d), b = D(d), h = F(
45
- (E) => {
46
- switch (E) {
45
+ } = M, p = L === oe.GOAL, s = a === u.LOCKED, K = a === u.NOT_STARTED, R = a === u.IN_PROGRESS, b = A === "INCLASS", j = !g || !p, E = !I && (R || K), P = ne(d), { icon: X, lottie: v } = ce(d), h = f(
46
+ (S) => {
47
+ switch (S) {
47
48
  case "node-card-view":
48
- m ? c == null || c(r) : n == null || n(r);
49
+ m ? c == null || c(t) : n == null || n(t);
49
50
  return;
50
51
  case "node-card-assign-as-hw":
51
- i == null || i(r);
52
+ o == null || o(t);
52
53
  return;
53
54
  case "node-card-mark-as-done":
54
- o == null || o(r);
55
+ i == null || i(t);
55
56
  return;
56
57
  default:
57
- throw new Error(`No callback function for ${E}`);
58
+ throw new Error(`No callback function for ${S}`);
58
59
  }
59
60
  },
60
61
  [
61
62
  m,
62
- r,
63
- i,
63
+ t,
64
64
  o,
65
+ i,
65
66
  c,
66
67
  n
67
68
  ]
68
- ), j = [
69
+ ), F = f(() => {
70
+ C(!0);
71
+ }, []), z = f(() => {
72
+ C(!1);
73
+ }, []), N = [
69
74
  {
70
75
  id: "node-card-view",
71
- label: m ? me : pe,
72
- icon: z,
76
+ label: m ? _e : Ie,
77
+ icon: Q,
73
78
  disabled: !1,
74
79
  onClick: h
75
80
  },
76
81
  {
77
82
  id: "node-card-assign-as-hw",
78
- label: de,
79
- icon: N,
80
- disabled: !H || !I,
83
+ label: Ce,
84
+ icon: V,
85
+ disabled: !H || !b,
81
86
  onClick: h
82
87
  },
83
88
  {
84
89
  id: "node-card-mark-as-done",
85
- label: he,
86
- icon: v,
87
- disabled: !L,
90
+ label: ge,
91
+ icon: J,
92
+ disabled: !G,
88
93
  onClick: h
89
94
  }
90
95
  ];
91
- return /* @__PURE__ */ t(
92
- re,
96
+ return /* @__PURE__ */ r(
97
+ se,
93
98
  {
94
- $showOutline: !g,
99
+ $showOutline: !E,
95
100
  $isSheetLocked: s,
96
101
  $background: `${T}_2`,
97
102
  $disabled: !!$,
103
+ onMouseEnter: F,
104
+ onMouseLeave: z,
98
105
  children: [
99
- /* @__PURE__ */ t(
100
- U,
106
+ /* @__PURE__ */ r(
107
+ Z,
101
108
  {
102
109
  renderAs: "primary",
103
- tooltipItem: _,
110
+ tooltipItem: g,
104
111
  position: "bottom",
105
112
  zIndex: 5,
106
- hidden: M,
113
+ hidden: j,
107
114
  parentWidth: "100%",
108
115
  widthX: 11.25,
109
116
  children: [
110
- /* @__PURE__ */ t(
111
- te,
117
+ /* @__PURE__ */ r(
118
+ le,
112
119
  {
113
120
  $flexDirection: "row",
114
121
  $alignItems: "center",
115
122
  $width: "100%",
116
123
  $heightX: 3.5,
117
- $bgImage: R,
124
+ $bgImage: P,
118
125
  $gutterX: 0.78125,
119
126
  $flexGap: 8.5,
120
127
  children: [
121
- /* @__PURE__ */ t(
122
- ie,
128
+ /* @__PURE__ */ r(
129
+ de,
123
130
  {
124
131
  $width: 31,
125
132
  $height: 31,
@@ -129,24 +136,24 @@ const { ASSIGN_AS_HW: de, REVIEW: me, VIEW: pe, MARK_AS_DONE: he } = V, Be = P(
129
136
  $justifyContent: "center",
130
137
  $opacity: s ? 0.5 : 1,
131
138
  children: [
132
- b && /* @__PURE__ */ e(b, { width: 20, height: 20 }),
133
- !C && /* @__PURE__ */ e(oe, {})
139
+ w ? /* @__PURE__ */ e(te, { src: v }) : /* @__PURE__ */ e(X, { width: 20, height: 20 }),
140
+ !I && /* @__PURE__ */ e(me, {})
134
141
  ]
135
142
  }
136
143
  ),
137
- /* @__PURE__ */ t(J, { $renderAs: "ac4-black", $color: "BLACK", $opacity: s ? 0.5 : 1, children: [
144
+ /* @__PURE__ */ r(re, { $renderAs: "ac4-black", $color: "BLACK", $opacity: s ? 0.5 : 1, children: [
138
145
  W,
139
146
  " ",
140
- I && ". CW"
147
+ b && ". CW"
141
148
  ] }),
142
- /* @__PURE__ */ e(q, { className: "context-menu", children: p && /* @__PURE__ */ e(S, { ref: l, onClick: u, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) }) }),
143
- g && !$ && /* @__PURE__ */ e(ee, {})
149
+ /* @__PURE__ */ e(ee, { className: "context-menu", children: p && /* @__PURE__ */ e(O, { ref: l, onClick: _, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) }) }),
150
+ E && !$ && /* @__PURE__ */ e(ae, {})
144
151
  ]
145
152
  }
146
153
  ),
147
- /* @__PURE__ */ e(se, { nodeType: d, state: a, accuracy: x }),
148
- !p && /* @__PURE__ */ t(
149
- ne,
154
+ /* @__PURE__ */ e(ue, { nodeType: d, state: a, accuracy: y }),
155
+ !p && /* @__PURE__ */ r(
156
+ pe,
150
157
  {
151
158
  $flexDirection: "row",
152
159
  $alignItems: "center",
@@ -156,28 +163,28 @@ const { ASSIGN_AS_HW: de, REVIEW: me, VIEW: pe, MARK_AS_DONE: he } = V, Be = P(
156
163
  $justifyContent: "space-between",
157
164
  children: [
158
165
  /* @__PURE__ */ e(
159
- ce,
166
+ he,
160
167
  {
161
168
  $renderAs: "ab3",
162
169
  $color: "BLACK_1",
163
170
  $opacity: s ? 0.5 : 1,
164
- children: A
171
+ children: B
165
172
  }
166
173
  ),
167
- /* @__PURE__ */ e(S, { ref: l, onClick: u, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) })
174
+ /* @__PURE__ */ e(O, { ref: l, onClick: _, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) })
168
175
  ]
169
176
  }
170
177
  )
171
178
  ]
172
179
  }
173
180
  ),
174
- /* @__PURE__ */ e(ae, { $visible: w, children: /* @__PURE__ */ e(le, { options: j }) })
181
+ /* @__PURE__ */ e(fe, { $visible: x, children: /* @__PURE__ */ e($e, { options: N }) })
175
182
  ]
176
183
  }
177
184
  );
178
185
  }
179
186
  );
180
187
  export {
181
- Be as default
188
+ Pe as default
182
189
  };
183
190
  //# sourceMappingURL=teacher-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport BorderPathAnimation from '../border-path-animation';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n } = nodeData;\n\n const {\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n const tooltipHidden = !sheetStatement || !isGoalBlock;\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAttemptLocationChange?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReview,\n onNodeView,\n ],\n );\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canChangeAttemptLocation || !inClassSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $isSheetLocked={sheetLocked}\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped)}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={tooltipHidden}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `. CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n\n {showCardAnimation && !isSkipped && <BorderPathAnimation />}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeView","onNodeReview","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","canChangeAttemptLocation","canMarkFamiliar","canReview","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","tooltipHidden","showCardAnimation","nodeBgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","menuOptions","Eye2Icon","Home2Icon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","BorderPathAnimation","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport BorderPathAnimation from '../border-path-animation';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n }) => {\n const [renderLottie, setRenderLottie] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n } = nodeData;\n\n const {\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n const tooltipHidden = !sheetStatement || !isGoalBlock;\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const { icon: NodeCardIcon, lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAttemptLocationChange?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReview,\n onNodeView,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n setRenderLottie(true);\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n setRenderLottie(false);\n }, []);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canChangeAttemptLocation || !inClassSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $isSheetLocked={sheetLocked}\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped)}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={tooltipHidden}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {renderLottie ? (\n <LottieAnimation src={nodeCardLottie} />\n ) : (\n <NodeCardIcon width={20} height={20} />\n )}\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `. CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n\n {showCardAnimation && !isSkipped && <BorderPathAnimation />}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeView","onNodeReview","renderLottie","setRenderLottie","useState","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","canChangeAttemptLocation","canMarkFamiliar","canReview","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","tooltipHidden","showCardAnimation","nodeBgImage","getNodeTypeBasedBgImage","NodeCardIcon","nodeCardLottie","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","handleOnMouseLeave","menuOptions","Eye2Icon","Home2Icon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","LottieAnimation","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","BorderPathAnimation","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
@@ -1,44 +1,45 @@
1
- import { jsx as r, jsxs as m } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
2
  import u from "../../../assets/line-icons/icons/alarm.js";
3
- import d from "../../../assets/line-icons/icons/bulb2.js";
4
- import I from "../../../assets/line-icons/icons/check2.js";
5
- import f from "../../../assets/line-icons/icons/dart.js";
6
- import l from "../../../assets/line-icons/icons/exclamation.js";
7
- import T from "../../../assets/line-icons/icons/lock2.js";
3
+ import I from "../../../assets/line-icons/icons/bulb2.js";
4
+ import T from "../../../assets/line-icons/icons/check2.js";
5
+ import d from "../../../assets/line-icons/icons/dart.js";
6
+ import f from "../../../assets/line-icons/icons/exclamation.js";
7
+ import R from "../../../assets/line-icons/icons/lock2.js";
8
8
  import p from "../../../assets/line-icons/icons/play2.js";
9
- import R from "../../../assets/line-icons/icons/puzzle.js";
10
- import A from "../../../assets/line-icons/icons/recap.js";
11
- import S from "../../../assets/line-icons/icons/status.js";
12
- import $ from "../../../assets/line-icons/icons/testtube.js";
9
+ import A from "../../../assets/line-icons/icons/puzzle.js";
10
+ import S from "../../../assets/line-icons/icons/recap.js";
11
+ import $ from "../../../assets/line-icons/icons/status.js";
12
+ import D from "../../../assets/line-icons/icons/testtube.js";
13
+ import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
13
14
  import h from "../../ui/layout/flex-view.js";
14
- import i from "../../ui/text/text.js";
15
- import { InProgressIconWrapper as s } from "../comps/node-card/node-card-styled.js";
16
- import a from "../comps/tag/tag.js";
17
- const D = 60 * 60 * 24, g = ["NOT_STARTED", "IN_PROGRESS"], C = (e) => {
18
- if (!e)
15
+ import s from "../../ui/text/text.js";
16
+ import { InProgressIconWrapper as a } from "../comps/node-card/node-card-styled.js";
17
+ import E from "../comps/tag/tag.js";
18
+ const C = 60 * 60 * 24, P = ["NOT_STARTED", "IN_PROGRESS"], g = (r) => {
19
+ if (!r)
19
20
  return { isOverdue: !1, daysText: "" };
20
- const n = Math.floor(Date.now() / 1e3), c = e - n, t = Math.ceil(c / D), o = t < 0, E = t > 0 ? `${Math.abs(t)}D` : "";
21
- return { isOverdue: o, daysText: E };
22
- }, V = (e, n, c) => {
23
- const { isOverdue: t, daysText: o } = C(c);
24
- if (t && g.includes(e))
21
+ const c = Math.floor(Date.now() / 1e3), i = r - c, n = Math.ceil(i / C), o = n < 0, m = n > 0 ? `${Math.abs(n)}D` : "";
22
+ return { isOverdue: o, daysText: m };
23
+ }, j = (r, c, i) => {
24
+ const { isOverdue: n, daysText: o } = g(i);
25
+ if (n && P.includes(r))
25
26
  return {
26
- icon: /* @__PURE__ */ r(h, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ r(i, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) }),
27
+ icon: /* @__PURE__ */ e(h, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(s, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) }),
27
28
  top: -10,
28
29
  right: -10
29
30
  };
30
- switch (e) {
31
+ switch (r) {
31
32
  case "NOT_STARTED":
32
33
  return {
33
- icon: /* @__PURE__ */ r(
34
- s,
34
+ icon: /* @__PURE__ */ e(
35
+ a,
35
36
  {
36
37
  $flexDirection: "row",
37
38
  $alignItems: "center",
38
39
  $justifyContent: "center",
39
40
  $gutterX: 0.5,
40
41
  $borderRadius: 16,
41
- children: o && /* @__PURE__ */ r(i, { $renderAs: "ub3-bold", $color: "WHITE", children: o })
42
+ children: o && /* @__PURE__ */ e(s, { $renderAs: "ub3-bold", $color: "WHITE", children: o })
42
43
  }
43
44
  ),
44
45
  top: 0,
@@ -46,14 +47,14 @@ const D = 60 * 60 * 24, g = ["NOT_STARTED", "IN_PROGRESS"], C = (e) => {
46
47
  };
47
48
  case "LOCKED":
48
49
  return {
49
- icon: /* @__PURE__ */ r(T, { width: 32, height: 32 }),
50
+ icon: /* @__PURE__ */ e(R, { width: 32, height: 32 }),
50
51
  top: -12,
51
52
  right: -12
52
53
  };
53
54
  case "IN_PROGRESS":
54
55
  return {
55
- icon: /* @__PURE__ */ m(
56
- s,
56
+ icon: /* @__PURE__ */ l(
57
+ a,
57
58
  {
58
59
  $flexDirection: "row",
59
60
  $alignItems: "center",
@@ -61,19 +62,19 @@ const D = 60 * 60 * 24, g = ["NOT_STARTED", "IN_PROGRESS"], C = (e) => {
61
62
  $gutterX: o ? 0.25 : 0,
62
63
  $borderRadius: 16,
63
64
  children: [
64
- o && /* @__PURE__ */ r(i, { $renderAs: "ub3-bold", $color: "WHITE", children: o }),
65
- /* @__PURE__ */ r(S, {})
65
+ o && /* @__PURE__ */ e(s, { $renderAs: "ub3-bold", $color: "WHITE", children: o }),
66
+ /* @__PURE__ */ e($, {})
66
67
  ]
67
68
  }
68
69
  )
69
70
  };
70
71
  case "COMPLETED":
71
72
  return {
72
- icon: /* @__PURE__ */ r(
73
- a,
73
+ icon: /* @__PURE__ */ e(
74
+ E,
74
75
  {
75
- Icon: I,
76
- label: typeof n == "number" ? `${n}%` : void 0
76
+ Icon: T,
77
+ label: typeof c == "number" ? `${c}%` : void 0
77
78
  }
78
79
  ),
79
80
  top: -10,
@@ -81,7 +82,7 @@ const D = 60 * 60 * 24, g = ["NOT_STARTED", "IN_PROGRESS"], C = (e) => {
81
82
  };
82
83
  case "WAIT_FOR_REVIEW":
83
84
  return {
84
- icon: /* @__PURE__ */ r(a, { Icon: l }),
85
+ icon: /* @__PURE__ */ e(E, { Icon: f }),
85
86
  top: -10,
86
87
  right: -10
87
88
  };
@@ -90,33 +91,54 @@ const D = 60 * 60 * 24, g = ["NOT_STARTED", "IN_PROGRESS"], C = (e) => {
90
91
  icon: void 0
91
92
  };
92
93
  }
93
- }, X = (e) => {
94
- switch (e) {
94
+ }, k = (r) => {
95
+ switch (r) {
95
96
  case "LEARNING":
96
- return d;
97
+ return {
98
+ lottie: t.LEARN,
99
+ icon: I
100
+ };
97
101
  case "RECAP":
98
- return A;
102
+ return {
103
+ lottie: t.RECAP,
104
+ icon: S
105
+ };
99
106
  case "DYNAMIC":
100
107
  case "ASSESSMENT":
101
108
  case "CHAPTER_ASSESSMENT":
102
- return u;
109
+ return {
110
+ lottie: t.TEST,
111
+ icon: u
112
+ };
103
113
  case "PRACTICE":
104
114
  case "EXTRA_PRACTICE":
105
115
  case "TARGET_PRACTICE":
106
116
  case "MASTERY":
107
- return f;
117
+ return {
118
+ lottie: t.PRACTICE,
119
+ icon: d
120
+ };
108
121
  case "PUZZLE_EASY":
109
122
  case "PUZZLE_MEDIUM":
110
123
  case "PUZZLE_HARD":
111
- return R;
124
+ return {
125
+ lottie: t.PUZZLE,
126
+ icon: A
127
+ };
112
128
  case "VIDEO":
113
- return p;
129
+ return {
130
+ lottie: t.VIDEO,
131
+ icon: p
132
+ };
114
133
  default:
115
- return $;
134
+ return {
135
+ lottie: t.PROJECT,
136
+ icon: D
137
+ };
116
138
  }
117
139
  };
118
140
  export {
119
- X as getNodeCardBasedIcon,
120
- V as getNodeStateBasedTagInfo
141
+ k as getNodeCardBasedIcon,
142
+ j as getNodeStateBasedTagInfo
121
143
  };
122
144
  //# sourceMappingURL=node-card-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport AlarmIcon from '../../../assets/line-icons/icons/alarm';\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport DartIcon from '../../../assets/line-icons/icons/dart';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport Play2Icon from '../../../assets/line-icons/icons/play2';\nimport PuzzleIcon from '../../../assets/line-icons/icons/puzzle';\nimport RecapIcon from '../../../assets/line-icons/icons/recap';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport TestTubeIcon from '../../../assets/line-icons/icons/testtube';\nimport FlexView from '../..//ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null): DueDateInfo => {\n if (!dueDateTs) {\n return { isOverdue: false, daysText: '' };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n accuracy?: number | null,\n dueDateTs?: number | null,\n) => {\n const { isOverdue, daysText } = calculateDueDateInfo(dueDateTs);\n\n if (isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $gutterX={0.5}\n $borderRadius={16}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $gutterX={daysText ? 0.25 : 0}\n $borderRadius={16}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: <Tag Icon={ExclamationIcon} />,\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n return Bulb2Icon;\n case 'RECAP':\n return RecapIcon;\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n return AlarmIcon;\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return DartIcon;\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return PuzzleIcon;\n case 'VIDEO':\n return Play2Icon;\n\n default:\n return TestTubeIcon;\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","accuracy","jsx","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","Bulb2Icon","RecapIcon","AlarmIcon","DartIcon","PuzzleIcon","Play2Icon","TestTubeIcon"],"mappings":"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"}
1
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport AlarmIcon from '../../../assets/line-icons/icons/alarm';\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport DartIcon from '../../../assets/line-icons/icons/dart';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport Play2Icon from '../../../assets/line-icons/icons/play2';\nimport PuzzleIcon from '../../../assets/line-icons/icons/puzzle';\nimport RecapIcon from '../../../assets/line-icons/icons/recap';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport TestTubeIcon from '../../../assets/line-icons/icons/testtube';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null): DueDateInfo => {\n if (!dueDateTs) {\n return { isOverdue: false, daysText: '' };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n accuracy?: number | null,\n dueDateTs?: number | null,\n) => {\n const { isOverdue, daysText } = calculateDueDateInfo(dueDateTs);\n\n if (isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $gutterX={0.5}\n $borderRadius={16}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $gutterX={daysText ? 0.25 : 0}\n $borderRadius={16}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: <Tag Icon={ExclamationIcon} />,\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n icon: Bulb2Icon,\n };\n case 'RECAP':\n return {\n lottie: LOTTIE.RECAP,\n icon: RecapIcon,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n icon: AlarmIcon,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n icon: DartIcon,\n };\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n icon: PuzzleIcon,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n icon: Play2Icon,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n icon: TestTubeIcon,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","accuracy","jsx","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE","Bulb2Icon","RecapIcon","AlarmIcon","DartIcon","PuzzleIcon","Play2Icon","TestTubeIcon"],"mappings":"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"}