@cuemath/leap 2.8.61-as3 → 2.8.61-as5
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.
- package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +20 -19
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +32 -28
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +70 -71
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/constants/node-constants.js +0 -1
- package/dist/features/chapters-v2/constants/node-constants.js.map +1 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js +57 -41
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/homework/card-menu-options.js +34 -44
- package/dist/features/homework/card-menu-options.js.map +1 -1
- package/dist/features/homework/homework-card.js +148 -148
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/homework/hw-card-list/api/get-homeworks.js +1 -1
- package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-styled.js +34 -0
- package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -0
- package/dist/features/homework/hw-card-list/hw-card-list.js +149 -101
- package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
- package/dist/features/homework/styles.js +16 -24
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +10 -10
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +16 -15
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
- package/dist/features/sheet-v2/resource-list/resource-list.js +11 -10
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/package.json +1 -1
@@ -1,63 +1,79 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
1
|
+
import { jsx as r, jsxs as m } from "react/jsx-runtime";
|
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
5
|
import f from "../../../assets/line-icons/icons/dart.js";
|
6
|
-
import
|
6
|
+
import l from "../../../assets/line-icons/icons/exclamation.js";
|
7
7
|
import T from "../../../assets/line-icons/icons/lock2.js";
|
8
8
|
import p from "../../../assets/line-icons/icons/play2.js";
|
9
|
-
import
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import
|
15
|
-
import { InProgressIconWrapper as
|
16
|
-
import
|
17
|
-
const
|
18
|
-
if (!
|
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";
|
13
|
+
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)
|
19
19
|
return { isOverdue: !1, daysText: "" };
|
20
|
-
const
|
21
|
-
return { isOverdue:
|
22
|
-
},
|
23
|
-
const { isOverdue:
|
24
|
-
if (
|
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))
|
25
25
|
return {
|
26
|
-
icon: /* @__PURE__ */
|
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
27
|
top: -10,
|
28
28
|
right: -10
|
29
29
|
};
|
30
|
-
switch (
|
30
|
+
switch (e) {
|
31
|
+
case "NOT_STARTED":
|
32
|
+
return {
|
33
|
+
icon: /* @__PURE__ */ r(
|
34
|
+
s,
|
35
|
+
{
|
36
|
+
$flexDirection: "row",
|
37
|
+
$alignItems: "center",
|
38
|
+
$justifyContent: "center",
|
39
|
+
$gutterX: 0.5,
|
40
|
+
$borderRadius: 16,
|
41
|
+
children: o && /* @__PURE__ */ r(i, { $renderAs: "ub3-bold", $color: "WHITE", children: o })
|
42
|
+
}
|
43
|
+
),
|
44
|
+
top: 0,
|
45
|
+
right: 0
|
46
|
+
};
|
31
47
|
case "LOCKED":
|
32
48
|
return {
|
33
|
-
icon: /* @__PURE__ */
|
49
|
+
icon: /* @__PURE__ */ r(T, { width: 32, height: 32 }),
|
34
50
|
top: -12,
|
35
51
|
right: -12
|
36
52
|
};
|
37
53
|
case "IN_PROGRESS":
|
38
54
|
return {
|
39
55
|
icon: /* @__PURE__ */ m(
|
40
|
-
|
56
|
+
s,
|
41
57
|
{
|
42
58
|
$flexDirection: "row",
|
43
59
|
$alignItems: "center",
|
44
60
|
$justifyContent: "center",
|
45
|
-
$gutterX:
|
61
|
+
$gutterX: o ? 0.25 : 0,
|
46
62
|
$borderRadius: 16,
|
47
63
|
children: [
|
48
|
-
|
49
|
-
/* @__PURE__ */
|
64
|
+
o && /* @__PURE__ */ r(i, { $renderAs: "ub3-bold", $color: "WHITE", children: o }),
|
65
|
+
/* @__PURE__ */ r(S, {})
|
50
66
|
]
|
51
67
|
}
|
52
68
|
)
|
53
69
|
};
|
54
70
|
case "COMPLETED":
|
55
71
|
return {
|
56
|
-
icon: /* @__PURE__ */
|
57
|
-
|
72
|
+
icon: /* @__PURE__ */ r(
|
73
|
+
a,
|
58
74
|
{
|
59
|
-
Icon:
|
60
|
-
label: typeof
|
75
|
+
Icon: I,
|
76
|
+
label: typeof n == "number" ? `${n}%` : void 0
|
61
77
|
}
|
62
78
|
),
|
63
79
|
top: -10,
|
@@ -65,7 +81,7 @@ const g = 60 * 60 * 24, C = ["NOT_STARTED", "IN_PROGRESS"], P = (r) => {
|
|
65
81
|
};
|
66
82
|
case "WAIT_FOR_REVIEW":
|
67
83
|
return {
|
68
|
-
icon: /* @__PURE__ */
|
84
|
+
icon: /* @__PURE__ */ r(a, { Icon: l }),
|
69
85
|
top: -10,
|
70
86
|
right: -10
|
71
87
|
};
|
@@ -74,16 +90,16 @@ const g = 60 * 60 * 24, C = ["NOT_STARTED", "IN_PROGRESS"], P = (r) => {
|
|
74
90
|
icon: void 0
|
75
91
|
};
|
76
92
|
}
|
77
|
-
},
|
78
|
-
switch (
|
93
|
+
}, X = (e) => {
|
94
|
+
switch (e) {
|
79
95
|
case "LEARNING":
|
80
|
-
return
|
96
|
+
return d;
|
81
97
|
case "RECAP":
|
82
|
-
return
|
98
|
+
return A;
|
83
99
|
case "DYNAMIC":
|
84
100
|
case "ASSESSMENT":
|
85
101
|
case "CHAPTER_ASSESSMENT":
|
86
|
-
return
|
102
|
+
return u;
|
87
103
|
case "PRACTICE":
|
88
104
|
case "EXTRA_PRACTICE":
|
89
105
|
case "TARGET_PRACTICE":
|
@@ -92,15 +108,15 @@ const g = 60 * 60 * 24, C = ["NOT_STARTED", "IN_PROGRESS"], P = (r) => {
|
|
92
108
|
case "PUZZLE_EASY":
|
93
109
|
case "PUZZLE_MEDIUM":
|
94
110
|
case "PUZZLE_HARD":
|
95
|
-
return
|
111
|
+
return R;
|
96
112
|
case "VIDEO":
|
97
113
|
return p;
|
98
114
|
default:
|
99
|
-
return
|
115
|
+
return $;
|
100
116
|
}
|
101
117
|
};
|
102
118
|
export {
|
103
|
-
|
104
|
-
|
119
|
+
X as getNodeCardBasedIcon,
|
120
|
+
V as getNodeStateBasedTagInfo
|
105
121
|
};
|
106
122
|
//# 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 '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.
|
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,48 +1,38 @@
|
|
1
|
-
import { jsx as o, jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
$
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
children: [
|
35
|
-
/* @__PURE__ */ o(r, { width: 20, height: 20 }),
|
36
|
-
/* @__PURE__ */ o(O, { $renderAs: "ub3", $color: "WHITE", children: l })
|
37
|
-
]
|
38
|
-
},
|
39
|
-
t
|
40
|
-
) }, t))
|
41
|
-
}
|
42
|
-
) }) : null;
|
43
|
-
}
|
1
|
+
import { jsx as o, jsxs as c } from "react/jsx-runtime";
|
2
|
+
import { memo as m } from "react";
|
3
|
+
import u from "../ui/buttons/clickable/clickable.js";
|
4
|
+
import { CardMenuOptionsWrapper as h, CardOptionWrapper as s, OptionText as d } from "./styles.js";
|
5
|
+
const b = m(
|
6
|
+
({ options: t, shouldOpenOnRight: i, visible: n, $width: l }) => n ? /* @__PURE__ */ o(
|
7
|
+
h,
|
8
|
+
{
|
9
|
+
$visible: n,
|
10
|
+
$background: "BLACK_2",
|
11
|
+
$borderColor: "WHITE_T_38",
|
12
|
+
$gapX: 0.5,
|
13
|
+
$width: l,
|
14
|
+
$shouldopenonright: i,
|
15
|
+
children: t.map(({ icon: p, label: a, id: r, onClick: $, disabled: e }) => /* @__PURE__ */ o(u, { onClick: () => e ? null : $(r), label: r, children: /* @__PURE__ */ c(
|
16
|
+
s,
|
17
|
+
{
|
18
|
+
$flexDirection: "row",
|
19
|
+
$alignItems: "center",
|
20
|
+
$flexGap: 8,
|
21
|
+
$gapX: 0.5,
|
22
|
+
$gutterX: 1,
|
23
|
+
$opacity: e ? 0.5 : 1,
|
24
|
+
$disabled: e,
|
25
|
+
children: [
|
26
|
+
/* @__PURE__ */ o(p, { width: 20, height: 20 }),
|
27
|
+
/* @__PURE__ */ o(d, { $renderAs: "ub3", $color: "WHITE", children: a })
|
28
|
+
]
|
29
|
+
},
|
30
|
+
r
|
31
|
+
) }, r))
|
32
|
+
}
|
33
|
+
) : null
|
44
34
|
);
|
45
35
|
export {
|
46
|
-
|
36
|
+
b as default
|
47
37
|
};
|
48
38
|
//# sourceMappingURL=card-menu-options.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"card-menu-options.js","sources":["../../../src/features/homework/card-menu-options.tsx"],"sourcesContent":["import type { FC, SVGProps } from 'react';\n\nimport { memo
|
1
|
+
{"version":3,"file":"card-menu-options.js","sources":["../../../src/features/homework/card-menu-options.tsx"],"sourcesContent":["import type { FC, SVGProps } from 'react';\n\nimport { memo } from 'react';\n\nimport Clickable from '../ui/buttons/clickable/clickable';\nimport * as Styled from './styles';\n\ninterface ICardMenuOption {\n id: string;\n label: string;\n icon: FC<SVGProps<SVGSVGElement>>;\n onClick: (id: string) => void;\n disabled: boolean;\n}\n\ninterface ICardMenuOptionsProps {\n $width?: string | number;\n options: ICardMenuOption[];\n triggerRef: React.RefObject<HTMLElement>;\n visible: boolean;\n shouldOpenOnRight: boolean;\n}\n\nconst CardMenuOptions: FC<ICardMenuOptionsProps> = memo(\n ({ options, shouldOpenOnRight, visible, $width }) => {\n if (!visible) return null;\n\n return (\n <Styled.CardMenuOptionsWrapper\n $visible={visible}\n $background=\"BLACK_2\"\n $borderColor=\"WHITE_T_38\"\n $gapX={0.5}\n $width={$width}\n $shouldopenonright={shouldOpenOnRight}\n >\n {options.map(({ icon: OptionIcon, label, id, onClick, disabled }) => (\n <Clickable onClick={() => (!disabled ? onClick(id) : null)} label={id} key={id}>\n <Styled.CardOptionWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGap={8}\n $gapX={0.5}\n $gutterX={1}\n $opacity={disabled ? 0.5 : 1}\n $disabled={disabled}\n key={id}\n >\n <OptionIcon width={20} height={20} />\n <Styled.OptionText $renderAs=\"ub3\" $color=\"WHITE\">\n {label}\n </Styled.OptionText>\n </Styled.CardOptionWrapper>\n </Clickable>\n ))}\n </Styled.CardMenuOptionsWrapper>\n );\n },\n);\n\nexport default CardMenuOptions;\n"],"names":["CardMenuOptions","memo","options","shouldOpenOnRight","visible","$width","jsx","Styled.CardMenuOptionsWrapper","OptionIcon","label","id","onClick","disabled","Clickable","jsxs","Styled.CardOptionWrapper","Styled.OptionText"],"mappings":";;;;AAuBA,MAAMA,IAA6CC;AAAA,EACjD,CAAC,EAAE,SAAAC,GAAS,mBAAAC,GAAmB,SAAAC,GAAS,QAAAC,QACjCD,IAGH,gBAAAE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAUH;AAAA,MACV,aAAY;AAAA,MACZ,cAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAAC;AAAA,MACA,oBAAoBF;AAAA,MAEnB,UAAAD,EAAQ,IAAI,CAAC,EAAE,MAAMM,GAAY,OAAAC,GAAO,IAAAC,GAAI,SAAAC,GAAS,UAAAC,0BACnDC,GAAU,EAAA,SAAS,MAAQD,IAAyB,OAAdD,EAAQD,CAAE,GAAW,OAAOA,GACjE,UAAA,gBAAAI;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,aAAY;AAAA,UACZ,UAAU;AAAA,UACV,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAUH,IAAW,MAAM;AAAA,UAC3B,WAAWA;AAAA,UAGX,UAAA;AAAA,YAAA,gBAAAN,EAACE,GAAW,EAAA,OAAO,IAAI,QAAQ,IAAI;AAAA,YACnC,gBAAAF,EAACU,GAAA,EAAkB,WAAU,OAAM,QAAO,SACvC,UACHP,GAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QALKC;AAAA,MAAA,EAMP,GAf0EA,CAgB5E,CACD;AAAA,IAAA;AAAA,EAAA,IA7BgB;AAiCzB;"}
|