@cuemath/leap 3.0.13 → 3.0.15
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/lottie/lottie.js +1 -0
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +40 -32
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +66 -56
- package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +119 -111
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/constants/block-constants.js +3 -2
- package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
- package/dist/features/ui/constants/z-index.js +2 -1
- package/dist/features/ui/constants/z-index.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/static/chapter-completed.1241399b.json +497 -0
- package/package.json +1 -1
@@ -6,6 +6,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", s = {
|
|
6
6
|
BRONZE_1: `${t}static/bronze-1.da4e4b5f.json`,
|
7
7
|
BRONZE_2: `${t}static/bronze-2.97f9c639.json`,
|
8
8
|
BRONZE_3: `${t}static/bronze-3.6a433ebd.json`,
|
9
|
+
CHAPTER_COMPLETED: `${t}static/chapter-completed.1241399b.json`,
|
9
10
|
CIRCULAR_LOADER: `${t}static/circular-loader.a5a1a0a6.json`,
|
10
11
|
CLOCK_30MIN: `${t}static/clock-30min.eae818b8.json`,
|
11
12
|
CLOCK_45MIN: `${t}static/clock-45min.df8adf51.json`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lottie.js","sources":["../../../src/assets/lottie/lottie.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\nconst LOTTIE = {\n ACCURACY_METER: `${PREFIX}static/accuracy-meter.99585cba.json`,\n ACCURACY_NEEDLE: `${PREFIX}static/accuracy-needle.cd6e63ac.json`,\n ADVANCE_MODE_SEGMENT_LOTTIE: `${PREFIX}static/advance-mode-segment-lottie.51ff6707.json`,\n BEGINNER1X: `${PREFIX}static/beginner1x.489908a7.json`,\n BRONZE_1: `${PREFIX}static/bronze-1.da4e4b5f.json`,\n BRONZE_2: `${PREFIX}static/bronze-2.97f9c639.json`,\n BRONZE_3: `${PREFIX}static/bronze-3.6a433ebd.json`,\n CIRCULAR_LOADER: `${PREFIX}static/circular-loader.a5a1a0a6.json`,\n CLOCK_30MIN: `${PREFIX}static/clock-30min.eae818b8.json`,\n CLOCK_45MIN: `${PREFIX}static/clock-45min.df8adf51.json`,\n CLOCK_60MIN: `${PREFIX}static/clock-60min.2b48d875.json`,\n CLOCK_90MIN: `${PREFIX}static/clock-90min.3e557ed7.json`,\n COLOR_1: `${PREFIX}static/color-1.45101b9a.json`,\n COLOR_2: `${PREFIX}static/color-2.ccdc7d0a.json`,\n COLOR_3: `${PREFIX}static/color-3.5e8e1422.json`,\n COMPETITIVE_ARENA: `${PREFIX}static/competitive-arena.b9c40801.json`,\n DIFFICULT: `${PREFIX}static/difficult.6846c064.json`,\n EASY: `${PREFIX}static/easy.68242ddd.json`,\n ELITE_CIRCLE: `${PREFIX}static/elite-circle.3df58972.json`,\n ERROR_LOTTIE: `${PREFIX}static/error-lottie.b3507a4b.json`,\n FAMILIAR1X: `${PREFIX}static/familiar1x.7c9c7f15.json`,\n FIFTEEN_MIN_CLOCK: `${PREFIX}static/fifteen-min-clock.0af4e303.json`,\n FIVE_MIN_CLOCK: `${PREFIX}static/five-min-clock.6be5cc41.json`,\n GOLD_1: `${PREFIX}static/gold-1.ab2489fe.json`,\n GOLD_2: `${PREFIX}static/gold-2.34045826.json`,\n GOLD_3: `${PREFIX}static/gold-3.d704698b.json`,\n INFINITE_BUTTON_BG: `${PREFIX}static/infinite-button-bg.5909225e.json`,\n INFINITE_BUTTON_SYMBOL: `${PREFIX}static/infinite-button-symbol.aa31350c.json`,\n LEARN: `${PREFIX}static/learn.71b13323.json`,\n LEVELUP_RINGS: `${PREFIX}static/levelup-rings.b1055283.json`,\n MEDIUM: `${PREFIX}static/medium.94c3829b.json`,\n NUDGE_TAP: `${PREFIX}static/nudge-tap.5cb30093.json`,\n POINT100: `${PREFIX}static/point100.1df16f82.json`,\n POINT10: `${PREFIX}static/point10.7b5e536d.json`,\n POINT15: `${PREFIX}static/point15.fea00c32.json`,\n POINT1: `${PREFIX}static/point1.b53831de.json`,\n POINT20: `${PREFIX}static/point20.c88d776d.json`,\n POINT25: `${PREFIX}static/point25.a18c346a.json`,\n POINT2: `${PREFIX}static/point2.7cec6e24.json`,\n POINT30: `${PREFIX}static/point30.c5224b0b.json`,\n POINT35: `${PREFIX}static/point35.fad343dd.json`,\n POINT3: `${PREFIX}static/point3.f96fe7aa.json`,\n POINT40: `${PREFIX}static/point40.10a16f72.json`,\n POINT45: `${PREFIX}static/point45.2ad7561f.json`,\n POINT4: `${PREFIX}static/point4.fe04fb83.json`,\n POINT50: `${PREFIX}static/point50.5718cb3d.json`,\n POINT5: `${PREFIX}static/point5.da40ed1f.json`,\n POINT60: `${PREFIX}static/point60.17380d9f.json`,\n PRACTICE: `${PREFIX}static/practice.158dd488.json`,\n PROFICIENT1X: `${PREFIX}static/proficient1x.fa6e7b80.json`,\n PROJECT: `${PREFIX}static/project.eb665827.json`,\n PUZZLE: `${PREFIX}static/puzzle.b298c7e4.json`,\n RANDOM_MODE_SEGMENT_LOTTIE: `${PREFIX}static/random-mode-segment-lottie.79cf1c07.json`,\n RECAP: `${PREFIX}static/recap.0dd2c1e2.json`,\n SEQUENCE_MODE_SEGMENT_LOTTIE: `${PREFIX}static/sequence-mode-segment-lottie.11ac49e9.json`,\n SILVER_1: `${PREFIX}static/silver-1.0396328a.json`,\n SILVER_2: `${PREFIX}static/silver-2.bf50615f.json`,\n SILVER_3: `${PREFIX}static/silver-3.13d66b84.json`,\n SLEEPY_BOI: `${PREFIX}static/sleepy-boi.031a1165.json`,\n SPINNER_WHITE: `${PREFIX}static/spinner-white.639e0d87.json`,\n SPLASH_SCREEN: `${PREFIX}static/splash-screen.bbf567ce.json`,\n TABLE_MODE_REVEAL: `${PREFIX}static/table-mode-reveal.b44a82c3.json`,\n TABLE_MODE_STAR: `${PREFIX}static/table-mode-star.b8a1d762.json`,\n TABLE_SEGMENT_STAR: `${PREFIX}static/table-segment-star.78e851d6.json`,\n TARGET_ACHIEVED_TEXT: `${PREFIX}static/target-achieved-text.10db8475.json`,\n TEACHER_VALIDATION: `${PREFIX}static/teacher-validation.7577ecdc.json`,\n TEST: `${PREFIX}static/test.803d6036.json`,\n TOTAL_STREAK: `${PREFIX}static/total-streak.d5ce7669.json`,\n TOTAL_TIME: `${PREFIX}static/total-time.d979cbb9.json`,\n TOTAL_TIME_SPENT: `${PREFIX}static/total-time-spent.434005d3.json`,\n TOURNAMENT_RIPPLE: `${PREFIX}static/tournament-ripple.e5c239a5.json`,\n VIDEO: `${PREFIX}static/video.b41451e2.json`,\n};\n\nexport { LOTTIE };\n"],"names":["PREFIX","LOTTIE"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"lottie.js","sources":["../../../src/assets/lottie/lottie.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\nconst LOTTIE = {\n ACCURACY_METER: `${PREFIX}static/accuracy-meter.99585cba.json`,\n ACCURACY_NEEDLE: `${PREFIX}static/accuracy-needle.cd6e63ac.json`,\n ADVANCE_MODE_SEGMENT_LOTTIE: `${PREFIX}static/advance-mode-segment-lottie.51ff6707.json`,\n BEGINNER1X: `${PREFIX}static/beginner1x.489908a7.json`,\n BRONZE_1: `${PREFIX}static/bronze-1.da4e4b5f.json`,\n BRONZE_2: `${PREFIX}static/bronze-2.97f9c639.json`,\n BRONZE_3: `${PREFIX}static/bronze-3.6a433ebd.json`,\n CHAPTER_COMPLETED: `${PREFIX}static/chapter-completed.1241399b.json`,\n CIRCULAR_LOADER: `${PREFIX}static/circular-loader.a5a1a0a6.json`,\n CLOCK_30MIN: `${PREFIX}static/clock-30min.eae818b8.json`,\n CLOCK_45MIN: `${PREFIX}static/clock-45min.df8adf51.json`,\n CLOCK_60MIN: `${PREFIX}static/clock-60min.2b48d875.json`,\n CLOCK_90MIN: `${PREFIX}static/clock-90min.3e557ed7.json`,\n COLOR_1: `${PREFIX}static/color-1.45101b9a.json`,\n COLOR_2: `${PREFIX}static/color-2.ccdc7d0a.json`,\n COLOR_3: `${PREFIX}static/color-3.5e8e1422.json`,\n COMPETITIVE_ARENA: `${PREFIX}static/competitive-arena.b9c40801.json`,\n DIFFICULT: `${PREFIX}static/difficult.6846c064.json`,\n EASY: `${PREFIX}static/easy.68242ddd.json`,\n ELITE_CIRCLE: `${PREFIX}static/elite-circle.3df58972.json`,\n ERROR_LOTTIE: `${PREFIX}static/error-lottie.b3507a4b.json`,\n FAMILIAR1X: `${PREFIX}static/familiar1x.7c9c7f15.json`,\n FIFTEEN_MIN_CLOCK: `${PREFIX}static/fifteen-min-clock.0af4e303.json`,\n FIVE_MIN_CLOCK: `${PREFIX}static/five-min-clock.6be5cc41.json`,\n GOLD_1: `${PREFIX}static/gold-1.ab2489fe.json`,\n GOLD_2: `${PREFIX}static/gold-2.34045826.json`,\n GOLD_3: `${PREFIX}static/gold-3.d704698b.json`,\n INFINITE_BUTTON_BG: `${PREFIX}static/infinite-button-bg.5909225e.json`,\n INFINITE_BUTTON_SYMBOL: `${PREFIX}static/infinite-button-symbol.aa31350c.json`,\n LEARN: `${PREFIX}static/learn.71b13323.json`,\n LEVELUP_RINGS: `${PREFIX}static/levelup-rings.b1055283.json`,\n MEDIUM: `${PREFIX}static/medium.94c3829b.json`,\n NUDGE_TAP: `${PREFIX}static/nudge-tap.5cb30093.json`,\n POINT100: `${PREFIX}static/point100.1df16f82.json`,\n POINT10: `${PREFIX}static/point10.7b5e536d.json`,\n POINT15: `${PREFIX}static/point15.fea00c32.json`,\n POINT1: `${PREFIX}static/point1.b53831de.json`,\n POINT20: `${PREFIX}static/point20.c88d776d.json`,\n POINT25: `${PREFIX}static/point25.a18c346a.json`,\n POINT2: `${PREFIX}static/point2.7cec6e24.json`,\n POINT30: `${PREFIX}static/point30.c5224b0b.json`,\n POINT35: `${PREFIX}static/point35.fad343dd.json`,\n POINT3: `${PREFIX}static/point3.f96fe7aa.json`,\n POINT40: `${PREFIX}static/point40.10a16f72.json`,\n POINT45: `${PREFIX}static/point45.2ad7561f.json`,\n POINT4: `${PREFIX}static/point4.fe04fb83.json`,\n POINT50: `${PREFIX}static/point50.5718cb3d.json`,\n POINT5: `${PREFIX}static/point5.da40ed1f.json`,\n POINT60: `${PREFIX}static/point60.17380d9f.json`,\n PRACTICE: `${PREFIX}static/practice.158dd488.json`,\n PROFICIENT1X: `${PREFIX}static/proficient1x.fa6e7b80.json`,\n PROJECT: `${PREFIX}static/project.eb665827.json`,\n PUZZLE: `${PREFIX}static/puzzle.b298c7e4.json`,\n RANDOM_MODE_SEGMENT_LOTTIE: `${PREFIX}static/random-mode-segment-lottie.79cf1c07.json`,\n RECAP: `${PREFIX}static/recap.0dd2c1e2.json`,\n SEQUENCE_MODE_SEGMENT_LOTTIE: `${PREFIX}static/sequence-mode-segment-lottie.11ac49e9.json`,\n SILVER_1: `${PREFIX}static/silver-1.0396328a.json`,\n SILVER_2: `${PREFIX}static/silver-2.bf50615f.json`,\n SILVER_3: `${PREFIX}static/silver-3.13d66b84.json`,\n SLEEPY_BOI: `${PREFIX}static/sleepy-boi.031a1165.json`,\n SPINNER_WHITE: `${PREFIX}static/spinner-white.639e0d87.json`,\n SPLASH_SCREEN: `${PREFIX}static/splash-screen.bbf567ce.json`,\n TABLE_MODE_REVEAL: `${PREFIX}static/table-mode-reveal.b44a82c3.json`,\n TABLE_MODE_STAR: `${PREFIX}static/table-mode-star.b8a1d762.json`,\n TABLE_SEGMENT_STAR: `${PREFIX}static/table-segment-star.78e851d6.json`,\n TARGET_ACHIEVED_TEXT: `${PREFIX}static/target-achieved-text.10db8475.json`,\n TEACHER_VALIDATION: `${PREFIX}static/teacher-validation.7577ecdc.json`,\n TEST: `${PREFIX}static/test.803d6036.json`,\n TOTAL_STREAK: `${PREFIX}static/total-streak.d5ce7669.json`,\n TOTAL_TIME: `${PREFIX}static/total-time.d979cbb9.json`,\n TOTAL_TIME_SPENT: `${PREFIX}static/total-time-spent.434005d3.json`,\n TOURNAMENT_RIPPLE: `${PREFIX}static/tournament-ripple.e5c239a5.json`,\n VIDEO: `${PREFIX}static/video.b41451e2.json`,\n};\n\nexport { LOTTIE };\n"],"names":["PREFIX","LOTTIE"],"mappings":"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"}
|
@@ -1,82 +1,90 @@
|
|
1
|
-
import
|
2
|
-
import
|
1
|
+
import r from "styled-components";
|
2
|
+
import u from "../../../../assets/line-icons/icons/important.js";
|
3
3
|
import i from "../../../ui/layout/flex-view.js";
|
4
|
-
const f =
|
4
|
+
const f = r(i)(() => `
|
5
5
|
position: relative;
|
6
6
|
height: 168px;
|
7
7
|
`);
|
8
|
-
|
8
|
+
r.div`
|
9
9
|
width: 760px;
|
10
10
|
height: 100%;
|
11
11
|
position: relative;
|
12
12
|
`;
|
13
|
-
const m =
|
13
|
+
const m = r(i)`
|
14
14
|
position: absolute;
|
15
15
|
left: 73px;
|
16
16
|
top: 32px;
|
17
|
-
`, $ =
|
18
|
-
const { gutter:
|
17
|
+
`, $ = r.img(({ theme: t }) => {
|
18
|
+
const { gutter: e } = t.layout;
|
19
19
|
return `
|
20
|
-
width: ${
|
21
|
-
height: ${
|
20
|
+
width: ${e * 6.625}px;
|
21
|
+
height: ${e * 6.625}px;
|
22
22
|
border-radius: 50%;
|
23
23
|
z-index: 1;
|
24
24
|
`;
|
25
|
-
}), y =
|
25
|
+
}), y = r.svg(() => `
|
26
26
|
position: absolute;
|
27
27
|
inset: 50%;
|
28
28
|
transform: translate(-50%, -50%) rotate(-90deg);
|
29
29
|
z-index: 2;
|
30
|
-
`), I =
|
31
|
-
({ theme:
|
32
|
-
const { colors:
|
30
|
+
`), I = r.circle(
|
31
|
+
({ theme: t, $progressCircle: e, $progress: n, $progressBackground: s }) => {
|
32
|
+
const { colors: o, layout: x } = t, { WHITE_1: h } = o, { gutter: a } = x, p = a * 21, l = e ? p - n : n;
|
33
33
|
return `
|
34
34
|
stroke-dasharray: ${p};
|
35
|
-
stroke-dashoffset: ${
|
36
|
-
stroke: ${
|
35
|
+
stroke-dashoffset: ${l};
|
36
|
+
stroke: ${e ? o[s || "BLACK"] : h};
|
37
37
|
|
38
38
|
stroke-width: ${a * 0.1875}px;
|
39
39
|
fill: none;
|
40
40
|
`;
|
41
41
|
}
|
42
|
-
), b =
|
42
|
+
), b = r(i)(({ theme: t }) => `
|
43
43
|
position: absolute;
|
44
44
|
top: 50%;
|
45
|
-
left: ${
|
45
|
+
left: ${t.layout.gutter * 13.75}px;
|
46
46
|
transform: translateY(-50%);
|
47
47
|
z-index: 1;
|
48
|
-
`),
|
49
|
-
theme:
|
50
|
-
$progress:
|
48
|
+
`), w = r(u)(({
|
49
|
+
theme: t,
|
50
|
+
$progress: e,
|
51
51
|
$top: n,
|
52
52
|
$left: s
|
53
53
|
}) => {
|
54
|
-
const { gutter:
|
55
|
-
return
|
56
|
-
width: ${
|
57
|
-
height: ${
|
54
|
+
const { gutter: o } = t.layout;
|
55
|
+
return e ? `
|
56
|
+
width: ${o * 1.25}px;
|
57
|
+
height: ${o * 1.25}px;
|
58
58
|
position: absolute;
|
59
59
|
top: ${n ?? 0}px;
|
60
60
|
left: ${s ?? 0}px;
|
61
61
|
transform: translate(-50%, -50%);
|
62
62
|
z-index: 2;
|
63
63
|
` : `
|
64
|
-
width: ${
|
65
|
-
height: ${
|
64
|
+
width: ${o * 0.75}px;
|
65
|
+
height: ${o * 0.75}px;
|
66
66
|
`;
|
67
|
-
})
|
68
|
-
|
67
|
+
});
|
68
|
+
r.div(({ theme: t }) => {
|
69
|
+
const { layout: e } = t;
|
69
70
|
return `
|
70
71
|
position: absolute;
|
71
72
|
top: 6px;
|
72
73
|
right: 8px;
|
73
74
|
z-index: 2;
|
74
75
|
|
75
|
-
width: ${
|
76
|
-
height: ${
|
76
|
+
width: ${e.gutter * 1.25}px;
|
77
|
+
height: ${e.gutter * 1.25}px;
|
77
78
|
border-radius: 50%;
|
78
79
|
`;
|
79
80
|
});
|
81
|
+
const z = r(i)(({ theme: t }) => `
|
82
|
+
position: absolute;
|
83
|
+
transform: translate(-2.5px, -2.5px);
|
84
|
+
width: 112px;
|
85
|
+
height: 112px;
|
86
|
+
z-index: ${t.zIndex.CHAPTER_COMPLETED_LOTTIE};
|
87
|
+
`);
|
80
88
|
export {
|
81
89
|
f as BannerContainer,
|
82
90
|
$ as BannerImage,
|
@@ -84,7 +92,7 @@ export {
|
|
84
92
|
b as BannerTitleWrapper,
|
85
93
|
y as ChapterProgressSVG,
|
86
94
|
I as ChapterProgressSVGCircle,
|
87
|
-
|
88
|
-
|
95
|
+
z as LottieAnimationWrapper,
|
96
|
+
w as StyledImportantIcon
|
89
97
|
};
|
90
98
|
//# sourceMappingURL=chapter-banner-styled.js.map
|
package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chapter-banner-styled.js","sources":["../../../../../src/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport styled from 'styled-components';\n\nimport ImportantIcon from '../../../../assets/line-icons/icons/important';\nimport FlexView from '../../../ui/layout/flex-view';\n\nconst BannerContainer = styled(FlexView)(() => {\n return `\n position: relative;\n height: 168px;\n `;\n});\n\nconst BannerContainerBg = styled.div`\n width: 760px;\n height: 100%;\n position: relative;\n`;\n\nconst BannerImageWrapper = styled(FlexView)`\n position: absolute;\n left: 73px;\n top: 32px;\n`;\n\nconst BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n width: ${gutter * 6.625}px;\n height: ${gutter * 6.625}px;\n border-radius: 50%;\n z-index: 1;\n `;\n});\n\nconst ChapterProgressSVG = styled.svg(() => {\n return `\n position: absolute;\n inset: 50%;\n transform: translate(-50%, -50%) rotate(-90deg);\n z-index: 2;\n `;\n});\n\ninterface IChapterProgressSVGCircleProps {\n $progressCircle?: boolean;\n $progress: number;\n $progressBackground?: TColorNames;\n}\n\nconst ChapterProgressSVGCircle = styled.circle<IChapterProgressSVGCircleProps>(\n ({ theme, $progressCircle, $progress, $progressBackground }) => {\n const { colors, layout } = theme;\n const { WHITE_1 } = colors;\n const { gutter } = layout;\n\n const strokeDashArray = gutter * 21;\n const strokeDashOffset = $progressCircle ? strokeDashArray - $progress : $progress;\n\n return `\n stroke-dasharray: ${strokeDashArray};\n stroke-dashoffset: ${strokeDashOffset};\n stroke: ${$progressCircle ? colors[$progressBackground || 'BLACK'] : WHITE_1};\n\n stroke-width: ${gutter * 0.1875}px;\n fill: none;\n `;\n },\n);\n\nconst BannerTitleWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: absolute;\n top: 50%;\n left: ${theme.layout.gutter * 13.75}px;\n transform: translateY(-50%);\n z-index: 1;\n `;\n});\n\ninterface IStyledImportantIconProps {\n $left?: number;\n $top?: number;\n $progress?: boolean;\n}\n\nconst StyledImportantIcon = styled(ImportantIcon)<IStyledImportantIconProps>(({\n theme,\n $progress,\n $top,\n $left,\n}) => {\n const { gutter } = theme.layout;\n\n if ($progress) {\n return `\n width: ${gutter * 1.25}px;\n height: ${gutter * 1.25}px;\n position: absolute;\n top: ${$top ?? 0}px;\n left: ${$left ?? 0}px;\n transform: translate(-50%, -50%);\n z-index: 2;\n `;\n }\n\n return `\n width: ${gutter * 0.75}px;\n height: ${gutter * 0.75}px;\n `;\n});\n\nconst StyledCheckIcon = styled.div(({ theme }) => {\n const { layout } = theme;\n\n return `\n position: absolute;\n top: 6px;\n right: 8px;\n z-index: 2;\n\n width: ${layout.gutter * 1.25}px;\n height: ${layout.gutter * 1.25}px;\n border-radius: 50%;\n `;\n});\n\nexport {\n BannerContainer,\n BannerContainerBg,\n BannerImageWrapper,\n BannerImage,\n ChapterProgressSVG,\n ChapterProgressSVGCircle,\n BannerTitleWrapper,\n StyledImportantIcon,\n StyledCheckIcon,\n};\n"],"names":["BannerContainer","styled","FlexView","BannerImageWrapper","BannerImage","theme","gutter","ChapterProgressSVG","ChapterProgressSVGCircle","$progressCircle","$progress","$progressBackground","colors","layout","WHITE_1","strokeDashArray","strokeDashOffset","BannerTitleWrapper","StyledImportantIcon","ImportantIcon","$top","$left","
|
1
|
+
{"version":3,"file":"chapter-banner-styled.js","sources":["../../../../../src/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport styled from 'styled-components';\n\nimport ImportantIcon from '../../../../assets/line-icons/icons/important';\nimport FlexView from '../../../ui/layout/flex-view';\n\nconst BannerContainer = styled(FlexView)(() => {\n return `\n position: relative;\n height: 168px;\n `;\n});\n\nconst BannerContainerBg = styled.div`\n width: 760px;\n height: 100%;\n position: relative;\n`;\n\nconst BannerImageWrapper = styled(FlexView)`\n position: absolute;\n left: 73px;\n top: 32px;\n`;\n\nconst BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n width: ${gutter * 6.625}px;\n height: ${gutter * 6.625}px;\n border-radius: 50%;\n z-index: 1;\n `;\n});\n\nconst ChapterProgressSVG = styled.svg(() => {\n return `\n position: absolute;\n inset: 50%;\n transform: translate(-50%, -50%) rotate(-90deg);\n z-index: 2;\n `;\n});\n\ninterface IChapterProgressSVGCircleProps {\n $progressCircle?: boolean;\n $progress: number;\n $progressBackground?: TColorNames;\n}\n\nconst ChapterProgressSVGCircle = styled.circle<IChapterProgressSVGCircleProps>(\n ({ theme, $progressCircle, $progress, $progressBackground }) => {\n const { colors, layout } = theme;\n const { WHITE_1 } = colors;\n const { gutter } = layout;\n\n const strokeDashArray = gutter * 21;\n const strokeDashOffset = $progressCircle ? strokeDashArray - $progress : $progress;\n\n return `\n stroke-dasharray: ${strokeDashArray};\n stroke-dashoffset: ${strokeDashOffset};\n stroke: ${$progressCircle ? colors[$progressBackground || 'BLACK'] : WHITE_1};\n\n stroke-width: ${gutter * 0.1875}px;\n fill: none;\n `;\n },\n);\n\nconst BannerTitleWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: absolute;\n top: 50%;\n left: ${theme.layout.gutter * 13.75}px;\n transform: translateY(-50%);\n z-index: 1;\n `;\n});\n\ninterface IStyledImportantIconProps {\n $left?: number;\n $top?: number;\n $progress?: boolean;\n}\n\nconst StyledImportantIcon = styled(ImportantIcon)<IStyledImportantIconProps>(({\n theme,\n $progress,\n $top,\n $left,\n}) => {\n const { gutter } = theme.layout;\n\n if ($progress) {\n return `\n width: ${gutter * 1.25}px;\n height: ${gutter * 1.25}px;\n position: absolute;\n top: ${$top ?? 0}px;\n left: ${$left ?? 0}px;\n transform: translate(-50%, -50%);\n z-index: 2;\n `;\n }\n\n return `\n width: ${gutter * 0.75}px;\n height: ${gutter * 0.75}px;\n `;\n});\n\nconst StyledCheckIcon = styled.div(({ theme }) => {\n const { layout } = theme;\n\n return `\n position: absolute;\n top: 6px;\n right: 8px;\n z-index: 2;\n\n width: ${layout.gutter * 1.25}px;\n height: ${layout.gutter * 1.25}px;\n border-radius: 50%;\n `;\n});\n\nconst LottieAnimationWrapper = styled(FlexView)(({ theme }) => {\n return `\n position: absolute;\n transform: translate(-2.5px, -2.5px);\n width: 112px;\n height: 112px;\n z-index: ${theme.zIndex.CHAPTER_COMPLETED_LOTTIE};\n `;\n});\n\nexport {\n BannerContainer,\n BannerContainerBg,\n BannerImageWrapper,\n BannerImage,\n ChapterProgressSVG,\n ChapterProgressSVGCircle,\n BannerTitleWrapper,\n StyledImportantIcon,\n StyledCheckIcon,\n LottieAnimationWrapper,\n};\n"],"names":["BannerContainer","styled","FlexView","BannerImageWrapper","BannerImage","theme","gutter","ChapterProgressSVG","ChapterProgressSVGCircle","$progressCircle","$progress","$progressBackground","colors","layout","WHITE_1","strokeDashArray","strokeDashOffset","BannerTitleWrapper","StyledImportantIcon","ImportantIcon","$top","$left","LottieAnimationWrapper"],"mappings":";;;AAOA,MAAMA,IAAkBC,EAAOC,CAAQ,EAAE,MAChC;AAAA;AAAA;AAAA,GAIR;AAEyBD,EAAO;AAAA;AAAA;AAAA;AAAA;AAM3B,MAAAE,IAAqBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCE,IAAcH,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AACtC,QAAA,EAAE,QAAAC,EAAO,IAAID,EAAM;AAElB,SAAA;AAAA,aACIC,IAAS,KAAK;AAAA,cACbA,IAAS,KAAK;AAAA;AAAA;AAAA;AAI5B,CAAC,GAEKC,IAAqBN,EAAO,IAAI,MAC7B;AAAA;AAAA;AAAA;AAAA;AAAA,GAMR,GAQKO,IAA2BP,EAAO;AAAA,EACtC,CAAC,EAAE,OAAAI,GAAO,iBAAAI,GAAiB,WAAAC,GAAW,qBAAAC,QAA0B;AACxD,UAAA,EAAE,QAAAC,GAAQ,QAAAC,EAAW,IAAAR,GACrB,EAAE,SAAAS,EAAY,IAAAF,GACd,EAAE,QAAAN,EAAW,IAAAO,GAEbE,IAAkBT,IAAS,IAC3BU,IAAmBP,IAAkBM,IAAkBL,IAAYA;AAElE,WAAA;AAAA,0BACeK,CAAe;AAAA,2BACdC,CAAgB;AAAA,gBAC3BP,IAAkBG,EAAOD,KAAuB,OAAO,IAAIG,CAAO;AAAA;AAAA,sBAE5DR,IAAS,MAAM;AAAA;AAAA;AAAA,EAGnC;AACF,GAEMW,IAAqBhB,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAG,QACtC;AAAA;AAAA;AAAA,YAGGA,EAAM,OAAO,SAAS,KAAK;AAAA;AAAA;AAAA,GAItC,GAQKa,IAAsBjB,EAAOkB,CAAa,EAA6B,CAAC;AAAA,EAC5E,OAAAd;AAAA,EACA,WAAAK;AAAA,EACA,MAAAU;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAf,EAAO,IAAID,EAAM;AAEzB,SAAIK,IACK;AAAA,eACIJ,IAAS,IAAI;AAAA,gBACZA,IAAS,IAAI;AAAA;AAAA,aAEhBc,KAAQ,CAAC;AAAA,cACRC,KAAS,CAAC;AAAA;AAAA;AAAA,QAMf;AAAA,aACIf,IAAS,IAAI;AAAA,cACZA,IAAS,IAAI;AAAA;AAE3B,CAAC;AAEuBL,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AAC1C,QAAA,EAAE,QAAAQ,EAAW,IAAAR;AAEZ,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMIQ,EAAO,SAAS,IAAI;AAAA,cACnBA,EAAO,SAAS,IAAI;AAAA;AAAA;AAGlC,CAAC;AAED,MAAMS,IAAyBrB,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAG,QAC1C;AAAA;AAAA;AAAA;AAAA;AAAA,eAKMA,EAAM,OAAO,wBAAwB;AAAA,GAEnD;"}
|
@@ -1,88 +1,98 @@
|
|
1
|
-
import { jsx as e, jsxs as
|
2
|
-
import { memo as
|
3
|
-
import { ILLUSTRATIONS as
|
4
|
-
import
|
1
|
+
import { jsx as e, jsxs as t, Fragment as G } from "react/jsx-runtime";
|
2
|
+
import { memo as B, useRef as O, useMemo as d } from "react";
|
3
|
+
import { ILLUSTRATIONS as W } from "../../../../assets/illustrations/illustrations.js";
|
4
|
+
import b from "../../../../assets/line-icons/icons/check2.js";
|
5
|
+
import { LOTTIE as M } from "../../../../assets/lottie/lottie.js";
|
5
6
|
import V from "../../../ui/image/image.js";
|
6
7
|
import n from "../../../ui/layout/flex-view.js";
|
8
|
+
import H from "../../../ui/lottie-animation/lottie-animation.js";
|
7
9
|
import i from "../../../ui/text/text.js";
|
8
|
-
import
|
9
|
-
import { getChapterCompletionPercentage as
|
10
|
-
import { BannerContainer as
|
11
|
-
const a = 52,
|
12
|
-
const { progressStats: o, imageHue:
|
13
|
-
const h = (-(
|
10
|
+
import X from "../../comps/tag/tag.js";
|
11
|
+
import { getChapterCompletionPercentage as j } from "../../utils/index.js";
|
12
|
+
import { BannerContainer as v, BannerImageWrapper as N, LottieAnimationWrapper as U, ChapterProgressSVG as F, ChapterProgressSVGCircle as g, StyledImportantIcon as f, BannerImage as Y, BannerTitleWrapper as K } from "./chapter-banner-styled.js";
|
13
|
+
const a = 52, s = 54, l = 54, q = { renderer: "canvas", autoplay: !0, loop: !1 }, ce = B((C) => {
|
14
|
+
const $ = O(null), { progressStats: o, imageHue: I, title: S, imageUrl: u, bannerRef: R } = C, r = d(() => j(o), [o]), { iconTopVal: x, iconLeftVal: E } = d(() => {
|
15
|
+
const h = (-(r === 100 ? 60 : r) * 3.6 - 180) * Math.PI / 180, y = l + a * Math.sin(h), D = s + a * Math.cos(h);
|
14
16
|
return {
|
15
|
-
iconLeftVal:
|
16
|
-
iconTopVal:
|
17
|
+
iconLeftVal: y,
|
18
|
+
iconTopVal: D
|
17
19
|
};
|
18
|
-
}, [
|
20
|
+
}, [r]);
|
19
21
|
if (!o) return null;
|
20
|
-
const { mandatory: T, optional:
|
22
|
+
const { mandatory: T, optional: L, classwork: _ } = o, { completed: w = 0, total: c = 0 } = T || {}, { completed: A = 0, total: p = 0 } = L || {}, { completed: P = 0, total: m = 0 } = _ || {}, k = m > 0 && P === m;
|
21
23
|
return /* @__PURE__ */ e(
|
22
|
-
|
24
|
+
v,
|
23
25
|
{
|
24
26
|
$flexDirection: "row",
|
25
27
|
$justifyContent: "center",
|
26
28
|
$alignItems: "center",
|
27
29
|
$widthX: 50,
|
28
|
-
$background: `${
|
29
|
-
ref:
|
30
|
-
children: /* @__PURE__ */
|
30
|
+
$background: `${I}_4`,
|
31
|
+
ref: R,
|
32
|
+
children: /* @__PURE__ */ t(n, { $height: 168, $position: "relative", children: [
|
31
33
|
/* @__PURE__ */ e(
|
32
34
|
V,
|
33
35
|
{
|
34
36
|
width: "100%",
|
35
37
|
height: "168px",
|
36
|
-
src:
|
38
|
+
src: W.CHAPTER_HEADER_BG,
|
37
39
|
alt: "Chapter header background",
|
38
40
|
withLoader: !0
|
39
41
|
}
|
40
42
|
),
|
41
|
-
/* @__PURE__ */
|
42
|
-
/* @__PURE__ */ e(
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
43
|
+
/* @__PURE__ */ t(N, { children: [
|
44
|
+
r === 100 ? /* @__PURE__ */ e(U, { children: /* @__PURE__ */ e(
|
45
|
+
H,
|
46
|
+
{
|
47
|
+
src: M.CHAPTER_COMPLETED,
|
48
|
+
ref: $,
|
49
|
+
settings: q
|
50
|
+
}
|
51
|
+
) }) : /* @__PURE__ */ t(G, { children: [
|
52
|
+
/* @__PURE__ */ t(F, { width: "108px", height: "108px", children: [
|
53
|
+
/* @__PURE__ */ e(
|
54
|
+
g,
|
55
|
+
{
|
56
|
+
$progress: 0,
|
57
|
+
r: a,
|
58
|
+
cx: s,
|
59
|
+
cy: l
|
60
|
+
}
|
61
|
+
),
|
62
|
+
/* @__PURE__ */ e(
|
63
|
+
g,
|
64
|
+
{
|
65
|
+
$progressCircle: !0,
|
66
|
+
$progressBackground: "BLACK",
|
67
|
+
$progress: 3.3 * r,
|
68
|
+
r: a,
|
69
|
+
cx: s,
|
70
|
+
cy: l
|
71
|
+
}
|
72
|
+
)
|
73
|
+
] }),
|
74
|
+
r > 0 && /* @__PURE__ */ e(f, { $progress: !0, $top: x, $left: E })
|
64
75
|
] }),
|
65
|
-
|
66
|
-
t === 100 && /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(C, { Icon: g }) })
|
76
|
+
/* @__PURE__ */ e(Y, { src: u, alt: "Chapter image" })
|
67
77
|
] }),
|
68
|
-
/* @__PURE__ */
|
69
|
-
/* @__PURE__ */ e(i, { $renderAs: "ah4-bold", children:
|
70
|
-
/* @__PURE__ */
|
71
|
-
!!
|
78
|
+
/* @__PURE__ */ t(K, { $flexGap: 4, children: [
|
79
|
+
/* @__PURE__ */ e(i, { $renderAs: "ah4-bold", children: S }),
|
80
|
+
/* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "center", $flexGapX: 2.75, children: [
|
81
|
+
!!c && /* @__PURE__ */ t(n, { $position: "relative", $flexDirection: "row", children: [
|
72
82
|
/* @__PURE__ */ e(f, {}),
|
73
|
-
/* @__PURE__ */
|
74
|
-
/* @__PURE__ */
|
83
|
+
/* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "center", $flexGap: 8, children: [
|
84
|
+
/* @__PURE__ */ t(i, { $renderAs: "ab2", children: [
|
75
85
|
"Core - ",
|
76
|
-
|
86
|
+
w,
|
77
87
|
"/",
|
78
|
-
|
88
|
+
c
|
79
89
|
] }),
|
80
|
-
|
90
|
+
k && /* @__PURE__ */ e(X, { Icon: b, label: "CW" })
|
81
91
|
] })
|
82
92
|
] }),
|
83
|
-
p > 0 && /* @__PURE__ */
|
93
|
+
p > 0 && /* @__PURE__ */ t(i, { $renderAs: "ab2", children: [
|
84
94
|
"Supplementary - ",
|
85
|
-
|
95
|
+
A,
|
86
96
|
"/",
|
87
97
|
p
|
88
98
|
] })
|
@@ -93,6 +103,6 @@ const a = 52, l = 54, c = 54, re = D((I) => {
|
|
93
103
|
);
|
94
104
|
});
|
95
105
|
export {
|
96
|
-
|
106
|
+
ce as default
|
97
107
|
};
|
98
108
|
//# sourceMappingURL=chapter-banner.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chapter-banner.js","sources":["../../../../../src/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.tsx"],"sourcesContent":["import type { IChapterBannerProps } from './chapter-banner-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport Tag from '../../comps/tag/tag';\nimport { getChapterCompletionPercentage } from '../../utils';\nimport * as Styled from './chapter-banner-styled';\n\nconst PROGRESS_CIRCLE_RADIUS = 52;\nconst PROGRESS_CIRCLE_CENTER_X = 54;\nconst PROGRESS_CIRCLE_CENTER_Y = 54;\n\n// This component renders a banner for a chapter, displaying its title, progress, and associated tags.\n// It includes an image, progress visualization, and details about the chapter's core and supplementary sheets.\n// It calculates the completion percentage and dynamically positions an icon based on progress.\nconst ChapterBanner: FC<IChapterBannerProps> = memo(props => {\n const { progressStats, imageHue, title, imageUrl, bannerRef } = props;\n\n const completionPercentage = useMemo(() => {\n return getChapterCompletionPercentage(progressStats);\n }, [progressStats]);\n\n const { iconTopVal, iconLeftVal } = useMemo(() => {\n //* Calculate the position of the important icon based on the completion percentage\n //* Convert degrees to radians\n const angleInDegree = completionPercentage === 100 ? 60 : completionPercentage;\n\n const angleInRadian = ((-angleInDegree * 3.6 - 180) * Math.PI) / 180;\n const positionX = PROGRESS_CIRCLE_CENTER_Y + PROGRESS_CIRCLE_RADIUS * Math.sin(angleInRadian);\n const positionY = PROGRESS_CIRCLE_CENTER_X + PROGRESS_CIRCLE_RADIUS * Math.cos(angleInRadian);\n\n return {\n iconLeftVal: positionX,\n iconTopVal: positionY,\n };\n }, [completionPercentage]);\n\n if (!progressStats) return null;\n\n const { mandatory, optional, classwork: classWork } = progressStats;\n const { completed: completedMandatorySheets = 0, total: totalMandatorySheets = 0 } =\n mandatory || {};\n const { completed: completedOptionalSheets = 0, total: totalOptionalSheets = 0 } = optional || {};\n const { completed: completedClassWorkSheets = 0, total: totalClassWorkSheets = 0 } =\n classWork || {};\n const showClassWorkTag =\n totalClassWorkSheets > 0 && completedClassWorkSheets === totalClassWorkSheets;\n\n return (\n <Styled.BannerContainer\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $widthX={50}\n $background={`${imageHue}_4`}\n ref={bannerRef}\n >\n <FlexView $height={168} $position=\"relative\">\n <Image\n width=\"100%\"\n height=\"168px\"\n src={ILLUSTRATIONS.CHAPTER_HEADER_BG}\n alt=\"Chapter header background\"\n withLoader\n />\n <Styled.BannerImageWrapper>\n <Styled.
|
1
|
+
{"version":3,"file":"chapter-banner.js","sources":["../../../../../src/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { IChapterBannerProps } from './chapter-banner-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo, useRef } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../ui/text/text';\nimport Tag from '../../comps/tag/tag';\nimport { getChapterCompletionPercentage } from '../../utils';\nimport * as Styled from './chapter-banner-styled';\n\nconst PROGRESS_CIRCLE_RADIUS = 52;\nconst PROGRESS_CIRCLE_CENTER_X = 54;\nconst PROGRESS_CIRCLE_CENTER_Y = 54;\n\nconst sheetCompletedLottieSettings = { renderer: 'canvas', autoplay: true, loop: false };\n\n// This component renders a banner for a chapter, displaying its title, progress, and associated tags.\n// It includes an image, progress visualization, and details about the chapter's core and supplementary sheets.\n// It calculates the completion percentage and dynamically positions an icon based on progress.\nconst ChapterBanner: FC<IChapterBannerProps> = memo(props => {\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const { progressStats, imageHue, title, imageUrl, bannerRef } = props;\n\n const completionPercentage = useMemo(() => {\n return getChapterCompletionPercentage(progressStats);\n }, [progressStats]);\n\n const { iconTopVal, iconLeftVal } = useMemo(() => {\n //* Calculate the position of the important icon based on the completion percentage\n //* Convert degrees to radians\n const angleInDegree = completionPercentage === 100 ? 60 : completionPercentage;\n\n const angleInRadian = ((-angleInDegree * 3.6 - 180) * Math.PI) / 180;\n const positionX = PROGRESS_CIRCLE_CENTER_Y + PROGRESS_CIRCLE_RADIUS * Math.sin(angleInRadian);\n const positionY = PROGRESS_CIRCLE_CENTER_X + PROGRESS_CIRCLE_RADIUS * Math.cos(angleInRadian);\n\n return {\n iconLeftVal: positionX,\n iconTopVal: positionY,\n };\n }, [completionPercentage]);\n\n if (!progressStats) return null;\n\n const { mandatory, optional, classwork: classWork } = progressStats;\n const { completed: completedMandatorySheets = 0, total: totalMandatorySheets = 0 } =\n mandatory || {};\n const { completed: completedOptionalSheets = 0, total: totalOptionalSheets = 0 } = optional || {};\n const { completed: completedClassWorkSheets = 0, total: totalClassWorkSheets = 0 } =\n classWork || {};\n const showClassWorkTag =\n totalClassWorkSheets > 0 && completedClassWorkSheets === totalClassWorkSheets;\n\n return (\n <Styled.BannerContainer\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $widthX={50}\n $background={`${imageHue}_4`}\n ref={bannerRef}\n >\n <FlexView $height={168} $position=\"relative\">\n <Image\n width=\"100%\"\n height=\"168px\"\n src={ILLUSTRATIONS.CHAPTER_HEADER_BG}\n alt=\"Chapter header background\"\n withLoader\n />\n <Styled.BannerImageWrapper>\n {completionPercentage === 100 ? (\n <Styled.LottieAnimationWrapper>\n <LottieAnimation\n src={LOTTIE.CHAPTER_COMPLETED}\n ref={animationRef}\n settings={sheetCompletedLottieSettings}\n />\n </Styled.LottieAnimationWrapper>\n ) : (\n <>\n <Styled.ChapterProgressSVG width=\"108px\" height=\"108px\">\n <Styled.ChapterProgressSVGCircle\n $progress={0}\n r={PROGRESS_CIRCLE_RADIUS}\n cx={PROGRESS_CIRCLE_CENTER_X}\n cy={PROGRESS_CIRCLE_CENTER_Y}\n />\n <Styled.ChapterProgressSVGCircle\n $progressCircle\n $progressBackground={'BLACK'}\n $progress={3.3 * completionPercentage}\n r={PROGRESS_CIRCLE_RADIUS}\n cx={PROGRESS_CIRCLE_CENTER_X}\n cy={PROGRESS_CIRCLE_CENTER_Y}\n />\n </Styled.ChapterProgressSVG>\n\n {completionPercentage > 0 && (\n <Styled.StyledImportantIcon $progress $top={iconTopVal} $left={iconLeftVal} />\n )}\n </>\n )}\n\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n <Styled.BannerTitleWrapper $flexGap={4}>\n <Text $renderAs=\"ah4-bold\">{title}</Text>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={2.75}>\n {!!totalMandatorySheets && (\n <FlexView $position=\"relative\" $flexDirection=\"row\">\n <Styled.StyledImportantIcon />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={8}>\n <Text $renderAs=\"ab2\">\n Core - {completedMandatorySheets}/{totalMandatorySheets}\n </Text>\n {showClassWorkTag && <Tag Icon={Check2Icon} label=\"CW\" />}\n </FlexView>\n </FlexView>\n )}\n {totalOptionalSheets > 0 && (\n <Text $renderAs=\"ab2\">\n Supplementary - {completedOptionalSheets}/{totalOptionalSheets}\n </Text>\n )}\n </FlexView>\n </Styled.BannerTitleWrapper>\n </FlexView>\n </Styled.BannerContainer>\n );\n});\n\nexport default ChapterBanner;\n"],"names":["PROGRESS_CIRCLE_RADIUS","PROGRESS_CIRCLE_CENTER_X","PROGRESS_CIRCLE_CENTER_Y","sheetCompletedLottieSettings","ChapterBanner","memo","props","animationRef","useRef","progressStats","imageHue","title","imageUrl","bannerRef","completionPercentage","useMemo","getChapterCompletionPercentage","iconTopVal","iconLeftVal","angleInRadian","positionX","positionY","mandatory","optional","classWork","completedMandatorySheets","totalMandatorySheets","completedOptionalSheets","totalOptionalSheets","completedClassWorkSheets","totalClassWorkSheets","showClassWorkTag","jsx","Styled.BannerContainer","jsxs","FlexView","Image","ILLUSTRATIONS","Styled.BannerImageWrapper","Styled.LottieAnimationWrapper","LottieAnimation","LOTTIE","Fragment","Styled.ChapterProgressSVG","Styled.ChapterProgressSVGCircle","Styled.StyledImportantIcon","Styled.BannerImage","Styled.BannerTitleWrapper","Text","Tag","Check2Icon"],"mappings":";;;;;;;;;;;;AAiBA,MAAMA,IAAyB,IACzBC,IAA2B,IAC3BC,IAA2B,IAE3BC,IAA+B,EAAE,UAAU,UAAU,UAAU,IAAM,MAAM,MAK3EC,KAAyCC,EAAK,CAASC,MAAA;AACrD,QAAAC,IAAeC,EAAmC,IAAI,GAEtD,EAAE,eAAAC,GAAe,UAAAC,GAAU,OAAAC,GAAO,UAAAC,GAAU,WAAAC,EAAc,IAAAP,GAE1DQ,IAAuBC,EAAQ,MAC5BC,EAA+BP,CAAa,GAClD,CAACA,CAAa,CAAC,GAEZ,EAAE,YAAAQ,GAAY,aAAAC,EAAY,IAAIH,EAAQ,MAAM;AAKhD,UAAMI,KAAkB,EAFFL,MAAyB,MAAM,KAAKA,KAEjB,MAAM,OAAO,KAAK,KAAM,KAC3DM,IAAYlB,IAA2BF,IAAyB,KAAK,IAAImB,CAAa,GACtFE,IAAYpB,IAA2BD,IAAyB,KAAK,IAAImB,CAAa;AAErF,WAAA;AAAA,MACL,aAAaC;AAAA,MACb,YAAYC;AAAA,IAAA;AAAA,EACd,GACC,CAACP,CAAoB,CAAC;AAErB,MAAA,CAACL,EAAsB,QAAA;AAE3B,QAAM,EAAE,WAAAa,GAAW,UAAAC,GAAU,WAAWC,MAAcf,GAChD,EAAE,WAAWgB,IAA2B,GAAG,OAAOC,IAAuB,EAAA,IAC7EJ,KAAa,IACT,EAAE,WAAWK,IAA0B,GAAG,OAAOC,IAAsB,EAAA,IAAML,KAAY,IACzF,EAAE,WAAWM,IAA2B,GAAG,OAAOC,IAAuB,EAAA,IAC7EN,KAAa,IACTO,IACJD,IAAuB,KAAKD,MAA6BC;AAGzD,SAAA,gBAAAE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,SAAS;AAAA,MACT,aAAa,GAAGvB,CAAQ;AAAA,MACxB,KAAKG;AAAA,MAEL,UAAC,gBAAAqB,EAAAC,GAAA,EAAS,SAAS,KAAK,WAAU,YAChC,UAAA;AAAA,QAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,KAAKC,EAAc;AAAA,YACnB,KAAI;AAAA,YACJ,YAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QACA,gBAAAH,EAACI,GAAA,EACE,UAAA;AAAA,UAAAxB,MAAyB,MACxB,gBAAAkB,EAACO,GAAA,EACC,UAAA,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,KAAKC,EAAO;AAAA,cACZ,KAAKlC;AAAA,cACL,UAAUJ;AAAA,YAAA;AAAA,UACZ,EAAA,CACF,IAGE,gBAAA+B,EAAAQ,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAR,EAACS,GAAA,EAA0B,OAAM,SAAQ,QAAO,SAC9C,UAAA;AAAA,cAAA,gBAAAX;AAAA,gBAACY;AAAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,kBACX,GAAG5C;AAAA,kBACH,IAAIC;AAAA,kBACJ,IAAIC;AAAA,gBAAA;AAAA,cACN;AAAA,cACA,gBAAA8B;AAAA,gBAACY;AAAAA,gBAAA;AAAA,kBACC,iBAAe;AAAA,kBACf,qBAAqB;AAAA,kBACrB,WAAW,MAAM9B;AAAA,kBACjB,GAAGd;AAAA,kBACH,IAAIC;AAAA,kBACJ,IAAIC;AAAA,gBAAA;AAAA,cACN;AAAA,YAAA,GACF;AAAA,YAECY,IAAuB,KACtB,gBAAAkB,EAACa,GAAA,EAA2B,WAAS,IAAC,MAAM5B,GAAY,OAAOC,EAAa,CAAA;AAAA,UAAA,GAEhF;AAAA,4BAGD4B,GAAA,EAAmB,KAAKlC,GAAU,KAAI,iBAAgB;AAAA,QAAA,GACzD;AAAA,QACC,gBAAAsB,EAAAa,GAAA,EAA0B,UAAU,GACnC,UAAA;AAAA,UAAC,gBAAAf,EAAAgB,GAAA,EAAK,WAAU,YAAY,UAAMrC,GAAA;AAAA,4BACjCwB,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,WAAW,MAC5D,UAAA;AAAA,YAAA,CAAC,CAACT,KACD,gBAAAQ,EAACC,KAAS,WAAU,YAAW,gBAAe,OAC5C,UAAA;AAAA,cAAC,gBAAAH,EAAAa,GAAA,EAA2B;AAAA,gCAC3BV,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,UAAU,GAC5D,UAAA;AAAA,gBAAC,gBAAAD,EAAAc,GAAA,EAAK,WAAU,OAAM,UAAA;AAAA,kBAAA;AAAA,kBACZvB;AAAA,kBAAyB;AAAA,kBAAEC;AAAA,gBAAA,GACrC;AAAA,gBACCK,KAAqB,gBAAAC,EAAAiB,GAAA,EAAI,MAAMC,GAAY,OAAM,MAAK;AAAA,cAAA,GACzD;AAAA,YAAA,GACF;AAAA,YAEDtB,IAAsB,KACpB,gBAAAM,EAAAc,GAAA,EAAK,WAAU,OAAM,UAAA;AAAA,cAAA;AAAA,cACHrB;AAAA,cAAwB;AAAA,cAAEC;AAAA,YAAA,GAC7C;AAAA,UAAA,GAEJ;AAAA,QAAA,GACF;AAAA,MAAA,GACF;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
|