@cuemath/leap 3.5.0-gg1 → 3.5.1-link0

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.
@@ -1,57 +1,44 @@
1
- const S = 31536e3, T = 31536e6, A = 480, E = {
1
+ const S = 31536e3, T = 31536e6, _ = 480, E = {
2
2
  SAT_DEMO: "SAT-DEMO",
3
3
  SAT_MATH: "SAT-MATH",
4
4
  SAT_ENGLISH: "SAT-ENGLISH",
5
5
  SAT_TESTS: "SAT-TESTS"
6
- }, _ = {
6
+ }, o = {
7
7
  MATH: "MATH",
8
8
  CODING: "CODING",
9
9
  SCIENCE: "SCIENCE",
10
10
  ELA: "ELA",
11
11
  ELP: "ELP",
12
12
  ...E
13
- }, I = {
14
- ONLINE: "ONLINE",
15
- PLUS: "PLUS",
16
- REGULAR: "REGULAR",
17
- HYBRID: "HYBRID",
18
- HYBRID_PLUS: "HYBRID_PLUS",
19
- ARMY: "ARMY",
20
- CLASS_K5: "CLASS_K5",
21
- OLYMPIAD: "OLYMPIAD",
22
- HIGH: "HIGH",
23
- GROUP_CLASS: "GROUP_CLASS",
24
- CUECENTER: "CUECENTER"
25
- }, O = {
13
+ }, A = {
26
14
  SCHOOL_SUCCESS: "SCHOOL_SUCCESS",
27
15
  TEST_PREP: "TEST_PREP",
28
16
  ENRICHMENT: "ENRICHMENT"
29
- }, o = {
17
+ }, e = {
30
18
  LEVEL: "Level",
31
19
  FOCUS: "Focus",
32
20
  BEHAVIOR: "Behaviors",
33
21
  OBJECTIVES: "Objectives",
34
22
  POSITION: "Position",
35
23
  COURSE: "Course"
36
- }, N = {
24
+ }, O = {
37
25
  "no-test": "School Success goals",
38
26
  "non-standardized": "Test Prep goals",
39
27
  standardized: "Enrichment goals"
40
- }, C = {
28
+ }, s = {
41
29
  CHAPTER_EXIT_WARNING: "Going back will clear your currently selected chapters. Do you wish to proceed?",
42
30
  GOAL_CHANGE_WARNING: "Choosing a different goal will clear your currently selected chapters. Do you wish to proceed?"
43
- }, R = 60, L = 88;
31
+ }, N = 60, I = 88;
44
32
  export {
45
- _ as COURSE_STREAMS,
46
- I as ENROLLMENT_TYPES,
47
- O as GOAL_CATEGORY,
48
- L as GOAL_FOOTER_HEIGHT,
49
- R as GOAL_HEADER_HEIGHT,
50
- A as MILESTONE_WIDGET_MIN_HEIGHT,
33
+ o as COURSE_STREAMS,
34
+ A as GOAL_CATEGORY,
35
+ I as GOAL_FOOTER_HEIGHT,
36
+ N as GOAL_HEADER_HEIGHT,
37
+ _ as MILESTONE_WIDGET_MIN_HEIGHT,
51
38
  T as ONE_YEAR_TIMESTAMP_IN_MILLISECONDS,
52
39
  S as ONE_YEAR_TIMESTAMP_IN_SECONDS,
53
- o as PREFERENCE_CATEGORY,
54
- N as TEST_TYPE_TO_TEST_NAME,
55
- C as WARNING_MESSAGES
40
+ e as PREFERENCE_CATEGORY,
41
+ O as TEST_TYPE_TO_TEST_NAME,
42
+ s as WARNING_MESSAGES
56
43
  };
57
44
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../src/features/milestone/constants.ts"],"sourcesContent":["const ONE_YEAR_TIMESTAMP_IN_SECONDS = 365 * 24 * 60 * 60;\nconst ONE_YEAR_TIMESTAMP_IN_MILLISECONDS = ONE_YEAR_TIMESTAMP_IN_SECONDS * 1000;\n\nconst MILESTONE_WIDGET_MIN_HEIGHT = 480;\n\nconst SAT_COURSES = {\n SAT_DEMO: 'SAT-DEMO',\n SAT_MATH: 'SAT-MATH',\n SAT_ENGLISH: 'SAT-ENGLISH',\n SAT_TESTS: 'SAT-TESTS',\n} as const;\n\nconst COURSE_STREAMS = {\n MATH: 'MATH',\n CODING: 'CODING',\n SCIENCE: 'SCIENCE',\n ELA: 'ELA',\n ELP: 'ELP',\n ...SAT_COURSES,\n} as const;\n\nconst ENROLLMENT_TYPES = {\n ONLINE: 'ONLINE',\n PLUS: 'PLUS',\n REGULAR: 'REGULAR',\n HYBRID: 'HYBRID',\n HYBRID_PLUS: 'HYBRID_PLUS',\n ARMY: 'ARMY',\n CLASS_K5: 'CLASS_K5',\n OLYMPIAD: 'OLYMPIAD',\n HIGH: 'HIGH',\n GROUP_CLASS: 'GROUP_CLASS',\n CUECENTER: 'CUECENTER',\n} as const;\n\nconst GOAL_CATEGORY = {\n SCHOOL_SUCCESS: 'SCHOOL_SUCCESS',\n TEST_PREP: 'TEST_PREP',\n ENRICHMENT: 'ENRICHMENT',\n} as const;\n\nconst PREFERENCE_CATEGORY = {\n LEVEL: 'Level',\n FOCUS: 'Focus',\n BEHAVIOR: 'Behaviors',\n OBJECTIVES: 'Objectives',\n POSITION: 'Position',\n COURSE: 'Course',\n} as const;\n\nconst TEST_TYPE_TO_TEST_NAME = {\n 'no-test': 'School Success goals',\n 'non-standardized': 'Test Prep goals',\n 'standardized': 'Enrichment goals',\n};\n\nconst WARNING_MESSAGES = {\n CHAPTER_EXIT_WARNING:\n 'Going back will clear your currently selected chapters. Do you wish to proceed?',\n GOAL_CHANGE_WARNING:\n 'Choosing a different goal will clear your currently selected chapters. Do you wish to proceed?',\n};\n\nconst GOAL_HEADER_HEIGHT = 60;\nconst GOAL_FOOTER_HEIGHT = 88;\n\nexport {\n ONE_YEAR_TIMESTAMP_IN_SECONDS,\n ONE_YEAR_TIMESTAMP_IN_MILLISECONDS,\n MILESTONE_WIDGET_MIN_HEIGHT,\n COURSE_STREAMS,\n GOAL_CATEGORY,\n GOAL_HEADER_HEIGHT,\n GOAL_FOOTER_HEIGHT,\n WARNING_MESSAGES,\n TEST_TYPE_TO_TEST_NAME,\n PREFERENCE_CATEGORY,\n ENROLLMENT_TYPES,\n};\n"],"names":["ONE_YEAR_TIMESTAMP_IN_SECONDS","ONE_YEAR_TIMESTAMP_IN_MILLISECONDS","MILESTONE_WIDGET_MIN_HEIGHT","SAT_COURSES","COURSE_STREAMS","ENROLLMENT_TYPES","GOAL_CATEGORY","PREFERENCE_CATEGORY","TEST_TYPE_TO_TEST_NAME","WARNING_MESSAGES","GOAL_HEADER_HEIGHT","GOAL_FOOTER_HEIGHT"],"mappings":"AAAM,MAAAA,IAAgC,SAChCC,IAAqC,SAErCC,IAA8B,KAE9BC,IAAc;AAAA,EAClB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,WAAW;AACb,GAEMC,IAAiB;AAAA,EACrB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,GAAGD;AACL,GAEME,IAAmB;AAAA,EACvB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AACb,GAEMC,IAAgB;AAAA,EACpB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,YAAY;AACd,GAEMC,IAAsB;AAAA,EAC1B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AACV,GAEMC,IAAyB;AAAA,EAC7B,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,cAAgB;AAClB,GAEMC,IAAmB;AAAA,EACvB,sBACE;AAAA,EACF,qBACE;AACJ,GAEMC,IAAqB,IACrBC,IAAqB;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../src/features/milestone/constants.ts"],"sourcesContent":["const ONE_YEAR_TIMESTAMP_IN_SECONDS = 365 * 24 * 60 * 60;\nconst ONE_YEAR_TIMESTAMP_IN_MILLISECONDS = ONE_YEAR_TIMESTAMP_IN_SECONDS * 1000;\n\nconst MILESTONE_WIDGET_MIN_HEIGHT = 480;\n\nconst SAT_COURSES = {\n SAT_DEMO: 'SAT-DEMO',\n SAT_MATH: 'SAT-MATH',\n SAT_ENGLISH: 'SAT-ENGLISH',\n SAT_TESTS: 'SAT-TESTS',\n} as const;\n\nconst COURSE_STREAMS = {\n MATH: 'MATH',\n CODING: 'CODING',\n SCIENCE: 'SCIENCE',\n ELA: 'ELA',\n ELP: 'ELP',\n ...SAT_COURSES,\n} as const;\n\nconst ENROLLMENT_TYPES = {\n ONLINE: 'ONLINE',\n PLUS: 'PLUS',\n REGULAR: 'REGULAR',\n HYBRID: 'HYBRID',\n HYBRID_PLUS: 'HYBRID_PLUS',\n ARMY: 'ARMY',\n CLASS_K5: 'CLASS_K5',\n OLYMPIAD: 'OLYMPIAD',\n HIGH: 'HIGH',\n GROUP_CLASS: 'GROUP_CLASS',\n CUECENTER: 'CUECENTER',\n} as const;\n\nconst GOAL_CATEGORY = {\n SCHOOL_SUCCESS: 'SCHOOL_SUCCESS',\n TEST_PREP: 'TEST_PREP',\n ENRICHMENT: 'ENRICHMENT',\n} as const;\n\nconst PREFERENCE_CATEGORY = {\n LEVEL: 'Level',\n FOCUS: 'Focus',\n BEHAVIOR: 'Behaviors',\n OBJECTIVES: 'Objectives',\n POSITION: 'Position',\n COURSE: 'Course',\n} as const;\n\nconst TEST_TYPE_TO_TEST_NAME = {\n 'no-test': 'School Success goals',\n 'non-standardized': 'Test Prep goals',\n 'standardized': 'Enrichment goals',\n};\n\nconst WARNING_MESSAGES = {\n CHAPTER_EXIT_WARNING:\n 'Going back will clear your currently selected chapters. Do you wish to proceed?',\n GOAL_CHANGE_WARNING:\n 'Choosing a different goal will clear your currently selected chapters. Do you wish to proceed?',\n};\n\nconst GOAL_HEADER_HEIGHT = 60;\nconst GOAL_FOOTER_HEIGHT = 88;\n\nexport {\n ONE_YEAR_TIMESTAMP_IN_SECONDS,\n ONE_YEAR_TIMESTAMP_IN_MILLISECONDS,\n MILESTONE_WIDGET_MIN_HEIGHT,\n COURSE_STREAMS,\n GOAL_CATEGORY,\n GOAL_HEADER_HEIGHT,\n GOAL_FOOTER_HEIGHT,\n WARNING_MESSAGES,\n TEST_TYPE_TO_TEST_NAME,\n PREFERENCE_CATEGORY,\n ENROLLMENT_TYPES,\n};\n"],"names":["ONE_YEAR_TIMESTAMP_IN_SECONDS","ONE_YEAR_TIMESTAMP_IN_MILLISECONDS","MILESTONE_WIDGET_MIN_HEIGHT","SAT_COURSES","COURSE_STREAMS","GOAL_CATEGORY","PREFERENCE_CATEGORY","TEST_TYPE_TO_TEST_NAME","WARNING_MESSAGES","GOAL_HEADER_HEIGHT","GOAL_FOOTER_HEIGHT"],"mappings":"AAAM,MAAAA,IAAgC,SAChCC,IAAqC,SAErCC,IAA8B,KAE9BC,IAAc;AAAA,EAClB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,WAAW;AACb,GAEMC,IAAiB;AAAA,EACrB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,GAAGD;AACL,GAgBME,IAAgB;AAAA,EACpB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,YAAY;AACd,GAEMC,IAAsB;AAAA,EAC1B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AACV,GAEMC,IAAyB;AAAA,EAC7B,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,cAAgB;AAClB,GAEMC,IAAmB;AAAA,EACvB,sBACE;AAAA,EACF,qBACE;AACJ,GAEMC,IAAqB,IACrBC,IAAqB;"}
@@ -1,27 +1,20 @@
1
- import { jsx as o } from "react/jsx-runtime";
1
+ import { jsx as n } from "react/jsx-runtime";
2
2
  import { ILLUSTRATIONS as i } from "../../../../../assets/illustrations/illustrations.js";
3
- import { ENROLLMENT_TYPES as E, GOAL_CATEGORY as m } from "../../../constants.js";
3
+ import { GOAL_CATEGORY as m } from "../../../constants.js";
4
4
  import s from "./category-component.js";
5
- const { SCHOOL_SUCCESS: C, TEST_PREP: f, ENRICHMENT: g } = m, { ONLINE: p, CUECENTER: L } = E, S = (e, r) => {
6
- if (r === p) {
7
- if (e.available_enrollment_types.length > 0 && r && e.available_enrollment_types.includes(L))
8
- return !1;
9
- } else if (e.available_enrollment_types.length > 0 && r && !e.available_enrollment_types.includes(r))
10
- return !1;
11
- return !(e.available_enrollment_types.length === 0 && r && e.blocked_enrollment_types.includes(r));
12
- }, P = (e, r, l, c) => {
13
- const { goal_curriculum_map: a } = r, n = a.filter((t) => t.course_stream !== l ? !1 : S(t, c)), d = n.some(
14
- (t) => t.goal_category === "SCHOOL_SUCCESS"
15
- ), u = n.some(
16
- (t) => t.goal_category === "TEST_PREP"
17
- ), _ = n.some(
18
- (t) => t.goal_category === "ENRICHMENT"
5
+ const { SCHOOL_SUCCESS: E, TEST_PREP: C, ENRICHMENT: g } = m, p = (e, t) => !(e.available_enrollment_types.length > 0 && t && !e.available_enrollment_types.includes(t) || e.available_enrollment_types.length === 0 && t && e.blocked_enrollment_types.includes(t)), R = (e, t, c, a) => {
6
+ const { goal_curriculum_map: l } = t, o = l.filter((r) => r.course_stream !== c ? !1 : p(r, a)), d = o.some(
7
+ (r) => r.goal_category === "SCHOOL_SUCCESS"
8
+ ), u = o.some(
9
+ (r) => r.goal_category === "TEST_PREP"
10
+ ), _ = o.some(
11
+ (r) => r.goal_category === "ENRICHMENT"
19
12
  );
20
13
  return [
21
14
  {
22
15
  id: "no-test",
23
16
  visible: d,
24
- children: /* @__PURE__ */ o(
17
+ children: /* @__PURE__ */ n(
25
18
  s,
26
19
  {
27
20
  title: "school success",
@@ -35,7 +28,7 @@ const { SCHOOL_SUCCESS: C, TEST_PREP: f, ENRICHMENT: g } = m, { ONLINE: p, CUECE
35
28
  {
36
29
  id: "non-standardized",
37
30
  visible: u,
38
- children: /* @__PURE__ */ o(
31
+ children: /* @__PURE__ */ n(
39
32
  s,
40
33
  {
41
34
  title: "test prep",
@@ -49,7 +42,7 @@ const { SCHOOL_SUCCESS: C, TEST_PREP: f, ENRICHMENT: g } = m, { ONLINE: p, CUECE
49
42
  {
50
43
  id: "standardized",
51
44
  visible: _,
52
- children: /* @__PURE__ */ o(
45
+ children: /* @__PURE__ */ n(
53
46
  s,
54
47
  {
55
48
  title: "enrichment",
@@ -61,10 +54,10 @@ const { SCHOOL_SUCCESS: C, TEST_PREP: f, ENRICHMENT: g } = m, { ONLINE: p, CUECE
61
54
  )
62
55
  }
63
56
  ];
64
- }, U = (e) => e === "no-test" ? C : e === "non-standardized" ? f : g;
57
+ }, O = (e) => e === "no-test" ? E : e === "non-standardized" ? C : g;
65
58
  export {
66
- S as checkEnrollmentAvailable,
67
- P as getGoalCategories,
68
- U as getTestTypeBasedCategory
59
+ p as checkEnrollmentAvailable,
60
+ R as getGoalCategories,
61
+ O as getTestTypeBasedCategory
69
62
  };
70
63
  //# sourceMappingURL=test-type-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-type-utils.js","sources":["../../../../../../src/features/milestone/create/comps/test-type-step/test-type-utils.tsx"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport type { ISelectionCardOption } from '../../../../ui/selection-cards/selection-cards-types';\nimport { ENROLLMENT_TYPES, GOAL_CATEGORY } from '../../../constants';\nimport type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMileStoneFormFields,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n} from '../../milestone-create-types';\nimport CategoryComponent from './category-component';\n\nconst { SCHOOL_SUCCESS, TEST_PREP, ENRICHMENT } = GOAL_CATEGORY;\nconst { ONLINE, CUECENTER } = ENROLLMENT_TYPES;\n\nconst checkEnrollmentAvailable = (\n goalData: IGoalCurriculumMap,\n enrollmentType?: TEnrollmentTypes,\n): boolean => {\n if (enrollmentType === ONLINE) {\n if (\n goalData.available_enrollment_types.length > 0 &&\n enrollmentType &&\n goalData.available_enrollment_types.includes(CUECENTER)\n )\n return false;\n } else if (\n goalData.available_enrollment_types.length > 0 &&\n enrollmentType &&\n !goalData.available_enrollment_types.includes(enrollmentType)\n )\n return false;\n\n if (\n goalData.available_enrollment_types.length === 0 &&\n enrollmentType &&\n goalData.blocked_enrollment_types.includes(enrollmentType)\n )\n return false;\n\n return true;\n};\n\ninterface IGetGoalCategories {\n (\n selectedType: TTestType,\n config: IMilestoneConfig,\n courseStream: TCourseStream,\n enrollmentType: TEnrollmentTypes,\n ): ISelectionCardOption<NonNullable<TTestType>>[];\n}\n\nconst getGoalCategories: IGetGoalCategories = (\n selectedType,\n milestoneConfig,\n courseStream,\n enrollmentType,\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = milestoneConfig;\n const filteredGoalCurriculumMap = goalCurriculumMap.filter(item => {\n if (item.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(item, enrollmentType);\n });\n const canCreateSchoolSuccess = filteredGoalCurriculumMap.some(\n goal => goal.goal_category === 'SCHOOL_SUCCESS',\n );\n const canCreateTestPrep = filteredGoalCurriculumMap.some(\n goal => goal.goal_category === 'TEST_PREP',\n );\n const canCreateEnrichment = filteredGoalCurriculumMap.some(\n goal => goal.goal_category === 'ENRICHMENT',\n );\n\n const categories: ISelectionCardOption<NonNullable<TTestType>>[] = [\n {\n id: 'no-test',\n visible: canCreateSchoolSuccess,\n children: (\n <CategoryComponent\n title=\"school success\"\n description=\"Build academic foundations and excel in school studies\"\n iconUrl={ILLUSTRATIONS.GRADUATE_PINK_FILLED_BG}\n backgroundColor=\"PURPLE_1\"\n selected={selectedType === 'no-test'}\n />\n ),\n },\n {\n id: 'non-standardized',\n visible: canCreateTestPrep,\n children: (\n <CategoryComponent\n title=\"test prep\"\n description=\"Prepare for standardized tests and competitive exams\"\n iconUrl={ILLUSTRATIONS.TROPHY_BLUE_FILLED}\n backgroundColor=\"BLUE_1\"\n selected={selectedType === 'non-standardized'}\n />\n ),\n },\n {\n id: 'standardized',\n visible: canCreateEnrichment,\n children: (\n <CategoryComponent\n title=\"enrichment\"\n description=\"Expand learning beyond the regular school curriculum\"\n iconUrl={ILLUSTRATIONS.STAR_ORANGE_FILLED}\n backgroundColor=\"ORANGE_1\"\n selected={selectedType === 'standardized'}\n />\n ),\n },\n ];\n\n return categories;\n};\n\ninterface IGetTestTypeBasedCategory {\n (testType: IMileStoneFormFields['testType']): TGoalCategory;\n}\n\nconst getTestTypeBasedCategory: IGetTestTypeBasedCategory = testType => {\n if (testType === 'no-test') return SCHOOL_SUCCESS;\n\n if (testType === 'non-standardized') return TEST_PREP;\n\n return ENRICHMENT;\n};\n\nexport { checkEnrollmentAvailable, getGoalCategories, getTestTypeBasedCategory };\n"],"names":["SCHOOL_SUCCESS","TEST_PREP","ENRICHMENT","GOAL_CATEGORY","ONLINE","CUECENTER","ENROLLMENT_TYPES","checkEnrollmentAvailable","goalData","enrollmentType","getGoalCategories","selectedType","milestoneConfig","courseStream","goalCurriculumMap","filteredGoalCurriculumMap","item","canCreateSchoolSuccess","goal","canCreateTestPrep","canCreateEnrichment","jsx","CategoryComponent","ILLUSTRATIONS","getTestTypeBasedCategory","testType"],"mappings":";;;;AAcA,MAAM,EAAE,gBAAAA,GAAgB,WAAAC,GAAW,YAAAC,EAAA,IAAeC,GAC5C,EAAE,QAAAC,GAAQ,WAAAC,EAAc,IAAAC,GAExBC,IAA2B,CAC/BC,GACAC,MACY;AACZ,MAAIA,MAAmBL;AAEnB,QAAAI,EAAS,2BAA2B,SAAS,KAC7CC,KACAD,EAAS,2BAA2B,SAASH,CAAS;AAE/C,aAAA;AAAA,aAETG,EAAS,2BAA2B,SAAS,KAC7CC,KACA,CAACD,EAAS,2BAA2B,SAASC,CAAc;AAErD,WAAA;AAGP,SAAA,EAAAD,EAAS,2BAA2B,WAAW,KAC/CC,KACAD,EAAS,yBAAyB,SAASC,CAAc;AAK7D,GAWMC,IAAwC,CAC5CC,GACAC,GACAC,GACAJ,MACG;AACG,QAAA,EAAE,qBAAqBK,EAAsB,IAAAF,GAC7CG,IAA4BD,EAAkB,OAAO,CAAQE,MAC7DA,EAAK,kBAAkBH,IAAqB,KAEzCN,EAAyBS,GAAMP,CAAc,CACrD,GACKQ,IAAyBF,EAA0B;AAAA,IACvD,CAAAG,MAAQA,EAAK,kBAAkB;AAAA,EAAA,GAE3BC,IAAoBJ,EAA0B;AAAA,IAClD,CAAAG,MAAQA,EAAK,kBAAkB;AAAA,EAAA,GAE3BE,IAAsBL,EAA0B;AAAA,IACpD,CAAAG,MAAQA,EAAK,kBAAkB;AAAA,EAAA;AA6C1B,SA1C4D;AAAA,IACjE;AAAA,MACE,IAAI;AAAA,MACJ,SAASD;AAAA,MACT,UACE,gBAAAI;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAASC,EAAc;AAAA,UACvB,iBAAgB;AAAA,UAChB,UAAUZ,MAAiB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,SAASQ;AAAA,MACT,UACE,gBAAAE;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAASC,EAAc;AAAA,UACvB,iBAAgB;AAAA,UAChB,UAAUZ,MAAiB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,SAASS;AAAA,MACT,UACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAASC,EAAc;AAAA,UACvB,iBAAgB;AAAA,UAChB,UAAUZ,MAAiB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,EAAA;AAIJ,GAMMa,IAAsD,CAAYC,MAClEA,MAAa,YAAkBzB,IAE/ByB,MAAa,qBAA2BxB,IAErCC;"}
1
+ {"version":3,"file":"test-type-utils.js","sources":["../../../../../../src/features/milestone/create/comps/test-type-step/test-type-utils.tsx"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport type { ISelectionCardOption } from '../../../../ui/selection-cards/selection-cards-types';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport type { TTestType } from '../../../types';\nimport type {\n IGoalCurriculumMap,\n IMileStoneFormFields,\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TGoalCategory,\n} from '../../milestone-create-types';\nimport CategoryComponent from './category-component';\n\nconst { SCHOOL_SUCCESS, TEST_PREP, ENRICHMENT } = GOAL_CATEGORY;\n\nconst checkEnrollmentAvailable = (\n goalData: IGoalCurriculumMap,\n enrollmentType?: TEnrollmentTypes,\n): boolean => {\n if (\n goalData.available_enrollment_types.length > 0 &&\n enrollmentType &&\n !goalData.available_enrollment_types.includes(enrollmentType)\n )\n return false;\n\n if (\n goalData.available_enrollment_types.length === 0 &&\n enrollmentType &&\n goalData.blocked_enrollment_types.includes(enrollmentType)\n )\n return false;\n\n return true;\n};\n\ninterface IGetGoalCategories {\n (\n selectedType: TTestType,\n config: IMilestoneConfig,\n courseStream: TCourseStream,\n enrollmentType: TEnrollmentTypes,\n ): ISelectionCardOption<NonNullable<TTestType>>[];\n}\n\nconst getGoalCategories: IGetGoalCategories = (\n selectedType,\n milestoneConfig,\n courseStream,\n enrollmentType,\n) => {\n const { goal_curriculum_map: goalCurriculumMap } = milestoneConfig;\n const filteredGoalCurriculumMap = goalCurriculumMap.filter(item => {\n if (item.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(item, enrollmentType);\n });\n const canCreateSchoolSuccess = filteredGoalCurriculumMap.some(\n goal => goal.goal_category === 'SCHOOL_SUCCESS',\n );\n const canCreateTestPrep = filteredGoalCurriculumMap.some(\n goal => goal.goal_category === 'TEST_PREP',\n );\n const canCreateEnrichment = filteredGoalCurriculumMap.some(\n goal => goal.goal_category === 'ENRICHMENT',\n );\n\n const categories: ISelectionCardOption<NonNullable<TTestType>>[] = [\n {\n id: 'no-test',\n visible: canCreateSchoolSuccess,\n children: (\n <CategoryComponent\n title=\"school success\"\n description=\"Build academic foundations and excel in school studies\"\n iconUrl={ILLUSTRATIONS.GRADUATE_PINK_FILLED_BG}\n backgroundColor=\"PURPLE_1\"\n selected={selectedType === 'no-test'}\n />\n ),\n },\n {\n id: 'non-standardized',\n visible: canCreateTestPrep,\n children: (\n <CategoryComponent\n title=\"test prep\"\n description=\"Prepare for standardized tests and competitive exams\"\n iconUrl={ILLUSTRATIONS.TROPHY_BLUE_FILLED}\n backgroundColor=\"BLUE_1\"\n selected={selectedType === 'non-standardized'}\n />\n ),\n },\n {\n id: 'standardized',\n visible: canCreateEnrichment,\n children: (\n <CategoryComponent\n title=\"enrichment\"\n description=\"Expand learning beyond the regular school curriculum\"\n iconUrl={ILLUSTRATIONS.STAR_ORANGE_FILLED}\n backgroundColor=\"ORANGE_1\"\n selected={selectedType === 'standardized'}\n />\n ),\n },\n ];\n\n return categories;\n};\n\ninterface IGetTestTypeBasedCategory {\n (testType: IMileStoneFormFields['testType']): TGoalCategory;\n}\n\nconst getTestTypeBasedCategory: IGetTestTypeBasedCategory = testType => {\n if (testType === 'no-test') return SCHOOL_SUCCESS;\n\n if (testType === 'non-standardized') return TEST_PREP;\n\n return ENRICHMENT;\n};\n\nexport { checkEnrollmentAvailable, getGoalCategories, getTestTypeBasedCategory };\n"],"names":["SCHOOL_SUCCESS","TEST_PREP","ENRICHMENT","GOAL_CATEGORY","checkEnrollmentAvailable","goalData","enrollmentType","getGoalCategories","selectedType","milestoneConfig","courseStream","goalCurriculumMap","filteredGoalCurriculumMap","item","canCreateSchoolSuccess","goal","canCreateTestPrep","canCreateEnrichment","jsx","CategoryComponent","ILLUSTRATIONS","getTestTypeBasedCategory","testType"],"mappings":";;;;AAcA,MAAM,EAAE,gBAAAA,GAAgB,WAAAC,GAAW,YAAAC,EAAA,IAAeC,GAE5CC,IAA2B,CAC/BC,GACAC,MAGE,EAAAD,EAAS,2BAA2B,SAAS,KAC7CC,KACA,CAACD,EAAS,2BAA2B,SAASC,CAAc,KAK5DD,EAAS,2BAA2B,WAAW,KAC/CC,KACAD,EAAS,yBAAyB,SAASC,CAAc,IAgBvDC,IAAwC,CAC5CC,GACAC,GACAC,GACAJ,MACG;AACG,QAAA,EAAE,qBAAqBK,EAAsB,IAAAF,GAC7CG,IAA4BD,EAAkB,OAAO,CAAQE,MAC7DA,EAAK,kBAAkBH,IAAqB,KAEzCN,EAAyBS,GAAMP,CAAc,CACrD,GACKQ,IAAyBF,EAA0B;AAAA,IACvD,CAAAG,MAAQA,EAAK,kBAAkB;AAAA,EAAA,GAE3BC,IAAoBJ,EAA0B;AAAA,IAClD,CAAAG,MAAQA,EAAK,kBAAkB;AAAA,EAAA,GAE3BE,IAAsBL,EAA0B;AAAA,IACpD,CAAAG,MAAQA,EAAK,kBAAkB;AAAA,EAAA;AA6C1B,SA1C4D;AAAA,IACjE;AAAA,MACE,IAAI;AAAA,MACJ,SAASD;AAAA,MACT,UACE,gBAAAI;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAASC,EAAc;AAAA,UACvB,iBAAgB;AAAA,UAChB,UAAUZ,MAAiB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,SAASQ;AAAA,MACT,UACE,gBAAAE;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAASC,EAAc;AAAA,UACvB,iBAAgB;AAAA,UAChB,UAAUZ,MAAiB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,SAASS;AAAA,MACT,UACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,aAAY;AAAA,UACZ,SAASC,EAAc;AAAA,UACvB,iBAAgB;AAAA,UAChB,UAAUZ,MAAiB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,EAAA;AAIJ,GAMMa,IAAsD,CAAYC,MAClEA,MAAa,YAAkBtB,IAE/BsB,MAAa,qBAA2BrB,IAErCC;"}
@@ -1,4 +1,4 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import { useCallback as d } from "react";
3
3
  import w from "../../../ui/arrow-tooltip/arrow-tooltip.js";
4
4
  import D from "../../../ui/buttons/button/button.js";
@@ -11,15 +11,15 @@ import { useTrialSessionNavigation as T } from "../../hooks/use-trial-session-na
11
11
  import { Container as k, ForwardArrow as _ } from "./navigation-bar-styled.js";
12
12
  import z from "../../../../assets/line-icons/icons/back2.js";
13
13
  const X = () => {
14
- const { slideConfig: f, buttonState: b, openEndClassModal: g, studentAbsentInClass: l, trialHomeData: u } = P(), {
14
+ const { slideConfig: f, buttonState: b, openEndClassModal: g, studentAbsentInClass: i, trialHomeData: u } = P(), {
15
15
  left: { isDisabled: h, isLoading: x },
16
16
  right: { isDisabled: L, isLoading: $ }
17
- } = b || {}, { prevPage: C, nextPage: I } = f || {}, { buttonLabel: i, pageId: t } = C || {}, { buttonLabel: r, pageId: n } = I || {}, { handleNavigation: o } = T(), A = t && !n, { intel_student: s } = u, B = j(s == null ? void 0 : s.source), y = d(() => {
17
+ } = b || {}, { prevPage: C, nextPage: I } = f || {}, { buttonLabel: r, pageId: t } = C || {}, { buttonLabel: s, pageId: n } = I || {}, { handleNavigation: o } = T(), A = t && !n, { intel_student: a } = u, B = j(a == null ? void 0 : a.source), y = d(() => {
18
18
  o("next", n);
19
19
  }, [o, n]), v = d(() => {
20
20
  o("prev", t);
21
21
  }, [o, t]);
22
- return /* @__PURE__ */ a(
22
+ return /* @__PURE__ */ l(
23
23
  k,
24
24
  {
25
25
  $flexDirection: "row-reverse",
@@ -36,8 +36,8 @@ const X = () => {
36
36
  onClick: g
37
37
  }
38
38
  ),
39
- n && r && /* @__PURE__ */ a(m, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 12, children: [
40
- /* @__PURE__ */ e(p, { $renderAs: "ab2", $color: "BLACK_T_60", children: r }),
39
+ n && s && /* @__PURE__ */ l(m, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 12, children: [
40
+ /* @__PURE__ */ e(p, { $renderAs: "ab2", $color: "BLACK_T_60", children: s }),
41
41
  /* @__PURE__ */ e(
42
42
  w,
43
43
  {
@@ -46,36 +46,36 @@ const X = () => {
46
46
  position: "top-left",
47
47
  renderAs: "primary",
48
48
  tooltipItem: "Waiting for student to join...",
49
- hidden: !l,
49
+ hidden: !i,
50
50
  children: /* @__PURE__ */ e(
51
51
  c,
52
52
  {
53
53
  Icon: _,
54
54
  renderAs: "primary",
55
- analyticsLabel: r,
55
+ analyticsLabel: s,
56
56
  size: "small",
57
57
  onClick: y,
58
- disabled: L || l,
58
+ disabled: L || i,
59
59
  busy: $
60
60
  }
61
61
  )
62
62
  }
63
63
  )
64
64
  ] }),
65
- t && i && /* @__PURE__ */ a(m, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 12, children: [
65
+ t && r && /* @__PURE__ */ l(m, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 12, children: [
66
66
  /* @__PURE__ */ e(
67
67
  c,
68
68
  {
69
69
  Icon: z,
70
70
  renderAs: "secondary",
71
- analyticsLabel: i,
71
+ analyticsLabel: r,
72
72
  size: "small",
73
73
  onClick: v,
74
- disabled: h,
74
+ disabled: h || i,
75
75
  busy: x
76
76
  }
77
77
  ),
78
- /* @__PURE__ */ e(p, { $renderAs: "ab2", $color: "BLACK_T_60", children: i })
78
+ /* @__PURE__ */ e(p, { $renderAs: "ab2", $color: "BLACK_T_60", children: r })
79
79
  ] })
80
80
  ]
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/navigation-bar/index.tsx"],"sourcesContent":["import { useCallback, type FC } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource } from '../../helper';\nimport { useTrialSessionNavigation } from '../../hooks/use-trial-session-navigation';\nimport * as Styled from './navigation-bar-styled';\n\nconst NavigationBar: FC = () => {\n const { slideConfig, buttonState, openEndClassModal, studentAbsentInClass, trialHomeData } =\n useTrialSessionContext();\n const {\n left: { isDisabled: isLeftBtnDisabled, isLoading: isLeftBtnLoading },\n right: { isDisabled: isRightBtnDisabled, isLoading: isRightBtnLoading },\n } = buttonState || {};\n const { prevPage, nextPage } = slideConfig || {};\n const { buttonLabel: prevButtonLabel, pageId: prevPageId } = prevPage || {};\n const { buttonLabel: nextButtonLabel, pageId: nextPageId } = nextPage || {};\n const { handleNavigation } = useTrialSessionNavigation();\n const isLastPage = prevPageId && !nextPageId;\n\n const { intel_student: intelStudent } = trialHomeData;\n const isPLA = isPLASource(intelStudent?.source);\n\n const handleNext = useCallback(() => {\n handleNavigation('next', nextPageId);\n }, [handleNavigation, nextPageId]);\n\n const handlePrev = useCallback(() => {\n handleNavigation('prev', prevPageId);\n }, [handleNavigation, prevPageId]);\n\n return (\n <Styled.Container\n $flexDirection=\"row-reverse\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n {isLastPage && (\n <Button\n renderAs=\"tertiary\"\n size=\"small\"\n label={isPLA ? 'End the session' : 'End the class'}\n shape=\"square\"\n onClick={openEndClassModal}\n />\n )}\n {nextPageId && nextButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {nextButtonLabel}\n </Text>\n <ArrowTooltip\n widthX={8}\n zIndex={2}\n position=\"top-left\"\n renderAs=\"primary\"\n tooltipItem=\"Waiting for student to join...\"\n hidden={!studentAbsentInClass}\n >\n <IconButton\n Icon={Styled.ForwardArrow}\n renderAs=\"primary\"\n analyticsLabel={nextButtonLabel}\n size=\"small\"\n onClick={handleNext}\n disabled={isRightBtnDisabled || studentAbsentInClass}\n busy={isRightBtnLoading}\n />\n </ArrowTooltip>\n </FlexView>\n )}\n {prevPageId && prevButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <IconButton\n Icon={Styled.BackwardArrow}\n renderAs=\"secondary\"\n analyticsLabel={prevButtonLabel}\n size=\"small\"\n onClick={handlePrev}\n disabled={isLeftBtnDisabled}\n busy={isLeftBtnLoading}\n />\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {prevButtonLabel}\n </Text>\n </FlexView>\n )}\n </Styled.Container>\n );\n};\n\nexport default NavigationBar;\n"],"names":["NavigationBar","slideConfig","buttonState","openEndClassModal","studentAbsentInClass","trialHomeData","useTrialSessionContext","isLeftBtnDisabled","isLeftBtnLoading","isRightBtnDisabled","isRightBtnLoading","prevPage","nextPage","prevButtonLabel","prevPageId","nextButtonLabel","nextPageId","handleNavigation","useTrialSessionNavigation","isLastPage","intelStudent","isPLA","isPLASource","handleNext","useCallback","handlePrev","jsxs","Styled.Container","jsx","Button","FlexView","Text","ArrowTooltip","IconButton","Styled.ForwardArrow","Styled.BackwardArrow"],"mappings":";;;;;;;;;;;;AAYA,MAAMA,IAAoB,MAAM;AAC9B,QAAM,EAAE,aAAAC,GAAa,aAAAC,GAAa,mBAAAC,GAAmB,sBAAAC,GAAsB,eAAAC,EAAA,IACzEC,KACI;AAAA,IACJ,MAAM,EAAE,YAAYC,GAAmB,WAAWC,EAAiB;AAAA,IACnE,OAAO,EAAE,YAAYC,GAAoB,WAAWC,EAAkB;AAAA,EAAA,IACpER,KAAe,CAAA,GACb,EAAE,UAAAS,GAAU,UAAAC,MAAaX,KAAe,CAAA,GACxC,EAAE,aAAaY,GAAiB,QAAQC,EAAW,IAAIH,KAAY,IACnE,EAAE,aAAaI,GAAiB,QAAQC,EAAW,IAAIJ,KAAY,IACnE,EAAE,kBAAAK,MAAqBC,KACvBC,IAAaL,KAAc,CAACE,GAE5B,EAAE,eAAeI,EAAiB,IAAAf,GAClCgB,IAAQC,EAAYF,KAAA,gBAAAA,EAAc,MAAM,GAExCG,IAAaC,EAAY,MAAM;AACnC,IAAAP,EAAiB,QAAQD,CAAU;AAAA,EAAA,GAClC,CAACC,GAAkBD,CAAU,CAAC,GAE3BS,IAAaD,EAAY,MAAM;AACnC,IAAAP,EAAiB,QAAQH,CAAU;AAAA,EAAA,GAClC,CAACG,GAAkBH,CAAU,CAAC;AAG/B,SAAA,gBAAAY;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEX,UAAA;AAAA,QACCR,KAAA,gBAAAS;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAOR,IAAQ,oBAAoB;AAAA,YACnC,OAAM;AAAA,YACN,SAASlB;AAAA,UAAA;AAAA,QACX;AAAA,QAEDa,KAAcD,KACb,gBAAAW,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHhB,GAAA;AAAA,UACA,gBAAAa;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,UAAS;AAAA,cACT,UAAS;AAAA,cACT,aAAY;AAAA,cACZ,QAAQ,CAAC5B;AAAA,cAET,UAAA,gBAAAwB;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,MAAMC;AAAAA,kBACN,UAAS;AAAA,kBACT,gBAAgBnB;AAAA,kBAChB,MAAK;AAAA,kBACL,SAASQ;AAAA,kBACT,UAAUd,KAAsBL;AAAA,kBAChC,MAAMM;AAAA,gBAAA;AAAA,cACR;AAAA,YAAA;AAAA,UACF;AAAA,QAAA,GACF;AAAA,QAEDI,KAAcD,KACb,gBAAAa,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAME;AAAAA,cACN,UAAS;AAAA,cACT,gBAAgBtB;AAAA,cAChB,MAAK;AAAA,cACL,SAASY;AAAA,cACT,UAAUlB;AAAA,cACV,MAAMC;AAAA,YAAA;AAAA,UACR;AAAA,4BACCuB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHlB,GAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/navigation-bar/index.tsx"],"sourcesContent":["import { useCallback, type FC } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource } from '../../helper';\nimport { useTrialSessionNavigation } from '../../hooks/use-trial-session-navigation';\nimport * as Styled from './navigation-bar-styled';\n\nconst NavigationBar: FC = () => {\n const { slideConfig, buttonState, openEndClassModal, studentAbsentInClass, trialHomeData } =\n useTrialSessionContext();\n const {\n left: { isDisabled: isLeftBtnDisabled, isLoading: isLeftBtnLoading },\n right: { isDisabled: isRightBtnDisabled, isLoading: isRightBtnLoading },\n } = buttonState || {};\n const { prevPage, nextPage } = slideConfig || {};\n const { buttonLabel: prevButtonLabel, pageId: prevPageId } = prevPage || {};\n const { buttonLabel: nextButtonLabel, pageId: nextPageId } = nextPage || {};\n const { handleNavigation } = useTrialSessionNavigation();\n const isLastPage = prevPageId && !nextPageId;\n\n const { intel_student: intelStudent } = trialHomeData;\n const isPLA = isPLASource(intelStudent?.source);\n\n const handleNext = useCallback(() => {\n handleNavigation('next', nextPageId);\n }, [handleNavigation, nextPageId]);\n\n const handlePrev = useCallback(() => {\n handleNavigation('prev', prevPageId);\n }, [handleNavigation, prevPageId]);\n\n return (\n <Styled.Container\n $flexDirection=\"row-reverse\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n {isLastPage && (\n <Button\n renderAs=\"tertiary\"\n size=\"small\"\n label={isPLA ? 'End the session' : 'End the class'}\n shape=\"square\"\n onClick={openEndClassModal}\n />\n )}\n {nextPageId && nextButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {nextButtonLabel}\n </Text>\n <ArrowTooltip\n widthX={8}\n zIndex={2}\n position=\"top-left\"\n renderAs=\"primary\"\n tooltipItem=\"Waiting for student to join...\"\n hidden={!studentAbsentInClass}\n >\n <IconButton\n Icon={Styled.ForwardArrow}\n renderAs=\"primary\"\n analyticsLabel={nextButtonLabel}\n size=\"small\"\n onClick={handleNext}\n disabled={isRightBtnDisabled || studentAbsentInClass}\n busy={isRightBtnLoading}\n />\n </ArrowTooltip>\n </FlexView>\n )}\n {prevPageId && prevButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <IconButton\n Icon={Styled.BackwardArrow}\n renderAs=\"secondary\"\n analyticsLabel={prevButtonLabel}\n size=\"small\"\n onClick={handlePrev}\n disabled={isLeftBtnDisabled || studentAbsentInClass}\n busy={isLeftBtnLoading}\n />\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {prevButtonLabel}\n </Text>\n </FlexView>\n )}\n </Styled.Container>\n );\n};\n\nexport default NavigationBar;\n"],"names":["NavigationBar","slideConfig","buttonState","openEndClassModal","studentAbsentInClass","trialHomeData","useTrialSessionContext","isLeftBtnDisabled","isLeftBtnLoading","isRightBtnDisabled","isRightBtnLoading","prevPage","nextPage","prevButtonLabel","prevPageId","nextButtonLabel","nextPageId","handleNavigation","useTrialSessionNavigation","isLastPage","intelStudent","isPLA","isPLASource","handleNext","useCallback","handlePrev","jsxs","Styled.Container","jsx","Button","FlexView","Text","ArrowTooltip","IconButton","Styled.ForwardArrow","Styled.BackwardArrow"],"mappings":";;;;;;;;;;;;AAYA,MAAMA,IAAoB,MAAM;AAC9B,QAAM,EAAE,aAAAC,GAAa,aAAAC,GAAa,mBAAAC,GAAmB,sBAAAC,GAAsB,eAAAC,EAAA,IACzEC,KACI;AAAA,IACJ,MAAM,EAAE,YAAYC,GAAmB,WAAWC,EAAiB;AAAA,IACnE,OAAO,EAAE,YAAYC,GAAoB,WAAWC,EAAkB;AAAA,EAAA,IACpER,KAAe,CAAA,GACb,EAAE,UAAAS,GAAU,UAAAC,MAAaX,KAAe,CAAA,GACxC,EAAE,aAAaY,GAAiB,QAAQC,EAAW,IAAIH,KAAY,IACnE,EAAE,aAAaI,GAAiB,QAAQC,EAAW,IAAIJ,KAAY,IACnE,EAAE,kBAAAK,MAAqBC,KACvBC,IAAaL,KAAc,CAACE,GAE5B,EAAE,eAAeI,EAAiB,IAAAf,GAClCgB,IAAQC,EAAYF,KAAA,gBAAAA,EAAc,MAAM,GAExCG,IAAaC,EAAY,MAAM;AACnC,IAAAP,EAAiB,QAAQD,CAAU;AAAA,EAAA,GAClC,CAACC,GAAkBD,CAAU,CAAC,GAE3BS,IAAaD,EAAY,MAAM;AACnC,IAAAP,EAAiB,QAAQH,CAAU;AAAA,EAAA,GAClC,CAACG,GAAkBH,CAAU,CAAC;AAG/B,SAAA,gBAAAY;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEX,UAAA;AAAA,QACCR,KAAA,gBAAAS;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAOR,IAAQ,oBAAoB;AAAA,YACnC,OAAM;AAAA,YACN,SAASlB;AAAA,UAAA;AAAA,QACX;AAAA,QAEDa,KAAcD,KACb,gBAAAW,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHhB,GAAA;AAAA,UACA,gBAAAa;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,UAAS;AAAA,cACT,UAAS;AAAA,cACT,aAAY;AAAA,cACZ,QAAQ,CAAC5B;AAAA,cAET,UAAA,gBAAAwB;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,MAAMC;AAAAA,kBACN,UAAS;AAAA,kBACT,gBAAgBnB;AAAA,kBAChB,MAAK;AAAA,kBACL,SAASQ;AAAA,kBACT,UAAUd,KAAsBL;AAAA,kBAChC,MAAMM;AAAA,gBAAA;AAAA,cACR;AAAA,YAAA;AAAA,UACF;AAAA,QAAA,GACF;AAAA,QAEDI,KAAcD,KACb,gBAAAa,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAME;AAAAA,cACN,UAAS;AAAA,cACT,gBAAgBtB;AAAA,cAChB,MAAK;AAAA,cACL,SAASY;AAAA,cACT,UAAUlB,KAAqBH;AAAA,cAC/B,MAAMI;AAAA,YAAA;AAAA,UACR;AAAA,4BACCuB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHlB,GAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -1,44 +1,44 @@
1
- import { jsx as P } from "react/jsx-runtime";
2
- import { memo as R, useMemo as f, useCallback as l, useEffect as p } from "react";
1
+ import { jsx as Y } from "react/jsx-runtime";
2
+ import { memo as j, useMemo as p, useCallback as l, useEffect as _ } from "react";
3
3
  import { GOAL_CATEGORY as m } from "../../../milestone/constants.js";
4
- import { getCategorizedCurriculumStandards as Y } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
- import { getGradesFromConfig as j, getGoalsFromConfig as q } from "../../../milestone/create/milestone-create-helpers.js";
6
- import { epochTimestampAfterOneYear as E } from "../../../utils/utils.js";
7
- import { useTrialSessionContext as v } from "../../context/use-trial-session-context.js";
8
- import { isPLASource as z, updateGoalInFormData as L } from "../../helper.js";
9
- import M from "./school-goals-view.js";
10
- const oo = R(() => {
4
+ import { getCategorizedCurriculumStandards as q } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
+ import { getGradesFromConfig as v, getGoalsFromConfig as z } from "../../../milestone/create/milestone-create-helpers.js";
6
+ import { epochTimestampAfterOneYear as L } from "../../../utils/utils.js";
7
+ import { useTrialSessionContext as M } from "../../context/use-trial-session-context.js";
8
+ import { isPLASource as V, updateGoalInFormData as b } from "../../helper.js";
9
+ import J from "./school-goals-view.js";
10
+ const ao = j(() => {
11
11
  const {
12
12
  milestoneConfig: n,
13
- formData: b,
13
+ formData: U,
14
14
  updateSlideConfig: a,
15
15
  updateButtonState: h,
16
- onRemoveOptionalSlides: C,
17
- trialHomeData: N
18
- } = v(), { name: _, grade: e, goals: t, curriculum: i, numberInNameError: I } = b || {}, { demo_info: T, intel_student: S } = N, { stream: u, region_data: U } = T || {}, { opportunity_country: c = "US" } = U || {}, y = j(n), d = z(S == null ? void 0 : S.source), A = f(
19
- () => Y(n, {
20
- countryCode: c,
16
+ onRemoveOptionalSlides: S,
17
+ trialHomeData: y
18
+ } = M(), { name: G, grade: e, goals: t, curriculum: u, numberInNameError: A } = U || {}, { demo_info: H, intel_student: f, student: T } = y, { enrollment_type: i } = T || {}, { stream: c, region_data: D } = H || {}, { opportunity_country: d = "US" } = D || {}, I = v(n), g = V(f == null ? void 0 : f.source), F = p(
19
+ () => q(n, {
20
+ countryCode: d,
21
21
  grade: e ?? "",
22
22
  goalCategory: m.SCHOOL_SUCCESS,
23
- courseStream: u,
24
- enrollmentType: "ONLINE",
23
+ courseStream: c,
24
+ enrollmentType: i,
25
25
  flow: "CREATE"
26
26
  }),
27
- [n, c, e, u]
28
- ), g = f(
29
- () => q(n, {
30
- countryCode: c,
27
+ [n, d, e, c, i]
28
+ ), C = p(
29
+ () => z(n, {
30
+ countryCode: d,
31
31
  grade: e ?? "",
32
32
  goalCategory: m.SCHOOL_SUCCESS,
33
- courseStream: u,
34
- curriculumStandard: i,
35
- enrollmentType: "ONLINE"
33
+ courseStream: c,
34
+ curriculumStandard: u,
35
+ enrollmentType: i
36
36
  }),
37
- [n, c, e, u, i]
38
- ), { goal_code: G } = f(
37
+ [n, d, e, c, u, i]
38
+ ), { goal_code: O } = p(
39
39
  () => (t == null ? void 0 : t.find((o) => o.goal_category === m.SCHOOL_SUCCESS)) ?? {},
40
40
  [t]
41
- ), O = !!(_ && e && i && G), r = l(
41
+ ), E = !!(G && e && u && O), r = l(
42
42
  (o, s) => {
43
43
  a({
44
44
  [o]: s,
@@ -46,65 +46,65 @@ const oo = R(() => {
46
46
  });
47
47
  },
48
48
  [a]
49
- ), H = l(
49
+ ), N = l(
50
50
  (o) => {
51
51
  a({ numberInNameError: !1 }), r("name", o.target.value);
52
52
  },
53
53
  [a, r]
54
- ), D = l(
54
+ ), x = l(
55
55
  (o, s) => {
56
- const { label: w } = s, B = L(t, m.SCHOOL_SUCCESS, {
56
+ const { label: P } = s, R = b(t, m.SCHOOL_SUCCESS, {
57
57
  goal_code: o,
58
- milestone_name: w,
59
- milestone_date_ts: E(),
60
- publish: d
58
+ milestone_name: P,
59
+ milestone_date_ts: L(),
60
+ publish: g
61
61
  });
62
- a({ goals: B });
62
+ a({ goals: R });
63
63
  },
64
- [t, d, a]
65
- ), F = l(
64
+ [t, g, a]
65
+ ), w = l(
66
66
  (o) => r("curriculum", o),
67
67
  [r]
68
- ), x = l(
68
+ ), B = l(
69
69
  (o) => {
70
70
  r("grade", o), r("curriculum", "");
71
71
  },
72
72
  [r]
73
73
  );
74
- return p(() => {
75
- h("right", { isDisabled: !O, isLoading: !1 });
76
- }, [O, h]), p(() => {
77
- e && (C == null || C(e));
78
- }, [e]), p(() => {
79
- const o = g.length === 1 ? g[0] : void 0;
74
+ return _(() => {
75
+ h("right", { isDisabled: !E, isLoading: !1 });
76
+ }, [E, h]), _(() => {
77
+ e && (S == null || S(e));
78
+ }, [e]), _(() => {
79
+ const o = C.length === 1 ? C[0] : void 0;
80
80
  if (o) {
81
- const s = L(t, m.SCHOOL_SUCCESS, {
81
+ const s = b(t, m.SCHOOL_SUCCESS, {
82
82
  goal_code: o.id ?? "",
83
83
  milestone_name: o.label ?? "",
84
- milestone_date_ts: E(),
85
- publish: d
84
+ milestone_date_ts: L(),
85
+ publish: g
86
86
  });
87
87
  a({ goals: s });
88
88
  }
89
- }, [g, d]), /* @__PURE__ */ P(
90
- M,
89
+ }, [C, g]), /* @__PURE__ */ Y(
90
+ J,
91
91
  {
92
- name: _,
92
+ name: G,
93
93
  grade: e,
94
- grades: y,
95
- goalsList: g,
96
- curriculum: i,
97
- selectedGoal: G,
98
- numberInNameError: I,
99
- curriculumStandards: A,
100
- onNameChange: H,
101
- onGoalChange: D,
102
- onGradeChange: x,
103
- onCurriculumChange: F
94
+ grades: I,
95
+ goalsList: C,
96
+ curriculum: u,
97
+ selectedGoal: O,
98
+ numberInNameError: A,
99
+ curriculumStandards: F,
100
+ onNameChange: N,
101
+ onGoalChange: x,
102
+ onGradeChange: B,
103
+ onCurriculumChange: w
104
104
  }
105
105
  );
106
106
  });
107
107
  export {
108
- oo as default
108
+ ao as default
109
109
  };
110
110
  //# sourceMappingURL=school-goals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"school-goals.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type InputHTMLAttributes } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { getCategorizedCurriculumStandards } from '../../../milestone/create/comps/class-details-step/class-details-utils';\nimport {\n getGoalsFromConfig,\n getGradesFromConfig,\n} from '../../../milestone/create/milestone-create-helpers';\nimport type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\nimport { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource, updateGoalInFormData } from '../../helper';\nimport SchoolGoalsView from './school-goals-view';\n\nconst SchoolGoals = memo(() => {\n const {\n milestoneConfig,\n formData,\n updateSlideConfig,\n updateButtonState,\n onRemoveOptionalSlides,\n trialHomeData,\n } = useTrialSessionContext();\n const { name, grade, goals, curriculum, numberInNameError } = formData || {};\n\n const { demo_info: demoInfo, intel_student: intelStudent } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\n const isPLA = isPLASource(intelStudent?.source);\n\n const curriculumStandards = useMemo(\n () =>\n getCategorizedCurriculumStandards(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n flow: 'CREATE',\n }),\n [milestoneConfig, countryCode, grade, stream],\n );\n\n const goalsList = useMemo(\n () =>\n getGoalsFromConfig(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n curriculumStandard: curriculum,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, countryCode, grade, stream, curriculum],\n );\n\n const { goal_code: selectedGoal } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const hasRequiredFields = Boolean(name && grade && curriculum && selectedGoal);\n\n const updateStudentInformation = useCallback(\n (key: string, value: string) => {\n updateSlideConfig({\n [key]: value,\n ...(key === 'grade' || key === 'curriculum' ? { goals: [] } : {}),\n });\n },\n [updateSlideConfig],\n );\n\n const handleNameChange = useCallback<\n NonNullable<InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n updateSlideConfig({ numberInNameError: false });\n updateStudentInformation('name', event.target.value);\n },\n [updateSlideConfig, updateStudentInformation],\n );\n\n const handleGoalChange = useCallback(\n (value: string, option: ISelectOption<string | number>) => {\n const { label } = option;\n\n const updatedGoals = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: value,\n milestone_name: label,\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLA,\n });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, isPLA, updateSlideConfig],\n );\n\n const handleCurriculumChange = useCallback(\n (value: string) => updateStudentInformation('curriculum', value),\n [updateStudentInformation],\n );\n\n const handleGradeChange = useCallback(\n (value: string) => {\n updateStudentInformation('grade', value);\n updateStudentInformation('curriculum', '');\n },\n [updateStudentInformation],\n );\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n useEffect(() => {\n if (grade) {\n onRemoveOptionalSlides?.(grade);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [grade]);\n\n useEffect(() => {\n // If there is only one goal in the list, set it as the selected goal\n // and update the form data with the goal code, milestone name, and date\n const defaultGoal = goalsList.length === 1 ? goalsList[0] : undefined;\n\n if (defaultGoal) {\n const goalToUpdate = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: defaultGoal.id ?? '',\n milestone_name: defaultGoal.label ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLA,\n });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList, isPLA]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n grades={grades}\n goalsList={goalsList}\n curriculum={curriculum}\n selectedGoal={selectedGoal}\n numberInNameError={numberInNameError}\n curriculumStandards={curriculumStandards}\n onNameChange={handleNameChange}\n onGoalChange={handleGoalChange}\n onGradeChange={handleGradeChange}\n onCurriculumChange={handleCurriculumChange}\n />\n );\n});\n\nexport default SchoolGoals;\n"],"names":["SchoolGoals","memo","milestoneConfig","formData","updateSlideConfig","updateButtonState","onRemoveOptionalSlides","trialHomeData","useTrialSessionContext","name","grade","goals","curriculum","numberInNameError","demoInfo","intelStudent","stream","regionData","countryCode","grades","getGradesFromConfig","isPLA","isPLASource","curriculumStandards","useMemo","getCategorizedCurriculumStandards","GOAL_CATEGORY","goalsList","getGoalsFromConfig","selectedGoal","goal","hasRequiredFields","updateStudentInformation","useCallback","key","value","handleNameChange","event","handleGoalChange","option","label","updatedGoals","updateGoalInFormData","epochTimestampAfterOneYear","handleCurriculumChange","handleGradeChange","useEffect","defaultGoal","goalToUpdate","jsx","SchoolGoalsView"],"mappings":"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"}
1
+ {"version":3,"file":"school-goals.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type InputHTMLAttributes } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { getCategorizedCurriculumStandards } from '../../../milestone/create/comps/class-details-step/class-details-utils';\nimport {\n getGoalsFromConfig,\n getGradesFromConfig,\n} from '../../../milestone/create/milestone-create-helpers';\nimport type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\nimport { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource, updateGoalInFormData } from '../../helper';\nimport SchoolGoalsView from './school-goals-view';\n\nconst SchoolGoals = memo(() => {\n const {\n milestoneConfig,\n formData,\n updateSlideConfig,\n updateButtonState,\n onRemoveOptionalSlides,\n trialHomeData,\n } = useTrialSessionContext();\n const { name, grade, goals, curriculum, numberInNameError } = formData || {};\n\n const { demo_info: demoInfo, intel_student: intelStudent, student } = trialHomeData;\n const { enrollment_type: enrollmentType } = student || {};\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\n const isPLA = isPLASource(intelStudent?.source);\n\n const curriculumStandards = useMemo(\n () =>\n getCategorizedCurriculumStandards(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n enrollmentType: enrollmentType,\n flow: 'CREATE',\n }),\n [milestoneConfig, countryCode, grade, stream, enrollmentType],\n );\n\n const goalsList = useMemo(\n () =>\n getGoalsFromConfig(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n curriculumStandard: curriculum,\n enrollmentType: enrollmentType,\n }),\n [milestoneConfig, countryCode, grade, stream, curriculum, enrollmentType],\n );\n\n const { goal_code: selectedGoal } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const hasRequiredFields = Boolean(name && grade && curriculum && selectedGoal);\n\n const updateStudentInformation = useCallback(\n (key: string, value: string) => {\n updateSlideConfig({\n [key]: value,\n ...(key === 'grade' || key === 'curriculum' ? { goals: [] } : {}),\n });\n },\n [updateSlideConfig],\n );\n\n const handleNameChange = useCallback<\n NonNullable<InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n updateSlideConfig({ numberInNameError: false });\n updateStudentInformation('name', event.target.value);\n },\n [updateSlideConfig, updateStudentInformation],\n );\n\n const handleGoalChange = useCallback(\n (value: string, option: ISelectOption<string | number>) => {\n const { label } = option;\n\n const updatedGoals = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: value,\n milestone_name: label,\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLA,\n });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, isPLA, updateSlideConfig],\n );\n\n const handleCurriculumChange = useCallback(\n (value: string) => updateStudentInformation('curriculum', value),\n [updateStudentInformation],\n );\n\n const handleGradeChange = useCallback(\n (value: string) => {\n updateStudentInformation('grade', value);\n updateStudentInformation('curriculum', '');\n },\n [updateStudentInformation],\n );\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n useEffect(() => {\n if (grade) {\n onRemoveOptionalSlides?.(grade);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [grade]);\n\n useEffect(() => {\n // If there is only one goal in the list, set it as the selected goal\n // and update the form data with the goal code, milestone name, and date\n const defaultGoal = goalsList.length === 1 ? goalsList[0] : undefined;\n\n if (defaultGoal) {\n const goalToUpdate = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: defaultGoal.id ?? '',\n milestone_name: defaultGoal.label ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLA,\n });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList, isPLA]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n grades={grades}\n goalsList={goalsList}\n curriculum={curriculum}\n selectedGoal={selectedGoal}\n numberInNameError={numberInNameError}\n curriculumStandards={curriculumStandards}\n onNameChange={handleNameChange}\n onGoalChange={handleGoalChange}\n onGradeChange={handleGradeChange}\n onCurriculumChange={handleCurriculumChange}\n />\n );\n});\n\nexport default SchoolGoals;\n"],"names":["SchoolGoals","memo","milestoneConfig","formData","updateSlideConfig","updateButtonState","onRemoveOptionalSlides","trialHomeData","useTrialSessionContext","name","grade","goals","curriculum","numberInNameError","demoInfo","intelStudent","student","enrollmentType","stream","regionData","countryCode","grades","getGradesFromConfig","isPLA","isPLASource","curriculumStandards","useMemo","getCategorizedCurriculumStandards","GOAL_CATEGORY","goalsList","getGoalsFromConfig","selectedGoal","goal","hasRequiredFields","updateStudentInformation","useCallback","key","value","handleNameChange","event","handleGoalChange","option","label","updatedGoals","updateGoalInFormData","epochTimestampAfterOneYear","handleCurriculumChange","handleGradeChange","useEffect","defaultGoal","goalToUpdate","jsx","SchoolGoalsView"],"mappings":"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"}