@cuemath/leap 3.5.31 → 3.5.32-as11

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 (255) hide show
  1. package/dist/assets/illustrations/illustrations.js +38 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/images/images.js +0 -12
  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/features/analytics-events/whitelist-events.js +10 -8
  8. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  9. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js +3 -3
  10. package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js.map +1 -1
  11. package/dist/features/journey/tracking-id/tracking-id-teacher.js +5 -0
  12. package/dist/features/journey/tracking-id/tracking-id-teacher.js.map +1 -0
  13. package/dist/features/journey/tracking-id/tracking-ids.js +5 -3
  14. package/dist/features/journey/tracking-id/tracking-ids.js.map +1 -1
  15. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js +17 -0
  16. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js.map +1 -0
  17. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js +54 -0
  18. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js.map +1 -0
  19. package/dist/features/timeline/{api → daily-timeline/api}/use-daily-timeline-get.js +2 -2
  20. package/dist/features/timeline/daily-timeline/api/use-daily-timeline-get.js.map +1 -0
  21. package/dist/features/timeline/{comps → daily-timeline/comps}/accordion-item/accordion-item.js +6 -6
  22. package/dist/features/timeline/daily-timeline/comps/accordion-item/accordion-item.js.map +1 -0
  23. package/dist/features/timeline/daily-timeline/comps/constants.js +22 -0
  24. package/dist/features/timeline/daily-timeline/comps/constants.js.map +1 -0
  25. package/dist/features/timeline/{comps → daily-timeline/comps}/daily-timeline-items/daily-timeline-items-styled.js +1 -1
  26. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +1 -0
  27. package/dist/features/timeline/{comps → daily-timeline/comps}/daily-timeline-items/daily-timeline-items.js +18 -18
  28. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -0
  29. package/dist/features/timeline/{comps → daily-timeline/comps}/month-break/month-break-styled.js +1 -1
  30. package/dist/features/timeline/daily-timeline/comps/month-break/month-break-styled.js.map +1 -0
  31. package/dist/features/timeline/daily-timeline/comps/month-break/month-break.js.map +1 -0
  32. package/dist/features/timeline/{comps → daily-timeline/comps}/no-activity.js +4 -4
  33. package/dist/features/timeline/daily-timeline/comps/no-activity.js.map +1 -0
  34. package/dist/features/timeline/{comps → daily-timeline/comps}/utils.js +5 -5
  35. package/dist/features/timeline/daily-timeline/comps/utils.js.map +1 -0
  36. package/dist/features/timeline/{comps → daily-timeline/comps}/year-break/year-break-styled.js +1 -1
  37. package/dist/features/timeline/daily-timeline/comps/year-break/year-break-styled.js.map +1 -0
  38. package/dist/features/timeline/{comps → daily-timeline/comps}/year-break/year-break.js +2 -2
  39. package/dist/features/timeline/daily-timeline/comps/year-break/year-break.js.map +1 -0
  40. package/dist/features/timeline/{daily-timeline-events.js → daily-timeline/daily-timeline-events.js} +1 -1
  41. package/dist/features/timeline/daily-timeline/daily-timeline-events.js.map +1 -0
  42. package/dist/features/timeline/daily-timeline/daily-timeline-styled.js +25 -0
  43. package/dist/features/timeline/daily-timeline/daily-timeline-styled.js.map +1 -0
  44. package/dist/features/timeline/daily-timeline/daily-timeline-types.js +7 -0
  45. package/dist/features/timeline/daily-timeline/daily-timeline-types.js.map +1 -0
  46. package/dist/features/timeline/{daily-timeline-view.js → daily-timeline/daily-timeline-view.js} +24 -25
  47. package/dist/features/timeline/daily-timeline/daily-timeline-view.js.map +1 -0
  48. package/dist/features/timeline/{daily-timeline.js → daily-timeline/daily-timeline.js} +23 -23
  49. package/dist/features/timeline/daily-timeline/daily-timeline.js.map +1 -0
  50. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +10 -0
  51. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -0
  52. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +87 -0
  53. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -0
  54. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js +9 -0
  55. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js.map +1 -0
  56. package/dist/features/timeline/monthly-timeline/constants.js +40 -0
  57. package/dist/features/timeline/monthly-timeline/constants.js.map +1 -0
  58. package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js +13 -0
  59. package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js.map +1 -0
  60. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.js +59 -0
  61. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.js.map +1 -0
  62. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.styled.js +15 -0
  63. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.styled.js.map +1 -0
  64. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/constant.js +16 -0
  65. package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/constant.js.map +1 -0
  66. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js +128 -0
  67. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -0
  68. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js +53 -0
  69. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js.map +1 -0
  70. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +75 -0
  71. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -0
  72. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js +58 -0
  73. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js.map +1 -0
  74. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js +66 -0
  75. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js.map +1 -0
  76. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js +27 -0
  77. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js.map +1 -0
  78. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js +102 -0
  79. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js.map +1 -0
  80. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js +9 -0
  81. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js.map +1 -0
  82. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-constants.js +29 -0
  83. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-constants.js.map +1 -0
  84. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-utils.js +123 -0
  85. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-utils.js.map +1 -0
  86. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.js +49 -0
  87. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.js.map +1 -0
  88. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.styled.js +48 -0
  89. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.styled.js.map +1 -0
  90. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendence-view.js +56 -0
  91. package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendence-view.js.map +1 -0
  92. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback-styled.js +9 -0
  93. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback-styled.js.map +1 -0
  94. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js +85 -0
  95. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js.map +1 -0
  96. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js +48 -0
  97. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js.map +1 -0
  98. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js +28 -0
  99. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js.map +1 -0
  100. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js +118 -0
  101. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -0
  102. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-constants.js +30 -0
  103. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-constants.js.map +1 -0
  104. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals.js +22 -0
  105. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals.js.map +1 -0
  106. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-events.js +11 -0
  107. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-events.js.map +1 -0
  108. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-styled.js +14 -0
  109. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-styled.js.map +1 -0
  110. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +5 -0
  111. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -0
  112. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js +79 -0
  113. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js.map +1 -0
  114. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +13 -0
  115. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -0
  116. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js +6 -0
  117. package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js.map +1 -0
  118. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js +28 -0
  119. package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js.map +1 -0
  120. package/dist/features/timeline/monthly-timeline/monthly-timeline.js +65 -0
  121. package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -0
  122. package/dist/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.js +9 -0
  123. package/dist/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.js.map +1 -0
  124. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.js +9 -0
  125. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.js.map +1 -0
  126. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.js +35 -0
  127. package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.js.map +1 -0
  128. package/dist/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.js +53 -0
  129. package/dist/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.js.map +1 -0
  130. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js +19 -0
  131. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js.map +1 -0
  132. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.js +50 -0
  133. package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map +1 -0
  134. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.js +9 -0
  135. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.js.map +1 -0
  136. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.js +22 -0
  137. package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.js.map +1 -0
  138. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.js +9 -0
  139. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.js.map +1 -0
  140. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support.js +84 -0
  141. package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support.js.map +1 -0
  142. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies-constant.js +11 -0
  143. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies-constant.js.map +1 -0
  144. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies.js +36 -0
  145. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies.js.map +1 -0
  146. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card-styled.js +55 -0
  147. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card-styled.js.map +1 -0
  148. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card.js +35 -0
  149. package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card.js.map +1 -0
  150. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info-styled.js +21 -0
  151. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info-styled.js.map +1 -0
  152. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info.js +21 -0
  153. package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info.js.map +1 -0
  154. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card-styled.js +9 -0
  155. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card-styled.js.map +1 -0
  156. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js +30 -0
  157. package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js.map +1 -0
  158. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js +9 -0
  159. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js.map +1 -0
  160. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations.js +56 -0
  161. package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations.js.map +1 -0
  162. package/dist/features/timeline/monthly-timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js +15 -0
  163. package/dist/features/timeline/monthly-timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js.map +1 -0
  164. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-constants.js +16 -0
  165. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-constants.js.map +1 -0
  166. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-helpers.js +8 -0
  167. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-helpers.js.map +1 -0
  168. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-styled.js +11 -0
  169. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-styled.js.map +1 -0
  170. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js +5 -0
  171. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -0
  172. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +113 -0
  173. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -0
  174. package/dist/features/timeline/timeline-tabs/constants.js +17 -0
  175. package/dist/features/timeline/timeline-tabs/constants.js.map +1 -0
  176. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js +5 -0
  177. package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js.map +1 -0
  178. package/dist/features/timeline/timeline-tabs/timeline-tabs.js +28 -0
  179. package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -0
  180. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +37 -0
  181. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -0
  182. package/dist/index.d.ts +169 -15
  183. package/dist/index.js +327 -313
  184. package/dist/index.js.map +1 -1
  185. package/dist/static/2021.2a1a2ec9.svg +1 -0
  186. package/dist/static/2022.2091553a.svg +1 -0
  187. package/dist/static/2023.ed718b4e.svg +1 -0
  188. package/dist/static/2024.aa60edc5.svg +1 -0
  189. package/dist/static/2025.014a8ad3.svg +1 -0
  190. package/dist/static/2026.95d70f27.svg +1 -0
  191. package/dist/static/2027.fe83a41c.svg +1 -0
  192. package/dist/static/2028.b1c253ef.svg +1 -0
  193. package/dist/static/apr.cd56f13d.svg +1 -0
  194. package/dist/static/aug.3ceade02.svg +1 -0
  195. package/dist/static/calendar_purple_2.6e8249ef.svg +1 -0
  196. package/dist/static/clock_purple.c774c9bf.svg +1 -0
  197. package/dist/static/coding-report-icon.91a1e900.svg +1 -0
  198. package/dist/static/dec.90729a5e.svg +1 -0
  199. package/dist/static/elp-icon.d45b457d.svg +1 -0
  200. package/dist/static/empty-reports.fe92faad.svg +1 -0
  201. package/dist/static/english-icon.50c2e005.svg +1 -0
  202. package/dist/static/feb.a9ecd320.svg +1 -0
  203. package/dist/static/full-report.00112c74.svg +1 -0
  204. package/dist/static/jan.f8fb9c39.svg +1 -0
  205. package/dist/static/jul.04a98cf0.svg +1 -0
  206. package/dist/static/jun.9b6ab6bf.svg +1 -0
  207. package/dist/static/mar.f8b372ef.svg +1 -0
  208. package/dist/static/math-fit-grey.c32f37b3.svg +1 -0
  209. package/dist/static/may.23adae48.svg +1 -0
  210. package/dist/static/no-report.4158fad3.svg +1 -0
  211. package/dist/static/node-learn-large-bg.faa03631.svg +1 -0
  212. package/dist/static/node-puzzle-large-bg.ba23382e.svg +1 -0
  213. package/dist/static/node-test-large-bg.e9120fd1.svg +1 -0
  214. package/dist/static/nov.c44e4739.svg +1 -0
  215. package/dist/static/oct.856b3b3f.svg +1 -0
  216. package/dist/static/progress_bar_purple.2ff4dfe2.svg +1 -0
  217. package/dist/static/ptm-report-icon.5089218f.svg +1 -0
  218. package/dist/static/sat-report-icon.4331be86.svg +1 -0
  219. package/dist/static/science-report-icon.a0014c40.svg +1 -0
  220. package/dist/static/sep.2d547b31.svg +1 -0
  221. package/dist/static/thumps-down.a1192a62.svg +1 -0
  222. package/dist/static/thumps-up.caa35a98.svg +1 -0
  223. package/package.json +1 -1
  224. package/dist/features/timeline/api/use-daily-timeline-get.js.map +0 -1
  225. package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +0 -1
  226. package/dist/features/timeline/comps/constants.js +0 -22
  227. package/dist/features/timeline/comps/constants.js.map +0 -1
  228. package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +0 -1
  229. package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js.map +0 -1
  230. package/dist/features/timeline/comps/month-break/month-break-styled.js.map +0 -1
  231. package/dist/features/timeline/comps/month-break/month-break.js.map +0 -1
  232. package/dist/features/timeline/comps/no-activity.js.map +0 -1
  233. package/dist/features/timeline/comps/utils.js.map +0 -1
  234. package/dist/features/timeline/comps/year-break/year-break-styled.js.map +0 -1
  235. package/dist/features/timeline/comps/year-break/year-break.js.map +0 -1
  236. package/dist/features/timeline/daily-timeline-events.js.map +0 -1
  237. package/dist/features/timeline/daily-timeline-styled.js +0 -21
  238. package/dist/features/timeline/daily-timeline-styled.js.map +0 -1
  239. package/dist/features/timeline/daily-timeline-types.js +0 -7
  240. package/dist/features/timeline/daily-timeline-types.js.map +0 -1
  241. package/dist/features/timeline/daily-timeline-view.js.map +0 -1
  242. package/dist/features/timeline/daily-timeline.js.map +0 -1
  243. package/dist/static/apr.09a50ff7.png +0 -0
  244. package/dist/static/aug.7179d37e.png +0 -0
  245. package/dist/static/dec.09f7e315.png +0 -0
  246. package/dist/static/feb.9e72504d.png +0 -0
  247. package/dist/static/jan.da91944a.png +0 -0
  248. package/dist/static/jul.5a1c4932.png +0 -0
  249. package/dist/static/jun.62639c2f.png +0 -0
  250. package/dist/static/mar.f51bcfa6.png +0 -0
  251. package/dist/static/may.7c542020.png +0 -0
  252. package/dist/static/nov.058343e7.png +0 -0
  253. package/dist/static/oct.573ee19d.png +0 -0
  254. package/dist/static/sep.3ccb6468.png +0 -0
  255. /package/dist/features/timeline/{comps → daily-timeline/comps}/month-break/month-break.js +0 -0
@@ -1,13 +1,13 @@
1
1
  import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
2
  import { memo as D, useMemo as K, useCallback as A } from "react";
3
- import C from "../../../ui/buttons/text-button/text-button.js";
4
- import l from "../../../ui/layout/flex-view.js";
5
- import c from "../../../ui/text/text.js";
3
+ import C from "../../../../ui/buttons/text-button/text-button.js";
4
+ import l from "../../../../ui/layout/flex-view.js";
5
+ import c from "../../../../ui/text/text.js";
6
6
  import { getStateConf as g } from "../utils.js";
7
- import { BLOCK_TYPE as k } from "../../../chapters-v2/constants/block-constants.js";
7
+ import { BLOCK_TYPE as k } from "../../../../chapters-v2/constants/block-constants.js";
8
8
  import { NODE_STATE as P, CARD_TYPE as O, USER_TYPE as s } from "../../daily-timeline-types.js";
9
- import { NODE_TYPES as U } from "../../../../types/models/worksheet.js";
10
- import { IS_APP_RUNNING_IN_RN as E } from "../../../../constants/app-config.js";
9
+ import { NODE_TYPES as U } from "../../../../../types/models/worksheet.js";
10
+ import { IS_APP_RUNNING_IN_RN as E } from "../../../../../constants/app-config.js";
11
11
  const G = D(
12
12
  ({ type: f, userType: o, card: d, onPuzzleClick: i, onReviewClick: m }) => {
13
13
  const {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion-item.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/accordion-item/accordion-item.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, type FC } from 'react';\n\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport type { IAccordionItemProps } from './accordion-item-types';\nimport { getStateConf } from '../utils';\nimport { BLOCK_TYPE } from '../../../../chapters-v2/constants/block-constants';\nimport { type TColorNames } from '../../../../ui/types';\nimport { CARD_TYPE, NODE_STATE, USER_TYPE } from '../../daily-timeline-types';\nimport { NODE_TYPES } from '../../../../../types/models/worksheet';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../../constants/app-config';\n\nconst AccordionItem: FC<IAccordionItemProps> = memo(\n ({ type, userType, card, onPuzzleClick, onReviewClick }) => {\n const {\n label,\n title,\n state,\n subtext,\n user_node_id: userNodeId,\n block_type: blockType,\n user_block_id: userBlockId,\n node_type: nodeType,\n } = card;\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n const isPuzzleCard = nodeType === NODE_TYPES.PUZZLE_CARD;\n const [Icon, bgColor, color] = getStateConf(state) as [\n FC<React.SVGProps<SVGSVGElement>>,\n TColorNames,\n TColorNames,\n ];\n const isCompleted = state === NODE_STATE.COMPLETED;\n const shouldShowReview = useMemo(() => {\n if (type === CARD_TYPE.CIRCLE || IS_APP_RUNNING_IN_RN) return false;\n\n if (userType === USER_TYPE.TEACHER) return !isSatMockTestBlock || isCompleted;\n\n if (userType === USER_TYPE.STUDENT) return isCompleted;\n\n return false;\n }, [userType, type, isSatMockTestBlock, isCompleted]);\n\n const canReviewPuzzle =\n (isCompleted && (userType === USER_TYPE.STUDENT || IS_APP_RUNNING_IN_RN)) ||\n userType === USER_TYPE.TEACHER;\n\n const handlePuzzleClick = useCallback(() => {\n onPuzzleClick?.(card);\n }, [onPuzzleClick, card]);\n\n const handleReviewClick = useCallback(() => {\n if (onReviewClick && userNodeId) {\n onReviewClick(userNodeId, isSatMockTestBlock, userBlockId);\n }\n }, [isSatMockTestBlock, onReviewClick, userBlockId, userNodeId]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <FlexView $justifyContent=\"flex-end\" $height={18} $background=\"WHITE\">\n <FlexView $background={bgColor} $borderColor=\"BLACK_1\" $borderRadiusX={0.8}>\n {Icon && <Icon width={14} height={14} color={color} />}\n </FlexView>\n </FlexView>\n <FlexView $flexRowGapX={0.25}>\n <Text $renderAs=\"ub2\" $color=\"BLACK_1\">\n <Text $renderAs=\"ub2-bold\" $inline $color=\"BLACK_1\">\n {label}:\n </Text>{' '}\n {title}\n </Text>\n {isPuzzleCard ? (\n canReviewPuzzle ? (\n <TextButton\n label={isCompleted ? 'View reviewed puzzle' : 'View assigned puzzle'}\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handlePuzzleClick}\n />\n ) : (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )\n ) : (\n <FlexView $flexDirection=\"row\" $flexGapX={0.75} $alignItems=\"center\">\n {subtext && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )}\n {shouldShowReview && (\n <TextButton\n label=\"Review\"\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handleReviewClick}\n />\n )}\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n );\n },\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport default AccordionItem;\n"],"names":["AccordionItem","memo","type","userType","card","onPuzzleClick","onReviewClick","label","title","state","subtext","userNodeId","blockType","userBlockId","nodeType","isSatMockTestBlock","BLOCK_TYPE","isPuzzleCard","NODE_TYPES","Icon","bgColor","color","getStateConf","isCompleted","NODE_STATE","shouldShowReview","useMemo","CARD_TYPE","IS_APP_RUNNING_IN_RN","USER_TYPE","canReviewPuzzle","handlePuzzleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","Text","TextButton"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,MAAAC,GAAM,eAAAC,GAAe,eAAAC,QAAoB;AACpD,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,cAAcC;AAAA,MACd,YAAYC;AAAA,MACZ,eAAeC;AAAA,MACf,WAAWC;AAAA,IACT,IAAAV,GACEW,IAAqBH,MAAcI,EAAW,eAC9CC,IAAeH,MAAaI,EAAW,aACvC,CAACC,GAAMC,GAASC,CAAK,IAAIC,EAAab,CAAK,GAK3Cc,IAAcd,MAAUe,EAAW,WACnCC,IAAmBC,EAAQ,MAC3BxB,MAASyB,EAAU,UAAUC,IAA6B,KAE1DzB,MAAa0B,EAAU,UAAgB,CAACd,KAAsBQ,IAE9DpB,MAAa0B,EAAU,UAAgBN,IAEpC,IACN,CAACpB,GAAUD,GAAMa,GAAoBQ,CAAW,CAAC,GAE9CO,IACHP,MAAgBpB,MAAa0B,EAAU,WAAWD,MACnDzB,MAAa0B,EAAU,SAEnBE,IAAoBC,EAAY,MAAM;AAC1C,MAAA3B,KAAA,QAAAA,EAAgBD;AAAA,IAAI,GACnB,CAACC,GAAeD,CAAI,CAAC,GAElB6B,IAAoBD,EAAY,MAAM;AAC1C,MAAI1B,KAAiBK,KACLL,EAAAK,GAAYI,GAAoBF,CAAW;AAAA,OAE1D,CAACE,GAAoBT,GAAeO,GAAaF,CAAU,CAAC;AAE/D,WACG,gBAAAuB,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA;AAAA,MAAC,gBAAAC,EAAAD,GAAA,EAAS,iBAAgB,YAAW,SAAS,IAAI,aAAY,SAC5D,UAAA,gBAAAC,EAACD,GAAS,EAAA,aAAaf,GAAS,cAAa,WAAU,gBAAgB,KACpE,UAAQD,KAAA,gBAAAiB,EAACjB,GAAK,EAAA,OAAO,IAAI,QAAQ,IAAI,OAAAE,EAAc,CAAA,EAAA,CACtD,EACF,CAAA;AAAA,MACA,gBAAAa,EAACC,GAAS,EAAA,cAAc,MACtB,UAAA;AAAA,QAAA,gBAAAD,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,WAC3B,UAAA;AAAA,UAAA,gBAAAH,EAACG,KAAK,WAAU,YAAW,SAAO,IAAC,QAAO,WACvC,UAAA;AAAA,YAAA9B;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCS,IACCa,IACE,gBAAAM;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,OAAOf,IAAc,yBAAyB;AAAA,YAC9C,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASQ;AAAA,UAAA;AAAA,QAAA,IAGV,gBAAAK,EAAAC,GAAA,EAAK,WAAU,OAAM,QAAO,cAC1B,UAAA3B,EACH,CAAA,IAGF,gBAAAwB,EAACC,KAAS,gBAAe,OAAM,WAAW,MAAM,aAAY,UACzD,UAAA;AAAA,UAAAzB,uBACE2B,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACH3B,GAAA;AAAA,UAEDe,KACC,gBAAAW;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASL;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GAEJ;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAjC,EAAc,cAAc;"}
@@ -0,0 +1,22 @@
1
+ import { ILLUSTRATIONS as I } from "../../../../assets/illustrations/illustrations.js";
2
+ import { NODE_TYPE as A } from "../../../sheets/constants/sheet.js";
3
+ const o = 1, U = {
4
+ "01": I.JAN,
5
+ "02": I.FEB,
6
+ "03": I.MAR,
7
+ "04": I.APR,
8
+ "05": I.MAY,
9
+ "06": I.JUN,
10
+ "07": I.JUL,
11
+ "08": I.AUG,
12
+ "09": I.SEP,
13
+ 10: I.OCT,
14
+ 11: I.NOV,
15
+ 12: I.DEC
16
+ };
17
+ A.TURING_BASIC, A.TURING_LINK, A.TURING_SHARE, A.PYTHON_BASIC, A.PYTHON_VISUAL;
18
+ export {
19
+ o as INITIAL_PAGE,
20
+ U as monthImageMap
21
+ };
22
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../../src/features/timeline/daily-timeline/comps/constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport { NODE_TYPE } from '../../../sheets/constants/sheet';\n\nexport const INITIAL_PAGE = 1;\n\nexport const monthImageMap = {\n '01': ILLUSTRATIONS.JAN,\n '02': ILLUSTRATIONS.FEB,\n '03': ILLUSTRATIONS.MAR,\n '04': ILLUSTRATIONS.APR,\n '05': ILLUSTRATIONS.MAY,\n '06': ILLUSTRATIONS.JUN,\n '07': ILLUSTRATIONS.JUL,\n '08': ILLUSTRATIONS.AUG,\n '09': ILLUSTRATIONS.SEP,\n '10': ILLUSTRATIONS.OCT,\n '11': ILLUSTRATIONS.NOV,\n '12': ILLUSTRATIONS.DEC,\n};\n\nexport const CODING_ACTIVITY_NODE_TYPES = [\n NODE_TYPE.TURING_BASIC,\n NODE_TYPE.TURING_LINK,\n NODE_TYPE.TURING_SHARE,\n NODE_TYPE.PYTHON_BASIC,\n NODE_TYPE.PYTHON_VISUAL,\n];\n"],"names":["INITIAL_PAGE","monthImageMap","ILLUSTRATIONS","NODE_TYPE"],"mappings":";;AAGO,MAAMA,IAAe,GAEfC,IAAgB;AAAA,EAC3B,MAAMC,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,IAAMA,EAAc;AAAA,EACpB,IAAMA,EAAc;AAAA,EACpB,IAAMA,EAAc;AACtB;AAGEC,EAAU,cACVA,EAAU,aACVA,EAAU,cACVA,EAAU,cACVA,EAAU;"}
@@ -1,5 +1,5 @@
1
1
  import t from "styled-components";
2
- import e from "../../../ui/layout/flex-view.js";
2
+ import e from "../../../../ui/layout/flex-view.js";
3
3
  const p = t(e)`
4
4
  border-bottom: ${({ $shouldAddBorder: o, theme: n }) => o ? `1px solid ${n.colors.BLACK}` : "none"};
5
5
  transition: all 0.2s ease-in-out;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline-items-styled.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)<{ $shouldAddBorder: boolean }>`\n border-bottom: ${({ $shouldAddBorder, theme }) =>\n $shouldAddBorder ? `1px solid ${theme.colors.BLACK}` : 'none'};\n transition: all 0.2s ease-in-out;\n`;\n\nexport const SectionFooter = styled(FlexView)<{ $isExpanded?: boolean }>`\n padding-bottom: 24px;\n`;\n\nexport const TagContainer = styled(FlexView)`\n position: absolute;\n top: 0px;\n left: 0px;\n z-index: 2;\n`;\n\nexport const Card = styled(FlexView)<{ $isLastCard: boolean }>`\n border-left: ${({ $isLastCard, theme }) =>\n $isLastCard ? 'none' : `1px dashed ${theme.colors.GREY_3}`};\n padding-bottom: ${({ $isLastCard }) => ($isLastCard ? '0' : '20px')};\n > div {\n margin-left: -8px;\n }\n`;\n"],"names":["Wrapper","styled","FlexView","$shouldAddBorder","theme","SectionFooter","TagContainer","Card","$isLastCard"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA,mBACnB,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,EAAM,MAC1CD,IAAmB,aAAaC,EAAM,OAAO,KAAK,KAAK,MAAM;AAAA;AAAA,GAIpDC,IAAgBJ,EAAOC,CAAQ;AAAA;AAAA,GAI/BI,IAAeL,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAO9BK,IAAON,EAAOC,CAAQ;AAAA,iBAClB,CAAC,EAAE,aAAAM,GAAa,OAAAJ,EAAM,MACnCI,IAAc,SAAS,cAAcJ,EAAM,OAAO,MAAM,EAAE;AAAA,oBAC1C,CAAC,EAAE,aAAAI,EAAA,MAAmBA,IAAc,MAAM,MAAO;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,15 +1,15 @@
1
- import { jsx as e, jsxs as m, Fragment as b } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as m, Fragment as A } from "react/jsx-runtime";
2
2
  import { memo as y, useState as L, useMemo as x, useCallback as D } from "react";
3
- import w from "../../../../assets/line-icons/icons/plus.js";
4
- import S from "../../../ui/accordion-section/accordion-section.js";
5
- import r from "../../../ui/layout/flex-view.js";
6
- import N from "../../../../assets/line-icons/icons/minus.js";
7
- import k from "../../../ui/image/image.js";
8
- import h from "../../../ui/text/text.js";
3
+ import w from "../../../../../assets/line-icons/icons/plus.js";
4
+ import S from "../../../../ui/accordion-section/accordion-section.js";
5
+ import r from "../../../../ui/layout/flex-view.js";
6
+ import k from "../../../../../assets/line-icons/icons/minus.js";
7
+ import N from "../../../../ui/image/image.js";
8
+ import h from "../../../../ui/text/text.js";
9
9
  import V from "../accordion-item/accordion-item.js";
10
- import { Wrapper as j, TagContainer as B, SectionFooter as M, Card as X } from "./daily-timeline-items-styled.js";
11
- import { getTimelineCardIcon as P } from "../utils.js";
12
- import { useUIContext as W } from "../../../ui/context/context.js";
10
+ import { Wrapper as j, TagContainer as B, SectionFooter as M, Card as W } from "./daily-timeline-items-styled.js";
11
+ import { getTimelineCardIcon as X } from "../utils.js";
12
+ import { useUIContext as P } from "../../../../ui/context/context.js";
13
13
  import { DAILY_TIMELINE_ANALYTICS_EVENTS as u } from "../../daily-timeline-events.js";
14
14
  const F = y((I) => {
15
15
  const {
@@ -24,9 +24,9 @@ const F = y((I) => {
24
24
  isLastItem: C,
25
25
  fromDate: l,
26
26
  studentId: c
27
- } = I, [_, A] = L(!1), d = x(() => P(t), [t]), { onEvent: a } = W(), T = D(
27
+ } = I, [_, T] = L(!1), d = x(() => X(t), [t]), { onEvent: a } = P(), b = D(
28
28
  (o) => {
29
- A(o), a(
29
+ T(o), a(
30
30
  o ? u.TIMELINE_VIEW_EXPANDED : u.TIMELINE_VIEW_COLLAPSED,
31
31
  {
32
32
  timeline_date: l,
@@ -38,7 +38,7 @@ const F = y((I) => {
38
38
  },
39
39
  [l, a, c, t, i]
40
40
  );
41
- return /* @__PURE__ */ e(j, { $borderColor: "BLACK_1", $shouldAddBorder: C, children: /* @__PURE__ */ e(
41
+ return /* @__PURE__ */ e(j, { $borderColor: "BLACK_1", $background: "WHITE", $shouldAddBorder: C, children: /* @__PURE__ */ e(
42
42
  S,
43
43
  {
44
44
  headerElement: /* @__PURE__ */ m(r, { children: [
@@ -61,18 +61,18 @@ const F = y((I) => {
61
61
  $justifyContent: "center",
62
62
  $flexGapX: 1.125,
63
63
  children: [
64
- /* @__PURE__ */ e(r, { children: d && /* @__PURE__ */ e(k, { src: d }) }),
64
+ /* @__PURE__ */ e(r, { children: d && /* @__PURE__ */ e(N, { src: d }) }),
65
65
  /* @__PURE__ */ e(h, { $renderAs: "ab2", $color: "BLACK_1", children: i ?? "" })
66
66
  ]
67
67
  }
68
68
  ),
69
- _ ? /* @__PURE__ */ e(N, { width: 20, height: 20 }) : /* @__PURE__ */ e(w, { width: 20, height: 20 })
69
+ _ ? /* @__PURE__ */ e(k, { width: 20, height: 20 }) : /* @__PURE__ */ e(w, { width: 20, height: 20 })
70
70
  ]
71
71
  }
72
72
  )
73
73
  ] }),
74
74
  bodyElement: n.length > 0 ? /* @__PURE__ */ e(M, { $gutter: 32, children: n.map((o, p) => /* @__PURE__ */ e(
75
- X,
75
+ W,
76
76
  {
77
77
  $isLastCard: p === n.length - 1,
78
78
  children: /* @__PURE__ */ e(
@@ -87,9 +87,9 @@ const F = y((I) => {
87
87
  )
88
88
  },
89
89
  o.node_id ?? `card-${p}`
90
- )) }) : /* @__PURE__ */ e(b, {}),
90
+ )) }) : /* @__PURE__ */ e(A, {}),
91
91
  defaultVisible: !1,
92
- onBodyVisibilityChange: T
92
+ onBodyVisibilityChange: b
93
93
  }
94
94
  ) });
95
95
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline-items.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState, type FC } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\nimport AccordionSection from '../../../../ui/accordion-section/accordion-section';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MinusIcon from '../../../../../assets/line-icons/icons/minus';\nimport Image from '../../../../ui/image/image';\nimport Text from '../../../../ui/text/text';\nimport AccordionItem from '../accordion-item/accordion-item';\nimport * as Styled from './daily-timeline-items-styled';\nimport { getTimelineCardIcon } from '../utils';\nimport { type IDailyTimelineItemsProps } from './daily-timeline-items.types';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { DAILY_TIMELINE_ANALYTICS_EVENTS } from '../../daily-timeline-events';\n\nconst DailyTimelineItems: FC<IDailyTimelineItemsProps> = memo(props => {\n const {\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n isLastItem,\n fromDate,\n studentId,\n } = props;\n const [isExpended, setIsExpended] = useState(false);\n\n const timelineIcon = useMemo(() => getTimelineCardIcon(type), [type]);\n const { onEvent: trackEvent } = useUIContext();\n\n const handleExpand = useCallback(\n (val: boolean) => {\n setIsExpended(val);\n trackEvent(\n val\n ? DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_EXPANDED\n : DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_COLLAPSED,\n {\n timeline_date: fromDate,\n student_id: studentId,\n timeline_section_type: type,\n timeline_section_subject: summary,\n },\n );\n },\n [fromDate, trackEvent, studentId, type, summary],\n );\n\n return (\n <Styled.Wrapper $borderColor=\"BLACK_1\" $background=\"WHITE\" $shouldAddBorder={isLastItem}>\n <AccordionSection\n headerElement={\n <FlexView>\n {shouldShowTag && courseStream && (\n <Styled.TagContainer $position=\"absolute\" $background=\"BLACK_5\" $gutter={4}>\n <Text $renderAs=\"ab4-black\" $color=\"WHITE\">\n {courseStream}\n </Text>\n </Styled.TagContainer>\n )}\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $heightX={4}\n $gutterX={1}\n $gapX={1.32}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGapX={1.125}\n >\n <FlexView>{timelineIcon && <Image src={timelineIcon} />}</FlexView>\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\">\n {summary ?? ''}\n </Text>\n </FlexView>\n {isExpended ? (\n <MinusIcon width={20} height={20} />\n ) : (\n <PlusIcon width={20} height={20} />\n )}\n </FlexView>\n </FlexView>\n }\n bodyElement={\n cards.length > 0 ? (\n <Styled.SectionFooter $gutter={32}>\n {cards.map((card, index) => (\n <Styled.Card\n key={card.node_id ?? `card-${index}`}\n $isLastCard={index === cards.length - 1}\n >\n <AccordionItem\n card={card}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n type={type}\n userType={userType}\n />\n </Styled.Card>\n ))}\n </Styled.SectionFooter>\n ) : (\n <></>\n )\n }\n defaultVisible={false}\n onBodyVisibilityChange={handleExpand}\n />\n </Styled.Wrapper>\n );\n});\n\nDailyTimelineItems.displayName = 'DailyTimelineItems';\n\nexport default DailyTimelineItems;\n"],"names":["DailyTimelineItems","memo","props","type","summary","cards","onPuzzleClick","onReviewClick","courseStream","shouldShowTag","userType","isLastItem","fromDate","studentId","isExpended","setIsExpended","useState","timelineIcon","useMemo","getTimelineCardIcon","trackEvent","useUIContext","handleExpand","useCallback","val","DAILY_TIMELINE_ANALYTICS_EVENTS","jsx","Styled.Wrapper","AccordionSection","FlexView","Styled.TagContainer","Text","jsxs","Image","MinusIcon","PlusIcon","Styled.SectionFooter","card","index","Styled.Card","AccordionItem","Fragment"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import r from "styled-components";
2
- import e from "../../../ui/layout/flex-view.js";
2
+ import e from "../../../../ui/layout/flex-view.js";
3
3
  const n = r(e)`
4
4
  margin-top: ${({ $isLastYear: o }) => o ? "-46px" : "0"};
5
5
  background-image: url(${({ $img: o }) => o});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month-break-styled.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/month-break/month-break-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const MonthImageWrapper = styled(FlexView)<{ $isLastYear: boolean; $img: string }>`\n margin-top: ${({ $isLastYear }) => ($isLastYear ? '-46px' : '0')};\n background-image: url(${({ $img }) => $img});\n background-size: cover;\n background-position: center;\n`;\n"],"names":["MonthImageWrapper","styled","FlexView","$isLastYear","$img"],"mappings":";;AAIa,MAAAA,IAAoBC,EAAOC,CAAQ;AAAA,gBAChC,CAAC,EAAE,aAAAC,EAAA,MAAmBA,IAAc,UAAU,GAAI;AAAA,0BACxC,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month-break.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/month-break/month-break.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type IMonthBreakProps } from './month-break-types';\nimport * as Styled from './month-break-styled';\nimport { monthImageMap } from '../constants';\n\nconst MonthBreak = memo(({ fromMonth, isLastDayOfMth, isLastDayOfYear }: IMonthBreakProps) => {\n const Image = monthImageMap[String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap];\n\n if (fromMonth && isLastDayOfMth)\n return (\n <Styled.MonthImageWrapper\n $isLastYear={isLastDayOfYear}\n $img={Image}\n $width=\"100%\"\n $height={246}\n />\n );\n\n return null;\n});\n\nMonthBreak.displayName = 'MonthBreak';\n\nexport default MonthBreak;\n"],"names":["MonthBreak","memo","fromMonth","isLastDayOfMth","isLastDayOfYear","Image","monthImageMap","jsx","Styled.MonthImageWrapper"],"mappings":";;;;AAMA,MAAMA,IAAaC,EAAK,CAAC,EAAE,WAAAC,GAAW,gBAAAC,GAAgB,iBAAAC,QAAwC;AACtF,QAAAC,IAAQC,EAAc,OAAOJ,CAAS,EAAE,SAAS,GAAG,GAAG,CAA+B;AAE5F,SAAIA,KAAaC,IAEb,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAaJ;AAAA,MACb,MAAMC;AAAA,MACN,QAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EAAA,IAIR;AACT,CAAC;AAEDL,EAAW,cAAc;"}
@@ -1,9 +1,9 @@
1
1
  import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
2
  import { memo as e } from "react";
3
- import i from "../../ui/image/image.js";
4
- import m from "../../ui/layout/flex-view.js";
5
- import c from "../../ui/text/text.js";
6
- import { ILLUSTRATIONS as $ } from "../../../assets/illustrations/illustrations.js";
3
+ import i from "../../../ui/image/image.js";
4
+ import m from "../../../ui/layout/flex-view.js";
5
+ import c from "../../../ui/text/text.js";
6
+ import { ILLUSTRATIONS as $ } from "../../../../assets/illustrations/illustrations.js";
7
7
  const o = () => /* @__PURE__ */ t(
8
8
  m,
9
9
  {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-activity.js","sources":["../../../../../src/features/timeline/daily-timeline/comps/no-activity.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\n\nconst NoActivity = () => {\n return (\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={0.75}\n $alignItems=\"center\"\n $gutterX={1}\n $gapX={1.32}\n $heightX={4}\n $borderColor=\"BLACK_T_15\"\n $background=\"BLACK_T_04\"\n >\n <Image src={ILLUSTRATIONS.NO_ACTIVITY} />\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_38\">\n No Activity\n </Text>\n </FlexView>\n );\n};\n\nNoActivity.displayName = 'NoActivity';\n\nexport default memo(NoActivity);\n"],"names":["NoActivity","jsxs","FlexView","jsx","Image","ILLUSTRATIONS","Text","NoActivity$1","memo"],"mappings":";;;;;;AAOA,MAAMA,IAAa,MAEf,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAe;AAAA,IACf,WAAW;AAAA,IACX,aAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAa;AAAA,IACb,aAAY;AAAA,IAEZ,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAM,KAAKC,EAAc,YAAa,CAAA;AAAA,wBACtCC,GAAK,EAAA,WAAU,OAAM,QAAO,cAAa,UAE1C,eAAA;AAAA,IAAA;AAAA,EAAA;AAAA;AAKNN,EAAW,cAAc;AAEzB,MAAeO,IAAAC,EAAKR,CAAU;"}
@@ -1,9 +1,9 @@
1
- import { ILLUSTRATIONS as r } from "../../../assets/illustrations/illustrations.js";
2
- import a from "../../../assets/line-icons/icons/check2.js";
3
- import m from "../../../assets/line-icons/icons/cross.js";
4
- import n from "../../../assets/line-icons/icons/status.js";
1
+ import { ILLUSTRATIONS as r } from "../../../../assets/illustrations/illustrations.js";
2
+ import a from "../../../../assets/line-icons/icons/check2.js";
3
+ import m from "../../../../assets/line-icons/icons/cross.js";
4
+ import n from "../../../../assets/line-icons/icons/status.js";
5
5
  import { CARD_TYPE as e, NODE_STATE as o } from "../daily-timeline-types.js";
6
- import { formatDate as C } from "../../../node_modules/date-fns/format.js";
6
+ import { formatDate as C } from "../../../../node_modules/date-fns/format.js";
7
7
  const i = (t) => {
8
8
  switch (t) {
9
9
  case o.COMPLETED:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/features/timeline/daily-timeline/comps/utils.ts"],"sourcesContent":["import { format } from 'date-fns';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport StatusIcon from '../../../../assets/line-icons/icons/status';\nimport { CARD_TYPE, NODE_STATE } from '../daily-timeline-types';\n\nexport const getStateConf = (state: NODE_STATE) => {\n switch (state) {\n case NODE_STATE.COMPLETED:\n return [Check2Icon, 'BLACK_1', 'WHITE'];\n case NODE_STATE.IN_PROGRESS:\n return [StatusIcon, 'BLACK_1', 'WHITE'];\n case NODE_STATE.PENDING:\n return [CrossIcon, 'WHITE', 'BLACK_1'];\n default:\n return [StatusIcon, 'GREY_2'];\n }\n};\n\nexport const getTimelineCardIcon = (type: CARD_TYPE) => {\n switch (type) {\n case CARD_TYPE.CW:\n return ILLUSTRATIONS.CW_ICON;\n case CARD_TYPE.HW:\n return ILLUSTRATIONS.HW_ICON;\n case CARD_TYPE.CIRCLE:\n return ILLUSTRATIONS.CIRCLE_ICON;\n default:\n return null;\n }\n};\n\nexport const getDayMonthYear = (dateObj: Date) => ({\n day: dateObj.getDate(),\n month: dateObj.getMonth() + 1,\n year: dateObj.getFullYear(),\n monthName: format(dateObj, 'MMM'),\n});\n"],"names":["getStateConf","state","NODE_STATE","Check2Icon","StatusIcon","CrossIcon","getTimelineCardIcon","type","CARD_TYPE","ILLUSTRATIONS","getDayMonthYear","dateObj","format"],"mappings":";;;;;;AAQa,MAAAA,IAAe,CAACC,MAAsB;AACjD,UAAQA,GAAO;AAAA,IACb,KAAKC,EAAW;AACP,aAAA,CAACC,GAAY,WAAW,OAAO;AAAA,IACxC,KAAKD,EAAW;AACP,aAAA,CAACE,GAAY,WAAW,OAAO;AAAA,IACxC,KAAKF,EAAW;AACP,aAAA,CAACG,GAAW,SAAS,SAAS;AAAA,IACvC;AACS,aAAA,CAACD,GAAY,QAAQ;AAAA,EAChC;AACF,GAEaE,IAAsB,CAACC,MAAoB;AACtD,UAAQA,GAAM;AAAA,IACZ,KAAKC,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB,KAAKD,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB,KAAKD,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB;AACS,aAAA;AAAA,EACX;AACF,GAEaC,IAAkB,CAACC,OAAmB;AAAA,EACjD,KAAKA,EAAQ,QAAQ;AAAA,EACrB,OAAOA,EAAQ,SAAA,IAAa;AAAA,EAC5B,MAAMA,EAAQ,YAAY;AAAA,EAC1B,WAAWC,EAAOD,GAAS,KAAK;AAClC;"}
@@ -1,5 +1,5 @@
1
1
  import r from "styled-components";
2
- import e from "../../../ui/layout/flex-view.js";
2
+ import e from "../../../../ui/layout/flex-view.js";
3
3
  const t = r(e)`
4
4
  z-index: 1;
5
5
  `;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"year-break-styled.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/year-break/year-break-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const YearWrapper = styled(FlexView)`\n z-index: 1;\n`;\n"],"names":["YearWrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAcC,EAAOC,CAAQ;AAAA;AAAA;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
2
  import { memo as a } from "react";
3
- import m from "../../../ui/separator/separator.js";
4
- import i from "../../../ui/text/text.js";
3
+ import m from "../../../../ui/separator/separator.js";
4
+ import i from "../../../../ui/text/text.js";
5
5
  import { YearWrapper as p } from "./year-break-styled.js";
6
6
  const l = a(({ toYear: e, isLastDayOfYear: o }) => o ? /* @__PURE__ */ t(p, { $gutterX: 1, children: [
7
7
  /* @__PURE__ */ r(m, { heightX: 1 }),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"year-break.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/year-break/year-break.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './year-break-styled';\nimport { type IYearBreakProps } from './year-break-types';\n\nconst YearBreak = memo(({ toYear, isLastDayOfYear }: IYearBreakProps) => {\n if (isLastDayOfYear) {\n return (\n <Styled.YearWrapper $gutterX={1}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {toYear}\n </Text>\n </Styled.YearWrapper>\n );\n }\n\n return null;\n});\n\nYearBreak.displayName = 'YearBreak';\n\nexport default YearBreak;\n"],"names":["YearBreak","memo","toYear","isLastDayOfYear","jsxs","Styled.YearWrapper","jsx","Separator","Text"],"mappings":";;;;;AAOA,MAAMA,IAAYC,EAAK,CAAC,EAAE,QAAAC,GAAQ,iBAAAC,QAC5BA,IAEC,gBAAAC,EAAAC,GAAA,EAAmB,UAAU,GAC5B,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,oBACtBC,GAAK,EAAA,WAAU,aAAY,QAAO,cAChC,UACHN,GAAA;AACF,EAAA,CAAA,IAIG,IACR;AAEDF,EAAU,cAAc;"}
@@ -1,4 +1,4 @@
1
- import { PLUGINS as i } from "../../node_modules/@cuemath/analytics-v2/dist/constants.js";
1
+ import { PLUGINS as i } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
2
  var l = /* @__PURE__ */ ((e) => (e.TIMELINE_VIEWED = "timeline_viewed", e.TIMELINE_CLOSED = "timeline_closed", e.TIMELINE_SCROLLED = "timeline_scrolled", e.TIMELINE_VIEW_EXPANDED = "timeline_view_expanded", e.TIMELINE_VIEW_COLLAPSED = "timeline_view_collapsed", e))(l || {});
3
3
  const t = {
4
4
  timeline_viewed: [i.MIXPANEL],
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline-events.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum DAILY_TIMELINE_ANALYTICS_EVENTS {\n TIMELINE_VIEWED = 'timeline_viewed',\n TIMELINE_CLOSED = 'timeline_closed',\n TIMELINE_SCROLLED = 'timeline_scrolled',\n TIMELINE_VIEW_EXPANDED = 'timeline_view_expanded',\n TIMELINE_VIEW_COLLAPSED = 'timeline_view_collapsed',\n}\n\nexport const DAILY_TIMELINE_WHITELIST_EVENTS = {\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEWED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_CLOSED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_SCROLLED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_EXPANDED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_COLLAPSED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["DAILY_TIMELINE_ANALYTICS_EVENTS","DAILY_TIMELINE_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,oBAAoB,qBACpBA,EAAA,yBAAyB,0BACzBA,EAAA,0BAA0B,2BALhBA,IAAAA,KAAA,CAAA,CAAA;AAQL,MAAMC,IAAkC;AAAA,EAC5C,iBAAkD,CAACC,EAAQ,QAAQ;AAAA,EACnE,iBAAkD,CAACA,EAAQ,QAAQ;AAAA,EACnE,mBAAoD,CAACA,EAAQ,QAAQ;AAAA,EACrE,wBAAyD,CAACA,EAAQ,QAAQ;AAAA,EAC1E,yBAA0D,CAACA,EAAQ,QAAQ;AAC9E;"}
@@ -0,0 +1,25 @@
1
+ import t from "styled-components";
2
+ import e from "../../ui/layout/flex-view.js";
3
+ import o from "../../ui/text/text.js";
4
+ const n = t(e)`
5
+ overflow-y: auto;
6
+ width: 100%;
7
+ scroll-behavior: smooth;
8
+ will-change: height;
9
+ `, a = t(e)`
10
+ max-width: 512px;
11
+ width: 100%;
12
+ will-change: height;
13
+ `, m = t(e)`
14
+ margin-top: ${({ $addedMonthBreak: i }) => i ? "-108px" : "0"};
15
+ z-index: 1;
16
+ `, p = t(o)`
17
+ line-height: 8px;
18
+ `;
19
+ export {
20
+ m as DailyItems,
21
+ a as DailyTimelineContainer,
22
+ p as DateText,
23
+ n as ScrollWrapper
24
+ };
25
+ //# sourceMappingURL=daily-timeline-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline-styled.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\n\nconst ScrollWrapper = styled(FlexView)`\n overflow-y: auto;\n width: 100%;\n scroll-behavior: smooth;\n will-change: height;\n`;\n\nconst DailyTimelineContainer = styled(FlexView)`\n max-width: 512px;\n width: 100%;\n will-change: height;\n`;\n\nconst DailyItems = styled(FlexView)<{ $addedMonthBreak?: boolean }>`\n margin-top: ${({ $addedMonthBreak }) =>\n $addedMonthBreak\n ? '-108px' // 64px card height + 16px(separator) + 16(date text) + 12(separator)\n : '0'};\n z-index: 1;\n`;\n\nconst DateText = styled(Text)`\n line-height: 8px;\n`;\n\nexport { DailyTimelineContainer, DailyItems, ScrollWrapper, DateText };\n"],"names":["ScrollWrapper","styled","FlexView","DailyTimelineContainer","DailyItems","$addedMonthBreak","DateText","Text"],"mappings":";;;AAKM,MAAAA,IAAgBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAO/BC,IAAyBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMxCE,IAAaH,EAAOC,CAAQ;AAAA,gBAClB,CAAC,EAAE,kBAAAG,EAAA,MACfA,IACI,WACA,GAAG;AAAA;AAAA,GAILC,IAAWL,EAAOM,CAAI;AAAA;AAAA;"}
@@ -0,0 +1,7 @@
1
+ var r = /* @__PURE__ */ ((R) => (R.COMPLETED = "COMPLETED", R.IN_PROGRESS = "IN_PROGRESS", R.PENDING = "PENDING", R.NOT_STARTED = "NOT_STARTED", R.WAIT_FOR_REVIEW = "WAIT_FOR_REVIEW", R))(r || {}), E = /* @__PURE__ */ ((R) => (R.TEACHER = "TEACHER", R.STUDENT = "STUDENT", R.PARENT = "PARENT", R))(E || {}), I = /* @__PURE__ */ ((R) => (R.CW = "CW", R.HW = "HW", R.CIRCLE = "CIRCLE", R))(I || {});
2
+ export {
3
+ I as CARD_TYPE,
4
+ r as NODE_STATE,
5
+ E as USER_TYPE
6
+ };
7
+ //# sourceMappingURL=daily-timeline-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline-types.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-types.ts"],"sourcesContent":["import { type TCourseStream } from '../../milestone/create/milestone-create-types';\nimport { type ITimeLineItem, type ITimelineData } from './api/use-daily-timeline-get';\n\nexport enum NODE_STATE {\n COMPLETED = 'COMPLETED',\n IN_PROGRESS = 'IN_PROGRESS',\n PENDING = 'PENDING',\n NOT_STARTED = 'NOT_STARTED',\n WAIT_FOR_REVIEW = 'WAIT_FOR_REVIEW',\n}\n\nexport enum USER_TYPE {\n TEACHER = 'TEACHER',\n STUDENT = 'STUDENT',\n PARENT = 'PARENT',\n}\n\nexport enum CARD_TYPE {\n CW = 'CW',\n HW = 'HW',\n CIRCLE = 'CIRCLE',\n}\n\nexport interface IDailyTimelineProps {\n userType: USER_TYPE;\n studentId: string;\n courseStreams?: TCourseStream[];\n onPuzzleClick?: (card: ITimeLineItem) => void;\n onReviewClick?: (\n userNodeId: string | null,\n isSatMockTestBlock: boolean,\n userBlockId: string | null,\n ) => void;\n scrollAreaHeight?: string | number;\n}\n\nexport interface IDailyTimelineItemsProps extends IDailyTimelineProps {\n entry: ITimelineData;\n isFirstElement: boolean;\n shouldShowTag: boolean;\n}\n"],"names":["NODE_STATE","USER_TYPE","CARD_TYPE"],"mappings":"AAGY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,cAAc,eACdA,EAAA,UAAU,WACVA,EAAA,cAAc,eACdA,EAAA,kBAAkB,mBALRA,IAAAA,KAAA,CAAA,CAAA,GAQAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,KAAK,MACLA,EAAA,KAAK,MACLA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,16 +1,15 @@
1
1
  import { jsxs as s, Fragment as j, jsx as t } from "react/jsx-runtime";
2
2
  import { getDayMonthYear as D } from "./comps/utils.js";
3
- import w from "../ui/layout/flex-view.js";
4
- import x from "./comps/year-break/year-break.js";
5
- import m from "../ui/separator/separator.js";
6
- import A from "./comps/month-break/month-break.js";
7
- import { DailyItems as B } from "./daily-timeline-styled.js";
8
- import C from "../ui/text/text.js";
9
- import I from "./comps/daily-timeline-items/daily-timeline-items.js";
10
- import S from "./comps/no-activity.js";
11
- import { CARD_TYPE as k } from "./daily-timeline-types.js";
12
- import { parseISO as u } from "../../node_modules/date-fns/parseISO.js";
13
- import { isLastDayOfMonth as V } from "../../node_modules/date-fns/isLastDayOfMonth.js";
3
+ import w from "./comps/year-break/year-break.js";
4
+ import x from "./comps/month-break/month-break.js";
5
+ import { DailyItems as A, DateText as B } from "./daily-timeline-styled.js";
6
+ import C from "./comps/daily-timeline-items/daily-timeline-items.js";
7
+ import I from "./comps/no-activity.js";
8
+ import { CARD_TYPE as S } from "./daily-timeline-types.js";
9
+ import a from "../../ui/separator/separator.js";
10
+ import k from "../../ui/layout/flex-view.js";
11
+ import { parseISO as u } from "../../../node_modules/date-fns/parseISO.js";
12
+ import { isLastDayOfMonth as V } from "../../../node_modules/date-fns/isLastDayOfMonth.js";
14
13
  const b = ({
15
14
  entry: $,
16
15
  isFirstElement: n,
@@ -20,18 +19,18 @@ const b = ({
20
19
  studentId: L,
21
20
  userType: T
22
21
  }) => {
23
- const { daily_logs: r, from_date: a, to_date: h } = $, N = u(a), f = u(h), { day: y, month: c, monthName: O } = D(N), {
22
+ const { daily_logs: r, from_date: m, to_date: h } = $, N = u(m), f = u(h), { day: y, month: c, monthName: O } = D(N), {
24
23
  day: p,
25
24
  month: d,
26
25
  year: X,
27
26
  monthName: Y
28
27
  } = D(f), i = V(f), e = i && d === 12 && p === 31;
29
- return r ? /* @__PURE__ */ s(w, { children: [
28
+ return r ? /* @__PURE__ */ s(k, { children: [
30
29
  !n && /* @__PURE__ */ s(j, { children: [
31
- /* @__PURE__ */ t(x, { toYear: X, isLastDayOfYear: e }),
32
- !e && c && e && /* @__PURE__ */ t(m, { heightX: 1 }),
30
+ /* @__PURE__ */ t(w, { toYear: X, isLastDayOfYear: e }),
31
+ !e && c && e && /* @__PURE__ */ t(a, { heightX: 1 }),
33
32
  /* @__PURE__ */ t(
34
- A,
33
+ x,
35
34
  {
36
35
  fromMonth: c,
37
36
  isLastDayOfMth: i,
@@ -40,16 +39,16 @@ const b = ({
40
39
  )
41
40
  ] }),
42
41
  /* @__PURE__ */ s(
43
- B,
42
+ A,
44
43
  {
45
44
  $gutterX: 1,
46
45
  $addedMonthBreak: !!(i && d && !n),
47
46
  children: [
48
- /* @__PURE__ */ t(m, { heightX: 1 }),
49
- /* @__PURE__ */ t(C, { $renderAs: "ac4", $color: "BLACK_T_60", children: a === h ? `${y} ${O}` : `${y} - ${p} ${Y}` }),
50
- /* @__PURE__ */ t(m, { heightX: 0.75 }),
47
+ /* @__PURE__ */ t(a, { heightX: 1 }),
48
+ /* @__PURE__ */ t(B, { $renderAs: "ac4", $color: "BLACK_T_60", children: m === h ? `${y} ${O}` : `${y} - ${p} ${Y}` }),
49
+ /* @__PURE__ */ t(a, { heightX: 0.75 }),
51
50
  r.length > 0 ? r.map((o, l) => /* @__PURE__ */ t(
52
- I,
51
+ C,
53
52
  {
54
53
  type: o.type,
55
54
  summary: o.summary ?? "",
@@ -58,14 +57,14 @@ const b = ({
58
57
  onPuzzleClick: M,
59
58
  onReviewClick: _,
60
59
  userType: T,
61
- shouldShowTag: g && o.course_stream !== k.CIRCLE,
60
+ shouldShowTag: g && o.course_stream !== S.CIRCLE,
62
61
  isLastItem: l === r.length - 1,
63
- fromDate: a,
62
+ fromDate: m,
64
63
  studentId: L
65
64
  },
66
65
  `timeline-${l}`
67
- )) : /* @__PURE__ */ t(S, {}),
68
- /* @__PURE__ */ t(m, { heightX: 1 })
66
+ )) : /* @__PURE__ */ t(I, {}),
67
+ /* @__PURE__ */ t(a, { heightX: 1 })
69
68
  ]
70
69
  }
71
70
  )
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline-view.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-view.tsx"],"sourcesContent":["import { isLastDayOfMonth, parseISO } from 'date-fns';\nimport { type FC } from 'react';\n\nimport { getDayMonthYear } from './comps/utils';\nimport YearBreak from './comps/year-break/year-break';\nimport MonthBreak from './comps/month-break/month-break';\nimport * as Styled from './daily-timeline-styled';\nimport DailyTimelineItems from './comps/daily-timeline-items/daily-timeline-items';\nimport NoActivity from './comps/no-activity';\nimport { CARD_TYPE, type IDailyTimelineItemsProps } from './daily-timeline-types';\nimport Separator from '../../ui/separator/separator';\nimport FlexView from '../../ui/layout/flex-view';\n\nconst DailyTimelineView: FC<IDailyTimelineItemsProps> = ({\n entry,\n isFirstElement,\n onPuzzleClick,\n onReviewClick,\n shouldShowTag,\n studentId,\n userType,\n}) => {\n const { daily_logs: dailyLogs, from_date: fromDate, to_date: toDate } = entry;\n const fromDateObj = parseISO(fromDate);\n const toDateObj = parseISO(toDate);\n\n const { day: fromDay, month: fromMonth, monthName: fromMonthName } = getDayMonthYear(fromDateObj);\n\n const {\n day: toDay,\n month: toMonth,\n year: toYear,\n monthName: toMonthName,\n } = getDayMonthYear(toDateObj);\n\n const isLastDayOfMth = isLastDayOfMonth(toDateObj);\n const isLastDayOfYear = isLastDayOfMth && toMonth === 12 && toDay === 31;\n\n if (!dailyLogs) {\n return null;\n }\n\n return (\n <FlexView>\n {!isFirstElement && (\n <>\n <YearBreak toYear={toYear} isLastDayOfYear={isLastDayOfYear} />\n {!isLastDayOfYear && fromMonth && isLastDayOfYear && <Separator heightX={1} />}\n <MonthBreak\n fromMonth={fromMonth}\n isLastDayOfMth={isLastDayOfMth}\n isLastDayOfYear={isLastDayOfYear}\n />\n </>\n )}\n <Styled.DailyItems\n $gutterX={1}\n $addedMonthBreak={!!(isLastDayOfMth && toMonth && !isFirstElement)}\n >\n <Separator heightX={1} />\n <Styled.DateText $renderAs=\"ac4\" $color=\"BLACK_T_60\">\n {fromDate === toDate\n ? `${fromDay} ${fromMonthName}`\n : `${fromDay} - ${toDay} ${toMonthName}`}\n </Styled.DateText>\n <Separator heightX={0.75} />\n {dailyLogs.length > 0 ? (\n dailyLogs.map((log, logIndex) => (\n <DailyTimelineItems\n key={`timeline-${logIndex}`}\n type={log.type}\n summary={log.summary ?? ''}\n courseStream={log.course_stream}\n cards={log.cards}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== CARD_TYPE.CIRCLE}\n isLastItem={logIndex === dailyLogs.length - 1}\n fromDate={fromDate}\n studentId={studentId}\n />\n ))\n ) : (\n <NoActivity />\n )}\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n};\n\nDailyTimelineView.displayName = 'DailyTimelineView';\n\nexport default DailyTimelineView;\n"],"names":["DailyTimelineView","entry","isFirstElement","onPuzzleClick","onReviewClick","shouldShowTag","studentId","userType","dailyLogs","fromDate","toDate","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLastDayOfMth","isLastDayOfMonth","isLastDayOfYear","FlexView","jsxs","Fragment","jsx","YearBreak","Separator","MonthBreak","Styled.DailyItems","Styled.DateText","log","logIndex","DailyTimelineItems","CARD_TYPE","NoActivity"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,IAAkD,CAAC;AAAA,EACvD,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAM,EAAE,YAAYC,GAAW,WAAWC,GAAU,SAASC,EAAW,IAAAT,GAClEU,IAAcC,EAASH,CAAQ,GAC/BI,IAAYD,EAASF,CAAM,GAE3B,EAAE,KAAKI,GAAS,OAAOC,GAAW,WAAWC,EAAkB,IAAAC,EAAgBN,CAAW,GAE1F;AAAA,IACJ,KAAKO;AAAA,IACL,OAAOC;AAAA,IACP,MAAMC;AAAA,IACN,WAAWC;AAAA,EAAA,IACTJ,EAAgBJ,CAAS,GAEvBS,IAAiBC,EAAiBV,CAAS,GAC3CW,IAAkBF,KAAkBH,MAAY,MAAMD,MAAU;AAEtE,SAAKV,sBAKFiB,GACE,EAAA,UAAA;AAAA,IAAA,CAACvB,KAEE,gBAAAwB,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAAT,GAAgB,iBAAAI,EAAkC,CAAA;AAAA,MAC5D,CAACA,KAAmBT,KAAaS,KAAoB,gBAAAI,EAAAE,GAAA,EAAU,SAAS,GAAG;AAAA,MAC5E,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,WAAAhB;AAAA,UACA,gBAAAO;AAAA,UACA,iBAAAE;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,GACF;AAAA,IAEF,gBAAAE;AAAA,MAACM;AAAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,kBAAkB,CAAC,EAAEV,KAAkBH,KAAW,CAACjB;AAAA,QAEnD,UAAA;AAAA,UAAC,gBAAA0B,EAAAE,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,UACvB,gBAAAF,EAACK,GAAA,EAAgB,WAAU,OAAM,QAAO,cACrC,UAAaxB,MAAAC,IACV,GAAGI,CAAO,IAAIE,CAAa,KAC3B,GAAGF,CAAO,MAAMI,CAAK,IAAIG,CAAW,IAC1C;AAAA,UACA,gBAAAO,EAACE,GAAU,EAAA,SAAS,KAAM,CAAA;AAAA,UACzBtB,EAAU,SAAS,IAClBA,EAAU,IAAI,CAAC0B,GAAKC,MAClB,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cAEC,MAAMF,EAAI;AAAA,cACV,SAASA,EAAI,WAAW;AAAA,cACxB,cAAcA,EAAI;AAAA,cAClB,OAAOA,EAAI;AAAA,cACX,eAAA/B;AAAA,cACA,eAAAC;AAAA,cACA,UAAAG;AAAA,cACA,eAAeF,KAAiB6B,EAAI,kBAAkBG,EAAU;AAAA,cAChE,YAAYF,MAAa3B,EAAU,SAAS;AAAA,cAC5C,UAAAC;AAAA,cACA,WAAAH;AAAA,YAAA;AAAA,YAXK,YAAY6B,CAAQ;AAAA,UAAA,CAa5B,IAED,gBAAAP,EAACU,GAAW,EAAA;AAAA,UAEd,gBAAAV,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACzB;AAAA,EACF,EAAA,CAAA,IAjDO;AAmDX;AAEA9B,EAAkB,cAAc;"}
@@ -1,31 +1,31 @@
1
1
  import { jsx as s, jsxs as P } from "react/jsx-runtime";
2
2
  import { memo as $, useState as I, useCallback as _, useMemo as w, useEffect as f, Fragment as D } from "react";
3
- import R from "../ui/error/error.js";
4
- import F from "../ui/layout/flex-view.js";
5
- import V from "../ui/loader/app-loader/app-loader.js";
6
- import Y from "../ui/intersection-loader/intersection-loader.js";
7
- import { useDailyTimelineGet as j } from "./api/use-daily-timeline-get.js";
8
- import { ScrollWrapper as k, DailyTimelineContainer as G } from "./daily-timeline-styled.js";
9
- import { USER_TYPE as O, CARD_TYPE as y } from "./daily-timeline-types.js";
10
- import { INITIAL_PAGE as U } from "./comps/constants.js";
11
- import { getTimezone as W } from "../../helpers/date-time.js";
12
- import { useUIContext as b } from "../ui/context/context.js";
13
- import X from "../hooks/use-previous.js";
3
+ import { useDailyTimelineGet as R } from "./api/use-daily-timeline-get.js";
4
+ import { ScrollWrapper as F, DailyTimelineContainer as V } from "./daily-timeline-styled.js";
5
+ import { USER_TYPE as Y, CARD_TYPE as y } from "./daily-timeline-types.js";
6
+ import { INITIAL_PAGE as j } from "./comps/constants.js";
7
+ import { getTimezone as k } from "../../../helpers/date-time.js";
14
8
  import { DAILY_TIMELINE_ANALYTICS_EVENTS as h } from "./daily-timeline-events.js";
15
- import q from "./daily-timeline-view.js";
9
+ import G from "./daily-timeline-view.js";
10
+ import { useUIContext as O } from "../../ui/context/context.js";
11
+ import U from "../../hooks/use-previous.js";
12
+ import W from "../../ui/error/error.js";
13
+ import b from "../../ui/layout/flex-view.js";
14
+ import X from "../../ui/intersection-loader/intersection-loader.js";
15
+ import q from "../../ui/loader/app-loader/app-loader.js";
16
16
  const S = $(
17
17
  ({ userType: c, studentId: i, courseStreams: m, onPuzzleClick: A, onReviewClick: M, scrollAreaHeight: T }) => {
18
- const [l, p] = I([]), [E, u] = I(!1), { onEvent: t } = b(), {
18
+ const [l, p] = I([]), [E, u] = I(!1), { onEvent: t } = O(), {
19
19
  get: L,
20
20
  data: e,
21
21
  isProcessingFailed: d,
22
22
  isProcessing: z
23
- } = j(i), C = X(e == null ? void 0 : e.curr_page), n = _(
24
- (r = U, o = !1) => {
23
+ } = R(i), C = U(e == null ? void 0 : e.curr_page), n = _(
24
+ (r = j, o = !1) => {
25
25
  o && u(!0), L(i, {
26
26
  page: r,
27
- timezone: W(),
28
- course_stream: c === O.TEACHER ? m : []
27
+ timezone: k(),
28
+ course_stream: c === Y.TEACHER ? m : []
29
29
  });
30
30
  },
31
31
  [L, i, c, m]
@@ -59,17 +59,17 @@ const S = $(
59
59
  });
60
60
  }, [i, t]), f(() => {
61
61
  n(1, !1);
62
- }, [n]), d ? /* @__PURE__ */ s(R, { height: T ?? "100vh", onTryAgain: x }) : z && !l.length ? /* @__PURE__ */ s(
63
- F,
62
+ }, [n]), d ? /* @__PURE__ */ s(W, { height: T ?? "100vh", onTryAgain: x }) : z && !l.length ? /* @__PURE__ */ s(
63
+ b,
64
64
  {
65
65
  $alignItems: "center",
66
66
  $justifyContent: "center",
67
67
  $height: T || "100vh",
68
- children: /* @__PURE__ */ s(V, { width: "100%", height: "100%" })
68
+ children: /* @__PURE__ */ s(q, { width: "100%", height: "100%" })
69
69
  }
70
- ) : /* @__PURE__ */ s(k, { $alignItems: "center", $gapX: 1, children: /* @__PURE__ */ P(G, { children: [
70
+ ) : /* @__PURE__ */ s(F, { $alignItems: "center", $gapX: 1, children: /* @__PURE__ */ P(V, { children: [
71
71
  l.map((r, o) => /* @__PURE__ */ s(D, { children: /* @__PURE__ */ s(
72
- q,
72
+ G,
73
73
  {
74
74
  entry: r,
75
75
  isFirstElement: o === 0,
@@ -81,7 +81,7 @@ const S = $(
81
81
  }
82
82
  ) }, `timeline-entry-${o}`)),
83
83
  /* @__PURE__ */ s(
84
- Y,
84
+ X,
85
85
  {
86
86
  onLoadMore: v,
87
87
  isLoading: E,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-timeline.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline.tsx"],"sourcesContent":["import { Fragment, memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { type ITimelineData, useDailyTimelineGet } from './api/use-daily-timeline-get';\nimport * as Styled from './daily-timeline-styled';\nimport { CARD_TYPE, USER_TYPE, type IDailyTimelineProps } from './daily-timeline-types';\nimport { INITIAL_PAGE } from './comps/constants';\nimport { getTimezone } from '../../../helpers/date-time';\nimport { DAILY_TIMELINE_ANALYTICS_EVENTS } from './daily-timeline-events';\nimport DailyTimelineView from './daily-timeline-view';\nimport { useUIContext } from '../../ui/context/context';\nimport usePrevious from '../../hooks/use-previous';\nimport Error from '../../ui/error/error';\nimport FlexView from '../../ui/layout/flex-view';\nimport IntersectionLoader from '../../ui/intersection-loader/intersection-loader';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\n\nconst DailyTimeline: FC<IDailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzleClick, onReviewClick, scrollAreaHeight }) => {\n const [allTimelineData, setAllTimelineData] = useState<ITimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const { onEvent: trackEvent } = useUIContext();\n const {\n get: getTimeline,\n data: timelineData,\n isProcessingFailed,\n isProcessing,\n } = useDailyTimelineGet(studentId);\n\n const prevCurrentPage = usePrevious(timelineData?.curr_page);\n\n const fetchTimeline = useCallback(\n (page = INITIAL_PAGE, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n timezone: getTimezone(),\n course_stream: userType === USER_TYPE.TEACHER ? courseStreams : [],\n });\n },\n [getTimeline, studentId, userType, courseStreams],\n );\n\n const shouldShowTag = useMemo(() => {\n const allCourseStreams = new Set<string>();\n\n allTimelineData.forEach(entry => {\n if (entry.daily_logs) {\n entry.daily_logs.forEach(log => {\n if (log.course_stream && log.course_stream !== CARD_TYPE.CIRCLE) {\n allCourseStreams.add(log.course_stream);\n }\n });\n }\n });\n\n const courseStreamsSet = new Set(\n (courseStreams || []).filter(stream => String(stream) !== CARD_TYPE.CIRCLE),\n );\n\n return (\n courseStreamsSet.size > 1 ||\n allCourseStreams.size > 1 ||\n (courseStreamsSet.size > 0 &&\n allCourseStreams.size > 0 &&\n (courseStreamsSet.size !== allCourseStreams.size ||\n !Array.from(courseStreamsSet).every(stream => allCourseStreams.has(stream))))\n );\n }, [allTimelineData, courseStreams]);\n\n const handleLoadMore = useCallback(() => {\n if (timelineData?.next_page && !isLoadingMore) {\n fetchTimeline(timelineData.next_page, true);\n trackEvent(DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_SCROLLED, {\n student_id: studentId,\n });\n }\n }, [timelineData, studentId, trackEvent, isLoadingMore, fetchTimeline]);\n\n const onTryAgain = useCallback(() => {\n fetchTimeline(1, false);\n setAllTimelineData([]);\n }, [fetchTimeline]);\n\n useEffect(() => {\n if (timelineData) {\n if (timelineData.curr_page === 1) {\n setAllTimelineData(timelineData?.user_logs ?? []);\n } else if (timelineData.curr_page && prevCurrentPage !== timelineData.curr_page) {\n setAllTimelineData(prev => [...prev, ...(timelineData.user_logs ?? [])]);\n setIsLoadingMore(false);\n }\n }\n }, [timelineData, prevCurrentPage]);\n\n useEffect(() => {\n trackEvent(DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEWED, {\n student_id: studentId,\n });\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n return () => {\n trackEvent(DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_CLOSED, {\n student_id: studentId,\n });\n };\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height={scrollAreaHeight ?? '100vh'} onTryAgain={onTryAgain} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height={scrollAreaHeight || '100vh'}\n >\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.ScrollWrapper $alignItems=\"center\" $gapX={1}>\n <Styled.DailyTimelineContainer>\n {allTimelineData.map((entry, index) => (\n <Fragment key={`timeline-entry-${index}`}>\n <DailyTimelineView\n entry={entry}\n isFirstElement={index === 0}\n shouldShowTag={shouldShowTag}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n userType={userType}\n studentId={studentId}\n />\n </Fragment>\n ))}\n <IntersectionLoader\n onLoadMore={handleLoadMore}\n isLoading={isLoadingMore}\n hasMore={!!timelineData?.next_page}\n />\n </Styled.DailyTimelineContainer>\n </Styled.ScrollWrapper>\n );\n },\n);\n\nDailyTimeline.displayName = 'DailyTimeline';\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzleClick","onReviewClick","scrollAreaHeight","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","trackEvent","useUIContext","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","prevCurrentPage","usePrevious","fetchTimeline","useCallback","page","INITIAL_PAGE","append","getTimezone","USER_TYPE","shouldShowTag","useMemo","allCourseStreams","entry","log","CARD_TYPE","courseStreamsSet","stream","handleLoadMore","DAILY_TIMELINE_ANALYTICS_EVENTS","onTryAgain","useEffect","prev","jsx","Error","FlexView","AppLoader","Styled.ScrollWrapper","jsxs","Styled.DailyTimelineContainer","index","Fragment","DailyTimelineView","IntersectionLoader","DailyTimeline$1"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { createGetAPI as e } from "@cuemath/rest-api";
2
+ import { BASE_URL_V1 as o } from "../../../../constants/api.js";
3
+ import { stringify as m } from "../../../../helpers/query-string.js";
4
+ const { useGet: p } = e({
5
+ getURL: (r, t) => `${o}/users/${r}/reports/?${m(t)}`
6
+ });
7
+ export {
8
+ p as monthlyTimelineGet
9
+ };
10
+ //# sourceMappingURL=use-monthly-timeline-get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-monthly-timeline-get.js","sources":["../../../../../src/features/timeline/monthly-timeline/api/use-monthly-timeline-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../constants/api';\nimport { type IMonthlyTimeline } from '../monthly-timeline-types';\nimport { stringify } from '../../../../helpers/query-string';\n\ninterface MonthlyTimelineParams {\n course_streams?: string[];\n timezone?: string;\n}\n\nconst { useGet: monthlyTimelineGet } = createGetAPI<IMonthlyTimeline[], MonthlyTimelineParams>({\n getURL: (studentId, params: MonthlyTimelineParams) => {\n return `${BASE_URL_V1}/users/${studentId}/reports/?${stringify(params)}`;\n },\n});\n\nexport { monthlyTimelineGet };\n"],"names":["monthlyTimelineGet","createGetAPI","studentId","params","BASE_URL_V1","stringify"],"mappings":";;;AAWA,MAAM,EAAE,QAAQA,EAAmB,IAAIC,EAAwD;AAAA,EAC7F,QAAQ,CAACC,GAAWC,MACX,GAAGC,CAAW,UAAUF,CAAS,aAAaG,EAAUF,CAAM,CAAC;AAE1E,CAAC;"}