@cuemath/leap 3.5.35-link.1 → 3.5.36-as1

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 (28) hide show
  1. package/dist/features/milestone/constants.js +15 -28
  2. package/dist/features/milestone/constants.js.map +1 -1
  3. package/dist/features/milestone/create/milestone-create-helpers.js +42 -43
  4. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  5. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js +15 -15
  6. package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -1
  7. package/dist/features/trial-session/comps/school-goals/school-goals.js +80 -85
  8. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  9. package/dist/features/trial-session/comps/worksheet/worksheet.js +33 -42
  10. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  11. package/dist/features/trial-session/helper.js +66 -69
  12. package/dist/features/trial-session/helper.js.map +1 -1
  13. package/dist/features/trial-session/hooks/use-slide-config-update.js +39 -53
  14. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +1 -1
  15. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +129 -141
  16. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  17. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  18. package/dist/features/trial-session/trial-session-constants.js +9 -16
  19. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  20. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  21. package/dist/features/trial-session/trial-session-view.js +16 -17
  22. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  23. package/dist/features/trial-session/trial-session.js +66 -68
  24. package/dist/features/trial-session/trial-session.js.map +1 -1
  25. package/dist/index.d.ts +0 -3
  26. package/dist/index.js +333 -331
  27. package/dist/index.js.map +1 -1
  28. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
- var e = /* @__PURE__ */ ((E) => (E.WELCOME_CUEMATH = "welcome-cuemath", E.CIRCLE_GAME = "circle-game", E.TEACHER_INTRO = "teacher-intro", E.SESSION_OVERVIEW = "session-overview", E.STUDENT_LEVEL = "student-level", E.STUDENT_INFORMATION = "student-information", E.SCHOOL_GOALS = "school-goals", E.TEST_PREP = "test-prep", E.STUDENT_ENRICHMENT = "student-enrichment", E.STUDENT_PERSONALIZATION = "student-personalization", E.ADDITIONAL_INFO = "additional-info", E.STUDENT_PROFILE = "student-profile", E.STUDENT_INTRO = "student-intro", E.LEARNING_LEVEL = "learning-level", E.LEARNING_WORKSHEET = "learning-worksheet", E.COMPLETED_WORKSHEET = "completed-worksheet", E.WELCOME_BACK = "welcome-back", E.SESSION_INSIGHTS = "session-insights", E.SESSION_REPORT = "session-report", E.LEARNING_PLAN = "learning-plan", E.SESSION_SUMMARY = "session-summary", E.GOAL_DETAILS = "goal-details", E.PARENT_APP = "parent-app", E.CIRCLE_INFORMATION = "circle-information", E.PRICING = "pricing", E.CLASS_PREFERENCE = "class-preference", E.THANK_YOU = "thank-you", E.CIRCLE_PUZZLE = "circle-puzzle", E.CIRCLE_SKILL = "circle-skill", E))(e || {});
2
- const n = [
1
+ var n = /* @__PURE__ */ ((E) => (E.WELCOME_CUEMATH = "welcome-cuemath", E.CIRCLE_GAME = "circle-game", E.TEACHER_INTRO = "teacher-intro", E.SESSION_OVERVIEW = "session-overview", E.STUDENT_LEVEL = "student-level", E.STUDENT_INFORMATION = "student-information", E.SCHOOL_GOALS = "school-goals", E.TEST_PREP = "test-prep", E.STUDENT_ENRICHMENT = "student-enrichment", E.STUDENT_PERSONALIZATION = "student-personalization", E.ADDITIONAL_INFO = "additional-info", E.STUDENT_PROFILE = "student-profile", E.STUDENT_INTRO = "student-intro", E.LEARNING_LEVEL = "learning-level", E.LEARNING_WORKSHEET = "learning-worksheet", E.COMPLETED_WORKSHEET = "completed-worksheet", E.WELCOME_BACK = "welcome-back", E.SESSION_INSIGHTS = "session-insights", E.SESSION_REPORT = "session-report", E.LEARNING_PLAN = "learning-plan", E.SESSION_SUMMARY = "session-summary", E.GOAL_DETAILS = "goal-details", E.PARENT_APP = "parent-app", E.CIRCLE_INFORMATION = "circle-information", E.PRICING = "pricing", E.CLASS_PREFERENCE = "class-preference", E.THANK_YOU = "thank-you", E.CIRCLE_PUZZLE = "circle-puzzle", E.CIRCLE_SKILL = "circle-skill", E))(n || {});
2
+ const s = [
3
3
  "learning-worksheet",
4
4
  "learning-plan",
5
5
  "circle-game",
6
6
  "circle-puzzle",
7
7
  "circle-skill"
8
8
  /* CIRCLE_SKILL */
9
- ], s = [
9
+ ], e = [
10
10
  "learning-worksheet",
11
11
  "circle-game",
12
12
  "learning-plan",
@@ -23,25 +23,18 @@ const n = [
23
23
  ], _ = {
24
24
  left: { isDisabled: !1, isLoading: !1 },
25
25
  right: { isDisabled: !1, isLoading: !1 }
26
- }, N = 928, c = 480, o = 360, A = 64, L = 540, S = "Asia/Calcutta", C = {
27
- "USCC.ALGBRA1": "algebra_i",
28
- "USCC.ALGBRA2": "algebra_ii",
29
- "USCC.GEOMRY": "geometry",
30
- "USCC.PRECAL": "precalculus",
31
- "USCC.CLCULS": "calculus"
32
- };
26
+ }, N = 928, o = 480, c = 360, A = 64, L = 540, S = "Asia/Calcutta";
33
27
  export {
34
- s as ACTIONABLE_COMPONENT_IDS,
28
+ e as ACTIONABLE_COMPONENT_IDS,
35
29
  _ as DEFAULT_BUTTON_STATE,
36
- C as HIGH_ENROLLMENT_PROGRAMS_MAP,
37
30
  L as MINIMUM_SCREEN_HEIGHT,
38
31
  A as NAVIGATION_BAR_HEIGHT,
39
- n as PAGES_WITHOUT_GRID,
32
+ s as PAGES_WITHOUT_GRID,
40
33
  N as RIGHT_PANEL_WIDTH,
41
34
  t as SCROLLABLE_COMPONENT_IDS,
42
- o as STUDENT_LEFT_PANEL_MAX_WIDTH,
43
- c as TEACHER_LEFT_PANEL_MAX_WIDTH,
35
+ c as STUDENT_LEFT_PANEL_MAX_WIDTH,
36
+ o as TEACHER_LEFT_PANEL_MAX_WIDTH,
44
37
  S as TEACHER_TIMEZONE,
45
- e as TrialPageId
38
+ n as TrialPageId
46
39
  };
47
40
  //# sourceMappingURL=trial-session-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-constants.js","sources":["../../../src/features/trial-session/trial-session-constants.ts"],"sourcesContent":["export enum TrialPageId {\n WELCOME_CUEMATH = 'welcome-cuemath',\n CIRCLE_GAME = 'circle-game',\n TEACHER_INTRO = 'teacher-intro',\n SESSION_OVERVIEW = 'session-overview',\n STUDENT_LEVEL = 'student-level',\n STUDENT_INFORMATION = 'student-information',\n SCHOOL_GOALS = 'school-goals',\n TEST_PREP = 'test-prep',\n STUDENT_ENRICHMENT = 'student-enrichment',\n STUDENT_PERSONALIZATION = 'student-personalization',\n ADDITIONAL_INFO = 'additional-info',\n STUDENT_PROFILE = 'student-profile',\n STUDENT_INTRO = 'student-intro',\n LEARNING_LEVEL = 'learning-level',\n LEARNING_WORKSHEET = 'learning-worksheet',\n COMPLETED_WORKSHEET = 'completed-worksheet',\n WELCOME_BACK = 'welcome-back',\n SESSION_INSIGHTS = 'session-insights',\n SESSION_REPORT = 'session-report',\n LEARNING_PLAN = 'learning-plan',\n SESSION_SUMMARY = 'session-summary',\n GOAL_DETAILS = 'goal-details',\n PARENT_APP = 'parent-app',\n CIRCLE_INFORMATION = 'circle-information',\n PRICING = 'pricing',\n CLASS_PREFERENCE = 'class-preference',\n THANK_YOU = 'thank-you',\n CIRCLE_PUZZLE = 'circle-puzzle',\n CIRCLE_SKILL = 'circle-skill',\n}\n\nexport const PAGES_WITHOUT_GRID = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const ACTIONABLE_COMPONENT_IDS = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const SCROLLABLE_COMPONENT_IDS = [\n TrialPageId.PRICING,\n TrialPageId.STUDENT_INTRO,\n TrialPageId.COMPLETED_WORKSHEET,\n TrialPageId.PARENT_APP,\n TrialPageId.GOAL_DETAILS,\n];\n\nexport const DEFAULT_BUTTON_STATE = {\n left: { isDisabled: false, isLoading: false },\n right: { isDisabled: false, isLoading: false },\n};\n\nexport const RIGHT_PANEL_WIDTH = 928;\nexport const TEACHER_LEFT_PANEL_MAX_WIDTH = 480;\nexport const STUDENT_LEFT_PANEL_MAX_WIDTH = 360;\nexport const NAVIGATION_BAR_HEIGHT = 64;\nexport const MINIMUM_SCREEN_HEIGHT = 540;\nexport const TEACHER_TIMEZONE = 'Asia/Calcutta';\n\nexport const HIGH_ENROLLMENT_PROGRAMS_MAP = {\n 'USCC.ALGBRA1': 'algebra_i',\n 'USCC.ALGBRA2': 'algebra_ii',\n 'USCC.GEOMRY': 'geometry',\n 'USCC.PRECAL': 'precalculus',\n 'USCC.CLCULS': 'calculus',\n};\n"],"names":["TrialPageId","PAGES_WITHOUT_GRID","ACTIONABLE_COMPONENT_IDS","SCROLLABLE_COMPONENT_IDS","DEFAULT_BUTTON_STATE","RIGHT_PANEL_WIDTH","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","NAVIGATION_BAR_HEIGHT","MINIMUM_SCREEN_HEIGHT","TEACHER_TIMEZONE","HIGH_ENROLLMENT_PROGRAMS_MAP"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,gBAAgB,iBAChBA,EAAA,mBAAmB,oBACnBA,EAAA,gBAAgB,iBAChBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,YAAY,aACZA,EAAA,qBAAqB,sBACrBA,EAAA,0BAA0B,2BAC1BA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,mBAAmB,oBACnBA,EAAA,iBAAiB,kBACjBA,EAAA,gBAAgB,iBAChBA,EAAA,kBAAkB,mBAClBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,qBAAqB,sBACrBA,EAAA,UAAU,WACVA,EAAA,mBAAmB,oBACnBA,EAAA,YAAY,aACZA,EAAA,gBAAgB,iBAChBA,EAAA,eAAe,gBA7BLA,IAAAA,KAAA,CAAA,CAAA;AAgCL,MAAMC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAAuB;AAAA,EAClC,MAAM,EAAE,YAAY,IAAO,WAAW,GAAM;AAAA,EAC5C,OAAO,EAAE,YAAY,IAAO,WAAW,GAAM;AAC/C,GAEaC,IAAoB,KACpBC,IAA+B,KAC/BC,IAA+B,KAC/BC,IAAwB,IACxBC,IAAwB,KACxBC,IAAmB,iBAEnBC,IAA+B;AAAA,EAC1C,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AACjB;"}
1
+ {"version":3,"file":"trial-session-constants.js","sources":["../../../src/features/trial-session/trial-session-constants.ts"],"sourcesContent":["export enum TrialPageId {\n WELCOME_CUEMATH = 'welcome-cuemath',\n CIRCLE_GAME = 'circle-game',\n TEACHER_INTRO = 'teacher-intro',\n SESSION_OVERVIEW = 'session-overview',\n STUDENT_LEVEL = 'student-level',\n STUDENT_INFORMATION = 'student-information',\n SCHOOL_GOALS = 'school-goals',\n TEST_PREP = 'test-prep',\n STUDENT_ENRICHMENT = 'student-enrichment',\n STUDENT_PERSONALIZATION = 'student-personalization',\n ADDITIONAL_INFO = 'additional-info',\n STUDENT_PROFILE = 'student-profile',\n STUDENT_INTRO = 'student-intro',\n LEARNING_LEVEL = 'learning-level',\n LEARNING_WORKSHEET = 'learning-worksheet',\n COMPLETED_WORKSHEET = 'completed-worksheet',\n WELCOME_BACK = 'welcome-back',\n SESSION_INSIGHTS = 'session-insights',\n SESSION_REPORT = 'session-report',\n LEARNING_PLAN = 'learning-plan',\n SESSION_SUMMARY = 'session-summary',\n GOAL_DETAILS = 'goal-details',\n PARENT_APP = 'parent-app',\n CIRCLE_INFORMATION = 'circle-information',\n PRICING = 'pricing',\n CLASS_PREFERENCE = 'class-preference',\n THANK_YOU = 'thank-you',\n CIRCLE_PUZZLE = 'circle-puzzle',\n CIRCLE_SKILL = 'circle-skill',\n}\n\nexport const PAGES_WITHOUT_GRID = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const ACTIONABLE_COMPONENT_IDS = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const SCROLLABLE_COMPONENT_IDS = [\n TrialPageId.PRICING,\n TrialPageId.STUDENT_INTRO,\n TrialPageId.COMPLETED_WORKSHEET,\n TrialPageId.PARENT_APP,\n TrialPageId.GOAL_DETAILS,\n];\n\nexport const DEFAULT_BUTTON_STATE = {\n left: { isDisabled: false, isLoading: false },\n right: { isDisabled: false, isLoading: false },\n};\n\nexport const RIGHT_PANEL_WIDTH = 928;\nexport const TEACHER_LEFT_PANEL_MAX_WIDTH = 480;\nexport const STUDENT_LEFT_PANEL_MAX_WIDTH = 360;\nexport const NAVIGATION_BAR_HEIGHT = 64;\nexport const MINIMUM_SCREEN_HEIGHT = 540;\nexport const TEACHER_TIMEZONE = 'Asia/Calcutta';\n"],"names":["TrialPageId","PAGES_WITHOUT_GRID","ACTIONABLE_COMPONENT_IDS","SCROLLABLE_COMPONENT_IDS","DEFAULT_BUTTON_STATE","RIGHT_PANEL_WIDTH","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","NAVIGATION_BAR_HEIGHT","MINIMUM_SCREEN_HEIGHT","TEACHER_TIMEZONE"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,gBAAgB,iBAChBA,EAAA,mBAAmB,oBACnBA,EAAA,gBAAgB,iBAChBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,YAAY,aACZA,EAAA,qBAAqB,sBACrBA,EAAA,0BAA0B,2BAC1BA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,mBAAmB,oBACnBA,EAAA,iBAAiB,kBACjBA,EAAA,gBAAgB,iBAChBA,EAAA,kBAAkB,mBAClBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,qBAAqB,sBACrBA,EAAA,UAAU,WACVA,EAAA,mBAAmB,oBACnBA,EAAA,YAAY,aACZA,EAAA,gBAAgB,iBAChBA,EAAA,eAAe,gBA7BLA,IAAAA,KAAA,CAAA,CAAA;AAgCL,MAAMC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAAuB;AAAA,EAClC,MAAM,EAAE,YAAY,IAAO,WAAW,GAAM;AAAA,EAC5C,OAAO,EAAE,YAAY,IAAO,WAAW,GAAM;AAC/C,GAEaC,IAAoB,KACpBC,IAA+B,KAC/BC,IAA+B,KAC/BC,IAAwB,IACxBC,IAAwB,KACxBC,IAAmB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} 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';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\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 = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\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 first_name: string;\n last_name: string;\n teacher_profile_url?: string;\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 showProfileHighlights?: 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 program_code?: string;\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 enrollmentType?: TEnrollmentTypes;\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 personalizedObjectives?: string[];\n personalizedPosition?: 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 confirmationModalActive?: boolean;\n resetAttempt: 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 scheduled_start_time: number;\n course?: string;\n goal_code?: string | null;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\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 classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\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, goal?: 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, goal?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AAiCY,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 { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} 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';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\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 = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\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 first_name: string;\n last_name: string;\n teacher_profile_url?: string;\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 showProfileHighlights?: 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 personalizedObjectives?: string[];\n personalizedPosition?: 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 confirmationModalActive?: boolean;\n resetAttempt: 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 scheduled_start_time: number;\n course?: string;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\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 classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\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":"AAiCY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -14,7 +14,7 @@ const de = z(function(B) {
14
14
  trialGameUrl: I,
15
15
  formData: i,
16
16
  height: G = "100vh",
17
- trialHomeData: t,
17
+ trialHomeData: e,
18
18
  milestoneConfig: m,
19
19
  onFormDataChange: f,
20
20
  worksheet: v,
@@ -34,36 +34,35 @@ const de = z(function(B) {
34
34
  studentTimezone: c,
35
35
  classTimeAlertConfig: M,
36
36
  changeDemoLevel: V
37
- } = B, e = o === "TEACHER", { pages: g = [] } = t, [n, N] = J(i), p = e ? n : i, h = p == null ? void 0 : p.id, $ = S(
37
+ } = B, t = o === "TEACHER", { pages: g = [] } = e, [n, N] = J(i), p = t ? n : i, h = p == null ? void 0 : p.id, $ = S(
38
38
  () => g.find((a) => a.id === h) ?? g[0],
39
39
  [h, g]
40
40
  ), b = S(() => {
41
41
  const a = {
42
- circleConfig: t.circle_trial_game_config,
42
+ circleConfig: e.circle_trial_game_config,
43
43
  playerDetails: {
44
- userId: e ? l : s,
45
- circle_username: t[e ? "teacher" : "student"].circle_username,
46
- user_avatar: t[e ? "teacher" : "student"].user_avatar,
44
+ userId: t ? l : s,
45
+ circle_username: e[t ? "teacher" : "student"].circle_username,
46
+ user_avatar: e[t ? "teacher" : "student"].user_avatar,
47
47
  playerType: o
48
48
  }
49
49
  };
50
- return o === "STUDENT" && (a.playerDetails.grade = t.student.grade), a;
51
- }, [e, s, l, t, o]), r = K((a) => {
50
+ return o === "STUDENT" && (a.playerDetails.grade = e.student.grade), a;
51
+ }, [t, s, l, e, o]), r = K((a) => {
52
52
  N((U) => U ? { ...U, ...a } : a);
53
53
  }, []), { buttonState: j, updateButtonState: k } = X(), { onRenderUpdateSlideConfig: L } = Y({
54
- trialHomeData: t,
54
+ teacherClassroomId: H,
55
55
  milestoneConfig: m,
56
56
  studentTimezone: c,
57
- teacherClassroomId: H,
58
57
  updateSlideConfig: r
59
58
  }), O = S(
60
59
  () => ({
61
60
  teacherPanel: D,
62
61
  studentPanel: T,
63
- isTeacher: e,
62
+ isTeacher: t,
64
63
  slideConfig: $,
65
64
  milestoneConfig: m,
66
- formData: e ? n : i,
65
+ formData: t ? n : i,
67
66
  updateSlideConfig: r,
68
67
  worksheet: v,
69
68
  buttonState: j,
@@ -71,7 +70,7 @@ const de = z(function(B) {
71
70
  studentId: s,
72
71
  teacherId: l,
73
72
  classStartedOn: P,
74
- trialHomeData: t,
73
+ trialHomeData: e,
75
74
  worksheetNavigationPanel: x,
76
75
  questionsRatingPanel: _,
77
76
  onTrialInformationUpdate: E,
@@ -87,7 +86,7 @@ const de = z(function(B) {
87
86
  [
88
87
  D,
89
88
  T,
90
- e,
89
+ t,
91
90
  $,
92
91
  m,
93
92
  n,
@@ -99,7 +98,7 @@ const de = z(function(B) {
99
98
  s,
100
99
  l,
101
100
  P,
102
- t,
101
+ e,
103
102
  x,
104
103
  _,
105
104
  E,
@@ -118,8 +117,8 @@ const de = z(function(B) {
118
117
  }, [f, n]), d(() => {
119
118
  c || u == null || u();
120
119
  }, [h]), d(() => {
121
- e && c && L();
122
- }, [e, L, c]), d(() => {
120
+ t && e && c && L(e);
121
+ }, [t, L, c, e]), d(() => {
123
122
  V && r({ confirmationModalActive: !0 });
124
123
  }, [V, r]), /* @__PURE__ */ C(W.Provider, { value: O, children: /* @__PURE__ */ q(Q, { $height: G, $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
125
124
  /* @__PURE__ */ C(Z, {}),
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport { useSlideConfigUpdate } from './hooks/use-slide-config-update';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(function TrialSessionView(props) {\n const {\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n teacherClassroomId,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n changeDemoLevel,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [] } = trialHomeData;\n\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const { onRenderUpdateSlideConfig } = useSlideConfigUpdate({\n trialHomeData,\n milestoneConfig,\n studentTimezone,\n teacherClassroomId,\n updateSlideConfig,\n });\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n useEffect(() => {\n if (isTeacher && studentTimezone) {\n onRenderUpdateSlideConfig();\n }\n }, [isTeacher, onRenderUpdateSlideConfig, studentTimezone]);\n\n useEffect(() => {\n if (changeDemoLevel) updateSlideConfig({ confirmationModalActive: true });\n }, [changeDemoLevel, updateSlideConfig]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","teacherClassroomId","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","changeDemoLevel","isTeacher","slides","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","onRenderUpdateSlideConfig","useSlideConfigUpdate","contextValue","useEffect","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":"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"}
1
+ {"version":3,"file":"trial-session-view.js","sources":["../../../src/features/trial-session/trial-session-view.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport FlexView from '../ui/layout/flex-view';\nimport type { ITrialCircleGameParams } from './comps/trial-circle-game/trial-circle-game-types';\nimport TrialSessionContext from './context/trial-session-context';\nimport { useButtonStateForLeftPanel } from './hooks/use-left-panel-button-state';\nimport { useSlideConfigUpdate } from './hooks/use-slide-config-update';\nimport LeftPanel from './left-panel';\nimport RightPanel from './right-panel';\nimport type {\n ITrialSessionContext,\n ITrialSessionViewProps,\n ITrialSessionFormFields,\n} from './trial-session-types';\n\nconst TrialSessionView: FC<ITrialSessionViewProps> = memo(function TrialSessionView(props) {\n const {\n userType,\n teacherPanel,\n studentPanel,\n trialGameUrl,\n formData: formDataProps,\n height = '100vh',\n trialHomeData,\n milestoneConfig,\n onFormDataChange,\n worksheet,\n studentId,\n teacherId,\n classStartedOn,\n worksheetNavigationPanel,\n teacherClassroomId,\n questionsRatingPanel,\n studentAbsentInClass,\n openEndClassModal,\n onTrialInformationUpdate,\n onStudentTimezoneUpdate,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n studentTimezone,\n classTimeAlertConfig,\n changeDemoLevel,\n } = props;\n const isTeacher = userType === 'TEACHER';\n const { pages: slides = [] } = trialHomeData;\n\n const [formData, setFormData] = useState<ITrialSessionFormFields | undefined>(formDataProps);\n const formDataToUse = isTeacher ? formData : formDataProps;\n const currentSlideId = formDataToUse?.id;\n\n const currentSlideConfig = useMemo(\n () => slides.find(config => config.id === currentSlideId) ?? slides[0]!,\n [currentSlideId, slides],\n );\n\n const circleGames = useMemo(() => {\n const data = {\n circleConfig: trialHomeData.circle_trial_game_config,\n playerDetails: {\n userId: isTeacher ? teacherId : studentId,\n circle_username: trialHomeData[isTeacher ? 'teacher' : 'student'].circle_username,\n user_avatar: trialHomeData[isTeacher ? 'teacher' : 'student'].user_avatar,\n playerType: userType,\n },\n } as ITrialCircleGameParams;\n\n if (userType === 'STUDENT') {\n data.playerDetails.grade = trialHomeData.student.grade;\n }\n\n return data;\n }, [isTeacher, studentId, teacherId, trialHomeData, userType]);\n\n const updateSlideConfig = useCallback((config: Partial<ITrialSessionFormFields>) => {\n setFormData(previousProps => {\n if (!previousProps) return config as ITrialSessionFormFields;\n\n return { ...previousProps, ...config };\n });\n }, []);\n const { buttonState, updateButtonState } = useButtonStateForLeftPanel();\n\n const { onRenderUpdateSlideConfig } = useSlideConfigUpdate({\n teacherClassroomId,\n milestoneConfig,\n studentTimezone,\n updateSlideConfig,\n });\n\n const contextValue = useMemo<ITrialSessionContext>(\n () => ({\n teacherPanel,\n studentPanel,\n isTeacher,\n slideConfig: currentSlideConfig,\n milestoneConfig,\n formData: isTeacher ? formData : formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n }),\n [\n teacherPanel,\n studentPanel,\n isTeacher,\n currentSlideConfig,\n milestoneConfig,\n formData,\n formDataProps,\n updateSlideConfig,\n worksheet,\n buttonState,\n updateButtonState,\n studentId,\n teacherId,\n classStartedOn,\n trialHomeData,\n worksheetNavigationPanel,\n questionsRatingPanel,\n onTrialInformationUpdate,\n openEndClassModal,\n studentAbsentInClass,\n circleGames,\n trialGameUrl,\n handleInfoMessage,\n onRemoveOptionalSlides,\n classDuration,\n classTimeAlertConfig,\n ],\n );\n\n useEffect(() => {\n if (formData && onFormDataChange) {\n onFormDataChange(formData);\n }\n }, [onFormDataChange, formData]);\n\n useEffect(() => {\n if (!studentTimezone) onStudentTimezoneUpdate?.();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentSlideId]);\n\n useEffect(() => {\n if (isTeacher && trialHomeData && studentTimezone) {\n onRenderUpdateSlideConfig(trialHomeData);\n }\n }, [isTeacher, onRenderUpdateSlideConfig, studentTimezone, trialHomeData]);\n\n useEffect(() => {\n if (changeDemoLevel) updateSlideConfig({ confirmationModalActive: true });\n }, [changeDemoLevel, updateSlideConfig]);\n\n return (\n <TrialSessionContext.Provider value={contextValue}>\n <FlexView $height={height} $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <LeftPanel />\n <RightPanel />\n </FlexView>\n </TrialSessionContext.Provider>\n );\n});\n\nexport default TrialSessionView;\n"],"names":["TrialSessionView","memo","props","userType","teacherPanel","studentPanel","trialGameUrl","formDataProps","height","trialHomeData","milestoneConfig","onFormDataChange","worksheet","studentId","teacherId","classStartedOn","worksheetNavigationPanel","teacherClassroomId","questionsRatingPanel","studentAbsentInClass","openEndClassModal","onTrialInformationUpdate","onStudentTimezoneUpdate","handleInfoMessage","onRemoveOptionalSlides","classDuration","studentTimezone","classTimeAlertConfig","changeDemoLevel","isTeacher","slides","formData","setFormData","useState","formDataToUse","currentSlideId","currentSlideConfig","useMemo","config","circleGames","data","updateSlideConfig","useCallback","previousProps","buttonState","updateButtonState","useButtonStateForLeftPanel","onRenderUpdateSlideConfig","useSlideConfigUpdate","contextValue","useEffect","jsx","TrialSessionContext","jsxs","FlexView","LeftPanel","RightPanel"],"mappings":"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"}
@@ -1,95 +1,93 @@
1
- import { jsx as d } from "react/jsx-runtime";
2
- import { memo as L, useState as N, useCallback as n, useEffect as A } from "react";
3
- import { getTimezone as z } from "../../helpers/date-time.js";
4
- import F from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
5
- import { useGetMileStoneConfig as y } from "../milestone/create/api/milestone-config.js";
6
- import w from "../ui/error/error.js";
7
- import k from "../ui/loader/app-loader/app-loader.js";
8
- import { useGetTrialHome as x } from "./api/trial-home.js";
9
- import { filterAndUpdateSlideNavigation as G } from "./helper.js";
10
- import V from "./trial-session-view.js";
11
- import { USER_TYPE as s } from "../timeline/daily-timeline/daily-timeline-types.js";
12
- const Z = L(function(E) {
13
- const { userType: e, teacherId: g, studentId: S, teacherClassroomId: _, height: u = "100vh" } = E, [l, D] = N(null), [R, H] = N(), {
14
- data: m,
15
- get: p,
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { memo as h, useState as I, useCallback as n, useEffect as p } from "react";
3
+ import { getTimezone as L } from "../../helpers/date-time.js";
4
+ import z from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
5
+ import { useGetMileStoneConfig as F } from "../milestone/create/api/milestone-config.js";
6
+ import y from "../ui/error/error.js";
7
+ import w from "../ui/loader/app-loader/app-loader.js";
8
+ import { useGetTrialHome as k } from "./api/trial-home.js";
9
+ import { filterAndUpdateSlideNavigation as x } from "./helper.js";
10
+ import G from "./trial-session-view.js";
11
+ const V = h(function(f) {
12
+ const { userType: e, teacherId: d, studentId: g, teacherClassroomId: N, height: S = "100vh" } = f, [m, A] = I(null), [D, _] = I(), {
13
+ data: T,
14
+ get: E,
15
+ isProcessing: v,
16
+ isProcessingFailed: H
17
+ } = k(), {
18
+ get: u,
19
+ data: a,
16
20
  isProcessing: P,
17
- isProcessingFailed: v
18
- } = x(), {
19
- get: I,
20
- data: r,
21
- isProcessing: C,
22
- isProcessingFailed: U
23
- } = y(), t = n(() => {
24
- p("trial-v3", {
25
- student_id: S,
26
- teacher_id: g,
21
+ isProcessingFailed: R
22
+ } = F(), t = n(() => {
23
+ E("trial-v3", {
24
+ student_id: g,
25
+ teacher_id: d,
27
26
  viewer: e.toLocaleLowerCase()
28
27
  });
29
- }, [p, S, g, e]), f = n(() => {
30
- t(), I("", {
28
+ }, [E, g, d, e]), l = n(() => {
29
+ t(), u("", {
31
30
  demo_type: "TRIAL_V3"
32
31
  });
33
- }, [t, I]), M = n(
34
- (T) => {
35
- e === s.STUDENT && T.forEach((i) => {
32
+ }, [t, u]), C = n(
33
+ (s) => {
34
+ e === "STUDENT" && s.forEach((i) => {
36
35
  i.eventName === "TRIAL_INFORMATION_UPDATED" && t();
37
- }), e === s.TEACHER && T.forEach((i) => {
36
+ }), e === "TEACHER" && s.forEach((i) => {
38
37
  if (i.eventName === "TRIAL_SESSION_STUDENT_TIMEZONE") {
39
38
  const {
40
- eventPayload: { timezone: c }
39
+ eventPayload: { timezone: O }
41
40
  } = i;
42
- H(c);
41
+ _(O);
43
42
  }
44
43
  });
45
44
  },
46
45
  [t, e]
47
- ), { publish: o } = F({
48
- teacherClassroomId: _,
49
- onMessageReceive: M
50
- }), O = n(() => {
51
- t(), e === s.TEACHER && (o == null || o({
46
+ ), { publish: o } = z({
47
+ teacherClassroomId: N,
48
+ onMessageReceive: C
49
+ }), M = n(() => {
50
+ t(), e === "TEACHER" && (o == null || o({
52
51
  eventName: "TRIAL_INFORMATION_UPDATED"
53
52
  }));
54
- }, [t, o, e]), h = n(() => {
55
- e === s.STUDENT && (o == null || o({
53
+ }, [t, o, e]), U = n(() => {
54
+ e === "STUDENT" && (o == null || o({
56
55
  eventName: "TRIAL_SESSION_STUDENT_TIMEZONE",
57
- eventPayload: { timezone: z() }
56
+ eventPayload: { timezone: L() }
58
57
  }));
59
58
  }, [o, e]);
60
- A(() => {
61
- f();
62
- }, [f]);
63
- const a = n(
64
- (T, i) => {
65
- if (m && r) {
66
- const c = e === s.TEACHER ? G({
67
- milestoneConfigData: r,
68
- trialHomeData: m,
69
- grade: T,
70
- goal: i
71
- }) : m;
72
- D(c);
59
+ p(() => {
60
+ l();
61
+ }, [l]);
62
+ const r = n(
63
+ (s) => {
64
+ if (T && a) {
65
+ const i = x({
66
+ milestoneConfigData: a,
67
+ trialHomeData: T,
68
+ grade: s
69
+ });
70
+ A(i);
73
71
  }
74
72
  },
75
- [r, m, e]
73
+ [a, T]
76
74
  );
77
- return A(() => {
78
- a == null || a();
79
- }, [a]), P && !l || C ? /* @__PURE__ */ d(k, { height: u }) : v || U ? /* @__PURE__ */ d(w, { height: u, onTryAgain: f }) : l && r ? /* @__PURE__ */ d(
80
- V,
75
+ return p(() => {
76
+ r == null || r();
77
+ }, [r]), v && !m || P ? /* @__PURE__ */ c(w, { height: S }) : H || R ? /* @__PURE__ */ c(y, { height: S, onTryAgain: l }) : m && a ? /* @__PURE__ */ c(
78
+ G,
81
79
  {
82
- ...E,
83
- onTrialInformationUpdate: O,
84
- onStudentTimezoneUpdate: h,
85
- trialHomeData: l,
86
- milestoneConfig: r,
87
- onRemoveOptionalSlides: a,
88
- studentTimezone: R
80
+ ...f,
81
+ onTrialInformationUpdate: M,
82
+ onStudentTimezoneUpdate: U,
83
+ trialHomeData: m,
84
+ milestoneConfig: a,
85
+ onRemoveOptionalSlides: r,
86
+ studentTimezone: D
89
87
  }
90
88
  ) : null;
91
- }), oe = Z;
89
+ }), b = V;
92
90
  export {
93
- oe as default
91
+ b as default
94
92
  };
95
93
  //# sourceMappingURL=trial-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\nimport { USER_TYPE } from '../timeline/daily-timeline/daily-timeline-types';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type: 'TRIAL_V3',\n });\n }, [fetchTrialHome, getMilestoneConfig]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === USER_TYPE.STUDENT) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === USER_TYPE.TEACHER) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === USER_TYPE.TEACHER) {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === USER_TYPE.STUDENT) {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string, goal?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData =\n userType === USER_TYPE.TEACHER\n ? filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n grade,\n goal,\n })\n : trialHomeResponse;\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse, userType],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","fetchTrialHome","useCallback","fetchData","handleMessageReceive","messages","USER_TYPE","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","goal","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":"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"}
1
+ {"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n getMilestoneConfig('', {\n demo_type: 'TRIAL_V3',\n });\n }, [fetchTrialHome, getMilestoneConfig]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === 'STUDENT') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === 'TEACHER') {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === 'TEACHER') {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === 'STUDENT') {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData = filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n grade,\n });\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","fetchTrialHome","useCallback","fetchData","handleMessageReceive","messages","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4428,7 +4428,6 @@ export declare interface ITrialSessionFormFields {
4428
4428
  summaryFetched?: boolean;
4429
4429
  summaryFetchFailed?: boolean;
4430
4430
  };
4431
- enrollmentType?: TEnrollmentTypes;
4432
4431
  userNodeId?: string;
4433
4432
  nodeId?: string;
4434
4433
  nodeType?: TNodeTypes;
@@ -6278,7 +6277,6 @@ declare interface TGoals {
6278
6277
  goal_category?: string;
6279
6278
  milestone_name?: string;
6280
6279
  publish?: boolean;
6281
- program_code?: string;
6282
6280
  }
6283
6281
 
6284
6282
  declare type TGoalShareMessage = Record<'default', {
@@ -6833,7 +6831,6 @@ export declare type TMilestoneConfigOption = {
6833
6831
  lottie?: keyof typeof LOTTIE;
6834
6832
  extendedDescription?: string;
6835
6833
  category?: TPreferenceCategory;
6836
- programCode?: string;
6837
6834
  };
6838
6835
 
6839
6836
  declare type TMilestoneDeleteProps = {