@cuemath/leap 3.3.37-m → 3.3.37

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 (224) hide show
  1. package/dist/assets/gif/gif.js +4 -1
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +1 -1
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  6. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +1 -1
  7. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  8. package/dist/features/auth/comps/otp-input/otp-input.js +35 -29
  9. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  10. package/dist/features/auth/pla-signup/pla-analytics-events.js +13 -3
  11. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  12. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +43 -34
  13. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  14. package/dist/features/chapters-v2/chapter-details/chapter-details.js +140 -101
  15. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  16. package/dist/features/chapters-v2/utils/index.js +20 -16
  17. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  18. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js +6 -6
  19. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js.map +1 -1
  20. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +20 -21
  21. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  22. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  23. package/dist/features/circle-games/sign-up/sign-up.js +6 -6
  24. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  25. package/dist/features/homework/hw-card-list/hw-card-list-view.js +17 -17
  26. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +86 -0
  27. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -0
  28. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +140 -0
  29. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +1 -0
  30. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  31. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  32. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  33. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  34. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +400 -0
  35. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  36. package/dist/features/milestone/constants.js +28 -15
  37. package/dist/features/milestone/constants.js.map +1 -1
  38. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  39. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +2 -2
  40. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js +23 -16
  41. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  42. package/dist/features/milestone/create/milestone-create-helpers.js +13 -7
  43. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  44. package/dist/features/parent-dashboard/api/cancel-subscription.js +9 -0
  45. package/dist/features/parent-dashboard/api/cancel-subscription.js.map +1 -0
  46. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +20 -0
  47. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +1 -0
  48. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +74 -0
  49. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +1 -0
  50. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/next-steps/next-steps-constants.js +1 -1
  51. package/dist/features/parent-dashboard/comps/next-steps/next-steps-constants.js.map +1 -0
  52. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/next-steps/next-steps-styled.js +1 -1
  53. package/dist/features/parent-dashboard/comps/next-steps/next-steps-styled.js.map +1 -0
  54. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/next-steps/next-steps.js +5 -5
  55. package/dist/features/parent-dashboard/comps/next-steps/next-steps.js.map +1 -0
  56. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +28 -22
  57. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -1
  58. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js +34 -0
  59. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js.map +1 -0
  60. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js +137 -0
  61. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js.map +1 -0
  62. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js +20 -0
  63. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js.map +1 -0
  64. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js +19 -0
  65. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js.map +1 -0
  66. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/session-status/session-status-styled.js +2 -2
  67. package/dist/features/parent-dashboard/comps/session-status/session-status-styled.js.map +1 -0
  68. package/dist/features/parent-dashboard/comps/session-status/session-status.js +124 -0
  69. package/dist/features/parent-dashboard/comps/session-status/session-status.js.map +1 -0
  70. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/session-summary/session-summary-constants.js +18 -12
  71. package/dist/features/parent-dashboard/comps/session-summary/session-summary-constants.js.map +1 -0
  72. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js +54 -0
  73. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js.map +1 -0
  74. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/session-summary/summary-card/summary-card-styled.js +1 -1
  75. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card-styled.js.map +1 -0
  76. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js +72 -0
  77. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js.map +1 -0
  78. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  79. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions-styled.js +1 -1
  80. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  81. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  82. package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions.js +14 -14
  83. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions.js.map +1 -0
  84. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js +1 -1
  85. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js.map +1 -1
  86. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +48 -46
  87. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  88. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +21 -0
  89. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +1 -0
  90. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +85 -0
  91. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +1 -0
  92. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +23 -0
  93. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +1 -0
  94. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +55 -0
  95. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +1 -0
  96. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +71 -0
  97. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +1 -0
  98. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +119 -0
  99. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +1 -0
  100. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +58 -0
  101. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +1 -0
  102. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +16 -17
  103. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -1
  104. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +4 -8
  105. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -1
  106. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
  107. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
  108. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +76 -0
  109. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +1 -0
  110. package/dist/features/parent-dashboard/parent-dashboard-constants.js +45 -4
  111. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -1
  112. package/dist/features/parent-dashboard/parent-dashboard-types.js +3 -3
  113. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  114. package/dist/features/parent-dashboard/parent-dashboard-view.js +197 -174
  115. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  116. package/dist/features/stickers/sticker-selector/sticker-selector.js +57 -58
  117. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
  118. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -1
  119. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +17 -32
  120. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -1
  121. package/dist/features/stickers/stickers-effects/stickers-effects.js +56 -40
  122. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -1
  123. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  124. package/dist/features/trial-session/api/teacher-availability.js +9 -0
  125. package/dist/features/trial-session/api/teacher-availability.js.map +1 -0
  126. package/dist/features/trial-session/comps/class-preference/class-preference.js +74 -58
  127. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  128. package/dist/features/trial-session/comps/class-preference/helpers.js +28 -0
  129. package/dist/features/trial-session/comps/class-preference/helpers.js.map +1 -0
  130. package/dist/features/trial-session/comps/learning-plan/index.js +47 -45
  131. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  132. package/dist/features/trial-session/comps/navigation-bar/index.js +41 -40
  133. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  134. package/dist/features/trial-session/comps/school-goals/school-goals.js +59 -57
  135. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  136. package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
  137. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  138. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +41 -40
  139. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  140. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +5 -0
  141. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  142. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +96 -51
  143. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  144. package/dist/features/trial-session/comps/student-profile/student-profile.js +70 -63
  145. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  146. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +43 -44
  147. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  148. package/dist/features/trial-session/comps/test-prep/test-prep.js +41 -40
  149. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  150. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js +60 -61
  151. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  152. package/dist/features/trial-session/helper.js +76 -61
  153. package/dist/features/trial-session/helper.js.map +1 -1
  154. package/dist/features/trial-session/hooks/use-slide-config-update.js +49 -0
  155. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +1 -0
  156. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +174 -144
  157. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  158. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  159. package/dist/features/trial-session/trial-session-view.js +99 -110
  160. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  161. package/dist/features/ui/accordion/accordion-items/accordion-items.js +13 -13
  162. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
  163. package/dist/features/ui/modals/modal-styled.js +45 -13
  164. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  165. package/dist/features/ui/modals/modal.js +31 -31
  166. package/dist/features/ui/modals/modal.js.map +1 -1
  167. package/dist/features/utils/utils.js +1 -1
  168. package/dist/features/utils/utils.js.map +1 -1
  169. package/dist/index.d.ts +95 -144
  170. package/dist/index.js +292 -301
  171. package/dist/index.js.map +1 -1
  172. package/dist/static/learning-session-grid-bg-mobile.8d2b7258.gif +0 -0
  173. package/dist/static/way-forward-grid-bg-mobile.374043d7.gif +0 -0
  174. package/dist/static/your-goals-grid-bg-mobile.62557024.gif +0 -0
  175. package/package.json +2 -3
  176. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +0 -12
  177. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +0 -1
  178. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js +0 -32
  179. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js.map +0 -1
  180. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js +0 -72
  181. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js.map +0 -1
  182. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js +0 -34
  183. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js.map +0 -1
  184. package/dist/features/stickers/stickers-effects/constants.js +0 -26
  185. package/dist/features/stickers/stickers-effects/constants.js.map +0 -1
  186. package/dist/features/stickers/stickers-effects/context/sticker-provider.js +0 -28
  187. package/dist/features/stickers/stickers-effects/context/sticker-provider.js.map +0 -1
  188. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js +0 -12
  189. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js.map +0 -1
  190. package/dist/features/stickers/stickers-effects/stickers-effects-types.js +0 -6
  191. package/dist/features/stickers/stickers-effects/stickers-effects-types.js.map +0 -1
  192. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +0 -1
  193. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +0 -1
  194. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +0 -1
  195. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +0 -29
  196. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +0 -1
  197. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +0 -132
  198. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +0 -1
  199. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +0 -11
  200. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +0 -1
  201. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +0 -19
  202. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +0 -1
  203. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +0 -1
  204. package/dist/features/trial-session/comps/pla/session-status/session-status.js +0 -127
  205. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +0 -1
  206. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +0 -1
  207. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +0 -53
  208. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +0 -1
  209. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +0 -1
  210. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +0 -56
  211. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +0 -1
  212. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +0 -1
  213. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +0 -1
  214. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +0 -1
  215. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +0 -1
  216. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +0 -10
  217. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +0 -1
  218. package/dist/node_modules/date-fns/differenceInMilliseconds.js +0 -9
  219. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +0 -1
  220. package/dist/node_modules/date-fns/differenceInSeconds.js +0 -11
  221. package/dist/node_modules/date-fns/differenceInSeconds.js.map +0 -1
  222. package/dist/static/trophy.a8ea85ef.json +0 -6813
  223. /package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions-constants.js +0 -0
  224. /package/dist/features/{trial-session/comps/pla → parent-dashboard/comps}/upcoming-sessions/upcoming-sessions-types.js +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.3.37-m",
3
+ "version": "3.3.37",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -96,6 +96,5 @@
96
96
  "vite-plugin-dts": "3.6.4",
97
97
  "vite-plugin-svgr": "3.2.0",
98
98
  "vite-tsconfig-paths": "^4.2.2"
99
- },
100
- "packageManager": "yarn@4.4.1"
99
+ }
101
100
  }
@@ -1,12 +0,0 @@
1
- import t from "styled-components";
2
- import e from "../../../ui/layout/flex-view.js";
3
- const r = t(e)`
4
- width: 100%;
5
- ${({ theme: i }) => i.mediaQueries.minWidthTablet} {
6
- max-width: 560px;
7
- }
8
- `;
9
- export {
10
- r as Container
11
- };
12
- //# sourceMappingURL=student-profile-summary-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"student-profile-summary-styled.js","sources":["../../../../../src/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const Container = styled(FlexView)`\n width: 100%;\n ${({ theme }) => theme.mediaQueries.minWidthTablet} {\n max-width: 560px;\n }\n`;\n"],"names":["Container","styled","FlexView","theme"],"mappings":";;AAIa,MAAAA,IAAYC,EAAOC,CAAQ;AAAA;AAAA,IAEpC,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;"}
@@ -1,32 +0,0 @@
1
- import { useCallback as r } from "react";
2
- import d from "../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
3
- const n = (m, e) => {
4
- const { publish: a } = d({
5
- studentClassroomId: m
6
- });
7
- return { sendSticker: r(
8
- (s, o) => {
9
- const t = {
10
- message: {
11
- data: {
12
- selectedSticker: {
13
- id: s.id,
14
- name: s.name
15
- },
16
- effectId: o
17
- }
18
- },
19
- type: "STICKERS"
20
- };
21
- a == null || a({
22
- eventName: "STICKERS",
23
- eventPayload: t
24
- }), e == null || e(t);
25
- },
26
- [e, a]
27
- ) };
28
- };
29
- export {
30
- n as useHandleStickerSend
31
- };
32
- //# sourceMappingURL=use-handle-sticker-send.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-handle-sticker-send.js","sources":["../../../../../src/features/stickers/sticker-selector/hooks/use-handle-sticker-send.tsx"],"sourcesContent":["import type {\n IStickerData,\n TStickerAnimationEffects,\n TStickersPayload,\n} from '../../stickers-types';\n\nimport { useCallback } from 'react';\n\nimport useInClassMessageBroker from '../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker';\n\nexport const useHandleStickerSend = (\n studentClassroomId: string,\n onStickerSend?: (payload: TStickersPayload) => void,\n) => {\n const { publish } = useInClassMessageBroker({\n studentClassroomId,\n });\n\n const sendSticker = useCallback(\n (sticker: IStickerData, effect: TStickerAnimationEffects) => {\n const payload: TStickersPayload = {\n message: {\n data: {\n selectedSticker: {\n id: sticker.id,\n name: sticker.name,\n },\n effectId: effect,\n },\n },\n type: 'STICKERS',\n };\n\n publish?.({\n eventName: 'STICKERS',\n eventPayload: payload,\n });\n\n onStickerSend?.(payload);\n },\n [onStickerSend, publish],\n );\n\n return { sendSticker };\n};\n"],"names":["useHandleStickerSend","studentClassroomId","onStickerSend","publish","useInClassMessageBroker","useCallback","sticker","effect","payload"],"mappings":";;AAUa,MAAAA,IAAuB,CAClCC,GACAC,MACG;AACG,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAwB;AAAA,IAC1C,oBAAAH;AAAA,EAAA,CACD;AA2BD,SAAO,EAAE,aAzBWI;AAAA,IAClB,CAACC,GAAuBC,MAAqC;AAC3D,YAAMC,IAA4B;AAAA,QAChC,SAAS;AAAA,UACP,MAAM;AAAA,YACJ,iBAAiB;AAAA,cACf,IAAIF,EAAQ;AAAA,cACZ,MAAMA,EAAQ;AAAA,YAChB;AAAA,YACA,UAAUC;AAAA,UACZ;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MAAA;AAGE,MAAAJ,KAAA,QAAAA,EAAA;AAAA,QACR,WAAW;AAAA,QACX,cAAcK;AAAA,MAAA,IAGhBN,KAAA,QAAAA,EAAgBM;AAAA,IAClB;AAAA,IACA,CAACN,GAAeC,CAAO;AAAA,EAAA,EAGJ;AACvB;"}
@@ -1,72 +0,0 @@
1
- import { jsxs as l, jsx as e, Fragment as p } from "react/jsx-runtime";
2
- import { useCallback as c } from "react";
3
- import { JOURNEY_ID_TEACHER as t } from "../../../../journey/journey-id/journey-id-teacher.js";
4
- import { IndicatorType as h } from "../../../../journey/use-journey/constants.js";
5
- import { useJourney as u } from "../../../../journey/use-journey/use-journey.js";
6
- import T from "../../../../ui/buttons/button/button.js";
7
- import d from "../../../../ui/layout/flex-view.js";
8
- import C from "../../../../ui/separator/separator.js";
9
- import m from "../../../../ui/text/text.js";
10
- const N = ({
11
- triggerRef: o,
12
- tooltipConfig: r
13
- }) => {
14
- const { setJourney: n, nextCoachmark: i, endJourney: a } = u(), s = c(() => {
15
- a(t.STICKERS_INTRO_JOURNEY);
16
- }, [a]);
17
- return {
18
- startTeacherStickersJourney: c(() => {
19
- if (!o.current) return;
20
- const O = {
21
- position: r.position,
22
- tooltipXCoOrdinates: r.tooltipXCoOrdinates,
23
- tooltipYCoOrdinates: r.tooltipYCoOrdinates,
24
- arrowXCoOrdinates: r.arrowXCoOrdinates,
25
- arrowYCoOrdinates: r.arrowYCoOrdinates,
26
- borderColor: "BLACK",
27
- arrowColor: "BLACK",
28
- backgroundColor: "PURPLE_4",
29
- tooltipItem: /* @__PURE__ */ l(d, { children: [
30
- /* @__PURE__ */ e(d, { children: /* @__PURE__ */ l(
31
- m,
32
- {
33
- $renderOnMobileAs: "ab3",
34
- $renderAs: "ab3",
35
- as: "span",
36
- $inline: !0,
37
- $whiteSpace: "normal",
38
- children: [
39
- /* @__PURE__ */ e(m, { $renderAs: "ab3-bold", as: "span", $inline: !0, children: "New Stickers" }),
40
- " ",
41
- "- Use them to celebrate little moments of joy!"
42
- ]
43
- }
44
- ) }),
45
- /* @__PURE__ */ e(C, { height: 10 }),
46
- /* @__PURE__ */ e(
47
- T,
48
- {
49
- renderAs: "secondary",
50
- label: "Got It",
51
- size: "xsmall",
52
- width: "50%",
53
- onClick: s
54
- }
55
- )
56
- ] })
57
- };
58
- n(t.STICKERS_INTRO_JOURNEY, [
59
- {
60
- originalElementToHighlightRef: o,
61
- type: h.TOOLTIP,
62
- elementToHighlight: /* @__PURE__ */ e(p, {}),
63
- indicator: O
64
- }
65
- ]), i(t.STICKERS_INTRO_JOURNEY);
66
- }, [o, n, s, i, r])
67
- };
68
- };
69
- export {
70
- N as useStickersJourney
71
- };
72
- //# sourceMappingURL=use-stickers-journey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-stickers-journey.js","sources":["../../../../../../src/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.tsx"],"sourcesContent":["import type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type {\n IUseTeacherStickersJourneyProps,\n TArrowTooltipConfigProps,\n} from './use-stickers-journey-types';\n\nimport React, { useCallback } from 'react';\n\nimport { JOURNEY_ID_TEACHER } from '../../../../journey/journey-id/journey-id-teacher';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\n\nexport const useStickersJourney = ({\n triggerRef,\n tooltipConfig,\n}: IUseTeacherStickersJourneyProps) => {\n const { setJourney, nextCoachmark, endJourney } = useJourney();\n\n const endTeacherStickersOnboarding = useCallback(() => {\n endJourney(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [endJourney]);\n\n const startTeacherStickersJourney = useCallback(() => {\n if (!triggerRef.current) return;\n\n const indicatorPayload: TArrowTooltipConfigProps & {\n borderColor: string;\n arrowColor: string;\n backgroundColor: string;\n tooltipItem: React.ReactNode;\n } = {\n position: tooltipConfig.position,\n tooltipXCoOrdinates: tooltipConfig.tooltipXCoOrdinates,\n tooltipYCoOrdinates: tooltipConfig.tooltipYCoOrdinates,\n arrowXCoOrdinates: tooltipConfig.arrowXCoOrdinates,\n arrowYCoOrdinates: tooltipConfig.arrowYCoOrdinates,\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <FlexView>\n <Text\n $renderOnMobileAs=\"ab3\"\n $renderAs=\"ab3\"\n as=\"span\"\n $inline={true}\n $whiteSpace=\"normal\"\n >\n <Text $renderAs=\"ab3-bold\" as=\"span\" $inline={true}>\n New Stickers\n </Text>{' '}\n - Use them to celebrate little moments of joy!\n </Text>\n </FlexView>\n <Separator height={10} />\n <Button\n renderAs=\"secondary\"\n label=\"Got It\"\n size=\"xsmall\"\n width=\"50%\"\n onClick={endTeacherStickersOnboarding}\n />\n </FlexView>\n ),\n };\n\n setJourney(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY, [\n {\n originalElementToHighlightRef: triggerRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: indicatorPayload as IArrowTooltipProps,\n },\n ]);\n\n nextCoachmark(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [triggerRef, setJourney, endTeacherStickersOnboarding, nextCoachmark, tooltipConfig]);\n\n return {\n startTeacherStickersJourney,\n };\n};\n"],"names":["useStickersJourney","triggerRef","tooltipConfig","setJourney","nextCoachmark","endJourney","useJourney","endTeacherStickersOnboarding","useCallback","JOURNEY_ID_TEACHER","indicatorPayload","FlexView","jsx","jsxs","Text","Separator","Button","IndicatorType","Fragment"],"mappings":";;;;;;;;;AAgBO,MAAMA,IAAqB,CAAC;AAAA,EACjC,YAAAC;AAAA,EACA,eAAAC;AACF,MAAuC;AACrC,QAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,YAAAC,MAAeC,EAAW,GAEvDC,IAA+BC,EAAY,MAAM;AACrD,IAAAH,EAAWI,EAAmB,sBAAsB;AAAA,EAAA,GACnD,CAACJ,CAAU,CAAC;AA2DR,SAAA;AAAA,IACL,6BA1DkCG,EAAY,MAAM;AAChD,UAAA,CAACP,EAAW,QAAS;AAEzB,YAAMS,IAKF;AAAA,QACF,UAAUR,EAAc;AAAA,QACxB,qBAAqBA,EAAc;AAAA,QACnC,qBAAqBA,EAAc;AAAA,QACnC,mBAAmBA,EAAc;AAAA,QACjC,mBAAmBA,EAAc;AAAA,QACjC,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,+BACGS,GACC,EAAA,UAAA;AAAA,UAAA,gBAAAC,EAACD,GACC,EAAA,UAAA,gBAAAE;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,mBAAkB;AAAA,cAClB,WAAU;AAAA,cACV,IAAG;AAAA,cACH,SAAS;AAAA,cACT,aAAY;AAAA,cAEZ,UAAA;AAAA,gBAAA,gBAAAF,EAACE,KAAK,WAAU,YAAW,IAAG,QAAO,SAAS,IAAM,UAEpD,eAAA,CAAA;AAAA,gBAAQ;AAAA,gBAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAGhB;AAAA,UACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,UACvB,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAAST;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GACF;AAAA,MAAA;AAIJ,MAAAJ,EAAWM,EAAmB,wBAAwB;AAAA,QACpD;AAAA,UACE,+BAA+BR;AAAA,UAC/B,MAAMgB,EAAc;AAAA,UACpB,oBAAsB,gBAAAL,EAAAM,GAAA,EAAA;AAAA,UACtB,WAAWR;AAAA,QACb;AAAA,MAAA,CACD,GAEDN,EAAcK,EAAmB,sBAAsB;AAAA,IAAA,GACtD,CAACR,GAAYE,GAAYI,GAA8BH,GAAeF,CAAa,CAAC;AAAA,EAGrF;AAEJ;"}
@@ -1,34 +0,0 @@
1
- import { jsx as n, Fragment as l } from "react/jsx-runtime";
2
- import { memo as d, useState as f, useEffect as p } from "react";
3
- import h from "../../../ui/dot-lottie-animations/dot-lottie-animation.js";
4
- import { preloadLottieFile as g } from "../stickers-effects-cache.js";
5
- const D = d(({ url: t, sticker: s, size: o }) => {
6
- const [i, m] = f(), [u, e] = f(!1), c = {
7
- loop: !0,
8
- autoplay: !0
9
- };
10
- return p(() => {
11
- let r = !0;
12
- if (t)
13
- return g(t).then((a) => {
14
- r && (a ? m(a) : e(!0));
15
- }).catch(() => {
16
- r && e(!0);
17
- }), () => {
18
- r = !1;
19
- };
20
- }, [t]), !t || u || !i ? /* @__PURE__ */ n(l, { children: s }) : /* @__PURE__ */ n(
21
- h,
22
- {
23
- data: i,
24
- width: o,
25
- height: o,
26
- settings: c,
27
- onError: () => e(!0)
28
- }
29
- );
30
- });
31
- export {
32
- D as default
33
- };
34
- //# sourceMappingURL=sticker-with-fallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticker-with-fallback.js","sources":["../../../../../src/features/stickers/stickers-effects/comps/sticker-with-fallback.tsx"],"sourcesContent":["import type { Data } from '@lottiefiles/dotlottie-web';\n\nimport { memo, useEffect, useState, type FC } from 'react';\n\nimport DotLottieAnimation from '../../../ui/dot-lottie-animations/dot-lottie-animation';\nimport { preloadLottieFile } from '../stickers-effects-cache';\n\nconst StickerWithFallback: FC<{\n url?: string;\n sticker: string;\n size: number;\n}> = memo(({ url, sticker, size }) => {\n const [data, setData] = useState<Data>();\n const [failed, setFailed] = useState(false);\n const renderSettings = {\n loop: true,\n autoplay: true,\n };\n\n useEffect(() => {\n let isMounted = true;\n\n if (!url) return;\n\n preloadLottieFile(url)\n .then(result => {\n if (isMounted) {\n if (result) {\n setData(result);\n } else {\n setFailed(true);\n }\n }\n })\n .catch(() => {\n if (isMounted) setFailed(true);\n });\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n if (!url || failed || !data) {\n return <>{sticker}</>;\n }\n\n return (\n <DotLottieAnimation\n data={data}\n width={size}\n height={size}\n settings={renderSettings}\n onError={() => setFailed(true)}\n />\n );\n});\n\nexport default StickerWithFallback;\n"],"names":["StickerWithFallback","memo","url","sticker","size","data","setData","useState","failed","setFailed","renderSettings","useEffect","isMounted","preloadLottieFile","result","jsx","DotLottieAnimation"],"mappings":";;;;AAOA,MAAMA,IAIDC,EAAK,CAAC,EAAE,KAAAC,GAAK,SAAAC,GAAS,MAAAC,QAAW;AACpC,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAe,GACjC,CAACC,GAAQC,CAAS,IAAIF,EAAS,EAAK,GACpCG,IAAiB;AAAA,IACrB,MAAM;AAAA,IACN,UAAU;AAAA,EAAA;AA2BZ,SAxBAC,EAAU,MAAM;AACd,QAAIC,IAAY;AAEhB,QAAKV;AAEa,aAAAW,EAAAX,CAAG,EAClB,KAAK,CAAUY,MAAA;AACd,QAAIF,MACEE,IACFR,EAAQQ,CAAM,IAEdL,EAAU,EAAI;AAAA,MAElB,CACD,EACA,MAAM,MAAM;AACP,QAAAG,OAAqB,EAAI;AAAA,MAAA,CAC9B,GAEI,MAAM;AACC,QAAAA,IAAA;AAAA,MAAA;AAAA,EACd,GACC,CAACV,CAAG,CAAC,GAEJ,CAACA,KAAOM,KAAU,CAACH,2BACX,UAAQF,EAAA,CAAA,IAIlB,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAX;AAAA,MACA,OAAOD;AAAA,MACP,QAAQA;AAAA,MACR,UAAUM;AAAA,MACV,SAAS,MAAMD,EAAU,EAAI;AAAA,IAAA;AAAA,EAAA;AAGnC,CAAC;"}
@@ -1,26 +0,0 @@
1
- const e = {
2
- "burst-from-edges": {
3
- effect: "burst-from-edges",
4
- duration: 3e3,
5
- count: 10
6
- },
7
- "pop-expand": {
8
- effect: "pop-expand",
9
- duration: 3e3,
10
- count: 5
11
- },
12
- "float-up": {
13
- effect: "float-up",
14
- duration: 3e3,
15
- count: 7
16
- },
17
- "fall-down": {
18
- effect: "fall-down",
19
- duration: 3e3,
20
- count: 7
21
- }
22
- };
23
- export {
24
- e as EFFECTS_MAP
25
- };
26
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/stickers/stickers-effects/constants.ts"],"sourcesContent":["import type { TStickerAnimationEffects } from '../stickers-types';\nimport type { IStickersProps } from './stickers-effects-types';\n\nexport const EFFECTS_MAP: Record<TStickerAnimationEffects, Omit<IStickersProps, 'stickerId'>> = {\n 'burst-from-edges': {\n effect: 'burst-from-edges',\n duration: 3000,\n count: 10,\n },\n 'pop-expand': {\n effect: 'pop-expand',\n duration: 3000,\n count: 5,\n },\n 'float-up': {\n effect: 'float-up',\n duration: 3000,\n count: 7,\n },\n 'fall-down': {\n effect: 'fall-down',\n duration: 3000,\n count: 7,\n },\n};\n"],"names":["EFFECTS_MAP"],"mappings":"AAGO,MAAMA,IAAmF;AAAA,EAC9F,oBAAoB;AAAA,IAClB,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AACF;"}
@@ -1,28 +0,0 @@
1
- import { jsxs as n, jsx as l } from "react/jsx-runtime";
2
- import { useState as d, useCallback as r } from "react";
3
- import m from "../stickers-effects.js";
4
- import { StickersContext as f } from "../stickers-effects-types.js";
5
- const x = ({ children: s }) => {
6
- const [e, t] = d(null), o = r((a) => {
7
- t(a);
8
- }, []), c = r(() => {
9
- t(null);
10
- }, []), i = {
11
- showSticker: o
12
- };
13
- return /* @__PURE__ */ n(f.Provider, { value: i, children: [
14
- s,
15
- e && /* @__PURE__ */ l(
16
- m,
17
- {
18
- stickerId: e.message.data.selectedSticker.id,
19
- effectType: e.message.data.effectId,
20
- onClose: c
21
- }
22
- )
23
- ] });
24
- };
25
- export {
26
- x as StickersProvider
27
- };
28
- //# sourceMappingURL=sticker-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticker-provider.js","sources":["../../../../../src/features/stickers/stickers-effects/context/sticker-provider.tsx"],"sourcesContent":["import type { TStickerAnimationEffects, TStickersPayload } from '../../stickers-types';\nimport type { StickersContextType } from '../stickers-effects-types';\n\nimport { useCallback, useState, type ReactNode } from 'react';\n\nimport StickersEffect from '../stickers-effects';\nimport { StickersContext } from '../stickers-effects-types';\n\ninterface StickersProviderProps {\n children: ReactNode;\n}\n\nexport const StickersProvider = ({ children }: StickersProviderProps) => {\n const [stickerData, setStickerData] = useState<TStickersPayload | null>(null);\n\n const showSticker = useCallback((payload: TStickersPayload) => {\n setStickerData(payload);\n }, []);\n\n const handleAnimationEnd = useCallback(() => {\n setStickerData(null);\n }, []);\n\n const contextValue: StickersContextType = {\n showSticker,\n };\n\n return (\n <StickersContext.Provider value={contextValue}>\n {children}\n {stickerData && (\n <StickersEffect\n stickerId={stickerData.message.data.selectedSticker.id}\n effectType={stickerData.message.data.effectId as TStickerAnimationEffects}\n onClose={handleAnimationEnd}\n />\n )}\n </StickersContext.Provider>\n );\n};\n"],"names":["StickersProvider","children","stickerData","setStickerData","useState","showSticker","useCallback","payload","handleAnimationEnd","contextValue","jsxs","StickersContext","jsx","StickersEffect"],"mappings":";;;;AAYO,MAAMA,IAAmB,CAAC,EAAE,UAAAC,QAAsC;AACvE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAkC,IAAI,GAEtEC,IAAcC,EAAY,CAACC,MAA8B;AAC7D,IAAAJ,EAAeI,CAAO;AAAA,EACxB,GAAG,CAAE,CAAA,GAECC,IAAqBF,EAAY,MAAM;AAC3C,IAAAH,EAAe,IAAI;AAAA,EACrB,GAAG,CAAE,CAAA,GAECM,IAAoC;AAAA,IACxC,aAAAJ;AAAA,EAAA;AAGF,SACG,gBAAAK,EAAAC,EAAgB,UAAhB,EAAyB,OAAOF,GAC9B,UAAA;AAAA,IAAAR;AAAA,IACAC,KACC,gBAAAU;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWX,EAAY,QAAQ,KAAK,gBAAgB;AAAA,QACpD,YAAYA,EAAY,QAAQ,KAAK;AAAA,QACrC,SAASM;AAAA,MAAA;AAAA,IACX;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -1,12 +0,0 @@
1
- import { useContext as r } from "react";
2
- import { StickersContext as e } from "../stickers-effects-types.js";
3
- const i = () => {
4
- const t = r(e);
5
- if (!t)
6
- throw new Error("useStickers must be used within a StickersProvider");
7
- return t;
8
- };
9
- export {
10
- i as useStickers
11
- };
12
- //# sourceMappingURL=use-stickers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-stickers.js","sources":["../../../../../src/features/stickers/stickers-effects/hooks/use-stickers.tsx"],"sourcesContent":["import { useContext } from 'react';\n\nimport { StickersContext, type StickersContextType } from '../stickers-effects-types';\n\nexport const useStickers = (): StickersContextType => {\n const context = useContext(StickersContext);\n\n if (!context) {\n throw new Error('useStickers must be used within a StickersProvider');\n }\n\n return context;\n};\n"],"names":["useStickers","context","useContext","StickersContext"],"mappings":";;AAIO,MAAMA,IAAc,MAA2B;AAC9C,QAAAC,IAAUC,EAAWC,CAAe;AAE1C,MAAI,CAACF;AACG,UAAA,IAAI,MAAM,oDAAoD;AAG/D,SAAAA;AACT;"}
@@ -1,6 +0,0 @@
1
- import { createContext as t } from "react";
2
- const e = t(void 0);
3
- export {
4
- e as StickersContext
5
- };
6
- //# sourceMappingURL=stickers-effects-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stickers-effects-types.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-types.ts"],"sourcesContent":["import type { IStickerData, TStickerAnimationEffects, TStickersPayload } from '../stickers-types';\n\nimport { createContext } from 'react';\n\nexport type TStickerAnimationData = {\n id: string;\n sticker: string;\n lottie?: string;\n x: number;\n y: number;\n size: number;\n fromX?: string;\n fromY?: string;\n};\nexport interface IStickersProps {\n stickerId: IStickerData['id'];\n effect: TStickerAnimationEffects;\n count: number;\n duration: number;\n}\n\nexport interface IGenerateStickersData extends Omit<IStickersProps, 'duration'> {\n minSize: number;\n maxSize: number;\n}\n\nexport interface StickersEffectProps {\n stickerId: string;\n effectType: TStickerAnimationEffects;\n duration?: number;\n onClose?: () => void;\n}\nexport interface StickersContextType {\n showSticker: (payload: TStickersPayload) => void;\n}\n\nexport const StickersContext = createContext<StickersContextType | undefined>(undefined);\n"],"names":["StickersContext","createContext"],"mappings":";AAoCa,MAAAA,IAAkBC,EAA+C,MAAS;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;"}
@@ -1,29 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,132 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-session-status-config.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.ts"],"sourcesContent":["import type { ISessionStatusConfig } from '../session-status-types';\n\nimport { pluralize } from 'humanize-plus';\nimport { useMemo, useCallback } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport { CUEMATH_APP_URL } from '../../../../../../constants/config';\nimport { EClassStatus } from '../../../../../parent-dashboard/parent-dashboard-types';\n\ninterface IUseSessionStatusConfigProps {\n status: string | null;\n completedSessions: number;\n formattedSessionStart: string;\n remainingTime: string;\n isTeacherAssigned: boolean;\n isFirstSessionCompleted: boolean;\n isNoShowStatus: boolean;\n teacherName?: string;\n studentName?: string;\n onRescheduleClick?: () => void;\n}\n\nconst useSessionStatusConfig = ({\n status,\n completedSessions,\n formattedSessionStart,\n remainingTime,\n isTeacherAssigned,\n isFirstSessionCompleted,\n isNoShowStatus,\n teacherName,\n studentName,\n onRescheduleClick,\n}: IUseSessionStatusConfigProps) => {\n const handleRedirectToApp = useCallback(() => {\n window.open(CUEMATH_APP_URL, '_blank');\n }, []);\n\n const handleReschedule = useCallback(() => {\n onRescheduleClick?.();\n }, [onRescheduleClick]);\n\n // No show status configuration\n const createNoShowConfig = useCallback((): ISessionStatusConfig => {\n const isStudentNoShow = status === EClassStatus.S_NO_SHOW;\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.CALENDAR_CROSS_ORANGE,\n title: 'Session Cancelled',\n titleColor: 'ORANGE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n subtitle: formattedSessionStart,\n description: isStudentNoShow\n ? 'We understand life is unpredictable and schedules change unexpectedly.'\n : `We're sorry - our tutor couldn't attend your first session. This rarely happens, but tutors sometimes face unexpected circumstances.`,\n descriptionColor: 'WHITE_1',\n subtitleLineThrough: true,\n },\n bottomSection: {\n icon: ILLUSTRATIONS.PLATFORM_PURPLE,\n title: 'Please Reschedule',\n titleColor: 'PURPLE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ub1',\n subtitleTabletStyle: 'ub2',\n subtitle: isStudentNoShow\n ? \"Please reschedule when it works better for you. Choose any available time slot, and we'll assign you a new tutor for your child.\"\n : `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.`,\n action: {\n label: 'Reschedule',\n onClick: handleReschedule,\n },\n },\n };\n }, [status, formattedSessionStart, handleReschedule]);\n\n // Completed session configuration\n const createCompletedConfig = useCallback((): ISessionStatusConfig => {\n const titleText = completedSessions === 1 ? 'First' : completedSessions.toString();\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.BOOK_CHECKED_GREEN,\n title: `${titleText} ${pluralize(completedSessions, 'session')} Completed!`,\n titleColor: 'GREEN_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n align: 'center',\n },\n bottomSection: {\n lottie: LOTTIE.CALENDAR_HOUR_GLASS_ORANGE,\n title: 'Next Session',\n titleColor: 'ORANGE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n subtitle: `${formattedSessionStart}\\nwith ${teacherName}`,\n action: {\n label: 'Reschedule on the Cuemath app',\n onClick: handleRedirectToApp,\n },\n },\n };\n }, [completedSessions, formattedSessionStart, teacherName, handleRedirectToApp]);\n\n // Default session configuration\n const createDefaultConfig = useCallback((): ISessionStatusConfig => {\n const defaultTitle = remainingTime || 'SESSION SCHEDULED';\n const hasCountdown = Boolean(remainingTime);\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.CALENDAR_CHECK_GREEN,\n title: defaultTitle,\n titleColor: 'GREEN_4',\n titleStyle: hasCountdown ? 'ub2' : 'ac3',\n titleTabletStyle: hasCountdown ? 'ub3' : 'ac4',\n subtitle: formattedSessionStart,\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n action: {\n label: 'Reschedule',\n onClick: handleReschedule,\n },\n },\n bottomSection: {\n align: 'center',\n lottie: isTeacherAssigned ? LOTTIE.TEACHER_FOUND : LOTTIE.TEACHER_SEARCH,\n title: isTeacherAssigned ? 'Tutor Assigned!' : '',\n titleColor: isTeacherAssigned ? 'ORANGE_4' : 'WHITE_1',\n titleStyle: isTeacherAssigned ? 'ac3' : 'ab2',\n titleTabletStyle: isTeacherAssigned ? 'ac4' : 'ab3',\n subtitleStyle: 'ub1',\n subtitleTabletStyle: 'ub2',\n subtitle: isTeacherAssigned\n ? `From over 3000 expert tutors, we selected ${teacherName} as the perfect match for ${studentName}!`\n : 'Finding the perfect tutor for your child',\n description: isTeacherAssigned\n ? ''\n : \"This typically takes 24-48 hours. We'll notify you via email.\",\n maxWidth: isTeacherAssigned ? 368 : 383,\n isLargeIcon: true,\n },\n };\n }, [\n remainingTime,\n formattedSessionStart,\n isTeacherAssigned,\n teacherName,\n studentName,\n handleReschedule,\n ]);\n\n // Main configuration selector\n const config = useMemo((): ISessionStatusConfig => {\n if (isNoShowStatus) {\n return createNoShowConfig();\n }\n\n if (isFirstSessionCompleted) {\n return createCompletedConfig();\n }\n\n return createDefaultConfig();\n }, [\n isNoShowStatus,\n isFirstSessionCompleted,\n createNoShowConfig,\n createCompletedConfig,\n createDefaultConfig,\n ]);\n\n return config;\n};\n\nexport default useSessionStatusConfig;\n"],"names":["useSessionStatusConfig","status","completedSessions","formattedSessionStart","remainingTime","isTeacherAssigned","isFirstSessionCompleted","isNoShowStatus","teacherName","studentName","onRescheduleClick","handleRedirectToApp","useCallback","CUEMATH_APP_URL","handleReschedule","createNoShowConfig","isStudentNoShow","EClassStatus","ILLUSTRATIONS","createCompletedConfig","titleText","pluralize","LOTTIE","createDefaultConfig","defaultTitle","hasCountdown","useMemo"],"mappings":";;;;;;AAuBA,MAAMA,IAAyB,CAAC;AAAA,EAC9B,QAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AACF,MAAoC;AAC5B,QAAAC,IAAsBC,EAAY,MAAM;AACrC,WAAA,KAAKC,GAAiB,QAAQ;AAAA,EACvC,GAAG,CAAE,CAAA,GAECC,IAAmBF,EAAY,MAAM;AACrB,IAAAF,KAAA,QAAAA;AAAA,EAAA,GACnB,CAACA,CAAiB,CAAC,GAGhBK,IAAqBH,EAAY,MAA4B;AAC3D,UAAAI,IAAkBf,MAAWgB,EAAa;AAEzC,WAAA;AAAA,MACL,YAAY;AAAA,QACV,MAAMC,EAAc;AAAA,QACpB,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,UAAUf;AAAA,QACV,aAAaa,IACT,2EACA;AAAA,QACJ,kBAAkB;AAAA,QAClB,qBAAqB;AAAA,MACvB;AAAA,MACA,eAAe;AAAA,QACb,MAAME,EAAc;AAAA,QACpB,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,UAAUF,IACN,qIACA;AAAA,QACJ,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,SAASF;AAAA,QACX;AAAA,MACF;AAAA,IAAA;AAAA,EAED,GAAA,CAACb,GAAQE,GAAuBW,CAAgB,CAAC,GAG9CK,IAAwBP,EAAY,MAA4B;AACpE,UAAMQ,IAAYlB,MAAsB,IAAI,UAAUA,EAAkB;AAEjE,WAAA;AAAA,MACL,YAAY;AAAA,QACV,MAAMgB,EAAc;AAAA,QACpB,OAAO,GAAGE,CAAS,IAAIC,EAAU,UAAAnB,GAAmB,SAAS,CAAC;AAAA,QAC9D,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,OAAO;AAAA,MACT;AAAA,MACA,eAAe;AAAA,QACb,QAAQoB,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,UAAU,GAAGnB,CAAqB;AAAA,OAAUK,CAAW;AAAA,QACvD,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,SAASG;AAAA,QACX;AAAA,MACF;AAAA,IAAA;AAAA,KAED,CAACT,GAAmBC,GAAuBK,GAAaG,CAAmB,CAAC,GAGzEY,IAAsBX,EAAY,MAA4B;AAClE,UAAMY,IAAepB,KAAiB,qBAChCqB,IAAe,EAAQrB;AAEtB,WAAA;AAAA,MACL,YAAY;AAAA,QACV,MAAMc,EAAc;AAAA,QACpB,OAAOM;AAAA,QACP,YAAY;AAAA,QACZ,YAAYC,IAAe,QAAQ;AAAA,QACnC,kBAAkBA,IAAe,QAAQ;AAAA,QACzC,UAAUtB;AAAA,QACV,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,SAASW;AAAA,QACX;AAAA,MACF;AAAA,MACA,eAAe;AAAA,QACb,OAAO;AAAA,QACP,QAAQT,IAAoBiB,EAAO,gBAAgBA,EAAO;AAAA,QAC1D,OAAOjB,IAAoB,oBAAoB;AAAA,QAC/C,YAAYA,IAAoB,aAAa;AAAA,QAC7C,YAAYA,IAAoB,QAAQ;AAAA,QACxC,kBAAkBA,IAAoB,QAAQ;AAAA,QAC9C,eAAe;AAAA,QACf,qBAAqB;AAAA,QACrB,UAAUA,IACN,6CAA6CG,CAAW,6BAA6BC,CAAW,MAChG;AAAA,QACJ,aAAaJ,IACT,KACA;AAAA,QACJ,UAAUA,IAAoB,MAAM;AAAA,QACpC,aAAa;AAAA,MACf;AAAA,IAAA;AAAA,EACF,GACC;AAAA,IACDD;AAAA,IACAD;AAAA,IACAE;AAAA,IACAG;AAAA,IACAC;AAAA,IACAK;AAAA,EAAA,CACD;AAqBM,SAlBQY,EAAQ,MACjBnB,IACKQ,EAAmB,IAGxBT,IACKa,EAAsB,IAGxBI,EAAoB,GAC1B;AAAA,IACDhB;AAAA,IACAD;AAAA,IACAS;AAAA,IACAI;AAAA,IACAI;AAAA,EAAA,CACD;AAGH;"}
@@ -1,11 +0,0 @@
1
- const e = 172800, t = 1e3, r = {
2
- autoplay: !0,
3
- loop: !0,
4
- renderer: "svg"
5
- };
6
- export {
7
- t as COUNTDOWN_INTERVAL,
8
- e as COUNTDOWN_THRESHOLD,
9
- r as renderSettings
10
- };
11
- //# sourceMappingURL=session-status-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-constants.ts"],"sourcesContent":["export const COUNTDOWN_THRESHOLD = 48 * 3600; // 48 hours in seconds\nexport const COUNTDOWN_INTERVAL = 1000; // 1 second\n\nexport const renderSettings = {\n autoplay: true,\n loop: true,\n renderer: 'svg',\n};\n"],"names":["COUNTDOWN_THRESHOLD","COUNTDOWN_INTERVAL","renderSettings"],"mappings":"AAAO,MAAMA,IAAsB,QACtBC,IAAqB,KAErBC,IAAiB;AAAA,EAC5B,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ;"}
@@ -1,19 +0,0 @@
1
- import { fromUnixTime as s } from "../../../../../node_modules/date-fns/fromUnixTime.js";
2
- import { formatDate as n } from "../../../../../node_modules/date-fns/format.js";
3
- function p(t, e) {
4
- if (!t) return "";
5
- const o = s(t), r = n(o, "EEE").toUpperCase(), i = n(o, "MMM d"), m = n(o, "h a");
6
- return `${r} . ${i} . ${m}`;
7
- }
8
- const a = (t) => t.toString().padStart(2, "0"), $ = (t) => {
9
- const e = Math.floor(t / 3600), o = Math.floor(t % 3600 / 60), r = t % 60;
10
- return `Session starts in ${a(e)}h : ${a(o)}m : ${a(
11
- r
12
- )}s`;
13
- };
14
- export {
15
- p as formatSessionDateTime,
16
- $ as formatTimeRemaining,
17
- a as padTime
18
- };
19
- //# sourceMappingURL=session-status-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status-helpers.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-helpers.ts"],"sourcesContent":["import { fromUnixTime, format } from 'date-fns';\n\n/**\n * Formats the session start and end times into a readable string.\n *\n * @param startTime - The start time of the session in Unix timestamp.\n * @param endTime - The end time of the session in Unix timestamp.\n * @returns A formatted string representing the session time or an empty string if inputs are invalid.\n */\nexport function formatSessionDateTime(startTime: number | null, endTime?: number | null): string {\n if (!startTime) return '';\n\n const start = fromUnixTime(startTime);\n\n const day = format(start, 'EEE').toUpperCase();\n const date = format(start, 'MMM d');\n const formattedStartTime = format(start, 'h a');\n const end = endTime ? fromUnixTime(endTime) : null;\n const formattedEndTime = end ? format(end, 'h a') : null;\n\n return `${day} . ${date} . ${formattedStartTime}${\n formattedEndTime ? ` - ${formattedEndTime}` : ''\n }`;\n}\n\nexport const padTime = (time: number): string => time.toString().padStart(2, '0');\n\nexport const formatTimeRemaining = (seconds: number): string => {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const remainingSeconds = seconds % 60;\n\n return `Session starts in ${padTime(hours)}h : ${padTime(minutes)}m : ${padTime(\n remainingSeconds,\n )}s`;\n};\n"],"names":["formatSessionDateTime","startTime","endTime","start","fromUnixTime","day","format","date","formattedStartTime","padTime","time","formatTimeRemaining","seconds","hours","minutes","remainingSeconds"],"mappings":";;AASgB,SAAAA,EAAsBC,GAA0BC,GAAiC;AAC3F,MAAA,CAACD,EAAkB,QAAA;AAEjB,QAAAE,IAAQC,EAAaH,CAAS,GAE9BI,IAAMC,EAAOH,GAAO,KAAK,EAAE,YAAY,GACvCI,IAAOD,EAAOH,GAAO,OAAO,GAC5BK,IAAqBF,EAAOH,GAAO,KAAK;AAIvC,SAAA,GAAGE,CAAG,MAAME,CAAI,MAAMC,CAAkB;AAGjD;AAEa,MAAAC,IAAU,CAACC,MAAyBA,EAAK,WAAW,SAAS,GAAG,GAAG,GAEnEC,IAAsB,CAACC,MAA4B;AAC9D,QAAMC,IAAQ,KAAK,MAAMD,IAAU,IAAI,GACjCE,IAAU,KAAK,MAAOF,IAAU,OAAQ,EAAE,GAC1CG,IAAmBH,IAAU;AAE5B,SAAA,qBAAqBH,EAAQI,CAAK,CAAC,OAAOJ,EAAQK,CAAO,CAAC,OAAOL;AAAA,IACtEM;AAAA,EACD,CAAA;AACH;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status-styled.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\nexport const ContentWrapper = styled(FlexView)<{ $maxWidth: number | string }>`\n max-width: ${({ $maxWidth }) =>\n `${typeof $maxWidth === 'number' ? `${$maxWidth}px` : `${$maxWidth}`}`};\n`;\n\nexport const SubTitle = styled(Text)<{ $subtitleLineThrough?: boolean }>`\n text-decoration: ${({ $subtitleLineThrough }) =>\n $subtitleLineThrough ? 'line-through' : 'none'};\n`;\n\nexport const LottieWrapper = styled(FlexView)<{ $isLargeLottie: boolean }>`\n position: relative;\n left: ${({ $isLargeLottie }) => ($isLargeLottie ? '-6px' : '0')};\n`;\n"],"names":["ContentWrapper","styled","FlexView","$maxWidth","SubTitle","Text","$subtitleLineThrough","LottieWrapper","$isLargeLottie"],"mappings":";;;AAKa,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA,eAC9B,CAAC,EAAE,WAAAC,EAAU,MACxB,GAAG,OAAOA,KAAc,WAAW,GAAGA,CAAS,OAAO,GAAGA,CAAS,EAAE,EAAE;AAAA,GAG7DC,IAAWH,EAAOI,CAAI;AAAA,qBACd,CAAC,EAAE,sBAAAC,EAAA,MACpBA,IAAuB,iBAAiB,MAAM;AAAA,GAGrCC,IAAgBN,EAAOC,CAAQ;AAAA;AAAA,UAElC,CAAC,EAAE,gBAAAM,EAAA,MAAsBA,IAAiB,SAAS,GAAI;AAAA;"}