@cuemath/leap 3.2.20-beta-0.2 → 3.2.21-m

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 (28) hide show
  1. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js +43 -43
  2. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
  3. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-utils.js +1 -1
  4. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-utils.js.map +1 -1
  5. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +12 -19
  6. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  7. package/dist/features/chapters-v2/constants/block-constants.js +2 -3
  8. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
  9. package/dist/features/chapters-v2/utils/index.js +4 -6
  10. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  11. package/dist/features/chapters-v2/utils/node-card-utils.js +0 -4
  12. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  13. package/dist/features/sheets/constants/sheet.js +1 -2
  14. package/dist/features/sheets/constants/sheet.js.map +1 -1
  15. package/dist/features/ui/buttons/button/button.js +38 -41
  16. package/dist/features/ui/buttons/button/button.js.map +1 -1
  17. package/dist/features/ui/buttons/icon-button/icon-button.js +27 -31
  18. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  19. package/dist/features/ui/buttons/text-button/text-button.js +22 -26
  20. package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
  21. package/dist/features/ui/grade-selector/grade-selector.js +27 -33
  22. package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
  23. package/dist/features/ui/tab/tab.js +26 -30
  24. package/dist/features/ui/tab/tab.js.map +1 -1
  25. package/dist/index.d.ts +3 -15
  26. package/dist/index.js +261 -263
  27. package/dist/index.js.map +1 -1
  28. package/package.json +2 -1
@@ -1,53 +1,53 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { useMemo as C, useCallback as f } from "react";
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
+ import { useMemo as C, useCallback as d } from "react";
3
3
  import { useUIContext as D } from "../../../../ui/context/context.js";
4
- import c from "../../../../ui/layout/flex-view.js";
4
+ import i from "../../../../ui/layout/flex-view.js";
5
5
  import S from "../../../../ui/text/text.js";
6
6
  import { RewardAccuracy as _ } from "../sheet-item/rewards-n-actions/reward-n-actions-styled.js";
7
7
  import v from "../sheet-item/sheet-item-icon.js";
8
- import { SheetItemContainer as O, VerticalLineWrapper as U, TopVerticalLine as j, SheetDetailsWrapper as B } from "../sheet-item/sheet-item-styled.js";
8
+ import { SheetItemContainer as O, VerticalLineWrapper as U, TopVerticalLine as B, SheetDetailsWrapper as j } from "../sheet-item/sheet-item-styled.js";
9
9
  import { getUserNodeIdsToUnlockSAT as M, getSATSheetStatementStats as G } from "./sat-sheet-item-utils.js";
10
- import { getActiveSATSheet as V } from "./sat-sheet-utils.js";
10
+ import { getActiveSheet as V } from "./sat-sheet-utils.js";
11
11
  import L from "./student-actions/student-actions.js";
12
12
  import N from "./teacher-actions/teacher-actions.js";
13
13
  const ee = ({
14
14
  blockStatus: n,
15
- satMaxScore: u,
15
+ satMaxScore: f,
16
16
  satScore: A,
17
17
  ...T
18
18
  }) => {
19
- const { blockId: o, sheets: s, userType: I, onSATReview: m, onSATUnlock: l, onSATStartOrResume: d } = T, {
20
- user_block_id: r,
19
+ const { blockId: u, sheets: c, userType: I, onSATReview: a, onSATUnlock: m, onSATStartOrResume: l } = T, {
20
+ user_block_id: e,
21
21
  can_review: h,
22
22
  can_start: g,
23
23
  can_resume: x,
24
24
  order: y
25
- } = V(s) || {}, { onEvent: p } = D(), a = C(
25
+ } = V(c) || {}, { onEvent: p } = D(), s = C(
26
26
  () => ({
27
- user_block_id: r,
28
- block_id: o
27
+ user_block_id: e,
28
+ block_id: u
29
29
  }),
30
- [o, r]
31
- ), w = !!((n === "COMPLETED" || n === "MASTERED") && h && r), $ = f(() => {
32
- if (typeof m != "function")
30
+ [u, e]
31
+ ), w = !!((n === "COMPLETED" || n === "MASTERED") && h && e), $ = d(() => {
32
+ if (typeof a != "function")
33
33
  throw new Error("onSATReview must be a function");
34
- if (!r)
34
+ if (!e)
35
35
  throw new Error("userBlockId must be a string");
36
- p("clicked", a), m(r);
37
- }, [a, m, p, r]), E = f(() => {
38
- if (typeof l != "function")
36
+ p("clicked", s), a(e);
37
+ }, [s, a, p, e]), E = d(() => {
38
+ if (typeof m != "function")
39
39
  throw new Error("onSATUnlock must be a function");
40
- const i = M(s);
41
- if (i.length === 0)
40
+ const o = M(c);
41
+ if (o.length === 0)
42
42
  throw new Error("User node IDs are missing");
43
- l(i);
44
- }, [l, s]), b = f(() => {
45
- if (typeof d != "function")
43
+ m(o);
44
+ }, [m, c]), b = d(() => {
45
+ if (typeof l != "function")
46
46
  throw new Error("onSATStartOrResume must be a function");
47
- if (!o)
48
- throw new Error("blockId must be a string");
49
- d(o);
50
- }, [d, o]);
47
+ if (!e)
48
+ throw new Error("userBlockId must be a string");
49
+ l(e);
50
+ }, [l, e]);
51
51
  return /* @__PURE__ */ t(
52
52
  O,
53
53
  {
@@ -56,10 +56,10 @@ const ee = ({
56
56
  $alignItems: "center",
57
57
  $flexGapX: 1,
58
58
  children: [
59
- /* @__PURE__ */ t(c, { $width: "70%", $flexGap: 8, $flexDirection: "row", children: [
60
- /* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(j, {}) }),
59
+ /* @__PURE__ */ t(i, { $width: "70%", $flexGap: 8, $flexDirection: "row", children: [
60
+ /* @__PURE__ */ r(U, { children: /* @__PURE__ */ r(B, {}) }),
61
61
  /* @__PURE__ */ t(
62
- B,
62
+ j,
63
63
  {
64
64
  $width: "100%",
65
65
  $flexDirection: "row",
@@ -67,25 +67,25 @@ const ee = ({
67
67
  $flexGap: 8,
68
68
  $marginBottom: 12,
69
69
  children: [
70
- /* @__PURE__ */ e(v, { chapterPermissionCode: n }),
71
- /* @__PURE__ */ t(c, { $justifyContent: "center", $width: "100%", children: [
72
- /* @__PURE__ */ e(S, { $renderAs: "body1Medium", children: "Assessment • Mock test" }),
73
- /* @__PURE__ */ e(c, { children: s.map((i) => {
74
- const { statement: k, color: R } = G(i);
75
- return /* @__PURE__ */ e(S, { $renderAs: "body2", $color: R, children: k }, i.node_id);
70
+ /* @__PURE__ */ r(v, { chapterPermissionCode: n }),
71
+ /* @__PURE__ */ t(i, { $justifyContent: "center", $width: "100%", children: [
72
+ /* @__PURE__ */ r(S, { $renderAs: "body1Medium", children: "Assessment • Mock test" }),
73
+ /* @__PURE__ */ r(i, { children: c.map((o) => {
74
+ const { statement: k, color: R } = G(o);
75
+ return /* @__PURE__ */ r(S, { $renderAs: "body2", $color: R, children: k }, o.node_id);
76
76
  }) })
77
77
  ] })
78
78
  ]
79
79
  }
80
80
  )
81
81
  ] }),
82
- /* @__PURE__ */ t(c, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 8, children: [
83
- h && u && /* @__PURE__ */ e(c, { $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ t(_, { $renderAs: "eyebrow2", $align: "center", children: [
82
+ /* @__PURE__ */ t(i, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 8, children: [
83
+ h && f && /* @__PURE__ */ r(i, { $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ t(_, { $renderAs: "eyebrow2", $align: "center", children: [
84
84
  A,
85
85
  "/",
86
- u
86
+ f
87
87
  ] }) }),
88
- I === "STUDENT" ? /* @__PURE__ */ e(
88
+ I === "STUDENT" ? /* @__PURE__ */ r(
89
89
  L,
90
90
  {
91
91
  handleOnReview: $,
@@ -94,17 +94,17 @@ const ee = ({
94
94
  canResume: !!x,
95
95
  canStart: !!g,
96
96
  handleOnStartOrResume: b,
97
- analyticsProps: a,
97
+ analyticsProps: s,
98
98
  questionOrder: y
99
99
  }
100
- ) : /* @__PURE__ */ e(
100
+ ) : /* @__PURE__ */ r(
101
101
  N,
102
102
  {
103
103
  handleOnReview: $,
104
104
  handleOnUnlock: E,
105
105
  isMenuVisible: w,
106
106
  blockStatus: n,
107
- analyticsProps: a
107
+ analyticsProps: s
108
108
  }
109
109
  )
110
110
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"sat-sheet-item.js","sources":["../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.tsx"],"sourcesContent":["import type { ISATSheetItemProps } from './sat-sheet-item-types';\n\nimport { useCallback, type FC, useMemo } from 'react';\n\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { RewardAccuracy } from '../sheet-item/rewards-n-actions/reward-n-actions-styled';\nimport SheetItemIcon from '../sheet-item/sheet-item-icon';\nimport {\n SheetDetailsWrapper,\n SheetItemContainer,\n TopVerticalLine,\n VerticalLineWrapper,\n} from '../sheet-item/sheet-item-styled';\nimport { getSATSheetStatementStats, getUserNodeIdsToUnlockSAT } from './sat-sheet-item-utils';\nimport { getActiveSATSheet } from './sat-sheet-utils';\nimport StudentActions from './student-actions/student-actions';\nimport TeacherActions from './teacher-actions/teacher-actions';\n\nconst SATSheetItem: FC<ISATSheetItemProps> = ({\n blockStatus,\n satMaxScore,\n satScore,\n ...restSATSheetItemProps\n}) => {\n const { blockId, sheets, userType, onSATReview, onSATUnlock, onSATStartOrResume } =\n restSATSheetItemProps;\n const {\n user_block_id: userBlockId,\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n order: questionOrder,\n } = getActiveSATSheet(sheets) || {};\n\n const { onEvent: trackEvent } = useUIContext();\n const analyticsProps = useMemo(\n () => ({\n user_block_id: userBlockId,\n block_id: blockId,\n }),\n [blockId, userBlockId],\n );\n\n const isMenuVisible = Boolean(\n (blockStatus === 'COMPLETED' || blockStatus === 'MASTERED') && canReview && userBlockId,\n );\n\n const handleOnReview = useCallback(() => {\n if (typeof onSATReview !== 'function') {\n throw new Error('onSATReview must be a function');\n }\n\n if (!userBlockId) {\n throw new Error('userBlockId must be a string');\n }\n\n trackEvent('clicked', analyticsProps);\n\n onSATReview(userBlockId);\n }, [analyticsProps, onSATReview, trackEvent, userBlockId]);\n\n const handleOnUnlock = useCallback(() => {\n if (typeof onSATUnlock !== 'function') {\n throw new Error('onSATUnlock must be a function');\n }\n\n const userNodeIds = getUserNodeIdsToUnlockSAT(sheets);\n\n if (userNodeIds.length === 0) {\n throw new Error('User node IDs are missing');\n }\n\n onSATUnlock(userNodeIds);\n }, [onSATUnlock, sheets]);\n\n const handleOnStartOrResume = useCallback(() => {\n if (typeof onSATStartOrResume !== 'function') {\n throw new Error('onSATStartOrResume must be a function');\n }\n\n if (!blockId) {\n throw new Error('blockId must be a string');\n }\n\n onSATStartOrResume(blockId);\n }, [onSATStartOrResume, blockId]);\n\n return (\n <SheetItemContainer\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={1}\n >\n <FlexView $width=\"70%\" $flexGap={8} $flexDirection=\"row\">\n <VerticalLineWrapper>\n <TopVerticalLine />\n </VerticalLineWrapper>\n\n <SheetDetailsWrapper\n $width=\"100%\"\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGap={8}\n $marginBottom={12}\n >\n <SheetItemIcon chapterPermissionCode={blockStatus} />\n\n <FlexView $justifyContent=\"center\" $width=\"100%\">\n <Text $renderAs=\"body1Medium\">Assessment • Mock test</Text>\n\n <FlexView>\n {sheets.map(sheet => {\n const { statement, color } = getSATSheetStatementStats(sheet);\n\n return (\n <Text $renderAs=\"body2\" key={sheet.node_id} $color={color}>\n {statement}\n </Text>\n );\n })}\n </FlexView>\n </FlexView>\n </SheetDetailsWrapper>\n </FlexView>\n\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={8}>\n {canReview && satMaxScore && (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n <RewardAccuracy $renderAs=\"eyebrow2\" $align=\"center\">\n {satScore}/{satMaxScore}\n </RewardAccuracy>\n </FlexView>\n )}\n\n {userType === 'STUDENT' ? (\n <StudentActions\n handleOnReview={handleOnReview}\n isMenuVisible={isMenuVisible}\n blockStatus={blockStatus}\n canResume={Boolean(canResume)}\n canStart={Boolean(canStart)}\n handleOnStartOrResume={handleOnStartOrResume}\n analyticsProps={analyticsProps}\n questionOrder={questionOrder}\n />\n ) : (\n <TeacherActions\n handleOnReview={handleOnReview}\n handleOnUnlock={handleOnUnlock}\n isMenuVisible={isMenuVisible}\n blockStatus={blockStatus}\n analyticsProps={analyticsProps}\n />\n )}\n </FlexView>\n </SheetItemContainer>\n );\n};\n\nexport default SATSheetItem;\n"],"names":["SATSheetItem","blockStatus","satMaxScore","satScore","restSATSheetItemProps","blockId","sheets","userType","onSATReview","onSATUnlock","onSATStartOrResume","userBlockId","canReview","canStart","canResume","questionOrder","getActiveSATSheet","trackEvent","useUIContext","analyticsProps","useMemo","isMenuVisible","handleOnReview","useCallback","handleOnUnlock","userNodeIds","getUserNodeIdsToUnlockSAT","handleOnStartOrResume","jsxs","SheetItemContainer","FlexView","jsx","VerticalLineWrapper","TopVerticalLine","SheetDetailsWrapper","SheetItemIcon","Text","sheet","statement","color","getSATSheetStatementStats","RewardAccuracy","StudentActions","TeacherActions"],"mappings":"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"}
1
+ {"version":3,"file":"sat-sheet-item.js","sources":["../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.tsx"],"sourcesContent":["import type { ISATSheetItemProps } from './sat-sheet-item-types';\n\nimport { useCallback, type FC, useMemo } from 'react';\n\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { RewardAccuracy } from '../sheet-item/rewards-n-actions/reward-n-actions-styled';\nimport SheetItemIcon from '../sheet-item/sheet-item-icon';\nimport {\n SheetDetailsWrapper,\n SheetItemContainer,\n TopVerticalLine,\n VerticalLineWrapper,\n} from '../sheet-item/sheet-item-styled';\nimport { getSATSheetStatementStats, getUserNodeIdsToUnlockSAT } from './sat-sheet-item-utils';\nimport { getActiveSheet } from './sat-sheet-utils';\nimport StudentActions from './student-actions/student-actions';\nimport TeacherActions from './teacher-actions/teacher-actions';\n\nconst SATSheetItem: FC<ISATSheetItemProps> = ({\n blockStatus,\n satMaxScore,\n satScore,\n ...restSATSheetItemProps\n}) => {\n const { blockId, sheets, userType, onSATReview, onSATUnlock, onSATStartOrResume } =\n restSATSheetItemProps;\n const {\n user_block_id: userBlockId,\n can_review: canReview,\n can_start: canStart,\n can_resume: canResume,\n order: questionOrder,\n } = getActiveSheet(sheets) || {};\n\n const { onEvent: trackEvent } = useUIContext();\n const analyticsProps = useMemo(\n () => ({\n user_block_id: userBlockId,\n block_id: blockId,\n }),\n [blockId, userBlockId],\n );\n\n const isMenuVisible = Boolean(\n (blockStatus === 'COMPLETED' || blockStatus === 'MASTERED') && canReview && userBlockId,\n );\n\n const handleOnReview = useCallback(() => {\n if (typeof onSATReview !== 'function') {\n throw new Error('onSATReview must be a function');\n }\n\n if (!userBlockId) {\n throw new Error('userBlockId must be a string');\n }\n\n trackEvent('clicked', analyticsProps);\n\n onSATReview(userBlockId);\n }, [analyticsProps, onSATReview, trackEvent, userBlockId]);\n\n const handleOnUnlock = useCallback(() => {\n if (typeof onSATUnlock !== 'function') {\n throw new Error('onSATUnlock must be a function');\n }\n\n const userNodeIds = getUserNodeIdsToUnlockSAT(sheets);\n\n if (userNodeIds.length === 0) {\n throw new Error('User node IDs are missing');\n }\n\n onSATUnlock(userNodeIds);\n }, [onSATUnlock, sheets]);\n\n const handleOnStartOrResume = useCallback(() => {\n if (typeof onSATStartOrResume !== 'function') {\n throw new Error('onSATStartOrResume must be a function');\n }\n\n if (!userBlockId) {\n throw new Error('userBlockId must be a string');\n }\n\n onSATStartOrResume(userBlockId);\n }, [onSATStartOrResume, userBlockId]);\n\n return (\n <SheetItemContainer\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={1}\n >\n <FlexView $width=\"70%\" $flexGap={8} $flexDirection=\"row\">\n <VerticalLineWrapper>\n <TopVerticalLine />\n </VerticalLineWrapper>\n\n <SheetDetailsWrapper\n $width=\"100%\"\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGap={8}\n $marginBottom={12}\n >\n <SheetItemIcon chapterPermissionCode={blockStatus} />\n\n <FlexView $justifyContent=\"center\" $width=\"100%\">\n <Text $renderAs=\"body1Medium\">Assessment • Mock test</Text>\n\n <FlexView>\n {sheets.map(sheet => {\n const { statement, color } = getSATSheetStatementStats(sheet);\n\n return (\n <Text $renderAs=\"body2\" key={sheet.node_id} $color={color}>\n {statement}\n </Text>\n );\n })}\n </FlexView>\n </FlexView>\n </SheetDetailsWrapper>\n </FlexView>\n\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={8}>\n {canReview && satMaxScore && (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n <RewardAccuracy $renderAs=\"eyebrow2\" $align=\"center\">\n {satScore}/{satMaxScore}\n </RewardAccuracy>\n </FlexView>\n )}\n\n {userType === 'STUDENT' ? (\n <StudentActions\n handleOnReview={handleOnReview}\n isMenuVisible={isMenuVisible}\n blockStatus={blockStatus}\n canResume={Boolean(canResume)}\n canStart={Boolean(canStart)}\n handleOnStartOrResume={handleOnStartOrResume}\n analyticsProps={analyticsProps}\n questionOrder={questionOrder}\n />\n ) : (\n <TeacherActions\n handleOnReview={handleOnReview}\n handleOnUnlock={handleOnUnlock}\n isMenuVisible={isMenuVisible}\n blockStatus={blockStatus}\n analyticsProps={analyticsProps}\n />\n )}\n </FlexView>\n </SheetItemContainer>\n );\n};\n\nexport default SATSheetItem;\n"],"names":["SATSheetItem","blockStatus","satMaxScore","satScore","restSATSheetItemProps","blockId","sheets","userType","onSATReview","onSATUnlock","onSATStartOrResume","userBlockId","canReview","canStart","canResume","questionOrder","getActiveSheet","trackEvent","useUIContext","analyticsProps","useMemo","isMenuVisible","handleOnReview","useCallback","handleOnUnlock","userNodeIds","getUserNodeIdsToUnlockSAT","handleOnStartOrResume","jsxs","SheetItemContainer","FlexView","jsx","VerticalLineWrapper","TopVerticalLine","SheetDetailsWrapper","SheetItemIcon","Text","sheet","statement","color","getSATSheetStatementStats","RewardAccuracy","StudentActions","TeacherActions"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  const n = (t) => t.find((e) => e.can_start || e.can_resume) ?? t[0];
2
2
  export {
3
- n as getActiveSATSheet
3
+ n as getActiveSheet
4
4
  };
5
5
  //# sourceMappingURL=sat-sheet-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sat-sheet-utils.js","sources":["../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-utils.ts"],"sourcesContent":["import type { TLPARSheetData } from '../sheet-item/sheet-item-type';\n\nconst getActiveSATSheet = (sheets: TLPARSheetData[]) => {\n const activeSheet = sheets.find(sheet => sheet.can_start || sheet.can_resume) ?? sheets[0];\n\n return activeSheet;\n};\n\nexport { getActiveSATSheet };\n"],"names":["getActiveSATSheet","sheets","sheet"],"mappings":"AAEM,MAAAA,IAAoB,CAACC,MACLA,EAAO,KAAK,CAASC,MAAAA,EAAM,aAAaA,EAAM,UAAU,KAAKD,EAAO,CAAC;"}
1
+ {"version":3,"file":"sat-sheet-utils.js","sources":["../../../../../../src/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-utils.ts"],"sourcesContent":["import type { TLPARSheetData } from '../sheet-item/sheet-item-type';\n\nconst getActiveSheet = (sheets: TLPARSheetData[]) => {\n const activeSheet = sheets.find(sheet => sheet.can_start || sheet.can_resume) ?? sheets[0];\n\n return activeSheet;\n};\n\nexport { getActiveSheet };\n"],"names":["getActiveSheet","sheets","sheet"],"mappings":"AAEM,MAAAA,IAAiB,CAACC,MACFA,EAAO,KAAK,CAASC,MAAAA,EAAM,aAAaA,EAAM,UAAU,KAAKD,EAAO,CAAC;"}
@@ -1,23 +1,16 @@
1
- import { jsx as d } from "react/jsx-runtime";
2
- import { memo as N } from "react";
3
- import { getNodeStateBasedTagInfo as m } from "../../utils/node-card-utils.js";
4
- import { SheetTagWrapper as E } from "./node-card-styled.js";
5
- const p = [
6
- "DYNAMIC",
7
- "ASSESSMENT",
8
- "CHAPTER_ASSESSMENT",
9
- "TURING_ASSESSMENT",
10
- "SAT_ENGLISH_ASSESSMENT",
11
- "SAT_MATH_ASSESSMENT"
12
- ], f = N((o) => {
13
- const { state: e, accuracy: t, nodeType: S, dueDateTs: a, isStudent: c, isMilestone: r } = o, s = p.includes(S) ? t : void 0, {
14
- icon: i,
15
- top: n,
16
- right: T
17
- } = m(e, !!c, s, a, r);
18
- return /* @__PURE__ */ d(E, { $top: n, $right: T, children: i });
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { memo as S } from "react";
3
+ import { getNodeStateBasedTagInfo as T } from "../../utils/node-card-utils.js";
4
+ import { SheetTagWrapper as N } from "./node-card-styled.js";
5
+ const h = S((o) => {
6
+ const { state: e, accuracy: t, nodeType: a, dueDateTs: c, isStudent: s, isMilestone: i } = o, n = ["DYNAMIC", "ASSESSMENT", "CHAPTER_ASSESSMENT"].includes(a) ? t : void 0, {
7
+ icon: r,
8
+ top: d,
9
+ right: m
10
+ } = T(e, !!s, n, c, i);
11
+ return /* @__PURE__ */ p(N, { $top: d, $right: m, children: r });
19
12
  });
20
13
  export {
21
- f as default
14
+ h as default
22
15
  };
23
16
  //# sourceMappingURL=node-card-tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-card-tags.js","sources":["../../../../../src/features/chapters-v2/comps/node-card/node-card-tags.tsx"],"sourcesContent":["import type { INodeCardTagsProps } from './node-card-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { getNodeStateBasedTagInfo } from '../../utils/node-card-utils';\nimport * as Styled from './node-card-styled';\n\nconst dynamicNodeTypes = [\n 'DYNAMIC',\n 'ASSESSMENT',\n 'CHAPTER_ASSESSMENT',\n 'TURING_ASSESSMENT',\n 'SAT_ENGLISH_ASSESSMENT',\n 'SAT_MATH_ASSESSMENT',\n];\n\nconst NodeCardTags: FC<INodeCardTagsProps> = memo(props => {\n const { state, accuracy, nodeType, dueDateTs, isStudent, isMilestone } = props;\n\n const isDynamicNode = dynamicNodeTypes.includes(nodeType);\n const accuracyValue = isDynamicNode ? accuracy : undefined;\n\n const {\n icon: NodeTagIcon,\n top,\n right,\n } = getNodeStateBasedTagInfo(state, !!isStudent, accuracyValue, dueDateTs, isMilestone);\n\n return (\n <Styled.SheetTagWrapper $top={top} $right={right}>\n {NodeTagIcon}\n </Styled.SheetTagWrapper>\n );\n});\n\nexport default NodeCardTags;\n"],"names":["dynamicNodeTypes","NodeCardTags","memo","props","state","accuracy","nodeType","dueDateTs","isStudent","isMilestone","accuracyValue","NodeTagIcon","top","right","getNodeStateBasedTagInfo","jsx","Styled.SheetTagWrapper"],"mappings":";;;;AAQA,MAAMA,IAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAAuCC,EAAK,CAASC,MAAA;AACzD,QAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,WAAAC,GAAW,WAAAC,GAAW,aAAAC,EAAgB,IAAAN,GAGnEO,IADgBV,EAAiB,SAASM,CAAQ,IAClBD,IAAW,QAE3C;AAAA,IACJ,MAAMM;AAAA,IACN,KAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC,EAAyBV,GAAO,CAAC,CAACI,GAAWE,GAAeH,GAAWE,CAAW;AAGpF,SAAA,gBAAAM,EAACC,GAAA,EAAuB,MAAMJ,GAAK,QAAQC,GACxC,UACHF,EAAA,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"node-card-tags.js","sources":["../../../../../src/features/chapters-v2/comps/node-card/node-card-tags.tsx"],"sourcesContent":["import type { INodeCardTagsProps } from './node-card-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { getNodeStateBasedTagInfo } from '../../utils/node-card-utils';\nimport * as Styled from './node-card-styled';\n\nconst NodeCardTags: FC<INodeCardTagsProps> = memo(props => {\n const { state, accuracy, nodeType, dueDateTs, isStudent, isMilestone } = props;\n const dynamicNodeTypes = ['DYNAMIC', 'ASSESSMENT', 'CHAPTER_ASSESSMENT'];\n const isDynamicNode = dynamicNodeTypes.includes(nodeType);\n const accuracyValue = isDynamicNode ? accuracy : undefined;\n\n const {\n icon: NodeTagIcon,\n top,\n right,\n } = getNodeStateBasedTagInfo(state, !!isStudent, accuracyValue, dueDateTs, isMilestone);\n\n return (\n <Styled.SheetTagWrapper $top={top} $right={right}>\n {NodeTagIcon}\n </Styled.SheetTagWrapper>\n );\n});\n\nexport default NodeCardTags;\n"],"names":["NodeCardTags","memo","props","state","accuracy","nodeType","dueDateTs","isStudent","isMilestone","accuracyValue","NodeTagIcon","top","right","getNodeStateBasedTagInfo","jsx","Styled.SheetTagWrapper"],"mappings":";;;;AAQM,MAAAA,IAAuCC,EAAK,CAASC,MAAA;AACzD,QAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,WAAAC,GAAW,WAAAC,GAAW,aAAAC,EAAgB,IAAAN,GAGnEO,IAFmB,CAAC,WAAW,cAAc,oBAAoB,EAChC,SAASJ,CAAQ,IAClBD,IAAW,QAE3C;AAAA,IACJ,MAAMM;AAAA,IACN,KAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC,EAAyBV,GAAO,CAAC,CAACI,GAAWE,GAAeH,GAAWE,CAAW;AAGpF,SAAA,gBAAAM,EAACC,GAAA,EAAuB,MAAMJ,GAAK,QAAQC,GACxC,UACHF,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,4 +1,4 @@
1
- var A = /* @__PURE__ */ ((S) => (S.DEFAULT = "DEFAULT", S.PREREQ = "PREREQ", S.RECAP = "RECAP", S.GOAL = "GOAL", S.TESTS = "TESTS", S.PLAYLIST = "PLAYLIST", S.SOLUTIONS = "SOLUTIONS", S.NOTES = "NOTES", S.FLASHCARDS = "FLASHCARDS", S.SUBJECTIVES = "SUBJECTIVES", S.PUZZLE_CARDS = "PUZZLE_CARDS", S.SAT_MOCK_TEST = "SAT_MOCK_TEST", S.STEP_UP = "STEP_UP", S.CHALLENGE_ARENA = "CHALLENGE_ARENA", S.DOWNLOADS = "DOWNLOADS", S))(A || {});
1
+ var A = /* @__PURE__ */ ((S) => (S.DEFAULT = "DEFAULT", S.PREREQ = "PREREQ", S.RECAP = "RECAP", S.GOAL = "GOAL", S.TESTS = "TESTS", S.PLAYLIST = "PLAYLIST", S.SOLUTIONS = "SOLUTIONS", S.NOTES = "NOTES", S.FLASHCARDS = "FLASHCARDS", S.SUBJECTIVES = "SUBJECTIVES", S.PUZZLE_CARDS = "PUZZLE_CARDS", S.SAT_MOCK_TEST = "SAT_MOCK_TEST", S.STEP_UP = "STEP_UP", S.CHALLENGE_ARENA = "CHALLENGE_ARENA", S))(A || {});
2
2
  const E = {
3
3
  DEFAULT: "Default",
4
4
  PREREQ: "Prerequisite",
@@ -13,8 +13,7 @@ const E = {
13
13
  PUZZLE_CARDS: "Puzzles",
14
14
  SAT_MOCK_TEST: "SAT Mock Test",
15
15
  STEP_UP: "Step Up",
16
- CHALLENGE_ARENA: "Challenge Arena",
17
- DOWNLOADS: "Downloads"
16
+ CHALLENGE_ARENA: "Challenge Arena"
18
17
  };
19
18
  export {
20
19
  E as BLOCK_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"block-constants.js","sources":["../../../../src/features/chapters-v2/constants/block-constants.ts"],"sourcesContent":["export enum BLOCK_TYPE {\n DEFAULT = 'DEFAULT',\n PREREQ = 'PREREQ',\n RECAP = 'RECAP',\n GOAL = 'GOAL',\n TESTS = 'TESTS',\n PLAYLIST = 'PLAYLIST',\n SOLUTIONS = 'SOLUTIONS',\n NOTES = 'NOTES',\n FLASHCARDS = 'FLASHCARDS',\n SUBJECTIVES = 'SUBJECTIVES',\n PUZZLE_CARDS = 'PUZZLE_CARDS',\n SAT_MOCK_TEST = 'SAT_MOCK_TEST',\n STEP_UP = 'STEP_UP',\n CHALLENGE_ARENA = 'CHALLENGE_ARENA',\n DOWNLOADS = 'DOWNLOADS',\n}\n\nexport enum SECTION_CODE {\n READINESS = 'READINESS',\n GOALS = 'GOALS',\n TESTS = 'TESTS',\n ENRICHMENT = 'ENRICHMENT',\n SUBJECTIVE = 'SUBJECTIVE',\n VIDEOS = 'VIDEOS',\n NOTES = 'NOTES',\n FLASHCARDS = 'FLASHCARDS',\n PUZZLE_CARDS = 'PUZZLE_CARDS',\n}\n\nexport const BLOCK_NAME: Record<BLOCK_TYPE, string> = {\n [BLOCK_TYPE.DEFAULT]: 'Default',\n [BLOCK_TYPE.PREREQ]: 'Prerequisite',\n [BLOCK_TYPE.RECAP]: 'Recap',\n [BLOCK_TYPE.GOAL]: 'Lesson',\n [BLOCK_TYPE.TESTS]: 'Tests',\n [BLOCK_TYPE.PLAYLIST]: 'Videos',\n [BLOCK_TYPE.SOLUTIONS]: 'Solutions',\n [BLOCK_TYPE.NOTES]: 'Notes',\n [BLOCK_TYPE.FLASHCARDS]: 'Flashcards',\n [BLOCK_TYPE.SUBJECTIVES]: 'Subjective Questions',\n [BLOCK_TYPE.PUZZLE_CARDS]: 'Puzzles',\n [BLOCK_TYPE.SAT_MOCK_TEST]: 'SAT Mock Test',\n [BLOCK_TYPE.STEP_UP]: 'Step Up',\n [BLOCK_TYPE.CHALLENGE_ARENA]: 'Challenge Arena',\n [BLOCK_TYPE.DOWNLOADS]: 'Downloads',\n};\n"],"names":["BLOCK_TYPE","BLOCK_NAME"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,aAAa,cACbA,EAAA,cAAc,eACdA,EAAA,eAAe,gBACfA,EAAA,gBAAgB,iBAChBA,EAAA,UAAU,WACVA,EAAA,kBAAkB,mBAClBA,EAAA,YAAY,aAfFA,IAAAA,KAAA,CAAA,CAAA;AA8BL,MAAMC,IAAyC;AAAA,EACnD,SAAqB;AAAA,EACrB,QAAoB;AAAA,EACpB,OAAmB;AAAA,EACnB,MAAkB;AAAA,EAClB,OAAmB;AAAA,EACnB,UAAsB;AAAA,EACtB,WAAuB;AAAA,EACvB,OAAmB;AAAA,EACnB,YAAwB;AAAA,EACxB,aAAyB;AAAA,EACzB,cAA0B;AAAA,EAC1B,eAA2B;AAAA,EAC3B,SAAqB;AAAA,EACrB,iBAA6B;AAAA,EAC7B,WAAuB;AAC1B;"}
1
+ {"version":3,"file":"block-constants.js","sources":["../../../../src/features/chapters-v2/constants/block-constants.ts"],"sourcesContent":["export enum BLOCK_TYPE {\n DEFAULT = 'DEFAULT',\n PREREQ = 'PREREQ',\n RECAP = 'RECAP',\n GOAL = 'GOAL',\n TESTS = 'TESTS',\n PLAYLIST = 'PLAYLIST',\n SOLUTIONS = 'SOLUTIONS',\n NOTES = 'NOTES',\n FLASHCARDS = 'FLASHCARDS',\n SUBJECTIVES = 'SUBJECTIVES',\n PUZZLE_CARDS = 'PUZZLE_CARDS',\n SAT_MOCK_TEST = 'SAT_MOCK_TEST',\n STEP_UP = 'STEP_UP',\n CHALLENGE_ARENA = 'CHALLENGE_ARENA',\n}\n\nexport enum SECTION_CODE {\n READINESS = 'READINESS',\n GOALS = 'GOALS',\n TESTS = 'TESTS',\n ENRICHMENT = 'ENRICHMENT',\n SUBJECTIVE = 'SUBJECTIVE',\n VIDEOS = 'VIDEOS',\n NOTES = 'NOTES',\n FLASHCARDS = 'FLASHCARDS',\n PUZZLE_CARDS = 'PUZZLE_CARDS',\n}\n\nexport const BLOCK_NAME: Record<BLOCK_TYPE, string> = {\n [BLOCK_TYPE.DEFAULT]: 'Default',\n [BLOCK_TYPE.PREREQ]: 'Prerequisite',\n [BLOCK_TYPE.RECAP]: 'Recap',\n [BLOCK_TYPE.GOAL]: 'Lesson',\n [BLOCK_TYPE.TESTS]: 'Tests',\n [BLOCK_TYPE.PLAYLIST]: 'Videos',\n [BLOCK_TYPE.SOLUTIONS]: 'Solutions',\n [BLOCK_TYPE.NOTES]: 'Notes',\n [BLOCK_TYPE.FLASHCARDS]: 'Flashcards',\n [BLOCK_TYPE.SUBJECTIVES]: 'Subjective Questions',\n [BLOCK_TYPE.PUZZLE_CARDS]: 'Puzzles',\n [BLOCK_TYPE.SAT_MOCK_TEST]: 'SAT Mock Test',\n [BLOCK_TYPE.STEP_UP]: 'Step Up',\n [BLOCK_TYPE.CHALLENGE_ARENA]: 'Challenge Arena',\n};\n"],"names":["BLOCK_TYPE","BLOCK_NAME"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,aAAa,cACbA,EAAA,cAAc,eACdA,EAAA,eAAe,gBACfA,EAAA,gBAAgB,iBAChBA,EAAA,UAAU,WACVA,EAAA,kBAAkB,mBAdRA,IAAAA,KAAA,CAAA,CAAA;AA6BL,MAAMC,IAAyC;AAAA,EACnD,SAAqB;AAAA,EACrB,QAAoB;AAAA,EACpB,OAAmB;AAAA,EACnB,MAAkB;AAAA,EAClB,OAAmB;AAAA,EACnB,UAAsB;AAAA,EACtB,WAAuB;AAAA,EACvB,OAAmB;AAAA,EACnB,YAAwB;AAAA,EACxB,aAAyB;AAAA,EACzB,cAA0B;AAAA,EAC1B,eAA2B;AAAA,EAC3B,SAAqB;AAAA,EACrB,iBAA6B;AAChC;"}
@@ -1,8 +1,8 @@
1
1
  import { ILLUSTRATIONS as e } from "../../../assets/illustrations/illustrations.js";
2
2
  const A = (E) => {
3
3
  if (!E) return 0;
4
- const { mandatory: c } = E, { completed: S, total: _ } = c;
5
- return _ === 0 ? 0 : Math.floor(S / _ * 100);
4
+ const { mandatory: S } = E, { completed: T, total: _ } = S;
5
+ return _ === 0 ? 0 : Math.floor(T / _ * 100);
6
6
  }, r = (E) => {
7
7
  switch (E) {
8
8
  case "LEVEL2":
@@ -47,13 +47,11 @@ const A = (E) => {
47
47
  return e.NODE_ACTIVITY_BG;
48
48
  case "VIDEO":
49
49
  return e.NODE_VIDEO_BG;
50
- case "PDF":
51
- return e.NODE_DOWNLOAD_BG;
52
50
  default:
53
51
  return e.NODE_PROJECT_BG;
54
52
  }
55
- }, t = (E, c, S, _) => {
56
- if (!S) return `(${c})`;
53
+ }, t = (E, S, T, _) => {
54
+ if (!T) return `(${S})`;
57
55
  if (!(E || !_))
58
56
  return `${_}`;
59
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'TURING_SUBJECTIVE':\n return ILLUSTRATIONS.NODE_SUBJECTIVE_BG;\n\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return ILLUSTRATIONS.NODE_ACTIVITY_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n case 'PDF':\n return ILLUSTRATIONS.NODE_DOWNLOAD_BG;\n\n default:\n return ILLUSTRATIONS.NODE_PROJECT_BG;\n }\n};\n\nconst getSheetNLessonCount = (\n isSkipped: boolean,\n sheetsLength: number,\n isGoalBlock?: boolean,\n lessonIdx?: number,\n) => {\n if (!isGoalBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAEMC,IAAuB,CAC3BC,GACAC,GACAC,GACAC,MACG;AACH,MAAI,CAACD,EAAoB,QAAA,IAAID,CAAY;AAErC,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'TURING_SUBJECTIVE':\n return ILLUSTRATIONS.NODE_SUBJECTIVE_BG;\n\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return ILLUSTRATIONS.NODE_ACTIVITY_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n default:\n return ILLUSTRATIONS.NODE_PROJECT_BG;\n }\n};\n\nconst getSheetNLessonCount = (\n isSkipped: boolean,\n sheetsLength: number,\n isGoalBlock?: boolean,\n lessonIdx?: number,\n) => {\n if (!isGoalBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAEMC,IAAuB,CAC3BC,GACAC,GACAC,GACAC,MACG;AACH,MAAI,CAACD,EAAoB,QAAA,IAAID,CAAY;AAErC,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB;"}
@@ -179,10 +179,6 @@ const u = 60 * 60 * 24, _ = ["NOT_STARTED"], C = (r, c) => {
179
179
  return {
180
180
  lottie: t.VIDEO
181
181
  };
182
- case "PDF":
183
- return {
184
- lottie: t.DOWNLOAD
185
- };
186
182
  default:
187
183
  return {
188
184
  lottie: t.PROJECT
@@ -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 Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\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 differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\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, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\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 </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\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 $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\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: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\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 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n case 'PDF':\n return {\n lottie: LOTTIE.DOWNLOAD,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"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 Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\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 differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\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, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\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 </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\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 $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\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: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\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 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
@@ -84,8 +84,7 @@ const { TETRA: A, HEXO: S, OCTO: R, DODA: C, CHATVA: N, COSA: _, ASHTA: P, ZODAS
84
84
  VIDEO: "VIDEO",
85
85
  TARGET_PRACTICE: "TARGET_PRACTICE",
86
86
  MASTERY: "MASTERY",
87
- TRIAL_DIAGNOSTIC: "TRIAL_DIAGNOSTIC",
88
- PDF: "PDF"
87
+ TRIAL_DIAGNOSTIC: "TRIAL_DIAGNOSTIC"
89
88
  }, B = {
90
89
  CORE: "CORE",
91
90
  TESTS: "TESTS",
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.js","sources":["../../../../src/features/sheets/constants/sheet.ts"],"sourcesContent":["import type {\n TSheetAttemptLocation,\n TSheetStateProps,\n} from '../sheets-list/sheet-item/sheet-item-types';\n\nimport { REWARD_BADGE } from '../../../constants/reward-badge';\n\nconst { TETRA, HEXO, OCTO, DODA, CHATVA, COSA, ASHTA, ZODASA, DVI, EKA } = REWARD_BADGE;\n\nconst MATH_REWARDS = [TETRA, HEXO, OCTO, DODA, COSA];\n\nconst INSTRUCTION_REWARDS = [EKA, DVI, CHATVA, ASHTA, ZODASA];\n\nconst REWARDS_LIST = [...MATH_REWARDS, ...INSTRUCTION_REWARDS];\n\nconst SHEET_STATE: Record<TSheetStateProps, TSheetStateProps> = {\n NOT_STARTED: 'NOT_STARTED',\n LOCKED: 'LOCKED',\n FAMILIAR: 'FAMILIAR',\n IN_PROGRESS: 'IN_PROGRESS',\n PROFICIENT: 'PROFICIENT',\n MASTERED: 'MASTERED',\n RE_ATTEMPT: 'RE_ATTEMPT',\n COMPLETED: 'COMPLETED',\n WAIT_FOR_REVIEW: 'WAIT_FOR_REVIEW',\n};\n\nconst COMPLETED_SHEET_STATE = [\n SHEET_STATE.FAMILIAR,\n SHEET_STATE.MASTERED,\n SHEET_STATE.PROFICIENT,\n SHEET_STATE.COMPLETED,\n];\n\nconst NODE_LABELS = {\n ASSESSMENT: 'ASSESSMENT',\n CHAPTER_ASSESSMENT: 'ASSESSMENT',\n DIAGNOSTIC: 'READINESS',\n EXTRA_PRACTICE: 'EXTRA PRACTICE',\n LEARNING: 'LEARNING',\n LEVEL2: 'ADVANCED',\n LEVEL3: 'ADVANCED',\n PPT_BASIC: 'PRESENTATION',\n PPT_CONTENT: 'PRESENTATION',\n PPT_VIVA: 'PRESENTATION',\n PRACTICE: 'PRACTICE',\n PUZZLE: 'PUZZLE',\n PYTHON_BASIC: 'CODING ACTIVITY',\n PYTHON_VISUAL: 'CODING ACTIVITY',\n RECAP: 'RECAP',\n REMEDIAL: 'BRUSH UP',\n REVISION: 'REVISION',\n SUBJECTIVE: 'SUBJECTIVE',\n TEST_SERIES: 'TEST SERIES',\n TURING_ASSESSMENT: 'CODING ASSESSMENT',\n TURING_BASIC: 'CODING ACTIVITY',\n TURING_LINK: 'CODING ACTIVITY',\n TURING_PRACTICE: 'CODING PRACTICE',\n TURING_SHARE: 'CODING ACTIVITY',\n TURING_SUBJECTIVE: 'CODING SUBJECTIVE',\n TEST: 'TEST',\n TARGET_PRACTICE: 'TARGET PRACTICE',\n} as const;\n\nconst PYTHON_NODE_TYPES = {\n PPT_BASIC: 'PPT_BASIC',\n PPT_CONTENT: 'PPT_CONTENT',\n PPT_VIVA: 'PPT_VIVA',\n} as const;\n\nconst NODE_TYPE = {\n ASSESSMENT: 'ASSESSMENT',\n CHAPTER_ASSESSMENT: 'CHAPTER_ASSESSMENT',\n DECK: 'DECK',\n DIAGNOSTIC: 'DIAGNOSTIC',\n DYNAMIC: 'DYNAMIC',\n EXTRA_PRACTICE: 'EXTRA_PRACTICE',\n GENERAL: 'GENERAL',\n HIDDEN_BASIC: 'HIDDEN_BASIC',\n LEARNING: 'LEARNING',\n LEGACY: 'LEGACY',\n LEVEL2: 'LEVEL2',\n LEVEL3: 'LEVEL3',\n NOTE: 'NOTE',\n PRACTICE: 'PRACTICE',\n PUZZLE_EASY: 'PUZZLE_EASY',\n PUZZLE_HARD: 'PUZZLE_HARD',\n PUZZLE_MEDIUM: 'PUZZLE_MEDIUM',\n PUZZLE: 'PUZZLE',\n PUZZLE_CARD: 'PUZZLE_CARD',\n PYTHON_BASIC: 'PYTHON_BASIC',\n PYTHON_VISUAL: 'PYTHON_VISUAL',\n RECAP: 'RECAP',\n REMEDIAL: 'REMEDIAL',\n REVISION: 'REVISION',\n SIMULATION: 'SIMULATION',\n SUBJECTIVE: 'SUBJECTIVE',\n TEST_SERIES: 'TEST_SERIES',\n TEST: 'TEST',\n TURING_ASSESSMENT: 'TURING_ASSESSMENT',\n TURING_BASIC: 'TURING_BASIC',\n TURING_LINK: 'TURING_LINK',\n TURING_PRACTICE: 'TURING_PRACTICE',\n TURING_SHARE: 'TURING_SHARE',\n TURING_SUBJECTIVE: 'TURING_SUBJECTIVE',\n VIDEO: 'VIDEO',\n TARGET_PRACTICE: 'TARGET_PRACTICE',\n MASTERY: 'MASTERY',\n TRIAL_DIAGNOSTIC: 'TRIAL_DIAGNOSTIC',\n PDF: 'PDF',\n} as const;\n\nexport const NODE_SUB_GROUP = {\n CORE: 'CORE',\n TESTS: 'TESTS',\n CATCH_UP: 'CATCH_UP',\n STEP_UP: 'STEP_UP',\n PUZZLE: 'PUZZLE',\n PRACTICE: 'PRACTICE',\n} as const;\n\nconst SHEET_ATTEMPT_STATE = {\n COMPLETED: 'COMPLETED',\n IN_PROGRESS: 'IN_PROGRESS',\n IN_REVIEW: 'IN_REVIEW',\n NO_JUSTIFY: 'NO_JUSTIFY',\n REJECTED: 'REJECTED',\n REVIEWED: 'REVIEWED',\n SKIPPED: 'SKIPPED',\n WAIT_FOR_END_REVIEW: 'WAIT_FOR_END_REVIEW',\n WAIT_FOR_REVIEW: 'WAIT_FOR_REVIEW',\n} as const;\n\nconst SHEET_ATTEMPT_LOCATION = {\n INCLASS: 'INCLASS',\n ATHOME: 'ATHOME',\n ANY: 'ANY',\n} as const;\n\nconst SHEET_ACTIONS = {\n START: 'START',\n RESUME: 'RESUME',\n RE_ATTEMPT: 'RE_ATTEMPT',\n} as const;\n\nconst SHEET_ATTEMPT_LOCATION_MAP: Record<TSheetAttemptLocation, string> = {\n [SHEET_ATTEMPT_LOCATION.INCLASS]: 'CW',\n [SHEET_ATTEMPT_LOCATION.ATHOME]: 'HW',\n [SHEET_ATTEMPT_LOCATION.ANY]: 'CW/HW',\n};\n\nconst SHEET_DATA_TYPE = {\n LESSON: 'lesson',\n SUPPLEMENTARY: 'supplementary-sheets-grouped',\n} as const;\n\nexport {\n COMPLETED_SHEET_STATE,\n NODE_TYPE,\n REWARDS_LIST,\n SHEET_ACTIONS,\n SHEET_ATTEMPT_LOCATION,\n SHEET_ATTEMPT_STATE,\n SHEET_STATE,\n SHEET_ATTEMPT_LOCATION_MAP,\n SHEET_DATA_TYPE,\n NODE_LABELS,\n PYTHON_NODE_TYPES,\n};\n"],"names":["TETRA","HEXO","OCTO","DODA","CHATVA","COSA","ASHTA","ZODASA","DVI","EKA","REWARD_BADGE","MATH_REWARDS","INSTRUCTION_REWARDS","REWARDS_LIST","SHEET_STATE","COMPLETED_SHEET_STATE","NODE_LABELS","PYTHON_NODE_TYPES","NODE_TYPE","NODE_SUB_GROUP","SHEET_ATTEMPT_STATE","SHEET_ATTEMPT_LOCATION","SHEET_ACTIONS","SHEET_ATTEMPT_LOCATION_MAP","SHEET_DATA_TYPE"],"mappings":"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"}
1
+ {"version":3,"file":"sheet.js","sources":["../../../../src/features/sheets/constants/sheet.ts"],"sourcesContent":["import type {\n TSheetAttemptLocation,\n TSheetStateProps,\n} from '../sheets-list/sheet-item/sheet-item-types';\n\nimport { REWARD_BADGE } from '../../../constants/reward-badge';\n\nconst { TETRA, HEXO, OCTO, DODA, CHATVA, COSA, ASHTA, ZODASA, DVI, EKA } = REWARD_BADGE;\n\nconst MATH_REWARDS = [TETRA, HEXO, OCTO, DODA, COSA];\n\nconst INSTRUCTION_REWARDS = [EKA, DVI, CHATVA, ASHTA, ZODASA];\n\nconst REWARDS_LIST = [...MATH_REWARDS, ...INSTRUCTION_REWARDS];\n\nconst SHEET_STATE: Record<TSheetStateProps, TSheetStateProps> = {\n NOT_STARTED: 'NOT_STARTED',\n LOCKED: 'LOCKED',\n FAMILIAR: 'FAMILIAR',\n IN_PROGRESS: 'IN_PROGRESS',\n PROFICIENT: 'PROFICIENT',\n MASTERED: 'MASTERED',\n RE_ATTEMPT: 'RE_ATTEMPT',\n COMPLETED: 'COMPLETED',\n WAIT_FOR_REVIEW: 'WAIT_FOR_REVIEW',\n};\n\nconst COMPLETED_SHEET_STATE = [\n SHEET_STATE.FAMILIAR,\n SHEET_STATE.MASTERED,\n SHEET_STATE.PROFICIENT,\n SHEET_STATE.COMPLETED,\n];\n\nconst NODE_LABELS = {\n ASSESSMENT: 'ASSESSMENT',\n CHAPTER_ASSESSMENT: 'ASSESSMENT',\n DIAGNOSTIC: 'READINESS',\n EXTRA_PRACTICE: 'EXTRA PRACTICE',\n LEARNING: 'LEARNING',\n LEVEL2: 'ADVANCED',\n LEVEL3: 'ADVANCED',\n PPT_BASIC: 'PRESENTATION',\n PPT_CONTENT: 'PRESENTATION',\n PPT_VIVA: 'PRESENTATION',\n PRACTICE: 'PRACTICE',\n PUZZLE: 'PUZZLE',\n PYTHON_BASIC: 'CODING ACTIVITY',\n PYTHON_VISUAL: 'CODING ACTIVITY',\n RECAP: 'RECAP',\n REMEDIAL: 'BRUSH UP',\n REVISION: 'REVISION',\n SUBJECTIVE: 'SUBJECTIVE',\n TEST_SERIES: 'TEST SERIES',\n TURING_ASSESSMENT: 'CODING ASSESSMENT',\n TURING_BASIC: 'CODING ACTIVITY',\n TURING_LINK: 'CODING ACTIVITY',\n TURING_PRACTICE: 'CODING PRACTICE',\n TURING_SHARE: 'CODING ACTIVITY',\n TURING_SUBJECTIVE: 'CODING SUBJECTIVE',\n TEST: 'TEST',\n TARGET_PRACTICE: 'TARGET PRACTICE',\n} as const;\n\nconst PYTHON_NODE_TYPES = {\n PPT_BASIC: 'PPT_BASIC',\n PPT_CONTENT: 'PPT_CONTENT',\n PPT_VIVA: 'PPT_VIVA',\n} as const;\n\nconst NODE_TYPE = {\n ASSESSMENT: 'ASSESSMENT',\n CHAPTER_ASSESSMENT: 'CHAPTER_ASSESSMENT',\n DECK: 'DECK',\n DIAGNOSTIC: 'DIAGNOSTIC',\n DYNAMIC: 'DYNAMIC',\n EXTRA_PRACTICE: 'EXTRA_PRACTICE',\n GENERAL: 'GENERAL',\n HIDDEN_BASIC: 'HIDDEN_BASIC',\n LEARNING: 'LEARNING',\n LEGACY: 'LEGACY',\n LEVEL2: 'LEVEL2',\n LEVEL3: 'LEVEL3',\n NOTE: 'NOTE',\n PRACTICE: 'PRACTICE',\n PUZZLE_EASY: 'PUZZLE_EASY',\n PUZZLE_HARD: 'PUZZLE_HARD',\n PUZZLE_MEDIUM: 'PUZZLE_MEDIUM',\n PUZZLE: 'PUZZLE',\n PUZZLE_CARD: 'PUZZLE_CARD',\n PYTHON_BASIC: 'PYTHON_BASIC',\n PYTHON_VISUAL: 'PYTHON_VISUAL',\n RECAP: 'RECAP',\n REMEDIAL: 'REMEDIAL',\n REVISION: 'REVISION',\n SIMULATION: 'SIMULATION',\n SUBJECTIVE: 'SUBJECTIVE',\n TEST_SERIES: 'TEST_SERIES',\n TEST: 'TEST',\n TURING_ASSESSMENT: 'TURING_ASSESSMENT',\n TURING_BASIC: 'TURING_BASIC',\n TURING_LINK: 'TURING_LINK',\n TURING_PRACTICE: 'TURING_PRACTICE',\n TURING_SHARE: 'TURING_SHARE',\n TURING_SUBJECTIVE: 'TURING_SUBJECTIVE',\n VIDEO: 'VIDEO',\n TARGET_PRACTICE: 'TARGET_PRACTICE',\n MASTERY: 'MASTERY',\n TRIAL_DIAGNOSTIC: 'TRIAL_DIAGNOSTIC',\n} as const;\n\nexport const NODE_SUB_GROUP = {\n CORE: 'CORE',\n TESTS: 'TESTS',\n CATCH_UP: 'CATCH_UP',\n STEP_UP: 'STEP_UP',\n PUZZLE: 'PUZZLE',\n PRACTICE: 'PRACTICE',\n} as const;\n\nconst SHEET_ATTEMPT_STATE = {\n COMPLETED: 'COMPLETED',\n IN_PROGRESS: 'IN_PROGRESS',\n IN_REVIEW: 'IN_REVIEW',\n NO_JUSTIFY: 'NO_JUSTIFY',\n REJECTED: 'REJECTED',\n REVIEWED: 'REVIEWED',\n SKIPPED: 'SKIPPED',\n WAIT_FOR_END_REVIEW: 'WAIT_FOR_END_REVIEW',\n WAIT_FOR_REVIEW: 'WAIT_FOR_REVIEW',\n} as const;\n\nconst SHEET_ATTEMPT_LOCATION = {\n INCLASS: 'INCLASS',\n ATHOME: 'ATHOME',\n ANY: 'ANY',\n} as const;\n\nconst SHEET_ACTIONS = {\n START: 'START',\n RESUME: 'RESUME',\n RE_ATTEMPT: 'RE_ATTEMPT',\n} as const;\n\nconst SHEET_ATTEMPT_LOCATION_MAP: Record<TSheetAttemptLocation, string> = {\n [SHEET_ATTEMPT_LOCATION.INCLASS]: 'CW',\n [SHEET_ATTEMPT_LOCATION.ATHOME]: 'HW',\n [SHEET_ATTEMPT_LOCATION.ANY]: 'CW/HW',\n};\n\nconst SHEET_DATA_TYPE = {\n LESSON: 'lesson',\n SUPPLEMENTARY: 'supplementary-sheets-grouped',\n} as const;\n\nexport {\n COMPLETED_SHEET_STATE,\n NODE_TYPE,\n REWARDS_LIST,\n SHEET_ACTIONS,\n SHEET_ATTEMPT_LOCATION,\n SHEET_ATTEMPT_STATE,\n SHEET_STATE,\n SHEET_ATTEMPT_LOCATION_MAP,\n SHEET_DATA_TYPE,\n NODE_LABELS,\n PYTHON_NODE_TYPES,\n};\n"],"names":["TETRA","HEXO","OCTO","DODA","CHATVA","COSA","ASHTA","ZODASA","DVI","EKA","REWARD_BADGE","MATH_REWARDS","INSTRUCTION_REWARDS","REWARDS_LIST","SHEET_STATE","COMPLETED_SHEET_STATE","NODE_LABELS","PYTHON_NODE_TYPES","NODE_TYPE","NODE_SUB_GROUP","SHEET_ATTEMPT_STATE","SHEET_ATTEMPT_LOCATION","SHEET_ACTIONS","SHEET_ATTEMPT_LOCATION_MAP","SHEET_DATA_TYPE"],"mappings":"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"}
@@ -1,58 +1,55 @@
1
- import { jsx as t, jsxs as S, Fragment as T } from "react/jsx-runtime";
2
- import { useMemo as g, useCallback as j } from "react";
3
- import { useTheme as w } from "styled-components";
4
- import { ILLUSTRATIONS as D } from "../../../../assets/illustrations/illustrations.js";
5
- import F from "../../hooks/use-click-handler.js";
6
- import { EDeviceType as u } from "../../theme/constants.js";
7
- import { Button as H, Loader as M, Icon as N, Label as O } from "./button-styled.js";
8
- const P = ({
9
- label: s,
1
+ import { jsx as t, jsxs as B, Fragment as R } from "react/jsx-runtime";
2
+ import { useCallback as g } from "react";
3
+ import { useTheme as j } from "styled-components";
4
+ import { ILLUSTRATIONS as I } from "../../../../assets/illustrations/illustrations.js";
5
+ import O from "../../hooks/use-click-handler.js";
6
+ import { Button as S, Loader as T, Icon as b, Label as v } from "./button-styled.js";
7
+ const w = ({
8
+ label: r,
10
9
  renderAs: o,
11
- size: r = "regular",
12
- shape: m = "curved",
13
- disabled: f = !1,
10
+ size: n = "regular",
11
+ shape: s = "curved",
12
+ disabled: a = !1,
14
13
  busy: e = !1,
15
- width: $,
16
- widthX: h,
17
- Icon: a,
18
- iconPosition: p = "left",
19
- onClick: L,
20
- alignSelf: B,
21
- justifyContent: C = "center",
22
- analyticsLabel: k,
23
- analyticsProps: A,
24
- children: v,
25
- sizeOnMobile: d,
26
- sizeOnTablet: i,
27
- ...x
14
+ width: c,
15
+ widthX: d,
16
+ Icon: i,
17
+ iconPosition: u = "left",
18
+ onClick: m,
19
+ alignSelf: $,
20
+ justifyContent: f = "center",
21
+ analyticsLabel: h,
22
+ analyticsProps: p,
23
+ children: C,
24
+ ...L
28
25
  }) => {
29
- const { button: E, device: c } = w(), n = g(() => c <= u.MOBILE ? d || i || r : c <= u.TABLET && i || r, [c, r, d, i]), { textVariant: I } = E.sizes[n], { handleClick: l } = F({ label: s, analyticsLabel: k, analyticsProps: A }, L), R = j(() => {
26
+ const { button: k } = j(), { textVariant: x } = k.sizes[n], { handleClick: l } = O({ label: r, analyticsLabel: h, analyticsProps: p }, m), A = g(() => {
30
27
  if (e) return null;
31
28
  l();
32
29
  }, [e, l]);
33
30
  return /* @__PURE__ */ t(
34
- H,
31
+ S,
35
32
  {
36
- disabled: f,
37
- $alignSelf: B,
38
- $justifyContent: C,
39
- $width: $,
40
- $widthX: h,
33
+ disabled: a,
34
+ $alignSelf: $,
35
+ $justifyContent: f,
36
+ $width: c,
37
+ $widthX: d,
41
38
  $renderAs: o,
42
39
  $size: n,
43
- $shape: m,
44
- onClick: R,
40
+ $shape: s,
41
+ onClick: A,
45
42
  "data-busy": e,
46
- ...x,
47
- children: e ? /* @__PURE__ */ t(M, { src: D.LOADER, alt: "Loader", $size: n }) : /* @__PURE__ */ S(T, { children: [
48
- a ? /* @__PURE__ */ t(N, { $buttonRenderAs: o, $iconPosition: p, $size: n, children: /* @__PURE__ */ t(a, {}) }) : void 0,
49
- /* @__PURE__ */ t(O, { $renderAs: I, $buttonRenderAs: o, children: s }),
50
- v
43
+ ...L,
44
+ children: e ? /* @__PURE__ */ t(T, { src: I.LOADER, alt: "Loader", $size: n }) : /* @__PURE__ */ B(R, { children: [
45
+ i ? /* @__PURE__ */ t(b, { $buttonRenderAs: o, $iconPosition: u, $size: n, children: /* @__PURE__ */ t(i, {}) }) : void 0,
46
+ /* @__PURE__ */ t(v, { $renderAs: x, $buttonRenderAs: o, children: r }),
47
+ C
51
48
  ] })
52
49
  }
53
50
  );
54
- }, K = P;
51
+ }, P = w;
55
52
  export {
56
- K as default
53
+ P as default
57
54
  };
58
55
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../../../src/features/ui/buttons/button/button.tsx"],"sourcesContent":["import type { IButtonProps } from './button-types';\n\nimport React, { useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport { EDeviceType } from '../../theme/constants';\nimport * as Styled from './button-styled';\n\nconst Button: React.FC<IButtonProps> = ({\n label,\n renderAs,\n size = 'regular',\n shape = 'curved',\n disabled = false,\n busy = false,\n width,\n widthX,\n Icon,\n iconPosition = 'left',\n onClick,\n alignSelf,\n justifyContent = 'center',\n analyticsLabel,\n analyticsProps,\n children,\n sizeOnMobile,\n sizeOnTablet,\n ...rest\n}) => {\n const { button, device } = useTheme();\n const renderSize = useMemo(() => {\n if (device <= EDeviceType.MOBILE) {\n return sizeOnMobile || sizeOnTablet || size;\n }\n\n if (device <= EDeviceType.TABLET) {\n return sizeOnTablet || size;\n }\n\n return size;\n }, [device, size, sizeOnMobile, sizeOnTablet]);\n\n const { textVariant } = button.sizes[renderSize];\n const { handleClick } = useClickHandler({ label, analyticsLabel, analyticsProps }, onClick);\n\n const handleOnClick = useCallback(() => {\n if (busy) return null;\n\n handleClick();\n }, [busy, handleClick]);\n\n return (\n <Styled.Button\n disabled={disabled}\n $alignSelf={alignSelf}\n $justifyContent={justifyContent}\n $width={width}\n $widthX={widthX}\n $renderAs={renderAs}\n $size={renderSize}\n $shape={shape}\n onClick={handleOnClick}\n data-busy={busy}\n {...rest}\n >\n {busy ? (\n <Styled.Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={renderSize} />\n ) : (\n <>\n {Icon ? (\n <Styled.Icon $buttonRenderAs={renderAs} $iconPosition={iconPosition} $size={renderSize}>\n <Icon />\n </Styled.Icon>\n ) : undefined}\n\n <Styled.Label $renderAs={textVariant} $buttonRenderAs={renderAs}>\n {label}\n </Styled.Label>\n\n {children}\n </>\n )}\n </Styled.Button>\n );\n};\n\nexport default Button;\n"],"names":["Button","label","renderAs","size","shape","disabled","busy","width","widthX","Icon","iconPosition","onClick","alignSelf","justifyContent","analyticsLabel","analyticsProps","children","sizeOnMobile","sizeOnTablet","rest","button","device","useTheme","renderSize","useMemo","EDeviceType","textVariant","handleClick","useClickHandler","handleOnClick","useCallback","jsx","Styled.Button","Styled.Loader","ILLUSTRATIONS","jsxs","Fragment","Styled.Icon","Styled.Label","Button$1"],"mappings":";;;;;;;AAUA,MAAMA,IAAiC,CAAC;AAAA,EACtC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,QAAAC;AAAA,EAAA,MACAC;AAAAA,EACA,cAAAC,IAAe;AAAA,EACf,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,QAAAC,GAAQ,QAAAC,EAAO,IAAIC,EAAS,GAC9BC,IAAaC,EAAQ,MACrBH,KAAUI,EAAY,SACjBR,KAAgBC,KAAgBf,IAGrCkB,KAAUI,EAAY,UACjBP,KAAgBf,GAIxB,CAACkB,GAAQlB,GAAMc,GAAcC,CAAY,CAAC,GAEvC,EAAE,aAAAQ,EAAgB,IAAAN,EAAO,MAAMG,CAAU,GACzC,EAAE,aAAAI,EAAgB,IAAAC,EAAgB,EAAE,OAAA3B,GAAO,gBAAAa,GAAgB,gBAAAC,KAAkBJ,CAAO,GAEpFkB,IAAgBC,EAAY,MAAM;AACtC,QAAIxB,EAAa,QAAA;AAEL,IAAAqB;EAAA,GACX,CAACrB,GAAMqB,CAAW,CAAC;AAGpB,SAAA,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAA3B;AAAA,MACA,YAAYO;AAAA,MACZ,iBAAiBC;AAAA,MACjB,QAAQN;AAAA,MACR,SAASC;AAAA,MACT,WAAWN;AAAA,MACX,OAAOqB;AAAA,MACP,QAAQnB;AAAA,MACR,SAASyB;AAAA,MACT,aAAWvB;AAAA,MACV,GAAGa;AAAA,MAEH,UACCb,IAAA,gBAAAyB,EAACE,GAAA,EAAc,KAAKC,EAAc,QAAQ,KAAI,UAAS,OAAOX,EAAY,CAAA,IAGvE,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA3B,IACE,gBAAAsB,EAAAM,GAAA,EAAY,iBAAiBnC,GAAU,eAAeQ,GAAc,OAAOa,GAC1E,UAAC,gBAAAQ,EAAAtB,GAAA,CAAA,CAAK,GACR,IACE;AAAA,QAEJ,gBAAAsB,EAACO,GAAA,EAAa,WAAWZ,GAAa,iBAAiBxB,GACpD,UACHD,GAAA;AAAA,QAECe;AAAA,MAAA,GACH;AAAA,IAAA;AAAA,EAAA;AAIR,GAEAuB,IAAevC;"}
1
+ {"version":3,"file":"button.js","sources":["../../../../../src/features/ui/buttons/button/button.tsx"],"sourcesContent":["import type { IButtonProps } from './button-types';\n\nimport React, { useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport * as Styled from './button-styled';\n\nconst Button: React.FC<IButtonProps> = ({\n label,\n renderAs,\n size = 'regular',\n shape = 'curved',\n disabled = false,\n busy = false,\n width,\n widthX,\n Icon,\n iconPosition = 'left',\n onClick,\n alignSelf,\n justifyContent = 'center',\n analyticsLabel,\n analyticsProps,\n children,\n ...rest\n}) => {\n const { button } = useTheme();\n const { textVariant } = button.sizes[size];\n const { handleClick } = useClickHandler({ label, analyticsLabel, analyticsProps }, onClick);\n\n const handleOnClick = useCallback(() => {\n if (busy) return null;\n\n handleClick();\n }, [busy, handleClick]);\n\n return (\n <Styled.Button\n disabled={disabled}\n $alignSelf={alignSelf}\n $justifyContent={justifyContent}\n $width={width}\n $widthX={widthX}\n $renderAs={renderAs}\n $size={size}\n $shape={shape}\n onClick={handleOnClick}\n data-busy={busy}\n {...rest}\n >\n {busy ? (\n <Styled.Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={size} />\n ) : (\n <>\n {Icon ? (\n <Styled.Icon $buttonRenderAs={renderAs} $iconPosition={iconPosition} $size={size}>\n <Icon />\n </Styled.Icon>\n ) : undefined}\n\n <Styled.Label $renderAs={textVariant} $buttonRenderAs={renderAs}>\n {label}\n </Styled.Label>\n\n {children}\n </>\n )}\n </Styled.Button>\n );\n};\n\nexport default Button;\n"],"names":["Button","label","renderAs","size","shape","disabled","busy","width","widthX","Icon","iconPosition","onClick","alignSelf","justifyContent","analyticsLabel","analyticsProps","children","rest","button","useTheme","textVariant","handleClick","useClickHandler","handleOnClick","useCallback","jsx","Styled.Button","Styled.Loader","ILLUSTRATIONS","jsxs","Fragment","Styled.Icon","Styled.Label","Button$1"],"mappings":";;;;;;AASA,MAAMA,IAAiC,CAAC;AAAA,EACtC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,QAAAC;AAAA,EAAA,MACAC;AAAAA,EACA,cAAAC,IAAe;AAAA,EACf,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACE,QAAA,EAAE,QAAAC,MAAWC,KACb,EAAE,aAAAC,EAAgB,IAAAF,EAAO,MAAMf,CAAI,GACnC,EAAE,aAAAkB,EAAgB,IAAAC,EAAgB,EAAE,OAAArB,GAAO,gBAAAa,GAAgB,gBAAAC,KAAkBJ,CAAO,GAEpFY,IAAgBC,EAAY,MAAM;AACtC,QAAIlB,EAAa,QAAA;AAEL,IAAAe;EAAA,GACX,CAACf,GAAMe,CAAW,CAAC;AAGpB,SAAA,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAArB;AAAA,MACA,YAAYO;AAAA,MACZ,iBAAiBC;AAAA,MACjB,QAAQN;AAAA,MACR,SAASC;AAAA,MACT,WAAWN;AAAA,MACX,OAAOC;AAAA,MACP,QAAQC;AAAA,MACR,SAASmB;AAAA,MACT,aAAWjB;AAAA,MACV,GAAGW;AAAA,MAEH,UACCX,IAAA,gBAAAmB,EAACE,GAAA,EAAc,KAAKC,EAAc,QAAQ,KAAI,UAAS,OAAOzB,EAAM,CAAA,IAGjE,gBAAA0B,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAArB,IACE,gBAAAgB,EAAAM,GAAA,EAAY,iBAAiB7B,GAAU,eAAeQ,GAAc,OAAOP,GAC1E,UAAC,gBAAAsB,EAAAhB,GAAA,CAAA,CAAK,GACR,IACE;AAAA,QAEJ,gBAAAgB,EAACO,GAAA,EAAa,WAAWZ,GAAa,iBAAiBlB,GACpD,UACHD,GAAA;AAAA,QAECe;AAAA,MAAA,GACH;AAAA,IAAA;AAAA,EAAA;AAIR,GAEAiB,IAAejC;"}