@cuemath/leap 2.8.60-as1 → 2.8.60-as4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/features/analytics-events/whitelist-events.js +9 -7
  2. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  3. package/dist/features/homework/homework-card.js +77 -69
  4. package/dist/features/homework/homework-card.js.map +1 -1
  5. package/dist/features/homework/styles.js +20 -20
  6. package/dist/features/homework/styles.js.map +1 -1
  7. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +127 -81
  8. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  9. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js +16 -10
  10. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view-styled.js.map +1 -1
  11. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +76 -45
  12. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
  13. package/dist/features/sheet-v2/resource-list/resource-list.js +39 -17
  14. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
  15. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  16. package/dist/features/sheets/resources-list/resource-item/styled.js +1 -0
  17. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
  18. package/dist/features/sheets/sheets-analytics-events.js +6 -2
  19. package/dist/features/sheets/sheets-analytics-events.js.map +1 -1
  20. package/package.json +1 -1
  21. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-item.js +0 -41
  22. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-item.js.map +0 -1
  23. package/dist/features/sheet-v2/resource-list/resource-item.js +0 -51
  24. package/dist/features/sheet-v2/resource-list/resource-item.js.map +0 -1
@@ -3,22 +3,24 @@ import { WEBVIEW_ANALYTICS_WHITELIST_EVENTS as T } from "../circle-games/games/w
3
3
  import { LEADERBOARD_ANALYTICS_WHITELIST_EVENTS as S } from "../circle-games/leaderboard/leaderboard-analytics-events.js";
4
4
  import { RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS as _ } from "../milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js";
5
5
  import { TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS as I } from "../milestone/milestone-tests/tests-creation/tests-creation-analytics-events.js";
6
- import { USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS as A } from "../hooks/use-auto-play-permission/use-auto-play-permission-analytics-events.js";
7
- import { PLATFORM_WHITELIST_EVENTS_STUDENT as L } from "./platform-events-student.js";
8
- import { PLATFORM_WHITELIST_EVENTS_TEACHER as N } from "./platform-events-teacher.js";
9
- const V = {
6
+ import { SHEETS_ANALYTICS_WHITELIST_EVENTS as A } from "../sheets/sheets-analytics-events.js";
7
+ import { USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS as L } from "../hooks/use-auto-play-permission/use-auto-play-permission-analytics-events.js";
8
+ import { PLATFORM_WHITELIST_EVENTS_STUDENT as N } from "./platform-events-student.js";
9
+ import { PLATFORM_WHITELIST_EVENTS_TEACHER as o } from "./platform-events-teacher.js";
10
+ const f = {
10
11
  //* Global/Platform specific events
11
- ...L,
12
12
  ...N,
13
+ ...o,
13
14
  //* Feature specific events
14
15
  ...E,
15
16
  ...S,
16
17
  ..._,
17
- ...I,
18
18
  ...A,
19
+ ...I,
20
+ ...L,
19
21
  ...T
20
22
  };
21
23
  export {
22
- V as WHITELIST_EVENTS
24
+ f as WHITELIST_EVENTS
23
25
  };
24
26
  //# sourceMappingURL=whitelist-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whitelist-events.js","sources":["../../../src/features/analytics-events/whitelist-events.ts"],"sourcesContent":["import type { PLUGIN_NAME } from '@cuemath/analytics-v2/dist/constants';\n\nimport { GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS } from '../circle-games/game-launcher/game-launcher-analytics-events';\nimport { WEBVIEW_ANALYTICS_WHITELIST_EVENTS } from '../circle-games/games/web-view/web-view-analytics-events';\nimport { LEADERBOARD_ANALYTICS_WHITELIST_EVENTS } from '../circle-games/leaderboard/leaderboard-analytics-events';\nimport { RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS } from '../milestone/milestone-resources/resources-assign/resource-assign-analytics-events';\nimport { TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS } from './../hooks/use-auto-play-permission/use-auto-play-permission-analytics-events';\nimport { PLATFORM_WHITELIST_EVENTS_STUDENT } from './platform-events-student';\nimport { PLATFORM_WHITELIST_EVENTS_TEACHER } from './platform-events-teacher';\n\n/**\n ** Feature specific & Global/Platform specific events are imported here\n */\nconst WHITELIST_EVENTS: Record<string, PLUGIN_NAME[]> = {\n //* Global/Platform specific events\n ...PLATFORM_WHITELIST_EVENTS_STUDENT,\n ...PLATFORM_WHITELIST_EVENTS_TEACHER,\n\n //* Feature specific events\n ...GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS,\n ...LEADERBOARD_ANALYTICS_WHITELIST_EVENTS,\n ...RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS,\n ...TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS,\n ...USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS,\n ...WEBVIEW_ANALYTICS_WHITELIST_EVENTS,\n};\n\nexport { WHITELIST_EVENTS };\n"],"names":["WHITELIST_EVENTS","PLATFORM_WHITELIST_EVENTS_STUDENT","PLATFORM_WHITELIST_EVENTS_TEACHER","GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS","LEADERBOARD_ANALYTICS_WHITELIST_EVENTS","RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS","TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS","USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS","WEBVIEW_ANALYTICS_WHITELIST_EVENTS"],"mappings":";;;;;;;;AAcA,MAAMA,IAAkD;AAAA;AAAA,EAEtD,GAAGC;AAAA,EACH,GAAGC;AAAA;AAAA,EAGH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AACL;"}
1
+ {"version":3,"file":"whitelist-events.js","sources":["../../../src/features/analytics-events/whitelist-events.ts"],"sourcesContent":["import type { PLUGIN_NAME } from '@cuemath/analytics-v2/dist/constants';\n\nimport { GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS } from '../circle-games/game-launcher/game-launcher-analytics-events';\nimport { WEBVIEW_ANALYTICS_WHITELIST_EVENTS } from '../circle-games/games/web-view/web-view-analytics-events';\nimport { LEADERBOARD_ANALYTICS_WHITELIST_EVENTS } from '../circle-games/leaderboard/leaderboard-analytics-events';\nimport { RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS } from '../milestone/milestone-resources/resources-assign/resource-assign-analytics-events';\nimport { TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { SHEETS_ANALYTICS_WHITELIST_EVENTS } from '../sheets/sheets-analytics-events';\nimport { USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS } from './../hooks/use-auto-play-permission/use-auto-play-permission-analytics-events';\nimport { PLATFORM_WHITELIST_EVENTS_STUDENT } from './platform-events-student';\nimport { PLATFORM_WHITELIST_EVENTS_TEACHER } from './platform-events-teacher';\n\n/**\n ** Feature specific & Global/Platform specific events are imported here\n */\nconst WHITELIST_EVENTS: Record<string, PLUGIN_NAME[]> = {\n //* Global/Platform specific events\n ...PLATFORM_WHITELIST_EVENTS_STUDENT,\n ...PLATFORM_WHITELIST_EVENTS_TEACHER,\n\n //* Feature specific events\n ...GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS,\n ...LEADERBOARD_ANALYTICS_WHITELIST_EVENTS,\n ...RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS,\n ...SHEETS_ANALYTICS_WHITELIST_EVENTS,\n ...TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS,\n ...USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS,\n ...WEBVIEW_ANALYTICS_WHITELIST_EVENTS,\n};\n\nexport { WHITELIST_EVENTS };\n"],"names":["WHITELIST_EVENTS","PLATFORM_WHITELIST_EVENTS_STUDENT","PLATFORM_WHITELIST_EVENTS_TEACHER","GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS","LEADERBOARD_ANALYTICS_WHITELIST_EVENTS","RESOURCE_ASSIGN_ANALYTICS_WHITELIST_EVENTS","SHEETS_ANALYTICS_WHITELIST_EVENTS","TESTS_CREATION_ANALYTICS_WHITELIST_EVENTS","USE_AUTO_PLAY_PERMISSION_ANALYTICS_WHITELIST_EVENTS","WEBVIEW_ANALYTICS_WHITELIST_EVENTS"],"mappings":";;;;;;;;;AAeA,MAAMA,IAAkD;AAAA;AAAA,EAEtD,GAAGC;AAAA,EACH,GAAGC;AAAA;AAAA,EAGH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AACL;"}
@@ -31,7 +31,7 @@ const He = ({
31
31
  accuracy: S,
32
32
  due_date_ts: W,
33
33
  image_url: w,
34
- image_hue: A = "ORANGE",
34
+ image_hue: A,
35
35
  card_header: O = "",
36
36
  permissions: B,
37
37
  user_node_id: s
@@ -123,78 +123,86 @@ const He = ({
123
123
  onClick: p
124
124
  }
125
125
  ], V = !!k.find((l) => l.visible);
126
- return /* @__PURE__ */ e(ee, { onClick: v ? z : void 0, label: "homework-card", children: /* @__PURE__ */ a(ne, { $widthX: 12.5, $position: "relative", $background: `${A}_2`, children: [
127
- /* @__PURE__ */ a(
128
- ce,
129
- {
130
- $flexDirection: "row",
131
- $alignItems: "center",
132
- $width: "100%",
133
- $heightX: 3.5,
134
- $bgImage: R || "",
135
- $gutterX: 0.78125,
136
- $flexGap: 8.5,
137
- $position: "relative",
138
- children: [
139
- /* @__PURE__ */ e(
140
- oe,
141
- {
142
- $width: 31,
143
- $height: 31,
144
- $borderRadiusX: 2,
145
- $background: "WHITE_1",
146
- $position: "relative",
147
- $alignItems: "center",
148
- $justifyContent: "center",
149
- children: $ && /* @__PURE__ */ e($, { width: 20, height: 20 })
150
- }
151
- ),
152
- /* @__PURE__ */ e(te, { $renderAs: "ac4-black", children: O }),
153
- !!w && /* @__PURE__ */ e(ae, { children: /* @__PURE__ */ e(se, { src: w, alt: "Chapter image" }) })
154
- ]
155
- }
156
- ),
157
- /* @__PURE__ */ e(Z, { nodeType: c, state: X, accuracy: S, dueDateTs: W }),
158
- /* @__PURE__ */ a(u, { $gutterX: 0.75, $gapX: 1, $flexRowGapX: 0.5, $background: "WHITE", children: [
159
- /* @__PURE__ */ e(
160
- E,
161
- {
162
- renderAs: "primary",
163
- position: "bottom",
164
- tooltipItem: d || "",
165
- hidden: !K,
166
- widthX: 21.75,
167
- children: /* @__PURE__ */ e(u, { $heightX: 2.5, children: /* @__PURE__ */ e(le, { ref: o, $renderAs: "ab3", children: d }) })
168
- }
169
- ),
170
- /* @__PURE__ */ a(
171
- u,
172
- {
173
- $flexDirection: "row",
174
- $heightX: 1.25,
175
- $alignItems: "center",
176
- $justifyContent: "space-between",
177
- children: [
178
- /* @__PURE__ */ e(ue, { $renderAs: "ub3", $color: "BLACK_T_60", children: I }),
179
- !v && r && V && /* @__PURE__ */ a(u, { $position: "relative", $width: "fit-content", children: [
126
+ return /* @__PURE__ */ e(ee, { onClick: v ? z : void 0, label: "homework-card", children: /* @__PURE__ */ a(
127
+ ne,
128
+ {
129
+ $widthX: 12.5,
130
+ $position: "relative",
131
+ $background: `${A || "ORANGE"}_2`,
132
+ children: [
133
+ /* @__PURE__ */ a(
134
+ ce,
135
+ {
136
+ $flexDirection: "row",
137
+ $alignItems: "center",
138
+ $width: "100%",
139
+ $heightX: 3.5,
140
+ $bgImage: R,
141
+ $gutterX: 0.78125,
142
+ $flexGap: 8.5,
143
+ $position: "relative",
144
+ children: [
180
145
  /* @__PURE__ */ e(
181
- E,
146
+ oe,
182
147
  {
183
- renderAs: "primary",
184
- tooltipItem: "Review",
185
- position: "bottom",
186
- zIndex: 5,
187
- parentWidth: "100%",
188
- children: /* @__PURE__ */ e(he, { ref: b, onClick: G, children: /* @__PURE__ */ e(U, { width: 16, height: 16 }) })
148
+ $width: 31,
149
+ $height: 31,
150
+ $borderRadiusX: 2,
151
+ $background: "WHITE_1",
152
+ $position: "relative",
153
+ $alignItems: "center",
154
+ $justifyContent: "center",
155
+ children: $ && /* @__PURE__ */ e($, { width: 20, height: 20 })
189
156
  }
190
157
  ),
191
- /* @__PURE__ */ e(me, { $visible: j, children: /* @__PURE__ */ e(ie, { options: k }) })
192
- ] })
193
- ]
194
- }
195
- )
196
- ] })
197
- ] }) });
158
+ /* @__PURE__ */ e(te, { $renderAs: "ac4-black", children: O }),
159
+ !!w && /* @__PURE__ */ e(ae, { children: /* @__PURE__ */ e(se, { src: w, alt: "Chapter image" }) })
160
+ ]
161
+ }
162
+ ),
163
+ /* @__PURE__ */ e(Z, { nodeType: c, state: X, accuracy: S, dueDateTs: W }),
164
+ /* @__PURE__ */ a(u, { $gutterX: 0.75, $gapX: 1, $flexRowGapX: 0.5, $background: "WHITE", children: [
165
+ /* @__PURE__ */ e(
166
+ E,
167
+ {
168
+ renderAs: "primary",
169
+ position: "bottom",
170
+ tooltipItem: d,
171
+ hidden: !K,
172
+ widthX: 21.75,
173
+ children: /* @__PURE__ */ e(u, { $heightX: 2.5, children: /* @__PURE__ */ e(le, { ref: o, $renderAs: "ab3", children: d }) })
174
+ }
175
+ ),
176
+ /* @__PURE__ */ a(
177
+ u,
178
+ {
179
+ $flexDirection: "row",
180
+ $heightX: 1.25,
181
+ $alignItems: "center",
182
+ $justifyContent: "space-between",
183
+ children: [
184
+ /* @__PURE__ */ e(ue, { $renderAs: "ub3", $color: "BLACK_T_60", children: I }),
185
+ !v && r && V && /* @__PURE__ */ a(u, { $position: "relative", $width: "fit-content", children: [
186
+ /* @__PURE__ */ e(
187
+ E,
188
+ {
189
+ renderAs: "primary",
190
+ tooltipItem: "Review",
191
+ position: "bottom",
192
+ zIndex: 5,
193
+ parentWidth: "100%",
194
+ children: /* @__PURE__ */ e(he, { ref: b, onClick: G, children: /* @__PURE__ */ e(U, { width: 16, height: 16 }) })
195
+ }
196
+ ),
197
+ /* @__PURE__ */ e(me, { $visible: j, children: /* @__PURE__ */ e(ie, { options: k }) })
198
+ ] })
199
+ ]
200
+ }
201
+ )
202
+ ] })
203
+ ]
204
+ }
205
+ ) });
198
206
  };
199
207
  export {
200
208
  He as default
@@ -1 +1 @@
1
- {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { ICardMenuOption } from './card-menu-options';\n\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\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 Text from '../ui/text/text';\nimport CardMenuOptions from './card-menu-options';\nimport * as Styled from './styles';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: 'TEACHER' | 'STUDENT';\n userMilestoneId?: string;\n}\n\nconst HomeworkCard = ({\n header,\n nodeData,\n subHeader,\n userType,\n userMilestoneId,\n onNodeUnassign,\n onNodeReset,\n onNodeView,\n onNodeReview,\n onNodeAttempt,\n}: IHomeworkCardProps) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue = 'ORANGE',\n card_header: cardHeader = '',\n permissions,\n user_node_id: userNodeId,\n } = nodeData;\n\n const bgImage = nodeType && getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = nodeType && getNodeCardBasedIcon(nodeType);\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions || {};\n const isStudent = userType === 'STUDENT';\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const onStudentView = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData);\n\n return;\n }\n\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, userMilestoneId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId);\n }, [\n canResume,\n canReview,\n canStart,\n userMilestoneId,\n nodeData,\n onNodeAttempt,\n onNodeReview,\n onNodeView,\n userNodeId,\n ]);\n\n const onTeacherView = useCallback(() => {\n if (canTeacherReview) {\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\n onNodeReview(nodeData, userMilestoneId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId);\n }, [canTeacherReview, userMilestoneId, nodeData, onNodeReview, onNodeView, userNodeId]);\n\n const handleOnMenuOptionClick = (optionId: string) => {\n switch (optionId) {\n case 'card-view':\n onTeacherView();\n\n return;\n case 'card-unassign':\n nodeData && onNodeUnassign?.(nodeData, userMilestoneId);\n\n return;\n case 'card-reset':\n nodeData && onNodeReset?.(nodeData, userMilestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n };\n\n const menuOptions: ICardMenuOption[] = [\n {\n id: 'card-view',\n label: 'View',\n icon: Eye2Icon,\n visible: true,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n visible: !!canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-reset',\n label: 'Reset',\n icon: RedoIcon,\n visible: !!canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const canShowMenuOptions = !!menuOptions.find(option => option.visible);\n\n return (\n <Clickable onClick={isStudent ? onStudentView : undefined} label=\"homework-card\">\n <Styled.CardContainer $widthX={12.5} $position=\"relative\" $background={`${imageHue}_2`}>\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage || ''}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n </Styled.IconWrapper>\n <Text $renderAs=\"ac4-black\">{cardHeader}</Text>\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} dueDateTs={dueDateTs} />\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header || ''}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n {!isStudent && nodeData && canShowMenuOptions && (\n <FlexView $position=\"relative\" $width=\"fit-content\">\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={5}\n parentWidth=\"100%\"\n >\n <Styled.CardKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <Styled.CardMenuOptionsWrapper $visible={menuVisible}>\n <CardMenuOptions options={menuOptions} />\n </Styled.CardMenuOptionsWrapper>\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n </Styled.CardContainer>\n </Clickable>\n );\n};\n\nexport default HomeworkCard;\n"],"names":["HomeworkCard","header","nodeData","subHeader","userType","userMilestoneId","onNodeUnassign","onNodeReset","onNodeView","onNodeReview","onNodeAttempt","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","permissions","userNodeId","bgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","titleTextRef","showTitleTooltip","setShowTitleTooltip","useState","canStart","canResume","canReview","canTeacherReview","canUnassign","canReset","isStudent","useLayoutEffect","onStudentView","useCallback","onTeacherView","handleOnMenuOptionClick","optionId","menuOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","canShowMenuOptions","option","Clickable","jsxs","Styled.CardContainer","Styled.CardWrapper","jsx","Styled.IconWrapper","Text","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","FlexView","ArrowTooltip","Styled.HeaderText","Styled.SubHeaderText","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.CardMenuOptionsWrapper","CardMenuOptions"],"mappings":"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"}
1
+ {"version":3,"file":"homework-card.js","sources":["../../../src/features/homework/homework-card.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../chapters-v2/comps/node-card/node-card-types';\nimport type { ICardMenuOption } from './card-menu-options';\n\nimport { useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport Eye2Icon from '../../assets/line-icons/icons/eye2';\nimport MoreVerticalIcon from '../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../assets/line-icons/icons/redo';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\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 Text from '../ui/text/text';\nimport CardMenuOptions from './card-menu-options';\nimport * as Styled from './styles';\n\ninterface IHomeworkCardProps extends INodeCardCallbacks {\n header: string;\n nodeData: INodeDataProps;\n subHeader: string;\n userType: 'TEACHER' | 'STUDENT';\n userMilestoneId?: string;\n}\n\nconst HomeworkCard = ({\n header,\n nodeData,\n subHeader,\n userType,\n userMilestoneId,\n onNodeUnassign,\n onNodeReset,\n onNodeView,\n onNodeReview,\n onNodeAttempt,\n}: IHomeworkCardProps) => {\n const {\n node_type: nodeType,\n state,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n permissions,\n user_node_id: userNodeId,\n } = nodeData;\n\n const bgImage = nodeType && getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = nodeType && getNodeCardBasedIcon(nodeType);\n const containerRef = useRef<HTMLDivElement>(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions || {};\n const isStudent = userType === 'STUDENT';\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const onStudentView = useCallback(() => {\n if (canStart || canResume) {\n if (typeof onNodeAttempt !== 'function') {\n throw new Error('onNodeAttempt must be a function');\n }\n\n onNodeAttempt(nodeData);\n\n return;\n }\n\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, userMilestoneId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId);\n }, [\n canResume,\n canReview,\n canStart,\n userMilestoneId,\n nodeData,\n onNodeAttempt,\n onNodeReview,\n onNodeView,\n userNodeId,\n ]);\n\n const onTeacherView = useCallback(() => {\n if (canTeacherReview) {\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\n onNodeReview(nodeData, userMilestoneId);\n\n return;\n }\n\n if (typeof onNodeView !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onNodeView(nodeData, userMilestoneId);\n }, [canTeacherReview, userMilestoneId, nodeData, onNodeReview, onNodeView, userNodeId]);\n\n const handleOnMenuOptionClick = (optionId: string) => {\n switch (optionId) {\n case 'card-view':\n onTeacherView();\n\n return;\n case 'card-unassign':\n nodeData && onNodeUnassign?.(nodeData, userMilestoneId);\n\n return;\n case 'card-reset':\n nodeData && onNodeReset?.(nodeData, userMilestoneId);\n\n return;\n\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n };\n\n const menuOptions: ICardMenuOption[] = [\n {\n id: 'card-view',\n label: 'View',\n icon: Eye2Icon,\n visible: true,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-unassign',\n label: 'Unassign',\n icon: Styled.StyledMinus2Icon,\n visible: !!canUnassign,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'card-reset',\n label: 'Reset',\n icon: RedoIcon,\n visible: !!canReset,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n const canShowMenuOptions = !!menuOptions.find(option => option.visible);\n\n return (\n <Clickable onClick={isStudent ? onStudentView : undefined} label=\"homework-card\">\n <Styled.CardContainer\n $widthX={12.5}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n </Styled.IconWrapper>\n <Text $renderAs=\"ac4-black\">{cardHeader}</Text>\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} dueDateTs={dueDateTs} />\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n {!isStudent && nodeData && canShowMenuOptions && (\n <FlexView $position=\"relative\" $width=\"fit-content\">\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Review\"\n position=\"bottom\"\n zIndex={5}\n parentWidth=\"100%\"\n >\n <Styled.CardKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.CardKebabMenuWrapper>\n </ArrowTooltip>\n <Styled.CardMenuOptionsWrapper $visible={menuVisible}>\n <CardMenuOptions options={menuOptions} />\n </Styled.CardMenuOptionsWrapper>\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n </Styled.CardContainer>\n </Clickable>\n );\n};\n\nexport default HomeworkCard;\n"],"names":["HomeworkCard","header","nodeData","subHeader","userType","userMilestoneId","onNodeUnassign","onNodeReset","onNodeView","onNodeReview","onNodeAttempt","nodeType","state","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","permissions","userNodeId","bgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","titleTextRef","showTitleTooltip","setShowTitleTooltip","useState","canStart","canResume","canReview","canTeacherReview","canUnassign","canReset","isStudent","useLayoutEffect","onStudentView","useCallback","onTeacherView","handleOnMenuOptionClick","optionId","menuOptions","Eye2Icon","Styled.StyledMinus2Icon","RedoIcon","canShowMenuOptions","option","Clickable","jsxs","Styled.CardContainer","Styled.CardWrapper","jsx","Styled.IconWrapper","Text","Styled.BannerImageWrapper","Styled.BannerImage","NodeCardTags","FlexView","ArrowTooltip","Styled.HeaderText","Styled.SubHeaderText","Styled.CardKebabMenuWrapper","MoreVerticalIcon","Styled.CardMenuOptionsWrapper","CardMenuOptions"],"mappings":"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"}
@@ -40,21 +40,21 @@ const l = r(t)(({ theme: o }) => `
40
40
  &:hover {
41
41
  border: 1px solid ${({ theme: o }) => o.colors.BLACK};
42
42
  }
43
- `, b = r(t)(({ $bgImage: o }) => `
44
- background-image: url(${o});
45
- background-repeat: no-repeat;
46
- background-size: cover;
47
- background-position: center;
48
- overflow: hidden;
49
- `), w = r(t)`
43
+ `, b = r(t)(({ $bgImage: o }) => o ? `
44
+ background-image: url(${o});
45
+ background-repeat: no-repeat;
46
+ background-size: cover;
47
+ background-position: center;
48
+ overflow: hidden;
49
+ ` : "overflow: hidden;"), f = r(t)`
50
50
  display: flex;
51
51
  align-items: center;
52
52
  justify-content: center;
53
- `, f = r(t)`
53
+ `, w = r(t)`
54
54
  position: absolute;
55
55
  right: -18px;
56
56
  top: -4px;
57
- `, g = r.img(({ theme: o }) => {
57
+ `, h = r.img(({ theme: o }) => {
58
58
  const { gutter: e } = o.layout;
59
59
  return `
60
60
  border: 1px solid ${o.colors.BLACK_T_15};
@@ -62,7 +62,7 @@ const l = r(t)(({ theme: o }) => `
62
62
  height: ${e * 4}px;
63
63
  border-radius: 50%;
64
64
  `;
65
- }), h = r(i)`
65
+ }), g = r(i)`
66
66
  path {
67
67
  stroke: ${({ theme: o }) => o.colors.WHITE};
68
68
  }
@@ -72,13 +72,13 @@ const l = r(t)(({ theme: o }) => `
72
72
  -webkit-box-orient: vertical;
73
73
  overflow: hidden;
74
74
  text-overflow: ellipsis;
75
- `, k = r(t)`
75
+ `, v = r(t)`
76
76
  box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);
77
77
  width: 180px;
78
78
  position: relative;
79
79
  left: 0;
80
80
  top: 0;
81
- `, v = r(t)(({
81
+ `, k = r(t)(({
82
82
  theme: o,
83
83
  $disabled: e
84
84
  }) => `
@@ -91,24 +91,24 @@ const l = r(t)(({ theme: o }) => `
91
91
  path {
92
92
  fill: ${o.colors.WHITE_1};
93
93
  }
94
- `), $ = r(n)`
94
+ `), C = r(n)`
95
95
  white-space: nowrap;
96
96
  overflow: hidden;
97
97
  text-overflow: ellipsis;
98
98
  `;
99
99
  export {
100
- g as BannerImage,
101
- f as BannerImageWrapper,
100
+ h as BannerImage,
101
+ w as BannerImageWrapper,
102
102
  x as CardContainer,
103
103
  l as CardKebabMenuWrapper,
104
104
  u as CardMenuOptionsWrapper,
105
- v as CardOptionWrapper,
106
- k as CardOptions,
105
+ k as CardOptionWrapper,
106
+ v as CardOptions,
107
107
  b as CardWrapper,
108
108
  m as HeaderText,
109
- w as IconWrapper,
110
- $ as OptionText,
111
- h as StyledMinus2Icon,
109
+ f as IconWrapper,
110
+ C as OptionText,
111
+ g as StyledMinus2Icon,
112
112
  d as SubHeaderText
113
113
  };
114
114
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\nexport interface ICardWrapperProps {\n $bgImage: string;\n}\n\nexport interface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: fit-content;\n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n theme,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n left: 0;\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport interface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\n\nexport const CardOptions = styled(FlexView)`\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n width: 180px;\n position: relative;\n left: 0;\n top: 0;\n`;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","CardOptions","CardOptionWrapper","$disabled","OptionText"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,OAAAC;AAAA,EACA,UAAAI;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOeA,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKXJ,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYK,IAAgBP,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAI5CM,IAAcR,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAQ,QACzD;AAAA,4BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAMnC,GAEYC,IAAcV,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BU,IAAqBX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCW,IAAcZ,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAW,EAAO,IAAIX,EAAM;AAElB,SAAA;AAAA,wBACeA,EAAM,OAAO,UAAU;AAAA,aAClCW,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEYC,IAAmBd,EAAOe,CAAU;AAAA;AAAA,cAEnC,CAAC,EAAE,OAAAb,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIlCc,IAAahB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYxBa,IAAcjB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ7BiB,IAAoBlB,EAAOC,CAAQ,EAA2B,CAAC;AAAA,EAC1E,OAAAC;AAAA,EACA,WAAAiB;AACF,MACS;AAAA,cACKA,IAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA,oBAG/BA,IAAY,gBAAgBjB,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIpDA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGjC,GAEYkB,IAAapB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\nexport interface ICardWrapperProps {\n $bgImage: string;\n}\n\nexport interface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: fit-content;\n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n theme,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n left: 0;\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport interface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\n\nexport const CardOptions = styled(FlexView)`\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n width: 180px;\n position: relative;\n left: 0;\n top: 0;\n`;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","CardOptions","CardOptionWrapper","$disabled","OptionText"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,OAAAC;AAAA,EACA,UAAAI;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOeA,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKXJ,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYK,IAAgBP,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAI5CM,IAAcR,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAQ,QAC5DA,IACK;AAAA,8BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ7B,mBACR,GAEYC,IAAcV,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BU,IAAqBX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCW,IAAcZ,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAW,EAAO,IAAIX,EAAM;AAElB,SAAA;AAAA,wBACeA,EAAM,OAAO,UAAU;AAAA,aAClCW,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEYC,IAAmBd,EAAOe,CAAU;AAAA;AAAA,cAEnC,CAAC,EAAE,OAAAb,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIlCc,IAAahB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYxBa,IAAcjB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ7BiB,IAAoBlB,EAAOC,CAAQ,EAA2B,CAAC;AAAA,EAC1E,OAAAC;AAAA,EACA,WAAAiB;AACF,MACS;AAAA,cACKA,IAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA,oBAG/BA,IAAY,gBAAgBjB,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIpDA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGjC,GAEYkB,IAAapB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;"}