@cuemath/leap 3.1.6-j1 → 3.1.7-aa0

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 (194) hide show
  1. package/dist/assets/illustrations/illustrations.js +2 -1
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lib/lib.js +1 -1
  4. package/dist/assets/lib/lib.js.map +1 -1
  5. package/dist/assets/line-icons/icons/check.js +3 -3
  6. package/dist/assets/line-icons/icons/check.js.map +1 -1
  7. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  8. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  9. package/dist/assets/line-icons/icons/share.js +48 -0
  10. package/dist/assets/line-icons/icons/share.js.map +1 -0
  11. package/dist/assets/line-icons/icons/tile.js +54 -0
  12. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  13. package/dist/features/auth/account-selector/account-selector.js +33 -57
  14. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  15. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js +12 -0
  16. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js.map +1 -0
  17. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +9 -8
  18. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  19. package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js +1 -1
  20. package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
  21. package/dist/features/auth/forgot-password/forgot-password-styled.js +3 -15
  22. package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
  23. package/dist/features/auth/forgot-password/otp-form/otp-form.js +29 -29
  24. package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
  25. package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js +18 -14
  26. package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
  27. package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js +24 -23
  28. package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
  29. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +2 -4
  30. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
  31. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js +75 -85
  32. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
  33. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +21 -27
  34. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
  35. package/dist/features/auth/login/social-login-methods/social-login-methods.js +34 -43
  36. package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
  37. package/dist/features/auth/login/username-password-form/username-password-form.js +21 -22
  38. package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
  39. package/dist/features/auth/user-list/user-item/user-item.js +32 -33
  40. package/dist/features/auth/user-list/user-item/user-item.js.map +1 -1
  41. package/dist/features/auth/user-list/user-list.js +51 -60
  42. package/dist/features/auth/user-list/user-list.js.map +1 -1
  43. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +74 -74
  44. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  45. package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
  46. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  47. package/dist/features/cue-canvas/constants/constants.js +33 -3
  48. package/dist/features/cue-canvas/constants/constants.js.map +1 -1
  49. package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
  50. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  51. package/dist/features/cue-canvas/cue-canvas-core.js +140 -114
  52. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  53. package/dist/features/cue-canvas/cue-canvas-helpers.js +48 -38
  54. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  55. package/dist/features/cue-canvas/cue-canvas-provider.js +21 -21
  56. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  57. package/dist/features/cue-canvas/cue-canvas.js +70 -62
  58. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  59. package/dist/features/cue-canvas/cue-cavas-styled.js +48 -47
  60. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  61. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +47 -44
  62. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  63. package/dist/features/cue-canvas/hooks/use-config-updater.js +13 -0
  64. package/dist/features/cue-canvas/hooks/use-config-updater.js.map +1 -0
  65. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +18 -14
  66. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  67. package/dist/features/cue-canvas/hooks/use-height-extender.js +12 -10
  68. package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
  69. package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
  70. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
  71. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  72. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  73. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  74. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  75. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +68 -0
  76. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  77. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  78. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  79. package/dist/features/cue-canvas/sidebar/homework/homework.js +39 -0
  80. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  81. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  82. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  83. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  84. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  85. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  86. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  87. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  88. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  89. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  90. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  91. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  92. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  93. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  94. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  95. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  96. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  97. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  98. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  99. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  100. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  101. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  102. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  103. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  104. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  105. package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
  106. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  107. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  108. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  109. package/dist/features/cue-canvas/toolbar/color-palette.js +42 -33
  110. package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
  111. package/dist/features/cue-canvas/toolbar/color-picker-menu.js +28 -25
  112. package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
  113. package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
  114. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  115. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js +24 -35
  116. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
  117. package/dist/features/cue-canvas/toolbar/tool.js +22 -20
  118. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  119. package/dist/features/cue-canvas/toolbar/toolbar.js +17 -18
  120. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  121. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +13 -11
  122. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  123. package/dist/features/homework/hw-card-list/api/get-homeworks.js +1 -1
  124. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
  125. package/dist/features/homework/hw-card-list/hw-card-list-utils.js +8 -0
  126. package/dist/features/homework/hw-card-list/hw-card-list-utils.js.map +1 -0
  127. package/dist/features/homework/hw-card-list/hw-card-list-view.js +144 -112
  128. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  129. package/dist/features/homework/styles.js +5 -4
  130. package/dist/features/homework/styles.js.map +1 -1
  131. package/dist/features/hooks/use-debounce.js +16 -0
  132. package/dist/features/hooks/use-debounce.js.map +1 -0
  133. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +199 -262
  134. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  135. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js +15 -15
  136. package/dist/features/journey/hooks/use-home-page-journey/use-home-page-journey.js.map +1 -1
  137. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +38 -36
  138. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  139. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +24 -22
  140. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  141. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +23 -22
  142. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  143. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +49 -47
  144. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  145. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +94 -87
  146. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  147. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +13 -12
  148. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  149. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +23 -21
  150. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  151. package/dist/features/milestone/create/milestone-create-helpers.js +165 -162
  152. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  153. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +48 -47
  154. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  155. package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js +18 -0
  156. package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js.map +1 -0
  157. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +100 -121
  158. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  159. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +15 -14
  160. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  161. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +52 -51
  162. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  163. package/dist/features/trial-session/comps/pricing/india-pricing/index.js +96 -0
  164. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +1 -0
  165. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +59 -0
  166. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +1 -0
  167. package/dist/features/trial-session/comps/pricing/pricing.js +36 -35
  168. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  169. package/dist/features/ui/buttons/button/button-styled.js +29 -29
  170. package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
  171. package/dist/features/ui/stepper/stepper.js +7 -7
  172. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
  173. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  174. package/dist/features/worksheet/worksheet/worksheet-container.js +26 -26
  175. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  176. package/dist/index.d.ts +104 -35
  177. package/dist/index.js +323 -321
  178. package/dist/index.js.map +1 -1
  179. package/dist/static/ellipse-clip.dfb25608.svg +1 -0
  180. package/dist/static/lib/{polypad-4.5.4.js → polypad-4.5.4.v1.js} +8 -1
  181. package/package.json +1 -1
  182. package/dist/features/auth/account-selector/account-selector-styled.js +0 -9
  183. package/dist/features/auth/account-selector/account-selector-styled.js.map +0 -1
  184. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js +0 -21
  185. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js.map +0 -1
  186. package/dist/features/auth/login/login-styled.js +0 -13
  187. package/dist/features/auth/login/login-styled.js.map +0 -1
  188. package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js +0 -9
  189. package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js.map +0 -1
  190. package/dist/features/hooks/use-viewport.js +0 -21
  191. package/dist/features/hooks/use-viewport.js.map +0 -1
  192. package/dist/features/utils/media.js +0 -16
  193. package/dist/features/utils/media.js.map +0 -1
  194. package/dist/static/cuemath-app-qr-code.7205ee79.svg +0 -1
@@ -1,20 +1,20 @@
1
1
  import { GOAL_CATEGORY as M } from "../../../constants.js";
2
- import { checkEnrollmentAvailable as E, getTestTypeBasedCategory as O } from "../test-type-step/test-type-utils.js";
3
- const h = (e, t, o) => {
2
+ import { checkEnrollmentAvailable as h, getTestTypeBasedCategory as R } from "../test-type-step/test-type-utils.js";
3
+ const T = (e, t, o) => {
4
4
  const a = e.some(
5
5
  (l) => l === o
6
6
  ), n = t.length > 0 ? t.some(
7
7
  (l) => l === o
8
8
  ) : !0;
9
9
  return !a && n;
10
- }, I = ({
10
+ }, N = ({
11
11
  goalCode: e,
12
12
  config: t,
13
13
  courseStream: o,
14
14
  enrollmentType: a
15
15
  }) => {
16
16
  const { goal_curriculum_map: n } = t;
17
- return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 : E(r, a));
17
+ return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 : h(r, a));
18
18
  }, B = ({
19
19
  goalCurriculumStandard: e,
20
20
  referenceStandard: t
@@ -25,28 +25,30 @@ const h = (e, t, o) => {
25
25
  enrollmentType: a,
26
26
  grade: n,
27
27
  board: l,
28
- region: r
28
+ region: r,
29
+ flow: _
29
30
  }) => {
30
- const { goal_curriculum_map: g } = e, c = O(t);
31
- return g.filter((u) => {
31
+ const { goal_curriculum_map: u } = e, c = R(t);
32
+ return u.filter((C) => {
32
33
  const {
33
- available_grades: G,
34
- available_countries: d,
35
- goal_curriculum_standard: _,
36
- goal_category: b,
37
- blocked_enrollment_types: C,
38
- available_enrollment_types: f
39
- } = u, s = G.some((m) => m === n), i = d.some((m) => m === r), A = B({
40
- goalCurriculumStandard: _,
34
+ available_grades: d,
35
+ available_countries: g,
36
+ goal_curriculum_standard: b,
37
+ goal_category: f,
38
+ blocked_enrollment_types: v,
39
+ available_enrollment_types: s,
40
+ is_live: i
41
+ } = C, A = _ === "CREATE" ? i : !0, p = d.some((m) => m === n), E = g.some((m) => m === r), k = B({
42
+ goalCurriculumStandard: b,
41
43
  referenceStandard: l
42
- }), p = b === c, v = u.course_stream === o, S = h(
43
- C,
44
- f,
44
+ }), S = f === c, y = C.course_stream === o, G = T(
45
+ v,
46
+ s,
45
47
  a
46
48
  );
47
- return c === M.SCHOOL_SUCCESS ? S && v && s && A && p : S && v && s && p && (d.length > 0 ? i : !0);
49
+ return c === M.SCHOOL_SUCCESS ? A && G && y && p && k && S : A && G && y && p && S && (g.length > 0 ? E : !0);
48
50
  });
49
- }, P = (e, t, o) => {
51
+ }, O = (e, t, o) => {
50
52
  if (!e)
51
53
  return {
52
54
  customChaptersList: [],
@@ -73,51 +75,51 @@ const h = (e, t, o) => {
73
75
  majorsPresent: n,
74
76
  countryCode: l,
75
77
  selectedCategory: r,
76
- courseStream: g,
77
- enrollmentType: c
78
+ courseStream: _,
79
+ enrollmentType: u
78
80
  }) => {
79
- const { goal_curriculum_map: u } = e;
80
- return u.find((d) => {
81
+ const { goal_curriculum_map: c } = e;
82
+ return c.find((d) => {
81
83
  const {
82
- goal_curriculum_standard: _,
84
+ goal_curriculum_standard: g,
83
85
  available_grades: b,
84
- program_code: C,
85
- available_countries: f,
86
+ program_code: f,
87
+ available_countries: v,
86
88
  goal_category: s,
87
89
  available_enrollment_types: i,
88
90
  blocked_enrollment_types: A
89
91
  } = d;
90
92
  if (s !== r) return;
91
- const p = h(
93
+ const p = T(
92
94
  A,
93
95
  i,
94
- c
95
- ), v = b.some((k) => k === t), S = f.length > 0 ? f.some((k) => k === l) : !0, m = B({
96
- goalCurriculumStandard: _,
96
+ u
97
+ ), E = b.some((m) => m === t), k = v.length > 0 ? v.some((m) => m === l) : !0, S = B({
98
+ goalCurriculumStandard: g,
97
99
  referenceStandard: o
98
- }), T = a === C, y = d.course_stream === g;
99
- return n ? a ? p && y && S && v && m && T : void 0 : p && y && S && v && m;
100
+ }), y = a === f, G = d.course_stream === _;
101
+ return n ? a ? p && G && k && E && S && y : void 0 : p && G && k && E && S;
100
102
  });
101
103
  }, D = (e, t, o, a, n, l) => {
102
104
  if (!n && !o) return {};
103
- const { country_code_to_name_map: r, goal_curriculum_map: g } = t;
104
- let c = {};
105
- return g.filter((u) => u.course_stream !== e ? !1 : E(u, a)).forEach((u) => {
105
+ const { country_code_to_name_map: r, goal_curriculum_map: _ } = t;
106
+ let u = {};
107
+ return _.filter((c) => c.course_stream !== e ? !1 : h(c, a)).forEach((c) => {
106
108
  const {
107
- available_grades: G,
109
+ available_grades: C,
108
110
  available_countries: d,
109
- blocked_countries: _,
111
+ blocked_countries: g,
110
112
  goal_category: b
111
- } = u, C = G.some((s) => s === n);
112
- !_.some(
113
+ } = c, f = C.some((s) => s === n);
114
+ !g.some(
113
115
  (s) => s === l
114
- ) && C && b === o && (d.length > 0 ? d.reduce((s, i) => (s[i] || (s[i] = r[i] ?? ""), s), c) : c = {
116
+ ) && f && b === o && (d.length > 0 ? d.reduce((s, i) => (s[i] || (s[i] = r[i] ?? ""), s), u) : u = {
115
117
  ...r,
116
- ...c
118
+ ...u
117
119
  });
118
- }), c;
120
+ }), u;
119
121
  }, H = (e, t) => {
120
- const { recommendedChaptersList: o, customChaptersList: a } = P(
122
+ const { recommendedChaptersList: o, customChaptersList: a } = O(
121
123
  e,
122
124
  t,
123
125
  !0
@@ -127,11 +129,11 @@ const h = (e, t, o) => {
127
129
  export {
128
130
  H as computeChangeDetection,
129
131
  j as computeChapterGoalCategoryOnGradeNBoard,
130
- P as computeRecommendedNCustomChapters,
132
+ O as computeRecommendedNCustomChapters,
131
133
  D as getCountriesWhereCurrentGradeNCategoryIsAvailable,
132
134
  x as getGradeBoardAndMajorBasedProgramCode,
133
135
  B as getIfGoalCurriculumStandardIsAccessible,
134
- I as getSelectedGoalCategoryData,
135
- h as getStudentEnrollmentSupported
136
+ N as getSelectedGoalCategoryData,
137
+ T as getStudentEnrollmentSupported
136
138
  };
137
139
  //# sourceMappingURL=utils.js.map
@@ -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} 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}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\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 } = goalInfo;\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 isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\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","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","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}\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":";;AAkBA,MAAMA,IAAgC,CACpCC,GACAC,GACAC,MACG;AACH,QAAMC,IAAYH,EAAuB;AAAA,IACvC,OAAqBI,MAAsBF;AAAA,EAAA,GAGvCG,IACJJ,EAAyB,SAAS,IAC9BA,EAAyB;AAAA,IACvB,OAA2BK,MAA4BJ;AAAA,EAEzD,IAAA;AAEN,SAAO,CAACC,KAAaE;AACvB,GASME,IAA8B,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAR;AACF,MAAoC;AAC5B,QAAA,EAAE,qBAAqBS,EAAsB,IAAAF;AAU5C,SAR0BE,EAAkB,KAAK,CAAYC,MAC9DA,EAAS,cAAcJ,KAEvBI,EAAS,kBAAkBF,IAAqB,KAE7CG,EAAyBD,GAAUV,CAAc,CACzD;AAGH,GAEMY,IAA0C,CAAC;AAAA,EAC/C,wBAAAC;AAAA,EACA,mBAAAC;AACF,MAIOD,IAEEA,MAA2BC,IAFE,IAgBhCC,IAA0C,CAAC;AAAA,EAC/C,QAAAR;AAAA,EACA,UAAAS;AAAA,EACA,cAAAR;AAAA,EACA,gBAAAR;AAAA,EACA,OAAAiB;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AACF,MAAgD;AACxC,QAAA,EAAE,qBAAqBX,EAAsB,IAAAF,GAC7Cc,IAAuBC,EAAyBN,CAAQ;AAEvD,SAAAP,EAAkB,OAAO,CAAYC,MAAA;AACpC,UAAA;AAAA,MACJ,kBAAkBa;AAAA,MAClB,qBAAqBC;AAAA,MACrB,0BAA0BX;AAAA,MAC1B,eAAeY;AAAA,MACf,0BAA0B3B;AAAA,MAC1B,4BAA4BC;AAAA,MAC5B,SAAS2B;AAAA,IACP,IAAAhB,GACEiB,IAAiBP,MAAS,WAAWM,IAAS,IAC9CE,IAAeL,EAAgB,KAAK,CAAAM,MAAaA,MAAcZ,CAAK,GACpEa,IAAgBN,EAAmB,KAAK,CAAAO,MAAWA,MAAYZ,CAAM,GACrEa,IAAcpB,EAAwC;AAAA,MAC1D,wBAAAC;AAAA,MACA,mBAAmBK;AAAA,IAAA,CACpB,GACKe,IAA4BR,MAAiBJ,GAC7Ca,IAAexB,EAAS,kBAAkBF,GAC1C2B,IAAmCtC;AAAA,MACvCC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAGE,WAAAqB,MAAyBe,EAAc,iBAEvCT,KACAQ,KACAD,KACAN,KACAI,KACAC,IAKFN,KACAQ,KACAD,KACAN,KACAK,MACCT,EAAmB,SAAS,IAAIM,IAAgB;AAAA,EAAA,CAEpD;AACH,GAEMO,IAAoC,CACxCC,GACAC,GACAC,MACG;AACH,MAAI,CAACF;AACI,WAAA;AAAA,MACL,oBAAoB,CAAC;AAAA,MACrB,yBAAyB,CAAC;AAAA,IAAA;AAK9B,MAAI,CAACE;AACI,WAAA;AAAA,MACL,oBAAoBF,EAAoB,OAAO,CAAAG,MAAWA,EAAQ,gBAAgB;AAAA,MAClF,yBAAyBH,EAAoB,OAAO,CAAWG,MAAA,CAACA,EAAQ,gBAAgB;AAAA,IAAA;AAI5F,QAAM,EAAE,YAAYC,MAAcH,KAAuB,CAAA,GAEnDI,IAAqBL,KAAA,gBAAAA,EAAqB;AAAA,IAC9C,CAAAG,MAAWA,EAAQ,eAAeC;AAAA,KAE9BE,IAA0BN,KAAA,gBAAAA,EAAqB;AAAA,IACnD,CAAAG,MAAWA,EAAQ,eAAeC;AAAA;AAG7B,SAAA;AAAA,IACL,oBAAAC;AAAA,IACA,yBAAAC;AAAA,EAAA;AAEJ,GAkBMC,IAAgF,CACpFtC,GACA;AAAA,EACE,OAAAU;AAAA,EACA,OAAAC;AAAA,EACA,OAAA4B;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAzC;AAAA,EACA,gBAAAR;AACF,MACG;AACG,QAAA,EAAE,qBAAqBS,EAAsB,IAAAF;AAwD5C,SAtDaE,EAAkB,KAAK,CAAYyC,MAAA;AAC/C,UAAA;AAAA,MACJ,0BAA0BrC;AAAA,MAC1B,kBAAkBU;AAAA,MAClB,cAAc4B;AAAA,MACd,qBAAqB3B;AAAA,MACrB,eAAeC;AAAA,MACf,4BAA4B1B;AAAA,MAC5B,0BAA0BD;AAAA,IACxB,IAAAoD;AAEA,QAAAzB,MAAiBwB,EAAyB;AAE9C,UAAMd,IAAmCtC;AAAA,MACvCC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,GAGIoD,IAAmB7B,EAAgB,KAAK,CAAA8B,MAAkBA,MAAmBpC,CAAK,GAClFqC,IACJ9B,EAAmB,SAAS,IACxBA,EAAmB,KAAK,CAAAO,MAAWA,MAAYiB,CAAW,IAC1D,IACAO,IAAmB3C,EAAwC;AAAA,MAC/D,wBAAAC;AAAA,MACA,mBAAmBK;AAAA,IAAA,CACpB,GACKsC,IAAmBV,MAAUK,GAC7BjB,IAAegB,EAAS,kBAAkB1C;AAEhD,WAAIuC,IACED,IAEAX,KACAD,KACAoB,KACAF,KACAG,KACAC,IAGG,SAIPrB,KACAD,KACAoB,KACAF,KACAG;AAAA,EAAA,CAEH;AAGH,GAyBME,IAAoD,CACxDjD,GACAD,GACAc,GACArB,GACAiB,GACAyC,MACG;AACH,MAAI,CAACzC,KAAS,CAACI,UAA6B,CAAA;AAE5C,QAAM,EAAE,0BAA0BsC,GAAsB,qBAAqBlD,MAC3EF;AACF,MAAIqD,IAAoC,CAAA;AAExC,SAAAnD,EACG,OAAO,CAAYC,MACdA,EAAS,kBAAkBF,IAAqB,KAE7CG,EAAyBD,GAAUV,CAAc,CACzD,EACA,QAAQ,CAAYkD,MAAA;AACb,UAAA;AAAA,MACJ,kBAAkB3B;AAAA,MAClB,qBAAqBC;AAAA,MACrB,mBAAmBqC;AAAA,MACnB,eAAepC;AAAA,IACb,IAAAyB,GACEE,IAAmB7B,EAAgB,KAAK,CAAA8B,MAAkBA,MAAmBpC,CAAK;AAKxF,IAAI,CAJ2B4C,EAAiB;AAAA,MAC9C,OAAW9B,MAAY2B;AAAA,IAAA,KAGMN,KAAoB3B,MAAiBJ,MAC9DG,EAAmB,SAAS,IACXA,EAAA,OAAO,CAACsC,GAAKC,OACzBD,EAAIC,CAAW,MAClBD,EAAIC,CAAW,IAAIJ,EAAqBI,CAAW,KAAK,KAGnDD,IACNF,CAAS,IAEAA,IAAA;AAAA,MACV,GAAGD;AAAA,MACH,GAAGC;AAAA,IAAA;AAAA,EAGT,CACD,GAEIA;AACT,GAEMI,IAAyB,CAC7BC,GACA1B,MACG;AACG,QAAA,EAAE,yBAAAK,GAAyB,oBAAAD,EAAA,IAAuBN;AAAA,IACtD4B;AAAA,IACA1B;AAAA,IACA;AAAA,EAAA;AAIE,SAAAI,EAAmB,SAAS,IAAU,KAGnCC,EAAwB,KAAK,CAAWH,MAAA,CAACA,EAAQ,KAAK;AAC/D;"}
@@ -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":"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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 }) => {\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