@cuemath/leap 3.5.37 → 3.5.38

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 (24) hide show
  1. package/dist/features/milestone/constants.js +28 -15
  2. package/dist/features/milestone/constants.js.map +1 -1
  3. package/dist/features/milestone/create/milestone-create-helpers.js +43 -42
  4. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  5. package/dist/features/trial-session/comps/school-goals/school-goals.js +87 -83
  6. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  7. package/dist/features/trial-session/comps/worksheet/worksheet.js +42 -33
  8. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  9. package/dist/features/trial-session/helper.js +69 -66
  10. package/dist/features/trial-session/helper.js.map +1 -1
  11. package/dist/features/trial-session/hooks/use-slide-config-update.js +61 -39
  12. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +1 -1
  13. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +141 -129
  14. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  15. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  16. package/dist/features/trial-session/trial-session-constants.js +16 -9
  17. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  18. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  19. package/dist/features/trial-session/trial-session-view.js +17 -16
  20. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  21. package/dist/features/trial-session/trial-session.js +68 -66
  22. package/dist/features/trial-session/trial-session.js.map +1 -1
  23. package/dist/index.d.ts +3 -0
  24. package/package.json +1 -1
@@ -1,49 +1,71 @@
1
- import { useState as h, useCallback as O } from "react";
2
- import { PREFERENCE_CATEGORY as p } from "../../milestone/constants.js";
3
- import { getGradesFromConfig as T } from "../../milestone/create/milestone-create-helpers.js";
4
- import { PREFERENCE_CODE_MAP as v } from "../comps/student-feedback/student-feedback-constants.js";
5
- import { getPreferenceCodesByCategory as u } from "../helper.js";
6
- const A = ({
7
- teacherClassroomId: g,
8
- milestoneConfig: n,
9
- studentTimezone: o,
10
- updateSlideConfig: r
1
+ import { useState as Y, useCallback as j } from "react";
2
+ import { PREFERENCE_CATEGORY as C, GOAL_CATEGORY as w, ENROLLMENT_TYPES as F } from "../../milestone/constants.js";
3
+ import { getGradesFromConfig as k } from "../../milestone/create/milestone-create-helpers.js";
4
+ import { PREFERENCE_CODE_MAP as x } from "../comps/student-feedback/student-feedback-constants.js";
5
+ import { isPLASource as z, getPreferenceCodesByCategory as E, updateGoalInFormData as B } from "../helper.js";
6
+ import { epochTimestampAfterOneYear as D } from "../../utils/utils.js";
7
+ import { HIGH_ENROLLMENT_PROGRAMS_MAP as J } from "../trial-session-constants.js";
8
+ const ee = ({
9
+ teacherClassroomId: S,
10
+ trialHomeData: s,
11
+ milestoneConfig: t,
12
+ studentTimezone: a,
13
+ updateSlideConfig: c
11
14
  }) => {
12
- const t = `trialSessionConfigCache_${g}`, [s, C] = h(() => {
15
+ const l = Object.keys(J), n = `trialSessionConfigCache_${S}`, [d, T] = Y(() => {
13
16
  try {
14
- return window.localStorage.getItem(t) === "true";
17
+ return window.localStorage.getItem(n) === "true";
15
18
  } catch {
16
19
  return !1;
17
20
  }
18
21
  });
19
- return { onRenderUpdateSlideConfig: O(
20
- (E) => {
21
- if (s)
22
- return;
23
- const { student: m, intel_student: S } = E, { student_preference: I } = S || {}, { preferences: i = [] } = I || {}, { name: P, grade: c } = m || {}, R = !!T(n).find(
24
- (_) => _.id === c
25
- ), a = u(i, p.OBJECTIVES), e = u(
26
- i,
27
- p.POSITION,
28
- !0
29
- ), d = a.length > 0 ? a : null, l = e.length > 0 ? e : null, f = e.length > 0 && e[0] ? [v[e[0]]] : null, U = {
30
- studentTimezone: o,
31
- name: P,
32
- grade: R ? c : "",
33
- ...d && { personalizedObjectives: d },
34
- ...l && { personalizedPosition: l },
35
- ...f && { personalizedLevel: f }
36
- };
37
- try {
38
- window.localStorage.setItem(t, "true"), C(!0);
39
- } catch {
40
- }
41
- r(U);
42
- },
43
- [s, n, o, r, t]
44
- ) };
22
+ return { onRenderUpdateSlideConfig: j(() => {
23
+ if (d)
24
+ return;
25
+ const { demo_info: O, student: P, intel_student: o } = s, { goal_code: I } = O || {}, { student_preference: R } = o || {}, { preferences: i = [] } = R || {}, {
26
+ name: G,
27
+ grade: m,
28
+ enrollment_type: h
29
+ } = P || {}, A = z(o == null ? void 0 : o.source), L = !!k(t).find(
30
+ (r) => r.id === m
31
+ ), N = t.goal_curriculum_map.find((r) => r.goal_code === I), u = E(i, C.OBJECTIVES), e = E(i, C.POSITION, !0), g = u.length > 0 ? u : null, p = e.length > 0 ? e : null, _ = e.length > 0 && e[0] ? [x[e[0]]] : null, {
32
+ goal_curriculum_standard: U,
33
+ goal_code: y,
34
+ goal_name: v,
35
+ program_code: f
36
+ } = N || {}, b = B(void 0, w.SCHOOL_SUCCESS, {
37
+ goal_code: y ?? "",
38
+ milestone_name: v ?? "",
39
+ milestone_date_ts: D(),
40
+ publish: A,
41
+ program_code: f
42
+ }), M = l.includes(f) ? F.HIGH : void 0, H = {
43
+ studentTimezone: a,
44
+ name: G,
45
+ goals: b,
46
+ curriculum: U,
47
+ grade: L ? m : "",
48
+ enrollmentType: M ?? h,
49
+ ..._ && { personalizedLevel: _ },
50
+ ...p && { personalizedPosition: p },
51
+ ...g && { personalizedObjectives: g }
52
+ };
53
+ try {
54
+ window.localStorage.setItem(n, "true"), T(!0);
55
+ } catch {
56
+ }
57
+ c(H);
58
+ }, [
59
+ n,
60
+ d,
61
+ s,
62
+ t,
63
+ a,
64
+ c,
65
+ l
66
+ ]) };
45
67
  };
46
68
  export {
47
- A as useSlideConfigUpdate
69
+ ee as useSlideConfigUpdate
48
70
  };
49
71
  //# sourceMappingURL=use-slide-config-update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-slide-config-update.js","sources":["../../../../src/features/trial-session/hooks/use-slide-config-update.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport { PREFERENCE_CATEGORY } from '../../milestone/constants';\nimport { getGradesFromConfig } from '../../milestone/create/milestone-create-helpers';\nimport type { IMilestoneConfig } from '../../milestone/create/milestone-create-types';\nimport { PREFERENCE_CODE_MAP } from '../comps/student-feedback/student-feedback-constants';\nimport { getPreferenceCodesByCategory } from '../helper';\nimport type { ITrialHomeData, ITrialSessionFormFields } from '../trial-session-types';\n\ninterface UseSlideConfigUpdateProps {\n teacherClassroomId: string;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n}\n\nexport const useSlideConfigUpdate = ({\n teacherClassroomId,\n milestoneConfig,\n studentTimezone,\n updateSlideConfig,\n}: UseSlideConfigUpdateProps) => {\n const CACHE_KEY = `trialSessionConfigCache_${teacherClassroomId}`;\n\n // Check if config was already set for this student in localStorage\n const [isConfigSet, setIsConfigSet] = useState<boolean>(() => {\n try {\n return window.localStorage.getItem(CACHE_KEY) === 'true';\n } catch {\n return false;\n }\n });\n\n const onRenderUpdateSlideConfig = useCallback(\n (homeData: ITrialHomeData) => {\n // If config was already set for this student in this session, skip update\n if (isConfigSet) {\n return;\n }\n\n const { student, intel_student: intelStudent } = homeData;\n const { student_preference: studentPreference } = intelStudent || {};\n const { preferences = [] } = studentPreference || {};\n const { name: studentName, grade: studentGrade } = student || {};\n\n const IsGradeExistInMilestoneConfig = !!getGradesFromConfig(milestoneConfig).find(\n element => element.id === studentGrade,\n );\n\n const objectives = getPreferenceCodesByCategory(preferences, PREFERENCE_CATEGORY.OBJECTIVES);\n const position = getPreferenceCodesByCategory(\n preferences,\n PREFERENCE_CATEGORY.POSITION,\n true,\n );\n\n const objectivesToUpdate = objectives.length > 0 ? objectives : null;\n const positionToUpdate = position.length > 0 ? position : null;\n const levelToUpdate =\n position.length > 0 && position[0]\n ? [PREFERENCE_CODE_MAP[position[0] as keyof typeof PREFERENCE_CODE_MAP]]\n : null;\n\n const configToUpdate: Partial<ITrialSessionFormFields> = {\n studentTimezone,\n name: studentName,\n grade: IsGradeExistInMilestoneConfig ? studentGrade : '',\n ...(objectivesToUpdate && { personalizedObjectives: objectivesToUpdate }),\n ...(positionToUpdate && { personalizedPosition: positionToUpdate }),\n ...(levelToUpdate && { personalizedLevel: levelToUpdate }),\n };\n\n // Mark config as set in window. and state\n try {\n window.localStorage.setItem(CACHE_KEY, 'true');\n setIsConfigSet(true);\n } catch {\n // Silent catch\n }\n\n updateSlideConfig(configToUpdate);\n },\n [isConfigSet, milestoneConfig, studentTimezone, updateSlideConfig, CACHE_KEY],\n );\n\n return { onRenderUpdateSlideConfig };\n};\n"],"names":["useSlideConfigUpdate","teacherClassroomId","milestoneConfig","studentTimezone","updateSlideConfig","CACHE_KEY","isConfigSet","setIsConfigSet","useState","useCallback","homeData","student","intelStudent","studentPreference","preferences","studentName","studentGrade","IsGradeExistInMilestoneConfig","getGradesFromConfig","element","objectives","getPreferenceCodesByCategory","PREFERENCE_CATEGORY","position","objectivesToUpdate","positionToUpdate","levelToUpdate","PREFERENCE_CODE_MAP","configToUpdate"],"mappings":";;;;;AAgBO,MAAMA,IAAuB,CAAC;AAAA,EACnC,oBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,mBAAAC;AACF,MAAiC;AACzB,QAAAC,IAAY,2BAA2BJ,CAAkB,IAGzD,CAACK,GAAaC,CAAc,IAAIC,EAAkB,MAAM;AACxD,QAAA;AACF,aAAO,OAAO,aAAa,QAAQH,CAAS,MAAM;AAAA,IAAA,QAC5C;AACC,aAAA;AAAA,IACT;AAAA,EAAA,CACD;AAsDD,SAAO,EAAE,2BApDyBI;AAAA,IAChC,CAACC,MAA6B;AAE5B,UAAIJ;AACF;AAGF,YAAM,EAAE,SAAAK,GAAS,eAAeC,EAAA,IAAiBF,GAC3C,EAAE,oBAAoBG,MAAsBD,KAAgB,CAAA,GAC5D,EAAE,aAAAE,IAAc,CAAA,MAAOD,KAAqB,CAAA,GAC5C,EAAE,MAAME,GAAa,OAAOC,EAAa,IAAIL,KAAW,IAExDM,IAAgC,CAAC,CAACC,EAAoBhB,CAAe,EAAE;AAAA,QAC3E,CAAAiB,MAAWA,EAAQ,OAAOH;AAAA,MAAA,GAGtBI,IAAaC,EAA6BP,GAAaQ,EAAoB,UAAU,GACrFC,IAAWF;AAAA,QACfP;AAAA,QACAQ,EAAoB;AAAA,QACpB;AAAA,MAAA,GAGIE,IAAqBJ,EAAW,SAAS,IAAIA,IAAa,MAC1DK,IAAmBF,EAAS,SAAS,IAAIA,IAAW,MACpDG,IACJH,EAAS,SAAS,KAAKA,EAAS,CAAC,IAC7B,CAACI,EAAoBJ,EAAS,CAAC,CAAqC,CAAC,IACrE,MAEAK,IAAmD;AAAA,QACvD,iBAAAzB;AAAA,QACA,MAAMY;AAAA,QACN,OAAOE,IAAgCD,IAAe;AAAA,QACtD,GAAIQ,KAAsB,EAAE,wBAAwBA,EAAmB;AAAA,QACvE,GAAIC,KAAoB,EAAE,sBAAsBA,EAAiB;AAAA,QACjE,GAAIC,KAAiB,EAAE,mBAAmBA,EAAc;AAAA,MAAA;AAItD,UAAA;AACK,eAAA,aAAa,QAAQrB,GAAW,MAAM,GAC7CE,EAAe,EAAI;AAAA,MAAA,QACb;AAAA,MAER;AAEA,MAAAH,EAAkBwB,CAAc;AAAA,IAClC;AAAA,IACA,CAACtB,GAAaJ,GAAiBC,GAAiBC,GAAmBC,CAAS;AAAA,EAAA,EAG3C;AACrC;"}
1
+ {"version":3,"file":"use-slide-config-update.js","sources":["../../../../src/features/trial-session/hooks/use-slide-config-update.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\nimport { ENROLLMENT_TYPES, GOAL_CATEGORY, PREFERENCE_CATEGORY } from '../../milestone/constants';\nimport { getGradesFromConfig } from '../../milestone/create/milestone-create-helpers';\nimport type { IMilestoneConfig } from '../../milestone/create/milestone-create-types';\nimport { PREFERENCE_CODE_MAP } from '../comps/student-feedback/student-feedback-constants';\nimport { getPreferenceCodesByCategory, isPLASource, updateGoalInFormData } from '../helper';\nimport type { ITrialHomeData, ITrialSessionFormFields } from '../trial-session-types';\nimport { epochTimestampAfterOneYear } from '../../utils/utils';\nimport { HIGH_ENROLLMENT_PROGRAMS_MAP } from '../trial-session-constants';\n\ninterface UseSlideConfigUpdateProps {\n teacherClassroomId: string;\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n}\n\nexport const useSlideConfigUpdate = ({\n teacherClassroomId,\n trialHomeData,\n milestoneConfig,\n studentTimezone,\n updateSlideConfig,\n}: UseSlideConfigUpdateProps) => {\n const highEnrollmentPrograms = Object.keys(HIGH_ENROLLMENT_PROGRAMS_MAP);\n const CACHE_KEY = `trialSessionConfigCache_${teacherClassroomId}`;\n\n // Check if config was already set for this student in localStorage\n const [isConfigSet, setIsConfigSet] = useState<boolean>(() => {\n try {\n return window.localStorage.getItem(CACHE_KEY) === 'true';\n } catch {\n return false;\n }\n });\n\n const onRenderUpdateSlideConfig = useCallback(() => {\n // If config was already set for this student in this session, skip update\n if (isConfigSet) {\n return;\n }\n\n const { demo_info: demoInfo, student, intel_student: intelStudent } = trialHomeData;\n const { goal_code: goalCode } = demoInfo || {};\n const { student_preference: studentPreference } = intelStudent || {};\n const { preferences = [] } = studentPreference || {};\n const {\n name: studentName,\n grade: studentGrade,\n enrollment_type: studentEnrollmentType,\n } = student || {};\n\n const isPLA = isPLASource(intelStudent?.source);\n const IsGradeExistInMilestoneConfig = !!getGradesFromConfig(milestoneConfig).find(\n element => element.id === studentGrade,\n );\n const goalToPreSelect = milestoneConfig.goal_curriculum_map.find(g => g.goal_code === goalCode);\n\n const objectives = getPreferenceCodesByCategory(preferences, PREFERENCE_CATEGORY.OBJECTIVES);\n const position = getPreferenceCodesByCategory(preferences, PREFERENCE_CATEGORY.POSITION, true);\n\n const objectivesToUpdate = objectives.length > 0 ? objectives : null;\n const positionToUpdate = position.length > 0 ? position : null;\n const levelToUpdate =\n position.length > 0 && position[0]\n ? [PREFERENCE_CODE_MAP[position[0] as keyof typeof PREFERENCE_CODE_MAP]]\n : null;\n\n const {\n goal_curriculum_standard: goalCurriculumStandard,\n goal_code: goalCodeToSelect,\n goal_name: goalNameToSelect,\n program_code: programCodeToSelect,\n } = goalToPreSelect || {};\n\n const updatedGoals = updateGoalInFormData(undefined, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: goalCodeToSelect ?? '',\n milestone_name: goalNameToSelect ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLA,\n program_code: programCodeToSelect as string,\n });\n const enrollmentToUpdate = highEnrollmentPrograms.includes(programCodeToSelect as string)\n ? ENROLLMENT_TYPES.HIGH\n : undefined;\n\n const configToUpdate: Partial<ITrialSessionFormFields> = {\n studentTimezone,\n name: studentName,\n goals: updatedGoals,\n curriculum: goalCurriculumStandard,\n grade: IsGradeExistInMilestoneConfig ? studentGrade : '',\n enrollmentType: enrollmentToUpdate ?? studentEnrollmentType,\n ...(levelToUpdate && { personalizedLevel: levelToUpdate }),\n ...(positionToUpdate && { personalizedPosition: positionToUpdate }),\n ...(objectivesToUpdate && { personalizedObjectives: objectivesToUpdate }),\n };\n\n // Mark config as set in window. and state\n try {\n window.localStorage.setItem(CACHE_KEY, 'true');\n setIsConfigSet(true);\n } catch {\n // Silent catch\n }\n\n updateSlideConfig(configToUpdate);\n }, [\n CACHE_KEY,\n isConfigSet,\n trialHomeData,\n milestoneConfig,\n studentTimezone,\n updateSlideConfig,\n highEnrollmentPrograms,\n ]);\n\n return { onRenderUpdateSlideConfig };\n};\n"],"names":["useSlideConfigUpdate","teacherClassroomId","trialHomeData","milestoneConfig","studentTimezone","updateSlideConfig","highEnrollmentPrograms","HIGH_ENROLLMENT_PROGRAMS_MAP","CACHE_KEY","isConfigSet","setIsConfigSet","useState","useCallback","demoInfo","student","intelStudent","goalCode","studentPreference","preferences","studentName","studentGrade","studentEnrollmentType","isPLA","isPLASource","IsGradeExistInMilestoneConfig","getGradesFromConfig","element","goalToPreSelect","g","objectives","getPreferenceCodesByCategory","PREFERENCE_CATEGORY","position","objectivesToUpdate","positionToUpdate","levelToUpdate","PREFERENCE_CODE_MAP","goalCurriculumStandard","goalCodeToSelect","goalNameToSelect","programCodeToSelect","updatedGoals","updateGoalInFormData","GOAL_CATEGORY","epochTimestampAfterOneYear","enrollmentToUpdate","ENROLLMENT_TYPES","configToUpdate"],"mappings":";;;;;;;AAmBO,MAAMA,KAAuB,CAAC;AAAA,EACnC,oBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,mBAAAC;AACF,MAAiC;AACzB,QAAAC,IAAyB,OAAO,KAAKC,CAA4B,GACjEC,IAAY,2BAA2BP,CAAkB,IAGzD,CAACQ,GAAaC,CAAc,IAAIC,EAAkB,MAAM;AACxD,QAAA;AACF,aAAO,OAAO,aAAa,QAAQH,CAAS,MAAM;AAAA,IAAA,QAC5C;AACC,aAAA;AAAA,IACT;AAAA,EAAA,CACD;AAmFD,SAAO,EAAE,2BAjFyBI,EAAY,MAAM;AAElD,QAAIH;AACF;AAGF,UAAM,EAAE,WAAWI,GAAU,SAAAC,GAAS,eAAeC,EAAiB,IAAAb,GAChE,EAAE,WAAWc,MAAaH,KAAY,CAAA,GACtC,EAAE,oBAAoBI,MAAsBF,KAAgB,CAAA,GAC5D,EAAE,aAAAG,IAAc,CAAA,MAAOD,KAAqB,CAAA,GAC5C;AAAA,MACJ,MAAME;AAAA,MACN,OAAOC;AAAA,MACP,iBAAiBC;AAAA,IAAA,IACfP,KAAW,CAAA,GAETQ,IAAQC,EAAYR,KAAA,gBAAAA,EAAc,MAAM,GACxCS,IAAgC,CAAC,CAACC,EAAoBtB,CAAe,EAAE;AAAA,MAC3E,CAAAuB,MAAWA,EAAQ,OAAON;AAAA,IAAA,GAEtBO,IAAkBxB,EAAgB,oBAAoB,KAAK,CAAKyB,MAAAA,EAAE,cAAcZ,CAAQ,GAExFa,IAAaC,EAA6BZ,GAAaa,EAAoB,UAAU,GACrFC,IAAWF,EAA6BZ,GAAaa,EAAoB,UAAU,EAAI,GAEvFE,IAAqBJ,EAAW,SAAS,IAAIA,IAAa,MAC1DK,IAAmBF,EAAS,SAAS,IAAIA,IAAW,MACpDG,IACJH,EAAS,SAAS,KAAKA,EAAS,CAAC,IAC7B,CAACI,EAAoBJ,EAAS,CAAC,CAAqC,CAAC,IACrE,MAEA;AAAA,MACJ,0BAA0BK;AAAA,MAC1B,WAAWC;AAAA,MACX,WAAWC;AAAA,MACX,cAAcC;AAAA,IAAA,IACZb,KAAmB,CAAA,GAEjBc,IAAeC,EAAqB,QAAWC,EAAc,gBAAgB;AAAA,MACjF,WAAWL,KAAoB;AAAA,MAC/B,gBAAgBC,KAAoB;AAAA,MACpC,mBAAmBK,EAA2B;AAAA,MAC9C,SAAStB;AAAA,MACT,cAAckB;AAAA,IAAA,CACf,GACKK,IAAqBvC,EAAuB,SAASkC,CAA6B,IACpFM,EAAiB,OACjB,QAEEC,IAAmD;AAAA,MACvD,iBAAA3C;AAAA,MACA,MAAMe;AAAA,MACN,OAAOsB;AAAA,MACP,YAAYJ;AAAA,MACZ,OAAOb,IAAgCJ,IAAe;AAAA,MACtD,gBAAgByB,KAAsBxB;AAAA,MACtC,GAAIc,KAAiB,EAAE,mBAAmBA,EAAc;AAAA,MACxD,GAAID,KAAoB,EAAE,sBAAsBA,EAAiB;AAAA,MACjE,GAAID,KAAsB,EAAE,wBAAwBA,EAAmB;AAAA,IAAA;AAIrE,QAAA;AACK,aAAA,aAAa,QAAQzB,GAAW,MAAM,GAC7CE,EAAe,EAAI;AAAA,IAAA,QACb;AAAA,IAER;AAEA,IAAAL,EAAkB0C,CAAc;AAAA,EAAA,GAC/B;AAAA,IACDvC;AAAA,IACAC;AAAA,IACAP;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD,EAEkC;AACrC;"}
@@ -1,40 +1,40 @@
1
- import { useCallback as m, useEffect as te } from "react";
2
- import { COURSE_STREAMS as oe } from "../../milestone/constants.js";
1
+ import { useCallback as r, useEffect as oe } from "react";
2
+ import { COURSE_STREAMS as se } from "../../milestone/constants.js";
3
3
  import { useMilestoneBulkPost as ae } from "../../milestone/create/api/milestone-bulk.js";
4
- import { usePostStudentPreferences as se } from "../api/course-stream.js";
5
- import { usePatchStudentInformation as ne } from "../api/student-information.js";
4
+ import { usePostStudentPreferences as ne } from "../api/course-stream.js";
5
+ import { usePatchStudentInformation as ie } from "../api/student-information.js";
6
6
  import { usePostTeacherAvailability as re } from "../api/teacher-availability.js";
7
- import { usePatchTrialHome as ie } from "../api/trial-home.js";
8
- import { useTrialSessionContext as ce } from "../context/use-trial-session-context.js";
9
- import { getFormattedPreferences as V, getWeekdayAndStartTimeFromPreference as le, getFormattedStudentPersonalizedPreference as de } from "../helper.js";
10
- import { DEFAULT_BUTTON_STATE as p, TrialPageId as t } from "../trial-session-constants.js";
11
- import W from "../../../node_modules/uuid/dist/esm-browser/v4.js";
12
- const be = () => {
7
+ import { usePatchTrialHome as ce } from "../api/trial-home.js";
8
+ import { useTrialSessionContext as le } from "../context/use-trial-session-context.js";
9
+ import { getFormattedPreferences as Z, getWeekdayAndStartTimeFromPreference as de, getFormattedStudentPersonalizedPreference as me } from "../helper.js";
10
+ import { DEFAULT_BUTTON_STATE as f, TrialPageId as t } from "../trial-session-constants.js";
11
+ import j from "../../../node_modules/uuid/dist/esm-browser/v4.js";
12
+ const ge = () => {
13
13
  const {
14
- updateSlideConfig: n,
15
- slideConfig: Z,
16
- formData: j,
14
+ updateSlideConfig: a,
15
+ slideConfig: q,
16
+ formData: J,
17
17
  updateButtonState: s,
18
- teacherId: r,
19
- studentId: i,
20
- milestoneConfig: A,
21
- handleInfoMessage: E,
22
- onTrialInformationUpdate: b,
23
- trialHomeData: q,
24
- worksheetNavigationPanel: I
25
- } = ce(), { nextPage: J, id: u } = Z || {}, { demo_info: Q } = q, { stream: v, region_data: X } = Q, { opportunity_country: T = "US" } = X || {}, { pageId: c } = J || {}, {
26
- name: h,
27
- grade: f,
28
- goals: R,
18
+ teacherId: c,
19
+ studentId: l,
20
+ milestoneConfig: T,
21
+ handleInfoMessage: _,
22
+ onTrialInformationUpdate: g,
23
+ trialHomeData: P,
24
+ worksheetNavigationPanel: C
25
+ } = le(), { nextPage: Q, id: u } = q || {}, { demo_info: X } = P, { stream: R, region_data: Y } = X, { opportunity_country: k = "US" } = Y || {}, { pageId: i } = Q || {}, {
26
+ name: E,
27
+ grade: p,
28
+ goals: y,
29
29
  curriculum: L,
30
30
  studentTimezone: N,
31
- preferences: P = [],
32
- personalizedLevel: k = [],
33
- personalizedFocus: y = [],
34
- personalizedBehaviors: D = [],
35
- personalizedObjectives: O = [],
36
- personalizedPosition: G = []
37
- } = j || {}, l = m(() => {
31
+ preferences: I = [],
32
+ personalizedLevel: D = [],
33
+ personalizedFocus: O = [],
34
+ personalizedBehaviors: G = [],
35
+ personalizedObjectives: x = [],
36
+ personalizedPosition: z = []
37
+ } = J || {}, d = r(() => {
38
38
  s("both", {
39
39
  left: { isDisabled: !0, isLoading: !1 },
40
40
  right: { isDisabled: !0, isLoading: !0 }
@@ -42,177 +42,189 @@ const be = () => {
42
42
  }, [s]), S = (o) => {
43
43
  if (!o) {
44
44
  const e = {};
45
- (c === t.CIRCLE_GAME || c === t.CIRCLE_PUZZLE || c === t.CIRCLE_SKILL) && (e.matchmakingId = W(), e.showCircleGameScreen = !0), n({ id: c, ...e });
45
+ (i === t.CIRCLE_GAME || i === t.CIRCLE_PUZZLE || i === t.CIRCLE_SKILL) && (e.matchmakingId = j(), e.showCircleGameScreen = !0), a({ id: i, ...e });
46
46
  }
47
- s("both", p), u === t.LEARNING_LEVEL && (b == null || b());
48
- }, { patch: z } = ie({ onComplete: S }), { patch: x } = ne({
47
+ s("both", f), u === t.LEARNING_LEVEL && (g == null || g());
48
+ }, { patch: U } = ce({ onComplete: S }), { patch: B } = ie({
49
49
  onComplete: S
50
50
  }), { post: F } = ae({
51
51
  onComplete: S
52
- }), { post: M } = se({
52
+ }), { post: M } = ne({
53
53
  onComplete: S
54
- }), Y = m(
54
+ }), $ = r(
55
55
  (o, e) => {
56
- if ((e ?? []).some((a) => !a.is_available)) {
57
- const ee = (e ?? []).filter((C) => !C.is_available).map((C) => C.reason).join(`
56
+ if ((e ?? []).some((n) => !n.is_available)) {
57
+ const te = (e ?? []).filter((v) => !v.is_available).map((v) => v.reason).join(`
58
58
  `);
59
- E == null || E({ message: ee, position: "bottom" }), s("both", p);
59
+ _ == null || _({ message: te, position: "bottom" }), s("both", f);
60
60
  return;
61
61
  }
62
- const _ = V(P, N);
63
- _.length > 0 ? z("trial-v3-patch", {
62
+ const h = Z(I, N);
63
+ h.length > 0 ? U("trial-v3-patch", {
64
64
  action: "UPDATE_DEMO",
65
65
  action_data: {
66
66
  trial_details: {
67
- selected_regular_slots: _
67
+ selected_regular_slots: h
68
68
  }
69
69
  },
70
- teacher_id: r,
71
- student_id: i
72
- }) : s("both", p);
70
+ teacher_id: c,
71
+ student_id: l
72
+ }) : s("both", f);
73
73
  },
74
74
  [
75
- E,
76
- z,
77
- P,
78
- i,
75
+ _,
76
+ U,
77
+ I,
78
+ l,
79
79
  N,
80
- r,
80
+ c,
81
81
  s
82
82
  ]
83
- ), { post: U } = re({
84
- onComplete: Y
85
- }), B = m(() => {
86
- var a;
87
- const [o, e] = ((a = h == null ? void 0 : h.trim()) == null ? void 0 : a.split(" ")) || [], d = {
83
+ ), { post: H } = re({
84
+ onComplete: $
85
+ }), w = r(() => {
86
+ var n;
87
+ const [o, e] = ((n = E == null ? void 0 : E.trim()) == null ? void 0 : n.split(" ")) || [], m = {
88
88
  first_name: o,
89
89
  last_name: e,
90
- grade: f,
90
+ grade: p,
91
91
  board: L,
92
92
  demo_type: "TRIAL_V3",
93
- teacher_id: r,
94
- country_alpha_2: T
93
+ teacher_id: c,
94
+ country_alpha_2: k
95
95
  };
96
- /\d/.test(h || "") ? n({ numberInNameError: !0 }) : (l(), x(i, d));
96
+ /\d/.test(E || "") ? a({ numberInNameError: !0 }) : (d(), B(l, m));
97
97
  }, [
98
- h,
99
- f,
98
+ E,
99
+ p,
100
100
  L,
101
- r,
102
- T,
103
- l,
104
- n,
105
- x,
106
- i
107
- ]), H = m(() => {
108
- const o = V(P, N), e = le(o);
101
+ c,
102
+ k,
103
+ d,
104
+ a,
105
+ B,
106
+ l
107
+ ]), V = r(() => {
108
+ const o = Z(I, N), e = de(o);
109
109
  if (o.length > 0) {
110
- const d = {
111
- teacher_id: r,
110
+ const m = {
111
+ teacher_id: c,
112
112
  session_list: e
113
113
  };
114
- l(), U(d);
114
+ d(), H(m);
115
115
  } else
116
- n({ id: c }), s("both", p);
116
+ a({ id: i }), s("both", f);
117
117
  }, [
118
- P,
118
+ I,
119
119
  N,
120
- r,
121
- U,
122
- l,
123
- n,
124
120
  c,
121
+ H,
122
+ d,
123
+ a,
124
+ i,
125
125
  s
126
- ]), w = m(() => {
126
+ ]), K = r(() => {
127
127
  const o = {
128
- course_stream: v,
129
- grade: f,
130
- teacher_id: r,
128
+ course_stream: R,
129
+ grade: p,
130
+ teacher_id: c,
131
131
  board: L,
132
- goals: R
132
+ goals: y
133
133
  };
134
- l(), F(o, {
135
- studentId: i
134
+ d(), F(o, {
135
+ studentId: l
136
136
  });
137
137
  }, [
138
138
  L,
139
- l,
140
- R,
141
- f,
139
+ d,
140
+ y,
141
+ p,
142
142
  F,
143
- v,
144
- i,
145
- r
146
- ]), K = m(() => {
147
- const e = { preferences: de(A, [
148
- ...k,
149
- ...y,
143
+ R,
144
+ l,
145
+ c
146
+ ]), b = r(() => {
147
+ const e = { preferences: me(T, [
150
148
  ...D,
151
149
  ...O,
152
- ...G
153
- ]), grade: f }, d = { stream: oe.MATH, studentId: i };
154
- l(), M(e, d);
150
+ ...G,
151
+ ...x,
152
+ ...z
153
+ ]), grade: p }, m = { stream: se.MATH, studentId: l };
154
+ d(), M(e, m);
155
155
  }, [
156
- f,
157
- i,
158
- A,
159
- k,
160
- y,
156
+ p,
157
+ l,
158
+ T,
161
159
  D,
162
160
  O,
163
161
  G,
164
- l,
162
+ x,
163
+ z,
164
+ d,
165
165
  M
166
- ]), g = m(
166
+ ]), W = r(() => {
167
+ !!P.pages.find((e) => e.id === t.LEARNING_LEVEL) ? (a({ id: i }), s("both", f)) : b();
168
+ }, [
169
+ i,
170
+ P,
171
+ a,
172
+ s,
173
+ b
174
+ ]), A = r(
167
175
  (o, e) => {
168
- if (!n) return;
169
- const d = u === t.STUDENT_PROFILE, _ = u === t.LEARNING_PLAN, a = { numberInNameError: !1 };
170
- if ((e === t.CIRCLE_GAME || e === t.CIRCLE_PUZZLE || e === t.CIRCLE_SKILL) && (a.matchmakingId = W(), a.showCircleGameScreen = !0), o === "prev" && (n({
176
+ if (!a) return;
177
+ const m = u === t.STUDENT_PROFILE, h = u === t.LEARNING_PLAN, n = { numberInNameError: !1 };
178
+ if ((e === t.CIRCLE_GAME || e === t.CIRCLE_PUZZLE || e === t.CIRCLE_SKILL) && (n.matchmakingId = j(), n.showCircleGameScreen = !0), o === "prev" && (a({
171
179
  id: e,
172
- ...d && { studentProfile: void 0 },
173
- ..._ && {
180
+ ...m && { studentProfile: void 0 },
181
+ ...h && {
174
182
  chapterId: void 0
175
183
  },
176
- ...a
177
- }), s("both", p)), o === "next")
184
+ ...n
185
+ }), s("both", f)), o === "next")
178
186
  switch (u) {
179
187
  case t.STUDENT_INFORMATION:
180
188
  case t.SCHOOL_GOALS:
181
- B();
189
+ w();
182
190
  break;
183
191
  case t.LEARNING_WORKSHEET:
184
- w();
192
+ K();
185
193
  break;
186
194
  case t.CLASS_PREFERENCE:
187
- H();
195
+ V();
196
+ break;
197
+ case t.STUDENT_INTRO:
198
+ W();
188
199
  break;
189
200
  case t.LEARNING_LEVEL:
190
- K();
201
+ b();
191
202
  break;
192
203
  case t.LEARNING_PLAN:
193
- n({ id: e, chapterId: void 0, ...a });
204
+ a({ id: e, chapterId: void 0, ...n });
194
205
  break;
195
206
  default:
196
- n({ id: e, ...a }), s("both", p);
207
+ a({ id: e, ...n }), s("both", f);
197
208
  }
198
209
  },
199
210
  [
200
- n,
211
+ a,
201
212
  u,
202
213
  s,
203
- B,
204
214
  w,
205
- H,
206
- K
215
+ K,
216
+ V,
217
+ b,
218
+ W
207
219
  ]
208
- ), $ = m(() => {
209
- !I && u === t.LEARNING_WORKSHEET && g("next", c);
210
- }, [u, g, c, I]);
211
- return te(() => {
212
- $();
213
- }, [I]), { handleNavigation: g };
220
+ ), ee = r(() => {
221
+ !C && u === t.LEARNING_WORKSHEET && A("next", i);
222
+ }, [u, A, i, C]);
223
+ return oe(() => {
224
+ ee();
225
+ }, [C]), { handleNavigation: A };
214
226
  };
215
227
  export {
216
- be as useTrialSessionNavigation
228
+ ge as useTrialSessionNavigation
217
229
  };
218
230
  //# sourceMappingURL=use-trial-session-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import { 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 {\n usePostTeacherAvailability,\n type TTeacherAvailabilityResponse,\n} from '../api/teacher-availability';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n getWeekdayAndStartTimeFromPreference,\n} from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\nimport type { ITrialSessionFormFields } from '../trial-session-types';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n handleInfoMessage,\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 personalizedObjectives = [],\n personalizedPosition = [],\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 (currentPageId === TrialPageId.LEARNING_LEVEL) {\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 const onTeacherAvailabilityValidate = useCallback(\n (_: string | null, data?: TTeacherAvailabilityResponse) => {\n const hasNotAvailable = (data ?? []).some(item => !item.is_available);\n\n if (hasNotAvailable) {\n const notAvailable = (data ?? []).filter(item => !item.is_available);\n const reason = notAvailable.map(item => item.reason).join('\\n');\n\n handleInfoMessage?.({ message: reason, position: 'bottom' });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n return;\n }\n\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 patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else updateButtonState('both', DEFAULT_BUTTON_STATE);\n },\n [\n handleInfoMessage,\n patchTrialSession,\n preferences,\n studentId,\n studentTimezone,\n teacherId,\n updateButtonState,\n ],\n );\n\n const { post: postTeacherAvailability } = usePostTeacherAvailability({\n onComplete: onTeacherAvailabilityValidate,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.trim()?.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 const sessionList = getWeekdayAndStartTimeFromPreference(selectedRegularSlots);\n\n if (selectedRegularSlots.length > 0) {\n const availabilityPayload = {\n teacher_id: teacherId,\n session_list: sessionList,\n };\n\n disableNavButtons();\n postTeacherAvailability(availabilityPayload);\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n teacherId,\n postTeacherAvailability,\n disableNavButtons,\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 ...personalizedObjectives,\n ...personalizedPosition,\n ]);\n\n const payload = { preferences: personalizedPreferences, grade };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n grade,\n studentId,\n milestoneConfig,\n personalizedLevel,\n personalizedFocus,\n personalizedBehaviors,\n personalizedObjectives,\n personalizedPosition,\n disableNavButtons,\n postStudentPreferences,\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> = { numberInNameError: false };\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 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","handleInfoMessage","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","personalizedObjectives","personalizedPosition","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","onTeacherAvailabilityValidate","_","data","item","reason","selectedRegularSlots","getFormattedPreferences","postTeacherAvailability","usePostTeacherAvailability","handleStudentInformation","firstName","lastName","_a","payload","handleClassPreferences","sessionList","getWeekdayAndStartTimeFromPreference","availabilityPayload","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 { 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 {\n usePostTeacherAvailability,\n type TTeacherAvailabilityResponse,\n} from '../api/teacher-availability';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n getWeekdayAndStartTimeFromPreference,\n} from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\nimport type { ITrialSessionFormFields } from '../trial-session-types';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n handleInfoMessage,\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 personalizedObjectives = [],\n personalizedPosition = [],\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 (currentPageId === TrialPageId.LEARNING_LEVEL) {\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 const onTeacherAvailabilityValidate = useCallback(\n (_: string | null, data?: TTeacherAvailabilityResponse) => {\n const hasNotAvailable = (data ?? []).some(item => !item.is_available);\n\n if (hasNotAvailable) {\n const notAvailable = (data ?? []).filter(item => !item.is_available);\n const reason = notAvailable.map(item => item.reason).join('\\n');\n\n handleInfoMessage?.({ message: reason, position: 'bottom' });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n return;\n }\n\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 patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else updateButtonState('both', DEFAULT_BUTTON_STATE);\n },\n [\n handleInfoMessage,\n patchTrialSession,\n preferences,\n studentId,\n studentTimezone,\n teacherId,\n updateButtonState,\n ],\n );\n\n const { post: postTeacherAvailability } = usePostTeacherAvailability({\n onComplete: onTeacherAvailabilityValidate,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.trim()?.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 const sessionList = getWeekdayAndStartTimeFromPreference(selectedRegularSlots);\n\n if (selectedRegularSlots.length > 0) {\n const availabilityPayload = {\n teacher_id: teacherId,\n session_list: sessionList,\n };\n\n disableNavButtons();\n postTeacherAvailability(availabilityPayload);\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n teacherId,\n postTeacherAvailability,\n disableNavButtons,\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 ...personalizedObjectives,\n ...personalizedPosition,\n ]);\n\n const payload = { preferences: personalizedPreferences, grade };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n grade,\n studentId,\n milestoneConfig,\n personalizedLevel,\n personalizedFocus,\n personalizedBehaviors,\n personalizedObjectives,\n personalizedPosition,\n disableNavButtons,\n postStudentPreferences,\n ]);\n\n const handleStudentIntroduction = useCallback(() => {\n const isLearningLevelExisted = Boolean(\n trialHomeData.pages.find(page => page.id === TrialPageId.LEARNING_LEVEL),\n );\n\n if (isLearningLevelExisted) {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n } else {\n handleStudentPreferencesPatch();\n }\n }, [\n nextPageId,\n trialHomeData,\n updateSlideConfig,\n updateButtonState,\n handleStudentPreferencesPatch,\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> = { numberInNameError: false };\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.STUDENT_INTRO:\n handleStudentIntroduction();\n break;\n case TrialPageId.LEARNING_LEVEL:\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 handleStudentIntroduction,\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","handleInfoMessage","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","personalizedObjectives","personalizedPosition","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","onTeacherAvailabilityValidate","_","data","item","reason","selectedRegularSlots","getFormattedPreferences","postTeacherAvailability","usePostTeacherAvailability","handleStudentInformation","firstName","lastName","_a","payload","handleClassPreferences","sessionList","getWeekdayAndStartTimeFromPreference","availabilityPayload","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleStudentIntroduction","page","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/features/trial-session/left-panel/index.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport CuemathLogo from '../../../assets/line-icons/icons/cuemath-logo';\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { getTheme } from '../../ui/theme/get-theme';\nimport StudentAVPanel from '../comps/av-panels/student-av-panel/student-av-panel';\nimport TeacherAVPanel from '../comps/av-panels/teacher-av-panel/teacher-av-panel';\nimport Cues from '../comps/cue-tips/cues';\nimport Tips from '../comps/cue-tips/tips';\nimport NavigationBar from '../comps/navigation-bar';\nimport Solutions from '../comps/solutions';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n STUDENT_LEFT_PANEL_MAX_WIDTH,\n TEACHER_LEFT_PANEL_MAX_WIDTH,\n TrialPageId,\n} from '../trial-session-constants';\nimport * as Styled from './left-panel-styled';\nimport ConfirmationModal from '../comps/confirmation-modal/confirmation-modal';\n\nconst LeftPanel: FC = () => {\n const { isTeacher, slideConfig, worksheetNavigationPanel, questionsRatingPanel } =\n useTrialSessionContext();\n const { cues = [], dos = [], donts = [], renderAVIn, id, solutions } = slideConfig || {};\n\n if (!isTeacher && renderAVIn !== 'left') {\n return null;\n }\n\n return (\n <Styled.Container\n $maxWidth={isTeacher ? TEACHER_LEFT_PANEL_MAX_WIDTH : STUDENT_LEFT_PANEL_MAX_WIDTH}\n >\n {renderAVIn === 'left' && (\n <Styled.AVWrapper\n $width=\"100%\"\n $flexDirection={isTeacher ? 'row' : 'column'}\n $gutterX={isTeacher ? 0.25 : 0.5}\n $gapX={isTeacher ? 0.25 : 0.5}\n $flexGapX={isTeacher ? 0.25 : 0.5}\n $background=\"WHITE\"\n >\n {!isTeacher && (\n <FlexView $gutterX={0.5} $gapX={1} $flexRowGapX={0.5}>\n <CuemathLogo width={108} height={16} color={getTheme().colors.BLACK} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n 4.9+ Rating on\n </Text>\n <Image withLoader src={ILLUSTRATIONS.STAR_WITH_GREEN_FILL} width={20} height={20} />\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n Trustpilot\n </Text>\n </FlexView>\n </FlexView>\n )}\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <TeacherAVPanel />\n </FlexView>\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <StudentAVPanel insideLeftPanel />\n </FlexView>\n </Styled.AVWrapper>\n )}\n {isTeacher && (\n <>\n <Styled.ContentWrapper\n $background=\"WHITE_3\"\n $justifyContent={renderAVIn === 'left' ? 'flex-start' : 'center'}\n >\n <FlexView $gutterX={0.75} $gapX={1.5} $flexGapX={1.5}>\n {cues.length > 0 && <Cues cues={cues} />}\n {solutions && solutions.length > 0 && <Solutions solutions={solutions} />}\n {dos.length + donts.length > 0 && <Tips dos={dos} donts={donts} />}\n {id === TrialPageId.LEARNING_WORKSHEET && questionsRatingPanel}\n </FlexView>\n </Styled.ContentWrapper>\n {id === TrialPageId.LEARNING_WORKSHEET && worksheetNavigationPanel ? (\n worksheetNavigationPanel\n ) : (\n <NavigationBar />\n )}\n <ConfirmationModal />\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default LeftPanel;\n"],"names":["LeftPanel","isTeacher","slideConfig","worksheetNavigationPanel","questionsRatingPanel","useTrialSessionContext","cues","dos","donts","renderAVIn","id","solutions","jsxs","Styled.Container","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","Styled.AVWrapper","FlexView","jsx","CuemathLogo","getTheme","Text","Image","ILLUSTRATIONS","TeacherAVPanel","StudentAVPanel","Fragment","Styled.ContentWrapper","Cues","Solutions","Tips","TrialPageId","NavigationBar","ConfirmationModal"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAMA,IAAgB,MAAM;AAC1B,QAAM,EAAE,WAAAC,GAAW,aAAAC,GAAa,0BAAAC,GAA0B,sBAAAC,EAAA,IACxDC,KACI,EAAE,MAAAC,IAAO,CAAA,GAAI,KAAAC,IAAM,CAAC,GAAG,OAAAC,IAAQ,IAAI,YAAAC,GAAY,IAAAC,GAAI,WAAAC,MAAcT,KAAe,CAAA;AAElF,SAAA,CAACD,KAAaQ,MAAe,SACxB,OAIP,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWZ,IAAYa,IAA+BC;AAAA,MAErD,UAAA;AAAA,QAAAN,MAAe,UACd,gBAAAG;AAAA,UAACI;AAAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACP,gBAAgBf,IAAY,QAAQ;AAAA,YACpC,UAAUA,IAAY,OAAO;AAAA,YAC7B,OAAOA,IAAY,OAAO;AAAA,YAC1B,WAAWA,IAAY,OAAO;AAAA,YAC9B,aAAY;AAAA,YAEX,UAAA;AAAA,cAAC,CAAAA,uBACCgB,GAAS,EAAA,UAAU,KAAK,OAAO,GAAG,cAAc,KAC/C,UAAA;AAAA,gBAAC,gBAAAC,EAAAC,GAAA,EAAY,OAAO,KAAK,QAAQ,IAAI,OAAOC,EAAA,EAAW,OAAO,MAAO,CAAA;AAAA,gBACpE,gBAAAR,EAAAK,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,kBAAA,gBAAAC,EAACG,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,kBAAA;AAAA,kBACA,gBAAAH,EAACI,GAAM,EAAA,YAAU,IAAC,KAAKC,EAAc,sBAAsB,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,oCACjFF,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,cAAA;AAAA,gBAAA,GACF;AAAA,cAAA,GACF;AAAA,cAEF,gBAAAH,EAACD,KAAS,QAAQhB,IAAY,oBAAoB,QAChD,UAAA,gBAAAiB,EAACM,KAAe,EAClB,CAAA;AAAA,cACA,gBAAAN,EAACD,GAAS,EAAA,QAAQhB,IAAY,oBAAoB,QAChD,UAAC,gBAAAiB,EAAAO,GAAA,EAAe,iBAAe,GAAA,CAAC,EAClC,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,QAEDxB,KAEG,gBAAAW,EAAAc,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAR;AAAA,YAACS;AAAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,iBAAiBlB,MAAe,SAAS,eAAe;AAAA,cAExD,4BAACQ,GAAS,EAAA,UAAU,MAAM,OAAO,KAAK,WAAW,KAC9C,UAAA;AAAA,gBAAAX,EAAK,SAAS,KAAM,gBAAAY,EAAAU,GAAA,EAAK,MAAAtB,GAAY;AAAA,gBACrCK,KAAaA,EAAU,SAAS,KAAK,gBAAAO,EAACW,KAAU,WAAAlB,GAAsB;AAAA,gBACtEJ,EAAI,SAASC,EAAM,SAAS,KAAM,gBAAAU,EAAAY,GAAA,EAAK,KAAAvB,GAAU,OAAAC,GAAc;AAAA,gBAC/DE,MAAOqB,EAAY,sBAAsB3B;AAAA,cAAA,GAC5C;AAAA,YAAA;AAAA,UACF;AAAA,UACCM,MAAOqB,EAAY,sBAAsB5B,IACxCA,sBAEC6B,GAAc,EAAA;AAAA,4BAEhBC,GAAkB,EAAA;AAAA,QAAA,GACrB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/trial-session/left-panel/index.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport CuemathLogo from '../../../assets/line-icons/icons/cuemath-logo';\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { getTheme } from '../../ui/theme/get-theme';\nimport StudentAVPanel from '../comps/av-panels/student-av-panel/student-av-panel';\nimport TeacherAVPanel from '../comps/av-panels/teacher-av-panel/teacher-av-panel';\nimport Cues from '../comps/cue-tips/cues';\nimport Tips from '../comps/cue-tips/tips';\nimport NavigationBar from '../comps/navigation-bar';\nimport Solutions from '../comps/solutions';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n STUDENT_LEFT_PANEL_MAX_WIDTH,\n TEACHER_LEFT_PANEL_MAX_WIDTH,\n TrialPageId,\n} from '../trial-session-constants';\nimport * as Styled from './left-panel-styled';\nimport ConfirmationModal from '../comps/confirmation-modal/confirmation-modal';\n\nconst LeftPanel: FC = () => {\n const { isTeacher, slideConfig, worksheetNavigationPanel, questionsRatingPanel } =\n useTrialSessionContext();\n const { cues = [], dos = [], donts = [], renderAVIn, id, solutions } = slideConfig || {};\n\n if (!isTeacher && renderAVIn !== 'left') {\n return null;\n }\n\n return (\n <Styled.Container\n $maxWidth={isTeacher ? TEACHER_LEFT_PANEL_MAX_WIDTH : STUDENT_LEFT_PANEL_MAX_WIDTH}\n >\n {renderAVIn === 'left' && (\n <Styled.AVWrapper\n $width=\"100%\"\n $flexDirection={isTeacher ? 'row' : 'column'}\n $gutterX={isTeacher ? 0.25 : 0.5}\n $gapX={isTeacher ? 0.25 : 0.5}\n $flexGapX={isTeacher ? 0.25 : 0.5}\n $background=\"WHITE\"\n >\n {!isTeacher && (\n <FlexView $gutterX={0.5} $gapX={1} $flexRowGapX={0.5}>\n <CuemathLogo width={108} height={16} color={getTheme().colors.BLACK} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n 4.9+ Rating on\n </Text>\n <Image withLoader src={ILLUSTRATIONS.STAR_WITH_GREEN_FILL} width={20} height={20} />\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK_T_60\">\n Trustpilot\n </Text>\n </FlexView>\n </FlexView>\n )}\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <TeacherAVPanel />\n </FlexView>\n <FlexView $width={isTeacher ? 'calc(50% - 2px)' : '100%'}>\n <StudentAVPanel insideLeftPanel />\n </FlexView>\n </Styled.AVWrapper>\n )}\n {isTeacher && (\n <>\n <Styled.ContentWrapper\n $background=\"WHITE_3\"\n $justifyContent={renderAVIn === 'left' ? 'flex-start' : 'center'}\n >\n <FlexView $gutterX={0.75} $gapX={1.5} $flexGapX={1.5}>\n {cues.length > 0 && <Cues cues={cues} />}\n {solutions && solutions.length > 0 && <Solutions solutions={solutions} />}\n {dos.length + donts.length > 0 && <Tips dos={dos} donts={donts} />}\n {id === TrialPageId.LEARNING_WORKSHEET && questionsRatingPanel}\n </FlexView>\n </Styled.ContentWrapper>\n {id === TrialPageId.LEARNING_WORKSHEET && worksheetNavigationPanel ? (\n worksheetNavigationPanel\n ) : (\n <NavigationBar />\n )}\n <ConfirmationModal />\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default LeftPanel;\n"],"names":["LeftPanel","isTeacher","slideConfig","worksheetNavigationPanel","questionsRatingPanel","useTrialSessionContext","cues","dos","donts","renderAVIn","id","solutions","jsxs","Styled.Container","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","Styled.AVWrapper","FlexView","jsx","CuemathLogo","getTheme","Text","Image","ILLUSTRATIONS","TeacherAVPanel","StudentAVPanel","Fragment","Styled.ContentWrapper","Cues","Solutions","Tips","TrialPageId","NavigationBar","ConfirmationModal"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAMA,IAAgB,MAAM;AAC1B,QAAM,EAAE,WAAAC,GAAW,aAAAC,GAAa,0BAAAC,GAA0B,sBAAAC,EAAA,IACxDC,KACI,EAAE,MAAAC,IAAO,CAAA,GAAI,KAAAC,IAAM,CAAC,GAAG,OAAAC,IAAQ,IAAI,YAAAC,GAAY,IAAAC,GAAI,WAAAC,MAAcT,KAAe,CAAA;AAElF,SAAA,CAACD,KAAaQ,MAAe,SACxB,OAIP,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWZ,IAAYa,IAA+BC;AAAA,MAErD,UAAA;AAAA,QAAAN,MAAe,UACd,gBAAAG;AAAA,UAACI;AAAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACP,gBAAgBf,IAAY,QAAQ;AAAA,YACpC,UAAUA,IAAY,OAAO;AAAA,YAC7B,OAAOA,IAAY,OAAO;AAAA,YAC1B,WAAWA,IAAY,OAAO;AAAA,YAC9B,aAAY;AAAA,YAEX,UAAA;AAAA,cAAC,CAAAA,uBACCgB,GAAS,EAAA,UAAU,KAAK,OAAO,GAAG,cAAc,KAC/C,UAAA;AAAA,gBAAC,gBAAAC,EAAAC,GAAA,EAAY,OAAO,KAAK,QAAQ,IAAI,OAAOC,EAAA,EAAW,OAAO,MAAO,CAAA;AAAA,gBACpE,gBAAAR,EAAAK,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,kBAAA,gBAAAC,EAACG,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,kBAAA;AAAA,kBACA,gBAAAH,EAACI,GAAM,EAAA,YAAU,IAAC,KAAKC,EAAc,sBAAsB,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,oCACjFF,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,cAAA;AAAA,gBAAA,GACF;AAAA,cAAA,GACF;AAAA,cAEF,gBAAAH,EAACD,KAAS,QAAQhB,IAAY,oBAAoB,QAChD,UAAA,gBAAAiB,EAACM,KAAe,EAClB,CAAA;AAAA,cACA,gBAAAN,EAACD,GAAS,EAAA,QAAQhB,IAAY,oBAAoB,QAChD,UAAC,gBAAAiB,EAAAO,GAAA,EAAe,iBAAe,GAAA,CAAC,EAClC,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,QAEDxB,KAEG,gBAAAW,EAAAc,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAR;AAAA,YAACS;AAAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,iBAAiBlB,MAAe,SAAS,eAAe;AAAA,cAExD,4BAACQ,GAAS,EAAA,UAAU,MAAM,OAAO,KAAK,WAAW,KAC9C,UAAA;AAAA,gBAAAX,EAAK,SAAS,KAAM,gBAAAY,EAAAU,GAAA,EAAK,MAAAtB,GAAY;AAAA,gBACrCK,KAAaA,EAAU,SAAS,KAAK,gBAAAO,EAACW,KAAU,WAAAlB,GAAsB;AAAA,gBACtEJ,EAAI,SAASC,EAAM,SAAS,KAAM,gBAAAU,EAAAY,GAAA,EAAK,KAAAvB,GAAU,OAAAC,GAAc;AAAA,gBAC/DE,MAAOqB,EAAY,sBAAsB3B;AAAA,cAAA,GAC5C;AAAA,YAAA;AAAA,UACF;AAAA,UACCM,MAAOqB,EAAY,sBAAsB5B,IACxCA,sBAEC6B,GAAc,EAAA;AAAA,4BAEhBC,GAAkB,EAAA;AAAA,QAAA,GACrB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}