@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.
Files changed (211) hide show
  1. package/dist/assets/illustrations/illustrations.js +22 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/images/images.js +8 -0
  4. package/dist/assets/images/images.js.map +1 -1
  5. package/dist/assets/line-icons/icons/carat-right.js +26 -0
  6. package/dist/assets/line-icons/icons/carat-right.js.map +1 -0
  7. package/dist/assets/line-icons/icons/dots-icon.js +21 -0
  8. package/dist/assets/line-icons/icons/dots-icon.js.map +1 -0
  9. package/dist/assets/line-icons/icons/pause-icon.js +24 -0
  10. package/dist/assets/line-icons/icons/pause-icon.js.map +1 -0
  11. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js +82 -0
  12. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js.map +1 -0
  13. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.styled.js +77 -0
  14. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.styled.js.map +1 -0
  15. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +18 -91
  16. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  17. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +42 -58
  18. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  19. package/dist/features/circle-games/game-launcher/comps/carousel/carousel-styled.js +16 -32
  20. package/dist/features/circle-games/game-launcher/comps/carousel/carousel-styled.js.map +1 -1
  21. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js +88 -87
  22. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  23. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +35 -35
  24. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  25. package/dist/features/homework/card-title.js +8 -8
  26. package/dist/features/homework/card-title.js.map +1 -1
  27. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +5 -5
  28. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -1
  29. package/dist/features/timeline/monthly-report/api/use-monthly-report-get.js +13 -0
  30. package/dist/features/timeline/monthly-report/api/use-monthly-report-get.js.map +1 -0
  31. package/dist/features/timeline/monthly-report/comps/achievements/achievements.js +60 -0
  32. package/dist/features/timeline/monthly-report/comps/achievements/achievements.js.map +1 -0
  33. package/dist/features/timeline/monthly-report/comps/achievements/achievements.styled.js +15 -0
  34. package/dist/features/timeline/monthly-report/comps/achievements/achievements.styled.js.map +1 -0
  35. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.js +128 -0
  36. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -0
  37. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js +53 -0
  38. package/dist/features/timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js.map +1 -0
  39. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +120 -0
  40. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -0
  41. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js +58 -0
  42. package/dist/features/timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js.map +1 -0
  43. package/dist/features/timeline/monthly-report/comps/activities/activities.js +27 -0
  44. package/dist/features/timeline/monthly-report/comps/activities/activities.js.map +1 -0
  45. package/dist/features/timeline/monthly-report/comps/activities/constants.js +95 -0
  46. package/dist/features/timeline/monthly-report/comps/activities/constants.js.map +1 -0
  47. package/dist/features/timeline/monthly-report/comps/activities/utils.js +15 -0
  48. package/dist/features/timeline/monthly-report/comps/activities/utils.js.map +1 -0
  49. package/dist/features/timeline/monthly-report/comps/attendance/attendance-constants.js +29 -0
  50. package/dist/features/timeline/monthly-report/comps/attendance/attendance-constants.js.map +1 -0
  51. package/dist/features/timeline/monthly-report/comps/attendance/attendance-utils.js +94 -0
  52. package/dist/features/timeline/monthly-report/comps/attendance/attendance-utils.js.map +1 -0
  53. package/dist/features/timeline/monthly-report/comps/attendance/attendance.js +44 -0
  54. package/dist/features/timeline/monthly-report/comps/attendance/attendance.js.map +1 -0
  55. package/dist/features/timeline/monthly-report/comps/attendance/attendance.styled.js +39 -0
  56. package/dist/features/timeline/monthly-report/comps/attendance/attendance.styled.js.map +1 -0
  57. package/dist/features/timeline/monthly-report/comps/attendance/attendence-view.js +52 -0
  58. package/dist/features/timeline/monthly-report/comps/attendance/attendence-view.js.map +1 -0
  59. package/dist/features/timeline/monthly-report/comps/feedback/feedback-styled.js +9 -0
  60. package/dist/features/timeline/monthly-report/comps/feedback/feedback-styled.js.map +1 -0
  61. package/dist/features/timeline/monthly-report/comps/feedback/feedback.js +94 -0
  62. package/dist/features/timeline/monthly-report/comps/feedback/feedback.js.map +1 -0
  63. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js +48 -0
  64. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js.map +1 -0
  65. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js +28 -0
  66. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js.map +1 -0
  67. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card.js +113 -0
  68. package/dist/features/timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -0
  69. package/dist/features/timeline/monthly-report/comps/goals/goals-constants.js +30 -0
  70. package/dist/features/timeline/monthly-report/comps/goals/goals-constants.js.map +1 -0
  71. package/dist/features/timeline/monthly-report/comps/goals/goals.js +22 -0
  72. package/dist/features/timeline/monthly-report/comps/goals/goals.js.map +1 -0
  73. package/dist/features/timeline/monthly-report/monthly-report-styled.js +14 -0
  74. package/dist/features/timeline/monthly-report/monthly-report-styled.js.map +1 -0
  75. package/dist/features/timeline/monthly-report/monthly-report-types.js +5 -0
  76. package/dist/features/timeline/monthly-report/monthly-report-types.js.map +1 -0
  77. package/dist/features/timeline/monthly-report/monthly-report.js +69 -0
  78. package/dist/features/timeline/monthly-report/monthly-report.js.map +1 -0
  79. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +10 -0
  80. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -0
  81. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +87 -0
  82. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -0
  83. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js +9 -0
  84. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js.map +1 -0
  85. package/dist/features/timeline/monthly-timeline/constants.js +41 -0
  86. package/dist/features/timeline/monthly-timeline/constants.js.map +1 -0
  87. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +9 -0
  88. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -0
  89. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js +6 -0
  90. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js.map +1 -0
  91. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js +28 -0
  92. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js.map +1 -0
  93. package/dist/features/timeline/monthly-timeline/monthly-timeline.js +56 -0
  94. package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -0
  95. package/dist/features/timeline/ptm-report/api/use-ptm-report-get.js +9 -0
  96. package/dist/features/timeline/ptm-report/api/use-ptm-report-get.js.map +1 -0
  97. package/dist/features/timeline/ptm-report/comps/key-need/key-need-styled.js +9 -0
  98. package/dist/features/timeline/ptm-report/comps/key-need/key-need-styled.js.map +1 -0
  99. package/dist/features/timeline/ptm-report/comps/key-need/key-need.js +35 -0
  100. package/dist/features/timeline/ptm-report/comps/key-need/key-need.js.map +1 -0
  101. package/dist/features/timeline/ptm-report/comps/parent-support/parent-support.js +53 -0
  102. package/dist/features/timeline/ptm-report/comps/parent-support/parent-support.js.map +1 -0
  103. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js +19 -0
  104. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js.map +1 -0
  105. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js +50 -0
  106. package/dist/features/timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map +1 -0
  107. package/dist/features/timeline/ptm-report/comps/report-card/report-card-styled.js +9 -0
  108. package/dist/features/timeline/ptm-report/comps/report-card/report-card-styled.js.map +1 -0
  109. package/dist/features/timeline/ptm-report/comps/report-card/report-card.js +22 -0
  110. package/dist/features/timeline/ptm-report/comps/report-card/report-card.js.map +1 -0
  111. package/dist/features/timeline/ptm-report/comps/school-support/school-support-styled.js +9 -0
  112. package/dist/features/timeline/ptm-report/comps/school-support/school-support-styled.js.map +1 -0
  113. package/dist/features/timeline/ptm-report/comps/school-support/school-support.js +84 -0
  114. package/dist/features/timeline/ptm-report/comps/school-support/school-support.js.map +1 -0
  115. package/dist/features/timeline/ptm-report/comps/strategies/strategies-constant.js +11 -0
  116. package/dist/features/timeline/ptm-report/comps/strategies/strategies-constant.js.map +1 -0
  117. package/dist/features/timeline/ptm-report/comps/strategies/strategies.js +36 -0
  118. package/dist/features/timeline/ptm-report/comps/strategies/strategies.js.map +1 -0
  119. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.js +55 -0
  120. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card-styled.js.map +1 -0
  121. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card.js +35 -0
  122. package/dist/features/timeline/ptm-report/comps/strategy-card/strategy-card.js.map +1 -0
  123. package/dist/features/timeline/ptm-report/comps/student-info/student-info-styled.js +21 -0
  124. package/dist/features/timeline/ptm-report/comps/student-info/student-info-styled.js.map +1 -0
  125. package/dist/features/timeline/ptm-report/comps/student-info/student-info.js +21 -0
  126. package/dist/features/timeline/ptm-report/comps/student-info/student-info.js.map +1 -0
  127. package/dist/features/timeline/ptm-report/comps/support-card/support-card-styled.js +9 -0
  128. package/dist/features/timeline/ptm-report/comps/support-card/support-card-styled.js.map +1 -0
  129. package/dist/features/timeline/ptm-report/comps/support-card/support-card.js +30 -0
  130. package/dist/features/timeline/ptm-report/comps/support-card/support-card.js.map +1 -0
  131. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js +9 -0
  132. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js.map +1 -0
  133. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.js +56 -0
  134. package/dist/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.js.map +1 -0
  135. package/dist/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js +15 -0
  136. package/dist/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js.map +1 -0
  137. package/dist/features/timeline/ptm-report/ptm-report-constants.js +16 -0
  138. package/dist/features/timeline/ptm-report/ptm-report-constants.js.map +1 -0
  139. package/dist/features/timeline/ptm-report/ptm-report-helpers.js +8 -0
  140. package/dist/features/timeline/ptm-report/ptm-report-helpers.js.map +1 -0
  141. package/dist/features/timeline/ptm-report/ptm-report-styled.js +11 -0
  142. package/dist/features/timeline/ptm-report/ptm-report-styled.js.map +1 -0
  143. package/dist/features/timeline/ptm-report/ptm-report-types.js +5 -0
  144. package/dist/features/timeline/ptm-report/ptm-report-types.js.map +1 -0
  145. package/dist/features/timeline/ptm-report/ptm-report.js +113 -0
  146. package/dist/features/timeline/ptm-report/ptm-report.js.map +1 -0
  147. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js +5 -0
  148. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js.map +1 -0
  149. package/dist/features/timeline/timeline-tabs/timeline-tabs.js +41 -0
  150. package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -0
  151. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +37 -0
  152. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -0
  153. package/dist/features/ui/animated-arc/animated-arc-styled.js +7 -7
  154. package/dist/features/ui/animated-arc/animated-arc-styled.js.map +1 -1
  155. package/dist/features/ui/animated-arc/animated-arc.js +37 -26
  156. package/dist/features/ui/animated-arc/animated-arc.js.map +1 -1
  157. package/dist/features/ui/linear-progress-bar/linear-progress-bar.js +39 -0
  158. package/dist/features/ui/linear-progress-bar/linear-progress-bar.js.map +1 -0
  159. package/dist/features/ui/linear-progress-bar/linear-progress-bar.styled.js +23 -0
  160. package/dist/features/ui/linear-progress-bar/linear-progress-bar.styled.js.map +1 -0
  161. package/dist/features/ui/swipable-carousel/swipable-carousel-styled.js +57 -0
  162. package/dist/features/ui/swipable-carousel/swipable-carousel-styled.js.map +1 -0
  163. package/dist/features/ui/swipable-carousel/swipable-carousel.js +132 -0
  164. package/dist/features/ui/swipable-carousel/swipable-carousel.js.map +1 -0
  165. package/dist/features/ui/swipeable-component/swipeable-component-styled.js.map +1 -0
  166. package/dist/features/ui/swipeable-component/swipeable-component.js +27 -0
  167. package/dist/features/ui/swipeable-component/swipeable-component.js.map +1 -0
  168. package/dist/features/ui/theme/text.js +14 -0
  169. package/dist/features/ui/theme/text.js.map +1 -1
  170. package/dist/index.d.ts +231 -25
  171. package/dist/index.js +588 -568
  172. package/dist/index.js.map +1 -1
  173. package/dist/static/2021.0683b580.png +0 -0
  174. package/dist/static/2022.d34ad7a5.png +0 -0
  175. package/dist/static/2023.fce87149.png +0 -0
  176. package/dist/static/2024.a275ee85.png +0 -0
  177. package/dist/static/2025.677cc187.png +0 -0
  178. package/dist/static/2026.63763214.png +0 -0
  179. package/dist/static/2027.b82dc039.png +0 -0
  180. package/dist/static/2028.580b8cc0.png +0 -0
  181. package/dist/static/coding-report-icon.91a1e900.svg +1 -0
  182. package/dist/static/elp-icon.d45b457d.svg +1 -0
  183. package/dist/static/english-icon.50c2e005.svg +1 -0
  184. package/dist/static/focus-blue.664be268.svg +1 -0
  185. package/dist/static/full-report.00112c74.svg +1 -0
  186. package/dist/static/key.fa0b4c98.svg +1 -0
  187. package/dist/static/live-session-blue.ec7fa85f.svg +1 -0
  188. package/dist/static/math-fit-grey.c32f37b3.svg +1 -0
  189. package/dist/static/no-report.4158fad3.svg +1 -0
  190. package/dist/static/opened-book-green.faacda34.svg +1 -0
  191. package/dist/static/percentage-pattern-yellow.6a25e820.svg +1 -0
  192. package/dist/static/pi-orange.132b108d.svg +1 -0
  193. package/dist/static/ptm-report-icon.5089218f.svg +1 -0
  194. package/dist/static/puzzle-purple.60ff4884.svg +1 -0
  195. package/dist/static/question-mark-yellow.1925aa04.svg +1 -0
  196. package/dist/static/renewal-blue.1ab3b2d4.svg +1 -0
  197. package/dist/static/sat-report-icon.4331be86.svg +1 -0
  198. package/dist/static/science-report-icon.a0014c40.svg +1 -0
  199. package/dist/static/thumbs-up-green.6a03b9d2.svg +1 -0
  200. package/dist/static/thumps-down.a1192a62.svg +1 -0
  201. package/dist/static/thumps-up.caa35a98.svg +1 -0
  202. package/dist/static/time-purple.ab1a458d.svg +1 -0
  203. package/package.json +3 -2
  204. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
  205. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
  206. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -34
  207. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
  208. package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component-styled.js.map +0 -1
  209. package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component.js +0 -26
  210. package/dist/features/circle-games/game-launcher/comps/swipable-component/swipeable-component.js.map +0 -1
  211. /package/dist/features/{circle-games/game-launcher/comps/swipable-component → ui/swipeable-component}/swipeable-component-styled.js +0 -0
@@ -0,0 +1,35 @@
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
+ import { memo as f } from "react";
3
+ import s from "../../../../ui/layout/flex-view.js";
4
+ import u from "../../../../ui/separator/separator.js";
5
+ import i from "../../../../ui/text/text.js";
6
+ import { Wrapper as g, HeadingWrapper as h, InfoWrapper as b, InfoItemWrapper as x, Circle as C, FoldingWrapper as W } from "./strategy-card-styled.js";
7
+ const k = ({ title: c, colorPalette: l, data: t = [] }) => {
8
+ const [o, e, d, a] = l;
9
+ return !l || !o || !e || !d ? null : /* @__PURE__ */ n(g, { $background: o, $borderRadius: 8, children: [
10
+ /* @__PURE__ */ r(h, { $background: e, $gutterX: 0.75, $gap: 6, children: /* @__PURE__ */ r(i, { $renderAs: "ac4", children: c }) }),
11
+ /* @__PURE__ */ r(b, { children: t.map(({ option_info: m, option_label: p }, $) => /* @__PURE__ */ n(
12
+ x,
13
+ {
14
+ $flexDirection: "row",
15
+ $flexColumnGapX: 0.75,
16
+ borderColor: a,
17
+ $isLast: $ === t.length - 1,
18
+ children: [
19
+ /* @__PURE__ */ r(C, { $borderColor: d, $background: o }),
20
+ /* @__PURE__ */ n(s, { $flex: 1, children: [
21
+ /* @__PURE__ */ r(i, { $renderAs: "ub2-bold", children: p }),
22
+ /* @__PURE__ */ r(u, { height: 4 }),
23
+ /* @__PURE__ */ r(i, { $renderAs: "ub2", children: m })
24
+ ] })
25
+ ]
26
+ },
27
+ p
28
+ )) }),
29
+ /* @__PURE__ */ r(W, { color: e })
30
+ ] });
31
+ }, F = f(k);
32
+ export {
33
+ F as default
34
+ };
35
+ //# sourceMappingURL=strategy-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-card.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/strategy-card/strategy-card.tsx"],"sourcesContent":["import { memo, 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 * as Styled from './strategy-card-styled';\nimport type { IStrategyCardProps } from './strategy-card-types';\n\nconst StrategyCard: FC<IStrategyCardProps> = ({ title, colorPalette, data = [] }) => {\n const [color1, color2, color3, color4] = colorPalette;\n\n if (!colorPalette || !color1 || !color2 || !color3) return null;\n\n return (\n <Styled.Wrapper $background={color1} $borderRadius={8}>\n <Styled.HeadingWrapper $background={color2} $gutterX={0.75} $gap={6}>\n <Text $renderAs=\"ac4\">{title}</Text>\n </Styled.HeadingWrapper>\n <Styled.InfoWrapper>\n {data.map(({ option_info: optionInfo, option_label: optionLabel }, index) => (\n <Styled.InfoItemWrapper\n key={optionLabel}\n $flexDirection=\"row\"\n $flexColumnGapX={0.75}\n borderColor={color4}\n $isLast={index === data.length - 1}\n >\n <Styled.Circle $borderColor={color3} $background={color1} />\n <FlexView $flex={1}>\n <Text $renderAs=\"ub2-bold\">{optionLabel}</Text>\n <Separator height={4} />\n <Text $renderAs=\"ub2\">{optionInfo}</Text>\n </FlexView>\n </Styled.InfoItemWrapper>\n ))}\n </Styled.InfoWrapper>\n <Styled.FoldingWrapper color={color2} />\n </Styled.Wrapper>\n );\n};\n\nexport default memo(StrategyCard);\n"],"names":["StrategyCard","title","colorPalette","data","color1","color2","color3","color4","Styled.Wrapper","jsx","Styled.HeadingWrapper","Text","Styled.InfoWrapper","optionInfo","optionLabel","index","jsxs","Styled.InfoItemWrapper","Styled.Circle","FlexView","Separator","Styled.FoldingWrapper","StrategyCard$1","memo"],"mappings":";;;;;;AAQA,MAAMA,IAAuC,CAAC,EAAE,OAAAC,GAAO,cAAAC,GAAc,MAAAC,IAAO,SAAS;AACnF,QAAM,CAACC,GAAQC,GAAQC,GAAQC,CAAM,IAAIL;AAErC,SAAA,CAACA,KAAgB,CAACE,KAAU,CAACC,KAAU,CAACC,IAAe,yBAGxDE,GAAA,EAAe,aAAaJ,GAAQ,eAAe,GAClD,UAAA;AAAA,IAAA,gBAAAK,EAACC,GAAA,EAAsB,aAAaL,GAAQ,UAAU,MAAM,MAAM,GAChE,UAAC,gBAAAI,EAAAE,GAAA,EAAK,WAAU,OAAO,YAAM,CAAA,GAC/B;AAAA,IACC,gBAAAF,EAAAG,GAAA,EACE,UAAKT,EAAA,IAAI,CAAC,EAAE,aAAaU,GAAY,cAAcC,KAAeC,MACjE,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,iBAAiB;AAAA,QACjB,aAAaV;AAAA,QACb,SAASQ,MAAUZ,EAAK,SAAS;AAAA,QAEjC,UAAA;AAAA,UAAA,gBAAAM,EAACS,GAAA,EAAc,cAAcZ,GAAQ,aAAaF,GAAQ;AAAA,UAC1D,gBAAAY,EAACG,GAAS,EAAA,OAAO,GACf,UAAA;AAAA,YAAC,gBAAAV,EAAAE,GAAA,EAAK,WAAU,YAAY,UAAYG,GAAA;AAAA,YACxC,gBAAAL,EAACW,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,YACrB,gBAAAX,EAAAE,GAAA,EAAK,WAAU,OAAO,UAAWE,GAAA;AAAA,UAAA,GACpC;AAAA,QAAA;AAAA,MAAA;AAAA,MAXKC;AAAA,IAaR,CAAA,GACH;AAAA,IACC,gBAAAL,EAAAY,GAAA,EAAsB,OAAOhB,EAAQ,CAAA;AAAA,EACxC,EAAA,CAAA;AAEJ,GAEeiB,IAAAC,EAAKvB,CAAY;"}
@@ -0,0 +1,21 @@
1
+ import r from "styled-components";
2
+ import { ILLUSTRATIONS as o } from "../../../../../assets/illustrations/illustrations.js";
3
+ import e from "../../../../ui/layout/flex-view.js";
4
+ const d = r(e)`
5
+ background: url(${o.PERCENTAGE_PATTERN_YELLOW});
6
+ width: 100%;
7
+ min-height: 210px;
8
+ background-size: cover;
9
+ border-radius: 0 0 12px 12px;
10
+ ${({ theme: i }) => i.mediaQueries.minWidthTablet} {
11
+ min-height: 260px;
12
+ }
13
+ `, a = r(e)`
14
+ margin-top: -8px;
15
+ z-index: 2;
16
+ `;
17
+ export {
18
+ a as GradeWrapper,
19
+ d as Wrapper
20
+ };
21
+ //# sourceMappingURL=student-info-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"student-info-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/student-info/student-info-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)`\n background: url(${ILLUSTRATIONS.PERCENTAGE_PATTERN_YELLOW});\n width: 100%;\n min-height: 210px;\n background-size: cover;\n border-radius: 0 0 12px 12px;\n ${({ theme }) => theme.mediaQueries.minWidthTablet} {\n min-height: 260px;\n }\n`;\n\nexport const GradeWrapper = styled(FlexView)`\n margin-top: -8px;\n z-index: 2;\n`;\n"],"names":["Wrapper","styled","FlexView","ILLUSTRATIONS","theme","GradeWrapper"],"mappings":";;;AAKa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA,oBAClBC,EAAc,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKvD,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA,GAKvCC,IAAeJ,EAAOC,CAAQ;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,21 @@
1
+ import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
+ import { memo as m } from "react";
3
+ import n from "../../../../ui/layout/flex-view.js";
4
+ import { Wrapper as d, GradeWrapper as p } from "./student-info-styled.js";
5
+ import a from "../../../../ui/separator/separator.js";
6
+ import t from "../../../../ui/text/text.js";
7
+ import f from "../../../../ui/image/image.js";
8
+ import { ILLUSTRATIONS as s } from "../../../../../assets/illustrations/illustrations.js";
9
+ const c = ({ grade: o, name: i }) => /* @__PURE__ */ e(d, { $alignItems: "center", $justifyContent: "center", children: [
10
+ /* @__PURE__ */ r(f, { src: s.ALIEN_1, width: 64, height: 64 }),
11
+ /* @__PURE__ */ r(p, { $background: "YELLOW_4", $gutter: 8, $gap: 4, $borderRadius: 4, children: /* @__PURE__ */ e(t, { $renderAs: "ub2", children: [
12
+ "Grade ",
13
+ o
14
+ ] }) }),
15
+ /* @__PURE__ */ r(a, { heightX: 0.5 }),
16
+ /* @__PURE__ */ r(n, { children: /* @__PURE__ */ r(t, { $renderAs: "ab1", children: i }) })
17
+ ] }), S = m(c);
18
+ export {
19
+ S as default
20
+ };
21
+ //# sourceMappingURL=student-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"student-info.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/student-info/student-info.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport * as Styled from './student-info-styled';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport type { IStudentInfoProps } from './student-info-types';\nimport Image from '../../../../ui/image/image';\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\n\nconst StudentInfo: FC<IStudentInfoProps> = ({ grade, name }) => {\n return (\n <Styled.Wrapper $alignItems=\"center\" $justifyContent=\"center\">\n <Image src={ILLUSTRATIONS.ALIEN_1} width={64} height={64} />\n <Styled.GradeWrapper $background=\"YELLOW_4\" $gutter={8} $gap={4} $borderRadius={4}>\n <Text $renderAs=\"ub2\">Grade {grade}</Text>\n </Styled.GradeWrapper>\n <Separator heightX={0.5} />\n <FlexView>\n <Text $renderAs=\"ab1\">{name}</Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(StudentInfo);\n"],"names":["StudentInfo","grade","name","Styled.Wrapper","jsx","Image","ILLUSTRATIONS","Styled.GradeWrapper","jsxs","Text","Separator","FlexView","StudentInfo$1","memo"],"mappings":";;;;;;;;AAUA,MAAMA,IAAqC,CAAC,EAAE,OAAAC,GAAO,MAAAC,0BAEhDC,GAAA,EAAe,aAAY,UAAS,iBAAgB,UACnD,UAAA;AAAA,EAAA,gBAAAC,EAACC,KAAM,KAAKC,EAAc,SAAS,OAAO,IAAI,QAAQ,IAAI;AAAA,EACzD,gBAAAF,EAAAG,GAAA,EAAoB,aAAY,YAAW,SAAS,GAAG,MAAM,GAAG,eAAe,GAC9E,UAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,OAAM,UAAA;AAAA,IAAA;AAAA,IAAOR;AAAA,EAAA,EAAA,CAAM,EACrC,CAAA;AAAA,EACA,gBAAAG,EAACM,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,oBACxBC,GACC,EAAA,UAAA,gBAAAP,EAACK,KAAK,WAAU,OAAO,aAAK,EAC9B,CAAA;AACF,EAAA,CAAA,GAIWG,IAAAC,EAAKb,CAAW;"}
@@ -0,0 +1,9 @@
1
+ import o from "styled-components";
2
+ import r from "../../../../ui/layout/flex-view.js";
3
+ const t = o(r)`
4
+ overflow: hidden;
5
+ `;
6
+ export {
7
+ t as Wrapper
8
+ };
9
+ //# sourceMappingURL=support-card-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-card-styled.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/support-card/support-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,30 @@
1
+ import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
+ import { memo as m } from "react";
3
+ import o from "../../../../ui/layout/flex-view.js";
4
+ import t from "../../../../ui/text/text.js";
5
+ import $ from "../../../../ui/image/image.js";
6
+ import { Wrapper as c } from "./support-card-styled.js";
7
+ const p = ({ title: i, info: d, statement: n, icon: l }) => /* @__PURE__ */ e(c, { $borderColor: "GREY_3", $flexDirection: "column", $borderRadius: 8, children: [
8
+ /* @__PURE__ */ e(
9
+ o,
10
+ {
11
+ $flexDirection: "row",
12
+ $gutterX: 0.5,
13
+ $gapX: 0.75,
14
+ $flexColumnGapX: 0.5,
15
+ $alignItems: "center",
16
+ children: [
17
+ /* @__PURE__ */ r($, { src: l, width: 48, height: 48 }),
18
+ /* @__PURE__ */ e(o, { $flex: 1, children: [
19
+ /* @__PURE__ */ r(t, { $renderAs: "ab2-bold", children: i }),
20
+ /* @__PURE__ */ r(t, { $renderAs: "ub2", $color: "BLACK_T_60", children: d })
21
+ ] })
22
+ ]
23
+ }
24
+ ),
25
+ /* @__PURE__ */ r(o, { $gutterX: 0.75, $gapX: 0.75, $background: "ORANGE_1", children: /* @__PURE__ */ r(t, { $renderAs: "body2", children: n }) })
26
+ ] }), g = m(p);
27
+ export {
28
+ g as default
29
+ };
30
+ //# sourceMappingURL=support-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-card.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/support-card/support-card.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport type { ISupportCardProps } from './support-card-types';\nimport Image from '../../../../ui/image/image';\nimport * as Styled from './support-card-styled';\n\nconst SupportCard: FC<ISupportCardProps> = ({ title, info, statement, icon }) => {\n return (\n <Styled.Wrapper $borderColor=\"GREY_3\" $flexDirection=\"column\" $borderRadius={8}>\n <FlexView\n $flexDirection=\"row\"\n $gutterX={0.5}\n $gapX={0.75}\n $flexColumnGapX={0.5}\n $alignItems=\"center\"\n >\n <Image src={icon} width={48} height={48} />\n <FlexView $flex={1}>\n <Text $renderAs=\"ab2-bold\">{title}</Text>\n <Text $renderAs=\"ub2\" $color=\"BLACK_T_60\">\n {info}\n </Text>\n </FlexView>\n </FlexView>\n <FlexView $gutterX={0.75} $gapX={0.75} $background=\"ORANGE_1\">\n <Text $renderAs=\"body2\">{statement}</Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(SupportCard);\n"],"names":["SupportCard","title","info","statement","icon","jsxs","Styled.Wrapper","FlexView","jsx","Image","Text","SupportCard$1","memo"],"mappings":";;;;;;AAQA,MAAMA,IAAqC,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,WAAAC,GAAW,MAAAC,QAElE,gBAAAC,EAACC,GAAA,EAAe,cAAa,UAAS,gBAAe,UAAS,eAAe,GAC3E,UAAA;AAAA,EAAA,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,UAAU;AAAA,MACV,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAM,KAAKL,GAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,QACzC,gBAAAC,EAACE,GAAS,EAAA,OAAO,GACf,UAAA;AAAA,UAAC,gBAAAC,EAAAE,GAAA,EAAK,WAAU,YAAY,UAAMT,GAAA;AAAA,4BACjCS,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHR,GAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,EACC,gBAAAM,EAAAD,GAAA,EAAS,UAAU,MAAM,OAAO,MAAM,aAAY,YACjD,UAAC,gBAAAC,EAAAE,GAAA,EAAK,WAAU,SAAS,YAAU,CAAA,GACrC;AACF,EAAA,CAAA,GAIWC,IAAAC,EAAKZ,CAAW;"}
@@ -0,0 +1,9 @@
1
+ const R = {
2
+ "Strength 💪🏻": "GREEN_1",
3
+ "Growth 🚀": "BLUE_1",
4
+ "Focus Area 🎯": "ORANGE_1"
5
+ };
6
+ export {
7
+ R as REPORT_CARD_BG_COLORS
8
+ };
9
+ //# sourceMappingURL=teacher-observations-constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teacher-observations-constant.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.ts"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nexport const REPORT_CARD_BG_COLORS: Record<string, TColorNames> = {\n ['Strength 💪🏻']: 'GREEN_1',\n ['Growth 🚀']: 'BLUE_1',\n ['Focus Area 🎯']: 'ORANGE_1',\n} as const;\n"],"names":["REPORT_CARD_BG_COLORS"],"mappings":"AAEO,MAAMA,IAAqD;AAAA,EAC/D,iBAAkB;AAAA,EAClB,aAAc;AAAA,EACd,iBAAkB;AACrB;"}
@@ -0,0 +1,56 @@
1
+ import { jsxs as l, jsx as r } from "react/jsx-runtime";
2
+ import { memo as v } from "react";
3
+ import p from "../../../../ui/layout/flex-view.js";
4
+ import m from "../../../../ui/separator/separator.js";
5
+ import E from "../../../../ui/text/text.js";
6
+ import o from "../report-card/report-card.js";
7
+ import { REPORT_CARD_BG_COLORS as P } from "./teacher-observations-constant.js";
8
+ import { REPORT_CARD_ICON_MAP as d } from "../../ptm-report-constants.js";
9
+ const u = ({
10
+ strengthsReport: _,
11
+ strengthAreas: b,
12
+ focusArea: e,
13
+ focusAreaReportTag: g,
14
+ teacherRemarkTag: R,
15
+ teacherRemarks: t
16
+ }) => /* @__PURE__ */ l(p, { children: [
17
+ /* @__PURE__ */ r(E, { $renderAs: "ab1-bold", children: "Teacher observations" }),
18
+ /* @__PURE__ */ r(m, { heightX: 1 }),
19
+ /* @__PURE__ */ l(p, { $flexRowGapX: 1, children: [
20
+ Object.entries(_).map(([n, i]) => {
21
+ if (i != null) {
22
+ const a = b.find(({ area_key: x }) => x === n);
23
+ if (!a) return null;
24
+ const { area_label: f, icon: O, options: c } = a, h = Array.isArray(c) ? c[i] : void 0, { report_statement: y = "", report_tag: s = "" } = h || {}, C = d[O] ?? void 0, T = P[s] ?? "GREY_1";
25
+ return /* @__PURE__ */ r(
26
+ o,
27
+ {
28
+ icon: C,
29
+ category: s,
30
+ bgColor: T,
31
+ title: f,
32
+ description: y
33
+ },
34
+ n
35
+ );
36
+ }
37
+ return null;
38
+ }),
39
+ e && /* @__PURE__ */ r(
40
+ o,
41
+ {
42
+ icon: d[e.icon],
43
+ bgColor: "ORANGE_1",
44
+ title: e.area_label,
45
+ category: g,
46
+ description: e.report_statement
47
+ }
48
+ ),
49
+ t && /* @__PURE__ */ r(o, { bgColor: "PURPLE_1", category: R, description: t })
50
+ ] }),
51
+ /* @__PURE__ */ r(m, { heightX: 2 })
52
+ ] }), I = v(u);
53
+ export {
54
+ I as default
55
+ };
56
+ //# sourceMappingURL=teacher-observations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teacher-observations.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/teacher-observations/teacher-observations.tsx"],"sourcesContent":["import { memo, 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 type { ITeacherObservationsProps } from './teacher-observations-types';\nimport { REPORT_CARD_BG_COLORS } from './teacher-observations-constant';\nimport { REPORT_CARD_ICON_MAP } from '../../ptm-report-constants';\n\nconst TeacherObservations: FC<ITeacherObservationsProps> = ({\n strengthsReport,\n strengthAreas,\n focusArea,\n focusAreaReportTag,\n teacherRemarkTag,\n teacherRemarks,\n}) => {\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Teacher observations</Text>\n <Separator heightX={1} />\n <FlexView $flexRowGapX={1}>\n {Object.entries(strengthsReport).map(([key, value]) => {\n if (value != null) {\n const selectedData = strengthAreas.find(({ area_key: areaKey }) => areaKey === key);\n\n if (!selectedData) return null;\n\n const { area_label: areaLabel, icon, options } = selectedData;\n const selectedOption = Array.isArray(options) ? options[value] : undefined;\n\n const { report_statement: reportStatement = '', report_tag: reportTag = '' } =\n selectedOption || {};\n\n const iconKey = icon as keyof typeof REPORT_CARD_ICON_MAP;\n const resolvedIcon = REPORT_CARD_ICON_MAP[iconKey] ?? undefined;\n\n const bgKey = reportTag as keyof typeof REPORT_CARD_BG_COLORS;\n const bgColor = REPORT_CARD_BG_COLORS[bgKey] ?? 'GREY_1';\n\n return (\n <ReportCard\n key={key}\n icon={resolvedIcon}\n category={reportTag}\n bgColor={bgColor}\n title={areaLabel}\n description={reportStatement}\n />\n );\n }\n\n return null;\n })}\n\n {focusArea && (\n <ReportCard\n icon={REPORT_CARD_ICON_MAP[focusArea.icon as keyof typeof REPORT_CARD_ICON_MAP]}\n bgColor=\"ORANGE_1\"\n title={focusArea.area_label}\n category={focusAreaReportTag}\n description={focusArea.report_statement}\n />\n )}\n\n {teacherRemarks && (\n <ReportCard bgColor=\"PURPLE_1\" category={teacherRemarkTag} description={teacherRemarks} />\n )}\n </FlexView>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(TeacherObservations);\n"],"names":["TeacherObservations","strengthsReport","strengthAreas","focusArea","focusAreaReportTag","teacherRemarkTag","teacherRemarks","FlexView","jsx","Text","Separator","jsxs","key","value","selectedData","areaKey","areaLabel","icon","options","selectedOption","reportStatement","reportTag","resolvedIcon","REPORT_CARD_ICON_MAP","bgColor","REPORT_CARD_BG_COLORS","ReportCard","TeacherObservations$1","memo"],"mappings":";;;;;;;;AAUA,MAAMA,IAAqD,CAAC;AAAA,EAC1D,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,gBAAAC;AACF,wBAEKC,GACC,EAAA,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAoB,wBAAA;AAAA,EAC/C,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACvB,gBAAAC,EAACJ,GAAS,EAAA,cAAc,GACrB,UAAA;AAAA,IAAO,OAAA,QAAQN,CAAe,EAAE,IAAI,CAAC,CAACW,GAAKC,CAAK,MAAM;AACrD,UAAIA,KAAS,MAAM;AACX,cAAAC,IAAeZ,EAAc,KAAK,CAAC,EAAE,UAAUa,EAAc,MAAAA,MAAYH,CAAG;AAE9E,YAAA,CAACE,EAAqB,QAAA;AAE1B,cAAM,EAAE,YAAYE,GAAW,MAAAC,GAAM,SAAAC,MAAYJ,GAC3CK,IAAiB,MAAM,QAAQD,CAAO,IAAIA,EAAQL,CAAK,IAAI,QAE3D,EAAE,kBAAkBO,IAAkB,IAAI,YAAYC,IAAY,GAAA,IACtEF,KAAkB,IAGdG,IAAeC,EADLN,CACiC,KAAK,QAGhDO,IAAUC,EADFJ,CAC6B,KAAK;AAG9C,eAAA,gBAAAb;AAAA,UAACkB;AAAA,UAAA;AAAA,YAEC,MAAMJ;AAAA,YACN,UAAUD;AAAA,YACV,SAAAG;AAAA,YACA,OAAOR;AAAA,YACP,aAAaI;AAAA,UAAA;AAAA,UALRR;AAAA,QAAA;AAAA,MAQX;AAEO,aAAA;AAAA,IAAA,CACR;AAAA,IAEAT,KACC,gBAAAK;AAAA,MAACkB;AAAA,MAAA;AAAA,QACC,MAAMH,EAAqBpB,EAAU,IAAyC;AAAA,QAC9E,SAAQ;AAAA,QACR,OAAOA,EAAU;AAAA,QACjB,UAAUC;AAAA,QACV,aAAaD,EAAU;AAAA,MAAA;AAAA,IACzB;AAAA,IAGDG,uBACEoB,GAAW,EAAA,SAAQ,YAAW,UAAUrB,GAAkB,aAAaC,GAAgB;AAAA,EAAA,GAE5F;AAAA,EACA,gBAAAE,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AACzB,EAAA,CAAA,GAIWiB,IAAAC,EAAK5B,CAAmB;"}
@@ -0,0 +1,15 @@
1
+ import { jsxs as m, jsx as r } from "react/jsx-runtime";
2
+ import { memo as n } from "react";
3
+ import o from "../../../../ui/layout/flex-view.js";
4
+ import t from "../../../../ui/text/text.js";
5
+ import i from "../../../../ui/separator/separator.js";
6
+ const p = ({ chapters: e }) => e ? /* @__PURE__ */ m(o, { children: [
7
+ /* @__PURE__ */ r(t, { $renderAs: "ab1-bold", children: "Upcoming Chapters" }),
8
+ /* @__PURE__ */ r(i, { heightX: 1 }),
9
+ /* @__PURE__ */ r(o, { $background: "GREEN_1", $borderRadiusX: 0.5, $gutterX: 0.75, $gapX: 0.75, children: /* @__PURE__ */ r(t, { $renderAs: "ub2", children: e }) }),
10
+ /* @__PURE__ */ r(i, { heightX: 2 })
11
+ ] }) : null, l = n(p);
12
+ export {
13
+ l as default
14
+ };
15
+ //# sourceMappingURL=upcoming-chapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upcoming-chapters.js","sources":["../../../../../../src/features/timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.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';\n\nconst UpcomingChapters: FC<{ chapters?: string }> = ({ chapters }) => {\n if (!chapters) {\n return null;\n }\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Upcoming Chapters</Text>\n <Separator heightX={1} />\n <FlexView $background=\"GREEN_1\" $borderRadiusX={0.5} $gutterX={0.75} $gapX={0.75}>\n <Text $renderAs=\"ub2\">{chapters}</Text>\n </FlexView>\n <Separator heightX={2} />\n </FlexView>\n );\n};\n\nexport default memo(UpcomingChapters);\n"],"names":["UpcomingChapters","chapters","FlexView","jsx","Text","Separator","UpcomingChapters$1","memo"],"mappings":";;;;;AAMA,MAAMA,IAA8C,CAAC,EAAE,UAAAC,QAChDA,sBAKFC,GACC,EAAA,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,UAAiB,qBAAA;AAAA,EAC5C,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACtB,gBAAAF,EAAAD,GAAA,EAAS,aAAY,WAAU,gBAAgB,KAAK,UAAU,MAAM,OAAO,MAC1E,UAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,OAAO,YAAS,CAAA,GAClC;AAAA,EACA,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AACzB,EAAA,CAAA,IAXO,MAeIC,IAAAC,EAAKP,CAAgB;"}
@@ -0,0 +1,16 @@
1
+ import { ILLUSTRATIONS as E } from "../../../assets/illustrations/illustrations.js";
2
+ const L = {
3
+ Focus: E.FOCUS_BLUE,
4
+ Help: E.QUESTION_MARK_YELLOW,
5
+ Renewal: E.RENEWAL_BLUE,
6
+ Book: E.OPENED_BOOK_GREEN,
7
+ Time: E.TIME_PURPLE,
8
+ LiveSession: E.LIVE_SESSION_BLUE,
9
+ Confidence: E.THUMBS_UP_GREEN,
10
+ Problem: E.PUZZLE_PURPLE,
11
+ Pi: E.PI_ORANGE
12
+ };
13
+ export {
14
+ L as REPORT_CARD_ICON_MAP
15
+ };
16
+ //# sourceMappingURL=ptm-report-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptm-report-constants.js","sources":["../../../../src/features/timeline/ptm-report/ptm-report-constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\nexport const REPORT_CARD_ICON_MAP: Record<string, string> = {\n Focus: ILLUSTRATIONS.FOCUS_BLUE,\n Help: ILLUSTRATIONS.QUESTION_MARK_YELLOW,\n Renewal: ILLUSTRATIONS.RENEWAL_BLUE,\n Book: ILLUSTRATIONS.OPENED_BOOK_GREEN,\n Time: ILLUSTRATIONS.TIME_PURPLE,\n LiveSession: ILLUSTRATIONS.LIVE_SESSION_BLUE,\n Confidence: ILLUSTRATIONS.THUMBS_UP_GREEN,\n Problem: ILLUSTRATIONS.PUZZLE_PURPLE,\n Pi: ILLUSTRATIONS.PI_ORANGE,\n} as const;\n"],"names":["REPORT_CARD_ICON_MAP","ILLUSTRATIONS"],"mappings":";AAEO,MAAMA,IAA+C;AAAA,EAC1D,OAAOC,EAAc;AAAA,EACrB,MAAMA,EAAc;AAAA,EACpB,SAASA,EAAc;AAAA,EACvB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,aAAaA,EAAc;AAAA,EAC3B,YAAYA,EAAc;AAAA,EAC1B,SAASA,EAAc;AAAA,EACvB,IAAIA,EAAc;AACpB;"}
@@ -0,0 +1,8 @@
1
+ const o = (r, c) => Object.entries(c).reduce(
2
+ (t, [n, e]) => t.replaceAll(`<${n}>`, e !== void 0 ? String(e) : ""),
3
+ r
4
+ );
5
+ export {
6
+ o as replaceTokens
7
+ };
8
+ //# sourceMappingURL=ptm-report-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptm-report-helpers.js","sources":["../../../../src/features/timeline/ptm-report/ptm-report-helpers.ts"],"sourcesContent":["export const replaceTokens = (\n template: string,\n tokens: Record<string, string | number | undefined>,\n): string =>\n Object.entries(tokens).reduce(\n (acc, [key, value]) => acc.replaceAll(`<${key}>`, value !== undefined ? String(value) : ''),\n template,\n );\n"],"names":["replaceTokens","template","tokens","acc","key","value"],"mappings":"AAAO,MAAMA,IAAgB,CAC3BC,GACAC,MAEA,OAAO,QAAQA,CAAM,EAAE;AAAA,EACrB,CAACC,GAAK,CAACC,GAAKC,CAAK,MAAMF,EAAI,WAAW,IAAIC,CAAG,KAAKC,MAAU,SAAY,OAAOA,CAAK,IAAI,EAAE;AAAA,EAC1FJ;AACF;"}
@@ -0,0 +1,11 @@
1
+ import o from "styled-components";
2
+ import t from "../../ui/layout/flex-view.js";
3
+ const r = o(t)`
4
+ max-width: 480px;
5
+ width: 100%;
6
+ overflow-x: hidden;
7
+ `;
8
+ export {
9
+ r as Container
10
+ };
11
+ //# sourceMappingURL=ptm-report-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptm-report-styled.js","sources":["../../../../src/features/timeline/ptm-report/ptm-report-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\nconst Container = styled(FlexView)`\n max-width: 480px;\n width: 100%;\n overflow-x: hidden;\n`;\n\nexport { Container };\n"],"names":["Container","styled","FlexView"],"mappings":";;AAIM,MAAAA,IAAYC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,5 @@
1
+ var _ = /* @__PURE__ */ ((S) => (S.ON_DEMAND = "ON_DEMAND", S.PLUS_CLASS_7 = "PLUS_CLASS_7", S))(_ || {});
2
+ export {
3
+ _ as EPTMTypes
4
+ };
5
+ //# sourceMappingURL=ptm-report-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptm-report-types.js","sources":["../../../../src/features/timeline/ptm-report/ptm-report-types.ts"],"sourcesContent":["// ============================\n// SHARED INTERFACES\n// ============================\n\nexport interface IIntroSlide {\n color: string;\n content: string;\n section_name: string;\n type: string;\n}\n\nexport interface IStrategyOption {\n option_info: string;\n option_label: string;\n}\n\nexport interface IStrategyCategory {\n category_label: string;\n icon: string;\n options: IStrategyOption[];\n}\n\n// ============================\n// CONFIG INTERFACES\n// ============================\n\nexport interface ILearningStrategyConfig {\n intro_slide: IIntroSlide;\n learning_strategy_cta: string;\n max: number;\n min: number;\n page_heading: string;\n page_subheading: string;\n show_key_need?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n strategies: {\n advanced_math: IStrategyCategory;\n learning_gaps: IStrategyCategory;\n math_anxiety: IStrategyCategory;\n math_foundation: IStrategyCategory;\n mental_math: IStrategyCategory;\n more_practice: IStrategyCategory;\n };\n}\n\nexport interface IParentSupportOptionConfig {\n icon: string;\n option_cta: string | null;\n option_info: string;\n option_key: string;\n option_label: string;\n report_statement: string;\n slides_ratio: string;\n slides_tag: string;\n}\n\nexport interface IParentSupportConfig {\n intro_slide: IIntroSlide;\n options: IParentSupportOptionConfig[];\n page_heading: string;\n page_subheading: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IRealWorldProjectConfig {\n intro_slide: IIntroSlide;\n max: number;\n page_heading: string;\n ptm_report_color?: {\n images: string[];\n objective: string;\n remarks: string;\n };\n remarks_heading: string;\n remarks_placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n tag: string;\n}\n\nexport interface ISchoolSupportArea {\n area_label?: string;\n optional: boolean;\n options?: string[];\n placeholder?: string;\n question: string;\n report_statement: string | string[];\n report_statement_with_performance?: string[];\n report_statement_with_previous_performance?: string[];\n type: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportTestHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportSubsectionsConfig {\n homework_help: ISchoolSupportHomeworkHelpConfig;\n test_help: ISchoolSupportTestHelpConfig;\n}\n\nexport interface ISchoolSupportConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ISchoolSupportSubsectionsConfig;\n}\n\nexport interface IObservationAreaConfig {\n area_key: string;\n area_label: string;\n icon: string;\n report_statement: string;\n}\n\nexport interface IFocusAreaConfig {\n areas: IObservationAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n report_tag: string;\n}\n\nexport interface IStrengthOptionConfig {\n option_label: string;\n report_statement: string;\n report_tag: string;\n}\n\nexport interface IStrengthAreaConfig extends IObservationAreaConfig {\n options: IStrengthOptionConfig[];\n}\n\nexport interface IStrengthsConfig {\n areas: IStrengthAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n}\n\nexport interface ITeacherRemarksConfig {\n area_label: string;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n report_tag: string;\n}\n\nexport interface ITeacherObservationSubsectionsConfig {\n focus_area: IFocusAreaConfig;\n strengths: IStrengthsConfig;\n teacher_remarks: ITeacherRemarksConfig;\n}\n\nexport interface ITeacherObservationConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ITeacherObservationSubsectionsConfig;\n}\n\nexport interface IUpcomingChaptersConfig {\n area_label: string;\n intro_slide: IIntroSlide;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IPTMReportSectionsConfig {\n learning_strategy: ILearningStrategyConfig;\n parent_support: IParentSupportConfig;\n real_world_project?: IRealWorldProjectConfig;\n school_support?: ISchoolSupportConfig;\n teacher_observation: ITeacherObservationConfig;\n upcoming_chapters?: IUpcomingChaptersConfig;\n}\n\n// ============================\n// REPORT INTERFACES (actual report data)\n// ============================\n\nexport interface IReportStrategies {\n advanced_math?: number[];\n learning_gaps?: number[];\n math_anxiety?: number[];\n math_foundation?: number[];\n mental_math?: number[];\n more_practice?: number[];\n}\n\nexport interface IReportTeacherObservation {\n focus_area: string;\n strengths: Record<string, number>;\n teacher_remarks: string;\n}\n\nexport interface IRealWorldProjectReport {\n images?: number[];\n observation: string;\n}\n\nexport interface IUpcomingChaptersReport {\n upcoming_chapters: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpReport {\n is_hw_help_provided: number;\n selected: number[];\n topics: string;\n}\n\nexport interface ISchoolSupportTestHelpReport {\n performance: {\n scored: string;\n total: string;\n grade: string;\n };\n previous_performance: {\n scored: string;\n total: string;\n grade: string;\n };\n selected: number[];\n}\n\nexport interface ISchoolSupportReport {\n homework_help: ISchoolSupportHomeworkHelpReport;\n test_help: ISchoolSupportTestHelpReport;\n}\n\nexport interface IReportSections {\n parent_support: number[];\n strategies: IReportStrategies;\n teacher_observation: IReportTeacherObservation;\n real_world_project?: IRealWorldProjectReport;\n upcoming_chapters?: IUpcomingChaptersReport;\n school_support?: ISchoolSupportReport;\n}\n\n// ============================\n// STUDENT & TEACHER DATA\n// ============================\n\nexport interface IAttendanceData {\n classes_completed: number;\n weeks_completed: number;\n}\n\nexport interface IHomeworkData {\n incomplete_sheets: number | null;\n sheets_assigned: number;\n sheets_not_completed: number;\n}\n\nexport interface IKeyNeed {\n created_by_id?: string;\n evidence_of_key_need?: string;\n is_published?: boolean;\n is_seen_by_teacher?: boolean;\n key_need: string;\n last_modified_by?: string;\n measure_of_success: string;\n strategies?: any[];\n timestamp?: number;\n}\n\nexport interface ILateClassData {\n break_time: number;\n date: number;\n enter_datetime: number;\n id: string;\n is_invalid: boolean;\n is_skipped: boolean;\n perfect_hit: number;\n scheduled_duration_minutes: number;\n scheduled_end_time: number;\n scheduled_start_datetime: number;\n scheduled_start_time: number;\n status: string;\n student_course_id: string;\n student_id: string;\n tag: string;\n teacher_classroom_id: string;\n was_late: boolean;\n}\n\nexport interface IRealWorldProjectInfo {\n activity: string;\n attempt_id?: string;\n objective: string;\n image_upload_urls?: string[];\n}\n\nexport interface IStudentData {\n attendance_data: IAttendanceData;\n key_need: IKeyNeed;\n country: string;\n country_code: string;\n first_name: string;\n gender: string;\n grade: string;\n homework_data: IHomeworkData;\n last_name: string;\n name: string;\n parent_name: string;\n phone: string;\n plus_class_streak: number;\n real_world_project?: IRealWorldProjectInfo;\n late_class_data: ILateClassData[];\n student_service_id: string;\n}\n\nexport interface ITeacherData {\n email: string;\n first_name: string;\n gender: string;\n last_name: string;\n name: string;\n phone: string;\n}\n\nexport interface IPTMReport {\n report_sections: IReportSections;\n state: string;\n student_data: IStudentData;\n teacher_data: ITeacherData;\n}\n\n// ============================\n// PTM CONFIG INTERFACES\n// ============================\n\nexport interface IDefaultKeyNeed {\n key_need: string;\n measure_of_success: string;\n}\n\nexport interface IFeedbackConfig {\n questions: string[];\n}\n\nexport interface IPTMSchedulingConfig {\n colatteral_image_link: string;\n colatteral_text: string;\n cta_label: string;\n cta_label_share_report?: string;\n cta_text: string;\n cta_text_share_report?: string;\n optional?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface ISlidesConfigBullet {\n content: string;\n title?: string;\n}\n\nexport interface ISlidesConfig {\n qna?: {\n content: string;\n header: string;\n type: string;\n };\n thankyou: {\n bullets?: ISlidesConfigBullet[];\n content?: string;\n header: string;\n subheader?: string;\n type: string;\n };\n welcome: {\n bullets: ISlidesConfigBullet[];\n header: string;\n type: string;\n };\n}\n\nexport interface IPTMConfigDetails {\n default_key_need: IDefaultKeyNeed;\n feedback_config: IFeedbackConfig;\n late_if_minutes: number;\n late_if_seconds: number;\n ptm_expiry_days: number;\n ptm_report_sections: IPTMReportSectionsConfig;\n ptm_scheduling: IPTMSchedulingConfig;\n report_color_config: Record<string, string>;\n slides_config: ISlidesConfig;\n}\n\nexport interface IPTMConfig {\n config: IPTMConfigDetails;\n created_on_ts: number;\n id: string;\n is_active: boolean;\n meta: null;\n ptm_type: string;\n updated_on_ts: number;\n version: number;\n}\n\n// ============================\n// MAIN PTM RESPONSE INTERFACE\n// ============================\n\nexport interface IPTMReportResponse {\n created_on_ts: number;\n due_date: number;\n id: string;\n is_moment_ptm: boolean;\n meta: {\n student_classroom_id: string;\n student_course_id: string;\n };\n opportunity_action_id: string | null;\n ptm_config: IPTMConfig;\n ptm_config_id: string;\n ptm_id: string;\n ptm_platform: string | null;\n ptm_state: string;\n ptm_type: string;\n report: IPTMReport;\n reschedule_reason: string | null;\n scheduled_on: number;\n student_classroom_id: string;\n student_course_id: string;\n student_id: string;\n teacher_classroom_id: string;\n teacher_id: string;\n updated_on_ts: number;\n}\n\n// ============================\n// UTILITY INTERFACES & ENUMS\n// ============================\n\nexport interface IPTMReportProps {\n ptmId: string;\n}\n\nexport enum EPTMTypes {\n ON_DEMAND = 'ON_DEMAND',\n PLUS_CLASS_7 = 'PLUS_CLASS_7',\n}\n"],"names":["EPTMTypes"],"mappings":"AAgdY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,eAAe,gBAFLA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -0,0 +1,113 @@
1
+ import { jsx as e, jsxs as a, Fragment as ie } from "react/jsx-runtime";
2
+ import { memo as me, useCallback as ge, useEffect as le } from "react";
3
+ import { usePTMReportGet as fe } from "./api/use-ptm-report-get.js";
4
+ import { EPTMTypes as he } from "./ptm-report-types.js";
5
+ import de from "../../ui/loader/app-loader/app-loader.js";
6
+ import _e from "./comps/student-info/student-info.js";
7
+ import { Container as ue } from "./ptm-report-styled.js";
8
+ import Ce from "./comps/key-need/key-need.js";
9
+ import m from "../../ui/layout/flex-view.js";
10
+ import Re from "./comps/teacher-observations/teacher-observations.js";
11
+ import ke from "./comps/strategies/strategies.js";
12
+ import Te from "./comps/parent-support/parent-support.js";
13
+ import Pe from "./comps/upcoming-chapters/upcoming-chapters.js";
14
+ import Se from "./comps/real-world-projects/real-world-projects.js";
15
+ import we from "./comps/school-support/school-support.js";
16
+ import ye from "../../ui/error/error.js";
17
+ const Ae = ({ ptmId: t }) => {
18
+ const {
19
+ get: p,
20
+ data: c,
21
+ isProcessing: g,
22
+ isProcessingFailed: l
23
+ } = fe(t), o = ge(() => {
24
+ p(t);
25
+ }, [p, t]);
26
+ if (le(() => {
27
+ o();
28
+ }, [o]), g || !c)
29
+ return /* @__PURE__ */ e(de, { height: "100dvh" });
30
+ if (l)
31
+ return /* @__PURE__ */ e(m, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(ye, { onTryAgain: o }) });
32
+ const { ptm_config: f, report: h } = c, { ptm_type: r, config: d } = f || {}, { ptm_report_sections: _, late_if_minutes: u } = d || {}, {
33
+ teacher_observation: C,
34
+ learning_strategy: R,
35
+ parent_support: k,
36
+ school_support: T
37
+ } = _ || {}, { subsections: P } = T || {}, { homework_help: S, test_help: w } = P || {}, { options: y } = k || {}, { strategies: A } = R || {}, { subsections: M } = C || {}, {
38
+ focus_area: b,
39
+ strengths: D,
40
+ teacher_remarks: O
41
+ } = M || {}, { areas: j = [], report_tag: x } = b || {}, { areas: v = [] } = D || {}, { report_tag: E } = O || {}, { report_sections: F, student_data: N } = h, {
42
+ teacher_observation: U,
43
+ parent_support: $,
44
+ strategies: H,
45
+ real_world_project: W,
46
+ school_support: G,
47
+ upcoming_chapters: I
48
+ } = F || {}, { homework_help: K, test_help: X } = G || {}, { upcoming_chapters: L } = I || {}, {
49
+ strengths: V = {},
50
+ focus_area: q,
51
+ teacher_remarks: z
52
+ } = U || {}, {
53
+ first_name: i,
54
+ grade: B,
55
+ key_need: s,
56
+ attendance_data: J,
57
+ homework_data: Q,
58
+ late_class_data: Y = [],
59
+ real_world_project: Z
60
+ } = N || {}, { classes_completed: ee, weeks_completed: te } = J || {}, { sheets_assigned: oe, sheets_not_completed: re } = Q || {}, se = j.find(
61
+ ({ area_key: ce }) => ce === q
62
+ ), ne = (s == null ? void 0 : s.key_need) ?? "", n = r === he.ON_DEMAND, ae = Y.length, pe = r && r.split("_").includes("UPGRADE");
63
+ return /* @__PURE__ */ a(ue, { children: [
64
+ /* @__PURE__ */ e(_e, { name: i, grade: B }),
65
+ /* @__PURE__ */ a(m, { $gutterX: 1, $gapX: 1, children: [
66
+ /* @__PURE__ */ e(Ce, { text: ne }),
67
+ (n || pe) && /* @__PURE__ */ a(ie, { children: [
68
+ /* @__PURE__ */ e(Se, { projectReport: W, projectInfo: Z }),
69
+ /* @__PURE__ */ e(
70
+ we,
71
+ {
72
+ homeworkHelpReport: K,
73
+ homeworkHelpConfig: S,
74
+ testHelpReport: X,
75
+ testHelpConfig: w,
76
+ studentName: i,
77
+ isOnDemandPTM: n
78
+ }
79
+ )
80
+ ] }),
81
+ /* @__PURE__ */ e(
82
+ Re,
83
+ {
84
+ strengthAreas: v,
85
+ strengthsReport: V,
86
+ focusArea: se,
87
+ focusAreaReportTag: x,
88
+ teacherRemarks: z,
89
+ teacherRemarkTag: E
90
+ }
91
+ ),
92
+ /* @__PURE__ */ e(ke, { report: H, strategyConfig: A }),
93
+ /* @__PURE__ */ e(
94
+ Te,
95
+ {
96
+ report: $,
97
+ options: y,
98
+ classesCompleted: ee,
99
+ weeksCompleted: te,
100
+ sheetsAssigned: oe,
101
+ sheetsNotCompleted: re,
102
+ lateClassesCount: ae,
103
+ lateIfMinutes: u
104
+ }
105
+ ),
106
+ n && /* @__PURE__ */ e(Pe, { chapters: L })
107
+ ] })
108
+ ] });
109
+ }, Xe = me(Ae);
110
+ export {
111
+ Xe as default
112
+ };
113
+ //# sourceMappingURL=ptm-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptm-report.js","sources":["../../../../src/features/timeline/ptm-report/ptm-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { usePTMReportGet } from './api/use-ptm-report-get';\nimport { EPTMTypes, type IPTMReportProps } from './ptm-report-types';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\nimport StudentInfo from './comps/student-info/student-info';\nimport * as Styled from './ptm-report-styled';\nimport KeyNeed from './comps/key-need/key-need';\nimport FlexView from '../../ui/layout/flex-view';\nimport TeacherObservations from './comps/teacher-observations/teacher-observations';\nimport Strategies from './comps/strategies/strategies';\nimport ParentSupport from './comps/parent-support/parent-support';\nimport UpcomingChapters from './comps/upcoming-chapters/upcoming-chapters';\nimport RealWorldProjects from './comps/real-world-projects/real-world-projects';\nimport SchoolSupport from './comps/school-support/school-support';\nimport Error from '../../ui/error/error';\n\nconst PTMReport: FC<IPTMReportProps> = ({ ptmId }) => {\n const {\n get: getPTMReport,\n data: ptmReportData,\n isProcessing,\n isProcessingFailed,\n } = usePTMReportGet(ptmId);\n\n const fetchPTMReport = useCallback(() => {\n getPTMReport(ptmId);\n }, [getPTMReport, ptmId]);\n\n useEffect(() => {\n fetchPTMReport();\n }, [fetchPTMReport]);\n\n if (isProcessing || !ptmReportData) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Error onTryAgain={fetchPTMReport} />\n </FlexView>\n );\n }\n\n const { ptm_config: ptmConfig, report } = ptmReportData;\n const { ptm_type: ptmType, config } = ptmConfig || {};\n const { ptm_report_sections: sectionsConfig, late_if_minutes: lateIfMinutes } = config || {};\n\n const {\n teacher_observation: teacherObservationConfig,\n learning_strategy: strategyConfig,\n parent_support: parentSupportConfig,\n school_support: schoolSupportConfig,\n } = sectionsConfig || {};\n\n const { subsections: schoolSubsections } = schoolSupportConfig || {};\n const { homework_help: homeworkConfig, test_help: testConfig } = schoolSubsections || {};\n\n const { options: parentOptions } = parentSupportConfig || {};\n const { strategies: strategiesConfig } = strategyConfig || {};\n const { subsections: teacherSubsections } = teacherObservationConfig || {};\n\n const {\n focus_area: focusAreaConfig,\n strengths: strengthsConfig,\n teacher_remarks: remarksConfig,\n } = teacherSubsections || {};\n\n const { areas: focusAreas = [], report_tag: focusAreaTag } = focusAreaConfig || {};\n const { areas: strengthAreas = [] } = strengthsConfig || {};\n const { report_tag: remarksTag } = remarksConfig || {};\n\n const { report_sections: reportSections, student_data: studentData } = report;\n\n const {\n teacher_observation: teacherObservationReport,\n parent_support: parentSupportReport,\n strategies: strategiesReport,\n real_world_project: realWorldReport,\n school_support: schoolSupportReport,\n upcoming_chapters: upcomingChaptersReport,\n } = reportSections || {};\n\n const { homework_help: homeworkReport, test_help: testReport } = schoolSupportReport || {};\n\n const { upcoming_chapters: upcomingChapters } = upcomingChaptersReport || {};\n\n const {\n strengths: strengthsReport = {},\n focus_area: selectedFocusAreaKey,\n teacher_remarks: teacherRemarks,\n } = teacherObservationReport || {};\n\n const {\n first_name: studentName,\n grade: studentGrade,\n key_need: keyNeedData,\n attendance_data: attendanceData,\n homework_data: homeworkData,\n late_class_data: lateClasses = [],\n real_world_project: realWorldProjectData,\n } = studentData || {};\n\n const { classes_completed: completedClasses, weeks_completed: completedWeeks } =\n attendanceData || {};\n\n const { sheets_assigned: assignedSheets, sheets_not_completed: incompleteSheets } =\n homeworkData || {};\n\n const selectedFocusArea = focusAreas.find(\n ({ area_key: areaKey }) => areaKey === selectedFocusAreaKey,\n );\n\n const keyNeedText = keyNeedData?.key_need ?? '';\n const isOnDemandPTM = ptmType === EPTMTypes.ON_DEMAND;\n const lateClassesCount = lateClasses.length;\n const isUpgradePTM = ptmType && ptmType.split('_').includes('UPGRADE');\n const isUpgradeOrOnDemandPTM = isOnDemandPTM || isUpgradePTM;\n\n return (\n <Styled.Container>\n <StudentInfo name={studentName} grade={studentGrade} />\n <FlexView $gutterX={1} $gapX={1}>\n <KeyNeed text={keyNeedText} />\n {isUpgradeOrOnDemandPTM && (\n <>\n <RealWorldProjects projectReport={realWorldReport} projectInfo={realWorldProjectData} />\n <SchoolSupport\n homeworkHelpReport={homeworkReport}\n homeworkHelpConfig={homeworkConfig}\n testHelpReport={testReport}\n testHelpConfig={testConfig}\n studentName={studentName}\n isOnDemandPTM={isOnDemandPTM}\n />\n </>\n )}\n <TeacherObservations\n strengthAreas={strengthAreas}\n strengthsReport={strengthsReport}\n focusArea={selectedFocusArea}\n focusAreaReportTag={focusAreaTag}\n teacherRemarks={teacherRemarks}\n teacherRemarkTag={remarksTag}\n />\n <Strategies report={strategiesReport} strategyConfig={strategiesConfig} />\n <ParentSupport\n report={parentSupportReport}\n options={parentOptions}\n classesCompleted={completedClasses}\n weeksCompleted={completedWeeks}\n sheetsAssigned={assignedSheets}\n sheetsNotCompleted={incompleteSheets}\n lateClassesCount={lateClassesCount}\n lateIfMinutes={lateIfMinutes}\n />\n {isOnDemandPTM && <UpcomingChapters chapters={upcomingChapters} />}\n </FlexView>\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","getPTMReport","ptmReportData","isProcessing","isProcessingFailed","usePTMReportGet","fetchPTMReport","useCallback","useEffect","jsx","AppLoader","FlexView","Error","ptmConfig","report","ptmType","config","sectionsConfig","lateIfMinutes","teacherObservationConfig","strategyConfig","parentSupportConfig","schoolSupportConfig","schoolSubsections","homeworkConfig","testConfig","parentOptions","strategiesConfig","teacherSubsections","focusAreaConfig","strengthsConfig","remarksConfig","focusAreas","focusAreaTag","strengthAreas","remarksTag","reportSections","studentData","teacherObservationReport","parentSupportReport","strategiesReport","realWorldReport","schoolSupportReport","upcomingChaptersReport","homeworkReport","testReport","upcomingChapters","strengthsReport","selectedFocusAreaKey","teacherRemarks","studentName","studentGrade","keyNeedData","attendanceData","homeworkData","lateClasses","realWorldProjectData","completedClasses","completedWeeks","assignedSheets","incompleteSheets","selectedFocusArea","areaKey","keyNeedText","isOnDemandPTM","EPTMTypes","lateClassesCount","isUpgradePTM","jsxs","Styled.Container","StudentInfo","KeyNeed","Fragment","RealWorldProjects","SchoolSupport","TeacherObservations","Strategies","ParentSupport","UpcomingChapters","ptmReport","memo"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ var t = /* @__PURE__ */ ((r) => (r.DAILY = "daily", r.MONTHLY = "monthly", r))(t || {});
2
+ export {
3
+ t as ETAB_IDS
4
+ };
5
+ //# sourceMappingURL=timeline-tabs-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-tabs-types.js","sources":["../../../../src/features/timeline/timeline-tabs/timeline-tabs-types.ts"],"sourcesContent":["export enum ETAB_IDS {\n DAILY = 'daily',\n MONTHLY = 'monthly',\n}\n\nexport interface IProgressTimelineTabs {\n onTabClick: (tab: ETAB_IDS) => void;\n activeTab: string;\n headerHeight: number;\n}\n\nexport interface ITab {\n id: ETAB_IDS;\n label: string;\n path: string;\n}\n"],"names":["ETAB_IDS"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,QAAQ,SACRA,EAAA,UAAU,WAFAA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -0,0 +1,41 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { memo as a } from "react";
3
+ import { TabContainer as d, TabItem as c } from "./timeline-tabs.styled.js";
4
+ import { ETAB_IDS as r } from "./timeline-tabs-types.js";
5
+ import h from "../../ui/text/text.js";
6
+ const T = ({ onTabClick: o, activeTab: n, headerHeight: l }) => {
7
+ const m = [
8
+ {
9
+ id: r.DAILY,
10
+ label: "Daily",
11
+ path: "daily"
12
+ },
13
+ {
14
+ id: r.MONTHLY,
15
+ label: "Monthly",
16
+ path: "monthly"
17
+ }
18
+ ];
19
+ return /* @__PURE__ */ t(d, { $widthX: 6.5, $height: 40, $headerHeight: l, children: m.map((e) => {
20
+ const i = e.id === n;
21
+ return /* @__PURE__ */ t(
22
+ c,
23
+ {
24
+ $isActive: i,
25
+ $justifyContent: "center",
26
+ $borderColor: "BLACK_T_38",
27
+ $background: i ? "BLACK_1" : "WHITE",
28
+ $gapX: 0.4375,
29
+ $gutterX: 1,
30
+ $width: "100%",
31
+ onClick: () => o(e.id),
32
+ children: /* @__PURE__ */ t(h, { $renderAs: "ac4", $color: i ? "WHITE" : "BLACK_T_38", children: e.label })
33
+ },
34
+ e.id
35
+ );
36
+ }) });
37
+ }, C = a(T);
38
+ export {
39
+ C as default
40
+ };
41
+ //# sourceMappingURL=timeline-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-tabs.js","sources":["../../../../src/features/timeline/timeline-tabs/timeline-tabs.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport * as Styled from './timeline-tabs.styled';\nimport { ETAB_IDS, type ITab, type IProgressTimelineTabs } from './timeline-tabs-types';\nimport Text from '../../ui/text/text';\n\nconst TimelineTabs = ({ onTabClick, activeTab, headerHeight }: IProgressTimelineTabs) => {\n const TABS: ITab[] = [\n {\n id: ETAB_IDS.DAILY,\n label: 'Daily',\n path: 'daily',\n },\n {\n id: ETAB_IDS.MONTHLY,\n label: 'Monthly',\n path: 'monthly',\n },\n ];\n\n return (\n <Styled.TabContainer $widthX={6.5} $height={40} $headerHeight={headerHeight}>\n {TABS.map(tab => {\n const isActive = tab.id === activeTab;\n\n return (\n <Styled.TabItem\n key={tab.id}\n $isActive={isActive}\n $justifyContent=\"center\"\n $borderColor=\"BLACK_T_38\"\n $background={isActive ? 'BLACK_1' : 'WHITE'}\n $gapX={0.4375}\n $gutterX={1}\n $width=\"100%\"\n onClick={() => onTabClick(tab.id)}\n >\n <Text $renderAs=\"ac4\" $color={isActive ? 'WHITE' : 'BLACK_T_38'}>\n {tab.label}\n </Text>\n </Styled.TabItem>\n );\n })}\n </Styled.TabContainer>\n );\n};\n\nexport default memo(TimelineTabs);\n"],"names":["TimelineTabs","onTabClick","activeTab","headerHeight","TABS","ETAB_IDS","jsx","Styled.TabContainer","tab","isActive","Styled.TabItem","Text","timelineTabs","memo"],"mappings":";;;;;AAMA,MAAMA,IAAe,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,cAAAC,QAA0C;AACvF,QAAMC,IAAe;AAAA,IACnB;AAAA,MACE,IAAIC,EAAS;AAAA,MACb,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,IAAIA,EAAS;AAAA,MACb,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EAAA;AAGF,SACG,gBAAAC,EAAAC,GAAA,EAAoB,SAAS,KAAK,SAAS,IAAI,eAAeJ,GAC5D,UAAKC,EAAA,IAAI,CAAOI,MAAA;AACT,UAAAC,IAAWD,EAAI,OAAON;AAG1B,WAAA,gBAAAI;AAAA,MAACI;AAAAA,MAAA;AAAA,QAEC,WAAWD;AAAA,QACX,iBAAgB;AAAA,QAChB,cAAa;AAAA,QACb,aAAaA,IAAW,YAAY;AAAA,QACpC,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAO;AAAA,QACP,SAAS,MAAMR,EAAWO,EAAI,EAAE;AAAA,QAEhC,UAAA,gBAAAF,EAACK,KAAK,WAAU,OAAM,QAAQF,IAAW,UAAU,cAChD,UAAAD,EAAI,MACP,CAAA;AAAA,MAAA;AAAA,MAZKA,EAAI;AAAA,IAAA;AAAA,EAed,CAAA,EACH,CAAA;AAEJ,GAEeI,IAAAC,EAAKb,CAAY;"}
@@ -0,0 +1,37 @@
1
+ import i from "styled-components";
2
+ import o from "../../ui/layout/flex-view.js";
3
+ const n = i(o)`
4
+ position: sticky;
5
+ top: ${({ $headerHeight: t }) => t}px;
6
+ left: calc(
7
+ ((100% * 0.5) - (512px * 0.5) - 104px - 32px)
8
+ ); // 104 tab width + 32 left right margin of container
9
+ `;
10
+ i(o)`
11
+ flex: 1;
12
+ overflow: hidden;
13
+ position: relative;
14
+ `;
15
+ const p = i(o)`
16
+ position: relative;
17
+ cursor: pointer;
18
+ transition: all 0.3s ease;
19
+
20
+ &::after {
21
+ content: '';
22
+ visibility: ${({ $isActive: t }) => t ? "visible" : "hidden"};
23
+ position: absolute;
24
+ right: -6px;
25
+ top: 11px;
26
+ width: 0;
27
+ height: 0;
28
+ border-left: 6px solid black;
29
+ border-top: 5px solid transparent;
30
+ border-bottom: 5px solid transparent;
31
+ }
32
+ `;
33
+ export {
34
+ n as TabContainer,
35
+ p as TabItem
36
+ };
37
+ //# sourceMappingURL=timeline-tabs.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-tabs.styled.js","sources":["../../../../src/features/timeline/timeline-tabs/timeline-tabs.styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\ninterface ITabItem {\n $isActive: boolean;\n}\n\nconst TabContainer = styled(FlexView)<{ $headerHeight: number }>`\n position: sticky;\n top: ${({ $headerHeight }) => $headerHeight}px;\n left: calc(\n ((100% * 0.5) - (512px * 0.5) - 104px - 32px)\n ); // 104 tab width + 32 left right margin of container\n`;\n\nconst ContentContainer = styled(FlexView)`\n flex: 1;\n overflow: hidden;\n position: relative;\n`;\n\nconst TabItem = styled(FlexView)<ITabItem>`\n position: relative;\n cursor: pointer;\n transition: all 0.3s ease;\n\n &::after {\n content: '';\n visibility: ${({ $isActive }) => ($isActive ? 'visible' : 'hidden')};\n position: absolute;\n right: -6px;\n top: 11px;\n width: 0;\n height: 0;\n border-left: 6px solid black;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n }\n`;\n\nexport { TabContainer, ContentContainer, TabItem };\n"],"names":["TabContainer","styled","FlexView","$headerHeight","TabItem","$isActive"],"mappings":";;AAQM,MAAAA,IAAeC,EAAOC,CAAQ;AAAA;AAAA,SAE3B,CAAC,EAAE,eAAAC,EAAc,MAAMA,CAAa;AAAA;AAAA;AAAA;AAAA;AAMpBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAMlC,MAAAE,IAAUH,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAOb,CAAC,EAAE,WAAAG,EAAA,MAAiBA,IAAY,YAAY,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}