@cuemath/leap 3.0.23 → 3.0.25-j

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 (25) hide show
  1. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +24 -22
  2. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  3. package/dist/features/chapters-v2/chapter-details/chapter-details.js +47 -45
  4. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  5. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +11 -11
  6. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
  7. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +140 -115
  8. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  9. package/dist/features/chapters-v2/utils/node-card-utils.js +46 -46
  10. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  11. package/dist/features/homework/homework-card-view.js +40 -38
  12. package/dist/features/homework/homework-card-view.js.map +1 -1
  13. package/dist/features/homework/homework-card.js +53 -52
  14. package/dist/features/homework/homework-card.js.map +1 -1
  15. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +91 -86
  16. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  17. package/dist/features/trial-session/comps/school-goals/school-goals.js +57 -51
  18. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  19. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +64 -63
  20. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  21. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  22. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js +3 -3
  23. package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.js.map +1 -1
  24. package/dist/index.d.ts +4 -0
  25. package/package.json +1 -1
@@ -1,68 +1,73 @@
1
- import { jsx as A } from "react/jsx-runtime";
2
- import { memo as B, useMemo as C, useCallback as s, useEffect as S } from "react";
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";
1
+ import { jsx as B } from "react/jsx-runtime";
2
+ import { memo as Y, useMemo as C, useCallback as m, useEffect as S } from "react";
3
+ import { GOAL_CATEGORY as s } from "../../../milestone/constants.js";
4
+ import { getCategorizedCurriculumStandards as j } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
+ import { getGradesFromConfig as q, getGoalsFromConfig as v } from "../../../milestone/create/milestone-create-helpers.js";
6
6
  import { epochTimestampAfterOneYear as G } from "../../../utils/utils.js";
7
- import { useTrialSessionContext as v } from "../../context/use-trial-session-context.js";
7
+ import { useTrialSessionContext as w } from "../../context/use-trial-session-context.js";
8
8
  import { updateGoalInFormData as O } from "../../helper.js";
9
- import w from "./school-goals-view.js";
10
- const X = B(() => {
9
+ import z from "./school-goals-view.js";
10
+ const Z = Y(() => {
11
11
  const {
12
- milestoneConfig: r,
13
- formData: L,
14
- updateSlideConfig: n,
12
+ milestoneConfig: n,
13
+ formData: E,
14
+ updateSlideConfig: a,
15
15
  updateButtonState: f,
16
16
  onRemoveOptionalSlides: g,
17
- trialHomeData: E
18
- } = v(), { name: p, grade: e, goals: a, curriculum: i } = L || {}, { demo_info: U } = E, { stream: c, region_data: y } = U || {}, { opportunity_country: u = "US" } = y || {}, H = j(r), N = C(
19
- () => Y(r, {
20
- countryCode: u,
17
+ trialHomeData: L
18
+ } = w(), { name: p, grade: e, goals: t, curriculum: i, numberInNameError: N } = E || {}, { demo_info: I } = L, { stream: u, region_data: U } = I || {}, { opportunity_country: c = "US" } = U || {}, b = q(n), y = C(
19
+ () => j(n, {
20
+ countryCode: c,
21
21
  grade: e ?? "",
22
- goalCategory: m.SCHOOL_SUCCESS,
23
- courseStream: c,
22
+ goalCategory: s.SCHOOL_SUCCESS,
23
+ courseStream: u,
24
24
  enrollmentType: "ONLINE"
25
25
  }),
26
- [r, u, e, c]
26
+ [n, c, e, u]
27
27
  ), d = C(
28
- () => q(r, {
29
- countryCode: u,
28
+ () => v(n, {
29
+ countryCode: c,
30
30
  grade: e ?? "",
31
- goalCategory: m.SCHOOL_SUCCESS,
32
- courseStream: c,
31
+ goalCategory: s.SCHOOL_SUCCESS,
32
+ courseStream: u,
33
33
  curriculumStandard: i,
34
34
  enrollmentType: "ONLINE"
35
35
  }),
36
- [r, u, e, c, i]
36
+ [n, c, e, u, i]
37
37
  ), { goal_code: _ } = C(
38
- () => (a == null ? void 0 : a.find((o) => o.goal_category === m.SCHOOL_SUCCESS)) ?? {},
39
- [a]
40
- ), h = !!(p && e && i && _), t = s(
38
+ () => (t == null ? void 0 : t.find((o) => o.goal_category === s.SCHOOL_SUCCESS)) ?? {},
39
+ [t]
40
+ ), h = !!(p && e && i && _), r = m(
41
41
  (o, l) => {
42
- n({
42
+ a({
43
43
  [o]: l,
44
44
  ...o === "grade" || o === "curriculum" ? { goals: [] } : {}
45
45
  });
46
46
  },
47
- [n]
48
- ), T = s((o) => t("name", o.target.value), [t]), D = s(
47
+ [a]
48
+ ), H = m(
49
+ (o) => {
50
+ a({ numberInNameError: !1 }), r("name", o.target.value);
51
+ },
52
+ [a, r]
53
+ ), T = m(
49
54
  (o, l) => {
50
- const { label: F } = l, x = O(a, m.SCHOOL_SUCCESS, {
55
+ const { label: x } = l, A = O(t, s.SCHOOL_SUCCESS, {
51
56
  goal_code: o,
52
- milestone_name: F,
57
+ milestone_name: x,
53
58
  milestone_date_ts: G()
54
59
  });
55
- n({ goals: x });
60
+ a({ goals: A });
56
61
  },
57
- [a, n]
58
- ), I = s(
59
- (o) => t("curriculum", o),
60
- [t]
61
- ), b = s(
62
+ [t, a]
63
+ ), D = m(
64
+ (o) => r("curriculum", o),
65
+ [r]
66
+ ), F = m(
62
67
  (o) => {
63
- t("grade", o), t("curriculum", "");
68
+ r("grade", o), r("curriculum", "");
64
69
  },
65
- [t]
70
+ [r]
66
71
  );
67
72
  return S(() => {
68
73
  f("right", { isDisabled: !h, isLoading: !1 });
@@ -71,31 +76,32 @@ const X = B(() => {
71
76
  }, [e]), S(() => {
72
77
  const o = d.length === 1 ? d[0] : void 0;
73
78
  if (o) {
74
- const l = O(a, m.SCHOOL_SUCCESS, {
79
+ const l = O(t, s.SCHOOL_SUCCESS, {
75
80
  goal_code: o.id ?? "",
76
81
  milestone_name: o.label ?? "",
77
82
  milestone_date_ts: G()
78
83
  });
79
- n({ goals: l });
84
+ a({ goals: l });
80
85
  }
81
- }, [d]), /* @__PURE__ */ A(
82
- w,
86
+ }, [d]), /* @__PURE__ */ B(
87
+ z,
83
88
  {
84
89
  name: p,
85
90
  grade: e,
86
- curriculum: i,
87
- grades: H,
88
- curriculumStandards: N,
91
+ grades: b,
89
92
  goalsList: d,
93
+ curriculum: i,
90
94
  selectedGoal: _,
91
- onNameChange: T,
92
- onGoalChange: D,
93
- onGradeChange: b,
94
- onCurriculumChange: I
95
+ numberInNameError: N,
96
+ curriculumStandards: y,
97
+ onNameChange: H,
98
+ onGoalChange: T,
99
+ onGradeChange: F,
100
+ onCurriculumChange: D
95
101
  }
96
102
  );
97
103
  });
98
104
  export {
99
- X as default
105
+ Z as default
100
106
  };
101
107
  //# 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 type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\n\nimport { memo, useCallback, useEffect, useMemo } 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 { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { 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 } = formData || {};\n\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\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 }),\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<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(event => updateStudentInformation('name', event.target.value), [updateStudentInformation]);\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 });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, 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 });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n curriculum={curriculum}\n grades={grades}\n curriculumStandards={curriculumStandards}\n goalsList={goalsList}\n selectedGoal={selectedGoal}\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","demoInfo","stream","regionData","countryCode","grades","getGradesFromConfig","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 type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\n\nimport { memo, useCallback, useEffect, useMemo } 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 { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { 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 } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\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 }),\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<React.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 });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, 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 });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList]);\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","stream","regionData","countryCode","grades","getGradesFromConfig","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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"}
@@ -13,60 +13,61 @@ const ue = () => {
13
13
  updateSlideConfig: s,
14
14
  slideConfig: B,
15
15
  formData: H,
16
- updateButtonState: a,
16
+ updateButtonState: n,
17
17
  teacherId: l,
18
- studentId: n,
19
- milestoneConfig: P,
20
- onTrialInformationUpdate: h,
21
- trialHomeData: x,
22
- worksheetNavigationPanel: I
23
- } = $(), { nextPage: w, id: r } = B || {}, { demo_info: Z } = x, { stream: N, region_data: K } = Z, { opportunity_country: C = "US" } = K || {}, { pageId: i } = w || {}, {
24
- name: f,
18
+ studentId: a,
19
+ milestoneConfig: L,
20
+ onTrialInformationUpdate: I,
21
+ trialHomeData: w,
22
+ worksheetNavigationPanel: N
23
+ } = $(), { nextPage: Z, id: r } = B || {}, { demo_info: K } = w, { stream: P, region_data: W } = K, { opportunity_country: C = "US" } = W || {}, { pageId: i } = Z || {}, {
24
+ name: m,
25
25
  grade: p,
26
26
  goals: g,
27
- curriculum: _,
27
+ curriculum: E,
28
28
  studentTimezone: T,
29
29
  preferences: A = [],
30
30
  personalizedLevel: R = [],
31
- personalizedFocus: O = [],
32
- personalizedBehaviors: b = []
31
+ personalizedFocus: b = [],
32
+ personalizedBehaviors: O = []
33
33
  } = H || {}, c = d(() => {
34
- a("both", {
34
+ n("both", {
35
35
  left: { isDisabled: !0, isLoading: !1 },
36
36
  right: { isDisabled: !0, isLoading: !0 }
37
37
  });
38
- }, [a]), E = (o) => {
38
+ }, [n]), _ = (o) => {
39
39
  if (!o) {
40
40
  const t = {};
41
41
  (i === e.CIRCLE_GAME || i === e.CIRCLE_PUZZLE || i === e.CIRCLE_SKILL) && (t.matchmakingId = z(), t.showCircleGameScreen = !0), s({ id: i, ...t });
42
42
  }
43
- a("both", S), (r === e.STUDENT_INFORMATION || r === e.SCHOOL_GOALS) && (h == null || h());
44
- }, { patch: v } = Y({ onComplete: E }), { patch: k } = X({
45
- onComplete: E
43
+ n("both", S), (r === e.STUDENT_INFORMATION || r === e.SCHOOL_GOALS) && (I == null || I());
44
+ }, { patch: v } = Y({ onComplete: _ }), { patch: k } = X({
45
+ onComplete: _
46
46
  }), { post: D } = J({
47
- onComplete: E
47
+ onComplete: _
48
48
  }), { post: G } = Q({
49
- onComplete: E
49
+ onComplete: _
50
50
  }), M = d(() => {
51
- const [o, t] = (f == null ? void 0 : f.split(" ")) || [], m = {
51
+ const [o, t] = (m == null ? void 0 : m.split(" ")) || [], u = {
52
52
  first_name: o,
53
53
  last_name: t,
54
54
  grade: p,
55
- board: _,
55
+ board: E,
56
56
  demo_type: "TRIAL_V3",
57
57
  teacher_id: l,
58
58
  country_alpha_2: C
59
59
  };
60
- c(), k(n, m);
60
+ /\d/.test(m || "") ? s({ numberInNameError: !0 }) : (c(), k(a, u));
61
61
  }, [
62
- f,
62
+ m,
63
63
  p,
64
- _,
64
+ E,
65
65
  l,
66
66
  C,
67
67
  c,
68
+ s,
68
69
  k,
69
- n
70
+ a
70
71
  ]), U = d(() => {
71
72
  const o = ee(A, T);
72
73
  if (o.length > 0) {
@@ -79,104 +80,104 @@ const ue = () => {
79
80
  action: "UPDATE_DEMO",
80
81
  action_data: t,
81
82
  teacher_id: l,
82
- student_id: n
83
+ student_id: a
83
84
  });
84
85
  } else
85
- s({ id: i }), a("both", S);
86
+ s({ id: i }), n("both", S);
86
87
  }, [
87
88
  A,
88
89
  T,
89
90
  c,
90
91
  v,
91
92
  l,
92
- n,
93
+ a,
93
94
  s,
94
95
  i,
95
- a
96
- ]), y = d(() => {
96
+ n
97
+ ]), x = d(() => {
97
98
  const o = {
98
- course_stream: N,
99
+ course_stream: P,
99
100
  grade: p,
100
101
  teacher_id: l,
101
- board: _,
102
+ board: E,
102
103
  goals: g
103
104
  };
104
105
  c(), D(o, {
105
- studentId: n
106
+ studentId: a
106
107
  });
107
108
  }, [
108
- _,
109
+ E,
109
110
  c,
110
111
  g,
111
112
  p,
112
113
  D,
113
- N,
114
- n,
114
+ P,
115
+ a,
115
116
  l
116
- ]), F = d(() => {
117
- const t = { preferences: te(P, [
117
+ ]), y = d(() => {
118
+ const t = { preferences: te(L, [
118
119
  ...R,
119
- ...O,
120
- ...b
121
- ]) }, m = { stream: q.MATH, studentId: n };
122
- c(), G(t, m);
120
+ ...b,
121
+ ...O
122
+ ]) }, u = { stream: q.MATH, studentId: a };
123
+ c(), G(t, u);
123
124
  }, [
124
125
  c,
125
- P,
126
- b,
126
+ L,
127
127
  O,
128
+ b,
128
129
  R,
129
130
  G,
130
- n
131
- ]), L = d(
131
+ a
132
+ ]), h = d(
132
133
  (o, t) => {
133
134
  if (!s) return;
134
- const m = r === e.STUDENT_PROFILE, V = r === e.LEARNING_PLAN, u = {};
135
- if ((t === e.CIRCLE_GAME || t === e.CIRCLE_PUZZLE || t === e.CIRCLE_SKILL) && (u.matchmakingId = z(), u.showCircleGameScreen = !0), o === "prev" && (s({
135
+ const u = r === e.STUDENT_PROFILE, F = r === e.LEARNING_PLAN, f = {};
136
+ if ((t === e.CIRCLE_GAME || t === e.CIRCLE_PUZZLE || t === e.CIRCLE_SKILL) && (f.matchmakingId = z(), f.showCircleGameScreen = !0), o === "prev" && (s({
136
137
  id: t,
137
- ...m && { studentProfile: void 0 },
138
- ...V && {
138
+ ...u && { studentProfile: void 0 },
139
+ ...F && {
139
140
  chapterId: void 0
140
141
  },
141
- ...u
142
- }), a("both", S)), o === "next")
142
+ ...f
143
+ }), n("both", S)), o === "next")
143
144
  switch (r) {
144
145
  case e.STUDENT_INFORMATION:
145
146
  case e.SCHOOL_GOALS:
146
147
  M();
147
148
  break;
148
149
  case e.LEARNING_WORKSHEET:
149
- y();
150
+ x();
150
151
  break;
151
152
  case e.CLASS_PREFERENCE:
152
153
  U();
153
154
  break;
154
155
  case e.LEARNING_LEVEL:
155
156
  case e.STUDENT_PERSONALIZATION:
156
- F();
157
+ y();
157
158
  break;
158
159
  case e.LEARNING_PLAN:
159
- s({ id: t, chapterId: void 0, ...u });
160
+ s({ id: t, chapterId: void 0, ...f });
160
161
  break;
161
162
  default:
162
- s({ id: t, ...u }), a("both", S);
163
+ s({ id: t, ...f }), n("both", S);
163
164
  }
164
165
  },
165
166
  [
166
167
  s,
167
168
  r,
168
- a,
169
+ n,
169
170
  M,
170
- y,
171
+ x,
171
172
  U,
172
- F
173
+ y
173
174
  ]
174
- ), W = d(() => {
175
- !I && r === e.LEARNING_WORKSHEET && L("next", i);
176
- }, [r, L, i, I]);
175
+ ), V = d(() => {
176
+ !N && r === e.LEARNING_WORKSHEET && h("next", i);
177
+ }, [r, h, i, N]);
177
178
  return j(() => {
178
- W();
179
- }, [I]), { handleNavigation: L };
179
+ V();
180
+ }, [N]), { handleNavigation: h };
180
181
  };
181
182
  export {
182
183
  ue as useTrialSessionNavigation
@@ -1 +1 @@
1
- {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import type { ITrialSessionFormFields } from '../trial-session-types';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport { getFormattedPreferences, getFormattedStudentPersonalizedPreference } from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (\n currentPageId === TrialPageId.STUDENT_INFORMATION ||\n currentPageId === TrialPageId.SCHOOL_GOALS\n ) {\n //TODO: remove TrialPageId.STUDENT_INFORMATION\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n disableNavButtons();\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n disableNavButtons,\n patchTrialSession,\n teacherId,\n studentId,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ]);\n\n const payload = { preferences: personalizedPreferences };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n disableNavButtons,\n milestoneConfig,\n personalizedBehaviors,\n personalizedFocus,\n personalizedLevel,\n postStudentPreferences,\n studentId,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.LEARNING_LEVEL:\n case TrialPageId.STUDENT_PERSONALIZATION:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","handleStudentInformation","firstName","lastName","payload","handleClassPreferences","selectedRegularSlots","getFormattedPreferences","actionData","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import type { ITrialSessionFormFields } from '../trial-session-types';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport { getFormattedPreferences, getFormattedStudentPersonalizedPreference } from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (\n currentPageId === TrialPageId.STUDENT_INFORMATION ||\n currentPageId === TrialPageId.SCHOOL_GOALS\n ) {\n //TODO: remove TrialPageId.STUDENT_INFORMATION\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n const isNumberExistsInName = /\\d/.test(name || '');\n\n if (isNumberExistsInName) {\n updateSlideConfig({ numberInNameError: true });\n } else {\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n updateSlideConfig,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n disableNavButtons();\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n disableNavButtons,\n patchTrialSession,\n teacherId,\n studentId,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ]);\n\n const payload = { preferences: personalizedPreferences };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n disableNavButtons,\n milestoneConfig,\n personalizedBehaviors,\n personalizedFocus,\n personalizedLevel,\n postStudentPreferences,\n studentId,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.LEARNING_LEVEL:\n case TrialPageId.STUDENT_PERSONALIZATION:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","handleStudentInformation","firstName","lastName","payload","handleClassPreferences","selectedRegularSlots","getFormattedPreferences","actionData","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type { IMilestoneConfig, TCourseStream } from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { Dispatch, SetStateAction } from 'react';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = { degree_name?: string; field_of_study?: string };\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n countryCode?: string;\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: JSX.Element;\n studentPanel?: JSX.Element;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: JSX.Element;\n worksheetNavigationPanel?: JSX.Element;\n questionsRatingPanel?: JSX.Element;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AAmBY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type { IMilestoneConfig, TCourseStream } from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { Dispatch, SetStateAction } from 'react';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = { degree_name?: string; field_of_study?: string };\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n numberInNameError?: boolean;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n countryCode?: string;\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: JSX.Element;\n studentPanel?: JSX.Element;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: JSX.Element;\n worksheetNavigationPanel?: JSX.Element;\n questionsRatingPanel?: JSX.Element;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AAmBY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -12,8 +12,8 @@ const n = () => {
12
12
  // Set the Learnosity host header if applicable
13
13
  }
14
14
  } : void 0;
15
- }, { useGet: u } = o({
16
- getURL: (t, e) => `${r}/worksheets/fb575b36-7861-11e8-b8d4-acbc3277df8f/?${s({
15
+ }, i = () => window.location.hostname === "storybook.cuemath.com" ? "https://leap.cuemath.com" : "", { useGet: h } = o({
16
+ getURL: (t, e) => `${i()}${r}/worksheets/fb575b36-7861-11e8-b8d4-acbc3277df8f/?${s({
17
17
  activityReference: t,
18
18
  sign: !0,
19
19
  meta: !0,
@@ -23,6 +23,6 @@ const n = () => {
23
23
  params: a()
24
24
  });
25
25
  export {
26
- u as usePreviewWorksheetGet
26
+ h as usePreviewWorksheetGet
27
27
  };
28
28
  //# sourceMappingURL=get-preview-worksheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-preview-worksheet.js","sources":["../../../../../src/features/worksheet/worksheet-preview/api/get-preview-worksheet.ts"],"sourcesContent":["import type { IPreviewWorksheetModel } from '../../../../types/models/worksheet';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../constants/api';\nimport { stringify } from '../../../../helpers/query-string';\n\n/**\n * Determines the Learnosity host based on the current window location.\n * Returns the hostname if it starts with 'local' or matches 'storybook.cuemath.com',\n * otherwise returns null.\n */\nconst getLearnosityHost = () => {\n const hostname = window.location.hostname;\n\n if (hostname.startsWith('local') || hostname === 'storybook.cuemath.com') {\n return hostname;\n }\n\n return null;\n};\n\nconst getParams = () => {\n const learnosityHost = getLearnosityHost();\n\n return learnosityHost\n ? {\n headers: {\n 'Learnosity-Host': learnosityHost, // Set the Learnosity host header if applicable\n },\n }\n : undefined;\n};\n\ntype TPreviewWorksheetQuery = {\n action: string;\n node_type: string;\n items?: string[];\n};\n\nconst { useGet: usePreviewWorksheetGet } = createGetAPI<\n IPreviewWorksheetModel,\n TPreviewWorksheetQuery\n>({\n getURL: (activityRef, query) =>\n `${BASE_URL_V1}/worksheets/fb575b36-7861-11e8-b8d4-acbc3277df8f/?${stringify({\n activityReference: activityRef,\n sign: true,\n meta: true,\n test: true,\n ...query,\n })}`,\n params: getParams(),\n});\n\nexport { usePreviewWorksheetGet };\n"],"names":["getLearnosityHost","hostname","getParams","learnosityHost","usePreviewWorksheetGet","createGetAPI","activityRef","query","BASE_URL_V1","stringify"],"mappings":";;;AAYA,MAAMA,IAAoB,MAAM;AACxB,QAAAC,IAAW,OAAO,SAAS;AAEjC,SAAIA,EAAS,WAAW,OAAO,KAAKA,MAAa,0BACxCA,IAGF;AACT,GAEMC,IAAY,MAAM;AACtB,QAAMC,IAAiBH;AAEvB,SAAOG,IACH;AAAA,IACE,SAAS;AAAA,MACP,mBAAmBA;AAAA;AAAA,IACrB;AAAA,EAEF,IAAA;AACN,GAQM,EAAE,QAAQC,EAAuB,IAAIC,EAGzC;AAAA,EACA,QAAQ,CAACC,GAAaC,MACpB,GAAGC,CAAW,qDAAqDC,EAAU;AAAA,IAC3E,mBAAmBH;AAAA,IACnB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,GAAGC;AAAA,EACJ,CAAA,CAAC;AAAA,EACJ,QAAQL,EAAU;AACpB,CAAC;"}
1
+ {"version":3,"file":"get-preview-worksheet.js","sources":["../../../../../src/features/worksheet/worksheet-preview/api/get-preview-worksheet.ts"],"sourcesContent":["import type { IPreviewWorksheetModel } from '../../../../types/models/worksheet';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../constants/api';\nimport { stringify } from '../../../../helpers/query-string';\n\n/**\n * Determines the Learnosity host based on the current window location.\n * Returns the hostname if it starts with 'local' or matches 'storybook.cuemath.com',\n * otherwise returns null.\n */\nconst getLearnosityHost = () => {\n const hostname = window.location.hostname;\n\n if (hostname.startsWith('local') || hostname === 'storybook.cuemath.com') {\n return hostname;\n }\n\n return null;\n};\n\nconst getParams = () => {\n const learnosityHost = getLearnosityHost();\n\n return learnosityHost\n ? {\n headers: {\n 'Learnosity-Host': learnosityHost, // Set the Learnosity host header if applicable\n },\n }\n : undefined;\n};\n\nconst getDomainName = () => {\n if (window.location.hostname === 'storybook.cuemath.com') {\n return 'https://leap.cuemath.com';\n }\n\n return '';\n};\n\ntype TPreviewWorksheetQuery = {\n action: string;\n node_type: string;\n items?: string[];\n};\n\nconst { useGet: usePreviewWorksheetGet } = createGetAPI<\n IPreviewWorksheetModel,\n TPreviewWorksheetQuery\n>({\n getURL: (activityRef, query) =>\n `${getDomainName()}${BASE_URL_V1}/worksheets/fb575b36-7861-11e8-b8d4-acbc3277df8f/?${stringify({\n activityReference: activityRef,\n sign: true,\n meta: true,\n test: true,\n ...query,\n })}`,\n params: getParams(),\n});\n\nexport { usePreviewWorksheetGet };\n"],"names":["getLearnosityHost","hostname","getParams","learnosityHost","getDomainName","usePreviewWorksheetGet","createGetAPI","activityRef","query","BASE_URL_V1","stringify"],"mappings":";;;AAYA,MAAMA,IAAoB,MAAM;AACxB,QAAAC,IAAW,OAAO,SAAS;AAEjC,SAAIA,EAAS,WAAW,OAAO,KAAKA,MAAa,0BACxCA,IAGF;AACT,GAEMC,IAAY,MAAM;AACtB,QAAMC,IAAiBH;AAEvB,SAAOG,IACH;AAAA,IACE,SAAS;AAAA,MACP,mBAAmBA;AAAA;AAAA,IACrB;AAAA,EAEF,IAAA;AACN,GAEMC,IAAgB,MAChB,OAAO,SAAS,aAAa,0BACxB,6BAGF,IASH,EAAE,QAAQC,EAAuB,IAAIC,EAGzC;AAAA,EACA,QAAQ,CAACC,GAAaC,MACpB,GAAGJ,GAAe,GAAGK,CAAW,qDAAqDC,EAAU;AAAA,IAC7F,mBAAmBH;AAAA,IACnB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,GAAGC;AAAA,EACJ,CAAA,CAAC;AAAA,EACJ,QAAQN,EAAU;AACpB,CAAC;"}
package/dist/index.d.ts CHANGED
@@ -2364,6 +2364,7 @@ declare interface INodeCardCallbacks {
2364
2364
  onNodeReset?: (nodeData: INodeDataProps, milestoneId?: string) => void;
2365
2365
  onNodeUnassign?: (nodeData: INodeDataProps, milestoneId?: string) => void;
2366
2366
  onNodeUnlock?: (nodeData: INodeDataProps, milestoneId?: string) => void;
2367
+ onNodeSkipUnSkip?: (nodeData: INodeDataProps, milestoneId?: string) => void;
2367
2368
  }
2368
2369
 
2369
2370
  export declare interface INodeDataProps {
@@ -2417,6 +2418,8 @@ declare interface INodePermissions {
2417
2418
  can_teacher_review: boolean;
2418
2419
  can_unassign: boolean;
2419
2420
  can_unlock: boolean;
2421
+ can_un_skip: boolean;
2422
+ can_skip: boolean;
2420
2423
  }
2421
2424
 
2422
2425
  export declare const InputStatusIcon: NamedExoticComponent<IInputStatusIconProps>;
@@ -3402,6 +3405,7 @@ export declare interface ITrialSessionFormFields {
3402
3405
  totalTimeTaken?: number;
3403
3406
  chapterId?: string;
3404
3407
  matchmakingId?: string;
3408
+ numberInNameError?: boolean;
3405
3409
  }
3406
3410
 
3407
3411
  declare interface ITrialSessionMetadata {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.0.23",
3
+ "version": "3.0.25-j",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"