@cuemath/leap 3.1.0-gg2 → 3.1.0

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 (395) hide show
  1. package/dist/assets/gif/gif.js +22 -22
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +128 -127
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/images/images.js +32 -32
  6. package/dist/assets/images/images.js.map +1 -1
  7. package/dist/assets/line-icons/icons/check.js +3 -3
  8. package/dist/assets/line-icons/icons/check.js.map +1 -1
  9. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  10. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  11. package/dist/assets/line-icons/icons/share.js +48 -0
  12. package/dist/assets/line-icons/icons/share.js.map +1 -0
  13. package/dist/assets/line-icons/icons/tile.js +54 -0
  14. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  15. package/dist/assets/lottie/lottie.js +86 -86
  16. package/dist/assets/lottie/lottie.js.map +1 -1
  17. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +34 -32
  18. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  19. package/dist/features/chapters-v2/chapter-details/chapter-details.js +47 -45
  20. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  21. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +11 -11
  22. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  23. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +47 -46
  24. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  25. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +165 -124
  26. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  27. package/dist/features/chapters-v2/utils/node-card-utils.js +41 -41
  28. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  29. package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
  30. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  31. package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
  32. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  33. package/dist/features/cue-canvas/cue-canvas-core.js +80 -75
  34. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  35. package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
  36. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  37. package/dist/features/cue-canvas/cue-canvas-provider.js +14 -12
  38. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  39. package/dist/features/cue-canvas/cue-canvas.js +79 -65
  40. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  41. package/dist/features/cue-canvas/cue-cavas-styled.js +45 -42
  42. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  43. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +61 -54
  44. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  45. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +18 -14
  46. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  47. package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
  48. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
  49. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  50. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  51. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  52. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  53. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +68 -0
  54. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  55. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  56. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  57. package/dist/features/cue-canvas/sidebar/homework/homework.js +39 -0
  58. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  59. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  60. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  61. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  62. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  63. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  64. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  65. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  66. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  67. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  68. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  69. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  70. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  71. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  72. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  73. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  74. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  75. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  76. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  77. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  78. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  79. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  80. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  81. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  82. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  83. package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
  84. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  85. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  86. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  87. package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
  88. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  89. package/dist/features/cue-canvas/toolbar/tool.js +22 -20
  90. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  91. package/dist/features/homework/homework-card-view.js +56 -54
  92. package/dist/features/homework/homework-card-view.js.map +1 -1
  93. package/dist/features/homework/homework-card.js +53 -52
  94. package/dist/features/homework/homework-card.js.map +1 -1
  95. package/dist/features/homework/styles.js +5 -4
  96. package/dist/features/homework/styles.js.map +1 -1
  97. package/dist/features/hooks/use-debounce.js +16 -0
  98. package/dist/features/hooks/use-debounce.js.map +1 -0
  99. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +38 -36
  100. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  101. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +24 -22
  102. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  103. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +23 -22
  104. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  105. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +49 -47
  106. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  107. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +94 -87
  108. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  109. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +13 -12
  110. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  111. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +23 -21
  112. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  113. package/dist/features/milestone/create/milestone-create-helpers.js +165 -162
  114. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  115. package/dist/features/trial-session/comps/pricing/india-pricing/index.js +96 -0
  116. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -0
  117. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +59 -0
  118. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +1 -0
  119. package/dist/features/trial-session/comps/pricing/pricing.js +36 -35
  120. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  121. package/dist/features/ui/stepper/stepper.js +7 -7
  122. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
  123. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  124. package/dist/index.d.ts +298 -247
  125. package/dist/index.js +184 -180
  126. package/dist/index.js.map +1 -1
  127. package/dist/static/accuracy-meter.99585cba.json +4218 -0
  128. package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
  129. package/dist/static/achievement_bg.0d0555ac.png +0 -0
  130. package/dist/static/advance-mode-segment-lottie.51ff6707.json +1 -0
  131. package/dist/static/alarm-clock-orange.31fb90d9.svg +1 -0
  132. package/dist/static/alarm-clock-purple.06d4911c.svg +1 -0
  133. package/dist/static/alien-1.fc7ba696.svg +1 -0
  134. package/dist/static/alien-2.15fdda07.svg +1 -0
  135. package/dist/static/alien-3.2664a37f.svg +1 -0
  136. package/dist/static/alien-4.06ac66da.svg +1 -0
  137. package/dist/static/ashta.0d3926b2.png +0 -0
  138. package/dist/static/avatar-selected.860ee923.json +1 -0
  139. package/dist/static/awesome.8e1cf046.png +0 -0
  140. package/dist/static/badge_success.2f6c8e65.png +0 -0
  141. package/dist/static/beginner1x.489908a7.json +3508 -0
  142. package/dist/static/bg_empty_resources.63b187fd.png +0 -0
  143. package/dist/static/blue-clip.87cc4543.svg +1 -0
  144. package/dist/static/bobwave.5603c70b.gif +0 -0
  145. package/dist/static/book-green.20f6eed3.svg +1 -0
  146. package/dist/static/book-open-blue.d4f8d08c.svg +5 -0
  147. package/dist/static/book-orange.04bdc75e.svg +1 -0
  148. package/dist/static/book-yellow.c210ac06.svg +1 -0
  149. package/dist/static/bronze-1.da4e4b5f.json +4176 -0
  150. package/dist/static/bronze-2.97f9c639.json +4433 -0
  151. package/dist/static/bronze-3.6a433ebd.json +4786 -0
  152. package/dist/static/bullet-yellow.2f892d88.svg +1 -0
  153. package/dist/static/calendar-blue.e0d52d09.svg +1 -0
  154. package/dist/static/calendar-gray.1c72682a.svg +1 -0
  155. package/dist/static/calendar-green.a2b6a393.svg +1 -0
  156. package/dist/static/caution.5766a967.svg +1 -0
  157. package/dist/static/chapter-1.8a1683a0.svg +1 -0
  158. package/dist/static/chapter-10.c97de4a5.svg +1 -0
  159. package/dist/static/chapter-2.71ac6dfc.svg +1 -0
  160. package/dist/static/chapter-3.003fc901.svg +1 -0
  161. package/dist/static/chapter-4.8abbacd8.svg +1 -0
  162. package/dist/static/chapter-5.c774b439.svg +1 -0
  163. package/dist/static/chapter-6.cb5cf1cb.svg +1 -0
  164. package/dist/static/chapter-7.57b0beb4.svg +1 -0
  165. package/dist/static/chapter-8.68d36477.svg +1 -0
  166. package/dist/static/chapter-9.0c00e26f.svg +1 -0
  167. package/dist/static/chapter-completed.1241399b.json +497 -0
  168. package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
  169. package/dist/static/chapter-header-bg.4ed173c2.svg +1 -0
  170. package/dist/static/chatva.d0c57a95.png +0 -0
  171. package/dist/static/circle-cuemath-logo-white.e9fafb91.svg +1 -0
  172. package/dist/static/circle-cuemath-logo.8bcb1ad4.svg +1 -0
  173. package/dist/static/circle-outercircle-bg.65f21460.svg +1 -0
  174. package/dist/static/circular-loader.a5a1a0a6.json +238 -0
  175. package/dist/static/clock-30min.eae818b8.json +1197 -0
  176. package/dist/static/clock-45min.df8adf51.json +1197 -0
  177. package/dist/static/clock-60min.2b48d875.json +1197 -0
  178. package/dist/static/clock-90min.3e557ed7.json +1407 -0
  179. package/dist/static/clock-orange.c144059b.svg +6 -0
  180. package/dist/static/color-1.45101b9a.json +4545 -0
  181. package/dist/static/color-2.ccdc7d0a.json +4828 -0
  182. package/dist/static/color-3.5e8e1422.json +5273 -0
  183. package/dist/static/community-bulb.3b42af21.svg +1 -0
  184. package/dist/static/competitive-arena.b9c40801.json +1 -0
  185. package/dist/static/congrats.75718de8.png +0 -0
  186. package/dist/static/cool.1893941c.png +0 -0
  187. package/dist/static/cosa.46c0c49b.png +0 -0
  188. package/dist/static/crosshair-circle.522a26ea.svg +1 -0
  189. package/dist/static/crown-overlay.11fb073c.svg +1 -0
  190. package/dist/static/crown.c18fa217.svg +1 -0
  191. package/dist/static/cuecoin-gold.bcb8085e.svg +1 -0
  192. package/dist/static/cuemath-app-qr-code.4beefe48.svg +1 -0
  193. package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +1 -0
  194. package/dist/static/cuemath-app-qr-code.d0912fc7.png +0 -0
  195. package/dist/static/default-chapter.8ede1160.png +0 -0
  196. package/dist/static/desktop-with-purple-fill.dfec66cc.svg +1 -0
  197. package/dist/static/difficult.6846c064.json +2755 -0
  198. package/dist/static/dob.9ce3c15b.json +1 -0
  199. package/dist/static/doda.3103971c.png +0 -0
  200. package/dist/static/duration-30min-gray.f6442df4.svg +1 -0
  201. package/dist/static/duration-45min-gray.ad90fb23.svg +1 -0
  202. package/dist/static/duration-60min-gray.874e52a2.svg +1 -0
  203. package/dist/static/duration-90min-gray.32a04cef.svg +1 -0
  204. package/dist/static/dvi.fc7b32a5.png +0 -0
  205. package/dist/static/earth-green.e1329b7a.svg +1 -0
  206. package/dist/static/easy-rescheduling.3a6d1a00.gif +0 -0
  207. package/dist/static/easy.68242ddd.json +2658 -0
  208. package/dist/static/eka.b10a06fa.png +0 -0
  209. package/dist/static/elite-circle.3df58972.json +6876 -0
  210. package/dist/static/ellipse-clip.dfb25608.svg +1 -0
  211. package/dist/static/empty_mix_tests.1d251f07.png +0 -0
  212. package/dist/static/enrichment-mini.fc3c0f83.gif +0 -0
  213. package/dist/static/enrichment.571feac0.gif +0 -0
  214. package/dist/static/error-lottie.b3507a4b.json +5255 -0
  215. package/dist/static/error.cbe1ddde.json +1 -0
  216. package/dist/static/familiar1x.7c9c7f15.json +3046 -0
  217. package/dist/static/female-avatar.b8cd1012.svg +1 -0
  218. package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
  219. package/dist/static/five-min-clock.6be5cc41.json +721 -0
  220. package/dist/static/game-play.4982b0cb.svg +1 -0
  221. package/dist/static/games.47abcb18.gif +0 -0
  222. package/dist/static/globe-with-blue-fill.beae6ca4.svg +1 -0
  223. package/dist/static/gold-1.ab2489fe.json +4176 -0
  224. package/dist/static/gold-2.34045826.json +4441 -0
  225. package/dist/static/gold-3.d704698b.json +4810 -0
  226. package/dist/static/grade-grid-background.b17b4ccb.svg +1 -0
  227. package/dist/static/grade.b3730524.json +1 -0
  228. package/dist/static/graduate-hat.4b49eb44.svg +1 -0
  229. package/dist/static/graduate-icon-pink.01fbfb1b.svg +1 -0
  230. package/dist/static/graduate-pink-filled-bg.c91e9c53.svg +1 -0
  231. package/dist/static/great.2a5dcc34.png +0 -0
  232. package/dist/static/green-balloon.67ac8587.svg +1 -0
  233. package/dist/static/green-face.1b4dd82f.svg +1 -0
  234. package/dist/static/hexo.eab4b9f5.png +0 -0
  235. package/dist/static/infinite-button-bg.5909225e.json +1 -0
  236. package/dist/static/infinite-button-symbol.aa31350c.json +1 -0
  237. package/dist/static/jigii-wave.150a6d18.gif +0 -0
  238. package/dist/static/key.d6846476.json +1 -0
  239. package/dist/static/kudos.b7e2aeb6.png +0 -0
  240. package/dist/static/learn.71b13323.json +1 -0
  241. package/dist/static/learned-shield-gray.1495b0d5.svg +1 -0
  242. package/dist/static/learned-shield-green.7c26b423.svg +1 -0
  243. package/dist/static/learning-plan.72d64a61.png +0 -0
  244. package/dist/static/learning-session.71cc8f22.gif +0 -0
  245. package/dist/static/learnt.870c5e38.svg +1 -0
  246. package/dist/static/lesson-overview-banner.f5404af6.png +0 -0
  247. package/dist/static/levelup-rings.b1055283.json +549 -0
  248. package/dist/static/like.cb492460.svg +1 -0
  249. package/dist/static/live-session.a0d25c78.svg +1 -0
  250. package/dist/static/loader-1.6524355e.svg +1 -0
  251. package/dist/static/loader.52f8c35c.svg +1 -0
  252. package/dist/static/locked.0c3b7577.svg +1 -0
  253. package/dist/static/mail.c30e8708.json +1 -0
  254. package/dist/static/maintenance.a26aca65.svg +1 -0
  255. package/dist/static/male-avatar.2febc9eb.svg +1 -0
  256. package/dist/static/mastered-badge.81f156fb.svg +1 -0
  257. package/dist/static/mastered-shield-gray.a58cbe19.svg +1 -0
  258. package/dist/static/mastered-shield-green.070fa4eb.svg +1 -0
  259. package/dist/static/max-wave.44e002c9.gif +0 -0
  260. package/dist/static/medium.94c3829b.json +2289 -0
  261. package/dist/static/mental-math.3c95f169.svg +1 -0
  262. package/dist/static/milestone-intro-1.281a354c.svg +1 -0
  263. package/dist/static/milestone-intro-2.19faee69.svg +1 -0
  264. package/dist/static/milestone-intro-3.6f6055d6.svg +1 -0
  265. package/dist/static/mistake.476d1aa7.svg +1 -0
  266. package/dist/static/no-info.f4bfe437.png +0 -0
  267. package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
  268. package/dist/static/node-learn-bg.b61f815c.svg +1 -0
  269. package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
  270. package/dist/static/node-project-bg.e6a33e28.svg +1 -0
  271. package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
  272. package/dist/static/node-recap-bg.546154e4.svg +1 -0
  273. package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
  274. package/dist/static/node-video-bg.3df3f73a.svg +1 -0
  275. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  276. package/dist/static/number-1-orange.cbf526ed.svg +1 -0
  277. package/dist/static/number-2-orange.6f29eb72.svg +1 -0
  278. package/dist/static/number-3-orange.58baf717.svg +1 -0
  279. package/dist/static/number-4-orange.5ed1ec5e.svg +1 -0
  280. package/dist/static/octo.3020bd93.png +0 -0
  281. package/dist/static/one-star-filled.b6084257.svg +1 -0
  282. package/dist/static/orange-face.5824c2e9.svg +1 -0
  283. package/dist/static/otp.2d08f874.json +1 -0
  284. package/dist/static/otp.a3029760.json +1 -0
  285. package/dist/static/parent-avatar.772d53e0.json +1 -0
  286. package/dist/static/people-with-orange-fill.3835b8f1.svg +1 -0
  287. package/dist/static/phone-number.0be312ea.json +1 -0
  288. package/dist/static/phone-number.84f55562.json +1 -0
  289. package/dist/static/play-icon.13baaa7d.svg +1 -0
  290. package/dist/static/play.68d16dec.svg +1 -0
  291. package/dist/static/point1.b53831de.json +2942 -0
  292. package/dist/static/point10.7b5e536d.json +3179 -0
  293. package/dist/static/point100.1df16f82.json +3196 -0
  294. package/dist/static/point15.fea00c32.json +3179 -0
  295. package/dist/static/point2.7cec6e24.json +1 -0
  296. package/dist/static/point20.c88d776d.json +3178 -0
  297. package/dist/static/point25.a18c346a.json +3178 -0
  298. package/dist/static/point3.f96fe7aa.json +1 -0
  299. package/dist/static/point30.c5224b0b.json +3202 -0
  300. package/dist/static/point35.fad343dd.json +3058 -0
  301. package/dist/static/point4.fe04fb83.json +1 -0
  302. package/dist/static/point40.10a16f72.json +3082 -0
  303. package/dist/static/point45.2ad7561f.json +3082 -0
  304. package/dist/static/point5.da40ed1f.json +2948 -0
  305. package/dist/static/point50.5718cb3d.json +3046 -0
  306. package/dist/static/point60.17380d9f.json +3076 -0
  307. package/dist/static/points-sum.360e63de.svg +1 -0
  308. package/dist/static/practice.158dd488.json +1 -0
  309. package/dist/static/practiced-shield-green.90278855.svg +1 -0
  310. package/dist/static/practiced-shield-grey.16cf4fe0.svg +1 -0
  311. package/dist/static/proficient-badge.1a6dbb72.svg +1 -0
  312. package/dist/static/proficient1x.fa6e7b80.json +3430 -0
  313. package/dist/static/profile-board.4f4a17e6.svg +1 -0
  314. package/dist/static/project.eb665827.json +1 -0
  315. package/dist/static/puzzle-student.de530364.svg +1 -0
  316. package/dist/static/puzzle.5aad5cf8.svg +1 -0
  317. package/dist/static/puzzle.b298c7e4.json +1 -0
  318. package/dist/static/puzzle_card_easy.7d9439b5.png +0 -0
  319. package/dist/static/puzzle_card_hard.185a19c4.png +0 -0
  320. package/dist/static/puzzle_card_medium.17daef9c.png +0 -0
  321. package/dist/static/puzzles.1e269965.gif +0 -0
  322. package/dist/static/random-mode-segment-lottie.79cf1c07.json +1 -0
  323. package/dist/static/recap.0dd2c1e2.json +1 -0
  324. package/dist/static/refund-policy-with-headphone.589398e0.svg +1 -0
  325. package/dist/static/refund-policy.912dbb4c.svg +1 -0
  326. package/dist/static/report-404.dd67785c.svg +1 -0
  327. package/dist/static/rocket-broken.1f86fa43.svg +1 -0
  328. package/dist/static/rocket-yellow.62d27e15.svg +1 -0
  329. package/dist/static/school-success-mini.f74a852f.gif +0 -0
  330. package/dist/static/school-success.f9669771.gif +0 -0
  331. package/dist/static/score.41971107.svg +1 -0
  332. package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +1 -0
  333. package/dist/static/shared.3af01b49.png +0 -0
  334. package/dist/static/sheet-reference.9da7a09f.png +0 -0
  335. package/dist/static/silver-1.0396328a.json +4168 -0
  336. package/dist/static/silver-2.bf50615f.json +4433 -0
  337. package/dist/static/silver-3.13d66b84.json +4810 -0
  338. package/dist/static/skills.90ce4cbb.gif +0 -0
  339. package/dist/static/sleepy-boi.031a1165.json +1008 -0
  340. package/dist/static/smiley.49bb7d7c.svg +1 -0
  341. package/dist/static/speckie-wave.510639ce.gif +0 -0
  342. package/dist/static/spinner-white.639e0d87.json +122 -0
  343. package/dist/static/spiral_pattern.9fd3e6e9.png +0 -0
  344. package/dist/static/splash-screen.bbf567ce.json +2411 -0
  345. package/dist/static/star-orange-filled.a7ff9c8f.svg +1 -0
  346. package/dist/static/star-orange.a91a341f.svg +1 -0
  347. package/dist/static/star-with-green-fill.86877d41.svg +1 -0
  348. package/dist/static/stay-connected.371d3d9d.gif +0 -0
  349. package/dist/static/streak-green.b59bf4dd.svg +1 -0
  350. package/dist/static/streak-white.2cbdc9b8.svg +1 -0
  351. package/dist/static/student-avatar.524226bd.json +1 -0
  352. package/dist/static/table-mode-reveal.b44a82c3.json +1 -0
  353. package/dist/static/table-mode-star.b8a1d762.json +1 -0
  354. package/dist/static/table-segment-star.78e851d6.json +1 -0
  355. package/dist/static/target-achieved-text.053bd142.json +2830 -0
  356. package/dist/static/target-achieved-text.10db8475.json +1 -0
  357. package/dist/static/teacher-validation.7577ecdc.json +245 -0
  358. package/dist/static/tera-wave.2954a6a4.gif +0 -0
  359. package/dist/static/test-difficulty-easy.56df71dd.svg +1 -0
  360. package/dist/static/test-difficulty-hard.7250f1f4.svg +1 -0
  361. package/dist/static/test-difficulty-medium.2fd9686e.svg +1 -0
  362. package/dist/static/test-prep-mini.718e5734.gif +0 -0
  363. package/dist/static/test-prep.ea433f71.gif +0 -0
  364. package/dist/static/test.803d6036.json +1 -0
  365. package/dist/static/tetra.354ff2b9.png +0 -0
  366. package/dist/static/three-stars-filled.72b51f03.svg +1 -0
  367. package/dist/static/tick-green.a1654049.svg +1 -0
  368. package/dist/static/total-streak.d5ce7669.json +842 -0
  369. package/dist/static/total-time-spent.434005d3.json +200 -0
  370. package/dist/static/total-time.d979cbb9.json +24383 -0
  371. package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
  372. package/dist/static/track-progress.c75b1031.gif +0 -0
  373. package/dist/static/trophy-blue-filled.7e2b40ab.svg +1 -0
  374. package/dist/static/trophy-blue.e684ba4c.svg +1 -0
  375. package/dist/static/trophy-circle.b7b23e36.svg +1 -0
  376. package/dist/static/trophy-green.6c0741c8.svg +10 -0
  377. package/dist/static/two-stars-filled.a51a14b4.svg +1 -0
  378. package/dist/static/up-arrow.a6946bd3.svg +1 -0
  379. package/dist/static/user-crown-grid-background.c2875a73.svg +1 -0
  380. package/dist/static/user-down.a06f2f94.svg +1 -0
  381. package/dist/static/user-pin.5f334465.svg +1 -0
  382. package/dist/static/user-profile-background.199977a9.svg +1 -0
  383. package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +1 -0
  384. package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +1 -0
  385. package/dist/static/user-type-selector-grid-bg.aad0b059.svg +1 -0
  386. package/dist/static/user-up.2aecbbae.svg +1 -0
  387. package/dist/static/username.9e034d51.json +1 -0
  388. package/dist/static/video.b41451e2.json +1 -0
  389. package/dist/static/vinnie-wave.10734dd5.gif +0 -0
  390. package/dist/static/way-forward.1428093e.gif +0 -0
  391. package/dist/static/wow.864fbb02.png +0 -0
  392. package/dist/static/yellow-face.b7525a33.svg +1 -0
  393. package/dist/static/your-goals.63ffbee5.gif +0 -0
  394. package/dist/static/zodasa.336c3bb0.png +0 -0
  395. package/package.json +3 -2
@@ -1,140 +1,147 @@
1
- import { jsx as V } from "react/jsx-runtime";
2
- import { memo as X, useMemo as y, useCallback as b } from "react";
3
- import { convertToTitleCase as O } from "../../../../../helpers/label-text.js";
4
- import { useUIContext as Y } from "../../../../ui/context/context.js";
5
- import { WARNING_MESSAGES as i } from "../../../constants.js";
6
- import { getGradesBasedOnGoalAvailability as Z, appendPrimaryGoalCategoryToFormState as I } from "../../milestone-create-helpers.js";
7
- import { computeChangeDetection as $, getCountriesWhereCurrentGradeNCategoryIsAvailable as h } from "../chapters-selection-step/utils.js";
8
- import { getTestTypeBasedCategory as T } from "../test-type-step/test-type-utils.js";
9
- import n from "./class-details-selectors.js";
10
- import { getCategorizedCurriculumStandards as E } from "./class-details-utils.js";
11
- const ce = X(
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(
12
13
  ({
13
14
  config: s,
14
15
  formData: g,
15
16
  currentStep: j,
16
17
  courseStream: r,
17
- classRatio: v,
18
+ classRatio: U,
18
19
  onChapterExitWarning: o,
19
- onFormDataChange: U,
20
+ onFormDataChange: _,
20
21
  enrollmentType: a
21
22
  }) => {
22
- const { onEvent: _ } = Y(), {
23
- testType: c,
23
+ const { onEvent: D } = $(), { flow: c } = Z(h), {
24
+ testType: u,
24
25
  grade: d,
25
- board: u,
26
+ board: m,
26
27
  schoolInfo: B,
27
28
  region: H,
28
- primaryChaptersList: M,
29
- chapterGoalCategory: P = {}
30
- } = g, { primaryGoalCategory: R } = P, m = T(c), { countryCode: k } = B || {}, t = H || k, { name: D } = j, G = $(M, R), L = y(
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(
31
32
  () => ({
32
- step: D
33
+ step: L
33
34
  }),
34
- [D]
35
- ), F = y(
36
- () => E(s, {
35
+ [L]
36
+ ), S = C(
37
+ () => ee(s, {
37
38
  grade: d ?? "",
38
39
  countryCode: t ?? "",
39
- goalCategory: m,
40
+ goalCategory: G,
40
41
  courseStream: r,
41
- classRatio: v,
42
- enrollmentType: a
42
+ classRatio: U,
43
+ enrollmentType: a,
44
+ flow: c
43
45
  }),
44
46
  [
45
- v,
47
+ U,
46
48
  s,
47
49
  r,
48
50
  t,
49
51
  d,
50
52
  a,
51
- m
53
+ G,
54
+ c
52
55
  ]
53
- ), f = y(
54
- () => h(
56
+ ), f = C(
57
+ () => E(
55
58
  r,
56
59
  s,
57
- m,
60
+ G,
58
61
  a,
59
62
  d,
60
63
  t
61
64
  ),
62
- [r, s, m, a, d, t]
63
- ), S = y(() => Z(
65
+ [r, s, G, a, d, t]
66
+ ), w = C(() => n(
64
67
  s,
65
- m,
68
+ G,
66
69
  r,
67
70
  a
68
- ), [s, r, a, m]), z = y(() => {
71
+ ), [s, r, a, G]), z = C(() => {
69
72
  var e;
70
- return (e = Object.entries(f)) == null ? void 0 : e.map(([p, C]) => ({
73
+ return (e = Object.entries(f)) == null ? void 0 : e.map(([p, A]) => ({
71
74
  id: p,
72
- label: O(C)
73
- })).sort((p, C) => p.label.localeCompare(C.label));
74
- }, [f]), q = y(() => t && f[t] ? O(f[t] ?? "") : "", [f, t]), l = b(
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(
75
78
  ({
76
79
  updatedData: e,
77
80
  gradeUpdated: p,
78
- boardUpdated: C,
79
- countryUpdated: Q
81
+ boardUpdated: A,
82
+ countryUpdated: V
80
83
  }) => {
81
- let A, N;
82
- p ? (A = I(
84
+ let N, b;
85
+ p ? (N = v(
83
86
  s,
84
- c,
87
+ u,
85
88
  e,
86
89
  r,
87
90
  a,
88
- u,
89
- t
90
- ), N = {
91
+ m,
92
+ t,
93
+ c
94
+ ), b = {
91
95
  grade: e
92
- }) : C ? (A = I(
96
+ }) : A ? (N = v(
93
97
  s,
94
- c,
98
+ u,
95
99
  d,
96
100
  r,
97
101
  a,
98
102
  e,
99
- t
100
- ), N = {
103
+ t,
104
+ c
105
+ ), b = {
101
106
  board: e,
102
107
  major: void 0
103
- }) : Q && (A = I(
108
+ }) : V && (N = v(
104
109
  s,
105
- c,
110
+ u,
106
111
  d,
107
112
  r,
108
113
  a,
109
- u,
110
- e
111
- ), N = {
114
+ m,
115
+ e,
116
+ c
117
+ ), b = {
112
118
  region: e
113
- }), _("onchange", L), U({
114
- ...N,
119
+ }), D("onchange", O), _({
120
+ ...b,
115
121
  chapterGoalCategory: {
116
- primaryGoalCategory: A
122
+ primaryGoalCategory: N
117
123
  },
118
124
  primaryChaptersList: void 0
119
125
  });
120
126
  },
121
127
  [
122
- L,
123
- u,
128
+ O,
129
+ m,
124
130
  s,
125
131
  r,
126
132
  t,
127
133
  a,
128
134
  d,
129
- U,
130
- c,
131
- _
135
+ _,
136
+ u,
137
+ D,
138
+ c
132
139
  ]
133
- ), w = b(
140
+ ), J = i(
134
141
  (e) => {
135
142
  if (e === d) return null;
136
- G ? o == null || o({
137
- description: i.GOAL_CHANGE_WARNING,
143
+ y ? o == null || o({
144
+ description: I.GOAL_CHANGE_WARNING,
138
145
  onSuccess: () => {
139
146
  l({
140
147
  updatedData: e,
@@ -146,12 +153,12 @@ const ce = X(
146
153
  gradeUpdated: !0
147
154
  });
148
155
  },
149
- [o, l, d, G]
150
- ), J = b(
156
+ [o, l, d, y]
157
+ ), K = i(
151
158
  (e) => {
152
- if (e === u) return null;
153
- G ? o == null || o({
154
- description: i.GOAL_CHANGE_WARNING,
159
+ if (e === m) return null;
160
+ y ? o == null || o({
161
+ description: I.GOAL_CHANGE_WARNING,
155
162
  onSuccess: () => {
156
163
  l({
157
164
  updatedData: e,
@@ -163,12 +170,12 @@ const ce = X(
163
170
  boardUpdated: !0
164
171
  });
165
172
  },
166
- [o, l, u, G]
167
- ), K = b(
173
+ [o, l, m, y]
174
+ ), Q = i(
168
175
  (e) => {
169
176
  if (e === t) return null;
170
- G ? o == null || o({
171
- description: i.GOAL_CHANGE_WARNING,
177
+ y ? o == null || o({
178
+ description: I.GOAL_CHANGE_WARNING,
172
179
  onSuccess: () => {
173
180
  l({
174
181
  updatedData: e,
@@ -180,27 +187,27 @@ const ce = X(
180
187
  countryUpdated: !0
181
188
  });
182
189
  },
183
- [o, l, t, G]
190
+ [o, l, t, y]
184
191
  );
185
- return /* @__PURE__ */ V(
186
- n,
192
+ return /* @__PURE__ */ X(
193
+ W,
187
194
  {
188
- testType: c,
195
+ testType: u,
189
196
  grade: d,
190
- grades: S,
191
- board: u,
192
- boards: F,
197
+ grades: w,
198
+ board: m,
199
+ boards: S,
193
200
  countryLabel: q,
194
201
  countries: z,
195
202
  currentCountryCode: t,
196
- handleCountryChange: K,
197
- handleBoardChange: J,
198
- handleGradeSelect: w
203
+ handleCountryChange: Q,
204
+ handleBoardChange: K,
205
+ handleGradeSelect: J
199
206
  }
200
207
  );
201
208
  }
202
209
  );
203
210
  export {
204
- ce as default
211
+ ye as default
205
212
  };
206
213
  //# 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, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\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\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 }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\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 );\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 );\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 );\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 ],\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","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":";;;;;;;;;;AAmBA,MAAMA,KAA6CC;AAAA,EACjD,CAAC;AAAA,IACC,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;AACJ,UAAM,EAAE,SAASC,EAAW,IAAIC,EAAa,GAEvC;AAAA,MACJ,UAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,YAAAC;AAAA,MACA,QAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,qBAAAC,IAAsB,CAAC;AAAA,IACrB,IAAAf,GAEE,EAAE,qBAAAgB,EAAwB,IAAAD,GAE1BE,IAAuBC,EAAyBT,CAAQ,GACxD,EAAE,aAAaU,MAA0BP,KAAc,CAAA,GACvDQ,IAAqBP,KAAUM,GAC/B,EAAE,MAAAE,EAAS,IAAApB,GAEXqB,IAAkBC,EAAuBT,GAAqBE,CAAmB,GAEjFQ,IAAiBC;AAAA,MACrB,OAAO;AAAA,QACL,MAAMJ;AAAA,MAAA;AAAA,MAER,CAACA,CAAI;AAAA,IAAA,GAGDK,IAASD;AAAA,MACb,MACEE,EAAkC5B,GAAQ;AAAA,QACxC,OAAOW,KAAS;AAAA,QAChB,aAAaU,KAAsB;AAAA,QACnC,cAAcH;AAAA,QACd,cAAAf;AAAA,QACA,YAAAC;AAAA,QACA,gBAAAG;AAAA,MAAA,CACD;AAAA,MACH;AAAA,QACEH;AAAA,QACAJ;AAAA,QACAG;AAAA,QACAkB;AAAA,QACAV;AAAA,QACAJ;AAAA,QACAW;AAAA,MACF;AAAA,IAAA,GAGIW,IAA+BH;AAAA,MACnC,MACEI;AAAA,QACE3B;AAAA,QACAH;AAAA,QACAkB;AAAA,QACAX;AAAA,QACAI;AAAA,QACAU;AAAA,MACF;AAAA,MACF,CAAClB,GAAcH,GAAQkB,GAAsBX,GAAgBI,GAAOU,CAAkB;AAAA,IAAA,GAGlFU,IAASL,EAAQ,MACdM;AAAA,MACLhC;AAAA,MACAkB;AAAA,MACAf;AAAA,MACAI;AAAA,IAAA,GAED,CAACP,GAAQG,GAAcI,GAAgBW,CAAoB,CAAC,GAEzDe,IAAYP,EAAQ,MAAM;;AACvB,cAAAQ,IAAA,OAAO,QAAQL,CAA4B,MAA3C,gBAAAK,EACH,IAAI,CAAC,CAACC,GAAaC,CAAW,OAAO;AAAA,QACrC,IAAID;AAAA,QACJ,OAAOE,EAAmBD,CAAW;AAAA,MACrC,IACD,KAAK,CAACE,GAAGC,MACDD,EAAE,MAAM,cAAcC,EAAE,KAAK;AAAA,IACrC,GACF,CAACV,CAA4B,CAAC,GAE3BW,IAAed,EAAQ,MACpBL,KAAsBQ,EAA6BR,CAAkB,IACxEgB,EAAmBR,EAA6BR,CAAkB,KAAK,EAAE,IACzE,IACH,CAACQ,GAA8BR,CAAkB,CAAC,GAE/CoB,IAAyBC;AAAA,MAC7B,CAAC;AAAA,QACC,aAAAC;AAAA,QACA,cAAAC;AAAA,QACA,cAAAC;AAAA,QACA,gBAAAC;AAAA,MAAA,MAOI;AACA,YAAAC,GACAC;AAEJ,QAAIJ,KAC2BG,IAAAE;AAAA,UAC3BjD;AAAA,UACAU;AAAA,UACAiC;AAAA,UACAxC;AAAA,UACAI;AAAA,UACAK;AAAA,UACAS;AAAA,QAAA,GAGgB2B,IAAA;AAAA,UAChB,OAAOL;AAAA,QAAA,KAEAE,KACoBE,IAAAE;AAAA,UAC3BjD;AAAA,UACAU;AAAA,UACAC;AAAA,UACAR;AAAA,UACAI;AAAA,UACAoC;AAAA,UACAtB;AAAA,QAAA,GAGgB2B,IAAA;AAAA,UAChB,OAAOL;AAAA,UACP,OAAO;AAAA,QAAA,KAEAG,MACoBC,IAAAE;AAAA,UAC3BjD;AAAA,UACAU;AAAA,UACAC;AAAA,UACAR;AAAA,UACAI;AAAA,UACAK;AAAA,UACA+B;AAAA,QAAA,GAGgBK,IAAA;AAAA,UAChB,QAAQL;AAAA,QAAA,IAIZnC,EAAW,YAAYiB,CAAc,GAEpBnB,EAAA;AAAA,UACf,GAAG0C;AAAA,UACH,qBAAqB;AAAA,YACnB,qBAAqBD;AAAA,UACvB;AAAA,UACA,qBAAqB;AAAA,QAAA,CACtB;AAAA,MACH;AAAA,MACA;AAAA,QACEtB;AAAA,QACAb;AAAA,QACAZ;AAAA,QACAG;AAAA,QACAkB;AAAA,QACAd;AAAA,QACAI;AAAA,QACAL;AAAA,QACAI;AAAA,QACAF;AAAA,MACF;AAAA,IAAA,GAGI0C,IAAoBR;AAAA,MACxB,CAACS,MAA0B;AACrB,YAAAA,MAAkBxC,EAAc,QAAA;AAEpC,QAAKY,IAMoBlB,KAAA,QAAAA,EAAA;AAAA,UACrB,aAAa+C,EAAiB;AAAA,UAC9B,WAAW,MAAM;AACQ,YAAAX,EAAA;AAAA,cACrB,aAAaU;AAAA,cACb,cAAc;AAAA,YAAA,CACf;AAAA,UACH;AAAA,QAAA,KAZqBV,EAAA;AAAA,UACrB,aAAaU;AAAA,UACb,cAAc;AAAA,QAAA,CACf;AAAA,MAYL;AAAA,MACA,CAAC9C,GAAsBoC,GAAwB9B,GAAOY,CAAe;AAAA,IAAA,GAGjE8B,IAAoBX;AAAA,MACxB,CAACY,MAAsB;AACjB,YAAAA,MAAc1C,EAAc,QAAA;AAEhC,QAAKW,IAMoBlB,KAAA,QAAAA,EAAA;AAAA,UACrB,aAAa+C,EAAiB;AAAA,UAC9B,WAAW,MAAM;AACQ,YAAAX,EAAA;AAAA,cACrB,aAAaa;AAAA,cACb,cAAc;AAAA,YAAA,CACf;AAAA,UACH;AAAA,QAAA,KAZqBb,EAAA;AAAA,UACrB,aAAaa;AAAA,UACb,cAAc;AAAA,QAAA,CACf;AAAA,MAYL;AAAA,MACA,CAACjD,GAAsBoC,GAAwB7B,GAAOW,CAAe;AAAA,IAAA,GAGjEgC,IAAsBb;AAAA,MAC1B,CAACc,MAA+B;AAC1B,YAAAA,MAAuBnC,EAA2B,QAAA;AAEtD,QAAKE,IAMoBlB,KAAA,QAAAA,EAAA;AAAA,UACrB,aAAa+C,EAAiB;AAAA,UAC9B,WAAW,MAAM;AACQ,YAAAX,EAAA;AAAA,cACrB,aAAae;AAAA,cACb,gBAAgB;AAAA,YAAA,CACjB;AAAA,UACH;AAAA,QAAA,KAZqBf,EAAA;AAAA,UACrB,aAAae;AAAA,UACb,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAYL;AAAA,MACA,CAACnD,GAAsBoC,GAAwBpB,GAAoBE,CAAe;AAAA,IAAA;AAIlF,WAAA,gBAAAkC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAAhD;AAAA,QACA,OAAAC;AAAA,QACA,QAAAoB;AAAA,QACA,OAAAnB;AAAA,QACA,QAAAe;AAAA,QACA,cAAAa;AAAA,QACA,WAAAP;AAAA,QACA,oBAAAZ;AAAA,QACA,qBAAAkC;AAAA,QACA,mBAAAF;AAAA,QACA,mBAAAH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
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,29 +1,30 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import g from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
3
- import S from "../../../../ui/layout/flex-view.js";
4
- import { getCurriculumStandardsFromConfig as C } from "../../milestone-create-helpers.js";
5
- import { StyledStarIcon as h } from "./class-details-styled.js";
6
- const A = (d, { grade: n, countryCode: u, goalCategory: l, courseStream: s, classRatio: m, enrollmentType: c }) => {
7
- const o = C(d, {
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, {
8
8
  grade: n,
9
9
  countryCode: u,
10
10
  goalCategory: l,
11
11
  courseStream: s,
12
12
  classRatio: m,
13
- enrollmentType: c
13
+ enrollmentType: c,
14
+ flow: f
14
15
  }), i = (r) => {
15
16
  const { isDefault: t } = r;
16
17
  return t ? {
17
18
  ...r,
18
- tag: /* @__PURE__ */ e(g, { renderAs: "secondary", position: "top", tooltipItem: "Default", zIndex: 4, children: /* @__PURE__ */ e(S, { $width: 20, $height: 20, $alignItems: "center", children: /* @__PURE__ */ e(h, {}) }) })
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, {}) }) })
19
20
  } : r;
20
- }, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1, f = o.filter((r) => r.isRecommended).map(i).sort(a), p = o.filter((r) => !r.isRecommended).map(i).sort(a);
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);
21
22
  return [
22
- { title: "recommended", data: f },
23
- { title: "others", data: p }
23
+ { title: "recommended", data: p },
24
+ { title: "others", data: g }
24
25
  ].filter((r) => r.data.length > 0);
25
26
  };
26
27
  export {
27
- A as getCategorizedCurriculumStandards
28
+ T as getCategorizedCurriculumStandards
28
29
  };
29
30
  //# 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} 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 },\n ): ISectionOption<TCurriculumStandardOption>[];\n}\n\nconst getCategorizedCurriculumStandards: IGetCategorizedCurriculumStandards = (\n config,\n { grade, countryCode, goalCategory, courseStream, classRatio, enrollmentType },\n) => {\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\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","curriculumStandards","getCurriculumStandardsFromConfig","addTagToSectionOption","option","isDefault","jsx","ArrowTooltip","FlexView","Styled.StyledStarIcon","prioritySortByDefaultAndLabel","a","b","recommendedCurriculumStandards","otherCurriculumStandards"],"mappings":";;;;;AA4BM,MAAAA,IAAwE,CAC5EC,GACA,EAAE,OAAAC,GAAO,aAAAC,GAAa,cAAAC,GAAc,cAAAC,GAAc,YAAAC,GAAY,gBAAAC,QAC3D;AACG,QAAAC,IAAsBC,EAAiCR,GAAQ;AAAA,IACnE,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;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 },\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;"}
@@ -8,35 +8,37 @@ import P from "../../milestone-create-context.js";
8
8
  import { getCurriculumStandardsFromConfig as S, getDefaultBoard as F, appendPrimaryGoalCategoryToFormState as O } from "../../milestone-create-helpers.js";
9
9
  import T from "../body-layout/body-layout.js";
10
10
  import { getCategorizedCurriculumStandards as X } from "../class-details-step/class-details-utils.js";
11
- import { getGoalCategories as j, getTestTypeBasedCategory as g } from "./test-type-utils.js";
11
+ import { getGoalCategories as j, getTestTypeBasedCategory as l } from "./test-type-utils.js";
12
12
  const Z = _(
13
13
  ({
14
14
  currentStep: f,
15
15
  formData: b,
16
16
  config: t,
17
17
  courseStream: o,
18
- classRatio: s,
19
- onFormDataChange: l,
18
+ classRatio: d,
19
+ onFormDataChange: C,
20
20
  enrollmentType: r
21
21
  }) => {
22
- const { name: C, title: h } = f, x = {
23
- step: C
24
- }, { testType: d, grade: i, board: n, region: m } = b, { flow: p } = L(P), { onEvent: c } = w(x), E = j(d, t, o, r), G = k(
22
+ const { name: p, title: h } = f, x = {
23
+ step: p
24
+ }, { testType: g, grade: i, board: n, region: m } = b, { flow: s } = L(P), { onEvent: c } = w(x), E = j(g, t, o, r), G = k(
25
25
  (a) => {
26
26
  const $ = X(t, {
27
27
  grade: i ?? "",
28
- goalCategory: g(a),
28
+ goalCategory: l(a),
29
29
  countryCode: m ?? "",
30
30
  courseStream: o,
31
- classRatio: s,
32
- enrollmentType: r
31
+ classRatio: d,
32
+ enrollmentType: r,
33
+ flow: s
33
34
  }), v = S(t, {
34
35
  grade: i ?? "",
35
- goalCategory: g(a),
36
+ goalCategory: l(a),
36
37
  countryCode: m ?? "",
37
38
  courseStream: o,
38
- classRatio: s,
39
- enrollmentType: r
39
+ classRatio: d,
40
+ enrollmentType: r,
41
+ flow: s
40
42
  }), u = n && v.some((I) => I.id === n) ? n : F($), A = O(
41
43
  t,
42
44
  a,
@@ -47,9 +49,9 @@ const Z = _(
47
49
  m
48
50
  );
49
51
  c("SELECTED_GOAL_CATEGORY", {
50
- goal_category: g(a),
51
- flow: p
52
- }), l({
52
+ goal_category: l(a),
53
+ flow: s
54
+ }), C({
53
55
  testType: a,
54
56
  board: u,
55
57
  chapterGoalCategory: {
@@ -64,12 +66,12 @@ const Z = _(
64
66
  [
65
67
  r,
66
68
  n,
67
- s,
69
+ d,
68
70
  t,
69
71
  o,
70
- p,
72
+ s,
71
73
  i,
72
- l,
74
+ C,
73
75
  m,
74
76
  c
75
77
  ]
@@ -77,16 +79,16 @@ const Z = _(
77
79
  return /* @__PURE__ */ e(
78
80
  T,
79
81
  {
80
- stepName: C,
82
+ stepName: p,
81
83
  headerElement: /* @__PURE__ */ e(D, { $renderAs: "ab2", children: h }),
82
84
  bodyElement: /* @__PURE__ */ e(y, { $alignItems: "center", $height: "100%", $gapX: 5, children: /* @__PURE__ */ e(y, { $flexDirection: "row", $flexGapX: 1.5, children: /* @__PURE__ */ e(
83
85
  B,
84
86
  {
85
87
  options: E,
86
- value: d,
88
+ value: g,
87
89
  onChange: G,
88
90
  analyticsLabel: "goal_category",
89
- analyticsProps: { test_type: d },
91
+ analyticsProps: { test_type: g },
90
92
  type: "radio"
91
93
  }
92
94
  ) }) })
@@ -1 +1 @@
1
- {"version":3,"file":"test-type-step.js","sources":["../../../../../../src/features/milestone/create/comps/test-type-step/test-type-step.tsx"],"sourcesContent":["import type { IFormStepProps, IMileStoneFormFields } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext } from 'react';\n\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport SelectionCards from '../../../../ui/selection-cards/selection-cards';\nimport Text from '../../../../ui/text/text';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getCurriculumStandardsFromConfig,\n getDefaultBoard,\n} from '../../milestone-create-helpers';\nimport BodyLayout from '../body-layout/body-layout';\nimport { getCategorizedCurriculumStandards } from '../class-details-step/class-details-utils';\nimport { getGoalCategories, getTestTypeBasedCategory } from './test-type-utils';\n\nconst TestTypeStep: React.FC<IFormStepProps> = memo(\n ({\n currentStep,\n formData,\n config,\n courseStream,\n classRatio,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { name, title } = currentStep;\n const analyticsProps = {\n step: name,\n };\n const { testType, grade, board, region } = formData;\n\n const { flow } = useContext(MilestoneCreateContext);\n const { onEvent: trackEvent } = useTrackingContext(analyticsProps);\n\n const goalCategories = getGoalCategories(testType, config, courseStream, enrollmentType);\n\n const handleTestTypeChange = useCallback(\n (selectedTestType: NonNullable<IMileStoneFormFields['testType']>) => {\n //* This is to compensate for kids with no board.\n //* ref: https://www.notion.so/cuemath/FE-Goal-Creator-15a8897caec780f3ae21e34ce6f34371?p=1758897caec7803689f8cfc7acf5f5fc&pm=s\n const boards = getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n goalCategory: getTestTypeBasedCategory(selectedTestType),\n countryCode: region ?? '',\n courseStream,\n classRatio,\n enrollmentType,\n });\n\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade: grade ?? '',\n goalCategory: getTestTypeBasedCategory(selectedTestType),\n countryCode: region ?? '',\n courseStream,\n classRatio,\n enrollmentType,\n });\n\n const boardIsAvailableInCurriculum =\n board && curriculumStandards.some(boardData => boardData.id === board);\n\n const boardData = boardIsAvailableInCurriculum ? board : getDefaultBoard(boards);\n\n const primaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n selectedTestType,\n grade,\n courseStream,\n enrollmentType,\n boardData,\n region,\n );\n\n trackEvent('SELECTED_GOAL_CATEGORY', {\n goal_category: getTestTypeBasedCategory(selectedTestType),\n flow,\n });\n\n onFormDataChange({\n testType: selectedTestType,\n board: boardData,\n chapterGoalCategory: {\n primaryGoalCategory,\n },\n committed: {\n testType: true,\n chapterGoalCategory: true,\n },\n });\n },\n [\n enrollmentType,\n board,\n classRatio,\n config,\n courseStream,\n flow,\n grade,\n onFormDataChange,\n region,\n trackEvent,\n ],\n );\n\n return (\n <BodyLayout\n stepName={name}\n headerElement={<Text $renderAs=\"ab2\">{title}</Text>}\n bodyElement={\n <FlexView $alignItems=\"center\" $height=\"100%\" $gapX={5}>\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <SelectionCards\n options={goalCategories}\n value={testType}\n onChange={handleTestTypeChange}\n analyticsLabel=\"goal_category\"\n analyticsProps={{ test_type: testType }}\n type=\"radio\"\n />\n </FlexView>\n </FlexView>\n }\n />\n );\n },\n);\n\nexport default TestTypeStep;\n"],"names":["TestTypeStep","memo","currentStep","formData","config","courseStream","classRatio","onFormDataChange","enrollmentType","name","title","analyticsProps","testType","grade","board","region","flow","useContext","MilestoneCreateContext","trackEvent","useTrackingContext","goalCategories","getGoalCategories","handleTestTypeChange","useCallback","selectedTestType","boards","getCategorizedCurriculumStandards","getTestTypeBasedCategory","curriculumStandards","getCurriculumStandardsFromConfig","boardData","getDefaultBoard","primaryGoalCategory","appendPrimaryGoalCategoryToFormState","jsx","BodyLayout","Text","FlexView","SelectionCards"],"mappings":";;;;;;;;;;;AAkBA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC;AAAA,IACC,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;AACE,UAAA,EAAE,MAAAC,GAAM,OAAAC,EAAU,IAAAR,GAClBS,IAAiB;AAAA,MACrB,MAAMF;AAAA,IAAA,GAEF,EAAE,UAAAG,GAAU,OAAAC,GAAO,OAAAC,GAAO,QAAAC,MAAWZ,GAErC,EAAE,MAAAa,EAAA,IAASC,EAAWC,CAAsB,GAC5C,EAAE,SAASC,EAAW,IAAIC,EAAmBT,CAAc,GAE3DU,IAAiBC,EAAkBV,GAAUR,GAAQC,GAAcG,CAAc,GAEjFe,IAAuBC;AAAA,MAC3B,CAACC,MAAoE;AAG7D,cAAAC,IAASC,EAAkCvB,GAAQ;AAAA,UACvD,OAAOS,KAAS;AAAA,UAChB,cAAce,EAAyBH,CAAgB;AAAA,UACvD,aAAaV,KAAU;AAAA,UACvB,cAAAV;AAAA,UACA,YAAAC;AAAA,UACA,gBAAAE;AAAA,QAAA,CACD,GAEKqB,IAAsBC,EAAiC1B,GAAQ;AAAA,UACnE,OAAOS,KAAS;AAAA,UAChB,cAAce,EAAyBH,CAAgB;AAAA,UACvD,aAAaV,KAAU;AAAA,UACvB,cAAAV;AAAA,UACA,YAAAC;AAAA,UACA,gBAAAE;AAAA,QAAA,CACD,GAKKuB,IAFJjB,KAASe,EAAoB,KAAK,CAAAE,MAAaA,EAAU,OAAOjB,CAAK,IAEtBA,IAAQkB,EAAgBN,CAAM,GAEzEO,IAAsBC;AAAA,UAC1B9B;AAAA,UACAqB;AAAA,UACAZ;AAAA,UACAR;AAAA,UACAG;AAAA,UACAuB;AAAA,UACAhB;AAAA,QAAA;AAGF,QAAAI,EAAW,0BAA0B;AAAA,UACnC,eAAeS,EAAyBH,CAAgB;AAAA,UACxD,MAAAT;AAAA,QAAA,CACD,GAEgBT,EAAA;AAAA,UACf,UAAUkB;AAAA,UACV,OAAOM;AAAA,UACP,qBAAqB;AAAA,YACnB,qBAAAE;AAAA,UACF;AAAA,UACA,WAAW;AAAA,YACT,UAAU;AAAA,YACV,qBAAqB;AAAA,UACvB;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MACA;AAAA,QACEzB;AAAA,QACAM;AAAA,QACAR;AAAA,QACAF;AAAA,QACAC;AAAA,QACAW;AAAA,QACAH;AAAA,QACAN;AAAA,QACAQ;AAAA,QACAI;AAAA,MACF;AAAA,IAAA;AAIA,WAAA,gBAAAgB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAU3B;AAAA,QACV,eAAe,gBAAA0B,EAACE,GAAK,EAAA,WAAU,OAAO,UAAM3B,GAAA;AAAA,QAC5C,aACE,gBAAAyB,EAACG,GAAS,EAAA,aAAY,UAAS,SAAQ,QAAO,OAAO,GACnD,UAAC,gBAAAH,EAAAG,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,SAASlB;AAAA,YACT,OAAOT;AAAA,YACP,UAAUW;AAAA,YACV,gBAAe;AAAA,YACf,gBAAgB,EAAE,WAAWX,EAAS;AAAA,YACtC,MAAK;AAAA,UAAA;AAAA,WAET,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}
1
+ {"version":3,"file":"test-type-step.js","sources":["../../../../../../src/features/milestone/create/comps/test-type-step/test-type-step.tsx"],"sourcesContent":["import type { IFormStepProps, IMileStoneFormFields } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext } from 'react';\n\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport SelectionCards from '../../../../ui/selection-cards/selection-cards';\nimport Text from '../../../../ui/text/text';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getCurriculumStandardsFromConfig,\n getDefaultBoard,\n} from '../../milestone-create-helpers';\nimport BodyLayout from '../body-layout/body-layout';\nimport { getCategorizedCurriculumStandards } from '../class-details-step/class-details-utils';\nimport { getGoalCategories, getTestTypeBasedCategory } from './test-type-utils';\n\nconst TestTypeStep: React.FC<IFormStepProps> = memo(\n ({\n currentStep,\n formData,\n config,\n courseStream,\n classRatio,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { name, title } = currentStep;\n const analyticsProps = {\n step: name,\n };\n const { testType, grade, board, region } = formData;\n\n const { flow } = useContext(MilestoneCreateContext);\n const { onEvent: trackEvent } = useTrackingContext(analyticsProps);\n\n const goalCategories = getGoalCategories(testType, config, courseStream, enrollmentType);\n\n const handleTestTypeChange = useCallback(\n (selectedTestType: NonNullable<IMileStoneFormFields['testType']>) => {\n //* This is to compensate for kids with no board.\n //* ref: https://www.notion.so/cuemath/FE-Goal-Creator-15a8897caec780f3ae21e34ce6f34371?p=1758897caec7803689f8cfc7acf5f5fc&pm=s\n const boards = getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n goalCategory: getTestTypeBasedCategory(selectedTestType),\n countryCode: region ?? '',\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n });\n\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade: grade ?? '',\n goalCategory: getTestTypeBasedCategory(selectedTestType),\n countryCode: region ?? '',\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n });\n\n const boardIsAvailableInCurriculum =\n board && curriculumStandards.some(boardData => boardData.id === board);\n\n const boardData = boardIsAvailableInCurriculum ? board : getDefaultBoard(boards);\n\n const primaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n selectedTestType,\n grade,\n courseStream,\n enrollmentType,\n boardData,\n region,\n );\n\n trackEvent('SELECTED_GOAL_CATEGORY', {\n goal_category: getTestTypeBasedCategory(selectedTestType),\n flow,\n });\n\n onFormDataChange({\n testType: selectedTestType,\n board: boardData,\n chapterGoalCategory: {\n primaryGoalCategory,\n },\n committed: {\n testType: true,\n chapterGoalCategory: true,\n },\n });\n },\n [\n enrollmentType,\n board,\n classRatio,\n config,\n courseStream,\n flow,\n grade,\n onFormDataChange,\n region,\n trackEvent,\n ],\n );\n\n return (\n <BodyLayout\n stepName={name}\n headerElement={<Text $renderAs=\"ab2\">{title}</Text>}\n bodyElement={\n <FlexView $alignItems=\"center\" $height=\"100%\" $gapX={5}>\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <SelectionCards\n options={goalCategories}\n value={testType}\n onChange={handleTestTypeChange}\n analyticsLabel=\"goal_category\"\n analyticsProps={{ test_type: testType }}\n type=\"radio\"\n />\n </FlexView>\n </FlexView>\n }\n />\n );\n },\n);\n\nexport default TestTypeStep;\n"],"names":["TestTypeStep","memo","currentStep","formData","config","courseStream","classRatio","onFormDataChange","enrollmentType","name","title","analyticsProps","testType","grade","board","region","flow","useContext","MilestoneCreateContext","trackEvent","useTrackingContext","goalCategories","getGoalCategories","handleTestTypeChange","useCallback","selectedTestType","boards","getCategorizedCurriculumStandards","getTestTypeBasedCategory","curriculumStandards","getCurriculumStandardsFromConfig","boardData","getDefaultBoard","primaryGoalCategory","appendPrimaryGoalCategoryToFormState","jsx","BodyLayout","Text","FlexView","SelectionCards"],"mappings":";;;;;;;;;;;AAkBA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC;AAAA,IACC,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;AACE,UAAA,EAAE,MAAAC,GAAM,OAAAC,EAAU,IAAAR,GAClBS,IAAiB;AAAA,MACrB,MAAMF;AAAA,IAAA,GAEF,EAAE,UAAAG,GAAU,OAAAC,GAAO,OAAAC,GAAO,QAAAC,MAAWZ,GAErC,EAAE,MAAAa,EAAA,IAASC,EAAWC,CAAsB,GAC5C,EAAE,SAASC,EAAW,IAAIC,EAAmBT,CAAc,GAE3DU,IAAiBC,EAAkBV,GAAUR,GAAQC,GAAcG,CAAc,GAEjFe,IAAuBC;AAAA,MAC3B,CAACC,MAAoE;AAG7D,cAAAC,IAASC,EAAkCvB,GAAQ;AAAA,UACvD,OAAOS,KAAS;AAAA,UAChB,cAAce,EAAyBH,CAAgB;AAAA,UACvD,aAAaV,KAAU;AAAA,UACvB,cAAAV;AAAA,UACA,YAAAC;AAAA,UACA,gBAAAE;AAAA,UACA,MAAAQ;AAAA,QAAA,CACD,GAEKa,IAAsBC,EAAiC1B,GAAQ;AAAA,UACnE,OAAOS,KAAS;AAAA,UAChB,cAAce,EAAyBH,CAAgB;AAAA,UACvD,aAAaV,KAAU;AAAA,UACvB,cAAAV;AAAA,UACA,YAAAC;AAAA,UACA,gBAAAE;AAAA,UACA,MAAAQ;AAAA,QAAA,CACD,GAKKe,IAFJjB,KAASe,EAAoB,KAAK,CAAAE,MAAaA,EAAU,OAAOjB,CAAK,IAEtBA,IAAQkB,EAAgBN,CAAM,GAEzEO,IAAsBC;AAAA,UAC1B9B;AAAA,UACAqB;AAAA,UACAZ;AAAA,UACAR;AAAA,UACAG;AAAA,UACAuB;AAAA,UACAhB;AAAA,QAAA;AAGF,QAAAI,EAAW,0BAA0B;AAAA,UACnC,eAAeS,EAAyBH,CAAgB;AAAA,UACxD,MAAAT;AAAA,QAAA,CACD,GAEgBT,EAAA;AAAA,UACf,UAAUkB;AAAA,UACV,OAAOM;AAAA,UACP,qBAAqB;AAAA,YACnB,qBAAAE;AAAA,UACF;AAAA,UACA,WAAW;AAAA,YACT,UAAU;AAAA,YACV,qBAAqB;AAAA,UACvB;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MACA;AAAA,QACEzB;AAAA,QACAM;AAAA,QACAR;AAAA,QACAF;AAAA,QACAC;AAAA,QACAW;AAAA,QACAH;AAAA,QACAN;AAAA,QACAQ;AAAA,QACAI;AAAA,MACF;AAAA,IAAA;AAIA,WAAA,gBAAAgB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAU3B;AAAA,QACV,eAAe,gBAAA0B,EAACE,GAAK,EAAA,WAAU,OAAO,UAAM3B,GAAA;AAAA,QAC5C,aACE,gBAAAyB,EAACG,GAAS,EAAA,aAAY,UAAS,SAAQ,QAAO,OAAO,GACnD,UAAC,gBAAAH,EAAAG,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,SAASlB;AAAA,YACT,OAAOT;AAAA,YACP,UAAUW;AAAA,YACV,gBAAe;AAAA,YACf,gBAAgB,EAAE,WAAWX,EAAS;AAAA,YACtC,MAAK;AAAA,UAAA;AAAA,WAET,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}