@cuemath/leap 4.1.1-beta.5 → 4.1.1-gg2

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 (17) hide show
  1. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -1
  2. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +97 -113
  3. package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -1
  4. package/dist/features/trial-session/comps/learning-plan/index.js +25 -27
  5. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  6. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +11 -11
  7. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  8. package/dist/index.d.ts +0 -2
  9. package/package.json +1 -1
  10. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js +0 -16
  11. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js.map +0 -1
  12. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js +0 -56
  13. package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js.map +0 -1
  14. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js +0 -22
  15. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js.map +0 -1
  16. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js +0 -14
  17. package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ptm-report-types.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report-types.ts"],"sourcesContent":["// ============================\n// SHARED INTERFACES\n// ============================\n\nexport interface IIntroSlide {\n color: string;\n content: string;\n section_name: string;\n type: string;\n}\n\nexport interface IStrategyOption {\n option_info: string;\n option_label: string;\n}\n\nexport interface IStrategyCategory {\n category_label: string;\n icon: string;\n options: IStrategyOption[];\n}\n\n// ============================\n// CONFIG INTERFACES\n// ============================\n\nexport interface ILearningStrategyConfig {\n intro_slide: IIntroSlide;\n learning_strategy_cta: string;\n max: number;\n min: number;\n page_heading: string;\n page_subheading: string;\n show_key_need?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n strategies: {\n advanced_math: IStrategyCategory;\n learning_gaps: IStrategyCategory;\n math_anxiety: IStrategyCategory;\n math_foundation: IStrategyCategory;\n mental_math: IStrategyCategory;\n more_practice: IStrategyCategory;\n };\n}\n\nexport interface IParentSupportOptionConfig {\n icon: string;\n option_cta: string | null;\n option_info: string;\n option_key: string;\n option_label: string;\n report_statement: string;\n slides_ratio: string;\n slides_tag: string;\n}\n\nexport interface IParentSupportConfig {\n intro_slide: IIntroSlide;\n options: IParentSupportOptionConfig[];\n page_heading: string;\n page_subheading: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IRealWorldProjectConfig {\n intro_slide: IIntroSlide;\n max: number;\n page_heading: string;\n ptm_report_color?: {\n images: string[];\n objective: string;\n remarks: string;\n };\n remarks_heading: string;\n remarks_placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n tag: string;\n}\n\nexport interface ISchoolSupportArea {\n area_label?: string;\n optional: boolean;\n options?: string[];\n placeholder?: string;\n question: string;\n report_statement: string | string[];\n report_statement_with_performance?: string[];\n report_statement_with_previous_performance?: string[];\n type: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportTestHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportSubsectionsConfig {\n homework_help: ISchoolSupportHomeworkHelpConfig;\n test_help: ISchoolSupportTestHelpConfig;\n}\n\nexport interface ISchoolSupportConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ISchoolSupportSubsectionsConfig;\n}\n\nexport interface IObservationAreaConfig {\n area_key: string;\n area_label: string;\n icon: string;\n report_statement: string;\n}\n\nexport interface IFocusAreaConfig {\n areas: IObservationAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n report_tag: string;\n}\n\nexport interface IStrengthOptionConfig {\n option_label: string;\n report_statement: string;\n report_tag: string;\n}\n\nexport interface IStrengthAreaConfig extends IObservationAreaConfig {\n options: IStrengthOptionConfig[];\n}\n\nexport interface IStrengthsConfig {\n areas: IStrengthAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n}\n\nexport interface ITeacherRemarksConfig {\n area_label: string;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n report_tag: string;\n}\n\nexport interface ITeacherObservationSubsectionsConfig {\n focus_area: IFocusAreaConfig;\n strengths: IStrengthsConfig;\n teacher_remarks: ITeacherRemarksConfig;\n}\n\nexport interface ITeacherObservationConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ITeacherObservationSubsectionsConfig;\n}\n\nexport interface IUpcomingChaptersConfig {\n area_label: string;\n intro_slide: IIntroSlide;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IPTMReportSectionsConfig {\n learning_strategy: ILearningStrategyConfig;\n parent_support: IParentSupportConfig;\n real_world_project?: IRealWorldProjectConfig;\n school_support?: ISchoolSupportConfig;\n teacher_observation: ITeacherObservationConfig;\n upcoming_chapters?: IUpcomingChaptersConfig;\n}\n\n// ============================\n// REPORT INTERFACES (actual report data)\n// ============================\n\nexport interface IReportStrategies {\n advanced_math?: number[];\n learning_gaps?: number[];\n math_anxiety?: number[];\n math_foundation?: number[];\n mental_math?: number[];\n more_practice?: number[];\n}\n\nexport interface IReportTeacherObservation {\n focus_area: string;\n strengths: Record<string, number>;\n teacher_remarks: string;\n}\n\nexport interface IRealWorldProjectReport {\n images?: number[];\n observation: string;\n}\n\nexport interface IUpcomingChaptersReport {\n upcoming_chapters: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpReport {\n is_hw_help_provided: number;\n selected: number[];\n topics: string;\n}\n\nexport interface ISchoolSupportTestHelpReport {\n performance: {\n scored: string;\n total: string;\n grade: string;\n };\n previous_performance: {\n scored: string;\n total: string;\n grade: string;\n };\n selected: number[];\n}\n\nexport interface ISchoolSupportReport {\n homework_help: ISchoolSupportHomeworkHelpReport;\n test_help: ISchoolSupportTestHelpReport;\n}\n\nexport interface IReportSections {\n parent_support: number[];\n strategies: IReportStrategies;\n teacher_observation: IReportTeacherObservation;\n real_world_project?: IRealWorldProjectReport;\n upcoming_chapters?: IUpcomingChaptersReport;\n school_support?: ISchoolSupportReport;\n}\n\n// ============================\n// STUDENT & TEACHER DATA\n// ============================\n\nexport interface IAttendanceData {\n classes_completed: number;\n weeks_completed: number;\n}\n\nexport interface IHomeworkData {\n incomplete_sheets: number | null;\n sheets_assigned: number;\n sheets_not_completed: number;\n}\n\nexport interface IKeyNeed {\n created_by_id?: string;\n evidence_of_key_need?: string;\n is_published?: boolean;\n is_seen_by_teacher?: boolean;\n key_need: string;\n last_modified_by?: string;\n measure_of_success: string;\n strategies?: any[];\n timestamp?: number;\n}\n\nexport interface ILateClassData {\n break_time: number;\n date: number;\n enter_datetime: number;\n id: string;\n is_invalid: boolean;\n is_skipped: boolean;\n perfect_hit: number;\n scheduled_duration_minutes: number;\n scheduled_end_time: number;\n scheduled_start_datetime: number;\n scheduled_start_time: number;\n status: string;\n student_course_id: string;\n student_id: string;\n tag: string;\n teacher_classroom_id: string;\n was_late: boolean;\n}\n\nexport interface IRealWorldProjectInfo {\n activity: string;\n attempt_id?: string;\n objective: string;\n image_upload_urls?: string[];\n}\n\nexport interface IStudentData {\n attendance_data: IAttendanceData;\n key_need: IKeyNeed;\n country: string;\n country_code: string;\n first_name: string;\n gender: string;\n grade: string;\n homework_data: IHomeworkData;\n last_name: string;\n name: string;\n parent_name: string;\n phone: string;\n plus_class_streak: number;\n real_world_project?: IRealWorldProjectInfo;\n late_class_data: ILateClassData[];\n student_service_id: string;\n}\n\nexport interface ITeacherData {\n email: string;\n first_name: string;\n gender: string;\n last_name: string;\n name: string;\n phone: string;\n}\n\nexport interface IPTMReport {\n report_sections: IReportSections;\n state: string;\n student_data: IStudentData;\n teacher_data: ITeacherData;\n}\n\n// ============================\n// PTM CONFIG INTERFACES\n// ============================\n\nexport interface IDefaultKeyNeed {\n key_need: string;\n measure_of_success: string;\n}\n\nexport interface IFeedbackConfig {\n questions: string[];\n}\n\nexport interface IPTMSchedulingConfig {\n colatteral_image_link: string;\n colatteral_text: string;\n cta_label: string;\n cta_label_share_report?: string;\n cta_text: string;\n cta_text_share_report?: string;\n optional?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface ISlidesConfigBullet {\n content: string;\n title?: string;\n}\n\nexport interface ISlidesConfig {\n qna?: {\n content: string;\n header: string;\n type: string;\n };\n thankyou: {\n bullets?: ISlidesConfigBullet[];\n content?: string;\n header: string;\n subheader?: string;\n type: string;\n };\n welcome: {\n bullets: ISlidesConfigBullet[];\n header: string;\n type: string;\n };\n}\n\nexport interface IPTMConfigDetails {\n default_key_need: IDefaultKeyNeed;\n feedback_config: IFeedbackConfig;\n late_if_minutes: number;\n late_if_seconds: number;\n ptm_expiry_days: number;\n ptm_report_sections: IPTMReportSectionsConfig;\n ptm_scheduling: IPTMSchedulingConfig;\n report_color_config: Record<string, string>;\n slides_config: ISlidesConfig;\n}\n\nexport interface IPTMConfig {\n config: IPTMConfigDetails;\n created_on_ts: number;\n id: string;\n is_active: boolean;\n meta: null;\n ptm_type: string;\n updated_on_ts: number;\n version: number;\n}\n\n// ============================\n// MAIN PTM RESPONSE INTERFACE\n// ============================\n\nexport interface IPTMReportResponse {\n created_on_ts: number;\n due_date: number;\n id: string;\n is_moment_ptm: boolean;\n meta: {\n student_classroom_id: string;\n student_course_id: string;\n parent_feedback_given?: boolean;\n };\n opportunity_action_id: string | null;\n ptm_config: IPTMConfig;\n ptm_config_id: string;\n ptm_id: string;\n ptm_platform: string | null;\n ptm_state: string;\n ptm_type: string;\n report: IPTMReport;\n reschedule_reason: string | null;\n scheduled_on: number;\n student_classroom_id: string;\n student_course_id: string;\n student_id: string;\n teacher_classroom_id: string;\n teacher_id: string;\n updated_on_ts: number;\n is_feedback_submitted?: boolean;\n}\n\n// ============================\n// UTILITY INTERFACES & ENUMS\n// ============================\n\nexport interface IPTMReportProps {\n ptmId: string;\n onAPIComplete?: (success: boolean) => void;\n onFeedback?: (feedbackType: 'positive' | 'negative', ptmId: string, teacherName: string) => void;\n showFeedback?: boolean;\n}\n\nexport enum EPTMTypes {\n ON_DEMAND = 'ON_DEMAND',\n PLUS_CLASS_7 = 'PLUS_CLASS_7',\n}\n"],"names":["EPTMTypes"],"mappings":"AAqdY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,eAAe,gBAFLA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"ptm-report-types.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report-types.ts"],"sourcesContent":["// ============================\n// SHARED INTERFACES\n// ============================\n\nexport interface IIntroSlide {\n color: string;\n content: string;\n section_name: string;\n type: string;\n}\n\nexport interface IStrategyOption {\n option_info: string;\n option_label: string;\n}\n\nexport interface IStrategyCategory {\n category_label: string;\n icon: string;\n options: IStrategyOption[];\n}\n\n// ============================\n// CONFIG INTERFACES\n// ============================\n\nexport interface ILearningStrategyConfig {\n intro_slide: IIntroSlide;\n learning_strategy_cta: string;\n max: number;\n min: number;\n page_heading: string;\n page_subheading: string;\n show_key_need?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n strategies: {\n advanced_math: IStrategyCategory;\n learning_gaps: IStrategyCategory;\n math_anxiety: IStrategyCategory;\n math_foundation: IStrategyCategory;\n mental_math: IStrategyCategory;\n more_practice: IStrategyCategory;\n };\n}\n\nexport interface IParentSupportOptionConfig {\n icon: string;\n option_cta: string | null;\n option_info: string;\n option_key: string;\n option_label: string;\n report_statement: string;\n slides_ratio: string;\n slides_tag: string;\n}\n\nexport interface IParentSupportConfig {\n intro_slide: IIntroSlide;\n options: IParentSupportOptionConfig[];\n page_heading: string;\n page_subheading: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IRealWorldProjectConfig {\n intro_slide: IIntroSlide;\n max: number;\n page_heading: string;\n ptm_report_color?: {\n images: string[];\n objective: string;\n remarks: string;\n };\n remarks_heading: string;\n remarks_placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n tag: string;\n}\n\nexport interface ISchoolSupportArea {\n area_label?: string;\n optional: boolean;\n options?: string[];\n placeholder?: string;\n question: string;\n report_statement: string | string[];\n report_statement_with_performance?: string[];\n report_statement_with_previous_performance?: string[];\n type: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportTestHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportSubsectionsConfig {\n homework_help: ISchoolSupportHomeworkHelpConfig;\n test_help: ISchoolSupportTestHelpConfig;\n}\n\nexport interface ISchoolSupportConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ISchoolSupportSubsectionsConfig;\n}\n\nexport interface IObservationAreaConfig {\n area_key: string;\n area_label: string;\n icon: string;\n report_statement: string;\n}\n\nexport interface IFocusAreaConfig {\n areas: IObservationAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n report_tag: string;\n}\n\nexport interface IStrengthOptionConfig {\n option_label: string;\n report_statement: string;\n report_tag: string;\n}\n\nexport interface IStrengthAreaConfig extends IObservationAreaConfig {\n options: IStrengthOptionConfig[];\n}\n\nexport interface IStrengthsConfig {\n areas: IStrengthAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n}\n\nexport interface ITeacherRemarksConfig {\n area_label: string;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n report_tag: string;\n}\n\nexport interface ITeacherObservationSubsectionsConfig {\n focus_area: IFocusAreaConfig;\n strengths: IStrengthsConfig;\n teacher_remarks: ITeacherRemarksConfig;\n}\n\nexport interface ITeacherObservationConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ITeacherObservationSubsectionsConfig;\n}\n\nexport interface IUpcomingChaptersConfig {\n area_label: string;\n intro_slide: IIntroSlide;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IPTMReportSectionsConfig {\n learning_strategy: ILearningStrategyConfig;\n parent_support: IParentSupportConfig;\n real_world_project?: IRealWorldProjectConfig;\n school_support?: ISchoolSupportConfig;\n teacher_observation: ITeacherObservationConfig;\n upcoming_chapters?: IUpcomingChaptersConfig;\n}\n\n// ============================\n// REPORT INTERFACES (actual report data)\n// ============================\n\nexport interface IReportStrategies {\n advanced_math?: number[];\n learning_gaps?: number[];\n math_anxiety?: number[];\n math_foundation?: number[];\n mental_math?: number[];\n more_practice?: number[];\n}\n\nexport interface IReportTeacherObservation {\n focus_area: string;\n strengths: Record<string, number>;\n teacher_remarks: string;\n}\n\nexport interface IRealWorldProjectReport {\n images?: number[];\n observation: string;\n}\n\nexport interface IUpcomingChaptersReport {\n upcoming_chapters: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpReport {\n is_hw_help_provided: number;\n selected: number[];\n topics: string;\n}\n\nexport interface ISchoolSupportTestHelpReport {\n performance: {\n scored: string;\n total: string;\n grade: string;\n };\n previous_performance: {\n scored: string;\n total: string;\n grade: string;\n };\n selected: number[];\n}\n\nexport interface ISchoolSupportReport {\n homework_help: ISchoolSupportHomeworkHelpReport;\n test_help: ISchoolSupportTestHelpReport;\n}\n\nexport interface IReportSections {\n parent_support: number[];\n strategies: IReportStrategies;\n teacher_observation: IReportTeacherObservation;\n real_world_project?: IRealWorldProjectReport;\n upcoming_chapters?: IUpcomingChaptersReport;\n school_support?: ISchoolSupportReport;\n}\n\n// ============================\n// STUDENT & TEACHER DATA\n// ============================\n\nexport interface IAttendanceData {\n classes_completed: number;\n weeks_completed: number;\n}\n\nexport interface IHomeworkData {\n incomplete_sheets: number | null;\n sheets_assigned: number;\n sheets_not_completed: number;\n}\n\nexport interface IKeyNeed {\n created_by_id?: string;\n evidence_of_key_need?: string;\n is_published?: boolean;\n is_seen_by_teacher?: boolean;\n key_need: string;\n last_modified_by?: string;\n measure_of_success: string;\n strategies?: any[];\n timestamp?: number;\n}\n\nexport interface ILateClassData {\n break_time: number;\n date: number;\n enter_datetime: number;\n id: string;\n is_invalid: boolean;\n is_skipped: boolean;\n perfect_hit: number;\n scheduled_duration_minutes: number;\n scheduled_end_time: number;\n scheduled_start_datetime: number;\n scheduled_start_time: number;\n status: string;\n student_course_id: string;\n student_id: string;\n tag: string;\n teacher_classroom_id: string;\n was_late: boolean;\n}\n\nexport interface IRealWorldProjectInfo {\n activity: string;\n attempt_id?: string;\n objective: string;\n image_upload_urls?: string[];\n}\n\nexport interface IStudentData {\n attendance_data: IAttendanceData;\n key_need: IKeyNeed;\n country: string;\n country_code: string;\n first_name: string;\n gender: string;\n grade: string;\n homework_data: IHomeworkData;\n last_name: string;\n name: string;\n parent_name: string;\n phone: string;\n plus_class_streak: number;\n real_world_project?: IRealWorldProjectInfo;\n late_class_data: ILateClassData[];\n student_service_id: string;\n}\n\nexport interface ITeacherData {\n email: string;\n first_name: string;\n gender: string;\n last_name: string;\n name: string;\n phone: string;\n}\n\nexport interface IPTMReport {\n report_sections: IReportSections;\n state: string;\n student_data: IStudentData;\n teacher_data: ITeacherData;\n}\n\n// ============================\n// PTM CONFIG INTERFACES\n// ============================\n\nexport interface IDefaultKeyNeed {\n key_need: string;\n measure_of_success: string;\n}\n\nexport interface IFeedbackConfig {\n questions: string[];\n}\n\nexport interface IPTMSchedulingConfig {\n colatteral_image_link: string;\n colatteral_text: string;\n cta_label: string;\n cta_label_share_report?: string;\n cta_text: string;\n cta_text_share_report?: string;\n optional?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface ISlidesConfigBullet {\n content: string;\n title?: string;\n}\n\nexport interface ISlidesConfig {\n qna?: {\n content: string;\n header: string;\n type: string;\n };\n thankyou: {\n bullets?: ISlidesConfigBullet[];\n content?: string;\n header: string;\n subheader?: string;\n type: string;\n };\n welcome: {\n bullets: ISlidesConfigBullet[];\n header: string;\n type: string;\n };\n}\n\nexport interface IPTMConfigDetails {\n default_key_need: IDefaultKeyNeed;\n feedback_config: IFeedbackConfig;\n late_if_minutes: number;\n late_if_seconds: number;\n ptm_expiry_days: number;\n ptm_report_sections: IPTMReportSectionsConfig;\n ptm_scheduling: IPTMSchedulingConfig;\n report_color_config: Record<string, string>;\n slides_config: ISlidesConfig;\n}\n\nexport interface IPTMConfig {\n config: IPTMConfigDetails;\n created_on_ts: number;\n id: string;\n is_active: boolean;\n meta: null;\n ptm_type: string;\n updated_on_ts: number;\n version: number;\n}\n\n// ============================\n// MAIN PTM RESPONSE INTERFACE\n// ============================\n\nexport interface IPTMReportResponse {\n created_on_ts: number;\n due_date: number;\n id: string;\n is_moment_ptm: boolean;\n meta: {\n student_classroom_id: string;\n student_course_id: string;\n };\n opportunity_action_id: string | null;\n ptm_config: IPTMConfig;\n ptm_config_id: string;\n ptm_id: string;\n ptm_platform: string | null;\n ptm_state: string;\n ptm_type: string;\n report: IPTMReport;\n reschedule_reason: string | null;\n scheduled_on: number;\n student_classroom_id: string;\n student_course_id: string;\n student_id: string;\n teacher_classroom_id: string;\n teacher_id: string;\n updated_on_ts: number;\n}\n\n// ============================\n// UTILITY INTERFACES & ENUMS\n// ============================\n\nexport interface IPTMReportProps {\n ptmId: string;\n onAPIComplete?: (success: boolean) => void;\n}\n\nexport enum EPTMTypes {\n ON_DEMAND = 'ON_DEMAND',\n PLUS_CLASS_7 = 'PLUS_CLASS_7',\n}\n"],"names":["EPTMTypes"],"mappings":"AAidY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,eAAe,gBAFLA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,132 +1,116 @@
1
- import { jsx as e, jsxs as n, Fragment as S } from "react/jsx-runtime";
2
- import { memo as ye, useState as Me, useCallback as l, useEffect as _ } from "react";
3
- import { usePTMReportGet as Pe } from "./api/use-ptm-report-get.js";
4
- import { EPTMTypes as Ne } from "./ptm-report-types.js";
5
- import De from "../../../ui/loader/app-loader/app-loader.js";
6
- import Ae from "./comps/student-info/student-info.js";
7
- import { Container as Oe } from "./ptm-report-styled.js";
8
- import ve from "./comps/key-need/key-need.js";
9
- import Fe from "../../../ui/layout/flex-view.js";
10
- import je from "./comps/teacher-observations/teacher-observations.js";
11
- import Ee from "./comps/strategies/strategies.js";
12
- import xe from "./comps/parent-support/parent-support.js";
13
- import Ge from "./comps/upcoming-chapters/upcoming-chapters.js";
14
- import Ue from "./comps/real-world-projects/real-world-projects.js";
15
- import He from "./comps/school-support/school-support.js";
16
- import We from "../../../ui/error/error.js";
17
- import $e from "./comps/sticky-footer/sticky-footer.js";
18
- import Xe from "../../../ui/separator/separator.js";
19
- import { IS_APP_RUNNING_IN_RN as Ke } from "../../../../constants/app-config.js";
20
- const Le = ({ ptmId: t, onAPIComplete: s, onFeedback: c }) => {
21
- const [o, T] = Me(null), {
22
- get: u,
23
- data: p,
24
- isProcessing: b,
25
- isProcessed: i,
26
- isProcessingFailed: a
27
- } = Pe(t), { report: w, meta: y } = p || {}, { parent_feedback_given: M } = y || {}, { teacher_data: P } = w || {}, { name: k, gender: N } = P || {}, R = N === "FEMALE" ? "Ma'am" : "Sir", D = l((r) => {
28
- T(r);
29
- }, []), C = l(() => {
30
- if (c && o) {
31
- const r = `${k} ${R}`;
32
- c(o, t, r);
33
- }
34
- }, [o, t, c, k, R]), m = l(() => {
35
- u(t);
36
- }, [u, t]);
37
- if (_(() => {
38
- m();
39
- }, [m]), _(() => {
40
- (i || a) && (s == null || s(i && !a));
41
- }, [i, a, s]), _(() => {
42
- o && C();
43
- }, [o, C]), b || !p)
44
- return /* @__PURE__ */ e(De, { height: "100dvh" });
45
- if (a)
46
- return /* @__PURE__ */ e(We, { onTryAgain: m, height: "100dvh" });
47
- const { ptm_config: A, report: O } = p || {}, { ptm_type: h, config: v } = A || {}, { ptm_report_sections: F, late_if_minutes: j } = v || {}, {
48
- teacher_observation: E,
49
- learning_strategy: x,
1
+ import { jsx as e, jsxs as i, Fragment as ge } from "react/jsx-runtime";
2
+ import { memo as he, useCallback as fe, useEffect as f } from "react";
3
+ import { usePTMReportGet as le } from "./api/use-ptm-report-get.js";
4
+ import { EPTMTypes as de } from "./ptm-report-types.js";
5
+ import _e from "../../../ui/loader/app-loader/app-loader.js";
6
+ import ue from "./comps/student-info/student-info.js";
7
+ import { Container as Re } from "./ptm-report-styled.js";
8
+ import Ce from "./comps/key-need/key-need.js";
9
+ import ke from "../../../ui/layout/flex-view.js";
10
+ import Te from "./comps/teacher-observations/teacher-observations.js";
11
+ import Se from "./comps/strategies/strategies.js";
12
+ import we from "./comps/parent-support/parent-support.js";
13
+ import ye from "./comps/upcoming-chapters/upcoming-chapters.js";
14
+ import Me from "./comps/real-world-projects/real-world-projects.js";
15
+ import Pe from "./comps/school-support/school-support.js";
16
+ import be from "../../../ui/error/error.js";
17
+ const De = ({ ptmId: r, onAPIComplete: t }) => {
18
+ const {
19
+ get: m,
20
+ data: g,
21
+ isProcessing: l,
22
+ isProcessed: s,
23
+ isProcessingFailed: o
24
+ } = le(r), a = fe(() => {
25
+ m(r);
26
+ }, [m, r]);
27
+ if (f(() => {
28
+ a();
29
+ }, [a]), f(() => {
30
+ (s || o) && (t == null || t(s && !o));
31
+ }, [s, o, t]), l || !g)
32
+ return /* @__PURE__ */ e(_e, { height: "100dvh" });
33
+ if (o)
34
+ return /* @__PURE__ */ e(be, { onTryAgain: a, height: "100dvh" });
35
+ const { ptm_config: d, report: _ } = g, { ptm_type: n, config: u } = d || {}, { ptm_report_sections: R, late_if_minutes: C } = u || {}, {
36
+ teacher_observation: k,
37
+ learning_strategy: T,
38
+ parent_support: S,
39
+ school_support: w
40
+ } = R || {}, { subsections: y } = w || {}, { homework_help: M, test_help: P } = y || {}, { options: b } = S || {}, { strategies: D } = T || {}, { subsections: O } = k || {}, {
41
+ focus_area: j,
42
+ strengths: A,
43
+ teacher_remarks: v
44
+ } = O || {}, { areas: x = [], report_tag: E } = j || {}, { areas: F = [] } = A || {}, { report_tag: N } = v || {}, { report_sections: U, student_data: H } = _, {
45
+ teacher_observation: W,
50
46
  parent_support: G,
51
- school_support: U
52
- } = F || {}, { subsections: H } = U || {}, { homework_help: W, test_help: $ } = H || {}, { options: X } = G || {}, { strategies: K } = x || {}, { subsections: L } = E || {}, {
53
- focus_area: V,
54
- strengths: q,
55
- teacher_remarks: z
56
- } = L || {}, { areas: B = [], report_tag: J } = V || {}, { areas: Q = [] } = q || {}, { report_tag: Y } = z || {}, { report_sections: Z, student_data: I } = O, {
57
- teacher_observation: ee,
58
- parent_support: te,
59
- strategies: oe,
60
- real_world_project: re,
61
- school_support: se,
62
- upcoming_chapters: ae
63
- } = Z || {}, { homework_help: ne, test_help: ce } = se || {}, { upcoming_chapters: pe } = ae || {}, {
64
- strengths: ie = {},
65
- focus_area: me,
66
- teacher_remarks: he
67
- } = ee || {}, {
68
- first_name: g,
69
- grade: ge,
70
- key_need: f,
71
- attendance_data: fe,
72
- homework_data: de,
73
- late_class_data: le = [],
74
- real_world_project: _e
75
- } = I || {}, { classes_completed: ue, weeks_completed: ke } = fe || {}, { sheets_assigned: Re, sheets_not_completed: Ce } = de || {}, Se = B.find(
76
- ({ area_key: r }) => r === me
77
- ), Te = (f == null ? void 0 : f.key_need) ?? "", d = h === Ne.ON_DEMAND, be = le.length, we = h && h.split("_").includes("UPGRADE");
78
- return /* @__PURE__ */ n(Oe, { children: [
79
- /* @__PURE__ */ e(Ae, { name: g, grade: ge }),
80
- /* @__PURE__ */ n(Fe, { $gutterX: 1, $gapX: 1, children: [
81
- /* @__PURE__ */ e(ve, { text: Te }),
82
- (d || we) && /* @__PURE__ */ n(S, { children: [
83
- /* @__PURE__ */ e(Ue, { projectReport: re, projectInfo: _e }),
47
+ strategies: K,
48
+ real_world_project: X,
49
+ school_support: $,
50
+ upcoming_chapters: L
51
+ } = U || {}, { homework_help: V, test_help: q } = $ || {}, { upcoming_chapters: z } = L || {}, {
52
+ strengths: B = {},
53
+ focus_area: J,
54
+ teacher_remarks: Q
55
+ } = W || {}, {
56
+ first_name: h,
57
+ grade: Y,
58
+ key_need: p,
59
+ attendance_data: Z,
60
+ homework_data: I,
61
+ late_class_data: ee = [],
62
+ real_world_project: te
63
+ } = H || {}, { classes_completed: oe, weeks_completed: re } = Z || {}, { sheets_assigned: se, sheets_not_completed: ae } = I || {}, ne = x.find(
64
+ ({ area_key: me }) => me === J
65
+ ), pe = (p == null ? void 0 : p.key_need) ?? "", c = n === de.ON_DEMAND, ce = ee.length, ie = n && n.split("_").includes("UPGRADE");
66
+ return /* @__PURE__ */ i(Re, { children: [
67
+ /* @__PURE__ */ e(ue, { name: h, grade: Y }),
68
+ /* @__PURE__ */ i(ke, { $gutterX: 1, $gapX: 1, children: [
69
+ /* @__PURE__ */ e(Ce, { text: pe }),
70
+ (c || ie) && /* @__PURE__ */ i(ge, { children: [
71
+ /* @__PURE__ */ e(Me, { projectReport: X, projectInfo: te }),
84
72
  /* @__PURE__ */ e(
85
- He,
73
+ Pe,
86
74
  {
87
- homeworkHelpReport: ne,
88
- homeworkHelpConfig: W,
89
- testHelpReport: ce,
90
- testHelpConfig: $,
91
- studentName: g,
92
- isOnDemandPTM: d
75
+ homeworkHelpReport: V,
76
+ homeworkHelpConfig: M,
77
+ testHelpReport: q,
78
+ testHelpConfig: P,
79
+ studentName: h,
80
+ isOnDemandPTM: c
93
81
  }
94
82
  )
95
83
  ] }),
96
84
  /* @__PURE__ */ e(
97
- je,
85
+ Te,
98
86
  {
99
- strengthAreas: Q,
100
- strengthsReport: ie,
101
- focusArea: Se,
102
- focusAreaReportTag: J,
103
- teacherRemarks: he,
104
- teacherRemarkTag: Y
87
+ strengthAreas: F,
88
+ strengthsReport: B,
89
+ focusArea: ne,
90
+ focusAreaReportTag: E,
91
+ teacherRemarks: Q,
92
+ teacherRemarkTag: N
105
93
  }
106
94
  ),
107
- /* @__PURE__ */ e(Ee, { report: oe, strategyConfig: K }),
95
+ /* @__PURE__ */ e(Se, { report: K, strategyConfig: D }),
108
96
  /* @__PURE__ */ e(
109
- xe,
97
+ we,
110
98
  {
111
- report: te,
112
- options: X,
113
- classesCompleted: ue,
114
- weeksCompleted: ke,
115
- sheetsAssigned: Re,
116
- sheetsNotCompleted: Ce,
117
- lateClassesCount: be,
118
- lateIfMinutes: j
99
+ report: G,
100
+ options: b,
101
+ classesCompleted: oe,
102
+ weeksCompleted: re,
103
+ sheetsAssigned: se,
104
+ sheetsNotCompleted: ae,
105
+ lateClassesCount: ce,
106
+ lateIfMinutes: C
119
107
  }
120
108
  ),
121
- d && /* @__PURE__ */ e(Ge, { chapters: pe })
122
- ] }),
123
- !M && Ke && /* @__PURE__ */ n(S, { children: [
124
- /* @__PURE__ */ e(Xe, { heightX: 11 }),
125
- /* @__PURE__ */ e($e, { studentName: g, onFeedback: D })
109
+ c && /* @__PURE__ */ e(ye, { chapters: z })
126
110
  ] })
127
111
  ] });
128
- }, ht = ye(Le);
112
+ }, qe = he(De);
129
113
  export {
130
- ht as default
114
+ qe as default
131
115
  };
132
116
  //# sourceMappingURL=ptm-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ptm-report.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { usePTMReportGet } from './api/use-ptm-report-get';\nimport { EPTMTypes, type IPTMReportProps } from './ptm-report-types';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport StudentInfo from './comps/student-info/student-info';\nimport * as Styled from './ptm-report-styled';\nimport KeyNeed from './comps/key-need/key-need';\nimport FlexView from '../../../ui/layout/flex-view';\nimport TeacherObservations from './comps/teacher-observations/teacher-observations';\nimport Strategies from './comps/strategies/strategies';\nimport ParentSupport from './comps/parent-support/parent-support';\nimport UpcomingChapters from './comps/upcoming-chapters/upcoming-chapters';\nimport RealWorldProjects from './comps/real-world-projects/real-world-projects';\nimport SchoolSupport from './comps/school-support/school-support';\nimport Error from '../../../ui/error/error';\nimport StickyFooter from './comps/sticky-footer/sticky-footer';\nimport Separator from '../../../ui/separator/separator';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../constants/app-config';\n\nconst PTMReport: FC<IPTMReportProps> = ({ ptmId, onAPIComplete, onFeedback }) => {\n const [feedback, setFeedback] = useState<'positive' | 'negative' | null>(null);\n const {\n get: getPTMReport,\n data: ptmReportData,\n isProcessing,\n isProcessed,\n isProcessingFailed,\n } = usePTMReportGet(ptmId);\n\n const { report: ptmReport, meta } = ptmReportData || {};\n\n const { parent_feedback_given: parentFeedbackGiven } = meta || {};\n const { teacher_data: teacherData } = ptmReport || {};\n const { name: teacherName, gender: teacherGender } = teacherData || {};\n\n const teacherHonorific = teacherGender === 'FEMALE' ? \"Ma'am\" : 'Sir';\n\n const handleFeedback = useCallback((type: 'positive' | 'negative') => {\n setFeedback(type);\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (onFeedback && feedback) {\n const feedbackTeacherName = `${teacherName} ${teacherHonorific}`;\n\n onFeedback(feedback, ptmId, feedbackTeacherName);\n }\n }, [feedback, ptmId, onFeedback, teacherName, teacherHonorific]);\n\n const fetchPTMReport = useCallback(() => {\n getPTMReport(ptmId);\n }, [getPTMReport, ptmId]);\n\n useEffect(() => {\n fetchPTMReport();\n }, [fetchPTMReport]);\n\n useEffect(() => {\n if (isProcessed || isProcessingFailed) {\n onAPIComplete?.(isProcessed && !isProcessingFailed);\n }\n }, [isProcessed, isProcessingFailed, onAPIComplete]);\n\n useEffect(() => {\n if (feedback) {\n handleSubmit();\n }\n }, [feedback, handleSubmit]);\n\n if (isProcessing || !ptmReportData) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return <Error onTryAgain={fetchPTMReport} height=\"100dvh\" />;\n }\n\n const { ptm_config: ptmConfig, report } = ptmReportData || {};\n const { ptm_type: ptmType, config } = ptmConfig || {};\n const { ptm_report_sections: sectionsConfig, late_if_minutes: lateIfMinutes } = config || {};\n\n const {\n teacher_observation: teacherObservationConfig,\n learning_strategy: strategyConfig,\n parent_support: parentSupportConfig,\n school_support: schoolSupportConfig,\n } = sectionsConfig || {};\n\n const { subsections: schoolSubsections } = schoolSupportConfig || {};\n const { homework_help: homeworkConfig, test_help: testConfig } = schoolSubsections || {};\n\n const { options: parentOptions } = parentSupportConfig || {};\n const { strategies: strategiesConfig } = strategyConfig || {};\n const { subsections: teacherSubsections } = teacherObservationConfig || {};\n\n const {\n focus_area: focusAreaConfig,\n strengths: strengthsConfig,\n teacher_remarks: remarksConfig,\n } = teacherSubsections || {};\n\n const { areas: focusAreas = [], report_tag: focusAreaTag } = focusAreaConfig || {};\n const { areas: strengthAreas = [] } = strengthsConfig || {};\n const { report_tag: remarksTag } = remarksConfig || {};\n\n const { report_sections: reportSections, student_data: studentData } = report;\n\n const {\n teacher_observation: teacherObservationReport,\n parent_support: parentSupportReport,\n strategies: strategiesReport,\n real_world_project: realWorldReport,\n school_support: schoolSupportReport,\n upcoming_chapters: upcomingChaptersReport,\n } = reportSections || {};\n\n const { homework_help: homeworkReport, test_help: testReport } = schoolSupportReport || {};\n\n const { upcoming_chapters: upcomingChapters } = upcomingChaptersReport || {};\n\n const {\n strengths: strengthsReport = {},\n focus_area: selectedFocusAreaKey,\n teacher_remarks: teacherRemarks,\n } = teacherObservationReport || {};\n\n const {\n first_name: studentName,\n grade: studentGrade,\n key_need: keyNeedData,\n attendance_data: attendanceData,\n homework_data: homeworkData,\n late_class_data: lateClasses = [],\n real_world_project: realWorldProjectData,\n } = studentData || {};\n\n const { classes_completed: completedClasses, weeks_completed: completedWeeks } =\n attendanceData || {};\n\n const { sheets_assigned: assignedSheets, sheets_not_completed: incompleteSheets } =\n homeworkData || {};\n\n const selectedFocusArea = focusAreas.find(\n ({ area_key: areaKey }) => areaKey === selectedFocusAreaKey,\n );\n\n const keyNeedText = keyNeedData?.key_need ?? '';\n const isOnDemandPTM = ptmType === EPTMTypes.ON_DEMAND;\n const lateClassesCount = lateClasses.length;\n const isUpgradePTM = ptmType && ptmType.split('_').includes('UPGRADE');\n const isUpgradeOrOnDemandPTM = isOnDemandPTM || isUpgradePTM;\n\n return (\n <Styled.Container>\n <StudentInfo name={studentName} grade={studentGrade} />\n <FlexView $gutterX={1} $gapX={1}>\n <KeyNeed text={keyNeedText} />\n {isUpgradeOrOnDemandPTM && (\n <>\n <RealWorldProjects projectReport={realWorldReport} projectInfo={realWorldProjectData} />\n <SchoolSupport\n homeworkHelpReport={homeworkReport}\n homeworkHelpConfig={homeworkConfig}\n testHelpReport={testReport}\n testHelpConfig={testConfig}\n studentName={studentName}\n isOnDemandPTM={isOnDemandPTM}\n />\n </>\n )}\n <TeacherObservations\n strengthAreas={strengthAreas}\n strengthsReport={strengthsReport}\n focusArea={selectedFocusArea}\n focusAreaReportTag={focusAreaTag}\n teacherRemarks={teacherRemarks}\n teacherRemarkTag={remarksTag}\n />\n <Strategies report={strategiesReport} strategyConfig={strategiesConfig} />\n <ParentSupport\n report={parentSupportReport}\n options={parentOptions}\n classesCompleted={completedClasses}\n weeksCompleted={completedWeeks}\n sheetsAssigned={assignedSheets}\n sheetsNotCompleted={incompleteSheets}\n lateClassesCount={lateClassesCount}\n lateIfMinutes={lateIfMinutes}\n />\n {isOnDemandPTM && <UpcomingChapters chapters={upcomingChapters} />}\n </FlexView>\n {!parentFeedbackGiven && IS_APP_RUNNING_IN_RN && (\n <>\n <Separator heightX={11} />\n <StickyFooter studentName={studentName} onFeedback={handleFeedback} />\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","onAPIComplete","onFeedback","feedback","setFeedback","useState","getPTMReport","ptmReportData","isProcessing","isProcessed","isProcessingFailed","usePTMReportGet","ptmReport","meta","parentFeedbackGiven","teacherData","teacherName","teacherGender","teacherHonorific","handleFeedback","useCallback","type","handleSubmit","feedbackTeacherName","fetchPTMReport","useEffect","jsx","AppLoader","Error","ptmConfig","report","ptmType","config","sectionsConfig","lateIfMinutes","teacherObservationConfig","strategyConfig","parentSupportConfig","schoolSupportConfig","schoolSubsections","homeworkConfig","testConfig","parentOptions","strategiesConfig","teacherSubsections","focusAreaConfig","strengthsConfig","remarksConfig","focusAreas","focusAreaTag","strengthAreas","remarksTag","reportSections","studentData","teacherObservationReport","parentSupportReport","strategiesReport","realWorldReport","schoolSupportReport","upcomingChaptersReport","homeworkReport","testReport","upcomingChapters","strengthsReport","selectedFocusAreaKey","teacherRemarks","studentName","studentGrade","keyNeedData","attendanceData","homeworkData","lateClasses","realWorldProjectData","completedClasses","completedWeeks","assignedSheets","incompleteSheets","selectedFocusArea","areaKey","keyNeedText","isOnDemandPTM","EPTMTypes","lateClassesCount","isUpgradePTM","jsxs","Styled.Container","StudentInfo","FlexView","KeyNeed","Fragment","RealWorldProjects","SchoolSupport","TeacherObservations","Strategies","ParentSupport","UpcomingChapters","IS_APP_RUNNING_IN_RN","Separator","StickyFooter","memo"],"mappings":"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"}
1
+ {"version":3,"file":"ptm-report.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { usePTMReportGet } from './api/use-ptm-report-get';\nimport { EPTMTypes, type IPTMReportProps } from './ptm-report-types';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport StudentInfo from './comps/student-info/student-info';\nimport * as Styled from './ptm-report-styled';\nimport KeyNeed from './comps/key-need/key-need';\nimport FlexView from '../../../ui/layout/flex-view';\nimport TeacherObservations from './comps/teacher-observations/teacher-observations';\nimport Strategies from './comps/strategies/strategies';\nimport ParentSupport from './comps/parent-support/parent-support';\nimport UpcomingChapters from './comps/upcoming-chapters/upcoming-chapters';\nimport RealWorldProjects from './comps/real-world-projects/real-world-projects';\nimport SchoolSupport from './comps/school-support/school-support';\nimport Error from '../../../ui/error/error';\n\nconst PTMReport: FC<IPTMReportProps> = ({ ptmId, onAPIComplete }) => {\n const {\n get: getPTMReport,\n data: ptmReportData,\n isProcessing,\n isProcessed,\n isProcessingFailed,\n } = usePTMReportGet(ptmId);\n\n const fetchPTMReport = useCallback(() => {\n getPTMReport(ptmId);\n }, [getPTMReport, ptmId]);\n\n useEffect(() => {\n fetchPTMReport();\n }, [fetchPTMReport]);\n\n useEffect(() => {\n if (isProcessed || isProcessingFailed) {\n onAPIComplete?.(isProcessed && !isProcessingFailed);\n }\n }, [isProcessed, isProcessingFailed, onAPIComplete]);\n\n if (isProcessing || !ptmReportData) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return <Error onTryAgain={fetchPTMReport} height=\"100dvh\" />;\n }\n\n const { ptm_config: ptmConfig, report } = ptmReportData;\n const { ptm_type: ptmType, config } = ptmConfig || {};\n const { ptm_report_sections: sectionsConfig, late_if_minutes: lateIfMinutes } = config || {};\n\n const {\n teacher_observation: teacherObservationConfig,\n learning_strategy: strategyConfig,\n parent_support: parentSupportConfig,\n school_support: schoolSupportConfig,\n } = sectionsConfig || {};\n\n const { subsections: schoolSubsections } = schoolSupportConfig || {};\n const { homework_help: homeworkConfig, test_help: testConfig } = schoolSubsections || {};\n\n const { options: parentOptions } = parentSupportConfig || {};\n const { strategies: strategiesConfig } = strategyConfig || {};\n const { subsections: teacherSubsections } = teacherObservationConfig || {};\n\n const {\n focus_area: focusAreaConfig,\n strengths: strengthsConfig,\n teacher_remarks: remarksConfig,\n } = teacherSubsections || {};\n\n const { areas: focusAreas = [], report_tag: focusAreaTag } = focusAreaConfig || {};\n const { areas: strengthAreas = [] } = strengthsConfig || {};\n const { report_tag: remarksTag } = remarksConfig || {};\n\n const { report_sections: reportSections, student_data: studentData } = report;\n\n const {\n teacher_observation: teacherObservationReport,\n parent_support: parentSupportReport,\n strategies: strategiesReport,\n real_world_project: realWorldReport,\n school_support: schoolSupportReport,\n upcoming_chapters: upcomingChaptersReport,\n } = reportSections || {};\n\n const { homework_help: homeworkReport, test_help: testReport } = schoolSupportReport || {};\n\n const { upcoming_chapters: upcomingChapters } = upcomingChaptersReport || {};\n\n const {\n strengths: strengthsReport = {},\n focus_area: selectedFocusAreaKey,\n teacher_remarks: teacherRemarks,\n } = teacherObservationReport || {};\n\n const {\n first_name: studentName,\n grade: studentGrade,\n key_need: keyNeedData,\n attendance_data: attendanceData,\n homework_data: homeworkData,\n late_class_data: lateClasses = [],\n real_world_project: realWorldProjectData,\n } = studentData || {};\n\n const { classes_completed: completedClasses, weeks_completed: completedWeeks } =\n attendanceData || {};\n\n const { sheets_assigned: assignedSheets, sheets_not_completed: incompleteSheets } =\n homeworkData || {};\n\n const selectedFocusArea = focusAreas.find(\n ({ area_key: areaKey }) => areaKey === selectedFocusAreaKey,\n );\n\n const keyNeedText = keyNeedData?.key_need ?? '';\n const isOnDemandPTM = ptmType === EPTMTypes.ON_DEMAND;\n const lateClassesCount = lateClasses.length;\n const isUpgradePTM = ptmType && ptmType.split('_').includes('UPGRADE');\n const isUpgradeOrOnDemandPTM = isOnDemandPTM || isUpgradePTM;\n\n return (\n <Styled.Container>\n <StudentInfo name={studentName} grade={studentGrade} />\n <FlexView $gutterX={1} $gapX={1}>\n <KeyNeed text={keyNeedText} />\n {isUpgradeOrOnDemandPTM && (\n <>\n <RealWorldProjects projectReport={realWorldReport} projectInfo={realWorldProjectData} />\n <SchoolSupport\n homeworkHelpReport={homeworkReport}\n homeworkHelpConfig={homeworkConfig}\n testHelpReport={testReport}\n testHelpConfig={testConfig}\n studentName={studentName}\n isOnDemandPTM={isOnDemandPTM}\n />\n </>\n )}\n <TeacherObservations\n strengthAreas={strengthAreas}\n strengthsReport={strengthsReport}\n focusArea={selectedFocusArea}\n focusAreaReportTag={focusAreaTag}\n teacherRemarks={teacherRemarks}\n teacherRemarkTag={remarksTag}\n />\n <Strategies report={strategiesReport} strategyConfig={strategiesConfig} />\n <ParentSupport\n report={parentSupportReport}\n options={parentOptions}\n classesCompleted={completedClasses}\n weeksCompleted={completedWeeks}\n sheetsAssigned={assignedSheets}\n sheetsNotCompleted={incompleteSheets}\n lateClassesCount={lateClassesCount}\n lateIfMinutes={lateIfMinutes}\n />\n {isOnDemandPTM && <UpcomingChapters chapters={upcomingChapters} />}\n </FlexView>\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","onAPIComplete","getPTMReport","ptmReportData","isProcessing","isProcessed","isProcessingFailed","usePTMReportGet","fetchPTMReport","useCallback","useEffect","jsx","AppLoader","Error","ptmConfig","report","ptmType","config","sectionsConfig","lateIfMinutes","teacherObservationConfig","strategyConfig","parentSupportConfig","schoolSupportConfig","schoolSubsections","homeworkConfig","testConfig","parentOptions","strategiesConfig","teacherSubsections","focusAreaConfig","strengthsConfig","remarksConfig","focusAreas","focusAreaTag","strengthAreas","remarksTag","reportSections","studentData","teacherObservationReport","parentSupportReport","strategiesReport","realWorldReport","schoolSupportReport","upcomingChaptersReport","homeworkReport","testReport","upcomingChapters","strengthsReport","selectedFocusAreaKey","teacherRemarks","studentName","studentGrade","keyNeedData","attendanceData","homeworkData","lateClasses","realWorldProjectData","completedClasses","completedWeeks","assignedSheets","incompleteSheets","selectedFocusArea","areaKey","keyNeedText","isOnDemandPTM","EPTMTypes","lateClassesCount","isUpgradePTM","jsxs","Styled.Container","StudentInfo","FlexView","KeyNeed","Fragment","RealWorldProjects","SchoolSupport","TeacherObservations","Strategies","ParentSupport","UpcomingChapters","ptmReport","memo"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAMA,KAAiC,CAAC,EAAE,OAAAC,GAAO,eAAAC,QAAoB;AAC7D,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,GAAgBP,CAAK,GAEnBQ,IAAiBC,GAAY,MAAM;AACvC,IAAAP,EAAaF,CAAK;AAAA,EAAA,GACjB,CAACE,GAAcF,CAAK,CAAC;AAYpB,MAVJU,EAAU,MAAM;AACC,IAAAF;EAAA,GACd,CAACA,CAAc,CAAC,GAEnBE,EAAU,MAAM;AACd,KAAIL,KAAeC,OACDL,KAAA,QAAAA,EAAAI,KAAe,CAACC;AAAA,EAEjC,GAAA,CAACD,GAAaC,GAAoBL,CAAa,CAAC,GAE/CG,KAAgB,CAACD;AACZ,WAAA,gBAAAQ,EAACC,IAAU,EAAA,QAAO,SAAS,CAAA;AAGpC,MAAIN;AACF,WAAQ,gBAAAK,EAAAE,IAAA,EAAM,YAAYL,GAAgB,QAAO,SAAS,CAAA;AAG5D,QAAM,EAAE,YAAYM,GAAW,QAAAC,EAAA,IAAWZ,GACpC,EAAE,UAAUa,GAAS,QAAAC,EAAO,IAAIH,KAAa,CAAA,GAC7C,EAAE,qBAAqBI,GAAgB,iBAAiBC,EAAc,IAAIF,KAAU,IAEpF;AAAA,IACJ,qBAAqBG;AAAA,IACrB,mBAAmBC;AAAA,IACnB,gBAAgBC;AAAA,IAChB,gBAAgBC;AAAA,EAAA,IACdL,KAAkB,CAAA,GAEhB,EAAE,aAAaM,MAAsBD,KAAuB,CAAA,GAC5D,EAAE,eAAeE,GAAgB,WAAWC,EAAW,IAAIF,KAAqB,IAEhF,EAAE,SAASG,MAAkBL,KAAuB,CAAA,GACpD,EAAE,YAAYM,MAAqBP,KAAkB,CAAA,GACrD,EAAE,aAAaQ,MAAuBT,KAA4B,CAAA,GAElE;AAAA,IACJ,YAAYU;AAAA,IACZ,WAAWC;AAAA,IACX,iBAAiBC;AAAA,EAAA,IACfH,KAAsB,CAAA,GAEpB,EAAE,OAAOI,IAAa,IAAI,YAAYC,EAAiB,IAAAJ,KAAmB,IAC1E,EAAE,OAAOK,IAAgB,CAAG,EAAA,IAAIJ,KAAmB,CAAA,GACnD,EAAE,YAAYK,MAAeJ,KAAiB,CAAA,GAE9C,EAAE,iBAAiBK,GAAgB,cAAcC,MAAgBvB,GAEjE;AAAA,IACJ,qBAAqBwB;AAAA,IACrB,gBAAgBC;AAAA,IAChB,YAAYC;AAAA,IACZ,oBAAoBC;AAAA,IACpB,gBAAgBC;AAAA,IAChB,mBAAmBC;AAAA,EAAA,IACjBP,KAAkB,CAAA,GAEhB,EAAE,eAAeQ,GAAgB,WAAWC,EAAW,IAAIH,KAAuB,IAElF,EAAE,mBAAmBI,MAAqBH,KAA0B,CAAA,GAEpE;AAAA,IACJ,WAAWI,IAAkB,CAAC;AAAA,IAC9B,YAAYC;AAAA,IACZ,iBAAiBC;AAAA,EAAA,IACfX,KAA4B,CAAA,GAE1B;AAAA,IACJ,YAAYY;AAAA,IACZ,OAAOC;AAAA,IACP,UAAUC;AAAA,IACV,iBAAiBC;AAAA,IACjB,eAAeC;AAAA,IACf,iBAAiBC,KAAc,CAAC;AAAA,IAChC,oBAAoBC;AAAA,EAAA,IAClBnB,KAAe,CAAA,GAEb,EAAE,mBAAmBoB,IAAkB,iBAAiBC,GAAe,IAC3EL,KAAkB,IAEd,EAAE,iBAAiBM,IAAgB,sBAAsBC,GAAiB,IAC9EN,KAAgB,IAEZO,KAAoB7B,EAAW;AAAA,IACnC,CAAC,EAAE,UAAU8B,SAAcA,OAAYd;AAAA,EAAA,GAGnCe,MAAcX,KAAA,gBAAAA,EAAa,aAAY,IACvCY,IAAgBjD,MAAYkD,GAAU,WACtCC,KAAmBX,GAAY,QAC/BY,KAAepD,KAAWA,EAAQ,MAAM,GAAG,EAAE,SAAS,SAAS;AAInE,SAAA,gBAAAqD,EAACC,IAAA,EACC,UAAA;AAAA,IAAA,gBAAA3D,EAAC4D,IAAY,EAAA,MAAMpB,GAAa,OAAOC,GAAc;AAAA,IACpD,gBAAAiB,EAAAG,IAAA,EAAS,UAAU,GAAG,OAAO,GAC5B,UAAA;AAAA,MAAC,gBAAA7D,EAAA8D,IAAA,EAAQ,MAAMT,GAAa,CAAA;AAAA,OANHC,KAAiBG,OAStC,gBAAAC,EAAAK,IAAA,EAAA,UAAA;AAAA,QAAA,gBAAA/D,EAACgE,IAAkB,EAAA,eAAejC,GAAiB,aAAae,IAAsB;AAAA,QACtF,gBAAA9C;AAAA,UAACiE;AAAA,UAAA;AAAA,YACC,oBAAoB/B;AAAA,YACpB,oBAAoBpB;AAAA,YACpB,gBAAgBqB;AAAA,YAChB,gBAAgBpB;AAAA,YAChB,aAAAyB;AAAA,YACA,eAAAc;AAAA,UAAA;AAAA,QACF;AAAA,MAAA,GACF;AAAA,MAEF,gBAAAtD;AAAA,QAACkE;AAAA,QAAA;AAAA,UACC,eAAA1C;AAAA,UACA,iBAAAa;AAAA,UACA,WAAWc;AAAA,UACX,oBAAoB5B;AAAA,UACpB,gBAAAgB;AAAA,UACA,kBAAkBd;AAAA,QAAA;AAAA,MACpB;AAAA,MACC,gBAAAzB,EAAAmE,IAAA,EAAW,QAAQrC,GAAkB,gBAAgBb,GAAkB;AAAA,MACxE,gBAAAjB;AAAA,QAACoE;AAAA,QAAA;AAAA,UACC,QAAQvC;AAAA,UACR,SAASb;AAAA,UACT,kBAAkB+B;AAAA,UAClB,gBAAgBC;AAAA,UAChB,gBAAgBC;AAAA,UAChB,oBAAoBC;AAAA,UACpB,kBAAAM;AAAA,UACA,eAAAhD;AAAA,QAAA;AAAA,MACF;AAAA,MACC8C,KAAiB,gBAAAtD,EAACqE,IAAiB,EAAA,UAAUjC,EAAkB,CAAA;AAAA,IAAA,GAClE;AAAA,EACF,EAAA,CAAA;AAEJ,GAEekC,KAAAC,GAAKnF,EAAS;"}
@@ -8,8 +8,8 @@ import _e from "../../../milestone/milestone-resources/resources-assign/resource
8
8
  import pe from "../../../milestone/milestone-tests/tests-creation/tests-creation-sync.js";
9
9
  import Te from "../../../worksheet/worksheet-preview/worksheet-preview.js";
10
10
  import { useTrialSessionContext as Pe } from "../../context/use-trial-session-context.js";
11
- import { isPLASource as ge } from "../../helper.js";
12
- import { useLearningPlanScrollSync as fe } from "../../hooks/use-learning-plan-scroll-sync.js";
11
+ import { isPLASource as fe } from "../../helper.js";
12
+ import { useLearningPlanScrollSync as ge } from "../../hooks/use-learning-plan-scroll-sync.js";
13
13
  import { ELearningPlanView as r } from "../../trial-session-types.js";
14
14
  import { TrialPageId as J } from "../../trial-session-constants.js";
15
15
  import { Container as he, Wrapper as Ie } from "./learning-plan-styled.js";
@@ -17,8 +17,8 @@ import ye from "../../../ui/error/error.js";
17
17
  import { useUIContext as Ae } from "../../../ui/context/context.js";
18
18
  import { NODE_TYPE as b } from "../../../sheets/constants/sheet.js";
19
19
  import { checkIfPPTNodeType as Re } from "../../../chapters/lpar-chapter/utils/index.js";
20
- import ve from "../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js";
21
- import { useGetAllMilestonesdata as Se } from "../../../milestone/milestone-list-container/api/get-milestones.js";
20
+ import Se from "../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js";
21
+ import { useGetAllMilestonesdata as ve } from "../../../milestone/milestone-list-container/api/get-milestones.js";
22
22
  const Je = () => {
23
23
  const {
24
24
  trialHomeData: z,
@@ -26,7 +26,7 @@ const Je = () => {
26
26
  formData: _,
27
27
  isTeacher: n,
28
28
  updateSlideConfig: t,
29
- slideConfig: g,
29
+ slideConfig: f,
30
30
  onRemoveOptionalSlides: y
31
31
  } = Pe(), { onEvent: A } = Ae(), {
32
32
  demo_info: { student_classroom_id: p, stream: h, region_data: Q },
@@ -38,7 +38,7 @@ const Je = () => {
38
38
  learningPlanView: d,
39
39
  learningPlanChapterId: T,
40
40
  learningPlanActiveMilestoneId: i
41
- } = _ || {}, H = ce(null), O = ge(D == null ? void 0 : D.source), u = n ? "TEACHER" : "STUDENT", { resetScrollPosition: m, closeScrollChannel: $ } = fe({
41
+ } = _ || {}, H = ce(null), O = fe(D == null ? void 0 : D.source), u = n ? "TEACHER" : "STUDENT", { resetScrollPosition: m, closeScrollChannel: $ } = ge({
42
42
  studentClassroomId: p,
43
43
  containerRef: H,
44
44
  isTeacher: n
@@ -49,7 +49,7 @@ const Je = () => {
49
49
  student_id: c
50
50
  }),
51
51
  [c]
52
- ), { data: v, isProcessed: x } = Se(Z), U = s(
52
+ ), { data: S, isProcessed: x } = ve(Z), U = s(
53
53
  (e) => {
54
54
  n && t({
55
55
  learningPlanView: r.VIEW_CHAPTER_DETAILS,
@@ -109,22 +109,22 @@ const Je = () => {
109
109
  q(() => () => {
110
110
  $();
111
111
  }, [$]), q(() => {
112
- if (x && v && n) {
113
- const e = v.some((E) => {
112
+ if (x && S && n) {
113
+ const e = S.some((E) => {
114
114
  var o;
115
115
  const a = ((o = E.permissions) == null ? void 0 : o.visible_tabs) || [];
116
116
  return a.length === 0 || a.includes("TESTS");
117
- }), f = v.some((E) => {
117
+ }), g = S.some((E) => {
118
118
  var o;
119
119
  const a = ((o = E.permissions) == null ? void 0 : o.visible_tabs) || [];
120
120
  return a.length === 0 || a.includes("RESOURCES");
121
121
  });
122
122
  y == null || y({
123
123
  hasTestsTab: e,
124
- hasResourcesTab: f
124
+ hasResourcesTab: g
125
125
  });
126
126
  }
127
- }, [x, v, n, y]);
127
+ }, [x, S, n, y]);
128
128
  const I = w(
129
129
  () => _ == null ? void 0 : _.learningPlanWorksheetData,
130
130
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -134,11 +134,11 @@ const Je = () => {
134
134
  A("LEARNING_PLAN_SLIDE_ERROR", { message: e });
135
135
  },
136
136
  [A]
137
- ), S = s(
137
+ ), v = s(
138
138
  (e) => {
139
139
  if (!n || !e) return;
140
140
  const {
141
- title: f,
141
+ title: g,
142
142
  activity_type: E,
143
143
  items: a,
144
144
  node_type: o,
@@ -153,7 +153,7 @@ const Je = () => {
153
153
  itemRefs: re,
154
154
  activityReference: V,
155
155
  nodeType: o,
156
- worksheetName: f,
156
+ worksheetName: g,
157
157
  activityType: E,
158
158
  imageHue: te,
159
159
  userNodeId: ie
@@ -196,21 +196,21 @@ const Je = () => {
196
196
  },
197
197
  [n, t]
198
198
  ), j = w(() => {
199
- const e = g == null ? void 0 : g.id;
199
+ const e = f == null ? void 0 : f.id;
200
200
  return e === J.LEARNING_PLAN_TESTS ? "tests" : e === J.LEARNING_PLAN_RESOURCES ? "resources" : "chapters";
201
- }, [g == null ? void 0 : g.id]), ne = s(() => {
201
+ }, [f == null ? void 0 : f.id]), ne = s(() => {
202
202
  if (d === r.VIEW_WORKSHEET && I) {
203
203
  const {
204
204
  itemRefs: e,
205
- activityReference: f,
205
+ activityReference: g,
206
206
  nodeType: E,
207
207
  worksheetName: a,
208
208
  activityType: o,
209
209
  imageHue: V,
210
210
  userNodeId: C
211
211
  } = I;
212
- return (!f || E === b.DYNAMIC) && C ? /* @__PURE__ */ l(
213
- ve,
212
+ return (!g || E === b.DYNAMIC) && C ? /* @__PURE__ */ l(
213
+ Se,
214
214
  {
215
215
  userNodeId: C,
216
216
  studentId: c,
@@ -221,7 +221,7 @@ const Je = () => {
221
221
  ) : /* @__PURE__ */ l(
222
222
  Te,
223
223
  {
224
- activityReference: f,
224
+ activityReference: g,
225
225
  mode: "preview",
226
226
  nodeType: E,
227
227
  activityType: o,
@@ -230,8 +230,6 @@ const Je = () => {
230
230
  worksheetName: a,
231
231
  onBackIconClick: N,
232
232
  items: e,
233
- behaviorOverride: { navigationMode: "OPEN" },
234
- layoutOverride: { containerWidth: "100%" },
235
233
  imageHue: V ?? void 0
236
234
  }
237
235
  );
@@ -243,7 +241,7 @@ const Je = () => {
243
241
  studentId: c,
244
242
  userType: u,
245
243
  onExit: K,
246
- onNodeView: S
244
+ onNodeView: v
247
245
  }
248
246
  ) : d === r.ADD_RESOURCE && i ? /* @__PURE__ */ l(
249
247
  _e,
@@ -306,8 +304,8 @@ const Je = () => {
306
304
  onCreateMilestoneTest: F,
307
305
  onEdit: B,
308
306
  courseStream: h,
309
- onNodeView: S,
310
- onTestPreview: S,
307
+ onNodeView: v,
308
+ onTestPreview: v,
311
309
  isDraftModeEnabled: !0,
312
310
  defaultVisibleTab: j
313
311
  }
@@ -327,7 +325,7 @@ const Je = () => {
327
325
  F,
328
326
  B,
329
327
  h,
330
- S,
328
+ v,
331
329
  N,
332
330
  K,
333
331
  P,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, type FC } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport GoalDraftEditSync from '../../../milestone/edit/goal-draft-edit-sync';\nimport type { IMilestoneEditProps } from '../../../milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-types';\nimport MilestoneListSync from '../../../milestone/milestone-list-container/milestone-list-sync';\nimport EPResourceAssignSync from '../../../milestone/milestone-resources/resources-assign/resource-assign-sync';\nimport TestsCreationSync from '../../../milestone/milestone-tests/tests-creation/tests-creation-sync';\nimport PreviewWorksheet from '../../../worksheet/worksheet-preview/worksheet-preview';\nimport { type TNodeTypes } from '../../../../types/models/worksheet';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource } from '../../helper';\nimport { useLearningPlanScrollSync } from '../../hooks/use-learning-plan-scroll-sync';\nimport { ELearningPlanView } from '../../trial-session-types';\nimport { TrialPageId } from '../../trial-session-constants';\nimport * as Styled from './learning-plan-styled';\nimport Error from '../../../ui/error/error';\nimport { useUIContext } from '../../../ui/context/context';\nimport type { IResourceItemData } from '../../../milestone/milestone-resources/resources-assign/resources-assign-type';\nimport { NODE_TYPE } from '../../../sheets/constants/sheet';\nimport { checkIfPPTNodeType } from '../../../chapters/lpar-chapter/utils';\nimport DynamicWorksheetPreview from '../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview';\nimport { useGetAllMilestonesdata } from '../../../milestone/milestone-list-container/api/get-milestones';\nimport type { IMilestoneListQueryParams } from '../../../milestone/milestone-list-container/milestone-list-container-types';\n\nconst LearningPlan: FC = () => {\n const {\n trialHomeData,\n studentId,\n formData,\n isTeacher,\n updateSlideConfig,\n slideConfig,\n onRemoveOptionalSlides,\n } = useTrialSessionContext();\n const { onEvent: trackEvent } = useUIContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream, region_data: regionData },\n intel_student: intelStudent,\n student,\n } = trialHomeData || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { enrollment_type: enrollmentType } = student || {};\n const {\n name = '',\n grade = '',\n learningPlanView,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n } = formData || {};\n const containerRef = useRef<HTMLDivElement>(null);\n const isPLA = isPLASource(intelStudent?.source);\n const userType = isTeacher ? 'TEACHER' : 'STUDENT';\n const { resetScrollPosition, closeScrollChannel } = useLearningPlanScrollSync({\n studentClassroomId,\n containerRef,\n isTeacher,\n });\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group: 'DRAFT',\n course_stream: 'MATH',\n student_id: studentId,\n }) as const,\n [studentId],\n );\n\n const { data: milestoneData, isProcessed: isMilestoneProcessed } =\n useGetAllMilestonesdata(queryParams);\n\n const handleChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_CHAPTER_DETAILS,\n learningPlanChapterId: chapter.id,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleAssignResources = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_RESOURCE,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleCreateTest = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_TEST,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleEditMilestone = useCallback(\n (editProps: IMilestoneEditProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.EDIT_MILESTONE,\n learningPlanActiveMilestoneId: editProps.milestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleBackToList = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanChapterId: undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n const handleExitWorksheet = useCallback(() => {\n if (!isTeacher) return;\n\n const addResourcesView = learningPlanActiveMilestoneId\n ? ELearningPlanView.ADD_RESOURCE\n : undefined;\n\n updateSlideConfig({\n learningPlanView: learningPlanChapterId\n ? ELearningPlanView.VIEW_CHAPTER_DETAILS\n : addResourcesView,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [\n isTeacher,\n learningPlanActiveMilestoneId,\n updateSlideConfig,\n learningPlanChapterId,\n resetScrollPosition,\n ]);\n\n const handleExitForm = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanActiveMilestoneId: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n useEffect(() => {\n return () => {\n closeScrollChannel();\n };\n }, [closeScrollChannel]);\n\n useEffect(() => {\n if (isMilestoneProcessed && milestoneData && isTeacher) {\n const hasTestsTab = milestoneData.some(milestone => {\n const visibleTabs = milestone.permissions?.visible_tabs || [];\n\n return visibleTabs.length === 0 || visibleTabs.includes('TESTS');\n });\n\n const hasResourcesTab = milestoneData.some(milestone => {\n const visibleTabs = milestone.permissions?.visible_tabs || [];\n\n return visibleTabs.length === 0 || visibleTabs.includes('RESOURCES');\n });\n\n onRemoveOptionalSlides?.({\n hasTestsTab,\n hasResourcesTab,\n });\n }\n }, [isMilestoneProcessed, milestoneData, isTeacher, onRemoveOptionalSlides]);\n\n const syncedWorksheetData = useMemo(\n () => formData?.learningPlanWorksheetData,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(formData?.learningPlanWorksheetData)],\n );\n\n const handleError = useCallback(\n (errorMessage?: string) => {\n trackEvent('LEARNING_PLAN_SLIDE_ERROR', { message: errorMessage });\n },\n [trackEvent],\n );\n\n const handleViewWorksheet = useCallback(\n (worksheetData: INodeDataProps) => {\n if (!isTeacher || !worksheetData) return;\n\n const {\n title: worksheetName,\n activity_type: activityType,\n items,\n node_type: nodeType,\n learnosity_activity_ref: activityReference,\n is_turing: isTuring,\n image_hue: imageHue,\n user_node_id: userNodeId,\n } = worksheetData;\n const itemRefs = items?.map(item => item.ref) || [];\n const isHiddenNode = nodeType === NODE_TYPE.HIDDEN_BASIC;\n const isPdfNodeType = nodeType === NODE_TYPE.PDF;\n const isPPTNodeType = checkIfPPTNodeType(nodeType);\n const isInstructionNodeType = isTuring || isPPTNodeType || isPdfNodeType;\n\n if (isInstructionNodeType || isHiddenNode) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_WORKSHEET,\n learningPlanWorksheetData: {\n itemRefs,\n activityReference,\n nodeType,\n worksheetName,\n activityType,\n imageHue,\n userNodeId,\n },\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleTryAgain = useCallback(() => {\n trackEvent('TRIAL_V3_LEARNING_PLAN_SLIDE_APP_CRASHED', {\n learning_plan_view: learningPlanView,\n learning_plan_chapter_id: learningPlanChapterId,\n learning_plan_active_milestone_id: learningPlanActiveMilestoneId,\n learning_plan_worksheet_data: syncedWorksheetData,\n });\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanChapterId: undefined,\n learningPlanActiveMilestoneId: undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [\n trackEvent,\n learningPlanView,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n syncedWorksheetData,\n updateSlideConfig,\n resetScrollPosition,\n ]);\n\n const handleViewResource = useCallback(\n (resource: IResourceItemData) => {\n if (!isTeacher || !resource.learnosity_activity_ref) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_WORKSHEET,\n learningPlanWorksheetData: {\n itemRefs: [],\n activityReference: resource.learnosity_activity_ref,\n nodeType: resource.node_type as TNodeTypes,\n worksheetName: resource.name,\n activityType: resource.activity_type,\n },\n });\n },\n [isTeacher, updateSlideConfig],\n );\n const defaultVisibleTab = useMemo(() => {\n const currentPageId = slideConfig?.id;\n\n if (currentPageId === TrialPageId.LEARNING_PLAN_TESTS) {\n return 'tests' as const;\n }\n\n if (currentPageId === TrialPageId.LEARNING_PLAN_RESOURCES) {\n return 'resources' as const;\n }\n\n return 'chapters' as const;\n }, [slideConfig?.id]);\n\n const renderContent = useCallback(() => {\n if (learningPlanView === ELearningPlanView.VIEW_WORKSHEET && syncedWorksheetData) {\n const {\n itemRefs,\n activityReference,\n nodeType,\n worksheetName,\n activityType,\n imageHue,\n userNodeId,\n } = syncedWorksheetData;\n\n if ((!activityReference || nodeType === NODE_TYPE.DYNAMIC) && userNodeId) {\n return (\n <DynamicWorksheetPreview\n userNodeId={userNodeId}\n studentId={studentId}\n studentName={name}\n onBackIconClick={handleExitWorksheet}\n userType={userType}\n />\n );\n }\n\n return (\n <PreviewWorksheet\n activityReference={activityReference!}\n mode=\"preview\"\n nodeType={nodeType as TNodeTypes}\n activityType={activityType}\n userType={userType}\n studentId={studentId ?? 'student-id'}\n worksheetName={worksheetName}\n onBackIconClick={handleExitWorksheet}\n items={itemRefs}\n behaviorOverride={{ navigationMode: 'OPEN' }}\n layoutOverride={{ containerWidth: '100%' }}\n imageHue={imageHue ?? undefined}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.VIEW_CHAPTER_DETAILS && learningPlanChapterId) {\n return (\n <ChapterDetails\n userChapterId={learningPlanChapterId}\n studentId={studentId}\n userType={userType}\n onExit={handleBackToList}\n onNodeView={handleViewWorksheet}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_RESOURCE && learningPlanActiveMilestoneId) {\n return (\n <EPResourceAssignSync\n channelId={`a-r-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n stream={stream}\n studentId={studentId}\n userMilestoneId={learningPlanActiveMilestoneId}\n userType={userType}\n onResourceAssign={handleExitForm}\n onExitResourceAssign={handleExitForm}\n onViewResource={handleViewResource}\n onError={handleError}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_TEST && learningPlanActiveMilestoneId) {\n return (\n <TestsCreationSync\n channelId={`a-t-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n courseStream={stream}\n milestoneId={learningPlanActiveMilestoneId}\n studentId={studentId}\n testNumber={1}\n userType={userType}\n onTestAssign={handleExitForm}\n onExit={handleExitForm}\n onError={handleError}\n useAbsoluteFooter\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.EDIT_MILESTONE && learningPlanActiveMilestoneId) {\n return (\n <GoalDraftEditSync\n channelId={`e-m-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n studentId={studentId}\n height=\"100%\"\n grade={grade || ''}\n currentCountryCode={countryCode}\n studentName={name}\n onExit={handleExitForm}\n onPreSubmit={handleExitForm}\n userType={userType}\n milestoneId={learningPlanActiveMilestoneId}\n isGoalCreation={false}\n courseStream={stream}\n classRatio={1}\n enrollmentType={enrollmentType}\n useAbsoluteFooter\n disablePublish\n />\n );\n }\n\n return (\n <MilestoneListSync\n channelId={`milestone-list-sync-${studentClassroomId}`}\n userType={userType}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType={isPLA ? 'ACTIVE' : 'DRAFT'}\n onChapterClick={handleChapterClick}\n onAssignResources={handleAssignResources}\n onCreateMilestoneTest={handleCreateTest}\n onEdit={handleEditMilestone}\n courseStream={stream}\n onNodeView={handleViewWorksheet}\n onTestPreview={handleViewWorksheet}\n isDraftModeEnabled\n defaultVisibleTab={defaultVisibleTab}\n />\n );\n }, [\n learningPlanView,\n syncedWorksheetData,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n studentClassroomId,\n userType,\n name,\n studentId,\n isPLA,\n handleChapterClick,\n handleAssignResources,\n handleCreateTest,\n handleEditMilestone,\n stream,\n handleViewWorksheet,\n handleExitWorksheet,\n handleBackToList,\n handleExitForm,\n handleViewResource,\n handleError,\n grade,\n countryCode,\n enrollmentType,\n defaultVisibleTab,\n ]);\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n $height=\"100%\"\n >\n <ErrorBoundary fallback={<Error onTryAgain={handleTryAgain} />}>\n {renderContent()}\n </ErrorBoundary>\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","slideConfig","onRemoveOptionalSlides","useTrialSessionContext","trackEvent","useUIContext","studentClassroomId","stream","regionData","intelStudent","student","countryCode","enrollmentType","name","grade","learningPlanView","learningPlanChapterId","learningPlanActiveMilestoneId","containerRef","useRef","isPLA","isPLASource","userType","resetScrollPosition","closeScrollChannel","useLearningPlanScrollSync","queryParams","useMemo","milestoneData","isMilestoneProcessed","useGetAllMilestonesdata","handleChapterClick","useCallback","chapter","ELearningPlanView","handleAssignResources","userMilestoneId","handleCreateTest","handleEditMilestone","editProps","handleBackToList","handleExitWorksheet","addResourcesView","handleExitForm","useEffect","hasTestsTab","milestone","visibleTabs","_a","hasResourcesTab","syncedWorksheetData","handleError","errorMessage","handleViewWorksheet","worksheetData","worksheetName","activityType","items","nodeType","activityReference","isTuring","imageHue","userNodeId","itemRefs","item","isHiddenNode","NODE_TYPE","isPdfNodeType","isPPTNodeType","checkIfPPTNodeType","handleTryAgain","handleViewResource","resource","defaultVisibleTab","currentPageId","TrialPageId","renderContent","jsx","DynamicWorksheetPreview","PreviewWorksheet","ChapterDetails","EPResourceAssignSync","TestsCreationSync","GoalDraftEditSync","MilestoneListSync","Styled.Container","Styled.Wrapper","ErrorBoundary","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA,MAAMA,KAAmB,MAAM;AACvB,QAAA;AAAA,IACJ,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,wBAAAC;AAAA,MACEC,GAAuB,GACrB,EAAE,SAASC,EAAW,IAAIC,GAAa,GACvC;AAAA,IACJ,WAAW,EAAE,sBAAsBC,GAAoB,QAAAC,GAAQ,aAAaC,EAAW;AAAA,IACvF,eAAeC;AAAA,IACf,SAAAC;AAAA,EAAA,IACEd,KAAiB,CAAA,GACf,EAAE,qBAAqBe,IAAc,KAAK,IAAIH,KAAc,CAAA,GAC5D,EAAE,iBAAiBI,MAAmBF,KAAW,CAAA,GACjD;AAAA,IACJ,MAAAG,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,kBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,+BAAAC;AAAA,EAAA,IACEnB,KAAY,CAAA,GACVoB,IAAeC,GAAuB,IAAI,GAC1CC,IAAQC,GAAYZ,KAAA,gBAAAA,EAAc,MAAM,GACxCa,IAAWvB,IAAY,YAAY,WACnC,EAAE,qBAAAwB,GAAqB,oBAAAC,EAAmB,IAAIC,GAA0B;AAAA,IAC5E,oBAAAnB;AAAA,IACA,cAAAY;AAAA,IACA,WAAAnB;AAAA,EAAA,CACD,GAEK2B,IAAyCC;AAAA,IAC7C,OACG;AAAA,MACC,uBAAuB;AAAA,MACvB,eAAe;AAAA,MACf,YAAY9B;AAAA,IAAA;AAAA,IAEhB,CAACA,CAAS;AAAA,EAAA,GAGN,EAAE,MAAM+B,GAAe,aAAaC,MACxCC,GAAwBJ,CAAW,GAE/BK,IAAqBC;AAAA,IACzB,CAACC,MAA+B;AAC9B,MAAKlC,KAEaC,EAAA;AAAA,QAChB,kBAAkBkC,EAAkB;AAAA,QACpC,uBAAuBD,EAAQ;AAAA,MAAA,CAChC;AAAA,IACH;AAAA,IACA,CAAClC,GAAWC,CAAiB;AAAA,EAAA,GAGzBmC,IAAwBH;AAAA,IAC5B,CAACI,MAA4B;AAC3B,MAAKrC,KAEaC,EAAA;AAAA,QAChB,kBAAkBkC,EAAkB;AAAA,QACpC,+BAA+BE;AAAA,MAAA,CAChC;AAAA,IACH;AAAA,IACA,CAACrC,GAAWC,CAAiB;AAAA,EAAA,GAGzBqC,IAAmBL;AAAA,IACvB,CAACI,MAA4B;AAC3B,MAAKrC,KAEaC,EAAA;AAAA,QAChB,kBAAkBkC,EAAkB;AAAA,QACpC,+BAA+BE;AAAA,MAAA,CAChC;AAAA,IACH;AAAA,IACA,CAACrC,GAAWC,CAAiB;AAAA,EAAA,GAGzBsC,IAAsBN;AAAA,IAC1B,CAACO,MAAmC;AAClC,MAAKxC,KAEaC,EAAA;AAAA,QAChB,kBAAkBkC,EAAkB;AAAA,QACpC,+BAA+BK,EAAU;AAAA,MAAA,CAC1C;AAAA,IACH;AAAA,IACA,CAACxC,GAAWC,CAAiB;AAAA,EAAA,GAGzBwC,IAAmBR,EAAY,MAAM;AACzC,IAAKjC,MAEaC,EAAA;AAAA,MAChB,kBAAkB;AAAA,MAClB,uBAAuB;AAAA,MACvB,2BAA2B;AAAA,IAAA,CAC5B,GACmBuB;EACnB,GAAA,CAACxB,GAAWC,GAAmBuB,CAAmB,CAAC,GAEhDkB,IAAsBT,EAAY,MAAM;AAC5C,QAAI,CAACjC,EAAW;AAEV,UAAA2C,IAAmBzB,IACrBiB,EAAkB,eAClB;AAEc,IAAAlC,EAAA;AAAA,MAChB,kBAAkBgB,IACdkB,EAAkB,uBAClBQ;AAAA,MACJ,2BAA2B;AAAA,IAAA,CAC5B,GACmBnB;EAAA,GACnB;AAAA,IACDxB;AAAA,IACAkB;AAAA,IACAjB;AAAA,IACAgB;AAAA,IACAO;AAAA,EAAA,CACD,GAEKoB,IAAiBX,EAAY,MAAM;AACvC,IAAKjC,MAEaC,EAAA;AAAA,MAChB,kBAAkB;AAAA,MAClB,+BAA+B;AAAA,IAAA,CAChC,GACmBuB;EACnB,GAAA,CAACxB,GAAWC,GAAmBuB,CAAmB,CAAC;AAEtD,EAAAqB,EAAU,MACD,MAAM;AACQ,IAAApB;EAAA,GAEpB,CAACA,CAAkB,CAAC,GAEvBoB,EAAU,MAAM;AACV,QAAAf,KAAwBD,KAAiB7B,GAAW;AAChD,YAAA8C,IAAcjB,EAAc,KAAK,CAAakB,MAAA;;AAClD,cAAMC,MAAcC,IAAAF,EAAU,gBAAV,gBAAAE,EAAuB,iBAAgB,CAAA;AAE3D,eAAOD,EAAY,WAAW,KAAKA,EAAY,SAAS,OAAO;AAAA,MAAA,CAChE,GAEKE,IAAkBrB,EAAc,KAAK,CAAakB,MAAA;;AACtD,cAAMC,MAAcC,IAAAF,EAAU,gBAAV,gBAAAE,EAAuB,iBAAgB,CAAA;AAE3D,eAAOD,EAAY,WAAW,KAAKA,EAAY,SAAS,WAAW;AAAA,MAAA,CACpE;AAEwB,MAAA7C,KAAA,QAAAA,EAAA;AAAA,QACvB,aAAA2C;AAAA,QACA,iBAAAI;AAAA,MAAA;AAAA,IAEJ;AAAA,KACC,CAACpB,GAAsBD,GAAe7B,GAAWG,CAAsB,CAAC;AAE3E,QAAMgD,IAAsBvB;AAAA,IAC1B,MAAM7B,KAAA,gBAAAA,EAAU;AAAA;AAAA,IAEhB,CAAC,KAAK,UAAUA,KAAA,gBAAAA,EAAU,yBAAyB,CAAC;AAAA,EAAA,GAGhDqD,IAAcnB;AAAA,IAClB,CAACoB,MAA0B;AACzB,MAAAhD,EAAW,6BAA6B,EAAE,SAASgD,EAAc,CAAA;AAAA,IACnE;AAAA,IACA,CAAChD,CAAU;AAAA,EAAA,GAGPiD,IAAsBrB;AAAA,IAC1B,CAACsB,MAAkC;AAC7B,UAAA,CAACvD,KAAa,CAACuD,EAAe;AAE5B,YAAA;AAAA,QACJ,OAAOC;AAAA,QACP,eAAeC;AAAA,QACf,OAAAC;AAAA,QACA,WAAWC;AAAA,QACX,yBAAyBC;AAAA,QACzB,WAAWC;AAAA,QACX,WAAWC;AAAA,QACX,cAAcC;AAAA,MACZ,IAAAR,GACES,MAAWN,KAAA,gBAAAA,EAAO,IAAI,QAAQO,GAAK,SAAQ,IAC3CC,KAAeP,MAAaQ,EAAU,cACtCC,KAAgBT,MAAaQ,EAAU,KACvCE,KAAgBC,GAAmBX,CAAQ;AAGjD,MAF8BE,KAAYQ,MAAiBD,MAE9BF,MAEXjE,EAAA;AAAA,QAChB,kBAAkBkC,EAAkB;AAAA,QACpC,2BAA2B;AAAA,UACzB,UAAA6B;AAAA,UACA,mBAAAJ;AAAA,UACA,UAAAD;AAAA,UACA,eAAAH;AAAA,UACA,cAAAC;AAAA,UACA,UAAAK;AAAA,UACA,YAAAC;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAAC/D,GAAWC,CAAiB;AAAA,EAAA,GAGzBsE,KAAiBtC,EAAY,MAAM;AACvC,IAAA5B,EAAW,4CAA4C;AAAA,MACrD,oBAAoBW;AAAA,MACpB,0BAA0BC;AAAA,MAC1B,mCAAmCC;AAAA,MACnC,8BAA8BiC;AAAA,IAAA,CAC/B,GACiBlD,EAAA;AAAA,MAChB,kBAAkB;AAAA,MAClB,uBAAuB;AAAA,MACvB,+BAA+B;AAAA,MAC/B,2BAA2B;AAAA,IAAA,CAC5B,GACmBuB;EAAA,GACnB;AAAA,IACDnB;AAAA,IACAW;AAAA,IACAC;AAAA,IACAC;AAAA,IACAiC;AAAA,IACAlD;AAAA,IACAuB;AAAA,EAAA,CACD,GAEKgD,IAAqBvC;AAAA,IACzB,CAACwC,MAAgC;AAC/B,MAAI,CAACzE,KAAa,CAACyE,EAAS,2BAEVxE,EAAA;AAAA,QAChB,kBAAkBkC,EAAkB;AAAA,QACpC,2BAA2B;AAAA,UACzB,UAAU,CAAC;AAAA,UACX,mBAAmBsC,EAAS;AAAA,UAC5B,UAAUA,EAAS;AAAA,UACnB,eAAeA,EAAS;AAAA,UACxB,cAAcA,EAAS;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACzE,GAAWC,CAAiB;AAAA,EAAA,GAEzByE,IAAoB9C,EAAQ,MAAM;AACtC,UAAM+C,IAAgBzE,KAAA,gBAAAA,EAAa;AAE/B,WAAAyE,MAAkBC,EAAY,sBACzB,UAGLD,MAAkBC,EAAY,0BACzB,cAGF;AAAA,EAAA,GACN,CAAC1E,KAAA,gBAAAA,EAAa,EAAE,CAAC,GAEd2E,KAAgB5C,EAAY,MAAM;AAClC,QAAAjB,MAAqBmB,EAAkB,kBAAkBgB,GAAqB;AAC1E,YAAA;AAAA,QACJ,UAAAa;AAAA,QACA,mBAAAJ;AAAA,QACA,UAAAD;AAAA,QACA,eAAAH;AAAA,QACA,cAAAC;AAAA,QACA,UAAAK;AAAA,QACA,YAAAC;AAAA,MACE,IAAAZ;AAEJ,cAAK,CAACS,KAAqBD,MAAaQ,EAAU,YAAYJ,IAE1D,gBAAAe;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,YAAAhB;AAAA,UACA,WAAAjE;AAAA,UACA,aAAagB;AAAA,UACb,iBAAiB4B;AAAA,UACjB,UAAAnB;AAAA,QAAA;AAAA,MAAA,IAMJ,gBAAAuD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,mBAAApB;AAAA,UACA,MAAK;AAAA,UACL,UAAAD;AAAA,UACA,cAAAF;AAAA,UACA,UAAAlC;AAAA,UACA,WAAWzB,KAAa;AAAA,UACxB,eAAA0D;AAAA,UACA,iBAAiBd;AAAA,UACjB,OAAOsB;AAAA,UACP,kBAAkB,EAAE,gBAAgB,OAAO;AAAA,UAC3C,gBAAgB,EAAE,gBAAgB,OAAO;AAAA,UACzC,UAAUF,KAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAG5B;AAEI,WAAA9C,MAAqBmB,EAAkB,wBAAwBlB,IAE/D,gBAAA6D;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,eAAehE;AAAA,QACf,WAAAnB;AAAA,QACA,UAAAyB;AAAA,QACA,QAAQkB;AAAA,QACR,YAAYa;AAAA,MAAA;AAAA,IAAA,IAKdtC,MAAqBmB,EAAkB,gBAAgBjB,IAEvD,gBAAA4D;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,WAAW,SAAS3E,CAAkB,IAAIW,CAA6B;AAAA,QACvE,QAAAV;AAAA,QACA,WAAAV;AAAA,QACA,iBAAiBoB;AAAA,QACjB,UAAAK;AAAA,QACA,kBAAkBqB;AAAA,QAClB,sBAAsBA;AAAA,QACtB,gBAAgB4B;AAAA,QAChB,SAASpB;AAAA,MAAA;AAAA,IAAA,IAKXpC,MAAqBmB,EAAkB,YAAYjB,IAEnD,gBAAA4D;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAW,SAAS5E,CAAkB,IAAIW,CAA6B;AAAA,QACvE,cAAcV;AAAA,QACd,aAAaU;AAAA,QACb,WAAApB;AAAA,QACA,YAAY;AAAA,QACZ,UAAAyB;AAAA,QACA,cAAcqB;AAAA,QACd,QAAQA;AAAA,QACR,SAASQ;AAAA,QACT,mBAAiB;AAAA,MAAA;AAAA,IAAA,IAKnBpC,MAAqBmB,EAAkB,kBAAkBjB,IAEzD,gBAAA4D;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,WAAW,SAAS7E,CAAkB,IAAIW,CAA6B;AAAA,QACvE,WAAApB;AAAA,QACA,QAAO;AAAA,QACP,OAAOiB,KAAS;AAAA,QAChB,oBAAoBH;AAAA,QACpB,aAAaE;AAAA,QACb,QAAQ8B;AAAA,QACR,aAAaA;AAAA,QACb,UAAArB;AAAA,QACA,aAAaL;AAAA,QACb,gBAAgB;AAAA,QAChB,cAAcV;AAAA,QACd,YAAY;AAAA,QACZ,gBAAAK;AAAA,QACA,mBAAiB;AAAA,QACjB,gBAAc;AAAA,MAAA;AAAA,IAAA,IAMlB,gBAAAiE;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,WAAW,uBAAuB9E,CAAkB;AAAA,QACpD,UAAAgB;AAAA,QACA,aAAaT;AAAA,QACb,WAAAhB;AAAA,QACA,oBAAAS;AAAA,QACA,eAAec,IAAQ,WAAW;AAAA,QAClC,gBAAgBW;AAAA,QAChB,mBAAmBI;AAAA,QACnB,uBAAuBE;AAAA,QACvB,QAAQC;AAAA,QACR,cAAc/B;AAAA,QACd,YAAY8C;AAAA,QACZ,eAAeA;AAAA,QACf,oBAAkB;AAAA,QAClB,mBAAAoB;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAED;AAAA,IACD1D;AAAA,IACAmC;AAAA,IACAlC;AAAA,IACAC;AAAA,IACAX;AAAA,IACAgB;AAAA,IACAT;AAAA,IACAhB;AAAA,IACAuB;AAAA,IACAW;AAAA,IACAI;AAAA,IACAE;AAAA,IACAC;AAAA,IACA/B;AAAA,IACA8C;AAAA,IACAZ;AAAA,IACAD;AAAA,IACAG;AAAA,IACA4B;AAAA,IACApB;AAAA,IACArC;AAAA,IACAH;AAAA,IACAC;AAAA,IACA6D;AAAA,EAAA,CACD;AAED,2BACGY,IAAA,EAAiB,KAAKnE,GAAc,eAAenB,GAClD,UAAA,gBAAA8E;AAAA,IAACS;AAAAA,IAAA;AAAA,MACC,YAAYvF;AAAA,MACZ,eAAeA;AAAA,MACf,IAAG;AAAA,MACH,SAAQ;AAAA,MAER,UAAA,gBAAA8E,EAACU,MAAc,UAAU,gBAAAV,EAACW,MAAM,YAAYlB,GAAgB,CAAA,GACzD,UAAAM,GACH,EAAA,CAAA;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, type FC } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport type { IChapterDataProps } from '../../../chapters/chapter/chapter-types';\nimport ChapterDetails from '../../../chapters-v2/chapter-details/chapter-details';\nimport type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport GoalDraftEditSync from '../../../milestone/edit/goal-draft-edit-sync';\nimport type { IMilestoneEditProps } from '../../../milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-types';\nimport MilestoneListSync from '../../../milestone/milestone-list-container/milestone-list-sync';\nimport EPResourceAssignSync from '../../../milestone/milestone-resources/resources-assign/resource-assign-sync';\nimport TestsCreationSync from '../../../milestone/milestone-tests/tests-creation/tests-creation-sync';\nimport PreviewWorksheet from '../../../worksheet/worksheet-preview/worksheet-preview';\nimport { type TNodeTypes } from '../../../../types/models/worksheet';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { isPLASource } from '../../helper';\nimport { useLearningPlanScrollSync } from '../../hooks/use-learning-plan-scroll-sync';\nimport { ELearningPlanView } from '../../trial-session-types';\nimport { TrialPageId } from '../../trial-session-constants';\nimport * as Styled from './learning-plan-styled';\nimport Error from '../../../ui/error/error';\nimport { useUIContext } from '../../../ui/context/context';\nimport type { IResourceItemData } from '../../../milestone/milestone-resources/resources-assign/resources-assign-type';\nimport { NODE_TYPE } from '../../../sheets/constants/sheet';\nimport { checkIfPPTNodeType } from '../../../chapters/lpar-chapter/utils';\nimport DynamicWorksheetPreview from '../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview';\nimport { useGetAllMilestonesdata } from '../../../milestone/milestone-list-container/api/get-milestones';\nimport type { IMilestoneListQueryParams } from '../../../milestone/milestone-list-container/milestone-list-container-types';\n\nconst LearningPlan: FC = () => {\n const {\n trialHomeData,\n studentId,\n formData,\n isTeacher,\n updateSlideConfig,\n slideConfig,\n onRemoveOptionalSlides,\n } = useTrialSessionContext();\n const { onEvent: trackEvent } = useUIContext();\n const {\n demo_info: { student_classroom_id: studentClassroomId, stream, region_data: regionData },\n intel_student: intelStudent,\n student,\n } = trialHomeData || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { enrollment_type: enrollmentType } = student || {};\n const {\n name = '',\n grade = '',\n learningPlanView,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n } = formData || {};\n const containerRef = useRef<HTMLDivElement>(null);\n const isPLA = isPLASource(intelStudent?.source);\n const userType = isTeacher ? 'TEACHER' : 'STUDENT';\n const { resetScrollPosition, closeScrollChannel } = useLearningPlanScrollSync({\n studentClassroomId,\n containerRef,\n isTeacher,\n });\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group: 'DRAFT',\n course_stream: 'MATH',\n student_id: studentId,\n }) as const,\n [studentId],\n );\n\n const { data: milestoneData, isProcessed: isMilestoneProcessed } =\n useGetAllMilestonesdata(queryParams);\n\n const handleChapterClick = useCallback(\n (chapter: IChapterDataProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_CHAPTER_DETAILS,\n learningPlanChapterId: chapter.id,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleAssignResources = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_RESOURCE,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleCreateTest = useCallback(\n (userMilestoneId: string) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.ADD_TEST,\n learningPlanActiveMilestoneId: userMilestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleEditMilestone = useCallback(\n (editProps: IMilestoneEditProps) => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.EDIT_MILESTONE,\n learningPlanActiveMilestoneId: editProps.milestoneId,\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleBackToList = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanChapterId: undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n const handleExitWorksheet = useCallback(() => {\n if (!isTeacher) return;\n\n const addResourcesView = learningPlanActiveMilestoneId\n ? ELearningPlanView.ADD_RESOURCE\n : undefined;\n\n updateSlideConfig({\n learningPlanView: learningPlanChapterId\n ? ELearningPlanView.VIEW_CHAPTER_DETAILS\n : addResourcesView,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [\n isTeacher,\n learningPlanActiveMilestoneId,\n updateSlideConfig,\n learningPlanChapterId,\n resetScrollPosition,\n ]);\n\n const handleExitForm = useCallback(() => {\n if (!isTeacher) return;\n\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanActiveMilestoneId: undefined,\n });\n resetScrollPosition();\n }, [isTeacher, updateSlideConfig, resetScrollPosition]);\n\n useEffect(() => {\n return () => {\n closeScrollChannel();\n };\n }, [closeScrollChannel]);\n\n useEffect(() => {\n if (isMilestoneProcessed && milestoneData && isTeacher) {\n const hasTestsTab = milestoneData.some(milestone => {\n const visibleTabs = milestone.permissions?.visible_tabs || [];\n\n return visibleTabs.length === 0 || visibleTabs.includes('TESTS');\n });\n\n const hasResourcesTab = milestoneData.some(milestone => {\n const visibleTabs = milestone.permissions?.visible_tabs || [];\n\n return visibleTabs.length === 0 || visibleTabs.includes('RESOURCES');\n });\n\n onRemoveOptionalSlides?.({\n hasTestsTab,\n hasResourcesTab,\n });\n }\n }, [isMilestoneProcessed, milestoneData, isTeacher, onRemoveOptionalSlides]);\n\n const syncedWorksheetData = useMemo(\n () => formData?.learningPlanWorksheetData,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(formData?.learningPlanWorksheetData)],\n );\n\n const handleError = useCallback(\n (errorMessage?: string) => {\n trackEvent('LEARNING_PLAN_SLIDE_ERROR', { message: errorMessage });\n },\n [trackEvent],\n );\n\n const handleViewWorksheet = useCallback(\n (worksheetData: INodeDataProps) => {\n if (!isTeacher || !worksheetData) return;\n\n const {\n title: worksheetName,\n activity_type: activityType,\n items,\n node_type: nodeType,\n learnosity_activity_ref: activityReference,\n is_turing: isTuring,\n image_hue: imageHue,\n user_node_id: userNodeId,\n } = worksheetData;\n const itemRefs = items?.map(item => item.ref) || [];\n const isHiddenNode = nodeType === NODE_TYPE.HIDDEN_BASIC;\n const isPdfNodeType = nodeType === NODE_TYPE.PDF;\n const isPPTNodeType = checkIfPPTNodeType(nodeType);\n const isInstructionNodeType = isTuring || isPPTNodeType || isPdfNodeType;\n\n if (isInstructionNodeType || isHiddenNode) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_WORKSHEET,\n learningPlanWorksheetData: {\n itemRefs,\n activityReference,\n nodeType,\n worksheetName,\n activityType,\n imageHue,\n userNodeId,\n },\n });\n },\n [isTeacher, updateSlideConfig],\n );\n\n const handleTryAgain = useCallback(() => {\n trackEvent('TRIAL_V3_LEARNING_PLAN_SLIDE_APP_CRASHED', {\n learning_plan_view: learningPlanView,\n learning_plan_chapter_id: learningPlanChapterId,\n learning_plan_active_milestone_id: learningPlanActiveMilestoneId,\n learning_plan_worksheet_data: syncedWorksheetData,\n });\n updateSlideConfig({\n learningPlanView: undefined,\n learningPlanChapterId: undefined,\n learningPlanActiveMilestoneId: undefined,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [\n trackEvent,\n learningPlanView,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n syncedWorksheetData,\n updateSlideConfig,\n resetScrollPosition,\n ]);\n\n const handleViewResource = useCallback(\n (resource: IResourceItemData) => {\n if (!isTeacher || !resource.learnosity_activity_ref) return;\n\n updateSlideConfig({\n learningPlanView: ELearningPlanView.VIEW_WORKSHEET,\n learningPlanWorksheetData: {\n itemRefs: [],\n activityReference: resource.learnosity_activity_ref,\n nodeType: resource.node_type as TNodeTypes,\n worksheetName: resource.name,\n activityType: resource.activity_type,\n },\n });\n },\n [isTeacher, updateSlideConfig],\n );\n const defaultVisibleTab = useMemo(() => {\n const currentPageId = slideConfig?.id;\n\n if (currentPageId === TrialPageId.LEARNING_PLAN_TESTS) {\n return 'tests' as const;\n }\n\n if (currentPageId === TrialPageId.LEARNING_PLAN_RESOURCES) {\n return 'resources' as const;\n }\n\n return 'chapters' as const;\n }, [slideConfig?.id]);\n\n const renderContent = useCallback(() => {\n if (learningPlanView === ELearningPlanView.VIEW_WORKSHEET && syncedWorksheetData) {\n const {\n itemRefs,\n activityReference,\n nodeType,\n worksheetName,\n activityType,\n imageHue,\n userNodeId,\n } = syncedWorksheetData;\n\n if ((!activityReference || nodeType === NODE_TYPE.DYNAMIC) && userNodeId) {\n return (\n <DynamicWorksheetPreview\n userNodeId={userNodeId}\n studentId={studentId}\n studentName={name}\n onBackIconClick={handleExitWorksheet}\n userType={userType}\n />\n );\n }\n\n return (\n <PreviewWorksheet\n activityReference={activityReference!}\n mode=\"preview\"\n nodeType={nodeType as TNodeTypes}\n activityType={activityType}\n userType={userType}\n studentId={studentId ?? 'student-id'}\n worksheetName={worksheetName}\n onBackIconClick={handleExitWorksheet}\n items={itemRefs}\n imageHue={imageHue ?? undefined}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.VIEW_CHAPTER_DETAILS && learningPlanChapterId) {\n return (\n <ChapterDetails\n userChapterId={learningPlanChapterId}\n studentId={studentId}\n userType={userType}\n onExit={handleBackToList}\n onNodeView={handleViewWorksheet}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_RESOURCE && learningPlanActiveMilestoneId) {\n return (\n <EPResourceAssignSync\n channelId={`a-r-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n stream={stream}\n studentId={studentId}\n userMilestoneId={learningPlanActiveMilestoneId}\n userType={userType}\n onResourceAssign={handleExitForm}\n onExitResourceAssign={handleExitForm}\n onViewResource={handleViewResource}\n onError={handleError}\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.ADD_TEST && learningPlanActiveMilestoneId) {\n return (\n <TestsCreationSync\n channelId={`a-t-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n courseStream={stream}\n milestoneId={learningPlanActiveMilestoneId}\n studentId={studentId}\n testNumber={1}\n userType={userType}\n onTestAssign={handleExitForm}\n onExit={handleExitForm}\n onError={handleError}\n useAbsoluteFooter\n />\n );\n }\n\n if (learningPlanView === ELearningPlanView.EDIT_MILESTONE && learningPlanActiveMilestoneId) {\n return (\n <GoalDraftEditSync\n channelId={`e-m-s-${studentClassroomId}-${learningPlanActiveMilestoneId}`}\n studentId={studentId}\n height=\"100%\"\n grade={grade || ''}\n currentCountryCode={countryCode}\n studentName={name}\n onExit={handleExitForm}\n onPreSubmit={handleExitForm}\n userType={userType}\n milestoneId={learningPlanActiveMilestoneId}\n isGoalCreation={false}\n courseStream={stream}\n classRatio={1}\n enrollmentType={enrollmentType}\n useAbsoluteFooter\n disablePublish\n />\n );\n }\n\n return (\n <MilestoneListSync\n channelId={`milestone-list-sync-${studentClassroomId}`}\n userType={userType}\n studentName={name}\n studentId={studentId}\n studentClassroomId={studentClassroomId}\n milestoneType={isPLA ? 'ACTIVE' : 'DRAFT'}\n onChapterClick={handleChapterClick}\n onAssignResources={handleAssignResources}\n onCreateMilestoneTest={handleCreateTest}\n onEdit={handleEditMilestone}\n courseStream={stream}\n onNodeView={handleViewWorksheet}\n onTestPreview={handleViewWorksheet}\n isDraftModeEnabled\n defaultVisibleTab={defaultVisibleTab}\n />\n );\n }, [\n learningPlanView,\n syncedWorksheetData,\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n studentClassroomId,\n userType,\n name,\n studentId,\n isPLA,\n handleChapterClick,\n handleAssignResources,\n handleCreateTest,\n handleEditMilestone,\n stream,\n handleViewWorksheet,\n handleExitWorksheet,\n handleBackToList,\n handleExitForm,\n handleViewResource,\n handleError,\n grade,\n countryCode,\n enrollmentType,\n defaultVisibleTab,\n ]);\n\n return (\n <Styled.Container ref={containerRef} $isScrollable={isTeacher}>\n <Styled.Wrapper\n $clickable={isTeacher}\n $isScrollable={isTeacher}\n id=\"milestone-list-element-container\"\n $height=\"100%\"\n >\n <ErrorBoundary fallback={<Error onTryAgain={handleTryAgain} />}>\n {renderContent()}\n </ErrorBoundary>\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default LearningPlan;\n"],"names":["LearningPlan","trialHomeData","studentId","formData","isTeacher","updateSlideConfig","slideConfig","onRemoveOptionalSlides","useTrialSessionContext","trackEvent","useUIContext","studentClassroomId","stream","regionData","intelStudent","student","countryCode","enrollmentType","name","grade","learningPlanView","learningPlanChapterId","learningPlanActiveMilestoneId","containerRef","useRef","isPLA","isPLASource","userType","resetScrollPosition","closeScrollChannel","useLearningPlanScrollSync","queryParams","useMemo","milestoneData","isMilestoneProcessed","useGetAllMilestonesdata","handleChapterClick","useCallback","chapter","ELearningPlanView","handleAssignResources","userMilestoneId","handleCreateTest","handleEditMilestone","editProps","handleBackToList","handleExitWorksheet","addResourcesView","handleExitForm","useEffect","hasTestsTab","milestone","visibleTabs","_a","hasResourcesTab","syncedWorksheetData","handleError","errorMessage","handleViewWorksheet","worksheetData","worksheetName","activityType","items","nodeType","activityReference","isTuring","imageHue","userNodeId","itemRefs","item","isHiddenNode","NODE_TYPE","isPdfNodeType","isPPTNodeType","checkIfPPTNodeType","handleTryAgain","handleViewResource","resource","defaultVisibleTab","currentPageId","TrialPageId","renderContent","jsx","DynamicWorksheetPreview","PreviewWorksheet","ChapterDetails","EPResourceAssignSync","TestsCreationSync","GoalDraftEditSync","MilestoneListSync","Styled.Container","Styled.Wrapper","ErrorBoundary","Error"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EWorksheetActivity as c } from "../../../types/models/worksheet.js";
1
+ import { EWorksheetActivity as S } from "../../../types/models/worksheet.js";
2
2
  import { NODE_TYPE as t } from "../../sheets/constants/sheet.js";
3
3
  const u = [
4
4
  t.SAT_ENGLISH_ASSESSMENT,
@@ -18,23 +18,23 @@ const u = [
18
18
  t.TRIAL_DIAGNOSTIC
19
19
  ], L = (N) => {
20
20
  const {
21
- nodeType: S,
21
+ nodeType: n,
22
22
  activityType: s,
23
23
  inClass: r,
24
24
  isDesmosEnabled: I = !1,
25
25
  userType: E,
26
- mode: n,
26
+ mode: c,
27
27
  worksheetCompleted: i,
28
28
  behaviorOverride: T
29
- } = N, m = R.includes(S), o = u.includes(S), A = n === "resume", a = {
29
+ } = N, m = R.includes(n), o = u.includes(n), A = c === "resume", a = {
30
30
  hints: A,
31
31
  navigationMode: "OPEN",
32
32
  initialQuestion: A || E === "TEACHER" && !i ? "CURRENT" : "FIRST",
33
33
  maximumAttempts: o ? -1 : 99999,
34
34
  minimumAccuracy: 100,
35
- teacherDiscussionEnabled: s === c.LESSON_V3_1,
36
- teacherValidationEnabled: s === c.LESSON_V3 || m,
37
- canTeacherValidate: !!r && (s === c.LESSON_V3 || m),
35
+ teacherDiscussionEnabled: s === S.LESSON_V3_1,
36
+ teacherValidationEnabled: s === S.LESSON_V3 || m,
37
+ canTeacherValidate: !!r && (s === S.LESSON_V3 || m),
38
38
  validation: E === "STUDENT" && o ? !!i : !0,
39
39
  review: !1,
40
40
  canAttempt: E === "STUDENT" ? A : !1,
@@ -43,18 +43,18 @@ const u = [
43
43
  retryButtonLabel: "Retry",
44
44
  canMarkForReview: !1,
45
45
  canShowDesmosCalc: I,
46
- canvasEnabled: n !== "preview",
47
- canScribble: n !== "preview",
46
+ canvasEnabled: c !== "preview",
47
+ canScribble: c !== "preview",
48
48
  solutionHidden: !1
49
49
  };
50
50
  let e;
51
- switch (S) {
51
+ switch (n) {
52
52
  case "LEARNING":
53
53
  case "SAT_MATH_LEARNING":
54
54
  case "SAT_ENGLISH_LEARNING":
55
55
  e = {
56
56
  ...a,
57
- navigationMode: s === c.LESSON_V3 && A && !r ? "OPEN" : "LINEAR",
57
+ navigationMode: s === S.LESSON_V3 && A && !r || c === "preview" ? "OPEN" : "LINEAR",
58
58
  attemptsAfterTeacherInterventionNeeded: 2,
59
59
  review: !0
60
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import { EWorksheetActivity, type TNodeTypes } from '../../../types/models/worksheet';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nexport const ASSESSMENT_NODE_TYPES: TNodeTypes[] = [\n NODE_TYPE.SAT_ENGLISH_ASSESSMENT,\n NODE_TYPE.SAT_MATH_ASSESSMENT,\n NODE_TYPE.ASSESSMENT,\n NODE_TYPE.CHAPTER_ASSESSMENT,\n NODE_TYPE.MASTERY,\n NODE_TYPE.TURING_ASSESSMENT,\n NODE_TYPE.DYNAMIC,\n NODE_TYPE.DIAGNOSTIC,\n NODE_TYPE.TURING_ASSESSMENT,\n];\n\nexport const TRIAL_V3_NODE_TYPES: TNodeTypes[] = [\n NODE_TYPE.TRIAL,\n NODE_TYPE.TRIAL_BASIC,\n NODE_TYPE.TRIAL_INTERMEDIATE,\n NODE_TYPE.TRIAL_ADVANCED,\n NODE_TYPE.TRIAL_DIAGNOSTIC,\n];\n\ninterface IGetWorksheetBehaviour {\n (params: {\n nodeType: TNodeTypes;\n activityType: EWorksheetActivity | null;\n inClass?: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n behaviorOverride?: Partial<IWorksheetBehavior>;\n }): IWorksheetBehavior;\n}\n\nexport const getWorksheetBehaviour: IGetWorksheetBehaviour = params => {\n const {\n nodeType,\n activityType,\n inClass,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n behaviorOverride,\n } = params;\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherDiscussionEnabled: activityType === EWorksheetActivity.LESSON_V3_1,\n teacherValidationEnabled: activityType === EWorksheetActivity.LESSON_V3 || isTrialV3,\n canTeacherValidate: !!inClass && (activityType === EWorksheetActivity.LESSON_V3 || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n let behavior: IWorksheetBehavior;\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n behavior = {\n ...baseBehavior,\n navigationMode:\n activityType === EWorksheetActivity.LESSON_V3 && canAttempt && !inClass\n ? 'OPEN'\n : 'LINEAR',\n attemptsAfterTeacherInterventionNeeded: 2,\n review: true,\n };\n break;\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n review: true,\n };\n break;\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n behavior = { ...baseBehavior, maximumAttempts: 1, review: true };\n break;\n\n case 'TURING_PRACTICE':\n behavior = { ...baseBehavior, maximumAttempts: 1 };\n break;\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n behavior = {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n break;\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n behavior = { ...baseBehavior, navigationMode: 'LINEAR' };\n break;\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n behavior = { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n break;\n\n case 'TRIAL':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n behavior = {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n break;\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n behavior = {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n break;\n\n case 'DYNAMIC':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n hints: false,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n behavior = {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n break;\n\n case 'MASTERY':\n behavior = {\n ...baseBehavior,\n hintsTimer: userType === 'STUDENT' && canAttempt ? 90 : undefined,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n break;\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n break;\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n break;\n\n case 'LEVEL2':\n case 'LEVEL3':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n break;\n\n default:\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n }\n\n return behaviorOverride ? { ...behavior, ...behaviorOverride } : behavior;\n};\n"],"names":["ASSESSMENT_NODE_TYPES","NODE_TYPE","TRIAL_V3_NODE_TYPES","getWorksheetBehaviour","params","nodeType","activityType","inClass","isDesmosEnabled","userType","mode","worksheetCompleted","behaviorOverride","isTrialV3","isAssessment","canAttempt","baseBehavior","EWorksheetActivity","behavior"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import { EWorksheetActivity, type TNodeTypes } from '../../../types/models/worksheet';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nexport const ASSESSMENT_NODE_TYPES: TNodeTypes[] = [\n NODE_TYPE.SAT_ENGLISH_ASSESSMENT,\n NODE_TYPE.SAT_MATH_ASSESSMENT,\n NODE_TYPE.ASSESSMENT,\n NODE_TYPE.CHAPTER_ASSESSMENT,\n NODE_TYPE.MASTERY,\n NODE_TYPE.TURING_ASSESSMENT,\n NODE_TYPE.DYNAMIC,\n NODE_TYPE.DIAGNOSTIC,\n NODE_TYPE.TURING_ASSESSMENT,\n];\n\nexport const TRIAL_V3_NODE_TYPES: TNodeTypes[] = [\n NODE_TYPE.TRIAL,\n NODE_TYPE.TRIAL_BASIC,\n NODE_TYPE.TRIAL_INTERMEDIATE,\n NODE_TYPE.TRIAL_ADVANCED,\n NODE_TYPE.TRIAL_DIAGNOSTIC,\n];\n\ninterface IGetWorksheetBehaviour {\n (params: {\n nodeType: TNodeTypes;\n activityType: EWorksheetActivity | null;\n inClass?: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n behaviorOverride?: Partial<IWorksheetBehavior>;\n }): IWorksheetBehavior;\n}\n\nexport const getWorksheetBehaviour: IGetWorksheetBehaviour = params => {\n const {\n nodeType,\n activityType,\n inClass,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n behaviorOverride,\n } = params;\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherDiscussionEnabled: activityType === EWorksheetActivity.LESSON_V3_1,\n teacherValidationEnabled: activityType === EWorksheetActivity.LESSON_V3 || isTrialV3,\n canTeacherValidate: !!inClass && (activityType === EWorksheetActivity.LESSON_V3 || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n let behavior: IWorksheetBehavior;\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n behavior = {\n ...baseBehavior,\n navigationMode:\n (activityType === EWorksheetActivity.LESSON_V3 && canAttempt && !inClass) ||\n mode === 'preview'\n ? 'OPEN'\n : 'LINEAR',\n attemptsAfterTeacherInterventionNeeded: 2,\n review: true,\n };\n break;\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n review: true,\n };\n break;\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n behavior = { ...baseBehavior, maximumAttempts: 1, review: true };\n break;\n\n case 'TURING_PRACTICE':\n behavior = { ...baseBehavior, maximumAttempts: 1 };\n break;\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n behavior = {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n break;\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n behavior = { ...baseBehavior, navigationMode: 'LINEAR' };\n break;\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n behavior = { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n break;\n\n case 'TRIAL':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n behavior = {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n break;\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n behavior = {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n break;\n\n case 'DYNAMIC':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n hints: false,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n behavior = {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n break;\n\n case 'MASTERY':\n behavior = {\n ...baseBehavior,\n hintsTimer: userType === 'STUDENT' && canAttempt ? 90 : undefined,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n break;\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n break;\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n break;\n\n case 'LEVEL2':\n case 'LEVEL3':\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n break;\n\n default:\n behavior = {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n }\n\n return behaviorOverride ? { ...behavior, ...behaviorOverride } : behavior;\n};\n"],"names":["ASSESSMENT_NODE_TYPES","NODE_TYPE","TRIAL_V3_NODE_TYPES","getWorksheetBehaviour","params","nodeType","activityType","inClass","isDesmosEnabled","userType","mode","worksheetCompleted","behaviorOverride","isTrialV3","isAssessment","canAttempt","baseBehavior","EWorksheetActivity","behavior"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3725,8 +3725,6 @@ declare interface IProjects_2 {
3725
3725
  declare interface IPTMReportProps {
3726
3726
  ptmId: string;
3727
3727
  onAPIComplete?: (success: boolean) => void;
3728
- onFeedback?: (feedbackType: 'positive' | 'negative', ptmId: string, teacherName: string) => void;
3729
- showFeedback?: boolean;
3730
3728
  }
3731
3729
 
3732
3730
  declare interface IPublishData {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "4.1.1-beta.5",
3
+ "version": "4.1.1-gg2",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,16 +0,0 @@
1
- import o from "styled-components";
2
- import t from "../../../../../ui/layout/flex-view.js";
3
- const p = o(t)`
4
- width: 100%;
5
- `, d = o(t)`
6
- ${({ theme: r }) => `
7
- width: 64px;
8
- height: 64px;
9
- border: 1px solid ${r.colors.BLACK_1};
10
- `}
11
- `;
12
- export {
13
- p as Container,
14
- d as ThumbButton
15
- };
16
- //# sourceMappingURL=ptm-feedback-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptm-feedback-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const Container = styled(FlexView)`\n width: 100%;\n`;\n\nexport const ThumbButton = styled(FlexView)<{ selected?: boolean }>`\n ${({ theme }: { theme: any }) => `\n width: 64px;\n height: 64px;\n border: 1px solid ${theme.colors.BLACK_1};\n`}\n`;\n"],"names":["Container","styled","FlexView","ThumbButton","theme"],"mappings":";;AAIa,MAAAA,IAAYC,EAAOC,CAAQ;AAAA;AAAA,GAI3BC,IAAcF,EAAOC,CAAQ;AAAA,IACtC,CAAC,EAAE,OAAAE,EAAA,MAA4B;AAAA;AAAA;AAAA,sBAGbA,EAAM,OAAO,OAAO;AAAA,CACzC;AAAA;"}
@@ -1,56 +0,0 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { memo as d, useCallback as i } from "react";
3
- import { ILLUSTRATIONS as o } from "../../../../../../assets/illustrations/illustrations.js";
4
- import n from "../../../../../ui/layout/flex-view.js";
5
- import h from "../../../../../ui/image/image.js";
6
- import a from "../../../../../ui/separator/separator.js";
7
- import $ from "../../../../../ui/text/text.js";
8
- import { Container as u, ThumbButton as c } from "./ptm-feedback-styled.js";
9
- const I = d(function({ studentName: l, onFeedback: t }) {
10
- const m = i(() => {
11
- t("positive");
12
- }, [t]), s = i(() => {
13
- t("negative");
14
- }, [t]);
15
- return /* @__PURE__ */ r(u, { $gapX: 1.25, $background: "WHITE_1", $gutterX: 2, children: [
16
- /* @__PURE__ */ e(n, { $gutterX: 1, children: /* @__PURE__ */ r($, { $renderAs: "ab2-black", $color: "BLACK_1", $align: "center", children: [
17
- "Are you happy with ",
18
- l,
19
- "'s PTM?"
20
- ] }) }),
21
- /* @__PURE__ */ e(a, { heightX: 1.5 }),
22
- /* @__PURE__ */ r(n, { $flexDirection: "row", $flexGapX: 3, $alignItems: "center", $justifyContent: "center", children: [
23
- /* @__PURE__ */ e(
24
- c,
25
- {
26
- $widthX: 5,
27
- $heightX: 5,
28
- $alignItems: "center",
29
- $justifyContent: "center",
30
- $borderRadiusX: 2.5,
31
- $borderColor: "BLACK_1",
32
- onClick: m,
33
- children: /* @__PURE__ */ e(h, { src: o.THUMPS_UP, alt: "Thumbs up", width: 32, height: 32 })
34
- }
35
- ),
36
- /* @__PURE__ */ e(
37
- c,
38
- {
39
- $widthX: 5,
40
- $heightX: 5,
41
- $alignItems: "center",
42
- $justifyContent: "center",
43
- $borderColor: "BLACK_1",
44
- $borderRadiusX: 2.5,
45
- onClick: s,
46
- children: /* @__PURE__ */ e(h, { src: o.THUMPS_DOWN, alt: "Thumbs down", width: 32, height: 32 })
47
- }
48
- )
49
- ] }),
50
- /* @__PURE__ */ e(a, { heightX: 1.5 })
51
- ] });
52
- });
53
- export {
54
- I as default
55
- };
56
- //# sourceMappingURL=ptm-feedback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptm-feedback.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Image from '../../../../../ui/image/image';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport type { IPTMFeedbackProps } from './ptm-feedback-types';\nimport * as Styled from './ptm-feedback-styled';\n\nconst PTMFeedback: FC<IPTMFeedbackProps> = memo(function PTMFeedback({ studentName, onFeedback }) {\n const handlePositiveFeedback = useCallback(() => {\n onFeedback('positive');\n }, [onFeedback]);\n\n const handleNegativeFeedback = useCallback(() => {\n onFeedback('negative');\n }, [onFeedback]);\n\n return (\n <Styled.Container $gapX={1.25} $background=\"WHITE_1\" $gutterX={2}>\n <FlexView $gutterX={1}>\n <Text $renderAs=\"ab2-black\" $color=\"BLACK_1\" $align=\"center\">\n Are you happy with {studentName}&apos;s PTM?\n </Text>\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $flexGapX={3} $alignItems=\"center\" $justifyContent=\"center\">\n <Styled.ThumbButton\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={2.5}\n $borderColor=\"BLACK_1\"\n onClick={handlePositiveFeedback}\n >\n <Image src={ILLUSTRATIONS.THUMPS_UP} alt=\"Thumbs up\" width={32} height={32} />\n </Styled.ThumbButton>\n <Styled.ThumbButton\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_1\"\n $borderRadiusX={2.5}\n onClick={handleNegativeFeedback}\n >\n <Image src={ILLUSTRATIONS.THUMPS_DOWN} alt=\"Thumbs down\" width={32} height={32} />\n </Styled.ThumbButton>\n </FlexView>\n <Separator heightX={1.5} />\n </Styled.Container>\n );\n});\n\nexport default PTMFeedback;\n"],"names":["PTMFeedback","memo","studentName","onFeedback","handlePositiveFeedback","useCallback","handleNegativeFeedback","jsxs","Styled.Container","jsx","FlexView","Text","Separator","Styled.ThumbButton","Image","ILLUSTRATIONS"],"mappings":";;;;;;;;AAUA,MAAMA,IAAqCC,EAAK,SAAqB,EAAE,aAAAC,GAAa,YAAAC,KAAc;AAC1F,QAAAC,IAAyBC,EAAY,MAAM;AAC/C,IAAAF,EAAW,UAAU;AAAA,EAAA,GACpB,CAACA,CAAU,CAAC,GAETG,IAAyBD,EAAY,MAAM;AAC/C,IAAAF,EAAW,UAAU;AAAA,EAAA,GACpB,CAACA,CAAU,CAAC;AAGb,SAAA,gBAAAI,EAACC,GAAA,EAAiB,OAAO,MAAM,aAAY,WAAU,UAAU,GAC7D,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAS,UAAU,GAClB,UAAC,gBAAAH,EAAAI,GAAA,EAAK,WAAU,aAAY,QAAO,WAAU,QAAO,UAAS,UAAA;AAAA,MAAA;AAAA,MACvCT;AAAA,MAAY;AAAA,IAAA,EAAA,CAClC,EACF,CAAA;AAAA,IACA,gBAAAO,EAACG,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACzB,gBAAAL,EAACG,KAAS,gBAAe,OAAM,WAAW,GAAG,aAAY,UAAS,iBAAgB,UAChF,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAACI;AAAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,gBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,SAAST;AAAA,UAET,UAAA,gBAAAK,EAACK,GAAM,EAAA,KAAKC,EAAc,WAAW,KAAI,aAAY,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,QAAA;AAAA,MAC9E;AAAA,MACA,gBAAAN;AAAA,QAACI;AAAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,SAASP;AAAA,UAET,UAAA,gBAAAG,EAACK,GAAM,EAAA,KAAKC,EAAc,aAAa,KAAI,eAAc,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,QAAA;AAAA,MAClF;AAAA,IAAA,GACF;AAAA,IACA,gBAAAN,EAACG,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,EAC3B,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,22 +0,0 @@
1
- import t from "styled-components";
2
- import r from "../../../../../ui/layout/flex-view.js";
3
- const x = t(r)(
4
- ({ theme: o }) => `
5
- position: fixed;
6
- bottom: 0;
7
- width: 100%;
8
- background-color: ${o.colors.WHITE_3};
9
- border: 1px solid ${o.colors.BLACK_5};
10
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
11
- z-index: 100;
12
- max-width: 480px;
13
- `
14
- ), p = t(r)`
15
- width: 100%;
16
- max-width: 100%;
17
- `;
18
- export {
19
- p as ContentWrapper,
20
- x as StickyContainer
21
- };
22
- //# sourceMappingURL=sticky-footer-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticky-footer-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const StickyContainer = styled(FlexView)(\n ({ theme }) => `\n position: fixed;\n bottom: 0;\n width: 100%;\n background-color: ${theme.colors.WHITE_3};\n border: 1px solid ${theme.colors.BLACK_5};\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);\n z-index: 100;\n max-width: 480px;\n `,\n);\n\nexport const ContentWrapper = styled(FlexView)`\n width: 100%;\n max-width: 100%;\n`;\n"],"names":["StickyContainer","styled","FlexView","theme","ContentWrapper"],"mappings":";;AAIa,MAAAA,IAAkBC,EAAOC,CAAQ;AAAA,EAC5C,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA,wBAIOA,EAAM,OAAO,OAAO;AAAA,wBACpBA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAK5C,GAEaC,IAAiBH,EAAOC,CAAQ;AAAA;AAAA;AAAA;"}
@@ -1,14 +0,0 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { memo as e } from "react";
3
- import i from "../ptm-feedback/ptm-feedback.js";
4
- import { StickyContainer as m, ContentWrapper as n } from "./sticky-footer-styled.js";
5
- const k = e(function({
6
- studentName: r,
7
- onFeedback: t
8
- }) {
9
- return /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(n, { children: /* @__PURE__ */ o(i, { studentName: r, onFeedback: t }) }) });
10
- });
11
- export {
12
- k as default
13
- };
14
- //# sourceMappingURL=sticky-footer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sticky-footer.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport PTMFeedback from '../ptm-feedback/ptm-feedback';\nimport type { IStickyFooterProps } from './sticky-footer-types';\nimport * as Styled from './sticky-footer-styled';\n\nconst StickyFooter: FC<IStickyFooterProps> = memo(function StickyFooter({\n studentName,\n onFeedback,\n}) {\n return (\n <Styled.StickyContainer>\n <Styled.ContentWrapper>\n <PTMFeedback studentName={studentName} onFeedback={onFeedback} />\n </Styled.ContentWrapper>\n </Styled.StickyContainer>\n );\n});\n\nexport default StickyFooter;\n"],"names":["StickyFooter","memo","studentName","onFeedback","jsx","Styled.StickyContainer","Styled.ContentWrapper","PTMFeedback"],"mappings":";;;;AAMM,MAAAA,IAAuCC,EAAK,SAAsB;AAAA,EACtE,aAAAC;AAAA,EACA,YAAAC;AACF,GAAG;AACD,SACG,gBAAAC,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,EACC,UAAC,gBAAAF,EAAAG,GAAA,EAAY,aAAAL,GAA0B,YAAAC,EAAA,CAAwB,GACjE,EACF,CAAA;AAEJ,CAAC;"}