@cuemath/leap 3.3.15-as1 → 3.3.15-beta-0.2

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 (70) hide show
  1. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +4 -4
  2. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -1
  3. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +5 -5
  4. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  5. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
  6. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  7. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
  8. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  9. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +36 -25
  10. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  11. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
  12. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  13. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
  14. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  15. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +96 -93
  16. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  17. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +154 -138
  18. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  19. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
  20. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  21. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
  22. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  23. package/dist/features/milestone/create/milestone-create-container.js +17 -15
  24. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  25. package/dist/features/milestone/create/milestone-create-helpers.js +156 -139
  26. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  27. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  28. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  29. package/dist/features/milestone/create/milestone-create.js +19 -17
  30. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  31. package/dist/features/ui/constants/z-index.js +2 -5
  32. package/dist/features/ui/constants/z-index.js.map +1 -1
  33. package/dist/features/utils/utils.js +18 -18
  34. package/dist/features/utils/utils.js.map +1 -1
  35. package/dist/index.d.ts +1 -57
  36. package/dist/index.js +522 -532
  37. package/dist/index.js.map +1 -1
  38. package/dist/node_modules/decode-uri-component/index.js.map +1 -0
  39. package/dist/node_modules/query-string/base.js +1 -1
  40. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  41. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  42. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  43. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  44. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  45. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  46. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  47. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/features/hooks/use-visibility-change.js +0 -12
  50. package/dist/features/hooks/use-visibility-change.js.map +0 -1
  51. package/dist/features/ui/timers/class-time/animate.js +0 -100
  52. package/dist/features/ui/timers/class-time/animate.js.map +0 -1
  53. package/dist/features/ui/timers/class-time/animations/open-close.js +0 -93
  54. package/dist/features/ui/timers/class-time/animations/open-close.js.map +0 -1
  55. package/dist/features/ui/timers/class-time/animations/ripple.js +0 -44
  56. package/dist/features/ui/timers/class-time/animations/ripple.js.map +0 -1
  57. package/dist/features/ui/timers/class-time/class-time.js +0 -140
  58. package/dist/features/ui/timers/class-time/class-time.js.map +0 -1
  59. package/dist/features/ui/timers/class-time/constants.js +0 -31
  60. package/dist/features/ui/timers/class-time/constants.js.map +0 -1
  61. package/dist/features/ui/timers/clock/clock.js +0 -25
  62. package/dist/features/ui/timers/clock/clock.js.map +0 -1
  63. package/dist/features/ui/timers/timer/timer.js +0 -63
  64. package/dist/features/ui/timers/timer/timer.js.map +0 -1
  65. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
  66. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  67. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  68. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  69. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
  70. /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -1,54 +1,56 @@
1
- import { GOAL_CATEGORY as M } from "../../../constants.js";
2
- import { checkEnrollmentAvailable as h, getTestTypeBasedCategory as R } from "../test-type-step/test-type-utils.js";
3
- const T = (e, t, o) => {
4
- const a = e.some(
1
+ import { GOAL_CATEGORY as T } from "../../../constants.js";
2
+ import { checkEnrollmentAvailable as B, getTestTypeBasedCategory as R } from "../test-type-step/test-type-utils.js";
3
+ const M = (e, r, o) => {
4
+ const t = e.some(
5
5
  (l) => l === o
6
- ), n = t.length > 0 ? t.some(
6
+ ), a = r.length > 0 ? r.some(
7
7
  (l) => l === o
8
8
  ) : !0;
9
- return !a && n;
10
- }, N = ({
9
+ return !t && a;
10
+ }, H = ({
11
11
  goalCode: e,
12
- config: t,
12
+ config: r,
13
13
  courseStream: o,
14
- enrollmentType: a
14
+ enrollmentType: t,
15
+ isTeacherTrainingAccount: a
15
16
  }) => {
16
- const { goal_curriculum_map: n } = t;
17
- return n.find((r) => r.goal_code !== e || r.course_stream !== o ? !1 : h(r, a));
18
- }, B = ({
17
+ const { goal_curriculum_map: l } = r;
18
+ return l.find((c) => c.goal_code !== e || c.course_stream !== o ? !1 : a ? !0 : B(c, t));
19
+ }, O = ({
19
20
  goalCurriculumStandard: e,
20
- referenceStandard: t
21
- }) => e ? e === t : !0, j = ({
21
+ referenceStandard: r
22
+ }) => e ? e === r : !0, U = ({
22
23
  config: e,
23
- testType: t,
24
+ testType: r,
24
25
  courseStream: o,
25
- enrollmentType: a,
26
- grade: n,
26
+ enrollmentType: t,
27
+ grade: a,
27
28
  board: l,
28
- region: r,
29
- flow: _
29
+ region: n,
30
+ flow: c,
31
+ isTeacherTrainingAccount: S
30
32
  }) => {
31
- const { goal_curriculum_map: u } = e, c = R(t);
32
- return u.filter((C) => {
33
+ const { goal_curriculum_map: d } = e, s = R(r);
34
+ return d.filter((G) => {
33
35
  const {
34
- available_grades: d,
35
- available_countries: g,
36
- goal_curriculum_standard: b,
37
- goal_category: f,
38
- blocked_enrollment_types: v,
39
- available_enrollment_types: s,
40
- is_live: i
41
- } = C, A = _ === "CREATE" ? i : !0, p = d.some((m) => m === n), E = g.some((m) => m === r), k = B({
42
- goalCurriculumStandard: b,
36
+ available_grades: i,
37
+ available_countries: m,
38
+ goal_curriculum_standard: A,
39
+ goal_category: E,
40
+ blocked_enrollment_types: h,
41
+ available_enrollment_types: u,
42
+ is_live: g
43
+ } = G, k = c === "CREATE" ? g : !0, f = i.some((C) => C === a), b = m.some((C) => C === n), y = O({
44
+ goalCurriculumStandard: A,
43
45
  referenceStandard: l
44
- }), S = f === c, y = C.course_stream === o, G = T(
45
- v,
46
- s,
47
- a
46
+ }), _ = E === s, v = G.course_stream === o, p = M(
47
+ h,
48
+ u,
49
+ t
48
50
  );
49
- return c === M.SCHOOL_SUCCESS ? A && G && y && p && k && S : A && G && y && p && S && (g.length > 0 ? E : !0);
51
+ return S ? k && _ && v && f && (s === T.SCHOOL_SUCCESS ? y : m.length > 0 ? b : !0) : s === T.SCHOOL_SUCCESS ? k && p && v && f && y && _ : k && p && v && f && _ && (m.length > 0 ? b : !0);
50
52
  });
51
- }, O = (e, t, o) => {
53
+ }, N = (e, r, o) => {
52
54
  if (!e)
53
55
  return {
54
56
  customChaptersList: [],
@@ -56,84 +58,85 @@ const T = (e, t, o) => {
56
58
  };
57
59
  if (!o)
58
60
  return {
59
- customChaptersList: e.filter((r) => r.search_and_added),
60
- recommendedChaptersList: e.filter((r) => !r.search_and_added)
61
+ customChaptersList: e.filter((n) => n.search_and_added),
62
+ recommendedChaptersList: e.filter((n) => !n.search_and_added)
61
63
  };
62
- const { program_id: a } = t || {}, n = e == null ? void 0 : e.filter(
63
- (r) => r.program_id !== a
64
+ const { program_id: t } = r || {}, a = e == null ? void 0 : e.filter(
65
+ (n) => n.program_id !== t
64
66
  ), l = e == null ? void 0 : e.filter(
65
- (r) => r.program_id === a
67
+ (n) => n.program_id === t
66
68
  );
67
69
  return {
68
- customChaptersList: n,
70
+ customChaptersList: a,
69
71
  recommendedChaptersList: l
70
72
  };
71
73
  }, x = (e, {
72
- grade: t,
74
+ grade: r,
73
75
  board: o,
74
- major: a,
75
- majorsPresent: n,
76
+ major: t,
77
+ majorsPresent: a,
76
78
  countryCode: l,
77
- selectedCategory: r,
78
- courseStream: _,
79
- enrollmentType: u
79
+ selectedCategory: n,
80
+ courseStream: c,
81
+ enrollmentType: S,
82
+ isTeacherTrainingAccount: d
80
83
  }) => {
81
- const { goal_curriculum_map: c } = e;
82
- return c.find((d) => {
84
+ const { goal_curriculum_map: s } = e;
85
+ return s.find((i) => {
83
86
  const {
84
- goal_curriculum_standard: g,
85
- available_grades: b,
86
- program_code: f,
87
- available_countries: v,
88
- goal_category: s,
89
- available_enrollment_types: i,
90
- blocked_enrollment_types: A
91
- } = d;
92
- if (s !== r) return;
93
- const p = T(
94
- A,
95
- i,
96
- u
97
- ), E = b.some((m) => m === t), k = v.length > 0 ? v.some((m) => m === l) : !0, S = B({
98
- goalCurriculumStandard: g,
87
+ goal_curriculum_standard: m,
88
+ available_grades: A,
89
+ program_code: E,
90
+ available_countries: h,
91
+ goal_category: u,
92
+ available_enrollment_types: g,
93
+ blocked_enrollment_types: k
94
+ } = i;
95
+ if (u !== n) return;
96
+ const f = M(
97
+ k,
98
+ g,
99
+ S
100
+ ), b = A.some((C) => C === r), y = h.length > 0 ? h.some((C) => C === l) : !0, _ = O({
101
+ goalCurriculumStandard: m,
99
102
  referenceStandard: o
100
- }), y = a === f, G = d.course_stream === _;
101
- return n ? a ? p && G && k && E && S && y : void 0 : p && G && k && E && S;
103
+ }), v = t === E, p = i.course_stream === c;
104
+ return d ? p && b && _ && (a && t ? v : !0) : a ? t ? f && p && y && b && _ && v : void 0 : f && p && y && b && _;
102
105
  });
103
- }, D = (e, t, o, a, n, l) => {
104
- if (!n && !o) return {};
105
- const { country_code_to_name_map: r, goal_curriculum_map: _ } = t;
106
- let u = {};
107
- return _.filter((c) => c.course_stream !== e ? !1 : h(c, a)).forEach((c) => {
106
+ }, D = (e, r, o, t, a, l, n) => {
107
+ if (!a && !o) return {};
108
+ const { country_code_to_name_map: c, goal_curriculum_map: S } = r;
109
+ let d = {};
110
+ return S.filter((s) => s.course_stream !== e ? !1 : n ? s.is_live : B(s, t)).forEach((s) => {
108
111
  const {
109
- available_grades: C,
110
- available_countries: d,
111
- blocked_countries: g,
112
- goal_category: b
113
- } = c, f = C.some((s) => s === n);
114
- !g.some(
115
- (s) => s === l
116
- ) && f && b === o && (d.length > 0 ? d.reduce((s, i) => (s[i] || (s[i] = r[i] ?? ""), s), u) : u = {
117
- ...r,
118
- ...u
112
+ available_grades: G,
113
+ available_countries: i,
114
+ blocked_countries: m,
115
+ goal_category: A
116
+ } = s, E = G.some((u) => u === a);
117
+ !m.some(
118
+ (u) => u === l
119
+ ) && E && A === o && (i.length > 0 ? i.reduce((u, g) => (u[g] || (u[g] = c[g] ?? ""), u), d) : d = {
120
+ ...c,
121
+ ...d
119
122
  });
120
- }), u;
121
- }, H = (e, t) => {
122
- const { recommendedChaptersList: o, customChaptersList: a } = O(
123
+ }), d;
124
+ }, W = (e, r) => {
125
+ const { recommendedChaptersList: o, customChaptersList: t } = N(
123
126
  e,
124
- t,
127
+ r,
125
128
  !0
126
129
  );
127
- return a.length > 0 ? !0 : o.some((n) => !n.added);
130
+ return t.length > 0 ? !0 : o.some((a) => !a.added);
128
131
  };
129
132
  export {
130
- H as computeChangeDetection,
131
- j as computeChapterGoalCategoryOnGradeNBoard,
132
- O as computeRecommendedNCustomChapters,
133
+ W as computeChangeDetection,
134
+ U as computeChapterGoalCategoryOnGradeNBoard,
135
+ N as computeRecommendedNCustomChapters,
133
136
  D as getCountriesWhereCurrentGradeNCategoryIsAvailable,
134
137
  x as getGradeBoardAndMajorBasedProgramCode,
135
- B as getIfGoalCurriculumStandardIsAccessible,
136
- N as getSelectedGoalCategoryData,
137
- T as getStudentEnrollmentSupported
138
+ O as getIfGoalCurriculumStandardIsAccessible,
139
+ H as getSelectedGoalCategoryData,
140
+ M as getStudentEnrollmentSupported
138
141
  };
139
142
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n flow?: TMilestoneFormFlow | null;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n flow,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n is_live: isLive,\n } = goalInfo;\n const canIncludeGoal = flow === 'CREATE' ? isLive : true;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPreset = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPreset &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","flow","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","isLive","canIncludeGoal","gradePresent","gradeInfo","regionPresent","country","boardPreset","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/utils.ts"],"sourcesContent":["import type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n TMilestoneFormFlow,\n} from '../../milestone-create-types';\nimport type { IChapter } from '../chapter-item/chapter-item-types';\nimport type { TGradeBasedBoardInfo } from './types';\n\nimport { GOAL_CATEGORY } from '../../../constants';\nimport {\n getTestTypeBasedCategory,\n checkEnrollmentAvailable,\n} from '../test-type-step/test-type-utils';\n\nconst getStudentEnrollmentSupported = (\n blockedEnrollmentTypes: TEnrollmentTypes[],\n availableEnrollmentTypes: TEnrollmentTypes[],\n enrollmentType: TEnrollmentTypes,\n) => {\n const isBlocked = blockedEnrollmentTypes.some(\n blockedEnrollment => blockedEnrollment === enrollmentType,\n );\n\n const isAvailable =\n availableEnrollmentTypes.length > 0\n ? availableEnrollmentTypes.some(\n availableEnrollmentType => availableEnrollmentType === enrollmentType,\n )\n : true;\n\n return !isBlocked && isAvailable;\n};\n\ninterface IgetSelectedGoalCategoryData {\n goalCode: string;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n isTeacherTrainingAccount?: boolean;\n}\n\nconst getSelectedGoalCategoryData = ({\n goalCode,\n config,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n}: IgetSelectedGoalCategoryData) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const selectedGoalCategoryInfo = goalCurriculumMap.find(goalInfo => {\n if (goalInfo.goal_code !== goalCode) return false;\n\n if (goalInfo.course_stream !== courseStream) return false;\n\n if (isTeacherTrainingAccount) return true;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n });\n\n return selectedGoalCategoryInfo;\n};\n\nconst getIfGoalCurriculumStandardIsAccessible = ({\n goalCurriculumStandard,\n referenceStandard,\n}: {\n goalCurriculumStandard?: string;\n referenceStandard?: string;\n}) => {\n if (!goalCurriculumStandard) return true;\n\n return goalCurriculumStandard === referenceStandard;\n};\n\ninterface IcomputeChapterGoalCategoryOnGradeNBoard {\n config: IMilestoneConfig;\n testType: TTestType;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n grade?: string;\n board?: string;\n region?: string;\n flow?: TMilestoneFormFlow | null;\n isTeacherTrainingAccount?: boolean;\n}\n\nconst computeChapterGoalCategoryOnGradeNBoard = ({\n config,\n testType,\n courseStream,\n enrollmentType,\n grade,\n board,\n region,\n flow,\n isTeacherTrainingAccount,\n}: IcomputeChapterGoalCategoryOnGradeNBoard) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n const selectedGoalCategory = getTestTypeBasedCategory(testType);\n\n return goalCurriculumMap.filter(goalInfo => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n goal_curriculum_standard: goalCurriculumStandard,\n goal_category: goalCategory,\n blocked_enrollment_types: blockedEnrollmentTypes,\n available_enrollment_types: availableEnrollmentTypes,\n is_live: isLive,\n } = goalInfo;\n const canIncludeGoal = flow === 'CREATE' ? isLive : true;\n const gradePresent = availableGrades.some(gradeInfo => gradeInfo === grade);\n const regionPresent = availableCountries.some(country => country === region);\n const boardPresent = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const selectedCategoryIsPresent = goalCategory === selectedGoalCategory;\n const isSameCourse = goalInfo.course_stream === courseStream;\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n if (isTeacherTrainingAccount)\n return (\n canIncludeGoal &&\n selectedCategoryIsPresent &&\n isSameCourse &&\n gradePresent &&\n (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS\n ? boardPresent\n : availableCountries.length > 0\n ? regionPresent\n : true)\n );\n\n if (selectedGoalCategory === GOAL_CATEGORY.SCHOOL_SUCCESS) {\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n boardPresent &&\n selectedCategoryIsPresent\n );\n }\n\n return (\n canIncludeGoal &&\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n gradePresent &&\n selectedCategoryIsPresent &&\n (availableCountries.length > 0 ? regionPresent : true)\n );\n });\n};\n\nconst computeRecommendedNCustomChapters = (\n primaryChaptersList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n isGoalCreation?: boolean,\n) => {\n if (!primaryChaptersList) {\n return {\n customChaptersList: [],\n recommendedChaptersList: [],\n };\n }\n\n //* To compensate old milestone flow during edit stage.\n if (!isGoalCreation) {\n return {\n customChaptersList: primaryChaptersList.filter(chapter => chapter.search_and_added),\n recommendedChaptersList: primaryChaptersList.filter(chapter => !chapter.search_and_added),\n };\n }\n\n const { program_id: programId } = primaryGoalCategory || {};\n\n const customChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id !== programId,\n );\n const recommendedChaptersList = primaryChaptersList?.filter(\n chapter => chapter.program_id === programId,\n );\n\n return {\n customChaptersList,\n recommendedChaptersList,\n };\n};\n\ninterface IGetGradeBoardAndMajorBasedProgramCode {\n (\n config: IMilestoneConfig,\n props: {\n grade: string;\n board: string;\n major: string;\n countryCode: string;\n majorsPresent: boolean;\n selectedCategory: TGoalCategory;\n courseStream: TCourseStream;\n enrollmentType: TEnrollmentTypes;\n isTeacherTrainingAccount?: boolean;\n },\n ): IGoalCurriculumMap | undefined;\n}\n\nconst getGradeBoardAndMajorBasedProgramCode: IGetGradeBoardAndMajorBasedProgramCode = (\n config,\n {\n grade,\n board,\n major,\n majorsPresent,\n countryCode,\n selectedCategory,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n },\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = config;\n\n const programInfo = goalCurriculumMap.find(goalData => {\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n available_grades: availableGrades,\n program_code: programCode,\n available_countries: availableCountries,\n goal_category: goalCategory,\n available_enrollment_types: availableEnrollmentTypes,\n blocked_enrollment_types: blockedEnrollmentTypes,\n } = goalData;\n\n if (goalCategory !== selectedCategory) return undefined;\n\n const isStudentEnrollmentTypeSupported = getStudentEnrollmentSupported(\n blockedEnrollmentTypes,\n availableEnrollmentTypes,\n enrollmentType,\n );\n\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isRegionAvailable =\n availableCountries.length > 0\n ? availableCountries.some(country => country === countryCode)\n : true;\n const isBoardAvailable = getIfGoalCurriculumStandardIsAccessible({\n goalCurriculumStandard,\n referenceStandard: board,\n });\n const isMajorAvailable = major === programCode;\n const isSameCourse = goalData.course_stream === courseStream;\n\n if (isTeacherTrainingAccount)\n return (\n isSameCourse &&\n isGradeAvailable &&\n isBoardAvailable &&\n (majorsPresent && major ? isMajorAvailable : true)\n );\n\n if (majorsPresent) {\n if (major)\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable &&\n isMajorAvailable\n );\n\n return undefined;\n }\n\n return (\n isStudentEnrollmentTypeSupported &&\n isSameCourse &&\n isRegionAvailable &&\n isGradeAvailable &&\n isBoardAvailable\n );\n });\n\n return programInfo;\n};\n\nconst getProgramCodeBasedOnGradeAndBoard = (\n gradeBasedBoardInfo: TGradeBasedBoardInfo,\n grade: string,\n board: string,\n course?: string,\n) => {\n const { gradeSyllabusMap } = gradeBasedBoardInfo[board] || {};\n\n if (gradeSyllabusMap) {\n const programInfo = gradeSyllabusMap[grade];\n\n if (programInfo) {\n if (programInfo.majors) {\n return course;\n }\n\n return programInfo.program_code;\n }\n }\n\n return undefined;\n};\n\nconst getCountriesWhereCurrentGradeNCategoryIsAvailable = (\n courseStream: TCourseStream,\n config: IMilestoneConfig,\n selectedGoalCategory: string | undefined,\n enrollmentType: TEnrollmentTypes,\n grade?: string,\n currentCountryCode?: string,\n isTeacherTrainingAccount?: boolean,\n) => {\n if (!grade && !selectedGoalCategory) return {};\n\n const { country_code_to_name_map: countryCodeToNameMap, goal_curriculum_map: goalCurriculumMap } =\n config;\n let countries: Record<string, string> = {};\n\n goalCurriculumMap\n .filter(goalInfo => {\n if (goalInfo.course_stream !== courseStream) return false;\n\n if (isTeacherTrainingAccount) return goalInfo.is_live;\n\n return checkEnrollmentAvailable(goalInfo, enrollmentType);\n })\n .forEach(goalData => {\n const {\n available_grades: availableGrades,\n available_countries: availableCountries,\n blocked_countries: blockedCountries,\n goal_category: goalCategory,\n } = goalData;\n const isGradeAvailable = availableGrades.some(availableGrade => availableGrade === grade);\n const isStudentRegionBlocked = blockedCountries.some(\n country => country === currentCountryCode,\n );\n\n if (!isStudentRegionBlocked && isGradeAvailable && goalCategory === selectedGoalCategory) {\n if (availableCountries.length > 0) {\n availableCountries.reduce((acc, countryInfo) => {\n if (!acc[countryInfo]) {\n acc[countryInfo] = countryCodeToNameMap[countryInfo] ?? '';\n }\n\n return acc;\n }, countries);\n } else {\n countries = {\n ...countryCodeToNameMap,\n ...countries,\n };\n }\n }\n });\n\n return countries;\n};\n\nconst computeChangeDetection = (\n primaryProgramList?: IChapter[],\n primaryGoalCategory?: IGoalCurriculumMap,\n) => {\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryProgramList,\n primaryGoalCategory,\n true,\n );\n\n //* This will compensate if any new chapter was added.\n if (customChaptersList.length > 0) return true;\n\n //* This will compensate if any chapter was deselected.\n return recommendedChaptersList.some(chapter => !chapter.added);\n};\n\nexport {\n getSelectedGoalCategoryData,\n computeChapterGoalCategoryOnGradeNBoard,\n computeRecommendedNCustomChapters,\n getGradeBoardAndMajorBasedProgramCode,\n getProgramCodeBasedOnGradeAndBoard,\n getCountriesWhereCurrentGradeNCategoryIsAvailable,\n computeChangeDetection,\n getIfGoalCurriculumStandardIsAccessible,\n getStudentEnrollmentSupported,\n};\n"],"names":["getStudentEnrollmentSupported","blockedEnrollmentTypes","availableEnrollmentTypes","enrollmentType","isBlocked","blockedEnrollment","isAvailable","availableEnrollmentType","getSelectedGoalCategoryData","goalCode","config","courseStream","isTeacherTrainingAccount","goalCurriculumMap","goalInfo","checkEnrollmentAvailable","getIfGoalCurriculumStandardIsAccessible","goalCurriculumStandard","referenceStandard","computeChapterGoalCategoryOnGradeNBoard","testType","grade","board","region","flow","selectedGoalCategory","getTestTypeBasedCategory","availableGrades","availableCountries","goalCategory","isLive","canIncludeGoal","gradePresent","gradeInfo","regionPresent","country","boardPresent","selectedCategoryIsPresent","isSameCourse","isStudentEnrollmentTypeSupported","GOAL_CATEGORY","computeRecommendedNCustomChapters","primaryChaptersList","primaryGoalCategory","isGoalCreation","chapter","programId","customChaptersList","recommendedChaptersList","getGradeBoardAndMajorBasedProgramCode","major","majorsPresent","countryCode","selectedCategory","goalData","programCode","isGradeAvailable","availableGrade","isRegionAvailable","isBoardAvailable","isMajorAvailable","getCountriesWhereCurrentGradeNCategoryIsAvailable","currentCountryCode","countryCodeToNameMap","countries","blockedCountries","acc","countryInfo","computeChangeDetection","primaryProgramList"],"mappings":"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"}