@cuemath/leap 3.1.2-beta-0.4 → 3.1.2-j1

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 (157) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -2
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/check.js +3 -3
  4. package/dist/assets/line-icons/icons/check.js.map +1 -1
  5. package/dist/features/auth/account-selector/account-selector-styled.js +9 -0
  6. package/dist/features/auth/account-selector/account-selector-styled.js.map +1 -0
  7. package/dist/features/auth/account-selector/account-selector.js +56 -36
  8. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  9. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js +21 -0
  10. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styled.js.map +1 -0
  11. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +8 -9
  12. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  13. package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js +1 -1
  14. package/dist/features/auth/comps/auth-static-panel/auth-static-panel.js.map +1 -1
  15. package/dist/features/auth/forgot-password/forgot-password-styled.js +15 -3
  16. package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
  17. package/dist/features/auth/forgot-password/otp-form/otp-form.js +29 -29
  18. package/dist/features/auth/forgot-password/otp-form/otp-form.js.map +1 -1
  19. package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js +14 -18
  20. package/dist/features/auth/forgot-password/reset-password-form/reset-password-form.js.map +1 -1
  21. package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js +23 -24
  22. package/dist/features/auth/forgot-password/user-identifier-form/user-identifier-form.js.map +1 -1
  23. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +4 -2
  24. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
  25. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js +85 -75
  26. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form.js.map +1 -1
  27. package/dist/features/auth/login/login-styled.js +13 -0
  28. package/dist/features/auth/login/login-styled.js.map +1 -0
  29. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js +24 -22
  30. package/dist/features/auth/login/social-account-not-found/social-account-not-found.js.map +1 -1
  31. package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js +9 -0
  32. package/dist/features/auth/login/social-login-methods/social-login-methods-styled.js.map +1 -0
  33. package/dist/features/auth/login/social-login-methods/social-login-methods.js +43 -34
  34. package/dist/features/auth/login/social-login-methods/social-login-methods.js.map +1 -1
  35. package/dist/features/auth/login/username-password-form/username-password-form.js +22 -21
  36. package/dist/features/auth/login/username-password-form/username-password-form.js.map +1 -1
  37. package/dist/features/auth/user-list/user-item/user-item.js +25 -24
  38. package/dist/features/auth/user-list/user-item/user-item.js.map +1 -1
  39. package/dist/features/auth/user-list/user-list.js +60 -51
  40. package/dist/features/auth/user-list/user-list.js.map +1 -1
  41. package/dist/features/cue-canvas/cue-canvas-context.js +5 -8
  42. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  43. package/dist/features/cue-canvas/cue-canvas-core.js +75 -80
  44. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  45. package/dist/features/cue-canvas/cue-canvas-helpers.js +25 -31
  46. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  47. package/dist/features/cue-canvas/cue-canvas-provider.js +12 -14
  48. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  49. package/dist/features/cue-canvas/cue-canvas.js +65 -79
  50. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  51. package/dist/features/cue-canvas/cue-cavas-styled.js +42 -45
  52. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  53. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +54 -61
  54. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  55. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +14 -18
  56. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  57. package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
  58. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  59. package/dist/features/cue-canvas/toolbar/tool.js +20 -22
  60. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  61. package/dist/features/homework/styles.js +4 -5
  62. package/dist/features/homework/styles.js.map +1 -1
  63. package/dist/features/hooks/use-device-type.js +25 -0
  64. package/dist/features/hooks/use-device-type.js.map +1 -0
  65. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +36 -38
  66. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  67. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +22 -24
  68. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  69. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +22 -23
  70. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  71. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +47 -49
  72. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  73. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +87 -94
  74. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  75. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +12 -13
  76. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  77. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +21 -23
  78. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  79. package/dist/features/milestone/create/milestone-create-helpers.js +162 -165
  80. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  81. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +124 -103
  82. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  83. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +14 -15
  84. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  85. package/dist/features/trial-session/comps/pricing/pricing.js +35 -36
  86. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  87. package/dist/features/ui/buttons/button/button-styled.js +29 -29
  88. package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
  89. package/dist/features/ui/stepper/stepper.js +7 -7
  90. package/dist/features/utils/media.js +16 -0
  91. package/dist/features/utils/media.js.map +1 -0
  92. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +19 -22
  93. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  94. package/dist/index.d.ts +22 -78
  95. package/dist/index.js +265 -268
  96. package/dist/index.js.map +1 -1
  97. package/dist/static/cuemath-app-qr-code.7205ee79.svg +1 -0
  98. package/package.json +1 -1
  99. package/dist/assets/line-icons/icons/puzzle-icon.js +0 -51
  100. package/dist/assets/line-icons/icons/puzzle-icon.js.map +0 -1
  101. package/dist/assets/line-icons/icons/share.js +0 -48
  102. package/dist/assets/line-icons/icons/share.js.map +0 -1
  103. package/dist/assets/line-icons/icons/tile.js +0 -54
  104. package/dist/assets/line-icons/icons/tile.js.map +0 -1
  105. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js +0 -12
  106. package/dist/features/auth/comps/auth-page-layout/auth-page-layout-styles.js.map +0 -1
  107. package/dist/features/cue-canvas/bottombar/homework-controls.js +0 -73
  108. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +0 -1
  109. package/dist/features/cue-canvas/hooks/use-upload-helper.js +0 -23
  110. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +0 -1
  111. package/dist/features/cue-canvas/sidebar/homework/helper.js +0 -20
  112. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +0 -1
  113. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +0 -33
  114. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +0 -1
  115. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +0 -68
  116. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +0 -1
  117. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +0 -25
  118. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +0 -1
  119. package/dist/features/cue-canvas/sidebar/homework/homework.js +0 -39
  120. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +0 -1
  121. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +0 -13
  122. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +0 -1
  123. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +0 -60
  124. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +0 -1
  125. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +0 -44
  126. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +0 -1
  127. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +0 -107
  128. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +0 -1
  129. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +0 -42
  130. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +0 -1
  131. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +0 -84
  132. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +0 -1
  133. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +0 -36
  134. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +0 -1
  135. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +0 -133
  136. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +0 -1
  137. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +0 -96
  138. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +0 -1
  139. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +0 -29
  140. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +0 -1
  141. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +0 -120
  142. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +0 -1
  143. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +0 -32
  144. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +0 -1
  145. package/dist/features/cue-canvas/sidebar/sidebar.js +0 -29
  146. package/dist/features/cue-canvas/sidebar/sidebar.js.map +0 -1
  147. package/dist/features/cue-canvas/sidebar/tiles/tile.js +0 -16
  148. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +0 -1
  149. package/dist/features/hooks/use-debounce.js +0 -16
  150. package/dist/features/hooks/use-debounce.js.map +0 -1
  151. package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js +0 -18
  152. package/dist/features/milestone/milestone-list-container/api/get-past-milestone-count.js.map +0 -1
  153. package/dist/features/trial-session/comps/pricing/india-pricing/index.js +0 -96
  154. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +0 -1
  155. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +0 -59
  156. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +0 -1
  157. package/dist/static/ellipse-clip.dfb25608.svg +0 -1
@@ -1,147 +1,140 @@
1
- import { jsx as X } from "react/jsx-runtime";
2
- import { memo as Y, useContext as Z, useMemo as C, useCallback as i } from "react";
3
- import { convertToTitleCase as M } from "../../../../../helpers/label-text.js";
4
- import { useUIContext as $ } from "../../../../ui/context/context.js";
5
- import { WARNING_MESSAGES as I } from "../../../constants.js";
6
- import h from "../../milestone-create-context.js";
7
- import { getGradesBasedOnGoalAvailability as n, appendPrimaryGoalCategoryToFormState as v } from "../../milestone-create-helpers.js";
8
- import { computeChangeDetection as T, getCountriesWhereCurrentGradeNCategoryIsAvailable as E } from "../chapters-selection-step/utils.js";
9
- import { getTestTypeBasedCategory as x } from "../test-type-step/test-type-utils.js";
10
- import W from "./class-details-selectors.js";
11
- import { getCategorizedCurriculumStandards as ee } from "./class-details-utils.js";
12
- const ye = Y(
1
+ import { jsx as 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(
13
12
  ({
14
13
  config: s,
15
14
  formData: g,
16
15
  currentStep: j,
17
16
  courseStream: r,
18
- classRatio: U,
17
+ classRatio: v,
19
18
  onChapterExitWarning: o,
20
- onFormDataChange: _,
19
+ onFormDataChange: U,
21
20
  enrollmentType: a
22
21
  }) => {
23
- const { onEvent: D } = $(), { flow: c } = Z(h), {
24
- testType: u,
22
+ const { onEvent: _ } = Y(), {
23
+ testType: c,
25
24
  grade: d,
26
- board: m,
25
+ board: u,
27
26
  schoolInfo: B,
28
27
  region: H,
29
- primaryChaptersList: P,
30
- chapterGoalCategory: R = {}
31
- } = g, { primaryGoalCategory: k } = R, G = x(u), { countryCode: F } = B || {}, t = H || F, { name: L } = j, y = T(P, k), O = C(
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(
32
31
  () => ({
33
- step: L
32
+ step: D
34
33
  }),
35
- [L]
36
- ), S = C(
37
- () => ee(s, {
34
+ [D]
35
+ ), F = y(
36
+ () => E(s, {
38
37
  grade: d ?? "",
39
38
  countryCode: t ?? "",
40
- goalCategory: G,
39
+ goalCategory: m,
41
40
  courseStream: r,
42
- classRatio: U,
43
- enrollmentType: a,
44
- flow: c
41
+ classRatio: v,
42
+ enrollmentType: a
45
43
  }),
46
44
  [
47
- U,
45
+ v,
48
46
  s,
49
47
  r,
50
48
  t,
51
49
  d,
52
50
  a,
53
- G,
54
- c
51
+ m
55
52
  ]
56
- ), f = C(
57
- () => E(
53
+ ), f = y(
54
+ () => h(
58
55
  r,
59
56
  s,
60
- G,
57
+ m,
61
58
  a,
62
59
  d,
63
60
  t
64
61
  ),
65
- [r, s, G, a, d, t]
66
- ), w = C(() => n(
62
+ [r, s, m, a, d, t]
63
+ ), S = y(() => Z(
67
64
  s,
68
- G,
65
+ m,
69
66
  r,
70
67
  a
71
- ), [s, r, a, G]), z = C(() => {
68
+ ), [s, r, a, m]), z = y(() => {
72
69
  var e;
73
- return (e = Object.entries(f)) == null ? void 0 : e.map(([p, A]) => ({
70
+ return (e = Object.entries(f)) == null ? void 0 : e.map(([p, C]) => ({
74
71
  id: p,
75
- label: M(A)
76
- })).sort((p, A) => p.label.localeCompare(A.label));
77
- }, [f]), q = C(() => t && f[t] ? M(f[t] ?? "") : "", [f, t]), l = i(
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(
78
75
  ({
79
76
  updatedData: e,
80
77
  gradeUpdated: p,
81
- boardUpdated: A,
82
- countryUpdated: V
78
+ boardUpdated: C,
79
+ countryUpdated: Q
83
80
  }) => {
84
- let N, b;
85
- p ? (N = v(
81
+ let A, N;
82
+ p ? (A = I(
86
83
  s,
87
- u,
84
+ c,
88
85
  e,
89
86
  r,
90
87
  a,
91
- m,
92
- t,
93
- c
94
- ), b = {
88
+ u,
89
+ t
90
+ ), N = {
95
91
  grade: e
96
- }) : A ? (N = v(
92
+ }) : C ? (A = I(
97
93
  s,
98
- u,
94
+ c,
99
95
  d,
100
96
  r,
101
97
  a,
102
98
  e,
103
- t,
104
- c
105
- ), b = {
99
+ t
100
+ ), N = {
106
101
  board: e,
107
102
  major: void 0
108
- }) : V && (N = v(
103
+ }) : Q && (A = I(
109
104
  s,
110
- u,
105
+ c,
111
106
  d,
112
107
  r,
113
108
  a,
114
- m,
115
- e,
116
- c
117
- ), b = {
109
+ u,
110
+ e
111
+ ), N = {
118
112
  region: e
119
- }), D("onchange", O), _({
120
- ...b,
113
+ }), _("onchange", L), U({
114
+ ...N,
121
115
  chapterGoalCategory: {
122
- primaryGoalCategory: N
116
+ primaryGoalCategory: A
123
117
  },
124
118
  primaryChaptersList: void 0
125
119
  });
126
120
  },
127
121
  [
128
- O,
129
- m,
122
+ L,
123
+ u,
130
124
  s,
131
125
  r,
132
126
  t,
133
127
  a,
134
128
  d,
135
- _,
136
- u,
137
- D,
138
- c
129
+ U,
130
+ c,
131
+ _
139
132
  ]
140
- ), J = i(
133
+ ), w = b(
141
134
  (e) => {
142
135
  if (e === d) return null;
143
- y ? o == null || o({
144
- description: I.GOAL_CHANGE_WARNING,
136
+ G ? o == null || o({
137
+ description: i.GOAL_CHANGE_WARNING,
145
138
  onSuccess: () => {
146
139
  l({
147
140
  updatedData: e,
@@ -153,12 +146,12 @@ const ye = Y(
153
146
  gradeUpdated: !0
154
147
  });
155
148
  },
156
- [o, l, d, y]
157
- ), K = i(
149
+ [o, l, d, G]
150
+ ), J = b(
158
151
  (e) => {
159
- if (e === m) return null;
160
- y ? o == null || o({
161
- description: I.GOAL_CHANGE_WARNING,
152
+ if (e === u) return null;
153
+ G ? o == null || o({
154
+ description: i.GOAL_CHANGE_WARNING,
162
155
  onSuccess: () => {
163
156
  l({
164
157
  updatedData: e,
@@ -170,12 +163,12 @@ const ye = Y(
170
163
  boardUpdated: !0
171
164
  });
172
165
  },
173
- [o, l, m, y]
174
- ), Q = i(
166
+ [o, l, u, G]
167
+ ), K = b(
175
168
  (e) => {
176
169
  if (e === t) return null;
177
- y ? o == null || o({
178
- description: I.GOAL_CHANGE_WARNING,
170
+ G ? o == null || o({
171
+ description: i.GOAL_CHANGE_WARNING,
179
172
  onSuccess: () => {
180
173
  l({
181
174
  updatedData: e,
@@ -187,27 +180,27 @@ const ye = Y(
187
180
  countryUpdated: !0
188
181
  });
189
182
  },
190
- [o, l, t, y]
183
+ [o, l, t, G]
191
184
  );
192
- return /* @__PURE__ */ X(
193
- W,
185
+ return /* @__PURE__ */ V(
186
+ n,
194
187
  {
195
- testType: u,
188
+ testType: c,
196
189
  grade: d,
197
- grades: w,
198
- board: m,
199
- boards: S,
190
+ grades: S,
191
+ board: u,
192
+ boards: F,
200
193
  countryLabel: q,
201
194
  countries: z,
202
195
  currentCountryCode: t,
203
- handleCountryChange: Q,
204
- handleBoardChange: K,
205
- handleGradeSelect: J
196
+ handleCountryChange: K,
197
+ handleBoardChange: J,
198
+ handleGradeSelect: w
206
199
  }
207
200
  );
208
201
  }
209
202
  );
210
203
  export {
211
- ye as default
204
+ ce as default
212
205
  };
213
206
  //# sourceMappingURL=class-details-step.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n ),\n [courseStream, config, selectedGoalCategory, enrollmentType, grade, currentCountryCode],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n );\n }, [config, courseStream, enrollmentType, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n flow,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n flow,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n flow,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
1
+ {"version":3,"file":"class-details-step.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\n\nimport React, { memo, useCallback, 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,30 +1,29 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import S from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
3
- import C from "../../../../ui/layout/flex-view.js";
4
- import { getCurriculumStandardsFromConfig as h } from "../../milestone-create-helpers.js";
5
- import { StyledStarIcon as D } from "./class-details-styled.js";
6
- const T = (d, { grade: n, countryCode: u, goalCategory: l, courseStream: s, classRatio: m, enrollmentType: c, flow: f }) => {
7
- const o = h(d, {
2
+ import 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, {
8
8
  grade: n,
9
9
  countryCode: u,
10
10
  goalCategory: l,
11
11
  courseStream: s,
12
12
  classRatio: m,
13
- enrollmentType: c,
14
- flow: f
13
+ enrollmentType: c
15
14
  }), i = (r) => {
16
15
  const { isDefault: t } = r;
17
16
  return t ? {
18
17
  ...r,
19
- tag: /* @__PURE__ */ e(S, { renderAs: "secondary", position: "top", tooltipItem: "Default", zIndex: 4, children: /* @__PURE__ */ e(C, { $width: 20, $height: 20, $alignItems: "center", children: /* @__PURE__ */ e(D, {}) }) })
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, {}) }) })
20
19
  } : r;
21
- }, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1, p = o.filter((r) => r.isRecommended).map(i).sort(a), g = o.filter((r) => !r.isRecommended).map(i).sort(a);
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);
22
21
  return [
23
- { title: "recommended", data: p },
24
- { title: "others", data: g }
22
+ { title: "recommended", data: f },
23
+ { title: "others", data: p }
25
24
  ].filter((r) => r.data.length > 0);
26
25
  };
27
26
  export {
28
- T as getCategorizedCurriculumStandards
27
+ A as getCategorizedCurriculumStandards
29
28
  };
30
29
  //# sourceMappingURL=class-details-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-details-utils.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-utils.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\n\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport * as Styled from './class-details-styled';\n\ninterface IGetCategorizedCurriculumStandards {\n (\n config: IMilestoneConfig,\n options: {\n grade: string;\n countryCode: string;\n goalCategory: TGoalCategory;\n courseStream: TCourseStream;\n classRatio?: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n },\n ): ISectionOption<TCurriculumStandardOption>[];\n}\n\nconst getCategorizedCurriculumStandards: IGetCategorizedCurriculumStandards = (\n config,\n { grade, countryCode, goalCategory, courseStream, classRatio, enrollmentType, flow },\n) => {\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n });\n\n const addTagToSectionOption = (option: TCurriculumStandardOption) => {\n const { isDefault } = option;\n\n if (isDefault) {\n return {\n ...option,\n tag: (\n <ArrowTooltip renderAs=\"secondary\" position=\"top\" tooltipItem=\"Default\" zIndex={4}>\n <FlexView $width={20} $height={20} $alignItems=\"center\">\n <Styled.StyledStarIcon />\n </FlexView>\n </ArrowTooltip>\n ),\n };\n }\n\n return option;\n };\n\n const prioritySortByDefaultAndLabel = (\n a: TCurriculumStandardOption,\n b: TCurriculumStandardOption,\n ) => {\n //* If a has tag, It should come before b\n if (a.isDefault && !b.isDefault) return -1;\n\n //* If b has tag, It should come before a\n if (!a.isDefault && b.isDefault) return 1;\n\n //* Else we sort based on alphabetic order of label\n if (a.label.toUpperCase() > b.label.toUpperCase()) {\n return 1;\n }\n\n return -1;\n };\n\n const recommendedCurriculumStandards = curriculumStandards\n .filter(option => option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n const otherCurriculumStandards = curriculumStandards\n .filter(option => !option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n\n const categorizedCurriculumStandards = [\n { title: 'recommended', data: recommendedCurriculumStandards },\n { title: 'others', data: otherCurriculumStandards },\n ].filter(option => option.data.length > 0);\n\n return categorizedCurriculumStandards;\n};\n\nexport { getCategorizedCurriculumStandards };\n"],"names":["getCategorizedCurriculumStandards","config","grade","countryCode","goalCategory","courseStream","classRatio","enrollmentType","flow","curriculumStandards","getCurriculumStandardsFromConfig","addTagToSectionOption","option","isDefault","jsx","ArrowTooltip","FlexView","Styled.StyledStarIcon","prioritySortByDefaultAndLabel","a","b","recommendedCurriculumStandards","otherCurriculumStandards"],"mappings":";;;;;AA8BM,MAAAA,IAAwE,CAC5EC,GACA,EAAE,OAAAC,GAAO,aAAAC,GAAa,cAAAC,GAAc,cAAAC,GAAc,YAAAC,GAAY,gBAAAC,GAAgB,MAAAC,QAC3E;AACG,QAAAC,IAAsBC,EAAiCT,GAAQ;AAAA,IACnE,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,EAAA,CACD,GAEKG,IAAwB,CAACC,MAAsC;AAC7D,UAAA,EAAE,WAAAC,EAAc,IAAAD;AAEtB,WAAIC,IACK;AAAA,MACL,GAAGD;AAAA,MACH,KACG,gBAAAE,EAAAC,GAAA,EAAa,UAAS,aAAY,UAAS,OAAM,aAAY,WAAU,QAAQ,GAC9E,UAAA,gBAAAD,EAACE,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAC7C,4BAACC,GAAA,CAAA,CAAsB,EAAA,CACzB,EACF,CAAA;AAAA,IAAA,IAKCL;AAAA,EAAA,GAGHM,IAAgC,CACpCC,GACAC,MAGID,EAAE,aAAa,CAACC,EAAE,YAAkB,KAGpC,CAACD,EAAE,aAAaC,EAAE,aAGlBD,EAAE,MAAM,YAAA,IAAgBC,EAAE,MAAM,gBAC3B,IAGF,IAGHC,IAAiCZ,EACpC,OAAO,CAAUG,MAAAA,EAAO,aAAa,EACrC,IAAID,CAAqB,EACzB,KAAKO,CAA6B,GAC/BI,IAA2Bb,EAC9B,OAAO,CAAAG,MAAU,CAACA,EAAO,aAAa,EACtC,IAAID,CAAqB,EACzB,KAAKO,CAA6B;AAO9B,SALgC;AAAA,IACrC,EAAE,OAAO,eAAe,MAAMG,EAA+B;AAAA,IAC7D,EAAE,OAAO,UAAU,MAAMC,EAAyB;AAAA,EAAA,EAClD,OAAO,CAAAV,MAAUA,EAAO,KAAK,SAAS,CAAC;AAG3C;"}
1
+ {"version":3,"file":"class-details-utils.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-utils.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TGoalCategory,\n} 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;"}
@@ -8,37 +8,35 @@ 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 l } from "./test-type-utils.js";
11
+ import { getGoalCategories as j, getTestTypeBasedCategory as g } 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: d,
19
- onFormDataChange: C,
18
+ classRatio: s,
19
+ onFormDataChange: l,
20
20
  enrollmentType: r
21
21
  }) => {
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(
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(
25
25
  (a) => {
26
26
  const $ = X(t, {
27
27
  grade: i ?? "",
28
- goalCategory: l(a),
28
+ goalCategory: g(a),
29
29
  countryCode: m ?? "",
30
30
  courseStream: o,
31
- classRatio: d,
32
- enrollmentType: r,
33
- flow: s
31
+ classRatio: s,
32
+ enrollmentType: r
34
33
  }), v = S(t, {
35
34
  grade: i ?? "",
36
- goalCategory: l(a),
35
+ goalCategory: g(a),
37
36
  countryCode: m ?? "",
38
37
  courseStream: o,
39
- classRatio: d,
40
- enrollmentType: r,
41
- flow: s
38
+ classRatio: s,
39
+ enrollmentType: r
42
40
  }), u = n && v.some((I) => I.id === n) ? n : F($), A = O(
43
41
  t,
44
42
  a,
@@ -49,9 +47,9 @@ const Z = _(
49
47
  m
50
48
  );
51
49
  c("SELECTED_GOAL_CATEGORY", {
52
- goal_category: l(a),
53
- flow: s
54
- }), C({
50
+ goal_category: g(a),
51
+ flow: p
52
+ }), l({
55
53
  testType: a,
56
54
  board: u,
57
55
  chapterGoalCategory: {
@@ -66,12 +64,12 @@ const Z = _(
66
64
  [
67
65
  r,
68
66
  n,
69
- d,
67
+ s,
70
68
  t,
71
69
  o,
72
- s,
70
+ p,
73
71
  i,
74
- C,
72
+ l,
75
73
  m,
76
74
  c
77
75
  ]
@@ -79,16 +77,16 @@ const Z = _(
79
77
  return /* @__PURE__ */ e(
80
78
  T,
81
79
  {
82
- stepName: p,
80
+ stepName: C,
83
81
  headerElement: /* @__PURE__ */ e(D, { $renderAs: "ab2", children: h }),
84
82
  bodyElement: /* @__PURE__ */ e(y, { $alignItems: "center", $height: "100%", $gapX: 5, children: /* @__PURE__ */ e(y, { $flexDirection: "row", $flexGapX: 1.5, children: /* @__PURE__ */ e(
85
83
  B,
86
84
  {
87
85
  options: E,
88
- value: g,
86
+ value: d,
89
87
  onChange: G,
90
88
  analyticsLabel: "goal_category",
91
- analyticsProps: { test_type: g },
89
+ analyticsProps: { test_type: d },
92
90
  type: "radio"
93
91
  }
94
92
  ) }) })
@@ -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 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;"}
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;"}