@cuemath/leap 3.3.24 → 3.3.25-af-1

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 (171) hide show
  1. package/dist/assets/lottie/lottie.js +2 -2
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +6 -6
  4. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  5. package/dist/features/auth/comps/pill-button/pill-button.js +19 -19
  6. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  7. package/dist/features/auth/pla-signup/pla-analytics-events.js +4 -5
  8. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  9. package/dist/features/auth/pla-signup/signup-header/signup-header.js +1 -1
  10. package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -1
  11. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +24 -24
  12. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  13. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js +5 -7
  14. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js.map +1 -1
  15. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +73 -72
  16. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  17. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +12 -12
  18. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  19. package/dist/features/circle-games/sign-up/sign-up-types.js.map +1 -1
  20. package/dist/features/circle-games/sign-up/sign-up.js +128 -156
  21. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  22. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +29 -23
  23. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
  24. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  25. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  26. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +40 -42
  27. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  28. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +64 -70
  29. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  30. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +29 -54
  31. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  32. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +28 -48
  33. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  34. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +76 -79
  35. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  36. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +94 -97
  37. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  38. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +143 -160
  39. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  40. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +12 -22
  41. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  42. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +59 -64
  43. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  44. package/dist/features/milestone/create/milestone-create-container.js +15 -17
  45. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  46. package/dist/features/milestone/create/milestone-create-helpers.js +153 -170
  47. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  48. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  49. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  50. package/dist/features/milestone/create/milestone-create.js +17 -19
  51. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  52. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +42 -45
  53. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  54. package/dist/features/parent-dashboard/parent-dashboard-types.js +2 -3
  55. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  56. package/dist/features/parent-dashboard/parent-dashboard-view.js +127 -139
  57. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  58. package/dist/features/sentry/constants/ignored.js +6 -10
  59. package/dist/features/sentry/constants/ignored.js.map +1 -1
  60. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +7 -8
  61. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -1
  62. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +26 -27
  63. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -1
  64. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +16 -16
  65. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -1
  66. package/dist/features/trial-session/comps/school-goals/school-goals.js +24 -25
  67. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  68. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +13 -15
  69. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  70. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +1 -1
  71. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  72. package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
  73. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  74. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  75. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +75 -88
  76. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
  77. package/dist/features/ui/lottie-animation/lottie-animation.js +46 -55
  78. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  79. package/dist/features/ui/modals/modal-styled.js +15 -48
  80. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  81. package/dist/features/ui/modals/modal.js +38 -46
  82. package/dist/features/ui/modals/modal.js.map +1 -1
  83. package/dist/features/{stickers/sticker-selector/comps/sticker/sticker-styled.js → ui/sticker-grid/sticker-grid-styles.js} +45 -15
  84. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +1 -0
  85. package/dist/features/ui/sticker-grid/sticker-grid.js +24 -0
  86. package/dist/features/ui/sticker-grid/sticker-grid.js.map +1 -0
  87. package/dist/features/ui/sticker-grid/sticker.js +57 -0
  88. package/dist/features/ui/sticker-grid/sticker.js.map +1 -0
  89. package/dist/features/ui/stickers/constants.js +6 -0
  90. package/dist/features/ui/stickers/constants.js.map +1 -0
  91. package/dist/features/ui/stickers/stickers-effects.js +64 -0
  92. package/dist/features/ui/stickers/stickers-effects.js.map +1 -0
  93. package/dist/features/ui/stickers/stickers-styled.js +29 -0
  94. package/dist/features/ui/stickers/stickers-styled.js.map +1 -0
  95. package/dist/features/ui/stickers/stickers-utils.js +91 -0
  96. package/dist/features/ui/stickers/stickers-utils.js.map +1 -0
  97. package/dist/features/ui/stickers/stickers.js +40 -0
  98. package/dist/features/ui/stickers/stickers.js.map +1 -0
  99. package/dist/index.d.ts +59 -138
  100. package/dist/index.js +467 -485
  101. package/dist/index.js.map +1 -1
  102. package/dist/static/error.cbe1ddde.json +1 -0
  103. package/dist/static/username.9e034d51.json +1 -0
  104. package/package.json +1 -1
  105. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js +0 -16
  106. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js.map +0 -1
  107. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js +0 -62
  108. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +0 -1
  109. package/dist/features/auth/signup-unavailable/signup-unavailable.js +0 -17
  110. package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +0 -1
  111. package/dist/features/circle-games/hooks/use-circle-sounds/helper.js +0 -19
  112. package/dist/features/circle-games/hooks/use-circle-sounds/helper.js.map +0 -1
  113. package/dist/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.js +0 -9
  114. package/dist/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.js.map +0 -1
  115. package/dist/features/circle-games/sign-up/dal/update-username-dal/update-username-dal.js +0 -38
  116. package/dist/features/circle-games/sign-up/dal/update-username-dal/update-username-dal.js.map +0 -1
  117. package/dist/features/parent-dashboard/api/get-student-profile-summary.js +0 -9
  118. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +0 -1
  119. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +0 -10
  120. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +0 -1
  121. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +0 -42
  122. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +0 -1
  123. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +0 -24
  124. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +0 -1
  125. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js +0 -71
  126. package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +0 -1
  127. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +0 -40
  128. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +0 -1
  129. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +0 -44
  130. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +0 -1
  131. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +0 -32
  132. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +0 -1
  133. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +0 -12
  134. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +0 -1
  135. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +0 -44
  136. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +0 -1
  137. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +0 -13
  138. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +0 -1
  139. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +0 -28
  140. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +0 -1
  141. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +0 -43
  142. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +0 -1
  143. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +0 -59
  144. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +0 -1
  145. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +0 -86
  146. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +0 -1
  147. package/dist/features/stickers/constants.js +0 -235
  148. package/dist/features/stickers/constants.js.map +0 -1
  149. package/dist/features/stickers/sticker-selector/comps/sticker/sticker-styled.js.map +0 -1
  150. package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js +0 -49
  151. package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +0 -1
  152. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid-styled.js +0 -28
  153. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid-styled.js.map +0 -1
  154. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js +0 -26
  155. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js.map +0 -1
  156. package/dist/features/stickers/sticker-selector/sticker-selector-styled.js +0 -13
  157. package/dist/features/stickers/sticker-selector/sticker-selector-styled.js.map +0 -1
  158. package/dist/features/stickers/sticker-selector/sticker-selector.js +0 -86
  159. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +0 -1
  160. package/dist/features/stickers/stickers-effects/stickers-effects-animations.js +0 -82
  161. package/dist/features/stickers/stickers-effects/stickers-effects-animations.js.map +0 -1
  162. package/dist/features/stickers/stickers-effects/stickers-effects-cache.js +0 -19
  163. package/dist/features/stickers/stickers-effects/stickers-effects-cache.js.map +0 -1
  164. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js +0 -105
  165. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +0 -1
  166. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +0 -37
  167. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +0 -1
  168. package/dist/features/stickers/stickers-effects/stickers-effects.js +0 -67
  169. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +0 -1
  170. package/dist/static/error.dd744fa5.json +0 -1
  171. package/dist/static/username.2c755605.json +0 -1
@@ -1,230 +1,213 @@
1
- import { jsx as $ } from "react/jsx-runtime";
2
- import { memo as g, useContext as h, useMemo as p, useCallback as U } from "react";
3
- import { convertToTitleCase as B } from "../../../../../helpers/label-text.js";
4
- import { useUIContext as E } from "../../../../ui/context/context.js";
5
- import { WARNING_MESSAGES as _ } from "../../../constants.js";
6
- import x from "../../milestone-create-context.js";
7
- import { getGradesBasedOnGoalAvailability as W, appendPrimaryGoalCategoryToFormState as D } from "../../milestone-create-helpers.js";
8
- import { computeChangeDetection as i, getCountriesWhereCurrentGradeNCategoryIsAvailable as T } from "../chapters-selection-step/utils.js";
9
- import { getTestTypeBasedCategory as n } from "../test-type-step/test-type-utils.js";
10
- import tt from "./class-details-selectors.js";
11
- import { getCategorizedCurriculumStandards as ot } from "./class-details-utils.js";
12
- const ft = g(
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(
13
13
  ({
14
14
  config: s,
15
- formData: H,
16
- currentStep: P,
17
- courseStream: d,
18
- classRatio: L,
19
- onChapterExitWarning: e,
20
- onFormDataChange: O,
21
- enrollmentType: r,
22
- isTeacherTrainingAccount: l
15
+ formData: g,
16
+ currentStep: j,
17
+ courseStream: r,
18
+ classRatio: U,
19
+ onChapterExitWarning: o,
20
+ onFormDataChange: _,
21
+ enrollmentType: a
23
22
  }) => {
24
- const { onEvent: A } = E(), { flow: m } = h(x), {
25
- testType: G,
26
- grade: a,
27
- board: y,
28
- schoolInfo: R,
29
- region: k,
30
- primaryChaptersList: F,
31
- chapterGoalCategory: S = {}
32
- } = H, { primaryGoalCategory: w } = S, C = n(G), { countryCode: z } = R || {}, o = k || z, { name: M } = P, f = i(F, w), j = p(
23
+ const { onEvent: D } = $(), { flow: c } = Z(h), {
24
+ testType: u,
25
+ grade: d,
26
+ board: m,
27
+ schoolInfo: B,
28
+ region: H,
29
+ primaryChaptersList: P,
30
+ chapterGoalCategory: R = {}
31
+ } = g, { primaryGoalCategory: k } = R, G = x(u), { countryCode: F } = B || {}, t = H || F, { name: L } = j, y = T(P, k), O = C(
33
32
  () => ({
34
- step: M
33
+ step: L
35
34
  }),
36
- [M]
37
- ), q = p(
38
- () => ot(s, {
39
- grade: a ?? "",
40
- countryCode: o ?? "",
41
- goalCategory: C,
42
- courseStream: d,
43
- classRatio: L,
44
- enrollmentType: r,
45
- flow: m,
46
- isTeacherTrainingAccount: l
35
+ [L]
36
+ ), S = C(
37
+ () => ee(s, {
38
+ grade: d ?? "",
39
+ countryCode: t ?? "",
40
+ goalCategory: G,
41
+ courseStream: r,
42
+ classRatio: U,
43
+ enrollmentType: a,
44
+ flow: c
47
45
  }),
48
46
  [
49
- L,
47
+ U,
50
48
  s,
49
+ r,
50
+ t,
51
51
  d,
52
- o,
53
52
  a,
54
- r,
55
- C,
56
- m,
57
- l
53
+ G,
54
+ c
58
55
  ]
59
- ), N = p(
60
- () => T(
61
- d,
62
- s,
63
- C,
56
+ ), f = C(
57
+ () => E(
64
58
  r,
65
- a,
66
- o,
67
- l
68
- ),
69
- [
70
- d,
71
59
  s,
72
- C,
73
- r,
60
+ G,
74
61
  a,
75
- o,
76
- l
77
- ]
78
- ), J = p(() => W(
62
+ d,
63
+ t
64
+ ),
65
+ [r, s, G, a, d, t]
66
+ ), w = C(() => n(
79
67
  s,
80
- C,
81
- d,
68
+ G,
82
69
  r,
83
- l
84
- ), [s, d, r, l, C]), K = p(() => {
85
- var t;
86
- return (t = Object.entries(N)) == null ? void 0 : t.map(([b, I]) => ({
87
- id: b,
88
- label: B(I)
89
- })).sort((b, I) => b.label.localeCompare(I.label));
90
- }, [N]), Q = p(() => o && N[o] ? B(N[o] ?? "") : "", [N, o]), u = U(
70
+ a
71
+ ), [s, r, a, G]), z = C(() => {
72
+ var e;
73
+ return (e = Object.entries(f)) == null ? void 0 : e.map(([p, A]) => ({
74
+ id: p,
75
+ label: M(A)
76
+ })).sort((p, A) => p.label.localeCompare(A.label));
77
+ }, [f]), q = C(() => t && f[t] ? M(f[t] ?? "") : "", [f, t]), l = i(
91
78
  ({
92
- updatedData: t,
93
- gradeUpdated: b,
94
- boardUpdated: I,
95
- countryUpdated: Z
79
+ updatedData: e,
80
+ gradeUpdated: p,
81
+ boardUpdated: A,
82
+ countryUpdated: V
96
83
  }) => {
97
- let c, v;
98
- b ? (c = D(
84
+ let N, b;
85
+ p ? (N = v(
99
86
  s,
100
- G,
101
- t,
102
- d,
87
+ u,
88
+ e,
103
89
  r,
104
- y,
105
- o,
90
+ a,
106
91
  m,
107
- l
108
- ), v = {
109
- grade: t
110
- }) : I ? (c = D(
92
+ t,
93
+ c
94
+ ), b = {
95
+ grade: e
96
+ }) : A ? (N = v(
111
97
  s,
112
- G,
113
- a,
98
+ u,
114
99
  d,
115
100
  r,
101
+ a,
102
+ e,
116
103
  t,
117
- o,
118
- m,
119
- l
120
- ), v = {
121
- board: t,
104
+ c
105
+ ), b = {
106
+ board: e,
122
107
  major: void 0
123
- }) : Z && (c = D(
108
+ }) : V && (N = v(
124
109
  s,
125
- G,
126
- a,
110
+ u,
127
111
  d,
128
112
  r,
129
- y,
130
- t,
113
+ a,
131
114
  m,
132
- l
133
- ), v = {
134
- region: t
135
- }), A("onchange", j), O({
136
- ...v,
115
+ e,
116
+ c
117
+ ), b = {
118
+ region: e
119
+ }), D("onchange", O), _({
120
+ ...b,
137
121
  chapterGoalCategory: {
138
- primaryGoalCategory: c
122
+ primaryGoalCategory: N
139
123
  },
140
124
  primaryChaptersList: void 0
141
125
  });
142
126
  },
143
127
  [
144
- j,
145
- y,
128
+ O,
129
+ m,
146
130
  s,
147
- d,
148
- o,
149
131
  r,
132
+ t,
150
133
  a,
151
- O,
152
- G,
153
- A,
154
- m,
155
- l
134
+ d,
135
+ _,
136
+ u,
137
+ D,
138
+ c
156
139
  ]
157
- ), V = U(
158
- (t) => {
159
- if (t === a) return null;
160
- f ? e == null || e({
161
- description: _.GOAL_CHANGE_WARNING,
140
+ ), J = i(
141
+ (e) => {
142
+ if (e === d) return null;
143
+ y ? o == null || o({
144
+ description: I.GOAL_CHANGE_WARNING,
162
145
  onSuccess: () => {
163
- u({
164
- updatedData: t,
146
+ l({
147
+ updatedData: e,
165
148
  gradeUpdated: !0
166
149
  });
167
150
  }
168
- }) : u({
169
- updatedData: t,
151
+ }) : l({
152
+ updatedData: e,
170
153
  gradeUpdated: !0
171
154
  });
172
155
  },
173
- [e, u, a, f]
174
- ), X = U(
175
- (t) => {
176
- if (t === y) return null;
177
- f ? e == null || e({
178
- description: _.GOAL_CHANGE_WARNING,
156
+ [o, l, d, y]
157
+ ), K = i(
158
+ (e) => {
159
+ if (e === m) return null;
160
+ y ? o == null || o({
161
+ description: I.GOAL_CHANGE_WARNING,
179
162
  onSuccess: () => {
180
- u({
181
- updatedData: t,
163
+ l({
164
+ updatedData: e,
182
165
  boardUpdated: !0
183
166
  });
184
167
  }
185
- }) : u({
186
- updatedData: t,
168
+ }) : l({
169
+ updatedData: e,
187
170
  boardUpdated: !0
188
171
  });
189
172
  },
190
- [e, u, y, f]
191
- ), Y = U(
192
- (t) => {
193
- if (t === o) return null;
194
- f ? e == null || e({
195
- description: _.GOAL_CHANGE_WARNING,
173
+ [o, l, m, y]
174
+ ), Q = i(
175
+ (e) => {
176
+ if (e === t) return null;
177
+ y ? o == null || o({
178
+ description: I.GOAL_CHANGE_WARNING,
196
179
  onSuccess: () => {
197
- u({
198
- updatedData: t,
180
+ l({
181
+ updatedData: e,
199
182
  countryUpdated: !0
200
183
  });
201
184
  }
202
- }) : u({
203
- updatedData: t,
185
+ }) : l({
186
+ updatedData: e,
204
187
  countryUpdated: !0
205
188
  });
206
189
  },
207
- [e, u, o, f]
190
+ [o, l, t, y]
208
191
  );
209
- return /* @__PURE__ */ $(
210
- tt,
192
+ return /* @__PURE__ */ X(
193
+ W,
211
194
  {
212
- testType: G,
213
- grade: a,
214
- grades: J,
215
- board: y,
216
- boards: q,
217
- countryLabel: Q,
218
- countries: K,
219
- currentCountryCode: o,
220
- handleCountryChange: Y,
221
- handleBoardChange: X,
222
- handleGradeSelect: V
195
+ testType: u,
196
+ grade: d,
197
+ grades: w,
198
+ board: m,
199
+ boards: S,
200
+ countryLabel: q,
201
+ countries: z,
202
+ currentCountryCode: t,
203
+ handleCountryChange: Q,
204
+ handleBoardChange: K,
205
+ handleGradeSelect: J
223
206
  }
224
207
  );
225
208
  }
226
209
  );
227
210
  export {
228
- ft as default
211
+ ye as default
229
212
  };
230
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, useContext, useMemo } from 'react';\n\nimport { convertToTitleCase } from '../../../../../helpers/label-text';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { WARNING_MESSAGES } from '../../../constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport {\n appendPrimaryGoalCategoryToFormState,\n getGradesBasedOnGoalAvailability,\n} from '../../milestone-create-helpers';\nimport {\n computeChangeDetection,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n} from '../chapters-selection-step/utils';\nimport { getTestTypeBasedCategory } from '../test-type-step/test-type-utils';\nimport ClassDetailsSelectors from './class-details-selectors';\nimport { getCategorizedCurriculumStandards } from './class-details-utils';\n\nconst ClassDetailsStep: React.FC<IFormStepProps> = memo(\n ({\n config,\n formData,\n currentStep,\n courseStream,\n classRatio,\n onChapterExitWarning,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n }) => {\n const { onEvent: trackEvent } = useUIContext();\n const { flow } = useContext(MilestoneCreateContext);\n\n const {\n testType,\n grade,\n board,\n schoolInfo,\n region,\n primaryChaptersList,\n chapterGoalCategory = {},\n } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory;\n\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n const { countryCode: schoolInfoCountryCode } = schoolInfo || {};\n const currentCountryCode = region || schoolInfoCountryCode; //TODO: remove all school related code, this might lead to some drafts (which were created earlier) asking user to fill country/board again but if they carry on with same details data will be prefilled\n const { name } = currentStep;\n\n const changesDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n const analyticsProps = useMemo(\n () => ({\n step: name,\n }),\n [name],\n );\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n grade: grade ?? '',\n countryCode: currentCountryCode ?? '',\n goalCategory: selectedGoalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n }),\n [\n classRatio,\n config,\n courseStream,\n currentCountryCode,\n grade,\n enrollmentType,\n selectedGoalCategory,\n flow,\n isTeacherTrainingAccount,\n ],\n );\n\n const filteredCountryCodeToNameMap = useMemo(\n () =>\n getCountriesWhereCurrentGradeNCategoryIsAvailable(\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n isTeacherTrainingAccount,\n ),\n [\n courseStream,\n config,\n selectedGoalCategory,\n enrollmentType,\n grade,\n currentCountryCode,\n isTeacherTrainingAccount,\n ],\n );\n\n const grades = useMemo(() => {\n return getGradesBasedOnGoalAvailability(\n config,\n selectedGoalCategory,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n );\n }, [config, courseStream, enrollmentType, isTeacherTrainingAccount, selectedGoalCategory]);\n\n const countries = useMemo(() => {\n return Object.entries(filteredCountryCodeToNameMap)\n ?.map(([countryCode, countryName]) => ({\n id: countryCode,\n label: convertToTitleCase(countryName),\n }))\n .sort((a, b) => {\n return a.label.localeCompare(b.label);\n });\n }, [filteredCountryCodeToNameMap]);\n\n const countryLabel = useMemo(() => {\n return currentCountryCode && filteredCountryCodeToNameMap[currentCountryCode]\n ? convertToTitleCase(filteredCountryCodeToNameMap[currentCountryCode] ?? '')\n : '';\n }, [filteredCountryCodeToNameMap, currentCountryCode]);\n\n const handleOnFormDataChange = useCallback(\n ({\n updatedData,\n gradeUpdated,\n boardUpdated,\n countryUpdated,\n }: {\n updatedData: string;\n gradeUpdated?: boolean;\n boardUpdated?: boolean;\n countryUpdated?: boolean;\n majorUpdated?: boolean;\n }) => {\n let updatedPrimaryGoalCategory;\n let updatedFormData;\n\n if (gradeUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n updatedData,\n courseStream,\n enrollmentType,\n board,\n currentCountryCode,\n flow,\n isTeacherTrainingAccount,\n );\n\n updatedFormData = {\n grade: updatedData,\n };\n } else if (boardUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n updatedData,\n currentCountryCode,\n flow,\n isTeacherTrainingAccount,\n );\n\n updatedFormData = {\n board: updatedData,\n major: undefined,\n };\n } else if (countryUpdated) {\n updatedPrimaryGoalCategory = appendPrimaryGoalCategoryToFormState(\n config,\n testType,\n grade,\n courseStream,\n enrollmentType,\n board,\n updatedData,\n flow,\n isTeacherTrainingAccount,\n );\n\n updatedFormData = {\n region: updatedData,\n };\n }\n\n trackEvent('onchange', analyticsProps);\n\n onFormDataChange({\n ...updatedFormData,\n chapterGoalCategory: {\n primaryGoalCategory: updatedPrimaryGoalCategory,\n },\n primaryChaptersList: undefined,\n });\n },\n [\n analyticsProps,\n board,\n config,\n courseStream,\n currentCountryCode,\n enrollmentType,\n grade,\n onFormDataChange,\n testType,\n trackEvent,\n flow,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n if (selectedGrade === grade) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: selectedGrade,\n gradeUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, grade, changesDetected],\n );\n\n const handleBoardChange = useCallback(\n (boardCode: string) => {\n if (boardCode === board) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: boardCode,\n boardUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, board, changesDetected],\n );\n\n const handleCountryChange = useCallback(\n (updatedCountryCode: string) => {\n if (updatedCountryCode === currentCountryCode) return null;\n\n if (!changesDetected) {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n } else {\n onChapterExitWarning?.({\n description: WARNING_MESSAGES.GOAL_CHANGE_WARNING,\n onSuccess: () => {\n handleOnFormDataChange({\n updatedData: updatedCountryCode,\n countryUpdated: true,\n });\n },\n });\n }\n },\n [onChapterExitWarning, handleOnFormDataChange, currentCountryCode, changesDetected],\n );\n\n return (\n <ClassDetailsSelectors\n testType={testType}\n grade={grade}\n grades={grades}\n board={board}\n boards={boards}\n countryLabel={countryLabel}\n countries={countries}\n currentCountryCode={currentCountryCode}\n handleCountryChange={handleCountryChange}\n handleBoardChange={handleBoardChange}\n handleGradeSelect={handleGradeSelect}\n />\n );\n },\n);\n\nexport default ClassDetailsStep;\n"],"names":["ClassDetailsStep","memo","config","formData","currentStep","courseStream","classRatio","onChapterExitWarning","onFormDataChange","enrollmentType","isTeacherTrainingAccount","trackEvent","useUIContext","flow","useContext","MilestoneCreateContext","testType","grade","board","schoolInfo","region","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","selectedGoalCategory","getTestTypeBasedCategory","schoolInfoCountryCode","currentCountryCode","name","changesDetected","computeChangeDetection","analyticsProps","useMemo","boards","getCategorizedCurriculumStandards","filteredCountryCodeToNameMap","getCountriesWhereCurrentGradeNCategoryIsAvailable","grades","getGradesBasedOnGoalAvailability","countries","_a","countryCode","countryName","convertToTitleCase","a","b","countryLabel","handleOnFormDataChange","useCallback","updatedData","gradeUpdated","boardUpdated","countryUpdated","updatedPrimaryGoalCategory","updatedFormData","appendPrimaryGoalCategoryToFormState","handleGradeSelect","selectedGrade","WARNING_MESSAGES","handleBoardChange","boardCode","handleCountryChange","updatedCountryCode","jsx","ClassDetailsSelectors"],"mappings":"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"}
1
+ {"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,40 +1,30 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import C from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
3
- import h from "../../../../ui/layout/flex-view.js";
4
- import { getCurriculumStandardsFromConfig as D } from "../../milestone-create-helpers.js";
5
- import { StyledStarIcon as x } from "./class-details-styled.js";
6
- const $ = (d, {
7
- grade: n,
8
- countryCode: u,
9
- goalCategory: l,
10
- courseStream: s,
11
- classRatio: m,
12
- enrollmentType: c,
13
- flow: f,
14
- isTeacherTrainingAccount: p
15
- }) => {
16
- const o = D(d, {
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, {
17
8
  grade: n,
18
9
  countryCode: u,
19
10
  goalCategory: l,
20
11
  courseStream: s,
21
12
  classRatio: m,
22
13
  enrollmentType: c,
23
- flow: f,
24
- isTeacherTrainingAccount: p
14
+ flow: f
25
15
  }), i = (r) => {
26
16
  const { isDefault: t } = r;
27
17
  return t ? {
28
18
  ...r,
29
- tag: /* @__PURE__ */ e(C, { renderAs: "secondary", position: "top", tooltipItem: "Default", zIndex: 4, children: /* @__PURE__ */ e(h, { $width: 20, $height: 20, $alignItems: "center", children: /* @__PURE__ */ e(x, {}) }) })
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, {}) }) })
30
20
  } : r;
31
- }, a = (r, t) => r.isDefault && !t.isDefault ? -1 : !r.isDefault && t.isDefault || r.label.toUpperCase() > t.label.toUpperCase() ? 1 : -1, g = o.filter((r) => r.isRecommended).map(i).sort(a), S = o.filter((r) => !r.isRecommended).map(i).sort(a);
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);
32
22
  return [
33
- { title: "recommended", data: g },
34
- { title: "others", data: S }
23
+ { title: "recommended", data: p },
24
+ { title: "others", data: g }
35
25
  ].filter((r) => r.data.length > 0);
36
26
  };
37
27
  export {
38
- $ as getCategorizedCurriculumStandards
28
+ T as getCategorizedCurriculumStandards
39
29
  };
40
30
  //# sourceMappingURL=class-details-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-details-utils.js","sources":["../../../../../../src/features/milestone/create/comps/class-details-step/class-details-utils.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\n\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport * as Styled from './class-details-styled';\n\ninterface IGetCategorizedCurriculumStandards {\n (\n config: IMilestoneConfig,\n options: {\n grade: string;\n countryCode: string;\n goalCategory: TGoalCategory;\n courseStream: TCourseStream;\n classRatio?: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n isTeacherTrainingAccount?: boolean;\n },\n ): ISectionOption<TCurriculumStandardOption>[];\n}\n\nconst getCategorizedCurriculumStandards: IGetCategorizedCurriculumStandards = (\n config,\n {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n },\n) => {\n const curriculumStandards = getCurriculumStandardsFromConfig(config, {\n grade,\n countryCode,\n goalCategory,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n });\n\n const addTagToSectionOption = (option: TCurriculumStandardOption) => {\n const { isDefault } = option;\n\n if (isDefault) {\n return {\n ...option,\n tag: (\n <ArrowTooltip renderAs=\"secondary\" position=\"top\" tooltipItem=\"Default\" zIndex={4}>\n <FlexView $width={20} $height={20} $alignItems=\"center\">\n <Styled.StyledStarIcon />\n </FlexView>\n </ArrowTooltip>\n ),\n };\n }\n\n return option;\n };\n\n const prioritySortByDefaultAndLabel = (\n a: TCurriculumStandardOption,\n b: TCurriculumStandardOption,\n ) => {\n //* If a has tag, It should come before b\n if (a.isDefault && !b.isDefault) return -1;\n\n //* If b has tag, It should come before a\n if (!a.isDefault && b.isDefault) return 1;\n\n //* Else we sort based on alphabetic order of label\n if (a.label.toUpperCase() > b.label.toUpperCase()) {\n return 1;\n }\n\n return -1;\n };\n\n const recommendedCurriculumStandards = curriculumStandards\n .filter(option => option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n const otherCurriculumStandards = curriculumStandards\n .filter(option => !option.isRecommended)\n .map(addTagToSectionOption)\n .sort(prioritySortByDefaultAndLabel);\n\n const categorizedCurriculumStandards = [\n { title: 'recommended', data: recommendedCurriculumStandards },\n { title: 'others', data: otherCurriculumStandards },\n ].filter(option => option.data.length > 0);\n\n return categorizedCurriculumStandards;\n};\n\nexport { getCategorizedCurriculumStandards };\n"],"names":["getCategorizedCurriculumStandards","config","grade","countryCode","goalCategory","courseStream","classRatio","enrollmentType","flow","isTeacherTrainingAccount","curriculumStandards","getCurriculumStandardsFromConfig","addTagToSectionOption","option","isDefault","jsx","ArrowTooltip","FlexView","Styled.StyledStarIcon","prioritySortByDefaultAndLabel","a","b","recommendedCurriculumStandards","otherCurriculumStandards"],"mappings":";;;;;AA+BM,MAAAA,IAAwE,CAC5EC,GACA;AAAA,EACE,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,0BAAAC;AACF,MACG;AACG,QAAAC,IAAsBC,EAAiCV,GAAQ;AAAA,IACnE,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,0BAAAC;AAAA,EAAA,CACD,GAEKG,IAAwB,CAACC,MAAsC;AAC7D,UAAA,EAAE,WAAAC,EAAc,IAAAD;AAEtB,WAAIC,IACK;AAAA,MACL,GAAGD;AAAA,MACH,KACG,gBAAAE,EAAAC,GAAA,EAAa,UAAS,aAAY,UAAS,OAAM,aAAY,WAAU,QAAQ,GAC9E,UAAA,gBAAAD,EAACE,KAAS,QAAQ,IAAI,SAAS,IAAI,aAAY,UAC7C,4BAACC,GAAA,CAAA,CAAsB,EAAA,CACzB,EACF,CAAA;AAAA,IAAA,IAKCL;AAAA,EAAA,GAGHM,IAAgC,CACpCC,GACAC,MAGID,EAAE,aAAa,CAACC,EAAE,YAAkB,KAGpC,CAACD,EAAE,aAAaC,EAAE,aAGlBD,EAAE,MAAM,YAAA,IAAgBC,EAAE,MAAM,gBAC3B,IAGF,IAGHC,IAAiCZ,EACpC,OAAO,CAAUG,MAAAA,EAAO,aAAa,EACrC,IAAID,CAAqB,EACzB,KAAKO,CAA6B,GAC/BI,IAA2Bb,EAC9B,OAAO,CAAAG,MAAU,CAACA,EAAO,aAAa,EACtC,IAAID,CAAqB,EACzB,KAAKO,CAA6B;AAO9B,SALgC;AAAA,IACrC,EAAE,OAAO,eAAe,MAAMG,EAA+B;AAAA,IAC7D,EAAE,OAAO,UAAU,MAAMC,EAAyB;AAAA,EAAA,EAClD,OAAO,CAAAV,MAAUA,EAAO,KAAK,SAAS,CAAC;AAG3C;"}
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;"}