@cuemath/leap 3.5.29 → 3.5.30-as10
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/illustrations/illustrations.js +22 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +8 -0
- package/dist/assets/images/images.js.map +1 -1
- package/dist/assets/line-icons/icons/carat-right.js +26 -0
- package/dist/assets/line-icons/icons/carat-right.js.map +1 -0
- package/dist/assets/line-icons/icons/dots-icon.js +21 -0
- package/dist/assets/line-icons/icons/dots-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/pause-icon.js +24 -0
- package/dist/assets/line-icons/icons/pause-icon.js.map +1 -0
- package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js +82 -0
- package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js.map +1 -0
- package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.styled.js +77 -0
- package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.styled.js.map +1 -0
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +18 -91
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +42 -58
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel-styled.js +16 -32
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js +88 -87
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +35 -35
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
- package/dist/features/homework/card-title.js +8 -8
- package/dist/features/homework/card-title.js.map +1 -1
- package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +5 -5
- package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -1
- package/dist/features/timeline/monthly-report/api/use-monthly-report-get.js +13 -0
- package/dist/features/timeline/monthly-report/api/use-monthly-report-get.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/achievements/achievements.js +60 -0
- package/dist/features/timeline/monthly-report/comps/achievements/achievements.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/achievements/achievements.styled.js +15 -0
- package/dist/features/timeline/monthly-report/comps/achievements/achievements.styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.js +128 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js +53 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +120 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js +58 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities.js +27 -0
- package/dist/features/timeline/monthly-report/comps/activities/activities.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/constants.js +95 -0
- package/dist/features/timeline/monthly-report/comps/activities/constants.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/activities/utils.js +15 -0
- package/dist/features/timeline/monthly-report/comps/activities/utils.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance-constants.js +29 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance-constants.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance-utils.js +94 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance-utils.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance.js +44 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance.styled.js +39 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendance.styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendence-view.js +52 -0
- package/dist/features/timeline/monthly-report/comps/attendance/attendence-view.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/feedback/feedback-styled.js +9 -0
- package/dist/features/timeline/monthly-report/comps/feedback/feedback-styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/feedback/feedback.js +94 -0
- package/dist/features/timeline/monthly-report/comps/feedback/feedback.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js +48 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js +28 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card.js +113 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-constants.js +30 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals-constants.js.map +1 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals.js +22 -0
- package/dist/features/timeline/monthly-report/comps/goals/goals.js.map +1 -0
- package/dist/features/timeline/monthly-report/monthly-report-styled.js +14 -0
- package/dist/features/timeline/monthly-report/monthly-report-styled.js.map +1 -0
- package/dist/features/timeline/monthly-report/monthly-report-types.js +5 -0
- package/dist/features/timeline/monthly-report/monthly-report-types.js.map +1 -0
- package/dist/features/timeline/monthly-report/monthly-report.js +69 -0
- package/dist/features/timeline/monthly-report/monthly-report.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +10 -0
- package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +87 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/constants.js +41 -0
- package/dist/features/timeline/monthly-timeline/constants.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js +6 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js +28 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline.js +56 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -0
- package/dist/features/timeline/ptm-report/api/use-ptm-report-get.js +9 -0
- package/dist/features/timeline/ptm-report/api/use-ptm-report-get.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/key-need/key-need-styled.js +9 -0
- package/dist/features/timeline/ptm-report/comps/key-need/key-need-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/key-need/key-need.js +35 -0
- package/dist/features/timeline/ptm-report/comps/key-need/key-need.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/parent-support/parent-support.js +53 -0
- package/dist/features/timeline/ptm-report/comps/parent-support/parent-support.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js +19 -0
- package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js +50 -0
- package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/report-card/report-card-styled.js +9 -0
- package/dist/features/timeline/ptm-report/comps/report-card/report-card-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/report-card/report-card.js +22 -0
- package/dist/features/timeline/ptm-report/comps/report-card/report-card.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/school-support/school-support-styled.js +9 -0
- package/dist/features/timeline/ptm-report/comps/school-support/school-support-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/school-support/school-support.js +84 -0
- package/dist/features/timeline/ptm-report/comps/school-support/school-support.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/strategies/strategies-constant.js +11 -0
- package/dist/features/timeline/ptm-report/comps/strategies/strategies-constant.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/strategies/strategies.js +36 -0
- package/dist/features/timeline/ptm-report/comps/strategies/strategies.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.js +55 -0
- package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card.js +35 -0
- package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/student-info/student-info-styled.js +21 -0
- package/dist/features/timeline/ptm-report/comps/student-info/student-info-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/student-info/student-info.js +21 -0
- package/dist/features/timeline/ptm-report/comps/student-info/student-info.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/support-card/support-card-styled.js +9 -0
- package/dist/features/timeline/ptm-report/comps/support-card/support-card-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/support-card/support-card.js +30 -0
- package/dist/features/timeline/ptm-report/comps/support-card/support-card.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js +9 -0
- package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.js +56 -0
- package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.js.map +1 -0
- package/dist/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js +15 -0
- package/dist/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js.map +1 -0
- package/dist/features/timeline/ptm-report/ptm-report-constants.js +16 -0
- package/dist/features/timeline/ptm-report/ptm-report-constants.js.map +1 -0
- package/dist/features/timeline/ptm-report/ptm-report-helpers.js +8 -0
- package/dist/features/timeline/ptm-report/ptm-report-helpers.js.map +1 -0
- package/dist/features/timeline/ptm-report/ptm-report-styled.js +11 -0
- package/dist/features/timeline/ptm-report/ptm-report-styled.js.map +1 -0
- package/dist/features/timeline/ptm-report/ptm-report-types.js +5 -0
- package/dist/features/timeline/ptm-report/ptm-report-types.js.map +1 -0
- package/dist/features/timeline/ptm-report/ptm-report.js +113 -0
- package/dist/features/timeline/ptm-report/ptm-report.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js +5 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.js +41 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +37 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -0
- package/dist/features/ui/animated-arc/animated-arc-styled.js +7 -7
- package/dist/features/ui/animated-arc/animated-arc-styled.js.map +1 -1
- package/dist/features/ui/animated-arc/animated-arc.js +37 -26
- package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
- package/dist/features/ui/linear-progress-bar/linear-progress-bar.js +39 -0
- package/dist/features/ui/linear-progress-bar/linear-progress-bar.js.map +1 -0
- package/dist/features/ui/linear-progress-bar/linear-progress-bar.styled.js +23 -0
- package/dist/features/ui/linear-progress-bar/linear-progress-bar.styled.js.map +1 -0
- package/dist/features/ui/swipable-carousel/swipable-carousel-styled.js +57 -0
- package/dist/features/ui/swipable-carousel/swipable-carousel-styled.js.map +1 -0
- package/dist/features/ui/swipable-carousel/swipable-carousel.js +132 -0
- package/dist/features/ui/swipable-carousel/swipable-carousel.js.map +1 -0
- package/dist/features/ui/swipeable-component/swipeable-component-styled.js.map +1 -0
- package/dist/features/ui/swipeable-component/swipeable-component.js +27 -0
- package/dist/features/ui/swipeable-component/swipeable-component.js.map +1 -0
- package/dist/features/ui/theme/text.js +14 -0
- package/dist/features/ui/theme/text.js.map +1 -1
- package/dist/index.d.ts +231 -25
- package/dist/index.js +588 -568
- package/dist/index.js.map +1 -1
- package/dist/static/2021.0683b580.png +0 -0
- package/dist/static/2022.d34ad7a5.png +0 -0
- package/dist/static/2023.fce87149.png +0 -0
- package/dist/static/2024.a275ee85.png +0 -0
- package/dist/static/2025.677cc187.png +0 -0
- package/dist/static/2026.63763214.png +0 -0
- package/dist/static/2027.b82dc039.png +0 -0
- package/dist/static/2028.580b8cc0.png +0 -0
- package/dist/static/coding-report-icon.91a1e900.svg +1 -0
- package/dist/static/elp-icon.d45b457d.svg +1 -0
- package/dist/static/english-icon.50c2e005.svg +1 -0
- package/dist/static/focus-blue.664be268.svg +1 -0
- package/dist/static/full-report.00112c74.svg +1 -0
- package/dist/static/key.fa0b4c98.svg +1 -0
- package/dist/static/live-session-blue.ec7fa85f.svg +1 -0
- package/dist/static/math-fit-grey.c32f37b3.svg +1 -0
- package/dist/static/no-report.4158fad3.svg +1 -0
- package/dist/static/opened-book-green.faacda34.svg +1 -0
- package/dist/static/percentage-pattern-yellow.6a25e820.svg +1 -0
- package/dist/static/pi-orange.132b108d.svg +1 -0
- package/dist/static/ptm-report-icon.5089218f.svg +1 -0
- package/dist/static/puzzle-purple.60ff4884.svg +1 -0
- package/dist/static/question-mark-yellow.1925aa04.svg +1 -0
- package/dist/static/renewal-blue.1ab3b2d4.svg +1 -0
- package/dist/static/sat-report-icon.4331be86.svg +1 -0
- package/dist/static/science-report-icon.a0014c40.svg +1 -0
- package/dist/static/thumbs-up-green.6a03b9d2.svg +1 -0
- package/dist/static/thumps-down.a1192a62.svg +1 -0
- package/dist/static/thumps-up.caa35a98.svg +1 -0
- package/dist/static/time-purple.ab1a458d.svg +1 -0
- package/package.json +3 -2
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -34
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
- package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component-styled.js.map +0 -1
- package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component.js +0 -26
- package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component.js.map +0 -1
- /package/dist/features/{circle-games/game-launcher/comps/swipable-component → ui/swipeable-component}/swipeable-component-styled.js +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as e, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import { memo as T, useCallback as x, useEffect as I } from "react";
|
|
3
|
+
import { useMonthlyTimelineGet as A } from "./api/use-monthly-timeline-get.js";
|
|
4
|
+
import C from "./monthly-timeline-view.js";
|
|
5
|
+
import w from "../../ui/loader/app-loader/app-loader.js";
|
|
6
|
+
import t from "../../ui/layout/flex-view.js";
|
|
7
|
+
import D from "../../ui/text/text.js";
|
|
8
|
+
import E from "../../ui/image/image.js";
|
|
9
|
+
import c from "../../ui/separator/separator.js";
|
|
10
|
+
import { yearImages as F, monthNames as X } from "./constants.js";
|
|
11
|
+
import j from "../../ui/error/error.js";
|
|
12
|
+
import { ImageContainer as M } from "./monthly-timeline-styled.js";
|
|
13
|
+
const _ = ({
|
|
14
|
+
userType: p,
|
|
15
|
+
studentId: n,
|
|
16
|
+
courseStreams: f,
|
|
17
|
+
onReportClick: g
|
|
18
|
+
}) => {
|
|
19
|
+
const {
|
|
20
|
+
get: i,
|
|
21
|
+
data: m,
|
|
22
|
+
isProcessing: y,
|
|
23
|
+
isProcessingFailed: d
|
|
24
|
+
} = A(), o = x(() => {
|
|
25
|
+
i(n, {
|
|
26
|
+
course_stream: p === "TEACHER" ? f : [],
|
|
27
|
+
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
28
|
+
});
|
|
29
|
+
}, [i, n]);
|
|
30
|
+
return I(() => {
|
|
31
|
+
o();
|
|
32
|
+
}, [o]), y || !m ? /* @__PURE__ */ e(w, { height: "100dvh" }) : d ? /* @__PURE__ */ e(t, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(j, { onTryAgain: o }) }) : /* @__PURE__ */ e(t, { $gapX: 2, children: m.map((r, $) => {
|
|
33
|
+
const a = $ === 0, u = r.month === 12, s = !a && u, h = F[r.year];
|
|
34
|
+
return /* @__PURE__ */ l(t, { $width: "100%", children: [
|
|
35
|
+
!a && !s && /* @__PURE__ */ e(c, { heightX: 2 }),
|
|
36
|
+
s && h && /* @__PURE__ */ e(M, { $marginBottom: -122, children: /* @__PURE__ */ e(E, { src: h, alt: r.year.toString(), height: "248px" }) }),
|
|
37
|
+
/* @__PURE__ */ l(t, { $gutterX: 1, children: [
|
|
38
|
+
/* @__PURE__ */ e(D, { $renderAs: "ac4", $color: "BLACK_T_60", children: X[r.month - 1] }),
|
|
39
|
+
/* @__PURE__ */ e(c, { heightX: 1 }),
|
|
40
|
+
/* @__PURE__ */ e(
|
|
41
|
+
C,
|
|
42
|
+
{
|
|
43
|
+
reports: r.reports,
|
|
44
|
+
month: r.month,
|
|
45
|
+
year: r.year,
|
|
46
|
+
onReportClick: g
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
] })
|
|
50
|
+
] }, `${r.month}-${r.year}`);
|
|
51
|
+
}) });
|
|
52
|
+
}, N = T(_);
|
|
53
|
+
export {
|
|
54
|
+
N as default
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=monthly-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monthly-timeline.js","sources":["../../../../src/features/timeline/monthly-timeline/monthly-timeline.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useEffect } from 'react';\n\nimport { type IMonthlyTimelineProps } from './monthly-timeline-types';\nimport { useMonthlyTimelineGet } from './api/use-monthly-timeline-get';\nimport MonthlyTimelineView from './monthly-timeline-view';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport Image from '../../ui/image/image';\nimport Separator from '../../ui/separator/separator';\nimport { monthNames, yearImages } from './constants';\nimport Error from '../../ui/error/error';\nimport * as Styled from './monthly-timeline-styled';\n\nconst MonthlyTimeline: FC<IMonthlyTimelineProps> = ({\n userType,\n studentId,\n courseStreams,\n onReportClick,\n}) => {\n const {\n get: getTimeline,\n data: timelineData,\n isProcessing,\n isProcessingFailed,\n } = useMonthlyTimelineGet();\n\n const fetchData = useCallback(() => {\n getTimeline(studentId, {\n course_stream: userType === 'TEACHER' ? courseStreams : [],\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n });\n }, [getTimeline, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isProcessing || !timelineData) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Error onTryAgain={fetchData} />\n </FlexView>\n );\n }\n\n return (\n <FlexView $gapX={2}>\n {timelineData.map((item, index) => {\n const isFirstItem = index === 0;\n const isDecember = item.month === 12;\n const showYearImage = !isFirstItem && isDecember;\n const yearImage = yearImages[item.year];\n\n return (\n <FlexView key={`${item.month}-${item.year}`} $width=\"100%\">\n {!isFirstItem && !showYearImage && <Separator heightX={2} />}\n {showYearImage && yearImage && (\n <Styled.ImageContainer $marginBottom={-122}>\n <Image src={yearImage} alt={item.year.toString()} height=\"248px\" />\n </Styled.ImageContainer>\n )}\n <FlexView $gutterX={1}>\n <Text $renderAs=\"ac4\" $color=\"BLACK_T_60\">\n {monthNames[item.month - 1]}\n </Text>\n <Separator heightX={1} />\n <MonthlyTimelineView\n reports={item.reports}\n month={item.month}\n year={item.year}\n onReportClick={onReportClick}\n />\n </FlexView>\n </FlexView>\n );\n })}\n </FlexView>\n );\n};\n\nexport default memo(MonthlyTimeline);\n"],"names":["MonthlyTimeline","userType","studentId","courseStreams","onReportClick","getTimeline","timelineData","isProcessing","isProcessingFailed","useMonthlyTimelineGet","fetchData","useCallback","useEffect","jsx","AppLoader","FlexView","Error","item","index","isFirstItem","isDecember","showYearImage","yearImage","yearImages","jsxs","Separator","Styled.ImageContainer","Image","Text","monthNames","MonthlyTimelineView","monthlyTimeline","memo"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,IAA6C,CAAC;AAAA,EAClD,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,oBAAAC;AAAA,MACEC,EAAsB,GAEpBC,IAAYC,EAAY,MAAM;AAClC,IAAAN,EAAYH,GAAW;AAAA,MACrB,eAAeD,MAAa,YAAYE,IAAgB,CAAC;AAAA,MACzD,UAAU,KAAK,iBAAiB,gBAAkB,EAAA;AAAA,IAAA,CACnD;AAAA,EAAA,GACA,CAACE,GAAaH,CAAS,CAAC;AAMvB,SAJJU,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEVH,KAAgB,CAACD,IACZ,gBAAAO,EAACC,GAAU,EAAA,QAAO,SAAS,CAAA,IAGhCN,IAEC,gBAAAK,EAAAE,GAAA,EAAS,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAC,gBAAAF,EAAAG,GAAA,EAAM,YAAYN,EAAA,CAAW,EAChC,CAAA,IAKF,gBAAAG,EAACE,KAAS,OAAO,GACd,YAAa,IAAI,CAACE,GAAMC,MAAU;AACjC,UAAMC,IAAcD,MAAU,GACxBE,IAAaH,EAAK,UAAU,IAC5BI,IAAgB,CAACF,KAAeC,GAChCE,IAAYC,EAAWN,EAAK,IAAI;AAGpC,WAAA,gBAAAO,EAACT,GAA4C,EAAA,QAAO,QACjD,UAAA;AAAA,MAAA,CAACI,KAAe,CAACE,KAAkB,gBAAAR,EAAAY,GAAA,EAAU,SAAS,GAAG;AAAA,MACzDJ,KAAiBC,KAChB,gBAAAT,EAACa,GAAA,EAAsB,eAAe,MACpC,UAAA,gBAAAb,EAACc,KAAM,KAAKL,GAAW,KAAKL,EAAK,KAAK,YAAY,QAAO,QAAQ,CAAA,GACnE;AAAA,MAEF,gBAAAO,EAACT,GAAS,EAAA,UAAU,GAClB,UAAA;AAAA,QAAC,gBAAAF,EAAAe,GAAA,EAAK,WAAU,OAAM,QAAO,cAC1B,UAAWC,EAAAZ,EAAK,QAAQ,CAAC,EAC5B,CAAA;AAAA,QACA,gBAAAJ,EAACY,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QACvB,gBAAAZ;AAAA,UAACiB;AAAA,UAAA;AAAA,YACC,SAASb,EAAK;AAAA,YACd,OAAOA,EAAK;AAAA,YACZ,MAAMA,EAAK;AAAA,YACX,eAAAb;AAAA,UAAA;AAAA,QACF;AAAA,MAAA,GACF;AAAA,IAAA,KAlBa,GAAGa,EAAK,KAAK,IAAIA,EAAK,IAAI,EAmBzC;AAAA,EAEH,CAAA,EACH,CAAA;AAEJ,GAEec,IAAAC,EAAKhC,CAAe;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createGetAPI as e } from "@cuemath/rest-api";
|
|
2
|
+
import { BASE_URL_V1 as r } from "../../../../constants/api.js";
|
|
3
|
+
const { useGet: p } = e({
|
|
4
|
+
getURL: (t) => `${r}/ptm/${t}`
|
|
5
|
+
});
|
|
6
|
+
export {
|
|
7
|
+
p as usePTMReportGet
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=use-ptm-report-get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-ptm-report-get.js","sources":["../../../../../src/features/timeline/ptm-report/api/use-ptm-report-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../constants/api';\nimport type { IPTMReportResponse } from '../ptm-report-types';\n\nconst { useGet: usePTMReportGet } = createGetAPI<IPTMReportResponse>({\n getURL: (ptmId: string) => {\n return `${BASE_URL_V1}/ptm/${ptmId}`;\n },\n});\n\nexport { usePTMReportGet };\n"],"names":["usePTMReportGet","createGetAPI","ptmId","BASE_URL_V1"],"mappings":";;AAKA,MAAM,EAAE,QAAQA,EAAgB,IAAIC,EAAiC;AAAA,EACnE,QAAQ,CAACC,MACA,GAAGC,CAAW,QAAQD,CAAK;AAEtC,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-need-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/key-need/key-need-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n margin-top: -48px;\n`;\n"],"names":["Wrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA;AAAA;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs as e, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { memo as d } from "react";
|
|
3
|
+
import { ILLUSTRATIONS as l } from "../../../../../assets/illustrations/illustrations.js";
|
|
4
|
+
import n from "../../../../ui/image/image.js";
|
|
5
|
+
import i from "../../../../ui/layout/flex-view.js";
|
|
6
|
+
import t from "../../../../ui/separator/separator.js";
|
|
7
|
+
import m from "../../../../ui/text/text.js";
|
|
8
|
+
import { Wrapper as p } from "./key-need-styled.js";
|
|
9
|
+
const f = ({ text: o }) => o ? /* @__PURE__ */ e(i, { children: [
|
|
10
|
+
/* @__PURE__ */ e(
|
|
11
|
+
p,
|
|
12
|
+
{
|
|
13
|
+
$flexDirection: "row",
|
|
14
|
+
$borderRadius: 12,
|
|
15
|
+
$borderColor: "GREY_2",
|
|
16
|
+
$gutterX: 0.75,
|
|
17
|
+
$gapX: 1,
|
|
18
|
+
$background: "WHITE",
|
|
19
|
+
$flexColumnGapX: 0.5,
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ r(n, { src: l.KEY, width: 42, height: 44 }),
|
|
22
|
+
/* @__PURE__ */ e(i, { $flex: 1, children: [
|
|
23
|
+
/* @__PURE__ */ r(m, { $renderAs: "ab2-bold", children: "Key Need" }),
|
|
24
|
+
/* @__PURE__ */ r(t, { height: 4 }),
|
|
25
|
+
/* @__PURE__ */ r(m, { $renderAs: "ab3", children: o })
|
|
26
|
+
] })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ r(t, { heightX: 2 })
|
|
31
|
+
] }) : null, b = d(f);
|
|
32
|
+
export {
|
|
33
|
+
b as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=key-need.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-need.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/key-need/key-need.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './key-need-styled';\n\nconst KeyNeed = ({ text }: { text: string }) => {\n if (!text) {\n return null;\n }\n\n return (\n <FlexView>\n <Styled.Wrapper\n $flexDirection=\"row\"\n $borderRadius={12}\n $borderColor=\"GREY_2\"\n $gutterX={0.75}\n $gapX={1}\n $background=\"WHITE\"\n $flexColumnGapX={0.5}\n >\n <Image src={ILLUSTRATIONS.KEY} width={42} height={44} />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-bold\">Key Need</Text>\n <Separator height={4} />\n <Text $renderAs=\"ab3\">{text}</Text>\n </FlexView>\n </Styled.Wrapper>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(KeyNeed);\n"],"names":["KeyNeed","text","FlexView","jsxs","Styled.Wrapper","jsx","Image","ILLUSTRATIONS","Text","Separator","KeyNeed$1","memo"],"mappings":";;;;;;;;AASA,MAAMA,IAAU,CAAC,EAAE,MAAAC,QACZA,sBAKFC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,eAAe;AAAA,MACf,cAAa;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAY;AAAA,MACZ,iBAAiB;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAM,KAAKC,EAAc,KAAK,OAAO,IAAI,QAAQ,IAAI;AAAA,QACtD,gBAAAJ,EAACD,GAAS,EAAA,OAAO,GACf,UAAA;AAAA,UAAC,gBAAAG,EAAAG,GAAA,EAAK,WAAU,YAAW,UAAQ,YAAA;AAAA,UACnC,gBAAAH,EAACI,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,UACrB,gBAAAJ,EAAAG,GAAA,EAAK,WAAU,OAAO,UAAKP,GAAA;AAAA,QAAA,GAC9B;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,EACA,gBAAAI,EAACI,GAAU,EAAA,SAAS,EAAG,CAAA;AACzB,EAAA,CAAA,IAtBO,MA0BIC,IAAAC,EAAKX,CAAO;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs as b, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as x } from "react";
|
|
3
|
+
import O from "../../../../ui/layout/flex-view.js";
|
|
4
|
+
import j from "../../../../ui/text/text.js";
|
|
5
|
+
import i from "../../../../ui/separator/separator.js";
|
|
6
|
+
import { REPORT_CARD_ICON_MAP as C } from "../../ptm-report-constants.js";
|
|
7
|
+
import R from "../support-card/support-card.js";
|
|
8
|
+
const $ = ({
|
|
9
|
+
report: t,
|
|
10
|
+
options: o,
|
|
11
|
+
classesCompleted: s,
|
|
12
|
+
weeksCompleted: m,
|
|
13
|
+
sheetsNotCompleted: p,
|
|
14
|
+
sheetsAssigned: a,
|
|
15
|
+
lateClassesCount: l,
|
|
16
|
+
lateIfMinutes: _
|
|
17
|
+
}) => {
|
|
18
|
+
const c = {
|
|
19
|
+
"<classes_completed>": String(s),
|
|
20
|
+
"<weeks_completed>": String(m),
|
|
21
|
+
"<sheets_not_completed>": String(p),
|
|
22
|
+
"<sheets_assigned>": String(a),
|
|
23
|
+
"<no_of_late_classes>": String(l),
|
|
24
|
+
"<late_if_minutes>": String(_)
|
|
25
|
+
};
|
|
26
|
+
return !(t != null && t.length) || !o ? null : /* @__PURE__ */ b(O, { children: [
|
|
27
|
+
/* @__PURE__ */ e(j, { $renderAs: "ab1-bold", children: "Parent Support" }),
|
|
28
|
+
/* @__PURE__ */ e(i, { heightX: 1 }),
|
|
29
|
+
t.map((n) => {
|
|
30
|
+
const r = o[n];
|
|
31
|
+
if (!r) return null;
|
|
32
|
+
const { icon: f, option_label: u, report_statement: S, option_info: d } = r, g = Object.entries(c).reduce(
|
|
33
|
+
(h, [P, A]) => h.replace(P, A),
|
|
34
|
+
d
|
|
35
|
+
);
|
|
36
|
+
return /* @__PURE__ */ e(
|
|
37
|
+
R,
|
|
38
|
+
{
|
|
39
|
+
icon: C[f],
|
|
40
|
+
title: u,
|
|
41
|
+
info: g,
|
|
42
|
+
statement: S
|
|
43
|
+
},
|
|
44
|
+
`option-${n}`
|
|
45
|
+
);
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ e(i, { heightX: 2 })
|
|
48
|
+
] });
|
|
49
|
+
}, T = x($);
|
|
50
|
+
export {
|
|
51
|
+
T as default
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=parent-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent-support.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/parent-support/parent-support.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport Separator from '../../../../ui/separator/separator';\nimport type { IParentSupportProps } from './parent-support-types';\nimport { REPORT_CARD_ICON_MAP } from '../../ptm-report-constants';\nimport SupportCard from '../support-card/support-card';\n\nconst ParentSupport: FC<IParentSupportProps> = ({\n report,\n options,\n classesCompleted,\n weeksCompleted,\n sheetsNotCompleted,\n sheetsAssigned,\n lateClassesCount,\n lateIfMinutes,\n}) => {\n const INFO_LABEL_MAP: Record<string, string> = {\n '<classes_completed>': String(classesCompleted),\n '<weeks_completed>': String(weeksCompleted),\n '<sheets_not_completed>': String(sheetsNotCompleted),\n '<sheets_assigned>': String(sheetsAssigned),\n '<no_of_late_classes>': String(lateClassesCount),\n '<late_if_minutes>': String(lateIfMinutes),\n };\n\n if (!report?.length || !options) return null;\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Parent Support</Text>\n <Separator heightX={1} />\n {report.map(selectedIdx => {\n const option = options[selectedIdx];\n\n if (!option) return null;\n\n const { icon, option_label, report_statement, option_info } = option;\n\n const formattedInfo = Object.entries(INFO_LABEL_MAP).reduce(\n (info, [key, value]) => info.replace(key, value),\n option_info,\n );\n\n return (\n <SupportCard\n key={`option-${selectedIdx}`}\n icon={REPORT_CARD_ICON_MAP[icon]!}\n title={option_label}\n info={formattedInfo}\n statement={report_statement}\n />\n );\n })}\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(ParentSupport);\n"],"names":["ParentSupport","report","options","classesCompleted","weeksCompleted","sheetsNotCompleted","sheetsAssigned","lateClassesCount","lateIfMinutes","INFO_LABEL_MAP","FlexView","jsx","Text","Separator","selectedIdx","option","icon","option_label","report_statement","option_info","formattedInfo","info","key","value","SupportCard","REPORT_CARD_ICON_MAP","ParentSupport$1","memo"],"mappings":";;;;;;;AASA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAMC,IAAyC;AAAA,IAC7C,uBAAuB,OAAON,CAAgB;AAAA,IAC9C,qBAAqB,OAAOC,CAAc;AAAA,IAC1C,0BAA0B,OAAOC,CAAkB;AAAA,IACnD,qBAAqB,OAAOC,CAAc;AAAA,IAC1C,wBAAwB,OAAOC,CAAgB;AAAA,IAC/C,qBAAqB,OAAOC,CAAa;AAAA,EAAA;AAG3C,SAAI,EAACP,KAAA,QAAAA,EAAQ,WAAU,CAACC,IAAgB,yBAGrCQ,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAc,kBAAA;AAAA,IACzC,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACtBZ,EAAO,IAAI,CAAea,MAAA;AACnB,YAAAC,IAASb,EAAQY,CAAW;AAE9B,UAAA,CAACC,EAAe,QAAA;AAEpB,YAAM,EAAE,MAAAC,GAAM,cAAAC,GAAc,kBAAAC,GAAkB,aAAAC,MAAgBJ,GAExDK,IAAgB,OAAO,QAAQX,CAAc,EAAE;AAAA,QACnD,CAACY,GAAM,CAACC,GAAKC,CAAK,MAAMF,EAAK,QAAQC,GAAKC,CAAK;AAAA,QAC/CJ;AAAA,MAAA;AAIA,aAAA,gBAAAR;AAAA,QAACa;AAAA,QAAA;AAAA,UAEC,MAAMC,EAAqBT,CAAI;AAAA,UAC/B,OAAOC;AAAA,UACP,MAAMG;AAAA,UACN,WAAWF;AAAA,QAAA;AAAA,QAJN,UAAUJ,CAAW;AAAA,MAAA;AAAA,IAK5B,CAEH;AAAA,IACD,gBAAAH,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACzB,EAAA,CAAA;AAEJ,GAEea,IAAAC,EAAK3B,CAAa;"}
|
package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import e from "styled-components";
|
|
2
|
+
import r from "../../../../ui/layout/flex-view.js";
|
|
3
|
+
const i = e.img`
|
|
4
|
+
flex: 1;
|
|
5
|
+
height: ${16 * 13.375}px;
|
|
6
|
+
max-width: ${16 * 10}px;
|
|
7
|
+
border-radius: 8px;
|
|
8
|
+
border-width: 0.3px;
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
margin: 3px;
|
|
12
|
+
`, p = e(r)`
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
`;
|
|
15
|
+
export {
|
|
16
|
+
i as ImageWrapper,
|
|
17
|
+
p as Wrapper
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=real-world-projects-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"real-world-projects-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const ImageWrapper = styled.img`\n flex: 1;\n height: ${16 * 13.375}px;\n max-width: ${16 * 10}px;\n border-radius: 8px;\n border-width: 0.3px;\n overflow: hidden;\n justify-content: center;\n margin: 3px;\n`;\n\nexport const Wrapper = styled(FlexView)`\n overflow: hidden;\n`;\n"],"names":["ImageWrapper","styled","Wrapper","FlexView"],"mappings":";;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA,YAEvB,KAAK,MAAM;AAAA,eACR,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQTC,IAAUD,EAAOE,CAAQ;AAAA;AAAA;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsxs as e, jsx as r, Fragment as m } from "react/jsx-runtime";
|
|
2
|
+
import { memo as g } from "react";
|
|
3
|
+
import n from "../../../../ui/layout/flex-view.js";
|
|
4
|
+
import t from "../../../../ui/text/text.js";
|
|
5
|
+
import i from "../../../../ui/separator/separator.js";
|
|
6
|
+
import { Wrapper as u, ImageWrapper as b } from "./real-world-projects-styled.js";
|
|
7
|
+
const p = ({ projectReport: l, projectInfo: d }) => {
|
|
8
|
+
if (!l || !d)
|
|
9
|
+
return null;
|
|
10
|
+
const { images: c = [], observation: a } = l, {
|
|
11
|
+
activity: $,
|
|
12
|
+
objective: s,
|
|
13
|
+
image_upload_urls: o
|
|
14
|
+
} = d;
|
|
15
|
+
return /* @__PURE__ */ e(n, { children: [
|
|
16
|
+
/* @__PURE__ */ r(t, { $renderAs: "ab1-bold", children: "Real world projects" }),
|
|
17
|
+
/* @__PURE__ */ r(i, { heightX: 1 }),
|
|
18
|
+
/* @__PURE__ */ e(u, { $borderColor: "GREY_2", $borderRadiusX: 0.5, children: [
|
|
19
|
+
/* @__PURE__ */ r(n, { $gutterX: 1, $background: "YELLOW_1", $gap: 10, $gutter: 12, children: /* @__PURE__ */ r(t, { $renderAs: "ac4", $align: "center", children: $ }) }),
|
|
20
|
+
/* @__PURE__ */ e(n, { $gutterX: 0.75, $gapX: 0.75, children: [
|
|
21
|
+
c.length > 0 && /* @__PURE__ */ e(m, { children: [
|
|
22
|
+
/* @__PURE__ */ r(n, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", children: c.map((h) => /* @__PURE__ */ r(
|
|
23
|
+
b,
|
|
24
|
+
{
|
|
25
|
+
src: o == null ? void 0 : o[h]
|
|
26
|
+
},
|
|
27
|
+
h
|
|
28
|
+
)) }),
|
|
29
|
+
/* @__PURE__ */ r(i, { height: 12 })
|
|
30
|
+
] }),
|
|
31
|
+
s && /* @__PURE__ */ e(t, { $renderAs: "ub2-bold", children: [
|
|
32
|
+
"Objective: ",
|
|
33
|
+
/* @__PURE__ */ r(t, { $renderAs: "ub2", children: s })
|
|
34
|
+
] }),
|
|
35
|
+
!!a && /* @__PURE__ */ e(m, { children: [
|
|
36
|
+
/* @__PURE__ */ r(i, { height: 12 }),
|
|
37
|
+
/* @__PURE__ */ e(t, { $renderAs: "ub2-bold", children: [
|
|
38
|
+
"Teacher remarks: ",
|
|
39
|
+
/* @__PURE__ */ r(t, { $renderAs: "ub2", children: a })
|
|
40
|
+
] })
|
|
41
|
+
] })
|
|
42
|
+
] })
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ r(i, { heightX: 2 })
|
|
45
|
+
] });
|
|
46
|
+
}, v = g(p);
|
|
47
|
+
export {
|
|
48
|
+
v as default
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=real-world-projects.js.map
|
package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"real-world-projects.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport Separator from '../../../../ui/separator/separator';\nimport type { IRealWorldProjectsProps } from './real-world-projects-types';\nimport * as Styled from './real-world-projects-styled';\n\nconst RealWorldProjects: FC<IRealWorldProjectsProps> = ({ projectReport, projectInfo }) => {\n if (!projectReport || !projectInfo) {\n return null;\n }\n\n const { images = [], observation } = projectReport;\n\n const {\n activity: activity,\n objective: objective,\n image_upload_urls: fileUploadURLs,\n } = projectInfo;\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Real world projects</Text>\n <Separator heightX={1} />\n <Styled.Wrapper $borderColor=\"GREY_2\" $borderRadiusX={0.5}>\n <FlexView $gutterX={1} $background={'YELLOW_1'} $gap={10} $gutter={12}>\n <Text $renderAs=\"ac4\" $align=\"center\">\n {activity}\n </Text>\n </FlexView>\n <FlexView $gutterX={0.75} $gapX={0.75}>\n {images.length > 0 && (\n <>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\">\n {images.map(item => (\n <Styled.ImageWrapper\n key={item}\n src={fileUploadURLs?.[item as keyof typeof fileUploadURLs] as string}\n />\n ))}\n </FlexView>\n <Separator height={12} />\n </>\n )}\n {objective && (\n <Text $renderAs=\"ub2-bold\">\n Objective: \n <Text $renderAs=\"ub2\">{objective}</Text>\n </Text>\n )}\n {!!observation && (\n <>\n <Separator height={12} />\n <Text $renderAs=\"ub2-bold\">\n Teacher remarks: \n <Text $renderAs=\"ub2\">{observation}</Text>\n </Text>\n </>\n )}\n </FlexView>\n </Styled.Wrapper>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(RealWorldProjects);\n"],"names":["RealWorldProjects","projectReport","projectInfo","images","observation","activity","objective","fileUploadURLs","FlexView","jsx","Text","Separator","Styled.Wrapper","jsxs","Fragment","item","Styled.ImageWrapper","RealWorldProjects$1","memo"],"mappings":";;;;;;AAQA,MAAMA,IAAiD,CAAC,EAAE,eAAAC,GAAe,aAAAC,QAAkB;AACrF,MAAA,CAACD,KAAiB,CAACC;AACd,WAAA;AAGT,QAAM,EAAE,QAAAC,IAAS,CAAA,GAAI,aAAAC,MAAgBH,GAE/B;AAAA,IACJ,UAAAI;AAAA,IACA,WAAAC;AAAA,IACA,mBAAmBC;AAAA,EACjB,IAAAL;AAEJ,2BACGM,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAmB,uBAAA;AAAA,IAC9C,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,sBACtBC,GAAA,EAAe,cAAa,UAAS,gBAAgB,KACpD,UAAA;AAAA,MAAA,gBAAAH,EAACD,KAAS,UAAU,GAAG,aAAa,YAAY,MAAM,IAAI,SAAS,IACjE,UAAA,gBAAAC,EAACC,KAAK,WAAU,OAAM,QAAO,UAC1B,YACH,CAAA,GACF;AAAA,MACC,gBAAAG,EAAAL,GAAA,EAAS,UAAU,MAAM,OAAO,MAC9B,UAAA;AAAA,QAAOL,EAAA,SAAS,KAEb,gBAAAU,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAC,gBAAAL,EAAAD,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UACjE,UAAOL,EAAA,IAAI,CACVY,MAAA,gBAAAN;AAAA,YAACO;AAAAA,YAAA;AAAA,cAEC,KAAKT,KAAA,gBAAAA,EAAiBQ;AAAA,YAAmC;AAAA,YADpDA;AAAA,UAGR,CAAA,GACH;AAAA,UACA,gBAAAN,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QAAA,GACzB;AAAA,QAEDL,KACC,gBAAAO,EAACH,GAAK,EAAA,WAAU,YAAW,UAAA;AAAA,UAAA;AAAA,UAExB,gBAAAD,EAAAC,GAAA,EAAK,WAAU,OAAO,UAAUJ,GAAA;AAAA,QAAA,GACnC;AAAA,QAED,CAAC,CAACF,KAEC,gBAAAS,EAAAC,GAAA,EAAA,UAAA;AAAA,UAAC,gBAAAL,EAAAE,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,UACvB,gBAAAE,EAACH,GAAK,EAAA,WAAU,YAAW,UAAA;AAAA,YAAA;AAAA,YAExB,gBAAAD,EAAAC,GAAA,EAAK,WAAU,OAAO,UAAYN,GAAA;AAAA,UAAA,GACrC;AAAA,QAAA,GACF;AAAA,MAAA,GAEJ;AAAA,IAAA,GACF;AAAA,IACA,gBAAAK,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACzB,EAAA,CAAA;AAEJ,GAEeM,IAAAC,EAAKlB,CAAiB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-card-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/report-card/report-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n overflow: hidden;\n`;\n"],"names":["Wrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA;AAAA;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsxs as o, jsx as r, Fragment as a } from "react/jsx-runtime";
|
|
2
|
+
import { memo as c } from "react";
|
|
3
|
+
import e from "../../../../ui/layout/flex-view.js";
|
|
4
|
+
import $ from "../../../../ui/image/image.js";
|
|
5
|
+
import t from "../../../../ui/text/text.js";
|
|
6
|
+
import h from "../../../../ui/separator/separator.js";
|
|
7
|
+
import { Wrapper as p } from "./report-card-styled.js";
|
|
8
|
+
const s = ({ title: i, description: l, icon: n, category: d, bgColor: m }) => /* @__PURE__ */ o(p, { $borderRadius: 8, $borderColor: "GREY_2", children: [
|
|
9
|
+
/* @__PURE__ */ r(e, { $gutterX: 1, $background: m, $gap: 10, $gutter: 12, children: /* @__PURE__ */ r(t, { $renderAs: "ac4", $align: "center", children: d }) }),
|
|
10
|
+
!!(n && i) && /* @__PURE__ */ o(a, { children: [
|
|
11
|
+
/* @__PURE__ */ r(h, { heightX: 0.5 }),
|
|
12
|
+
/* @__PURE__ */ o(e, { $flexDirection: "row", $gutter: 12, $flexColumnGapX: 0.25, $alignItems: "center", children: [
|
|
13
|
+
/* @__PURE__ */ r($, { src: n, width: 36, height: 36 }),
|
|
14
|
+
/* @__PURE__ */ r(e, { $flex: 1, children: /* @__PURE__ */ r(t, { $renderAs: "ab2-bold", children: i }) })
|
|
15
|
+
] })
|
|
16
|
+
] }),
|
|
17
|
+
/* @__PURE__ */ r(e, { $gutterX: 0.75, $gapX: 0.75, children: /* @__PURE__ */ r(t, { $renderAs: "ub2", children: l }) })
|
|
18
|
+
] }), R = c(s);
|
|
19
|
+
export {
|
|
20
|
+
R as default
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=report-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-card.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/report-card/report-card.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport type { IReportCardProps } from './report-card-types';\nimport Image from '../../../../ui/image/image';\nimport Text from '../../../../ui/text/text';\nimport Separator from '../../../../ui/separator/separator';\nimport * as Styled from './report-card-styled';\n\nconst ReportCard: FC<IReportCardProps> = ({ title, description, icon, category, bgColor }) => {\n const showTitleBlock = Boolean(icon && title);\n\n return (\n <Styled.Wrapper $borderRadius={8} $borderColor=\"GREY_2\">\n <FlexView $gutterX={1} $background={bgColor} $gap={10} $gutter={12}>\n <Text $renderAs=\"ac4\" $align=\"center\">\n {category}\n </Text>\n </FlexView>\n {showTitleBlock && (\n <>\n <Separator heightX={0.5} />\n <FlexView $flexDirection=\"row\" $gutter={12} $flexColumnGapX={0.25} $alignItems=\"center\">\n <Image src={icon} width={36} height={36} />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-bold\">{title}</Text>\n </FlexView>\n </FlexView>\n </>\n )}\n <FlexView $gutterX={0.75} $gapX={0.75}>\n <Text $renderAs=\"ub2\">{description}</Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(ReportCard);\n"],"names":["ReportCard","title","description","icon","category","bgColor","Styled.Wrapper","jsx","FlexView","Text","jsxs","Fragment","Separator","Image","ReportCard$1","memo"],"mappings":";;;;;;;AASA,MAAMA,IAAmC,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,MAAAC,GAAM,UAAAC,GAAU,SAAAC,0BAI3EC,GAAA,EAAe,eAAe,GAAG,cAAa,UAC7C,UAAA;AAAA,EAAA,gBAAAC,EAACC,KAAS,UAAU,GAAG,aAAaH,GAAS,MAAM,IAAI,SAAS,IAC9D,UAAA,gBAAAE,EAACE,KAAK,WAAU,OAAM,QAAO,UAC1B,YACH,CAAA,GACF;AAAA,EARmB,GAAQN,KAAQF,MAW/B,gBAAAS,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAJ,EAAAK,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,IACzB,gBAAAF,EAACF,KAAS,gBAAe,OAAM,SAAS,IAAI,iBAAiB,MAAM,aAAY,UAC7E,UAAA;AAAA,MAAA,gBAAAD,EAACM,KAAM,KAAKV,GAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,MACzC,gBAAAI,EAACC,KAAS,OAAO,GACf,4BAACC,GAAK,EAAA,WAAU,YAAY,UAAAR,EAAA,CAAM,EACpC,CAAA;AAAA,IAAA,GACF;AAAA,EAAA,GACF;AAAA,EAEF,gBAAAM,EAACC,GAAS,EAAA,UAAU,MAAM,OAAO,MAC/B,UAAA,gBAAAD,EAACE,GAAK,EAAA,WAAU,OAAO,UAAAP,EAAY,CAAA,GACrC;AACF,EAAA,CAAA,GAIWY,IAAAC,EAAKf,CAAU;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"school-support-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/school-support/school-support-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n overflow: hidden;\n`;\n"],"names":["Wrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA;AAAA;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs as d, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as M, useMemo as L } from "react";
|
|
3
|
+
import l from "../../../../ui/layout/flex-view.js";
|
|
4
|
+
import b from "../../../../ui/separator/separator.js";
|
|
5
|
+
import g from "../../../../ui/text/text.js";
|
|
6
|
+
import O from "../report-card/report-card.js";
|
|
7
|
+
import { Wrapper as U } from "./school-support-styled.js";
|
|
8
|
+
import { replaceTokens as o } from "../../ptm-report-helpers.js";
|
|
9
|
+
const V = ({
|
|
10
|
+
homeworkHelpReport: E,
|
|
11
|
+
homeworkHelpConfig: m,
|
|
12
|
+
testHelpReport: X,
|
|
13
|
+
testHelpConfig: h,
|
|
14
|
+
studentName: n,
|
|
15
|
+
isOnDemandPTM: G
|
|
16
|
+
}) => {
|
|
17
|
+
const {
|
|
18
|
+
is_hw_help_provided: P,
|
|
19
|
+
selected: R = [],
|
|
20
|
+
topics: S
|
|
21
|
+
} = E ?? {}, {
|
|
22
|
+
selected: v = [],
|
|
23
|
+
performance: _,
|
|
24
|
+
previous_performance: A
|
|
25
|
+
} = X ?? {}, W = L(() => {
|
|
26
|
+
var p, u;
|
|
27
|
+
const t = (m == null ? void 0 : m.areas) ?? [];
|
|
28
|
+
if (!t.length) return "";
|
|
29
|
+
const a = { first_name: n, topics: S };
|
|
30
|
+
if (P === 1 && typeof ((p = t[0]) == null ? void 0 : p.report_statement) == "string")
|
|
31
|
+
return o(t[0].report_statement, a);
|
|
32
|
+
const i = [];
|
|
33
|
+
return S && typeof ((u = t[1]) == null ? void 0 : u.report_statement) == "string" && i.push(o(t[1].report_statement, a)), R.forEach(($, y) => {
|
|
34
|
+
var c;
|
|
35
|
+
const r = (c = t[y + 2]) == null ? void 0 : c.report_statement;
|
|
36
|
+
Array.isArray(r) && r[$] ? i.push(o(r[$], a)) : typeof r == "string" && i.push(o(r, a));
|
|
37
|
+
}), i.join(" ");
|
|
38
|
+
}, [n, m, P, R, S]), j = L(() => {
|
|
39
|
+
const t = (h == null ? void 0 : h.areas) ?? [];
|
|
40
|
+
if (!v.length || !t.length) return null;
|
|
41
|
+
const { grade: a, scored: i, total: p } = _ ?? {}, { grade: u, scored: $, total: y } = A ?? {};
|
|
42
|
+
return v.map((r, c) => {
|
|
43
|
+
const w = t[c];
|
|
44
|
+
if (!w) return null;
|
|
45
|
+
const {
|
|
46
|
+
report_statement: f,
|
|
47
|
+
area_label: B,
|
|
48
|
+
report_statement_with_performance: F = [],
|
|
49
|
+
report_statement_with_previous_performance: K = []
|
|
50
|
+
} = w;
|
|
51
|
+
let s = "";
|
|
52
|
+
return r !== void 0 && (G && K[r] && _ && A ? s = o(K[r], {
|
|
53
|
+
first_name: n,
|
|
54
|
+
performance: a ?? `${i}/${p}`,
|
|
55
|
+
previous_performance: u ?? `${$}/${y}`
|
|
56
|
+
}) : F[r] && _ ? s = o(F[r], {
|
|
57
|
+
first_name: n,
|
|
58
|
+
performance: a ?? `${i}/${p}`
|
|
59
|
+
}) : Array.isArray(f) && f[r] ? s = o(f[r], {
|
|
60
|
+
first_name: n
|
|
61
|
+
}) : typeof f == "string" && (s = o(f, { first_name: n }))), s ? /* @__PURE__ */ d(l, { children: [
|
|
62
|
+
B && /* @__PURE__ */ e(g, { $renderAs: "ac3", children: B }),
|
|
63
|
+
/* @__PURE__ */ e(g, { $renderAs: "ub2", children: s })
|
|
64
|
+
] }, c) : null;
|
|
65
|
+
});
|
|
66
|
+
}, [_, A, v, h, G, n]);
|
|
67
|
+
return !E && !X ? null : /* @__PURE__ */ d(l, { children: [
|
|
68
|
+
/* @__PURE__ */ e(g, { $renderAs: "ab1-bold", children: "School support" }),
|
|
69
|
+
/* @__PURE__ */ e(b, { heightX: 1 }),
|
|
70
|
+
W && /* @__PURE__ */ d(l, { children: [
|
|
71
|
+
/* @__PURE__ */ e(O, { category: "HOMEWORKS", bgColor: "GREEN_1", description: W }),
|
|
72
|
+
/* @__PURE__ */ e(b, { heightX: 0.75 })
|
|
73
|
+
] }),
|
|
74
|
+
j && /* @__PURE__ */ d(U, { $borderRadius: 8, $borderColor: "GREY_2", children: [
|
|
75
|
+
/* @__PURE__ */ e(l, { $gutterX: 1, $background: "BLUE_1", $gap: 10, $gutter: 12, children: /* @__PURE__ */ e(g, { $renderAs: "ac4", $align: "center", children: "TESTS" }) }),
|
|
76
|
+
/* @__PURE__ */ e(l, { $gutterX: 0.75, $gapX: 0.75, $flexRowGapX: 0.75, children: j })
|
|
77
|
+
] }),
|
|
78
|
+
/* @__PURE__ */ e(b, { heightX: 2 })
|
|
79
|
+
] });
|
|
80
|
+
}, T = M(V);
|
|
81
|
+
export {
|
|
82
|
+
T as default
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=school-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"school-support.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/school-support/school-support.tsx"],"sourcesContent":["import { memo, useMemo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport ReportCard from '../report-card/report-card';\nimport * as Styled from './school-support-styled';\nimport type { ISchoolSupportProps } from './school-support-types';\nimport type { ISchoolSupportArea } from '../../ptm-report-types';\nimport { replaceTokens } from '../../ptm-report-helpers';\n\nconst SchoolSupport: FC<ISchoolSupportProps> = ({\n homeworkHelpReport,\n homeworkHelpConfig,\n testHelpReport,\n testHelpConfig,\n studentName,\n isOnDemandPTM,\n}) => {\n const {\n is_hw_help_provided: isHWHelpProvided,\n selected: selectedHomeWork = [],\n topics,\n } = homeworkHelpReport ?? {};\n const {\n selected: selectedTest = [],\n performance,\n previous_performance: previousPerformance,\n } = testHelpReport ?? {};\n\n const statementHwHelp = useMemo(() => {\n const hwConfigAreas: ISchoolSupportArea[] = homeworkHelpConfig?.areas ?? [];\n\n if (!hwConfigAreas.length) return '';\n\n const tokens = { first_name: studentName, topics };\n\n if (isHWHelpProvided === 1 && typeof hwConfigAreas[0]?.report_statement === 'string') {\n return replaceTokens(hwConfigAreas[0].report_statement, tokens);\n }\n\n const statements: string[] = [];\n\n if (topics && typeof hwConfigAreas[1]?.report_statement === 'string') {\n statements.push(replaceTokens(hwConfigAreas[1].report_statement, tokens));\n }\n\n selectedHomeWork.forEach((item, idx) => {\n const rStatement = hwConfigAreas[idx + 2]?.report_statement;\n\n if (Array.isArray(rStatement) && rStatement[item]) {\n statements.push(replaceTokens(rStatement[item], tokens));\n } else if (typeof rStatement === 'string') {\n statements.push(replaceTokens(rStatement, tokens));\n }\n });\n\n return statements.join(' ');\n }, [studentName, homeworkHelpConfig, isHWHelpProvided, selectedHomeWork, topics]);\n\n const testHelpContent = useMemo(() => {\n const testConfigAreas: ISchoolSupportArea[] = testHelpConfig?.areas ?? [];\n\n if (!selectedTest.length || !testConfigAreas.length) return null;\n\n const { grade, scored, total } = performance ?? {};\n const { grade: prevGrade, scored: prevScored, total: prevTotal } = previousPerformance ?? {};\n\n return selectedTest.map((selectedTestIndex, idx) => {\n const testHelpArea = testConfigAreas[idx];\n\n if (!testHelpArea) return null;\n\n const {\n report_statement: reportStatement,\n area_label: reportHeading,\n report_statement_with_performance: withPerf = [],\n report_statement_with_previous_performance: withPrevPerf = [],\n } = testHelpArea;\n\n let statement = '';\n\n if (selectedTestIndex !== undefined) {\n if (\n isOnDemandPTM &&\n withPrevPerf[selectedTestIndex] &&\n performance &&\n previousPerformance\n ) {\n statement = replaceTokens(withPrevPerf[selectedTestIndex], {\n first_name: studentName,\n performance: grade ?? `${scored}/${total}`,\n previous_performance: prevGrade ?? `${prevScored}/${prevTotal}`,\n });\n } else if (withPerf[selectedTestIndex] && performance) {\n statement = replaceTokens(withPerf[selectedTestIndex], {\n first_name: studentName,\n performance: grade ?? `${scored}/${total}`,\n });\n } else if (Array.isArray(reportStatement) && reportStatement[selectedTestIndex]) {\n statement = replaceTokens(reportStatement[selectedTestIndex], {\n first_name: studentName,\n });\n } else if (typeof reportStatement === 'string') {\n statement = replaceTokens(reportStatement, { first_name: studentName });\n }\n }\n\n if (!statement) return null;\n\n return (\n <FlexView key={idx}>\n {reportHeading && <Text $renderAs=\"ac3\">{reportHeading}</Text>}\n <Text $renderAs=\"ub2\">{statement}</Text>\n </FlexView>\n );\n });\n }, [performance, previousPerformance, selectedTest, testHelpConfig, isOnDemandPTM, studentName]);\n\n if (!homeworkHelpReport && !testHelpReport) {\n return null;\n }\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">School support</Text>\n <Separator heightX={1} />\n\n {statementHwHelp && (\n <FlexView>\n <ReportCard category=\"HOMEWORKS\" bgColor=\"GREEN_1\" description={statementHwHelp} />\n <Separator heightX={0.75} />\n </FlexView>\n )}\n\n {testHelpContent && (\n <Styled.Wrapper $borderRadius={8} $borderColor=\"GREY_2\">\n <FlexView $gutterX={1} $background={'BLUE_1'} $gap={10} $gutter={12}>\n <Text $renderAs=\"ac4\" $align=\"center\">\n TESTS\n </Text>\n </FlexView>\n <FlexView $gutterX={0.75} $gapX={0.75} $flexRowGapX={0.75}>\n {testHelpContent}\n </FlexView>\n </Styled.Wrapper>\n )}\n\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(SchoolSupport);\n"],"names":["SchoolSupport","homeworkHelpReport","homeworkHelpConfig","testHelpReport","testHelpConfig","studentName","isOnDemandPTM","isHWHelpProvided","selectedHomeWork","topics","selectedTest","performance","previousPerformance","statementHwHelp","useMemo","hwConfigAreas","tokens","_a","replaceTokens","statements","_b","item","idx","rStatement","testHelpContent","testConfigAreas","grade","scored","total","prevGrade","prevScored","prevTotal","selectedTestIndex","testHelpArea","reportStatement","reportHeading","withPerf","withPrevPerf","statement","FlexView","jsx","Text","Separator","ReportCard","Styled.Wrapper","SchoolSupport$1","memo"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const E = [
|
|
2
|
+
["PURPLE_1", "PURPLE_2", "PURPLE_5", "PURPLE_4"],
|
|
3
|
+
["GREEN_1", "GREEN_2", "GREEN_5", "GREEN_4"],
|
|
4
|
+
["YELLOW_1", "YELLOW_2", "YELLOW_5", "YELLOW_4"],
|
|
5
|
+
["BLUE_1", "BLUE_2", "BLUE_5", "BLUE_4"],
|
|
6
|
+
["ORANGE_1", "ORANGE_2", "ORANGE_5", "ORANGE_4"]
|
|
7
|
+
];
|
|
8
|
+
export {
|
|
9
|
+
E as STRATEGY_CARD_COLORS
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=strategies-constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies-constant.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/strategies/strategies-constant.ts"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nexport const STRATEGY_CARD_COLORS: TColorNames[][] = [\n ['PURPLE_1', 'PURPLE_2', 'PURPLE_5', 'PURPLE_4'],\n ['GREEN_1', 'GREEN_2', 'GREEN_5', 'GREEN_4'],\n ['YELLOW_1', 'YELLOW_2', 'YELLOW_5', 'YELLOW_4'],\n ['BLUE_1', 'BLUE_2', 'BLUE_5', 'BLUE_4'],\n ['ORANGE_1', 'ORANGE_2', 'ORANGE_5', 'ORANGE_4'],\n] as const;\n"],"names":["STRATEGY_CARD_COLORS"],"mappings":"AAEO,MAAMA,IAAwC;AAAA,EACnD,CAAC,YAAY,YAAY,YAAY,UAAU;AAAA,EAC/C,CAAC,WAAW,WAAW,WAAW,SAAS;AAAA,EAC3C,CAAC,YAAY,YAAY,YAAY,UAAU;AAAA,EAC/C,CAAC,UAAU,UAAU,UAAU,QAAQ;AAAA,EACvC,CAAC,YAAY,YAAY,YAAY,UAAU;AACjD;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsxs as h, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { memo as u } from "react";
|
|
3
|
+
import l from "../../../../ui/layout/flex-view.js";
|
|
4
|
+
import m from "../../../../ui/separator/separator.js";
|
|
5
|
+
import g from "../../../../ui/text/text.js";
|
|
6
|
+
import S from "../strategy-card/strategy-card.js";
|
|
7
|
+
import { STRATEGY_CARD_COLORS as a } from "./strategies-constant.js";
|
|
8
|
+
const b = ({ report: i, strategyConfig: s }) => {
|
|
9
|
+
if (!i) return null;
|
|
10
|
+
const f = Object.keys(i);
|
|
11
|
+
return /* @__PURE__ */ h(l, { children: [
|
|
12
|
+
/* @__PURE__ */ o(g, { $renderAs: "ab1-bold", children: "Strategies" }),
|
|
13
|
+
/* @__PURE__ */ o(m, { heightX: 1 }),
|
|
14
|
+
/* @__PURE__ */ o(l, { $flexRowGapX: 0.75, children: f.map((e, p) => {
|
|
15
|
+
const t = i[e], r = s[e];
|
|
16
|
+
if (!(r != null && r.options) || (t == null ? void 0 : t.length) === 0) return null;
|
|
17
|
+
const n = r.options.filter(
|
|
18
|
+
(d, c) => t == null ? void 0 : t.includes(c)
|
|
19
|
+
);
|
|
20
|
+
return n.length === 0 ? null : /* @__PURE__ */ o(
|
|
21
|
+
S,
|
|
22
|
+
{
|
|
23
|
+
title: r.category_label,
|
|
24
|
+
colorPalette: a[p % a.length],
|
|
25
|
+
data: n
|
|
26
|
+
},
|
|
27
|
+
e
|
|
28
|
+
);
|
|
29
|
+
}) }),
|
|
30
|
+
/* @__PURE__ */ o(m, { heightX: 2 })
|
|
31
|
+
] });
|
|
32
|
+
}, T = u(b);
|
|
33
|
+
export {
|
|
34
|
+
T as default
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=strategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/strategies/strategies.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport type { IStrategiesProps } from './strategies-types';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport StrategyCard from '../strategy-card/strategy-card';\nimport { STRATEGY_CARD_COLORS } from './strategies-constant';\nimport type { IReportStrategies, IStrategyCategory } from '../../ptm-report-types';\n\nconst Strategies: FC<IStrategiesProps> = ({ report, strategyConfig }) => {\n if (!report) return null;\n\n const reportKeys = Object.keys(report) as (keyof IReportStrategies)[];\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Strategies</Text>\n <Separator heightX={1} />\n <FlexView $flexRowGapX={0.75}>\n {reportKeys.map((key, index) => {\n const selectedIndexes = report[key];\n const category: IStrategyCategory | undefined = strategyConfig[key];\n\n if (!category?.options || selectedIndexes?.length === 0) return null;\n\n const selectedOptions = category.options.filter(\n (_, idx) => selectedIndexes?.includes(idx),\n );\n\n if (selectedOptions.length === 0) return null;\n\n return (\n <StrategyCard\n key={key}\n title={category.category_label}\n colorPalette={STRATEGY_CARD_COLORS[index % STRATEGY_CARD_COLORS.length]!}\n data={selectedOptions}\n />\n );\n })}\n </FlexView>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(Strategies);\n"],"names":["Strategies","report","strategyConfig","reportKeys","FlexView","jsx","Text","Separator","key","index","selectedIndexes","category","selectedOptions","_","idx","StrategyCard","STRATEGY_CARD_COLORS","Strategies$1","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAmC,CAAC,EAAE,QAAAC,GAAQ,gBAAAC,QAAqB;AACnE,MAAA,CAACD,EAAe,QAAA;AAEd,QAAAE,IAAa,OAAO,KAAKF,CAAM;AAErC,2BACGG,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAU,cAAA;AAAA,IACrC,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,IACvB,gBAAAF,EAACD,KAAS,cAAc,MACrB,YAAW,IAAI,CAACI,GAAKC,MAAU;AACxB,YAAAC,IAAkBT,EAAOO,CAAG,GAC5BG,IAA0CT,EAAeM,CAAG;AAElE,UAAI,EAACG,KAAA,QAAAA,EAAU,aAAWD,KAAA,gBAAAA,EAAiB,YAAW,EAAU,QAAA;AAE1D,YAAAE,IAAkBD,EAAS,QAAQ;AAAA,QACvC,CAACE,GAAGC,MAAQJ,KAAA,gBAAAA,EAAiB,SAASI;AAAA,MAAG;AAGvC,aAAAF,EAAgB,WAAW,IAAU,OAGvC,gBAAAP;AAAA,QAACU;AAAA,QAAA;AAAA,UAEC,OAAOJ,EAAS;AAAA,UAChB,cAAcK,EAAqBP,IAAQO,EAAqB,MAAM;AAAA,UACtE,MAAMJ;AAAA,QAAA;AAAA,QAHDJ;AAAA,MAAA;AAAA,IAMV,CAAA,GACH;AAAA,IACA,gBAAAH,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACzB,EAAA,CAAA;AAEJ,GAEeU,IAAAC,EAAKlB,CAAU;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import r from "styled-components";
|
|
2
|
+
import p from "../../../../ui/layout/flex-view.js";
|
|
3
|
+
const n = r(p)`
|
|
4
|
+
position: absolute;
|
|
5
|
+
right: 0;
|
|
6
|
+
height: 50px;
|
|
7
|
+
border-left-width: 0;
|
|
8
|
+
border-right-width: 1px;
|
|
9
|
+
border-bottom-width: 1px;
|
|
10
|
+
border-right-color: ${({ theme: o }) => o.colors.WHITE};
|
|
11
|
+
border-bottom-color: ${({ color: o, theme: t }) => t.colors[o]};
|
|
12
|
+
border-bottom-left-radius: 16px;
|
|
13
|
+
width: 50px;
|
|
14
|
+
height: 50px;
|
|
15
|
+
background: ${({ color: o, theme: t }) => ` linear-gradient(to top right,${t.colors[o]} 50%,${t.colors.WHITE} 50%)`};
|
|
16
|
+
border-bottom-left-radius: 16px;
|
|
17
|
+
`, x = r(p)`
|
|
18
|
+
position: relative;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
`, s = r(p)`
|
|
21
|
+
height: 10px;
|
|
22
|
+
width: 10px;
|
|
23
|
+
margin-top: 6px;
|
|
24
|
+
border-radius: 16px;
|
|
25
|
+
border-width: 2px;
|
|
26
|
+
`, l = r(p)`
|
|
27
|
+
width: fit-content;
|
|
28
|
+
border-bottom-right-radius: 16px;
|
|
29
|
+
`, a = r(p)`
|
|
30
|
+
padding: 12px 32px 8px 16px;
|
|
31
|
+
`, b = r(p)`
|
|
32
|
+
padding-bottom: 8px;
|
|
33
|
+
position: relative;
|
|
34
|
+
|
|
35
|
+
${({ $isLast: o, borderColor: t, theme: i }) => !o && `
|
|
36
|
+
&::before {
|
|
37
|
+
content: '';
|
|
38
|
+
position: absolute;
|
|
39
|
+
left: 4px;
|
|
40
|
+
top: 16px;
|
|
41
|
+
bottom: -8px;
|
|
42
|
+
border-left: 1px dashed ${t ? i.colors[t] : i.colors.GREY_3};
|
|
43
|
+
z-index: 0;
|
|
44
|
+
}
|
|
45
|
+
`}
|
|
46
|
+
`;
|
|
47
|
+
export {
|
|
48
|
+
s as Circle,
|
|
49
|
+
n as FoldingWrapper,
|
|
50
|
+
l as HeadingWrapper,
|
|
51
|
+
b as InfoItemWrapper,
|
|
52
|
+
a as InfoWrapper,
|
|
53
|
+
x as Wrapper
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=strategy-card-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-card-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport type { TColorNames } from '../../../../ui/types';\n\nexport const FoldingWrapper = styled(FlexView)<{ color: TColorNames }>`\n position: absolute;\n right: 0;\n height: 50px;\n border-left-width: 0;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-right-color: ${({ theme }) => theme.colors.WHITE};\n border-bottom-color: ${({ color, theme }) => theme.colors[color]};\n border-bottom-left-radius: 16px;\n width: 50px;\n height: 50px;\n background: ${({ color, theme }) =>\n ` linear-gradient(to top right,${theme.colors[color]} 50%,${theme.colors.WHITE} 50%)`};\n border-bottom-left-radius: 16px;\n`;\n\nexport const Wrapper = styled(FlexView)`\n position: relative;\n overflow: hidden;\n`;\n\nexport const Circle = styled(FlexView)`\n height: 10px;\n width: 10px;\n margin-top: 6px;\n border-radius: 16px;\n border-width: 2px;\n`;\n\nexport const HeadingWrapper = styled(FlexView)`\n width: fit-content;\n border-bottom-right-radius: 16px;\n`;\n\nexport const InfoWrapper = styled(FlexView)`\n padding: 12px 32px 8px 16px;\n`;\n\nexport const InfoItemWrapper = styled(FlexView)<{ $isLast?: boolean; borderColor?: TColorNames }>`\n padding-bottom: 8px;\n position: relative;\n\n ${({ $isLast, borderColor, theme }) =>\n !$isLast &&\n `\n &::before {\n content: '';\n position: absolute;\n left: 4px;\n top: 16px;\n bottom: -8px;\n border-left: 1px dashed ${borderColor ? theme.colors[borderColor] : theme.colors.GREY_3};\n z-index: 0;\n }\n `}\n`;\n"],"names":["FoldingWrapper","styled","FlexView","theme","color","Wrapper","Circle","HeadingWrapper","InfoWrapper","InfoItemWrapper","$isLast","borderColor"],"mappings":";;AAKa,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOrB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,yBAChC,CAAC,EAAE,OAAAC,GAAO,OAAAD,EAAA,MAAYA,EAAM,OAAOC,CAAK,CAAC;AAAA;AAAA;AAAA;AAAA,gBAIlD,CAAC,EAAE,OAAAA,GAAO,OAAAD,QACtB,iCAAiCA,EAAM,OAAOC,CAAK,CAAC,QAAQD,EAAM,OAAO,KAAK,OAAO;AAAA;AAAA,GAI5EE,IAAUJ,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAKzBI,IAASL,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQxBK,IAAiBN,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAKhCM,IAAcP,EAAOC,CAAQ;AAAA;AAAA,GAI7BO,IAAkBR,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,IAI1C,CAAC,EAAE,SAAAQ,GAAS,aAAAC,GAAa,OAAAR,EAAM,MAC/B,CAACO,KACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAO4BC,IAAcR,EAAM,OAAOQ,CAAW,IAAIR,EAAM,OAAO,MAAM;AAAA;AAAA;AAAA,GAG1F;AAAA;"}
|