@cuemath/leap 3.3.0 → 3.3.2-2.beta-guru-01

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 (399) hide show
  1. package/dist/assets/gif/gif.js +3 -0
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +10 -1
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/images/images.js +10 -0
  6. package/dist/assets/images/images.js.map +1 -1
  7. package/dist/assets/line-icons/icons/cue-coin.js +182 -0
  8. package/dist/assets/line-icons/icons/cue-coin.js.map +1 -0
  9. package/dist/assets/line-icons/icons/wins-common-icon.js +26 -0
  10. package/dist/assets/line-icons/icons/wins-common-icon.js.map +1 -0
  11. package/dist/assets/line-icons/icons/wins-epic-icon.js +25 -0
  12. package/dist/assets/line-icons/icons/wins-epic-icon.js.map +1 -0
  13. package/dist/assets/line-icons/icons/wins-legendary-icon.js +25 -0
  14. package/dist/assets/line-icons/icons/wins-legendary-icon.js.map +1 -0
  15. package/dist/assets/line-icons/icons/wins-mystery-icon.js +105 -0
  16. package/dist/assets/line-icons/icons/wins-mystery-icon.js.map +1 -0
  17. package/dist/assets/line-icons/icons/wins-mythic-icon.js +28 -0
  18. package/dist/assets/line-icons/icons/wins-mythic-icon.js.map +1 -0
  19. package/dist/assets/line-icons/icons/wins-rare-icon.js +28 -0
  20. package/dist/assets/line-icons/icons/wins-rare-icon.js.map +1 -0
  21. package/dist/assets/lottie/lottie.js +10 -3
  22. package/dist/assets/lottie/lottie.js.map +1 -1
  23. package/dist/constants/config.js +5 -0
  24. package/dist/constants/config.js.map +1 -0
  25. package/dist/constants/country.js +9 -0
  26. package/dist/constants/country.js.map +1 -1
  27. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +6 -6
  28. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  29. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +4 -4
  30. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -1
  31. package/dist/features/auth/comps/otp-input/otp-input.js +19 -18
  32. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  33. package/dist/features/auth/comps/pill-button/pill-button-styled.js +17 -17
  34. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -1
  35. package/dist/features/auth/comps/pill-button/pill-button.js +26 -24
  36. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  37. package/dist/features/auth/comps/user-list/user-item/user-item.js +32 -30
  38. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  39. package/dist/features/auth/comps/user-list/user-list.js +20 -19
  40. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  41. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +9 -9
  42. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -1
  43. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +58 -29
  44. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -1
  45. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +78 -41
  46. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  47. package/dist/features/auth/pla-signup/pla-analytics-events.js +5 -4
  48. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  49. package/dist/features/auth/pla-signup/signup-header/signup-header.js +1 -1
  50. package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -1
  51. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js +37 -35
  52. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js.map +1 -1
  53. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +75 -70
  54. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  55. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +55 -50
  56. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  57. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js +47 -25
  58. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  59. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js +16 -0
  60. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js.map +1 -0
  61. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js +62 -0
  62. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +1 -0
  63. package/dist/features/auth/signup-unavailable/signup-unavailable.js +17 -0
  64. package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +1 -0
  65. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +19 -18
  66. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  67. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js +7 -7
  68. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js.map +1 -1
  69. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +26 -24
  70. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  71. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js +15 -13
  72. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  73. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  74. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +130 -69
  75. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  76. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +43 -33
  77. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  78. package/dist/features/chapters-v2/chapter-details/chapter-details.js +137 -95
  79. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  80. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +36 -31
  81. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  82. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js +22 -0
  83. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js.map +1 -0
  84. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js +141 -0
  85. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -0
  86. package/dist/features/chapters-v2/constants/block-constants.js +7 -5
  87. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
  88. package/dist/features/chapters-v2/utils/index.js +22 -12
  89. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  90. package/dist/features/chapters-v2/utils/sat-sheet-utils.js +12 -0
  91. package/dist/features/chapters-v2/utils/sat-sheet-utils.js.map +1 -0
  92. package/dist/features/circle-games/games/web-view/web-view.js +0 -1
  93. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  94. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +86 -0
  95. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -0
  96. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +140 -0
  97. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +1 -0
  98. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +8 -4
  99. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  100. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +23 -29
  101. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
  102. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  103. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  104. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  105. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  106. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +400 -0
  107. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  108. package/dist/features/milestone/constants.js +13 -10
  109. package/dist/features/milestone/constants.js.map +1 -1
  110. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
  111. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  112. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
  113. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  114. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +54 -29
  115. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  116. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
  117. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  118. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
  119. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  120. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +97 -94
  121. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  122. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +160 -143
  123. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  124. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
  125. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  126. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  127. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
  128. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  129. package/dist/features/milestone/create/milestone-create-container.js +17 -15
  130. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  131. package/dist/features/milestone/create/milestone-create-helpers.js +170 -153
  132. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  133. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  134. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  135. package/dist/features/milestone/create/milestone-create.js +19 -17
  136. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  137. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +19 -20
  138. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  139. package/dist/features/parent-dashboard/api/get-student-profile-summary.js +9 -0
  140. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +1 -0
  141. package/dist/features/parent-dashboard/api/parent-home.js +10 -0
  142. package/dist/features/parent-dashboard/api/parent-home.js.map +1 -0
  143. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +30 -0
  144. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -0
  145. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js +25 -0
  146. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -0
  147. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js +15 -0
  148. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js.map +1 -0
  149. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +90 -0
  150. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -0
  151. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js +19 -0
  152. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js.map +1 -0
  153. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js +32 -0
  154. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js.map +1 -0
  155. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +67 -0
  156. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -0
  157. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +42 -0
  158. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +1 -0
  159. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js +20 -0
  160. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js.map +1 -0
  161. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +10 -0
  162. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +1 -0
  163. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +42 -0
  164. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -0
  165. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +67 -0
  166. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -0
  167. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +24 -0
  168. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +1 -0
  169. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js +71 -0
  170. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +1 -0
  171. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +40 -0
  172. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +1 -0
  173. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +44 -0
  174. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +1 -0
  175. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +32 -0
  176. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +1 -0
  177. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +12 -0
  178. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +1 -0
  179. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +44 -0
  180. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -0
  181. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +13 -0
  182. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -0
  183. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +28 -0
  184. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -0
  185. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +43 -0
  186. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +1 -0
  187. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +59 -0
  188. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -0
  189. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +86 -0
  190. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +1 -0
  191. package/dist/features/parent-dashboard/parent-dashboard-constants.js +26 -0
  192. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -0
  193. package/dist/features/parent-dashboard/parent-dashboard-styled.js +33 -0
  194. package/dist/features/parent-dashboard/parent-dashboard-styled.js.map +1 -0
  195. package/dist/features/parent-dashboard/parent-dashboard-types.js +6 -0
  196. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -0
  197. package/dist/features/parent-dashboard/parent-dashboard-view.js +215 -0
  198. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -0
  199. package/dist/features/parent-dashboard/parent-dashboard.js +8 -0
  200. package/dist/features/parent-dashboard/parent-dashboard.js.map +1 -0
  201. package/dist/features/sentry/constants/ignored.js +10 -6
  202. package/dist/features/sentry/constants/ignored.js.map +1 -1
  203. package/dist/features/sheets/constants/sheet.js +23 -10
  204. package/dist/features/sheets/constants/sheet.js.map +1 -1
  205. package/dist/features/sheets/utils/is-v3-worksheet.js +17 -0
  206. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  207. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  208. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  209. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js +1 -1
  210. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  211. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +66 -60
  212. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  213. package/dist/features/trial-session/comps/learning-plan/index.js +62 -88
  214. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  215. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +12 -12
  216. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  217. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +25 -0
  218. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  219. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +43 -0
  220. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  221. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +49 -0
  222. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  223. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  224. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  225. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +132 -0
  226. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  227. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  228. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  229. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  230. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  231. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +17 -0
  232. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  233. package/dist/features/trial-session/comps/pla/session-status/session-status.js +127 -0
  234. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  235. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +53 -0
  236. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  237. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +53 -0
  238. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  239. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +17 -0
  240. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  241. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  242. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  243. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +5 -0
  244. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  245. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +17 -0
  246. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  247. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +5 -0
  248. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  249. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +96 -0
  250. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  251. package/dist/features/trial-session/comps/school-goals/school-goals.js +25 -24
  252. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  253. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +34 -0
  254. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -0
  255. package/dist/features/trial-session/comps/session-report/report-information/report-card.js +41 -0
  256. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -0
  257. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +39 -0
  258. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -0
  259. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +179 -0
  260. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -0
  261. package/dist/features/trial-session/comps/session-report/session-report-styled.js +6 -29
  262. package/dist/features/trial-session/comps/session-report/session-report-styled.js.map +1 -1
  263. package/dist/features/trial-session/comps/session-report/session-report.js +44 -174
  264. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  265. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +20 -5
  266. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  267. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +59 -126
  268. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  269. package/dist/features/trial-session/comps/student-profile/constant.js +10 -0
  270. package/dist/features/trial-session/comps/student-profile/constant.js.map +1 -0
  271. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +53 -0
  272. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -0
  273. package/dist/features/trial-session/comps/student-profile/student-profile.js +93 -46
  274. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  275. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +12 -0
  276. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +1 -0
  277. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +121 -42
  278. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
  279. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +174 -56
  280. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  281. package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
  282. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  283. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +65 -63
  284. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  285. package/dist/features/trial-session/left-panel/index.js +1 -1
  286. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  287. package/dist/features/trial-session/right-panel/slide-components-map.js +32 -32
  288. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  289. package/dist/features/trial-session/trial-session-constants.js +3 -3
  290. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  291. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  292. package/dist/features/ui/buttons/icon-button/icon-button.js +32 -29
  293. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  294. package/dist/features/ui/constants/z-index.js +5 -3
  295. package/dist/features/ui/constants/z-index.js.map +1 -1
  296. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js +12 -11
  297. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  298. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js +2 -7
  299. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js.map +1 -1
  300. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +29 -27
  301. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  302. package/dist/features/ui/modals/modal.js +30 -28
  303. package/dist/features/ui/modals/modal.js.map +1 -1
  304. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js +109 -0
  305. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +1 -0
  306. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js +95 -0
  307. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -0
  308. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +184 -0
  309. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -0
  310. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js +36 -0
  311. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +1 -0
  312. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js +83 -0
  313. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -0
  314. package/dist/features/wins-dashboard/constants.js +161 -0
  315. package/dist/features/wins-dashboard/constants.js.map +1 -0
  316. package/dist/features/wins-dashboard/header/wins-header.js +95 -0
  317. package/dist/features/wins-dashboard/header/wins-header.js.map +1 -0
  318. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js +66 -0
  319. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -0
  320. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js +135 -0
  321. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -0
  322. package/dist/features/wins-dashboard/student-badges/student-badge.js +168 -0
  323. package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -0
  324. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js +137 -0
  325. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -0
  326. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +86 -90
  327. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  328. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +147 -0
  329. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -0
  330. package/dist/features/worksheet/worksheet/worksheet-container.js +62 -42
  331. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  332. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +197 -199
  333. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  334. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +228 -300
  335. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  336. package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
  337. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  338. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  339. package/dist/features/worksheet/worksheet/worksheet.js +206 -215
  340. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  341. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +33 -33
  342. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  343. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +30 -28
  344. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  345. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +69 -73
  346. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  347. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +30 -79
  348. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  349. package/dist/index.d.ts +473 -45
  350. package/dist/index.js +695 -627
  351. package/dist/index.js.map +1 -1
  352. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  353. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  354. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  355. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  356. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  357. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  358. package/dist/node_modules/date-fns/fromUnixTime.js +9 -0
  359. package/dist/node_modules/date-fns/fromUnixTime.js.map +1 -0
  360. package/dist/static/awesome.4239f583.json +1 -0
  361. package/dist/static/black-belt.81b3ebf9.png +0 -0
  362. package/dist/static/blue-belt.508a1b4b.png +0 -0
  363. package/dist/static/{book-checked-green.c275dbd9.svg → book-checked-green.0436b91e.svg} +1 -1
  364. package/dist/static/brown-belt.09bb7e93.png +0 -0
  365. package/dist/static/clapping-hands.17e7ecf0.json +1 -0
  366. package/dist/static/common.9e8ceef1.svg +1 -0
  367. package/dist/static/community-bulb-yellow-2.f89c30f9.svg +1 -0
  368. package/dist/static/cool.cd6921bb.json +1 -0
  369. package/dist/static/epic.37a0265a.svg +1 -0
  370. package/dist/static/error-responsive.9916ff66.json +1 -0
  371. package/dist/static/error.dd744fa5.json +1 -0
  372. package/dist/static/green-belt.5501296f.png +0 -0
  373. package/dist/static/learning-puzzle-bot.6fe93cf6.svg +1 -0
  374. package/dist/static/legendary.f15d09ca.svg +1 -0
  375. package/dist/static/like-button.281a2618.json +1 -0
  376. package/dist/static/mastered-badge.91d25e92.png +0 -0
  377. package/dist/static/mystery.81ada5fb.svg +1 -0
  378. package/dist/static/mythic.58ba0ae0.svg +1 -0
  379. package/dist/static/orange-belt.1fefcc8c.png +0 -0
  380. package/dist/static/personalization.7a6c33e8.svg +1 -0
  381. package/dist/static/personalized-session.b4fd7df8.gif +0 -0
  382. package/dist/static/purple-belt.e15611b4.png +0 -0
  383. package/dist/static/rare.1ffaa311.svg +1 -0
  384. package/dist/static/red-belt.11f841d9.png +0 -0
  385. package/dist/static/regular-practice.b15f24d9.gif +0 -0
  386. package/dist/static/star-strike-emoji.c0b31028.json +1 -0
  387. package/dist/static/stepup.321df6ed.gif +0 -0
  388. package/dist/static/trophy.5ef1853a.json +1 -0
  389. package/dist/static/username-responsive.787b5515.json +1 -0
  390. package/dist/static/username.2c755605.json +1 -0
  391. package/dist/static/white-belt.ea93103e.png +0 -0
  392. package/dist/static/yellow-belt.0c47b8cc.png +0 -0
  393. package/package.json +1 -1
  394. package/dist/features/trial-session/comps/session-report/report-card.js +0 -26
  395. package/dist/features/trial-session/comps/session-report/report-card.js.map +0 -1
  396. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
  397. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
  398. package/dist/static/error.cbe1ddde.json +0 -1
  399. package/dist/static/username.9e034d51.json +0 -1
@@ -1,122 +1,96 @@
1
- import { jsx as t, jsxs as N, Fragment as O } from "react/jsx-runtime";
2
- import w from "../../../../node_modules/lodash.throttle/index.js";
3
- import { useRef as g, useCallback as i, useMemo as F, useEffect as u } from "react";
4
- import { useGetChapterDetails as j } from "../../../chapters-v2/api/chapter.js";
5
- import G from "../../../chapters-v2/chapter-details/chapter-details.js";
6
- import H from "../../../milestone/milestone-list-container/milestone-list-container.js";
7
- import M from "../../../ui/buttons/button/button.js";
8
- import X from "../../../ui/layout/flex-view.js";
9
- import B from "../../../ui/loader/app-loader/app-loader.js";
10
- import U from "../../../ui/text/text.js";
11
- import { useTrialSessionContext as W } from "../../context/use-trial-session-context.js";
12
- import { Container as q, Wrapper as z, ChapterWrapper as V } from "./learning-plan-styled.js";
13
- import { useLearningPlanScrollSync as J } from "./use-learning-plan-scroll-sync.js";
14
- const ae = () => {
15
- const { trialHomeData: L, studentId: n, formData: y, isTeacher: r, updateSlideConfig: l } = W(), {
16
- demo_info: { student_classroom_id: T, stream: I }
17
- } = L || {}, { name: D = "", chapterId: c } = y || {}, o = g(null), a = g([]), h = g(!1), {
18
- publishScrollEvents: d,
19
- closeChannel: E,
20
- scrollPoints: s
21
- } = J(T), {
22
- get: P,
23
- data: m,
24
- isProcessing: R,
25
- isProcessingFailed: $,
26
- error: f
27
- } = j(), C = i(() => {
28
- c && n && P(c, void 0, {
29
- studentId: n
30
- }).then(() => {
31
- const e = o.current;
1
+ import { jsx as o, Fragment as _ } from "react/jsx-runtime";
2
+ import k from "../../../../node_modules/lodash.throttle/index.js";
3
+ import { useRef as h, useCallback as l, useMemo as D, useEffect as m } from "react";
4
+ import N from "../../../chapters-v2/chapter-details/chapter-details.js";
5
+ import O from "../../../milestone/milestone-list-container/milestone-list-container.js";
6
+ import { useTrialSessionContext as x } from "../../context/use-trial-session-context.js";
7
+ import { Container as $, Wrapper as H, ChapterWrapper as M } from "./learning-plan-styled.js";
8
+ import { useLearningPlanScrollSync as F } from "./use-learning-plan-scroll-sync.js";
9
+ const z = () => {
10
+ const { trialHomeData: P, studentId: s, formData: L, isTeacher: r, updateSlideConfig: c } = x(), {
11
+ demo_info: { student_classroom_id: S, stream: g }
12
+ } = P || {}, { name: I = "", chapterId: i } = L || {}, t = h(null), a = h([]), d = h(!1), {
13
+ publishScrollEvents: p,
14
+ closeChannel: C,
15
+ scrollPoints: n
16
+ } = F(S), T = l(() => {
17
+ if (i && s) {
18
+ const e = t.current;
32
19
  e == null || e.scrollTo({
33
20
  top: 0,
34
21
  behavior: "smooth"
35
22
  });
36
- });
37
- }, [P, n, c]), b = i(
23
+ }
24
+ }, [s, i]), R = l(
38
25
  (e) => {
39
- l({
26
+ c({
40
27
  chapterId: e.id
41
28
  });
42
29
  },
43
- [l]
44
- ), x = i(() => {
45
- l({
30
+ [c]
31
+ ), A = l(() => {
32
+ c({
46
33
  chapterId: void 0
47
34
  });
48
- }, [l]), v = i(() => {
49
- a.current.length === 0 || h.current || (h.current = !0, d && d({
35
+ }, [c]), E = l(() => {
36
+ a.current.length === 0 || d.current || (d.current = !0, p && p({
50
37
  eventName: "TRIAL_SESSION_GOAL_PLAN_SCROLL",
51
38
  eventPayload: {
52
39
  scrollPoints: a.current
53
40
  }
54
- }), a.current = [], h.current = !1);
55
- }, [d]), A = F(() => w(v, 500), [v]), S = i(() => {
56
- var p;
57
- const e = ((p = o.current) == null ? void 0 : p.scrollTop) || 0;
58
- a.current.push(e), A();
59
- }, [A]);
60
- return u(() => {
61
- C();
62
- }, [C]), u(() => {
63
- if (o.current && (m && r || r)) {
64
- const e = o.current;
65
- return e.addEventListener("scroll", S), () => {
66
- e && e.removeEventListener("scroll", S);
41
+ }), a.current = [], d.current = !1);
42
+ }, [p]), v = D(() => k(E, 500), [E]), f = l(() => {
43
+ var u;
44
+ const e = ((u = t.current) == null ? void 0 : u.scrollTop) || 0;
45
+ a.current.push(e), v();
46
+ }, [v]);
47
+ return m(() => {
48
+ T();
49
+ }, [T]), m(() => {
50
+ if (t.current && r) {
51
+ const e = t.current;
52
+ return e.addEventListener("scroll", f), () => {
53
+ e && e.removeEventListener("scroll", f);
67
54
  };
68
55
  }
69
- }, [r, m, S]), u(() => {
70
- const e = o.current;
71
- if (s && Array.isArray(s) && !r && e) {
72
- const p = Math.floor(
73
- s.reduce((k, _) => k + _, 0) / s.length
56
+ }, [r, f]), m(() => {
57
+ const e = t.current;
58
+ if (n && Array.isArray(n) && !r && e) {
59
+ const u = Math.floor(
60
+ n.reduce((b, y) => b + y, 0) / n.length
74
61
  );
75
62
  e.scrollTo({
76
- top: p,
63
+ top: u,
77
64
  behavior: "smooth"
78
65
  });
79
66
  }
80
- }, [s, r]), u(() => () => {
81
- E();
82
- }, [E]), R ? /* @__PURE__ */ t(B, { height: "100%" }) : $ ? /* @__PURE__ */ N(X, { $height: "100%", $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
83
- /* @__PURE__ */ t(U, { $renderAs: "h6", children: (f == null ? void 0 : f.message) || "Oops! Something went wrong." }),
84
- /* @__PURE__ */ t(
85
- M,
86
- {
87
- widthX: 14,
88
- size: "small",
89
- shape: "square",
90
- renderAs: "primary",
91
- label: "Try again",
92
- onClick: C
93
- }
94
- )
95
- ] }) : /* @__PURE__ */ t(q, { ref: o, $isScrollable: r, children: /* @__PURE__ */ t(
96
- z,
67
+ }, [n, r]), m(() => () => {
68
+ C();
69
+ }, [C]), /* @__PURE__ */ o($, { ref: t, $isScrollable: r, children: /* @__PURE__ */ o(
70
+ H,
97
71
  {
98
72
  $clickable: r,
99
73
  $gutterX: 2,
100
74
  $isScrollable: r,
101
75
  id: "milestone-list-element-container",
102
- children: c && m ? /* @__PURE__ */ t(O, { children: /* @__PURE__ */ t(V, { children: /* @__PURE__ */ t(
103
- G,
76
+ children: i ? /* @__PURE__ */ o(_, { children: /* @__PURE__ */ o(M, { children: /* @__PURE__ */ o(
77
+ N,
104
78
  {
105
- userChapterId: m.id,
106
- studentId: n,
79
+ userChapterId: i,
80
+ studentId: s,
107
81
  userType: r ? "TEACHER" : "STUDENT",
108
- onExit: x
82
+ onExit: A
109
83
  }
110
- ) }) }) : /* @__PURE__ */ t(
111
- H,
84
+ ) }) }) : /* @__PURE__ */ o(
85
+ O,
112
86
  {
113
87
  userType: r ? "TEACHER" : "STUDENT",
114
- studentName: D,
115
- studentId: n,
116
- studentClassroomId: T,
88
+ studentName: I,
89
+ studentId: s,
90
+ studentClassroomId: S,
117
91
  milestoneType: "DRAFT",
118
- onChapterClick: b,
119
- courseStream: I,
92
+ onChapterClick: R,
93
+ courseStream: g,
120
94
  isTrialSession: !0
121
95
  }
122
96
  )
@@ -124,6 +98,6 @@ const ae = () => {
124
98
  ) });
125
99
  };
126
100
  export {
127
- ae as default
101
+ z as default
128
102
  };
129
103
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\n\nimport throttle from 'lodash.throttle';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { useGetChapterDetails } from '../../../chapters-v2/api/chapter';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport MilestoneList from '../../../milestone/milestone-list-container/milestone-list-container';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport * as Styled from './learning-plan-styled';\nimport { useLearningPlanScrollSync } from './use-learning-plan-scroll-sync';\n\nconst LearningPlan: React.FC = () => {\n const { trialHomeData, studentId, formData, isTeacher, updateSlideConfig } =\n useTrialSessionContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream },\n } = trialHomeData || {};\n const { name = '', chapterId } = formData || {};\n\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollPointsRef = useRef<number[]>([]);\n const isSendingScrollPointsRef = useRef(false);\n\n const {\n publishScrollEvents,\n closeChannel,\n scrollPoints: receivedScrollPoints,\n } = useLearningPlanScrollSync(studentClassroomId);\n\n const {\n get: getChapterData,\n data: chapterData,\n isProcessing,\n isProcessingFailed,\n error,\n } = useGetChapterDetails();\n\n const fetchChapter = useCallback(() => {\n if (chapterId && studentId) {\n getChapterData(chapterId, undefined, {\n studentId,\n }).then(() => {\n const scrollElement = containerRef.current;\n\n scrollElement?.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n });\n }\n }, [getChapterData, studentId, chapterId]);\n\n const handleOnChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n updateSlideConfig({\n chapterId: chapter.id,\n });\n },\n [updateSlideConfig],\n );\n\n const handleOnBackIconClick = useCallback(() => {\n updateSlideConfig({\n chapterId: undefined,\n });\n }, [updateSlideConfig]);\n\n const sendScrollPoints = useCallback(() => {\n if (scrollPointsRef.current.length === 0 || isSendingScrollPointsRef.current) return;\n\n isSendingScrollPointsRef.current = true;\n\n if (publishScrollEvents) {\n publishScrollEvents({\n eventName: 'TRIAL_SESSION_GOAL_PLAN_SCROLL',\n eventPayload: {\n scrollPoints: scrollPointsRef.current,\n },\n });\n }\n\n scrollPointsRef.current = [];\n isSendingScrollPointsRef.current = false;\n }, [publishScrollEvents]);\n\n const throttleSend = useMemo(() => throttle(sendScrollPoints, 500), [sendScrollPoints]);\n\n const handleScroll = useCallback(() => {\n const scrollPoint = containerRef.current?.scrollTop || 0;\n\n scrollPointsRef.current.push(scrollPoint);\n\n throttleSend();\n }, [throttleSend]);\n\n useEffect(() => {\n fetchChapter();\n }, [fetchChapter]);\n\n useEffect(() => {\n if (containerRef.current) {\n if ((chapterData && isTeacher) || isTeacher) {\n const scrollElement = containerRef.current;\n\n scrollElement.addEventListener('scroll', handleScroll);\n\n return () => {\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', handleScroll);\n }\n };\n }\n }\n }, [isTeacher, chapterData, handleScroll]);\n\n useEffect(() => {\n const scrollElement = containerRef.current;\n\n if (\n receivedScrollPoints &&\n Array.isArray(receivedScrollPoints) &&\n !isTeacher &&\n scrollElement\n ) {\n const averageScroll = Math.floor(\n receivedScrollPoints.reduce((a, b) => a + b, 0) / receivedScrollPoints.length,\n );\n\n scrollElement.scrollTo({\n top: averageScroll,\n behavior: 'smooth',\n });\n }\n }, [receivedScrollPoints, isTeacher]);\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n if (isProcessing) {\n return <AppLoader height=\"100%\" />;\n }\n\n if (isProcessingFailed) {\n return (\n <FlexView $height=\"100%\" $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">{error?.message || 'Oops! Something went wrong.'}</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={fetchChapter}\n />\n </FlexView>\n );\n }\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $gutterX={2}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n >\n {chapterId && chapterData ? (\n <>\n <Styled.ChapterWrapper>\n <ChapterDetails\n userChapterId={chapterData.id}\n studentId={studentId}\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n onExit={handleOnBackIconClick}\n />\n </Styled.ChapterWrapper>\n </>\n ) : (\n <MilestoneList\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType=\"DRAFT\"\n onChapterClick={handleOnChapterClick}\n courseStream={stream}\n isTrialSession\n />\n )}\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","studentClassroomId","stream","name","chapterId","containerRef","useRef","scrollPointsRef","isSendingScrollPointsRef","publishScrollEvents","closeChannel","receivedScrollPoints","useLearningPlanScrollSync","getChapterData","chapterData","isProcessing","isProcessingFailed","error","useGetChapterDetails","fetchChapter","useCallback","scrollElement","handleOnChapterClick","chapter","handleOnBackIconClick","sendScrollPoints","throttleSend","useMemo","throttle","handleScroll","scrollPoint","_a","useEffect","averageScroll","a","b","jsx","AppLoader","jsxs","FlexView","Text","Button","Styled.Container","Styled.Wrapper","Fragment","Styled.ChapterWrapper","ChapterDetails","MilestoneList"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\n\nimport throttle from 'lodash.throttle';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport MilestoneList from '../../../milestone/milestone-list-container/milestone-list-container';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport * as Styled from './learning-plan-styled';\nimport { useLearningPlanScrollSync } from './use-learning-plan-scroll-sync';\n\nconst LearningPlan: React.FC = () => {\n const { trialHomeData, studentId, formData, isTeacher, updateSlideConfig } =\n useTrialSessionContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream },\n } = trialHomeData || {};\n const { name = '', chapterId } = formData || {};\n\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollPointsRef = useRef<number[]>([]);\n const isSendingScrollPointsRef = useRef(false);\n\n const {\n publishScrollEvents,\n closeChannel,\n scrollPoints: receivedScrollPoints,\n } = useLearningPlanScrollSync(studentClassroomId);\n\n const fetchChapter = useCallback(() => {\n if (chapterId && studentId) {\n const scrollElement = containerRef.current;\n\n scrollElement?.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n }, [studentId, chapterId]);\n\n const handleOnChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n updateSlideConfig({\n chapterId: chapter.id,\n });\n },\n [updateSlideConfig],\n );\n\n const handleOnBackIconClick = useCallback(() => {\n updateSlideConfig({\n chapterId: undefined,\n });\n }, [updateSlideConfig]);\n\n const sendScrollPoints = useCallback(() => {\n if (scrollPointsRef.current.length === 0 || isSendingScrollPointsRef.current) return;\n\n isSendingScrollPointsRef.current = true;\n\n if (publishScrollEvents) {\n publishScrollEvents({\n eventName: 'TRIAL_SESSION_GOAL_PLAN_SCROLL',\n eventPayload: {\n scrollPoints: scrollPointsRef.current,\n },\n });\n }\n\n scrollPointsRef.current = [];\n isSendingScrollPointsRef.current = false;\n }, [publishScrollEvents]);\n\n const throttleSend = useMemo(() => throttle(sendScrollPoints, 500), [sendScrollPoints]);\n\n const handleScroll = useCallback(() => {\n const scrollPoint = containerRef.current?.scrollTop || 0;\n\n scrollPointsRef.current.push(scrollPoint);\n\n throttleSend();\n }, [throttleSend]);\n\n useEffect(() => {\n fetchChapter();\n }, [fetchChapter]);\n\n useEffect(() => {\n if (containerRef.current) {\n if (isTeacher) {\n const scrollElement = containerRef.current;\n\n scrollElement.addEventListener('scroll', handleScroll);\n\n return () => {\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', handleScroll);\n }\n };\n }\n }\n }, [isTeacher, handleScroll]);\n\n useEffect(() => {\n const scrollElement = containerRef.current;\n\n if (\n receivedScrollPoints &&\n Array.isArray(receivedScrollPoints) &&\n !isTeacher &&\n scrollElement\n ) {\n const averageScroll = Math.floor(\n receivedScrollPoints.reduce((a, b) => a + b, 0) / receivedScrollPoints.length,\n );\n\n scrollElement.scrollTo({\n top: averageScroll,\n behavior: 'smooth',\n });\n }\n }, [receivedScrollPoints, isTeacher]);\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $gutterX={2}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n >\n {chapterId ? (\n <>\n <Styled.ChapterWrapper>\n <ChapterDetails\n userChapterId={chapterId}\n studentId={studentId}\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n onExit={handleOnBackIconClick}\n />\n </Styled.ChapterWrapper>\n </>\n ) : (\n <MilestoneList\n userType={isTeacher ? 'TEACHER' : 'STUDENT'}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType=\"DRAFT\"\n onChapterClick={handleOnChapterClick}\n courseStream={stream}\n isTrialSession\n />\n )}\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","studentClassroomId","stream","name","chapterId","containerRef","useRef","scrollPointsRef","isSendingScrollPointsRef","publishScrollEvents","closeChannel","receivedScrollPoints","useLearningPlanScrollSync","fetchChapter","useCallback","scrollElement","handleOnChapterClick","chapter","handleOnBackIconClick","sendScrollPoints","throttleSend","useMemo","throttle","handleScroll","scrollPoint","_a","useEffect","averageScroll","a","b","Styled.Container","jsx","Styled.Wrapper","Fragment","Styled.ChapterWrapper","ChapterDetails","MilestoneList"],"mappings":";;;;;;;;AAWA,MAAMA,IAAyB,MAAM;AACnC,QAAM,EAAE,eAAAC,GAAe,WAAAC,GAAW,UAAAC,GAAU,WAAAC,GAAW,mBAAAC,EAAA,IACrDC,KACI;AAAA,IACJ,WAAW,EAAE,sBAAsBC,GAAoB,QAAAC,EAAO;AAAA,EAAA,IAC5DP,KAAiB,CAAA,GACf,EAAE,MAAAQ,IAAO,IAAI,WAAAC,EAAU,IAAIP,KAAY,CAAA,GAEvCQ,IAAeC,EAAuB,IAAI,GAC1CC,IAAkBD,EAAiB,CAAA,CAAE,GACrCE,IAA2BF,EAAO,EAAK,GAEvC;AAAA,IACJ,qBAAAG;AAAA,IACA,cAAAC;AAAA,IACA,cAAcC;AAAA,EAAA,IACZC,EAA0BX,CAAkB,GAE1CY,IAAeC,EAAY,MAAM;AACrC,QAAIV,KAAaR,GAAW;AAC1B,YAAMmB,IAAgBV,EAAa;AAEnC,MAAAU,KAAA,QAAAA,EAAe,SAAS;AAAA,QACtB,KAAK;AAAA,QACL,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,EAAA,GACC,CAACnB,GAAWQ,CAAS,CAAC,GAEnBY,IAAuBF;AAAA,IAC3B,CAACG,MAA+B;AACZ,MAAAlB,EAAA;AAAA,QAChB,WAAWkB,EAAQ;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,IACA,CAAClB,CAAiB;AAAA,EAAA,GAGdmB,IAAwBJ,EAAY,MAAM;AAC5B,IAAAf,EAAA;AAAA,MAChB,WAAW;AAAA,IAAA,CACZ;AAAA,EAAA,GACA,CAACA,CAAiB,CAAC,GAEhBoB,IAAmBL,EAAY,MAAM;AACzC,IAAIP,EAAgB,QAAQ,WAAW,KAAKC,EAAyB,YAErEA,EAAyB,UAAU,IAE/BC,KACkBA,EAAA;AAAA,MAClB,WAAW;AAAA,MACX,cAAc;AAAA,QACZ,cAAcF,EAAgB;AAAA,MAChC;AAAA,IAAA,CACD,GAGHA,EAAgB,UAAU,IAC1BC,EAAyB,UAAU;AAAA,EAAA,GAClC,CAACC,CAAmB,CAAC,GAElBW,IAAeC,EAAQ,MAAMC,EAASH,GAAkB,GAAG,GAAG,CAACA,CAAgB,CAAC,GAEhFI,IAAeT,EAAY,MAAM;;AAC/B,UAAAU,MAAcC,IAAApB,EAAa,YAAb,gBAAAoB,EAAsB,cAAa;AAEvC,IAAAlB,EAAA,QAAQ,KAAKiB,CAAW,GAE3BJ;EAAA,GACZ,CAACA,CAAY,CAAC;AAEjB,SAAAM,EAAU,MAAM;AACD,IAAAb;EAAA,GACZ,CAACA,CAAY,CAAC,GAEjBa,EAAU,MAAM;AACd,QAAIrB,EAAa,WACXP,GAAW;AACb,YAAMiB,IAAgBV,EAAa;AAErB,aAAAU,EAAA,iBAAiB,UAAUQ,CAAY,GAE9C,MAAM;AACX,QAAIR,KACYA,EAAA,oBAAoB,UAAUQ,CAAY;AAAA,MAC1D;AAAA,IAEJ;AAAA,EACF,GACC,CAACzB,GAAWyB,CAAY,CAAC,GAE5BG,EAAU,MAAM;AACd,UAAMX,IAAgBV,EAAa;AAEnC,QACEM,KACA,MAAM,QAAQA,CAAoB,KAClC,CAACb,KACDiB,GACA;AACA,YAAMY,IAAgB,KAAK;AAAA,QACzBhB,EAAqB,OAAO,CAACiB,GAAGC,MAAMD,IAAIC,GAAG,CAAC,IAAIlB,EAAqB;AAAA,MAAA;AAGzE,MAAAI,EAAc,SAAS;AAAA,QACrB,KAAKY;AAAA,QACL,UAAU;AAAA,MAAA,CACX;AAAA,IACH;AAAA,EAAA,GACC,CAAChB,GAAsBb,CAAS,CAAC,GAEpC4B,EAAU,MACD,MAAM;AACE,IAAAhB;EAAA,GAEd,CAACA,CAAY,CAAC,qBAGdoB,GAAA,EAAiB,KAAKzB,GAAc,eAAeP,GAClD,UAAA,gBAAAiC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,YAAYlC;AAAA,MACZ,UAAU;AAAA,MACV,eAAeA;AAAA,MACf,IAAG;AAAA,MAEF,UACCM,IAAA,gBAAA2B,EAAAE,GAAA,EACE,UAAC,gBAAAF,EAAAG,GAAA,EACC,UAAA,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,eAAe/B;AAAA,UACf,WAAAR;AAAA,UACA,UAAUE,IAAY,YAAY;AAAA,UAClC,QAAQoB;AAAA,QAAA;AAAA,MAAA,EAEZ,CAAA,EACF,CAAA,IAEA,gBAAAa;AAAA,QAACK;AAAAA,QAAA;AAAA,UACC,UAAUtC,IAAY,YAAY;AAAA,UAClC,aAAaK;AAAA,UACb,WAAAP;AAAA,UACA,oBAAAK;AAAA,UACA,eAAc;AAAA,UACd,gBAAgBe;AAAA,UAChB,cAAcd;AAAA,UACd,gBAAc;AAAA,QAAA;AAAA,MAChB;AAAA,IAAA;AAAA,EAGN,EAAA,CAAA;AAEJ;"}
@@ -1,24 +1,24 @@
1
1
  import { GIF as n } from "../../../../assets/gif/gif.js";
2
2
  const o = [
3
3
  {
4
- title: "school success",
5
- description: ["Synced Curriculum", "Homework Help", "School Tests Prep"],
6
- infoBackground: "PURPLE_1",
7
- animationSource: n.SCHOOL_SUCCESS_MINI,
4
+ title: "Personalized Sessions",
5
+ description: "Aligned with school curriculum or specific needs",
6
+ infoBackground: "YELLOW_1",
7
+ animationSource: n.PERSONALIZED_SESSION,
8
8
  dimension: ["100%", "100%"]
9
9
  },
10
10
  {
11
- title: "test prep",
12
- description: ["Math Kangaroo", "NJSLA", "STAAR, etc"],
13
- infoBackground: "BLUE_1",
14
- animationSource: n.TEST_PREP_MINI,
11
+ title: "Regular Practice",
12
+ description: "Homework assignments plus daily practice on app",
13
+ infoBackground: "PURPLE_1",
14
+ animationSource: n.REGULAR_PRACTICE,
15
15
  dimension: ["100%", "100%"]
16
16
  },
17
17
  {
18
- title: "enrichment",
19
- description: ["Financial Literacy", "Data Science", "Decision Making, etc"],
20
- infoBackground: "ORANGE_1",
21
- animationSource: n.ENRICHMENT_MINI,
18
+ title: "Parent-tutor conference",
19
+ description: "Progress review and approach adjustment",
20
+ infoBackground: "GREEN_1",
21
+ animationSource: n.STEPUP,
22
22
  dimension: ["100%", "100%"]
23
23
  }
24
24
  ], e = [
@@ -1 +1 @@
1
- {"version":3,"file":"offering-information-constants.js","sources":["../../../../../src/features/trial-session/comps/offering-information/offering-information-constants.ts"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport { GIF } from '../../../../assets/gif/gif';\n\ntype TCircleDetails = {\n title: string;\n description: string | string[];\n animationBackground?: TColorNames;\n infoBackground: TColorNames;\n animationSource: string;\n animationPadding?: number;\n dimension?: (number | string | undefined)[];\n coverAnimation?: boolean;\n}[];\n\nconst goalDetails: TCircleDetails = [\n {\n title: 'school success',\n description: ['Synced Curriculum', 'Homework Help', 'School Tests Prep'],\n infoBackground: 'PURPLE_1',\n animationSource: GIF.SCHOOL_SUCCESS_MINI,\n dimension: ['100%', '100%'],\n },\n {\n title: 'test prep',\n description: ['Math Kangaroo', 'NJSLA', 'STAAR, etc'],\n infoBackground: 'BLUE_1',\n animationSource: GIF.TEST_PREP_MINI,\n dimension: ['100%', '100%'],\n },\n {\n title: 'enrichment',\n description: ['Financial Literacy', 'Data Science', 'Decision Making, etc'],\n infoBackground: 'ORANGE_1',\n animationSource: GIF.ENRICHMENT_MINI,\n dimension: ['100%', '100%'],\n },\n];\n\nconst parentAppDetails: TCircleDetails = [\n {\n title: 'stay \\nconnected',\n description: 'Chat with your tutor and \\nreceive real-time updates.',\n infoBackground: 'BLUE_1',\n animationSource: GIF.STAY_CONNECTED,\n dimension: ['100%', '100%'],\n },\n {\n title: 'track \\nprogress',\n description: 'Progress, strengths, and \\nareas of improvement.',\n infoBackground: 'PURPLE_1',\n animationSource: GIF.TRACK_PROGRESS,\n dimension: ['100%', '100%'],\n },\n {\n title: 'easy \\nrescheduling',\n description: 'Conveniently change \\nyour class timings.',\n infoBackground: 'GREEN_1',\n animationSource: GIF.EASY_RESCHEDULING,\n dimension: ['100%', '100%'],\n },\n];\n\nconst circleDetails: TCircleDetails = [\n {\n title: 'mental \\nmath',\n description: 'Get faster and stay \\nahead in school.',\n animationBackground: 'YELLOW_4',\n infoBackground: 'YELLOW_1',\n animationSource: GIF.SKILLS,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'strategy \\ngames',\n description: 'Train to think deeper \\nand plan ahead',\n animationBackground: 'BLUE_4',\n infoBackground: 'BLUE_1',\n animationSource: GIF.GAMES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'logic \\npuzzles',\n description: 'Think in new ways, \\nand stay sharp.',\n animationBackground: 'ORANGE_4',\n infoBackground: 'ORANGE_1',\n animationSource: GIF.PUZZLES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n];\n\nexport { goalDetails, parentAppDetails, circleDetails };\n"],"names":["goalDetails","GIF","parentAppDetails","circleDetails"],"mappings":";AAeA,MAAMA,IAA8B;AAAA,EAClC;AAAA,IACE,OAAO;AAAA,IACP,aAAa,CAAC,qBAAqB,iBAAiB,mBAAmB;AAAA,IACvE,gBAAgB;AAAA,IAChB,iBAAiBC,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa,CAAC,iBAAiB,SAAS,YAAY;AAAA,IACpD,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa,CAAC,sBAAsB,gBAAgB,sBAAsB;AAAA,IAC1E,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEMC,IAAmC;AAAA,EACvC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBD,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEME,IAAgC;AAAA,EACpC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBF,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AACF;"}
1
+ {"version":3,"file":"offering-information-constants.js","sources":["../../../../../src/features/trial-session/comps/offering-information/offering-information-constants.ts"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport { GIF } from '../../../../assets/gif/gif';\n\ntype TCircleDetails = {\n title: string;\n description: string | string[];\n animationBackground?: TColorNames;\n infoBackground: TColorNames;\n animationSource: string;\n animationPadding?: number;\n dimension?: (number | string | undefined)[];\n coverAnimation?: boolean;\n}[];\n\nconst goalDetails: TCircleDetails = [\n {\n title: 'Personalized Sessions',\n description: 'Aligned with school curriculum or specific needs',\n infoBackground: 'YELLOW_1',\n animationSource: GIF.PERSONALIZED_SESSION,\n dimension: ['100%', '100%'],\n },\n {\n title: 'Regular Practice',\n description: 'Homework assignments plus daily practice on app',\n infoBackground: 'PURPLE_1',\n animationSource: GIF.REGULAR_PRACTICE,\n dimension: ['100%', '100%'],\n },\n {\n title: 'Parent-tutor conference',\n description: 'Progress review and approach adjustment',\n infoBackground: 'GREEN_1',\n animationSource: GIF.STEPUP,\n dimension: ['100%', '100%'],\n },\n];\n\nconst parentAppDetails: TCircleDetails = [\n {\n title: 'stay \\nconnected',\n description: 'Chat with your tutor and \\nreceive real-time updates.',\n infoBackground: 'BLUE_1',\n animationSource: GIF.STAY_CONNECTED,\n dimension: ['100%', '100%'],\n },\n {\n title: 'track \\nprogress',\n description: 'Progress, strengths, and \\nareas of improvement.',\n infoBackground: 'PURPLE_1',\n animationSource: GIF.TRACK_PROGRESS,\n dimension: ['100%', '100%'],\n },\n {\n title: 'easy \\nrescheduling',\n description: 'Conveniently change \\nyour class timings.',\n infoBackground: 'GREEN_1',\n animationSource: GIF.EASY_RESCHEDULING,\n dimension: ['100%', '100%'],\n },\n];\n\nconst circleDetails: TCircleDetails = [\n {\n title: 'mental \\nmath',\n description: 'Get faster and stay \\nahead in school.',\n animationBackground: 'YELLOW_4',\n infoBackground: 'YELLOW_1',\n animationSource: GIF.SKILLS,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'strategy \\ngames',\n description: 'Train to think deeper \\nand plan ahead',\n animationBackground: 'BLUE_4',\n infoBackground: 'BLUE_1',\n animationSource: GIF.GAMES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n {\n title: 'logic \\npuzzles',\n description: 'Think in new ways, \\nand stay sharp.',\n animationBackground: 'ORANGE_4',\n infoBackground: 'ORANGE_1',\n animationSource: GIF.PUZZLES,\n animationPadding: 25,\n dimension: [200, 200],\n },\n];\n\nexport { goalDetails, parentAppDetails, circleDetails };\n"],"names":["goalDetails","GIF","parentAppDetails","circleDetails"],"mappings":";AAeA,MAAMA,IAA8B;AAAA,EAClC;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBC,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEMC,IAAmC;AAAA,EACvC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBD,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,WAAW,CAAC,QAAQ,MAAM;AAAA,EAC5B;AACF,GAEME,IAAgC;AAAA,EACpC;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBF,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AAAA,EACA;AAAA,IACE,OAAO;AAAA;AAAA,IACP,aAAa;AAAA;AAAA,IACb,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,IAChB,iBAAiBA,EAAI;AAAA,IACrB,kBAAkB;AAAA,IAClB,WAAW,CAAC,KAAK,GAAG;AAAA,EACtB;AACF;"}
@@ -0,0 +1,25 @@
1
+ import { ILLUSTRATIONS as e } from "../../../../../assets/illustrations/illustrations.js";
2
+ const t = [
3
+ {
4
+ title: "Personalized Sessions",
5
+ description: "Your tutor will align sessions to your child's school curriculum and focus areas.",
6
+ image: e.KNOWLEDGE_BLUE,
7
+ textColor: "BLUE_4"
8
+ },
9
+ {
10
+ title: "Regular Practice",
11
+ description: "Your child will get homework assignments and daily practice through our app.",
12
+ image: e.BOOK_CHECKED_ORANGE,
13
+ textColor: "ORANGE_4"
14
+ },
15
+ {
16
+ title: "Parent-tutor Conference",
17
+ description: "We'll schedule a conference after 8 sessions to review progress & adjust approach.",
18
+ image: e.HANDSHAKE,
19
+ textColor: "YELLOW_4"
20
+ }
21
+ ];
22
+ export {
23
+ t as nextStepsData
24
+ };
25
+ //# sourceMappingURL=next-steps-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps-constants.ts"],"sourcesContent":["import type { INextStep } from './next-steps-types';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\n\nexport const nextStepsData: INextStep[] = [\n {\n title: 'Personalized Sessions',\n description: `Your tutor will align sessions to your child's school curriculum and focus areas.`,\n image: ILLUSTRATIONS.KNOWLEDGE_BLUE,\n textColor: 'BLUE_4',\n },\n {\n title: 'Regular Practice',\n description: `Your child will get homework assignments and daily practice through our app.`,\n image: ILLUSTRATIONS.BOOK_CHECKED_ORANGE,\n textColor: 'ORANGE_4',\n },\n {\n title: 'Parent-tutor Conference',\n description: `We'll schedule a conference after 8 sessions to review progress & adjust approach.`,\n image: ILLUSTRATIONS.HANDSHAKE,\n textColor: 'YELLOW_4',\n },\n];\n"],"names":["nextStepsData","ILLUSTRATIONS"],"mappings":";AAIO,MAAMA,IAA6B;AAAA,EACxC;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOC,EAAc;AAAA,IACrB,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAc;AAAA,IACrB,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAc;AAAA,IACrB,WAAW;AAAA,EACb;AACF;"}
@@ -0,0 +1,43 @@
1
+ import i from "styled-components";
2
+ import d from "../../../../ui/layout/flex-view.js";
3
+ const t = i(d)(
4
+ ({ theme: o }) => `
5
+ border-bottom: 1px solid ${o.colors.BLACK_5};
6
+
7
+ ${o.mediaQueries.minWidthTablet} {
8
+ border-bottom: none;
9
+ }
10
+ `
11
+ ), n = i(d)(
12
+ ({ theme: o }) => `
13
+ &:first-child {
14
+ ${t} {
15
+ padding-top: 0;
16
+ }
17
+ }
18
+ &:last-child {
19
+ ${t} {
20
+ padding-bottom: 0;
21
+ border-bottom: none;
22
+ }
23
+ }
24
+
25
+ ${o.mediaQueries.minWidthTablet} {
26
+ border-right: 1px solid ${o.colors.BLACK_5};
27
+
28
+ &:last-child {
29
+ border-right: none;
30
+ padding-right: 0;
31
+ }
32
+
33
+ &:first-child {
34
+ padding-left: 0;
35
+ }
36
+ }
37
+ `
38
+ );
39
+ export {
40
+ n as ListItem,
41
+ t as TextContent
42
+ };
43
+ //# sourceMappingURL=next-steps-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps-styled.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const TextContent = styled(FlexView)(\n ({ theme }) => `\n border-bottom: 1px solid ${theme.colors.BLACK_5};\n\n ${theme.mediaQueries.minWidthTablet} {\n border-bottom: none;\n }\n `,\n);\n\nexport const ListItem = styled(FlexView)(\n ({ theme }) => `\n &:first-child {\n ${TextContent} {\n padding-top: 0;\n }\n }\n &:last-child {\n ${TextContent} {\n padding-bottom: 0;\n border-bottom: none;\n }\n }\n\n ${theme.mediaQueries.minWidthTablet} {\n border-right: 1px solid ${theme.colors.BLACK_5};\n\n &:last-child {\n border-right: none;\n padding-right: 0;\n }\n\n &:first-child {\n padding-left: 0;\n }\n }\n `,\n);\n"],"names":["TextContent","styled","FlexView","theme","ListItem"],"mappings":";;AAIa,MAAAA,IAAcC,EAAOC,CAAQ;AAAA,EACxC,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA,+BACcA,EAAM,OAAO,OAAO;AAAA;AAAA,MAE7CA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAIvC,GAEaC,IAAWH,EAAOC,CAAQ;AAAA,EACrC,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA;AAAA,QAETH,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA,QAKXA,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMbG,EAAM,aAAa,cAAc;AAAA,gCACPA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYpD;"}
@@ -0,0 +1,49 @@
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
+ import { memo as a } from "react";
3
+ import { useTheme as h } from "styled-components";
4
+ import p from "../../../../ui/image/image.js";
5
+ import m from "../../../../ui/layout/flex-view.js";
6
+ import o from "../../../../ui/separator/separator.js";
7
+ import n from "../../../../ui/text/text.js";
8
+ import { EDeviceType as $ } from "../../../../ui/theme/constants.js";
9
+ import { nextStepsData as d } from "./next-steps-constants.js";
10
+ import { ListItem as f, TextContent as x } from "./next-steps-styled.js";
11
+ const b = () => {
12
+ const e = h().device <= $.MOBILE;
13
+ return /* @__PURE__ */ t(m, { children: [
14
+ /* @__PURE__ */ r(n, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "What happens next?" }),
15
+ /* @__PURE__ */ r(o, { height: e ? 16 : 20 }),
16
+ /* @__PURE__ */ r(m, { $justifyContent: "center", $flexDirection: e ? "column" : "row", children: d.map(({ title: i, description: l, image: c, textColor: s }) => /* @__PURE__ */ t(
17
+ f,
18
+ {
19
+ $flexDirection: e ? "row" : "column",
20
+ $flex: 1,
21
+ $gutterX: e ? 0 : 1,
22
+ $flexColumnGapX: e ? 0.75 : 0,
23
+ $alignItems: e ? "center" : "normal",
24
+ children: [
25
+ /* @__PURE__ */ r(
26
+ p,
27
+ {
28
+ src: c,
29
+ width: e ? 72 : 80,
30
+ height: e ? 72 : 80,
31
+ withLoader: !1
32
+ }
33
+ ),
34
+ !e && /* @__PURE__ */ r(o, { heightX: 0.75 }),
35
+ /* @__PURE__ */ t(x, { $flex: 1, $gapX: e ? 1 : 0, $justifyContent: "space-between", children: [
36
+ /* @__PURE__ */ r(n, { $renderAs: "ac3-black", $renderOnMobileAs: "ac4-black", $color: s, children: i }),
37
+ /* @__PURE__ */ r(o, { height: e ? 10 : 12 }),
38
+ /* @__PURE__ */ r(n, { $renderAs: "ub1", $renderOnMobileAs: "ub2", $color: "WHITE", children: l })
39
+ ] })
40
+ ]
41
+ },
42
+ i
43
+ )) })
44
+ ] });
45
+ }, O = a(b);
46
+ export {
47
+ O as default
48
+ };
49
+ //# sourceMappingURL=next-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { nextStepsData } from './next-steps-constants';\nimport * as Styled from './next-steps-styled';\n\nconst NextSteps: React.FC = () => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n return (\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n What happens next?\n </Text>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $justifyContent=\"center\" $flexDirection={isMobile ? 'column' : 'row'}>\n {nextStepsData.map(({ title, description, image, textColor }) => (\n <Styled.ListItem\n key={title}\n $flexDirection={isMobile ? 'row' : 'column'}\n $flex={1}\n $gutterX={isMobile ? 0 : 1}\n $flexColumnGapX={isMobile ? 0.75 : 0}\n $alignItems={isMobile ? 'center' : 'normal'}\n >\n <Image\n src={image}\n width={isMobile ? 72 : 80}\n height={isMobile ? 72 : 80}\n withLoader={false}\n />\n {!isMobile && <Separator heightX={0.75} />}\n <Styled.TextContent $flex={1} $gapX={isMobile ? 1 : 0} $justifyContent=\"space-between\">\n <Text $renderAs=\"ac3-black\" $renderOnMobileAs=\"ac4-black\" $color={textColor}>\n {title}\n </Text>\n <Separator height={isMobile ? 10 : 12} />\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n {description}\n </Text>\n </Styled.TextContent>\n </Styled.ListItem>\n ))}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(NextSteps);\n"],"names":["NextSteps","isMobile","useTheme","EDeviceType","FlexView","jsx","Text","Separator","nextStepsData","title","description","image","textColor","jsxs","Styled.ListItem","Image","Styled.TextContent","NextSteps$1","memo"],"mappings":";;;;;;;;;;AAWA,MAAMA,IAAsB,MAAM;AAE1B,QAAAC,IADQC,IACS,UAAUC,EAAY;AAE7C,2BACGC,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,UAEvE,qBAAA,CAAA;AAAA,IACC,gBAAAD,EAAAE,GAAA,EAAU,QAAQN,IAAW,KAAK,IAAI;AAAA,sBACtCG,GAAS,EAAA,iBAAgB,UAAS,gBAAgBH,IAAW,WAAW,OACtE,UAAcO,EAAA,IAAI,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,OAAAC,GAAO,WAAAC,QAC/C,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,gBAAgBb,IAAW,QAAQ;AAAA,QACnC,OAAO;AAAA,QACP,UAAUA,IAAW,IAAI;AAAA,QACzB,iBAAiBA,IAAW,OAAO;AAAA,QACnC,aAAaA,IAAW,WAAW;AAAA,QAEnC,UAAA;AAAA,UAAA,gBAAAI;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,KAAKJ;AAAA,cACL,OAAOV,IAAW,KAAK;AAAA,cACvB,QAAQA,IAAW,KAAK;AAAA,cACxB,YAAY;AAAA,YAAA;AAAA,UACd;AAAA,UACC,CAACA,KAAa,gBAAAI,EAAAE,GAAA,EAAU,SAAS,KAAM,CAAA;AAAA,UACxC,gBAAAM,EAACG,GAAA,EAAmB,OAAO,GAAG,OAAOf,IAAW,IAAI,GAAG,iBAAgB,iBACrE,UAAA;AAAA,YAAA,gBAAAI,EAACC,KAAK,WAAU,aAAY,mBAAkB,aAAY,QAAQM,GAC/D,UACHH,EAAA,CAAA;AAAA,YACC,gBAAAJ,EAAAE,GAAA,EAAU,QAAQN,IAAW,KAAK,IAAI;AAAA,YACvC,gBAAAI,EAACC,KAAK,WAAU,OAAM,mBAAkB,OAAM,QAAO,SAClD,UACHI,EAAA,CAAA;AAAA,UAAA,GACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAtBKD;AAAA,IAwBR,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEeQ,IAAAC,EAAKlB,CAAS;"}
@@ -0,0 +1,29 @@
1
+ import { useState as a, useRef as l, useCallback as s, useEffect as d } from "react";
2
+ import { COUNTDOWN_INTERVAL as T, COUNTDOWN_THRESHOLD as p } from "../session-status-constants.js";
3
+ import { formatTimeRemaining as I } from "../session-status-helpers.js";
4
+ import { differenceInSeconds as R } from "../../../../../../node_modules/date-fns/differenceInSeconds.js";
5
+ import { fromUnixTime as w } from "../../../../../../node_modules/date-fns/fromUnixTime.js";
6
+ const E = (r, c, f) => {
7
+ const [m, t] = a(""), n = l(null), e = s(() => {
8
+ n.current && (clearInterval(n.current), n.current = null);
9
+ }, []);
10
+ return d(() => {
11
+ if (!r || c || f) {
12
+ e(), t("");
13
+ return;
14
+ }
15
+ const i = w(r), u = () => {
16
+ const o = R(i, /* @__PURE__ */ new Date());
17
+ if (o <= 0 || o > p) {
18
+ t(""), e();
19
+ return;
20
+ }
21
+ t(I(o));
22
+ };
23
+ return u(), n.current = setInterval(u, T), e;
24
+ }, [r, c, f, e]), m;
25
+ };
26
+ export {
27
+ E as default
28
+ };
29
+ //# sourceMappingURL=use-session-countdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-session-countdown.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.ts"],"sourcesContent":["import { differenceInSeconds, fromUnixTime } from 'date-fns';\nimport { useState, useRef, useCallback, useEffect } from 'react';\n\nimport { COUNTDOWN_INTERVAL, COUNTDOWN_THRESHOLD } from '../session-status-constants';\nimport { formatTimeRemaining } from '../session-status-helpers';\n\nconst useSessionCountdown = (\n nextSessionStartTime: number | null,\n isFirstSessionCompleted: boolean,\n isNoShowStatus: boolean,\n) => {\n const [remainingTime, setRemainingTime] = useState('');\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n\n const clearCountdownInterval = useCallback(() => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (!nextSessionStartTime || isFirstSessionCompleted || isNoShowStatus) {\n clearCountdownInterval();\n setRemainingTime('');\n\n return;\n }\n\n const startTime = fromUnixTime(nextSessionStartTime);\n\n const updateCountdown = () => {\n const now = new Date();\n const diffInSeconds = differenceInSeconds(startTime, now);\n\n if (diffInSeconds <= 0 || diffInSeconds > COUNTDOWN_THRESHOLD) {\n setRemainingTime('');\n clearCountdownInterval();\n\n return;\n }\n\n setRemainingTime(formatTimeRemaining(diffInSeconds));\n };\n\n updateCountdown();\n intervalRef.current = setInterval(updateCountdown, COUNTDOWN_INTERVAL);\n\n return clearCountdownInterval;\n }, [nextSessionStartTime, isFirstSessionCompleted, isNoShowStatus, clearCountdownInterval]);\n\n return remainingTime;\n};\n\nexport default useSessionCountdown;\n"],"names":["useSessionCountdown","nextSessionStartTime","isFirstSessionCompleted","isNoShowStatus","remainingTime","setRemainingTime","useState","intervalRef","useRef","clearCountdownInterval","useCallback","useEffect","startTime","fromUnixTime","updateCountdown","diffInSeconds","differenceInSeconds","COUNTDOWN_THRESHOLD","formatTimeRemaining","COUNTDOWN_INTERVAL"],"mappings":";;;;;AAMA,MAAMA,IAAsB,CAC1BC,GACAC,GACAC,MACG;AACH,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAE,GAC/CC,IAAcC,EAA8B,IAAI,GAEhDC,IAAyBC,EAAY,MAAM;AAC/C,IAAIH,EAAY,YACd,cAAcA,EAAY,OAAO,GACjCA,EAAY,UAAU;AAAA,EAE1B,GAAG,CAAE,CAAA;AAEL,SAAAI,EAAU,MAAM;AACV,QAAA,CAACV,KAAwBC,KAA2BC,GAAgB;AAC/C,MAAAM,KACvBJ,EAAiB,EAAE;AAEnB;AAAA,IACF;AAEM,UAAAO,IAAYC,EAAaZ,CAAoB,GAE7Ca,IAAkB,MAAM;AAEtB,YAAAC,IAAgBC,EAAoBJ,uBAD1B,MACwC;AAEpD,UAAAG,KAAiB,KAAKA,IAAgBE,GAAqB;AAC7D,QAAAZ,EAAiB,EAAE,GACII;AAEvB;AAAA,MACF;AAEiB,MAAAJ,EAAAa,EAAoBH,CAAa,CAAC;AAAA,IAAA;AAGrC,WAAAD,KACJP,EAAA,UAAU,YAAYO,GAAiBK,CAAkB,GAE9DV;AAAA,KACN,CAACR,GAAsBC,GAAyBC,GAAgBM,CAAsB,CAAC,GAEnFL;AACT;"}
@@ -0,0 +1,132 @@
1
+ import { h } from "../../../../../../node_modules/humanize-plus/dist/humanize.js";
2
+ import { useCallback as o, useMemo as T } from "react";
3
+ import { ILLUSTRATIONS as r } from "../../../../../../assets/illustrations/illustrations.js";
4
+ import { LOTTIE as c } from "../../../../../../assets/lottie/lottie.js";
5
+ import { CUEMATH_APP_URL as d } from "../../../../../../constants/config.js";
6
+ import { EClassStatus as O } from "../../../../../parent-dashboard/parent-dashboard-types.js";
7
+ const P = ({
8
+ status: s,
9
+ completedSessions: i,
10
+ formattedSessionStart: e,
11
+ remainingTime: b,
12
+ isTeacherAssigned: t,
13
+ isFirstSessionCompleted: y,
14
+ isNoShowStatus: E,
15
+ teacherName: a,
16
+ studentName: S,
17
+ onRescheduleClick: u
18
+ }) => {
19
+ const p = o(() => {
20
+ window.open(d, "_blank");
21
+ }, []), n = o(() => {
22
+ u == null || u();
23
+ }, [u]), C = o(() => {
24
+ const l = s === O.S_NO_SHOW;
25
+ return {
26
+ topSection: {
27
+ icon: r.CALENDAR_CROSS_ORANGE,
28
+ title: "Session Cancelled",
29
+ titleColor: "ORANGE_4",
30
+ titleStyle: "ac3",
31
+ titleTabletStyle: "ac4",
32
+ subtitleStyle: "ab1",
33
+ subtitleTabletStyle: "ab2",
34
+ subtitle: e,
35
+ description: l ? "We understand life is unpredictable and schedules change unexpectedly." : "We're sorry - our tutor couldn't attend your first session. This rarely happens, but tutors sometimes face unexpected circumstances.",
36
+ descriptionColor: "WHITE_1",
37
+ subtitleLineThrough: !0
38
+ },
39
+ bottomSection: {
40
+ icon: r.PLATFORM_PURPLE,
41
+ title: "Please Reschedule",
42
+ titleColor: "PURPLE_4",
43
+ titleStyle: "ac3",
44
+ titleTabletStyle: "ac4",
45
+ subtitleStyle: "ub1",
46
+ subtitleTabletStyle: "ub2",
47
+ subtitle: l ? "Please reschedule when it works better for you. Choose any available time slot, and we'll assign you a new tutor for your child." : "Since your first class didn't happen, we haven't activated your subscription. Choose any available time slot, and we'll assign a reliable tutor.",
48
+ action: {
49
+ label: "Reschedule",
50
+ onClick: n
51
+ }
52
+ }
53
+ };
54
+ }, [s, e, n]), _ = o(() => {
55
+ const l = i === 1 ? "First" : i.toString();
56
+ return {
57
+ topSection: {
58
+ icon: r.BOOK_CHECKED_GREEN,
59
+ title: `${l} ${h.pluralize(i, "session")} Completed!`,
60
+ titleColor: "GREEN_4",
61
+ titleStyle: "ac3",
62
+ titleTabletStyle: "ac4",
63
+ align: "center"
64
+ },
65
+ bottomSection: {
66
+ lottie: c.CALENDAR_HOUR_GLASS_ORANGE,
67
+ title: "Next Session",
68
+ titleColor: "ORANGE_4",
69
+ titleStyle: "ac3",
70
+ titleTabletStyle: "ac4",
71
+ subtitleStyle: "ab1",
72
+ subtitleTabletStyle: "ab2",
73
+ subtitle: `${e}
74
+ with ${a}`,
75
+ action: {
76
+ label: "Reschedule on the Cuemath app",
77
+ onClick: p
78
+ }
79
+ }
80
+ };
81
+ }, [i, e, a, p]), f = o(() => {
82
+ const l = b || "SESSION SCHEDULED", R = !!b;
83
+ return {
84
+ topSection: {
85
+ icon: r.CALENDAR_CHECK_GREEN,
86
+ title: l,
87
+ titleColor: "GREEN_4",
88
+ titleStyle: R ? "ub2" : "ac3",
89
+ titleTabletStyle: R ? "ub3" : "ac4",
90
+ subtitle: e,
91
+ subtitleStyle: "ab1",
92
+ subtitleTabletStyle: "ab2",
93
+ action: {
94
+ label: "Reschedule",
95
+ onClick: n
96
+ }
97
+ },
98
+ bottomSection: {
99
+ align: "center",
100
+ lottie: t ? c.TEACHER_FOUND : c.TEACHER_SEARCH,
101
+ title: t ? "Tutor Assigned!" : "",
102
+ titleColor: t ? "ORANGE_4" : "WHITE_1",
103
+ titleStyle: t ? "ac3" : "ab2",
104
+ titleTabletStyle: t ? "ac4" : "ab3",
105
+ subtitleStyle: "ub1",
106
+ subtitleTabletStyle: "ub2",
107
+ subtitle: t ? `From over 3000 expert tutors, we selected ${a} as the perfect match for ${S}!` : "Finding the perfect tutor for your child",
108
+ description: t ? "" : "This typically takes 24-48 hours. We'll notify you via email.",
109
+ maxWidth: t ? 368 : 383,
110
+ isLargeIcon: !0
111
+ }
112
+ };
113
+ }, [
114
+ b,
115
+ e,
116
+ t,
117
+ a,
118
+ S,
119
+ n
120
+ ]);
121
+ return T(() => E ? C() : y ? _() : f(), [
122
+ E,
123
+ y,
124
+ C,
125
+ _,
126
+ f
127
+ ]);
128
+ };
129
+ export {
130
+ P as default
131
+ };
132
+ //# sourceMappingURL=use-session-status-config.js.map