@cuemath/leap 3.3.1 → 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 (397) 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/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +86 -0
  93. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -0
  94. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +140 -0
  95. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +1 -0
  96. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +8 -4
  97. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  98. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +23 -29
  99. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
  100. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  101. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  102. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  103. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  104. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +400 -0
  105. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  106. package/dist/features/milestone/constants.js +13 -10
  107. package/dist/features/milestone/constants.js.map +1 -1
  108. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
  109. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  110. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
  111. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  112. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +54 -29
  113. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  114. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
  115. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  116. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
  117. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  118. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +97 -94
  119. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  120. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +160 -143
  121. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  122. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
  123. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  124. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  125. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
  126. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  127. package/dist/features/milestone/create/milestone-create-container.js +17 -15
  128. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  129. package/dist/features/milestone/create/milestone-create-helpers.js +170 -153
  130. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  131. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  132. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  133. package/dist/features/milestone/create/milestone-create.js +19 -17
  134. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  135. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +19 -20
  136. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  137. package/dist/features/parent-dashboard/api/get-student-profile-summary.js +9 -0
  138. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +1 -0
  139. package/dist/features/parent-dashboard/api/parent-home.js +10 -0
  140. package/dist/features/parent-dashboard/api/parent-home.js.map +1 -0
  141. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +30 -0
  142. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -0
  143. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js +25 -0
  144. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -0
  145. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js +15 -0
  146. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js.map +1 -0
  147. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +90 -0
  148. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -0
  149. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js +19 -0
  150. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js.map +1 -0
  151. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js +32 -0
  152. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js.map +1 -0
  153. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +67 -0
  154. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -0
  155. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +42 -0
  156. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +1 -0
  157. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js +20 -0
  158. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js.map +1 -0
  159. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +10 -0
  160. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +1 -0
  161. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +42 -0
  162. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -0
  163. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +67 -0
  164. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -0
  165. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +24 -0
  166. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +1 -0
  167. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js +71 -0
  168. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +1 -0
  169. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +40 -0
  170. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +1 -0
  171. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +44 -0
  172. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +1 -0
  173. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +32 -0
  174. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +1 -0
  175. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +12 -0
  176. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +1 -0
  177. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +44 -0
  178. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -0
  179. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +13 -0
  180. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -0
  181. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +28 -0
  182. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -0
  183. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +43 -0
  184. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +1 -0
  185. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +59 -0
  186. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -0
  187. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +86 -0
  188. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +1 -0
  189. package/dist/features/parent-dashboard/parent-dashboard-constants.js +26 -0
  190. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -0
  191. package/dist/features/parent-dashboard/parent-dashboard-styled.js +33 -0
  192. package/dist/features/parent-dashboard/parent-dashboard-styled.js.map +1 -0
  193. package/dist/features/parent-dashboard/parent-dashboard-types.js +6 -0
  194. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -0
  195. package/dist/features/parent-dashboard/parent-dashboard-view.js +215 -0
  196. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -0
  197. package/dist/features/parent-dashboard/parent-dashboard.js +8 -0
  198. package/dist/features/parent-dashboard/parent-dashboard.js.map +1 -0
  199. package/dist/features/sentry/constants/ignored.js +10 -6
  200. package/dist/features/sentry/constants/ignored.js.map +1 -1
  201. package/dist/features/sheets/constants/sheet.js +23 -10
  202. package/dist/features/sheets/constants/sheet.js.map +1 -1
  203. package/dist/features/sheets/utils/is-v3-worksheet.js +17 -0
  204. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  205. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  206. package/dist/features/trial-session/api/course-stream.js.map +1 -1
  207. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js +1 -1
  208. package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
  209. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +66 -60
  210. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  211. package/dist/features/trial-session/comps/learning-plan/index.js +62 -88
  212. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  213. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +12 -12
  214. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  215. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +25 -0
  216. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  217. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +43 -0
  218. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  219. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +49 -0
  220. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  221. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  222. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  223. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +132 -0
  224. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  225. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  226. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  227. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  228. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  229. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +17 -0
  230. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  231. package/dist/features/trial-session/comps/pla/session-status/session-status.js +127 -0
  232. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  233. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +53 -0
  234. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  235. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +53 -0
  236. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  237. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +17 -0
  238. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  239. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  240. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  241. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +5 -0
  242. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  243. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +17 -0
  244. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  245. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +5 -0
  246. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  247. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +96 -0
  248. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  249. package/dist/features/trial-session/comps/school-goals/school-goals.js +25 -24
  250. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  251. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +34 -0
  252. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -0
  253. package/dist/features/trial-session/comps/session-report/report-information/report-card.js +41 -0
  254. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -0
  255. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +39 -0
  256. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -0
  257. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +179 -0
  258. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -0
  259. package/dist/features/trial-session/comps/session-report/session-report-styled.js +6 -29
  260. package/dist/features/trial-session/comps/session-report/session-report-styled.js.map +1 -1
  261. package/dist/features/trial-session/comps/session-report/session-report.js +44 -174
  262. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  263. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +20 -5
  264. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  265. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +59 -126
  266. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  267. package/dist/features/trial-session/comps/student-profile/constant.js +10 -0
  268. package/dist/features/trial-session/comps/student-profile/constant.js.map +1 -0
  269. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +53 -0
  270. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -0
  271. package/dist/features/trial-session/comps/student-profile/student-profile.js +93 -46
  272. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  273. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +12 -0
  274. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +1 -0
  275. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +121 -42
  276. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
  277. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +174 -56
  278. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  279. package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
  280. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  281. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +65 -63
  282. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  283. package/dist/features/trial-session/left-panel/index.js +1 -1
  284. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  285. package/dist/features/trial-session/right-panel/slide-components-map.js +32 -32
  286. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  287. package/dist/features/trial-session/trial-session-constants.js +3 -3
  288. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  289. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  290. package/dist/features/ui/buttons/icon-button/icon-button.js +32 -29
  291. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  292. package/dist/features/ui/constants/z-index.js +5 -3
  293. package/dist/features/ui/constants/z-index.js.map +1 -1
  294. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js +12 -11
  295. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  296. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js +2 -7
  297. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js.map +1 -1
  298. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +29 -27
  299. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  300. package/dist/features/ui/modals/modal.js +30 -28
  301. package/dist/features/ui/modals/modal.js.map +1 -1
  302. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js +109 -0
  303. package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +1 -0
  304. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js +95 -0
  305. package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -0
  306. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +184 -0
  307. package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -0
  308. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js +36 -0
  309. package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +1 -0
  310. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js +83 -0
  311. package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -0
  312. package/dist/features/wins-dashboard/constants.js +161 -0
  313. package/dist/features/wins-dashboard/constants.js.map +1 -0
  314. package/dist/features/wins-dashboard/header/wins-header.js +95 -0
  315. package/dist/features/wins-dashboard/header/wins-header.js.map +1 -0
  316. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js +66 -0
  317. package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -0
  318. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js +135 -0
  319. package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -0
  320. package/dist/features/wins-dashboard/student-badges/student-badge.js +168 -0
  321. package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -0
  322. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js +137 -0
  323. package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -0
  324. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +86 -90
  325. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  326. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +147 -0
  327. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -0
  328. package/dist/features/worksheet/worksheet/worksheet-container.js +62 -42
  329. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  330. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +197 -199
  331. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  332. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +228 -300
  333. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  334. package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
  335. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  336. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  337. package/dist/features/worksheet/worksheet/worksheet.js +206 -215
  338. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  339. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +33 -33
  340. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  341. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +30 -28
  342. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  343. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +69 -73
  344. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  345. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +30 -79
  346. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  347. package/dist/index.d.ts +473 -45
  348. package/dist/index.js +695 -627
  349. package/dist/index.js.map +1 -1
  350. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  351. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  352. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  353. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  354. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  355. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  356. package/dist/node_modules/date-fns/fromUnixTime.js +9 -0
  357. package/dist/node_modules/date-fns/fromUnixTime.js.map +1 -0
  358. package/dist/static/awesome.4239f583.json +1 -0
  359. package/dist/static/black-belt.81b3ebf9.png +0 -0
  360. package/dist/static/blue-belt.508a1b4b.png +0 -0
  361. package/dist/static/{book-checked-green.c275dbd9.svg → book-checked-green.0436b91e.svg} +1 -1
  362. package/dist/static/brown-belt.09bb7e93.png +0 -0
  363. package/dist/static/clapping-hands.17e7ecf0.json +1 -0
  364. package/dist/static/common.9e8ceef1.svg +1 -0
  365. package/dist/static/community-bulb-yellow-2.f89c30f9.svg +1 -0
  366. package/dist/static/cool.cd6921bb.json +1 -0
  367. package/dist/static/epic.37a0265a.svg +1 -0
  368. package/dist/static/error-responsive.9916ff66.json +1 -0
  369. package/dist/static/error.dd744fa5.json +1 -0
  370. package/dist/static/green-belt.5501296f.png +0 -0
  371. package/dist/static/learning-puzzle-bot.6fe93cf6.svg +1 -0
  372. package/dist/static/legendary.f15d09ca.svg +1 -0
  373. package/dist/static/like-button.281a2618.json +1 -0
  374. package/dist/static/mastered-badge.91d25e92.png +0 -0
  375. package/dist/static/mystery.81ada5fb.svg +1 -0
  376. package/dist/static/mythic.58ba0ae0.svg +1 -0
  377. package/dist/static/orange-belt.1fefcc8c.png +0 -0
  378. package/dist/static/personalization.7a6c33e8.svg +1 -0
  379. package/dist/static/personalized-session.b4fd7df8.gif +0 -0
  380. package/dist/static/purple-belt.e15611b4.png +0 -0
  381. package/dist/static/rare.1ffaa311.svg +1 -0
  382. package/dist/static/red-belt.11f841d9.png +0 -0
  383. package/dist/static/regular-practice.b15f24d9.gif +0 -0
  384. package/dist/static/star-strike-emoji.c0b31028.json +1 -0
  385. package/dist/static/stepup.321df6ed.gif +0 -0
  386. package/dist/static/trophy.5ef1853a.json +1 -0
  387. package/dist/static/username-responsive.787b5515.json +1 -0
  388. package/dist/static/username.2c755605.json +1 -0
  389. package/dist/static/white-belt.ea93103e.png +0 -0
  390. package/dist/static/yellow-belt.0c47b8cc.png +0 -0
  391. package/package.json +1 -1
  392. package/dist/features/trial-session/comps/session-report/report-card.js +0 -26
  393. package/dist/features/trial-session/comps/session-report/report-card.js.map +0 -1
  394. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
  395. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
  396. package/dist/static/error.cbe1ddde.json +0 -1
  397. package/dist/static/username.9e034d51.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n flow?: TMilestoneFormFlow | null;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n flow,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n is_live: isLive,\n } = goalInfo;\n const canIncludeGoal = flow === 'CREATE' ? isLive : true;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPreset = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","flow","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","isLive","canIncludeGoal","gradePresent","gradeInfo","regionPresent","country","boardPreset","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n isTeacherTrainingAccount?: boolean;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream || !goalInfo.is_live) return false;\n\n return isTeacherTrainingAccount || checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n flow?: TMilestoneFormFlow | null;\n isTeacherTrainingAccount?: boolean;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n flow,\n isTeacherTrainingAccount,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n is_live: isLive,\n } = goalInfo;\n const canIncludeGoal = flow === 'CREATE' ? isLive : true;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPresent = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n const isSchoolSuccessCategory = selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS;\n\n const isBasicEligibilityMet =\n canIncludeGoal && selectedCategoryIsPresent && isSameCourse && gradePresent;\n\n if (isTeacherTrainingAccount)\n return (\n isBasicEligibilityMet &&\n (isSchoolSuccessCategory\n ? boardPresent\n : availableCountries.length > 0\n ? regionPresent\n : true)\n );\n\n if (isSchoolSuccessCategory) {\n return isBasicEligibilityMet && isStudentEnrollmentTypeSupported && boardPresent;\n }\n\n return (\n isBasicEligibilityMet &&\n isStudentEnrollmentTypeSupported &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n isTeacherTrainingAccount?: boolean;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (isTeacherTrainingAccount)\n return (\n isSameCourse &&\n isGradeAvailable &&\n isBoardAvailable &&\n (majorsPresent && major ? isMajorAvailable : true)\n );\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n isTeacherTrainingAccount?: boolean,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream || !goalInfo.is_live) return false;\n\n return isTeacherTrainingAccount || checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","isTeacherTrainingAccount","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","flow","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","isLive","canIncludeGoal","gradePresent","gradeInfo","regionPresent","country","boardPresent","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","isSchoolSuccessCategory","GOAL_CATEGORY","isBasicEligibilityMet","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
@@ -1,213 +1,230 @@
1
- import { jsx as X } from "react/jsx-runtime";
2
- import { memo as Y, useContext as Z, useMemo as C, useCallback as i } from "react";
3
- import { convertToTitleCase as M } from "../../../../../helpers/label-text.js";
4
- import { useUIContext as $ } from "../../../../ui/context/context.js";
5
- import { WARNING_MESSAGES as I } from "../../../constants.js";
6
- import h from "../../milestone-create-context.js";
7
- import { getGradesBasedOnGoalAvailability as n, appendPrimaryGoalCategoryToFormState as v } from "../../milestone-create-helpers.js";
8
- import { computeChangeDetection as T, getCountriesWhereCurrentGradeNCategoryIsAvailable as E } from "../chapters-selection-step/utils.js";
9
- import { getTestTypeBasedCategory as x } from "../test-type-step/test-type-utils.js";
10
- import W from "./class-details-selectors.js";
11
- import { getCategorizedCurriculumStandards as ee } from "./class-details-utils.js";
12
- const ye = Y(
1
+ import { jsx as $ } from "react/jsx-runtime";
2
+ import { memo as g, useContext as h, useMemo as p, useCallback as U } from "react";
3
+ import { convertToTitleCase as B } from "../../../../../helpers/label-text.js";
4
+ import { useUIContext as E } from "../../../../ui/context/context.js";
5
+ import { WARNING_MESSAGES as _ } from "../../../constants.js";
6
+ import x from "../../milestone-create-context.js";
7
+ import { getGradesBasedOnGoalAvailability as W, appendPrimaryGoalCategoryToFormState as D } from "../../milestone-create-helpers.js";
8
+ import { computeChangeDetection as i, getCountriesWhereCurrentGradeNCategoryIsAvailable as T } from "../chapters-selection-step/utils.js";
9
+ import { getTestTypeBasedCategory as n } from "../test-type-step/test-type-utils.js";
10
+ import tt from "./class-details-selectors.js";
11
+ import { getCategorizedCurriculumStandards as ot } from "./class-details-utils.js";
12
+ const ft = g(
13
13
  ({
14
14
  config: s,
15
- formData: g,
16
- currentStep: j,
17
- courseStream: r,
18
- classRatio: U,
19
- onChapterExitWarning: o,
20
- onFormDataChange: _,
21
- enrollmentType: a
15
+ formData: H,
16
+ currentStep: P,
17
+ courseStream: d,
18
+ classRatio: L,
19
+ onChapterExitWarning: e,
20
+ onFormDataChange: O,
21
+ enrollmentType: r,
22
+ isTeacherTrainingAccount: l
22
23
  }) => {
23
- const { onEvent: D } = $(), { flow: c } = Z(h), {
24
- testType: u,
25
- grade: d,
26
- board: m,
27
- schoolInfo: B,
28
- region: H,
29
- primaryChaptersList: P,
30
- chapterGoalCategory: R = {}
31
- } = g, { primaryGoalCategory: k } = R, G = x(u), { countryCode: F } = B || {}, t = H || F, { name: L } = j, y = T(P, k), O = C(
24
+ const { onEvent: A } = E(), { flow: m } = h(x), {
25
+ testType: G,
26
+ grade: a,
27
+ board: y,
28
+ schoolInfo: R,
29
+ region: k,
30
+ primaryChaptersList: F,
31
+ chapterGoalCategory: S = {}
32
+ } = H, { primaryGoalCategory: w } = S, C = n(G), { countryCode: z } = R || {}, o = k || z, { name: M } = P, f = i(F, w), j = p(
32
33
  () => ({
33
- step: L
34
+ step: M
34
35
  }),
35
- [L]
36
- ), S = C(
37
- () => ee(s, {
38
- grade: d ?? "",
39
- countryCode: t ?? "",
40
- goalCategory: G,
41
- courseStream: r,
42
- classRatio: U,
43
- enrollmentType: a,
44
- flow: c
36
+ [M]
37
+ ), q = p(
38
+ () => ot(s, {
39
+ grade: a ?? "",
40
+ countryCode: o ?? "",
41
+ goalCategory: C,
42
+ courseStream: d,
43
+ classRatio: L,
44
+ enrollmentType: r,
45
+ flow: m,
46
+ isTeacherTrainingAccount: l
45
47
  }),
46
48
  [
47
- U,
49
+ L,
48
50
  s,
49
- r,
50
- t,
51
51
  d,
52
+ o,
52
53
  a,
53
- G,
54
- c
55
- ]
56
- ), f = C(
57
- () => E(
58
54
  r,
55
+ C,
56
+ m,
57
+ l
58
+ ]
59
+ ), N = p(
60
+ () => T(
61
+ d,
59
62
  s,
60
- G,
63
+ C,
64
+ r,
61
65
  a,
62
- d,
63
- t
66
+ o,
67
+ l
64
68
  ),
65
- [r, s, G, a, d, t]
66
- ), w = C(() => n(
69
+ [
70
+ d,
71
+ s,
72
+ C,
73
+ r,
74
+ a,
75
+ o,
76
+ l
77
+ ]
78
+ ), J = p(() => W(
67
79
  s,
68
- G,
80
+ C,
81
+ d,
69
82
  r,
70
- a
71
- ), [s, r, a, G]), z = C(() => {
72
- var e;
73
- return (e = Object.entries(f)) == null ? void 0 : e.map(([p, A]) => ({
74
- id: p,
75
- label: M(A)
76
- })).sort((p, A) => p.label.localeCompare(A.label));
77
- }, [f]), q = C(() => t && f[t] ? M(f[t] ?? "") : "", [f, t]), l = i(
83
+ l
84
+ ), [s, d, r, l, C]), K = p(() => {
85
+ var t;
86
+ return (t = Object.entries(N)) == null ? void 0 : t.map(([b, I]) => ({
87
+ id: b,
88
+ label: B(I)
89
+ })).sort((b, I) => b.label.localeCompare(I.label));
90
+ }, [N]), Q = p(() => o && N[o] ? B(N[o] ?? "") : "", [N, o]), u = U(
78
91
  ({
79
- updatedData: e,
80
- gradeUpdated: p,
81
- boardUpdated: A,
82
- countryUpdated: V
92
+ updatedData: t,
93
+ gradeUpdated: b,
94
+ boardUpdated: I,
95
+ countryUpdated: Z
83
96
  }) => {
84
- let N, b;
85
- p ? (N = v(
97
+ let c, v;
98
+ b ? (c = D(
86
99
  s,
87
- u,
88
- e,
100
+ G,
101
+ t,
102
+ d,
89
103
  r,
90
- a,
104
+ y,
105
+ o,
91
106
  m,
92
- t,
93
- c
94
- ), b = {
95
- grade: e
96
- }) : A ? (N = v(
107
+ l
108
+ ), v = {
109
+ grade: t
110
+ }) : I ? (c = D(
97
111
  s,
98
- u,
112
+ G,
113
+ a,
99
114
  d,
100
115
  r,
101
- a,
102
- e,
103
116
  t,
104
- c
105
- ), b = {
106
- board: e,
117
+ o,
118
+ m,
119
+ l
120
+ ), v = {
121
+ board: t,
107
122
  major: void 0
108
- }) : V && (N = v(
123
+ }) : Z && (c = D(
109
124
  s,
110
- u,
125
+ G,
126
+ a,
111
127
  d,
112
128
  r,
113
- a,
129
+ y,
130
+ t,
114
131
  m,
115
- e,
116
- c
117
- ), b = {
118
- region: e
119
- }), D("onchange", O), _({
120
- ...b,
132
+ l
133
+ ), v = {
134
+ region: t
135
+ }), A("onchange", j), O({
136
+ ...v,
121
137
  chapterGoalCategory: {
122
- primaryGoalCategory: N
138
+ primaryGoalCategory: c
123
139
  },
124
140
  primaryChaptersList: void 0
125
141
  });
126
142
  },
127
143
  [
128
- O,
129
- m,
144
+ j,
145
+ y,
130
146
  s,
147
+ d,
148
+ o,
131
149
  r,
132
- t,
133
150
  a,
134
- d,
135
- _,
136
- u,
137
- D,
138
- c
151
+ O,
152
+ G,
153
+ A,
154
+ m,
155
+ l
139
156
  ]
140
- ), J = i(
141
- (e) => {
142
- if (e === d) return null;
143
- y ? o == null || o({
144
- description: I.GOAL_CHANGE_WARNING,
157
+ ), V = U(
158
+ (t) => {
159
+ if (t === a) return null;
160
+ f ? e == null || e({
161
+ description: _.GOAL_CHANGE_WARNING,
145
162
  onSuccess: () => {
146
- l({
147
- updatedData: e,
163
+ u({
164
+ updatedData: t,
148
165
  gradeUpdated: !0
149
166
  });
150
167
  }
151
- }) : l({
152
- updatedData: e,
168
+ }) : u({
169
+ updatedData: t,
153
170
  gradeUpdated: !0
154
171
  });
155
172
  },
156
- [o, l, d, y]
157
- ), K = i(
158
- (e) => {
159
- if (e === m) return null;
160
- y ? o == null || o({
161
- description: I.GOAL_CHANGE_WARNING,
173
+ [e, u, a, f]
174
+ ), X = U(
175
+ (t) => {
176
+ if (t === y) return null;
177
+ f ? e == null || e({
178
+ description: _.GOAL_CHANGE_WARNING,
162
179
  onSuccess: () => {
163
- l({
164
- updatedData: e,
180
+ u({
181
+ updatedData: t,
165
182
  boardUpdated: !0
166
183
  });
167
184
  }
168
- }) : l({
169
- updatedData: e,
185
+ }) : u({
186
+ updatedData: t,
170
187
  boardUpdated: !0
171
188
  });
172
189
  },
173
- [o, l, m, y]
174
- ), Q = i(
175
- (e) => {
176
- if (e === t) return null;
177
- y ? o == null || o({
178
- description: I.GOAL_CHANGE_WARNING,
190
+ [e, u, y, f]
191
+ ), Y = U(
192
+ (t) => {
193
+ if (t === o) return null;
194
+ f ? e == null || e({
195
+ description: _.GOAL_CHANGE_WARNING,
179
196
  onSuccess: () => {
180
- l({
181
- updatedData: e,
197
+ u({
198
+ updatedData: t,
182
199
  countryUpdated: !0
183
200
  });
184
201
  }
185
- }) : l({
186
- updatedData: e,
202
+ }) : u({
203
+ updatedData: t,
187
204
  countryUpdated: !0
188
205
  });
189
206
  },
190
- [o, l, t, y]
207
+ [e, u, o, f]
191
208
  );
192
- return /* @__PURE__ */ X(
193
- W,
209
+ return /* @__PURE__ */ $(
210
+ tt,
194
211
  {
195
- testType: u,
196
- grade: d,
197
- grades: w,
198
- board: m,
199
- boards: S,
200
- countryLabel: q,
201
- countries: z,
202
- currentCountryCode: t,
203
- handleCountryChange: Q,
204
- handleBoardChange: K,
205
- handleGradeSelect: J
212
+ testType: G,
213
+ grade: a,
214
+ grades: J,
215
+ board: y,
216
+ boards: q,
217
+ countryLabel: Q,
218
+ countries: K,
219
+ currentCountryCode: o,
220
+ handleCountryChange: Y,
221
+ handleBoardChange: X,
222
+ handleGradeSelect: V
206
223
  }
207
224
  );
208
225
  }
209
226
  );
210
227
  export {
211
- ye as default
228
+ ft as default
212
229
  };
213
230
  //# sourceMappingURL=class-details-step.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n ),\n [courseStream, config, selectedGoalCategory, enrollmentType, grade, currentCountryCode],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n );\n }, [config, courseStream, enrollmentType, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n flow,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n flow,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
1
+ {"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n isTeacherTrainingAccount,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n isTeacherTrainingAccount,\n ),\n [\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n isTeacherTrainingAccount,\n ],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n );\n }, [config, courseStream, enrollmentType, isTeacherTrainingAccount, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n flow,\n isTeacherTrainingAccount,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n flow,\n isTeacherTrainingAccount,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n flow,\n isTeacherTrainingAccount,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n flow,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","isTeacherTrainingAccount","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
@@ -1,30 +1,40 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import S from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
3
- import C from "../../../../ui/layout/flex-view.js";
4
- import { getCurriculumStandardsFromConfig as h } from "../../milestone-create-helpers.js";
5
- import { StyledStarIcon as D } from "./class-details-styled.js";
6
- const T = (d, { grade: n, countryCode: u, goalCategory: l, courseStream: s, classRatio: m, enrollmentType: c, flow: f }) => {
7
- const o = h(d, {
2
+ import C from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
3
+ import h from "../../../../ui/layout/flex-view.js";
4
+ import { getCurriculumStandardsFromConfig as D } from "../../milestone-create-helpers.js";
5
+ import { StyledStarIcon as x } from "./class-details-styled.js";
6
+ const $ = (d, {
7
+ grade: n,
8
+ countryCode: u,
9
+ goalCategory: l,
10
+ courseStream: s,
11
+ classRatio: m,
12
+ enrollmentType: c,
13
+ flow: f,
14
+ isTeacherTrainingAccount: p
15
+ }) => {
16
+ const o = D(d, {
8
17
  grade: n,
9
18
  countryCode: u,
10
19
  goalCategory: l,
11
20
  courseStream: s,
12
21
  classRatio: m,
13
22
  enrollmentType: c,
14
- flow: f
23
+ flow: f,
24
+ isTeacherTrainingAccount: p
15
25
  }), i = (r) => {
16
26
  const { isDefault: t } = r;
17
27
  return t ? {
18
28
  ...r,
19
- tag: /* @__PURE__ */ e(S, { renderAs: "secondary", position: "top", tooltipItem: "Default", zIndex: 4, children: /* @__PURE__ */ e(C, { $width: 20, $height: 20, $alignItems: "center", children: /* @__PURE__ */ e(D, {}) }) })
29
+ tag: /* @__PURE__ */ e(C, { renderAs: "secondary", position: "top", tooltipItem: "Default", zIndex: 4, children: /* @__PURE__ */ e(h, { $width: 20, $height: 20, $alignItems: "center", children: /* @__PURE__ */ e(x, {}) }) })
20
30
  } : r;
21
- }, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1, p = o.filter((r) => r.isRecommended).map(i).sort(a), g = o.filter((r) => !r.isRecommended).map(i).sort(a);
31
+ }, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1, g = o.filter((r) => r.isRecommended).map(i).sort(a), S = o.filter((r) => !r.isRecommended).map(i).sort(a);
22
32
  return [
23
- { title: "recommended", data: p },
24
- { title: "others", data: g }
33
+ { title: "recommended", data: g },
34
+ { title: "others", data: S }
25
35
  ].filter((r) => r.data.length > 0);
26
36
  };
27
37
  export {
28
- T as getCategorizedCurriculumStandards
38
+ $ as getCategorizedCurriculumStandards
29
39
  };
30
40
  //# sourceMappingURL=class-details-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-details-utils.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-utils.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\n\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport * as Styled from './class-details-styled';\n\ninterface IGetCategorizedCurriculumStandards {\n (\n config: IMilestoneConfig,\n options: {\n grade: string;\n countryCode: string;\n goalCategory: TGoalCategory;\n courseStream: TCourseStream;\n classRatio?: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n },\n ): ISectionOption<TCurriculumStandardOption>[];\n}\n\nconst getCategorizedCurriculumStandards: IGetCategorizedCurriculumStandards = (\n config,\n { grade, countryCode, goalCategory, courseStream, classRatio, enrollmentType, flow },\n) => {\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n });\n\n const addTagToSectionOption = (option: TCurriculumStandardOption) => {\n const { isDefault } = option;\n\n if (isDefault) {\n return {\n ...option,\n tag: (\n <ArrowTooltip renderAs=\"secondary\" position=\"top\" tooltipItem=\"Default\" zIndex={4}>\n <FlexView $width={20} $height={20} $alignItems=\"center\">\n <Styled.StyledStarIcon />\n </FlexView>\n </ArrowTooltip>\n ),\n };\n }\n\n return option;\n };\n\n const prioritySortByDefaultAndLabel = (\n a: TCurriculumStandardOption,\n b: TCurriculumStandardOption,\n ) => {\n //* If a has tag, It should come before b\n if (a.isDefault && !b.isDefault) return -1;\n\n //* If b has tag, It should come before a\n if (!a.isDefault && b.isDefault) return 1;\n\n //* Else we sort based on alphabetic order of label\n if (a.label.toUpperCase() > b.label.toUpperCase()) {\n return 1;\n }\n\n return -1;\n };\n\n const recommendedCurriculumStandards = curriculumStandards\n .filter(option => option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n const otherCurriculumStandards = curriculumStandards\n .filter(option => !option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n\n const categorizedCurriculumStandards = [\n { title: 'recommended', data: recommendedCurriculumStandards },\n { title: 'others', data: otherCurriculumStandards },\n ].filter(option => option.data.length > 0);\n\n return categorizedCurriculumStandards;\n};\n\nexport { getCategorizedCurriculumStandards };\n"],"names":["getCategorizedCurriculumStandards","config","grade","countryCode","goalCategory","courseStream","classRatio","enrollmentType","flow","curriculumStandards","getCurriculumStandardsFromConfig","addTagToSectionOption","option","isDefault","jsx","ArrowTooltip","FlexView","Styled.StyledStarIcon","prioritySortByDefaultAndLabel","a","b","recommendedCurriculumStandards","otherCurriculumStandards"],"mappings":";;;;;AA8BM,MAAAA,IAAwE,CAC5EC,GACA,EAAE,OAAAC,GAAO,aAAAC,GAAa,cAAAC,GAAc,cAAAC,GAAc,YAAAC,GAAY,gBAAAC,GAAgB,MAAAC,QAC3E;AACG,QAAAC,IAAsBC,EAAiCT,GAAQ;AAAA,IACnE,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,EAAA,CACD,GAEKG,IAAwB,CAACC,MAAsC;AAC7D,UAAA,EAAE,WAAAC,EAAc,IAAAD;AAEtB,WAAIC,IACK;AAAA,MACL,GAAGD;AAAA,MACH,KACG,gBAAAE,EAAAC,GAAA,EAAa,UAAS,aAAY,UAAS,OAAM,aAAY,WAAU,QAAQ,GAC9E,UAAA,gBAAAD,EAACE,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAC7C,4BAACC,GAAA,CAAA,CAAsB,EAAA,CACzB,EACF,CAAA;AAAA,IAAA,IAKCL;AAAA,EAAA,GAGHM,IAAgC,CACpCC,GACAC,MAGID,EAAE,aAAa,CAACC,EAAE,YAAkB,KAGpC,CAACD,EAAE,aAAaC,EAAE,aAGlBD,EAAE,MAAM,YAAA,IAAgBC,EAAE,MAAM,gBAC3B,IAGF,IAGHC,IAAiCZ,EACpC,OAAO,CAAUG,MAAAA,EAAO,aAAa,EACrC,IAAID,CAAqB,EACzB,KAAKO,CAA6B,GAC/BI,IAA2Bb,EAC9B,OAAO,CAAAG,MAAU,CAACA,EAAO,aAAa,EACtC,IAAID,CAAqB,EACzB,KAAKO,CAA6B;AAO9B,SALgC;AAAA,IACrC,EAAE,OAAO,eAAe,MAAMG,EAA+B;AAAA,IAC7D,EAAE,OAAO,UAAU,MAAMC,EAAyB;AAAA,EAAA,EAClD,OAAO,CAAAV,MAAUA,EAAO,KAAK,SAAS,CAAC;AAG3C;"}
1
+ {"version":3,"file":"class-details-utils.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-utils.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\n\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport * as Styled from './class-details-styled';\n\ninterface IGetCategorizedCurriculumStandards {\n (\n config: IMilestoneConfig,\n options: {\n grade: string;\n countryCode: string;\n goalCategory: TGoalCategory;\n courseStream: TCourseStream;\n classRatio?: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n isTeacherTrainingAccount?: boolean;\n },\n ): ISectionOption<TCurriculumStandardOption>[];\n}\n\nconst getCategorizedCurriculumStandards: IGetCategorizedCurriculumStandards = (\n config,\n {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n },\n) => {\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n });\n\n const addTagToSectionOption = (option: TCurriculumStandardOption) => {\n const { isDefault } = option;\n\n if (isDefault) {\n return {\n ...option,\n tag: (\n <ArrowTooltip renderAs=\"secondary\" position=\"top\" tooltipItem=\"Default\" zIndex={4}>\n <FlexView $width={20} $height={20} $alignItems=\"center\">\n <Styled.StyledStarIcon />\n </FlexView>\n </ArrowTooltip>\n ),\n };\n }\n\n return option;\n };\n\n const prioritySortByDefaultAndLabel = (\n a: TCurriculumStandardOption,\n b: TCurriculumStandardOption,\n ) => {\n //* If a has tag, It should come before b\n if (a.isDefault && !b.isDefault) return -1;\n\n //* If b has tag, It should come before a\n if (!a.isDefault && b.isDefault) return 1;\n\n //* Else we sort based on alphabetic order of label\n if (a.label.toUpperCase() > b.label.toUpperCase()) {\n return 1;\n }\n\n return -1;\n };\n\n const recommendedCurriculumStandards = curriculumStandards\n .filter(option => option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n const otherCurriculumStandards = curriculumStandards\n .filter(option => !option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n\n const categorizedCurriculumStandards = [\n { title: 'recommended', data: recommendedCurriculumStandards },\n { title: 'others', data: otherCurriculumStandards },\n ].filter(option => option.data.length > 0);\n\n return categorizedCurriculumStandards;\n};\n\nexport { getCategorizedCurriculumStandards };\n"],"names":["getCategorizedCurriculumStandards","config","grade","countryCode","goalCategory","courseStream","classRatio","enrollmentType","flow","isTeacherTrainingAccount","curriculumStandards","getCurriculumStandardsFromConfig","addTagToSectionOption","option","isDefault","jsx","ArrowTooltip","FlexView","Styled.StyledStarIcon","prioritySortByDefaultAndLabel","a","b","recommendedCurriculumStandards","otherCurriculumStandards"],"mappings":";;;;;AA+BM,MAAAA,IAAwE,CAC5EC,GACA;AAAA,EACE,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,0BAAAC;AACF,MACG;AACG,QAAAC,IAAsBC,EAAiCV,GAAQ;AAAA,IACnE,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,0BAAAC;AAAA,EAAA,CACD,GAEKG,IAAwB,CAACC,MAAsC;AAC7D,UAAA,EAAE,WAAAC,EAAc,IAAAD;AAEtB,WAAIC,IACK;AAAA,MACL,GAAGD;AAAA,MACH,KACG,gBAAAE,EAAAC,GAAA,EAAa,UAAS,aAAY,UAAS,OAAM,aAAY,WAAU,QAAQ,GAC9E,UAAA,gBAAAD,EAACE,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAC7C,4BAACC,GAAA,CAAA,CAAsB,EAAA,CACzB,EACF,CAAA;AAAA,IAAA,IAKCL;AAAA,EAAA,GAGHM,IAAgC,CACpCC,GACAC,MAGID,EAAE,aAAa,CAACC,EAAE,YAAkB,KAGpC,CAACD,EAAE,aAAaC,EAAE,aAGlBD,EAAE,MAAM,YAAA,IAAgBC,EAAE,MAAM,gBAC3B,IAGF,IAGHC,IAAiCZ,EACpC,OAAO,CAAUG,MAAAA,EAAO,aAAa,EACrC,IAAID,CAAqB,EACzB,KAAKO,CAA6B,GAC/BI,IAA2Bb,EAC9B,OAAO,CAAAG,MAAU,CAACA,EAAO,aAAa,EACtC,IAAID,CAAqB,EACzB,KAAKO,CAA6B;AAO9B,SALgC;AAAA,IACrC,EAAE,OAAO,eAAe,MAAMG,EAA+B;AAAA,IAC7D,EAAE,OAAO,UAAU,MAAMC,EAAyB;AAAA,EAAA,EAClD,OAAO,CAAAV,MAAUA,EAAO,KAAK,SAAS,CAAC;AAG3C;"}