@cuemath/leap 4.0.4 → 4.0.6

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 (33) hide show
  1. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +49 -47
  2. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  3. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +160 -128
  4. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  5. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +89 -87
  6. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  7. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +104 -102
  8. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  9. package/dist/features/trial-session/comps/learning-plan/index.js +260 -222
  10. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  11. package/dist/features/trial-session/comps/school-goals/school-goals.js +1 -1
  12. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  13. package/dist/features/trial-session/comps/student-info/student-info.js +11 -11
  14. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  15. package/dist/features/trial-session/helper.js +117 -104
  16. package/dist/features/trial-session/helper.js.map +1 -1
  17. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +76 -76
  18. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  19. package/dist/features/trial-session/right-panel/slide-components-map.js +40 -38
  20. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  21. package/dist/features/trial-session/trial-session-constants.js +28 -24
  22. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  23. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  24. package/dist/features/trial-session/trial-session.js +62 -59
  25. package/dist/features/trial-session/trial-session.js.map +1 -1
  26. package/dist/features/utils/get-rgba-from-hex.js +18 -0
  27. package/dist/features/utils/get-rgba-from-hex.js.map +1 -0
  28. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js +43 -31
  29. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  30. package/dist/index.d.ts +38 -0
  31. package/dist/index.js +92 -90
  32. package/dist/index.js.map +1 -1
  33. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"slide-components-map.js","sources":["../../../../src/features/trial-session/right-panel/slide-components-map.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport AdditionalInfo from '../comps/additional-info/additional-info';\nimport ClassPreference from '../comps/class-preference/class-preference';\nimport CommunicationSlide from '../comps/communication-slide';\nimport LearningPlan from '../comps/learning-plan';\nimport LearningSession from '../comps/learning-session/learning-session';\nimport OfferingInformation from '../comps/offering-information/offering-information';\nimport SessionPricing from '../comps/pricing/pricing';\nimport SchoolGoals from '../comps/school-goals/school-goals';\nimport SessionInsights from '../comps/session-insights/session-insights';\nimport SessionOverview from '../comps/session-overview/session-overview';\nimport SessionReport from '../comps/session-report/session-report';\nimport StudentEnrichment from '../comps/student-enrichment/student-enrichment';\nimport StudentFeedback from '../comps/student-feedback/student-feedback';\nimport StudentInformation from '../comps/student-info/student-info';\nimport StudentPersonalization from '../comps/student-personalization/student-personalization';\nimport StudentProfile from '../comps/student-profile/student-profile';\nimport TeacherIntro from '../comps/teacher-intro/teacher-intro';\nimport TestPrep from '../comps/test-prep/test-prep';\nimport TrialCircleGame from '../comps/trial-circle-game/trial-circle-game';\nimport SessionWorksheet from '../comps/worksheet/worksheet';\nimport { TrialPageId } from '../trial-session-constants';\nimport Whiteboard from '../comps/whiteboard/whiteboard';\nimport SessionProgressSummary from '../comps/session-progress-summary/session-progress-summary';\nimport TopicSelection from '../comps/topic-selection/topic-selection';\n\ninterface ISlideComponent {\n miniScreenDevice: boolean;\n}\n\nconst SlideComponentsMap: Record<TrialPageId, FC<ISlideComponent>> = {\n [TrialPageId.WELCOME_CUEMATH]: CommunicationSlide,\n [TrialPageId.TEACHER_INTRO]: TeacherIntro,\n [TrialPageId.SESSION_OVERVIEW]: SessionOverview,\n [TrialPageId.STUDENT_LEVEL]: StudentFeedback,\n [TrialPageId.STUDENT_INFORMATION]: StudentInformation,\n [TrialPageId.SCHOOL_GOALS]: SchoolGoals,\n [TrialPageId.TEST_PREP]: TestPrep,\n [TrialPageId.STUDENT_ENRICHMENT]: StudentEnrichment,\n [TrialPageId.STUDENT_PERSONALIZATION]: StudentPersonalization,\n [TrialPageId.ADDITIONAL_INFO]: AdditionalInfo, // FYI: Not In Use\n [TrialPageId.STUDENT_PROFILE]: StudentProfile,\n [TrialPageId.LEARNING_LEVEL]: StudentFeedback,\n [TrialPageId.STUDENT_INTRO]: LearningSession,\n [TrialPageId.LEARNING_WORKSHEET]: SessionWorksheet,\n [TrialPageId.COMPLETED_WORKSHEET]: LearningSession,\n [TrialPageId.WELCOME_BACK]: CommunicationSlide,\n [TrialPageId.SESSION_INSIGHTS]: SessionInsights,\n [TrialPageId.SESSION_REPORT]: SessionReport,\n [TrialPageId.LEARNING_PLAN]: LearningPlan,\n [TrialPageId.SESSION_SUMMARY]: SessionOverview,\n [TrialPageId.GOAL_PLANS]: OfferingInformation,\n [TrialPageId.GOAL_DETAILS]: OfferingInformation,\n [TrialPageId.PARENT_APP]: OfferingInformation,\n [TrialPageId.CIRCLE_INFORMATION]: OfferingInformation,\n [TrialPageId.PRICING]: SessionPricing,\n [TrialPageId.CLASS_PREFERENCE]: ClassPreference,\n [TrialPageId.THANK_YOU]: CommunicationSlide,\n [TrialPageId.CIRCLE_GAME]: TrialCircleGame,\n [TrialPageId.CIRCLE_PUZZLE]: TrialCircleGame,\n [TrialPageId.CIRCLE_SKILL]: TrialCircleGame,\n [TrialPageId.WHITEBOARD]: Whiteboard,\n [TrialPageId.SESSION_PROGRESS_SUMMARY]: SessionProgressSummary,\n [TrialPageId.TOPIC_SELECTION]: TopicSelection,\n};\n\nexport default SlideComponentsMap;\n"],"names":["SlideComponentsMap","TrialPageId","CommunicationSlide","TeacherIntro","SessionOverview","StudentFeedback","StudentInformation","SchoolGoals","TestPrep","StudentEnrichment","StudentPersonalization","AdditionalInfo","StudentProfile","LearningSession","SessionWorksheet","SessionInsights","SessionReport","LearningPlan","OfferingInformation","SessionPricing","ClassPreference","TrialCircleGame","Whiteboard","SessionProgressSummary","TopicSelection"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA,IAA+D;AAAA,EACnE,CAACC,EAAY,eAAe,GAAGC;AAAA,EAC/B,CAACD,EAAY,aAAa,GAAGE;AAAA,EAC7B,CAACF,EAAY,gBAAgB,GAAGG;AAAA,EAChC,CAACH,EAAY,aAAa,GAAGI;AAAA,EAC7B,CAACJ,EAAY,mBAAmB,GAAGK;AAAA,EACnC,CAACL,EAAY,YAAY,GAAGM;AAAA,EAC5B,CAACN,EAAY,SAAS,GAAGO;AAAA,EACzB,CAACP,EAAY,kBAAkB,GAAGQ;AAAA,EAClC,CAACR,EAAY,uBAAuB,GAAGS;AAAA,EACvC,CAACT,EAAY,eAAe,GAAGU;AAAA;AAAA,EAC/B,CAACV,EAAY,eAAe,GAAGW;AAAA,EAC/B,CAACX,EAAY,cAAc,GAAGI;AAAA,EAC9B,CAACJ,EAAY,aAAa,GAAGY;AAAA,EAC7B,CAACZ,EAAY,kBAAkB,GAAGa;AAAA,EAClC,CAACb,EAAY,mBAAmB,GAAGY;AAAA,EACnC,CAACZ,EAAY,YAAY,GAAGC;AAAA,EAC5B,CAACD,EAAY,gBAAgB,GAAGc;AAAA,EAChC,CAACd,EAAY,cAAc,GAAGe;AAAA,EAC9B,CAACf,EAAY,aAAa,GAAGgB;AAAA,EAC7B,CAAChB,EAAY,eAAe,GAAGG;AAAA,EAC/B,CAACH,EAAY,UAAU,GAAGiB;AAAA,EAC1B,CAACjB,EAAY,YAAY,GAAGiB;AAAA,EAC5B,CAACjB,EAAY,UAAU,GAAGiB;AAAA,EAC1B,CAACjB,EAAY,kBAAkB,GAAGiB;AAAA,EAClC,CAACjB,EAAY,OAAO,GAAGkB;AAAA,EACvB,CAAClB,EAAY,gBAAgB,GAAGmB;AAAA,EAChC,CAACnB,EAAY,SAAS,GAAGC;AAAA,EACzB,CAACD,EAAY,WAAW,GAAGoB;AAAA,EAC3B,CAACpB,EAAY,aAAa,GAAGoB;AAAA,EAC7B,CAACpB,EAAY,YAAY,GAAGoB;AAAA,EAC5B,CAACpB,EAAY,UAAU,GAAGqB;AAAA,EAC1B,CAACrB,EAAY,wBAAwB,GAAGsB;AAAA,EACxC,CAACtB,EAAY,eAAe,GAAGuB;AACjC;"}
1
+ {"version":3,"file":"slide-components-map.js","sources":["../../../../src/features/trial-session/right-panel/slide-components-map.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport AdditionalInfo from '../comps/additional-info/additional-info';\nimport ClassPreference from '../comps/class-preference/class-preference';\nimport CommunicationSlide from '../comps/communication-slide';\nimport LearningPlan from '../comps/learning-plan';\nimport LearningSession from '../comps/learning-session/learning-session';\nimport OfferingInformation from '../comps/offering-information/offering-information';\nimport SessionPricing from '../comps/pricing/pricing';\nimport SchoolGoals from '../comps/school-goals/school-goals';\nimport SessionInsights from '../comps/session-insights/session-insights';\nimport SessionOverview from '../comps/session-overview/session-overview';\nimport SessionReport from '../comps/session-report/session-report';\nimport StudentEnrichment from '../comps/student-enrichment/student-enrichment';\nimport StudentFeedback from '../comps/student-feedback/student-feedback';\nimport StudentInformation from '../comps/student-info/student-info';\nimport StudentPersonalization from '../comps/student-personalization/student-personalization';\nimport StudentProfile from '../comps/student-profile/student-profile';\nimport TeacherIntro from '../comps/teacher-intro/teacher-intro';\nimport TestPrep from '../comps/test-prep/test-prep';\nimport TrialCircleGame from '../comps/trial-circle-game/trial-circle-game';\nimport SessionWorksheet from '../comps/worksheet/worksheet';\nimport { TrialPageId } from '../trial-session-constants';\nimport Whiteboard from '../comps/whiteboard/whiteboard';\nimport SessionProgressSummary from '../comps/session-progress-summary/session-progress-summary';\nimport TopicSelection from '../comps/topic-selection/topic-selection';\n\ninterface ISlideComponent {\n miniScreenDevice: boolean;\n}\n\nconst SlideComponentsMap: Record<TrialPageId, FC<ISlideComponent>> = {\n [TrialPageId.WELCOME_CUEMATH]: CommunicationSlide,\n [TrialPageId.TEACHER_INTRO]: TeacherIntro,\n [TrialPageId.SESSION_OVERVIEW]: SessionOverview,\n [TrialPageId.STUDENT_LEVEL]: StudentFeedback,\n [TrialPageId.STUDENT_INFORMATION]: StudentInformation,\n [TrialPageId.SCHOOL_GOALS]: SchoolGoals,\n [TrialPageId.TEST_PREP]: TestPrep,\n [TrialPageId.STUDENT_ENRICHMENT]: StudentEnrichment,\n [TrialPageId.STUDENT_PERSONALIZATION]: StudentPersonalization,\n [TrialPageId.ADDITIONAL_INFO]: AdditionalInfo, // FYI: Not In Use\n [TrialPageId.STUDENT_PROFILE]: StudentProfile,\n [TrialPageId.LEARNING_LEVEL]: StudentFeedback,\n [TrialPageId.STUDENT_INTRO]: LearningSession,\n [TrialPageId.LEARNING_WORKSHEET]: SessionWorksheet,\n [TrialPageId.COMPLETED_WORKSHEET]: LearningSession,\n [TrialPageId.WELCOME_BACK]: CommunicationSlide,\n [TrialPageId.SESSION_INSIGHTS]: SessionInsights,\n [TrialPageId.SESSION_REPORT]: SessionReport,\n [TrialPageId.LEARNING_PLAN]: LearningPlan,\n [TrialPageId.LEARNING_PLAN_TESTS]: LearningPlan,\n [TrialPageId.LEARNING_PLAN_RESOURCES]: LearningPlan,\n [TrialPageId.SESSION_SUMMARY]: SessionOverview,\n [TrialPageId.GOAL_PLANS]: OfferingInformation,\n [TrialPageId.GOAL_DETAILS]: OfferingInformation,\n [TrialPageId.PARENT_APP]: OfferingInformation,\n [TrialPageId.CIRCLE_INFORMATION]: OfferingInformation,\n [TrialPageId.PRICING]: SessionPricing,\n [TrialPageId.CLASS_PREFERENCE]: ClassPreference,\n [TrialPageId.THANK_YOU]: CommunicationSlide,\n [TrialPageId.CIRCLE_GAME]: TrialCircleGame,\n [TrialPageId.CIRCLE_PUZZLE]: TrialCircleGame,\n [TrialPageId.CIRCLE_SKILL]: TrialCircleGame,\n [TrialPageId.WHITEBOARD]: Whiteboard,\n [TrialPageId.SESSION_PROGRESS_SUMMARY]: SessionProgressSummary,\n [TrialPageId.TOPIC_SELECTION]: TopicSelection,\n};\n\nexport default SlideComponentsMap;\n"],"names":["SlideComponentsMap","TrialPageId","CommunicationSlide","TeacherIntro","SessionOverview","StudentFeedback","StudentInformation","SchoolGoals","TestPrep","StudentEnrichment","StudentPersonalization","AdditionalInfo","StudentProfile","LearningSession","SessionWorksheet","SessionInsights","SessionReport","LearningPlan","OfferingInformation","SessionPricing","ClassPreference","TrialCircleGame","Whiteboard","SessionProgressSummary","TopicSelection"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA,IAA+D;AAAA,EACnE,CAACC,EAAY,eAAe,GAAGC;AAAA,EAC/B,CAACD,EAAY,aAAa,GAAGE;AAAA,EAC7B,CAACF,EAAY,gBAAgB,GAAGG;AAAA,EAChC,CAACH,EAAY,aAAa,GAAGI;AAAA,EAC7B,CAACJ,EAAY,mBAAmB,GAAGK;AAAA,EACnC,CAACL,EAAY,YAAY,GAAGM;AAAA,EAC5B,CAACN,EAAY,SAAS,GAAGO;AAAA,EACzB,CAACP,EAAY,kBAAkB,GAAGQ;AAAA,EAClC,CAACR,EAAY,uBAAuB,GAAGS;AAAA,EACvC,CAACT,EAAY,eAAe,GAAGU;AAAA;AAAA,EAC/B,CAACV,EAAY,eAAe,GAAGW;AAAA,EAC/B,CAACX,EAAY,cAAc,GAAGI;AAAA,EAC9B,CAACJ,EAAY,aAAa,GAAGY;AAAA,EAC7B,CAACZ,EAAY,kBAAkB,GAAGa;AAAA,EAClC,CAACb,EAAY,mBAAmB,GAAGY;AAAA,EACnC,CAACZ,EAAY,YAAY,GAAGC;AAAA,EAC5B,CAACD,EAAY,gBAAgB,GAAGc;AAAA,EAChC,CAACd,EAAY,cAAc,GAAGe;AAAA,EAC9B,CAACf,EAAY,aAAa,GAAGgB;AAAA,EAC7B,CAAChB,EAAY,mBAAmB,GAAGgB;AAAA,EACnC,CAAChB,EAAY,uBAAuB,GAAGgB;AAAA,EACvC,CAAChB,EAAY,eAAe,GAAGG;AAAA,EAC/B,CAACH,EAAY,UAAU,GAAGiB;AAAA,EAC1B,CAACjB,EAAY,YAAY,GAAGiB;AAAA,EAC5B,CAACjB,EAAY,UAAU,GAAGiB;AAAA,EAC1B,CAACjB,EAAY,kBAAkB,GAAGiB;AAAA,EAClC,CAACjB,EAAY,OAAO,GAAGkB;AAAA,EACvB,CAAClB,EAAY,gBAAgB,GAAGmB;AAAA,EAChC,CAACnB,EAAY,SAAS,GAAGC;AAAA,EACzB,CAACD,EAAY,WAAW,GAAGoB;AAAA,EAC3B,CAACpB,EAAY,aAAa,GAAGoB;AAAA,EAC7B,CAACpB,EAAY,YAAY,GAAGoB;AAAA,EAC5B,CAACpB,EAAY,UAAU,GAAGqB;AAAA,EAC1B,CAACrB,EAAY,wBAAwB,GAAGsB;AAAA,EACxC,CAACtB,EAAY,eAAe,GAAGuB;AACjC;"}
@@ -1,19 +1,22 @@
1
- var s = /* @__PURE__ */ ((E) => (E.WELCOME_CUEMATH = "welcome-cuemath", E.CIRCLE_GAME = "circle-game", E.TEACHER_INTRO = "teacher-intro", E.SESSION_OVERVIEW = "session-overview", E.STUDENT_LEVEL = "student-level", E.STUDENT_INFORMATION = "student-information", E.SCHOOL_GOALS = "school-goals", E.TEST_PREP = "test-prep", E.STUDENT_ENRICHMENT = "student-enrichment", E.STUDENT_PERSONALIZATION = "student-personalization", E.ADDITIONAL_INFO = "additional-info", E.STUDENT_PROFILE = "student-profile", E.STUDENT_INTRO = "student-intro", E.LEARNING_LEVEL = "learning-level", E.LEARNING_WORKSHEET = "learning-worksheet", E.COMPLETED_WORKSHEET = "completed-worksheet", E.WELCOME_BACK = "welcome-back", E.SESSION_INSIGHTS = "session-insights", E.SESSION_REPORT = "session-report", E.LEARNING_PLAN = "learning-plan", E.SESSION_SUMMARY = "session-summary", E.GOAL_DETAILS = "goal-details", E.GOAL_PLANS = "goal-plans", E.PARENT_APP = "parent-app", E.CIRCLE_INFORMATION = "circle-information", E.PRICING = "pricing", E.CLASS_PREFERENCE = "class-preference", E.THANK_YOU = "thank-you", E.CIRCLE_PUZZLE = "circle-puzzle", E.CIRCLE_SKILL = "circle-skill", E.WHITEBOARD = "whiteboard", E.SESSION_PROGRESS_SUMMARY = "session-progress-summary", E.TOPIC_SELECTION = "topic-selection", E))(s || {});
2
- const e = [
3
- "learning-worksheet",
1
+ var n = /* @__PURE__ */ ((E) => (E.WELCOME_CUEMATH = "welcome-cuemath", E.CIRCLE_GAME = "circle-game", E.TEACHER_INTRO = "teacher-intro", E.SESSION_OVERVIEW = "session-overview", E.STUDENT_LEVEL = "student-level", E.STUDENT_INFORMATION = "student-information", E.SCHOOL_GOALS = "school-goals", E.TEST_PREP = "test-prep", E.STUDENT_ENRICHMENT = "student-enrichment", E.STUDENT_PERSONALIZATION = "student-personalization", E.ADDITIONAL_INFO = "additional-info", E.STUDENT_PROFILE = "student-profile", E.STUDENT_INTRO = "student-intro", E.LEARNING_LEVEL = "learning-level", E.LEARNING_WORKSHEET = "learning-worksheet", E.COMPLETED_WORKSHEET = "completed-worksheet", E.WELCOME_BACK = "welcome-back", E.SESSION_INSIGHTS = "session-insights", E.SESSION_REPORT = "session-report", E.LEARNING_PLAN = "learning-plan", E.LEARNING_PLAN_TESTS = "learning-plan-tests", E.LEARNING_PLAN_RESOURCES = "learning-plan-resources", E.SESSION_SUMMARY = "session-summary", E.GOAL_DETAILS = "goal-details", E.GOAL_PLANS = "goal-plans", E.PARENT_APP = "parent-app", E.CIRCLE_INFORMATION = "circle-information", E.PRICING = "pricing", E.CLASS_PREFERENCE = "class-preference", E.THANK_YOU = "thank-you", E.CIRCLE_PUZZLE = "circle-puzzle", E.CIRCLE_SKILL = "circle-skill", E.WHITEBOARD = "whiteboard", E.SESSION_PROGRESS_SUMMARY = "session-progress-summary", E.TOPIC_SELECTION = "topic-selection", E))(n || {});
2
+ const s = [
4
3
  "learning-plan",
4
+ "learning-plan-tests",
5
+ "learning-plan-resources"
6
+ /* LEARNING_PLAN_RESOURCES */
7
+ ], e = [
8
+ "learning-worksheet",
5
9
  "circle-game",
6
10
  "circle-puzzle",
7
- "circle-skill"
8
- /* CIRCLE_SKILL */
9
- ], n = [
11
+ "circle-skill",
12
+ ...s
13
+ ], t = [
10
14
  "learning-worksheet",
11
15
  "circle-game",
12
- "learning-plan",
13
16
  "circle-puzzle",
14
- "circle-skill"
15
- /* CIRCLE_SKILL */
16
- ], t = [
17
+ "circle-skill",
18
+ ...s
19
+ ], N = [
17
20
  "pricing",
18
21
  "student-intro",
19
22
  "completed-worksheet",
@@ -29,10 +32,10 @@ const e = [
29
32
  /* CIRCLE_SKILL */
30
33
  ];
31
34
  var _ = /* @__PURE__ */ ((E) => (E.TRIAL_V3 = "TRIAL_V3", E.TRIAL_V3_3 = "TRIAL_V3_3", E))(_ || {});
32
- const o = {
35
+ const A = {
33
36
  left: { isDisabled: !1, isLoading: !1 },
34
37
  right: { isDisabled: !1, isLoading: !1 }
35
- }, A = 800, S = 700, L = 480, N = 360, R = 64, C = 540, O = "Asia/Calcutta", l = 3, i = {
38
+ }, L = 800, S = 700, o = 480, R = 360, C = 64, O = 540, l = "Asia/Calcutta", i = 3, r = {
36
39
  "USCC.ALGBRA1": "algebra_i",
37
40
  "USCC.ALGBRA2": "algebra_ii",
38
41
  "USCC.GEOMRY": "geometry",
@@ -41,21 +44,22 @@ const o = {
41
44
  "USCC.APPRECAL": "precalculus"
42
45
  };
43
46
  export {
44
- n as ACTIONABLE_COMPONENT_IDS,
47
+ t as ACTIONABLE_COMPONENT_IDS,
45
48
  c as CIRCLE_GAME_SLIDES,
46
- o as DEFAULT_BUTTON_STATE,
49
+ A as DEFAULT_BUTTON_STATE,
47
50
  _ as DemoType,
48
- i as HIGH_ENROLLMENT_PROGRAMS_MAP,
49
- l as MAXIMUM_TOPICS_TO_SELECT,
50
- C as MINIMUM_SCREEN_HEIGHT,
51
- R as NAVIGATION_BAR_HEIGHT,
51
+ r as HIGH_ENROLLMENT_PROGRAMS_MAP,
52
+ s as LEARNING_PLAN_SLIDES,
53
+ i as MAXIMUM_TOPICS_TO_SELECT,
54
+ O as MINIMUM_SCREEN_HEIGHT,
55
+ C as NAVIGATION_BAR_HEIGHT,
52
56
  e as PAGES_WITHOUT_GRID,
53
57
  S as RIGHT_PANEL_CONTENT_WIDTH,
54
- A as RIGHT_PANEL_WIDTH,
55
- t as SCROLLABLE_COMPONENT_IDS,
56
- N as STUDENT_LEFT_PANEL_MAX_WIDTH,
57
- L as TEACHER_LEFT_PANEL_MAX_WIDTH,
58
- O as TEACHER_TIMEZONE,
59
- s as TrialPageId
58
+ L as RIGHT_PANEL_WIDTH,
59
+ N as SCROLLABLE_COMPONENT_IDS,
60
+ R as STUDENT_LEFT_PANEL_MAX_WIDTH,
61
+ o as TEACHER_LEFT_PANEL_MAX_WIDTH,
62
+ l as TEACHER_TIMEZONE,
63
+ n as TrialPageId
60
64
  };
61
65
  //# sourceMappingURL=trial-session-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-constants.js","sources":["../../../src/features/trial-session/trial-session-constants.ts"],"sourcesContent":["export enum TrialPageId {\n WELCOME_CUEMATH = 'welcome-cuemath',\n CIRCLE_GAME = 'circle-game',\n TEACHER_INTRO = 'teacher-intro',\n SESSION_OVERVIEW = 'session-overview',\n STUDENT_LEVEL = 'student-level',\n STUDENT_INFORMATION = 'student-information',\n SCHOOL_GOALS = 'school-goals',\n TEST_PREP = 'test-prep',\n STUDENT_ENRICHMENT = 'student-enrichment',\n STUDENT_PERSONALIZATION = 'student-personalization',\n ADDITIONAL_INFO = 'additional-info',\n STUDENT_PROFILE = 'student-profile',\n STUDENT_INTRO = 'student-intro',\n LEARNING_LEVEL = 'learning-level',\n LEARNING_WORKSHEET = 'learning-worksheet',\n COMPLETED_WORKSHEET = 'completed-worksheet',\n WELCOME_BACK = 'welcome-back',\n SESSION_INSIGHTS = 'session-insights', // FYI: Not In Use\n SESSION_REPORT = 'session-report',\n LEARNING_PLAN = 'learning-plan',\n SESSION_SUMMARY = 'session-summary',\n GOAL_DETAILS = 'goal-details',\n GOAL_PLANS = 'goal-plans',\n PARENT_APP = 'parent-app',\n CIRCLE_INFORMATION = 'circle-information',\n PRICING = 'pricing',\n CLASS_PREFERENCE = 'class-preference',\n THANK_YOU = 'thank-you',\n CIRCLE_PUZZLE = 'circle-puzzle',\n CIRCLE_SKILL = 'circle-skill',\n WHITEBOARD = 'whiteboard',\n SESSION_PROGRESS_SUMMARY = 'session-progress-summary',\n TOPIC_SELECTION = 'topic-selection',\n}\n\nexport const PAGES_WITHOUT_GRID = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const ACTIONABLE_COMPONENT_IDS = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.LEARNING_PLAN,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport const SCROLLABLE_COMPONENT_IDS = [\n TrialPageId.PRICING,\n TrialPageId.STUDENT_INTRO,\n TrialPageId.COMPLETED_WORKSHEET,\n TrialPageId.PARENT_APP,\n TrialPageId.GOAL_DETAILS,\n TrialPageId.WHITEBOARD,\n TrialPageId.SESSION_PROGRESS_SUMMARY,\n];\n\nexport const CIRCLE_GAME_SLIDES = [\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport enum DemoType {\n TRIAL_V3 = 'TRIAL_V3',\n TRIAL_V3_3 = 'TRIAL_V3_3',\n}\n\nexport const DEFAULT_BUTTON_STATE = {\n left: { isDisabled: false, isLoading: false },\n right: { isDisabled: false, isLoading: false },\n};\n\nexport const RIGHT_PANEL_WIDTH = 800;\nexport const RIGHT_PANEL_CONTENT_WIDTH = 700;\nexport const TEACHER_LEFT_PANEL_MAX_WIDTH = 480;\nexport const STUDENT_LEFT_PANEL_MAX_WIDTH = 360;\nexport const NAVIGATION_BAR_HEIGHT = 64;\nexport const MINIMUM_SCREEN_HEIGHT = 540;\nexport const TEACHER_TIMEZONE = 'Asia/Calcutta';\nexport const MAXIMUM_TOPICS_TO_SELECT = 3;\n\nexport const HIGH_ENROLLMENT_PROGRAMS_MAP = {\n 'USCC.ALGBRA1': 'algebra_i',\n 'USCC.ALGBRA2': 'algebra_ii',\n 'USCC.GEOMRY': 'geometry',\n 'USCC.PRECAL': 'precalculus',\n 'USCC.CLCULS': 'calculus',\n 'USCC.APPRECAL': 'precalculus',\n};\n"],"names":["TrialPageId","PAGES_WITHOUT_GRID","ACTIONABLE_COMPONENT_IDS","SCROLLABLE_COMPONENT_IDS","CIRCLE_GAME_SLIDES","DemoType","DEFAULT_BUTTON_STATE","RIGHT_PANEL_WIDTH","RIGHT_PANEL_CONTENT_WIDTH","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","NAVIGATION_BAR_HEIGHT","MINIMUM_SCREEN_HEIGHT","TEACHER_TIMEZONE","MAXIMUM_TOPICS_TO_SELECT","HIGH_ENROLLMENT_PROGRAMS_MAP"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,gBAAgB,iBAChBA,EAAA,mBAAmB,oBACnBA,EAAA,gBAAgB,iBAChBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,YAAY,aACZA,EAAA,qBAAqB,sBACrBA,EAAA,0BAA0B,2BAC1BA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,mBAAmB,oBACnBA,EAAA,iBAAiB,kBACjBA,EAAA,gBAAgB,iBAChBA,EAAA,kBAAkB,mBAClBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,aAAa,cACbA,EAAA,qBAAqB,sBACrBA,EAAA,UAAU,WACVA,EAAA,mBAAmB,oBACnBA,EAAA,YAAY,aACZA,EAAA,gBAAgB,iBAChBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,2BAA2B,4BAC3BA,EAAA,kBAAkB,mBAjCRA,IAAAA,KAAA,CAAA,CAAA;AAoCL,MAAMC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA;AACF;AAEY,IAAAC,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,aAAa,cAFHA,IAAAA,KAAA,CAAA,CAAA;AAKL,MAAMC,IAAuB;AAAA,EAClC,MAAM,EAAE,YAAY,IAAO,WAAW,GAAM;AAAA,EAC5C,OAAO,EAAE,YAAY,IAAO,WAAW,GAAM;AAC/C,GAEaC,IAAoB,KACpBC,IAA4B,KAC5BC,IAA+B,KAC/BC,IAA+B,KAC/BC,IAAwB,IACxBC,IAAwB,KACxBC,IAAmB,iBACnBC,IAA2B,GAE3BC,IAA+B;AAAA,EAC1C,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AACnB;"}
1
+ {"version":3,"file":"trial-session-constants.js","sources":["../../../src/features/trial-session/trial-session-constants.ts"],"sourcesContent":["export enum TrialPageId {\n WELCOME_CUEMATH = 'welcome-cuemath',\n CIRCLE_GAME = 'circle-game',\n TEACHER_INTRO = 'teacher-intro',\n SESSION_OVERVIEW = 'session-overview',\n STUDENT_LEVEL = 'student-level',\n STUDENT_INFORMATION = 'student-information',\n SCHOOL_GOALS = 'school-goals',\n TEST_PREP = 'test-prep',\n STUDENT_ENRICHMENT = 'student-enrichment',\n STUDENT_PERSONALIZATION = 'student-personalization',\n ADDITIONAL_INFO = 'additional-info',\n STUDENT_PROFILE = 'student-profile',\n STUDENT_INTRO = 'student-intro',\n LEARNING_LEVEL = 'learning-level',\n LEARNING_WORKSHEET = 'learning-worksheet',\n COMPLETED_WORKSHEET = 'completed-worksheet',\n WELCOME_BACK = 'welcome-back',\n SESSION_INSIGHTS = 'session-insights', // FYI: Not In Use\n SESSION_REPORT = 'session-report',\n LEARNING_PLAN = 'learning-plan',\n LEARNING_PLAN_TESTS = 'learning-plan-tests',\n LEARNING_PLAN_RESOURCES = 'learning-plan-resources',\n SESSION_SUMMARY = 'session-summary',\n GOAL_DETAILS = 'goal-details',\n GOAL_PLANS = 'goal-plans',\n PARENT_APP = 'parent-app',\n CIRCLE_INFORMATION = 'circle-information',\n PRICING = 'pricing',\n CLASS_PREFERENCE = 'class-preference',\n THANK_YOU = 'thank-you',\n CIRCLE_PUZZLE = 'circle-puzzle',\n CIRCLE_SKILL = 'circle-skill',\n WHITEBOARD = 'whiteboard',\n SESSION_PROGRESS_SUMMARY = 'session-progress-summary',\n TOPIC_SELECTION = 'topic-selection',\n}\n\nexport const LEARNING_PLAN_SLIDES = [\n TrialPageId.LEARNING_PLAN,\n TrialPageId.LEARNING_PLAN_TESTS,\n TrialPageId.LEARNING_PLAN_RESOURCES,\n];\n\nexport const PAGES_WITHOUT_GRID = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n ...LEARNING_PLAN_SLIDES,\n];\n\nexport const ACTIONABLE_COMPONENT_IDS = [\n TrialPageId.LEARNING_WORKSHEET,\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n ...LEARNING_PLAN_SLIDES,\n];\n\nexport const SCROLLABLE_COMPONENT_IDS = [\n TrialPageId.PRICING,\n TrialPageId.STUDENT_INTRO,\n TrialPageId.COMPLETED_WORKSHEET,\n TrialPageId.PARENT_APP,\n TrialPageId.GOAL_DETAILS,\n TrialPageId.WHITEBOARD,\n TrialPageId.SESSION_PROGRESS_SUMMARY,\n];\n\nexport const CIRCLE_GAME_SLIDES = [\n TrialPageId.CIRCLE_GAME,\n TrialPageId.CIRCLE_PUZZLE,\n TrialPageId.CIRCLE_SKILL,\n];\n\nexport enum DemoType {\n TRIAL_V3 = 'TRIAL_V3',\n TRIAL_V3_3 = 'TRIAL_V3_3',\n}\n\nexport const DEFAULT_BUTTON_STATE = {\n left: { isDisabled: false, isLoading: false },\n right: { isDisabled: false, isLoading: false },\n};\n\nexport const RIGHT_PANEL_WIDTH = 800;\nexport const RIGHT_PANEL_CONTENT_WIDTH = 700;\nexport const TEACHER_LEFT_PANEL_MAX_WIDTH = 480;\nexport const STUDENT_LEFT_PANEL_MAX_WIDTH = 360;\nexport const NAVIGATION_BAR_HEIGHT = 64;\nexport const MINIMUM_SCREEN_HEIGHT = 540;\nexport const TEACHER_TIMEZONE = 'Asia/Calcutta';\nexport const MAXIMUM_TOPICS_TO_SELECT = 3;\n\nexport const HIGH_ENROLLMENT_PROGRAMS_MAP = {\n 'USCC.ALGBRA1': 'algebra_i',\n 'USCC.ALGBRA2': 'algebra_ii',\n 'USCC.GEOMRY': 'geometry',\n 'USCC.PRECAL': 'precalculus',\n 'USCC.CLCULS': 'calculus',\n 'USCC.APPRECAL': 'precalculus',\n};\n"],"names":["TrialPageId","LEARNING_PLAN_SLIDES","PAGES_WITHOUT_GRID","ACTIONABLE_COMPONENT_IDS","SCROLLABLE_COMPONENT_IDS","CIRCLE_GAME_SLIDES","DemoType","DEFAULT_BUTTON_STATE","RIGHT_PANEL_WIDTH","RIGHT_PANEL_CONTENT_WIDTH","TEACHER_LEFT_PANEL_MAX_WIDTH","STUDENT_LEFT_PANEL_MAX_WIDTH","NAVIGATION_BAR_HEIGHT","MINIMUM_SCREEN_HEIGHT","TEACHER_TIMEZONE","MAXIMUM_TOPICS_TO_SELECT","HIGH_ENROLLMENT_PROGRAMS_MAP"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,gBAAgB,iBAChBA,EAAA,mBAAmB,oBACnBA,EAAA,gBAAgB,iBAChBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,YAAY,aACZA,EAAA,qBAAqB,sBACrBA,EAAA,0BAA0B,2BAC1BA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,eAAe,gBACfA,EAAA,mBAAmB,oBACnBA,EAAA,iBAAiB,kBACjBA,EAAA,gBAAgB,iBAChBA,EAAA,sBAAsB,uBACtBA,EAAA,0BAA0B,2BAC1BA,EAAA,kBAAkB,mBAClBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,aAAa,cACbA,EAAA,qBAAqB,sBACrBA,EAAA,UAAU,WACVA,EAAA,mBAAmB,oBACnBA,EAAA,YAAY,aACZA,EAAA,gBAAgB,iBAChBA,EAAA,eAAe,gBACfA,EAAA,aAAa,cACbA,EAAA,2BAA2B,4BAC3BA,EAAA,kBAAkB,mBAnCRA,IAAAA,KAAA,CAAA,CAAA;AAsCL,MAAMC,IAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAGD;AACL,GAEaE,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAGF;AACL,GAEaG,IAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF,GAEaC,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA;AACF;AAEY,IAAAC,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,aAAa,cAFHA,IAAAA,KAAA,CAAA,CAAA;AAKL,MAAMC,IAAuB;AAAA,EAClC,MAAM,EAAE,YAAY,IAAO,WAAW,GAAM;AAAA,EAC5C,OAAO,EAAE,YAAY,IAAO,WAAW,GAAM;AAC/C,GAEaC,IAAoB,KACpBC,IAA4B,KAC5BC,IAA+B,KAC/BC,IAA+B,KAC/BC,IAAwB,IACxBC,IAAwB,KACxBC,IAAmB,iBACnBC,IAA2B,GAE3BC,IAA+B;AAAA,EAC1C,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AACnB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { DemoType, TrialPageId } from './trial-session-constants';\nimport { type ITrialTopicsData } from './comps/topic-selection/topic-selection-types';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: TrialPageId;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n program_code?: string;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n course?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n enrollmentType?: TEnrollmentTypes;\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n personalizedPosition?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n matchmakingId?: string;\n numberInNameError?: boolean;\n confirmationModalActive?: boolean;\n resetAttempt: boolean;\n selectedTopics?: string[];\n // Learning Plan state\n learningPlanView?: ELearningPlanView;\n learningPlanChapterId?: string;\n learningPlanActiveMilestoneId?: string;\n learningPlanWorksheetData?: ILearningPlanWorksheetData;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n scheduled_start_time: number;\n course?: string;\n goal_code?: string | null;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n classStartedOn?: Date;\n demoType: DemoType;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string, goal?: string, course?: string) => void;\n trialTopics?: ITrialTopicsData;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n | 'teacherClassroomId'\n | 'demoType'\n | 'trialGameUrl'\n >,\n Pick<\n ITrialSessionViewProps,\n | 'trialTopics'\n | 'onRemoveOptionalSlides'\n | 'handleInfoMessage'\n | 'onTrialInformationUpdate'\n | 'trialHomeData'\n | 'milestoneConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n circleGames: ITrialCircleGameParams;\n}\n\nexport enum ELearningPlanView {\n ADD_RESOURCE = 'add-resource',\n ADD_TEST = 'add-test',\n EDIT_MILESTONE = 'edit-milestone',\n VIEW_WORKSHEET = 'view-worksheet',\n VIEW_CHAPTER_DETAILS = 'view-chapter-details',\n}\n\nexport interface ILearningPlanWorksheetData {\n itemRefs: string[];\n activityReference: string;\n nodeType: INodeDataProps['node_type'];\n worksheetName: string;\n activityType: INodeDataProps['activity_type'];\n imageHue?: INodeDataProps['image_hue'];\n userNodeId?: string | null;\n}\n\nexport interface ILearningPlanSyncState {\n currentView?: ELearningPlanView;\n chapterId?: string;\n activeMilestoneId?: string;\n worksheetData?: ILearningPlanWorksheetData;\n}\n"],"names":["EClassTimeAlertLevel","ELearningPlanView"],"mappings":"AAmCY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA,GAkOAC,sBAAAA,OACVA,EAAA,eAAe,gBACfA,EAAA,WAAW,YACXA,EAAA,iBAAiB,kBACjBA,EAAA,iBAAiB,kBACjBA,EAAA,uBAAuB,wBALbA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nimport type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TEnrollmentTypes,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { INodeDataProps } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { DemoType, TrialPageId } from './trial-session-constants';\nimport { type ITrialTopicsData } from './comps/topic-selection/topic-selection-types';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: TrialPageId;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n program_code?: string;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n course?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n enrollmentType?: TEnrollmentTypes;\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n personalizedPosition?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n matchmakingId?: string;\n numberInNameError?: boolean;\n confirmationModalActive?: boolean;\n resetAttempt: boolean;\n selectedTopics?: string[];\n // Learning Plan state\n learningPlanView?: ELearningPlanView;\n learningPlanChapterId?: string;\n learningPlanActiveMilestoneId?: string;\n learningPlanWorksheetData?: ILearningPlanWorksheetData;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n scheduled_start_time: number;\n course?: string;\n goal_code?: string | null;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n enrollment_type: TEnrollmentTypes;\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n classStartedOn?: Date;\n demoType: DemoType;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n changeDemoLevel?: boolean;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (params: {\n grade?: string;\n goal?: string;\n course?: string;\n hasTestsTab?: boolean;\n hasResourcesTab?: boolean;\n }) => void;\n trialTopics?: ITrialTopicsData;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n | 'teacherClassroomId'\n | 'demoType'\n | 'trialGameUrl'\n >,\n Pick<\n ITrialSessionViewProps,\n | 'trialTopics'\n | 'onRemoveOptionalSlides'\n | 'handleInfoMessage'\n | 'onTrialInformationUpdate'\n | 'trialHomeData'\n | 'milestoneConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n circleGames: ITrialCircleGameParams;\n}\n\nexport enum ELearningPlanView {\n ADD_RESOURCE = 'add-resource',\n ADD_TEST = 'add-test',\n EDIT_MILESTONE = 'edit-milestone',\n VIEW_WORKSHEET = 'view-worksheet',\n VIEW_CHAPTER_DETAILS = 'view-chapter-details',\n}\n\nexport interface ILearningPlanWorksheetData {\n itemRefs: string[];\n activityReference: string;\n nodeType: INodeDataProps['node_type'];\n worksheetName: string;\n activityType: INodeDataProps['activity_type'];\n imageHue?: INodeDataProps['image_hue'];\n userNodeId?: string | null;\n}\n\nexport interface ILearningPlanSyncState {\n currentView?: ELearningPlanView;\n chapterId?: string;\n activeMilestoneId?: string;\n worksheetData?: ILearningPlanWorksheetData;\n}\n"],"names":["EClassTimeAlertLevel","ELearningPlanView"],"mappings":"AAmCY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA,GAwOAC,sBAAAA,OACVA,EAAA,eAAe,gBACfA,EAAA,WAAW,YACXA,EAAA,iBAAiB,kBACjBA,EAAA,iBAAiB,kBACjBA,EAAA,uBAAuB,wBALbA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,105 +1,108 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import { memo as k, useState as _, useCallback as t, useEffect as H } from "react";
3
- import { getTimezone as x } from "../../helpers/date-time.js";
4
- import Z from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
5
- import { useGetMileStoneConfig as j } from "../milestone/create/api/milestone-config.js";
6
- import B from "../ui/error/error.js";
7
- import V from "../ui/loader/app-loader/app-loader.js";
8
- import { useGetTrialHome as Y } from "./api/trial-home.js";
9
- import { filterAndUpdateSlideNavigation as $ } from "./helper.js";
10
- import q from "./trial-session-view.js";
11
- import { USER_TYPE as s } from "../timeline/daily-timeline/daily-timeline-types.js";
12
- import { useGetTrialTopics as J } from "./api/trial-topics.js";
13
- const K = k(function(g) {
14
- const { userType: e, teacherId: E, studentId: S, demoType: u, teacherClassroomId: R, height: I = "100vh" } = g, [c, C] = _(null), [U, M] = _(), {
15
- data: m,
1
+ import { jsx as g } from "react/jsx-runtime";
2
+ import { memo as j, useState as R, useCallback as t, useEffect as _ } from "react";
3
+ import { getTimezone as B } from "../../helpers/date-time.js";
4
+ import V from "../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js";
5
+ import { useGetMileStoneConfig as Y } from "../milestone/create/api/milestone-config.js";
6
+ import $ from "../ui/error/error.js";
7
+ import b from "../ui/loader/app-loader/app-loader.js";
8
+ import { useGetTrialHome as q } from "./api/trial-home.js";
9
+ import { filterAndUpdateSlideNavigation as J } from "./helper.js";
10
+ import K from "./trial-session-view.js";
11
+ import { USER_TYPE as r } from "../timeline/daily-timeline/daily-timeline-types.js";
12
+ import { useGetTrialTopics as Q } from "./api/trial-topics.js";
13
+ const W = j(function(p) {
14
+ const { userType: e, teacherId: E, studentId: u, demoType: S, teacherClassroomId: H, height: I = "100vh" } = p, [c, h] = R(null), [C, U] = R(), {
15
+ data: T,
16
16
  get: N,
17
- isProcessing: h,
17
+ isProcessing: M,
18
18
  isProcessingFailed: O
19
- } = Y(), {
19
+ } = q(), {
20
20
  get: v,
21
- data: r,
21
+ data: a,
22
22
  isProcessing: z,
23
23
  isProcessingFailed: L
24
- } = j(), {
24
+ } = Y(), {
25
25
  get: A,
26
26
  data: l,
27
27
  isProcessed: D
28
- } = J("trial-v3-topics"), i = t(() => {
28
+ } = Q("trial-v3-topics"), i = t(() => {
29
29
  N("trial-v3", {
30
- student_id: S,
30
+ student_id: u,
31
31
  teacher_id: E,
32
32
  viewer: e.toLocaleLowerCase()
33
33
  });
34
- }, [N, S, E, e]), P = t(() => {
34
+ }, [N, u, E, e]), P = t(() => {
35
35
  D || A("trial-v3-topics");
36
36
  }, [A, D]), f = t(() => {
37
37
  i(), P(), v("", {
38
- demo_type: u
38
+ demo_type: S
39
39
  });
40
- }, [i, P, v, u]), y = t(
41
- (T) => {
42
- e === s.STUDENT && T.forEach((n) => {
43
- n.eventName === "TRIAL_INFORMATION_UPDATED" && i();
44
- }), e === s.TEACHER && T.forEach((n) => {
45
- if (n.eventName === "TRIAL_SESSION_STUDENT_TIMEZONE") {
40
+ }, [i, P, v, S]), y = t(
41
+ (m) => {
42
+ e === r.STUDENT && m.forEach((s) => {
43
+ s.eventName === "TRIAL_INFORMATION_UPDATED" && i();
44
+ }), e === r.TEACHER && m.forEach((s) => {
45
+ if (s.eventName === "TRIAL_SESSION_STUDENT_TIMEZONE") {
46
46
  const {
47
47
  eventPayload: { timezone: d }
48
- } = n;
49
- M(d);
48
+ } = s;
49
+ U(d);
50
50
  }
51
51
  });
52
52
  },
53
53
  [i, e]
54
- ), { publish: o } = Z({
55
- teacherClassroomId: R,
54
+ ), { publish: o } = V({
55
+ teacherClassroomId: H,
56
56
  onMessageReceive: y
57
57
  }), F = t(() => {
58
- i(), e === s.TEACHER && (o == null || o({
58
+ i(), e === r.TEACHER && (o == null || o({
59
59
  eventName: "TRIAL_INFORMATION_UPDATED"
60
60
  }));
61
61
  }, [i, o, e]), w = t(() => {
62
- e === s.STUDENT && (o == null || o({
62
+ e === r.STUDENT && (o == null || o({
63
63
  eventName: "TRIAL_SESSION_STUDENT_TIMEZONE",
64
- eventPayload: { timezone: x() }
64
+ eventPayload: { timezone: B() }
65
65
  }));
66
66
  }, [o, e]);
67
- H(() => {
67
+ _(() => {
68
68
  f();
69
69
  }, [f]);
70
- const a = t(
71
- (T, n, d) => {
72
- if (m && r) {
73
- const G = e === s.TEACHER ? $({
74
- milestoneConfigData: r,
75
- trialHomeData: m,
70
+ const n = t(
71
+ (m = {}) => {
72
+ const { grade: s, goal: d, course: G, hasTestsTab: k, hasResourcesTab: x } = m;
73
+ if (T && a) {
74
+ const Z = e === r.TEACHER ? J({
75
+ milestoneConfigData: a,
76
+ trialHomeData: T,
76
77
  trialTopics: l,
77
- course: d,
78
- grade: T,
79
- goal: n
80
- }) : m;
81
- C(G);
78
+ course: G,
79
+ grade: s,
80
+ goal: d,
81
+ hasTestsTab: k,
82
+ hasResourcesTab: x
83
+ }) : T;
84
+ h(Z);
82
85
  }
83
86
  },
84
- [r, m, l, e]
87
+ [a, T, l, e]
85
88
  );
86
- return H(() => {
87
- a == null || a();
88
- }, [a]), h && !c || z ? /* @__PURE__ */ p(V, { height: I }) : O || L ? /* @__PURE__ */ p(B, { height: I, onTryAgain: f }) : c && r ? /* @__PURE__ */ p(
89
- q,
89
+ return _(() => {
90
+ n == null || n();
91
+ }, [n]), M && !c || z ? /* @__PURE__ */ g(b, { height: I }) : O || L ? /* @__PURE__ */ g($, { height: I, onTryAgain: f }) : c && a ? /* @__PURE__ */ g(
92
+ K,
90
93
  {
91
- ...g,
94
+ ...p,
92
95
  onTrialInformationUpdate: F,
93
96
  onStudentTimezoneUpdate: w,
94
97
  trialHomeData: c,
95
- milestoneConfig: r,
96
- onRemoveOptionalSlides: a,
97
- studentTimezone: U,
98
+ milestoneConfig: a,
99
+ onRemoveOptionalSlides: n,
100
+ studentTimezone: C,
98
101
  trialTopics: l
99
102
  }
100
103
  ) : null;
101
- }), Te = K;
104
+ }), fe = W;
102
105
  export {
103
- Te as default
106
+ fe as default
104
107
  };
105
108
  //# sourceMappingURL=trial-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\nimport { USER_TYPE } from '../timeline/daily-timeline/daily-timeline-types';\nimport { useGetTrialTopics } from './api/trial-topics';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, demoType, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n const {\n get: getTrialTopics,\n data: trialTopics,\n isProcessed,\n } = useGetTrialTopics('trial-v3-topics');\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchTrialTopics = useCallback(() => {\n if (!isProcessed) {\n getTrialTopics('trial-v3-topics');\n }\n }, [getTrialTopics, isProcessed]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n fetchTrialTopics();\n getMilestoneConfig('', {\n demo_type: demoType,\n });\n }, [fetchTrialHome, fetchTrialTopics, getMilestoneConfig, demoType]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === USER_TYPE.STUDENT) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === USER_TYPE.TEACHER) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === USER_TYPE.TEACHER) {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === USER_TYPE.STUDENT) {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (grade?: string, goal?: string, course?: string) => {\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData =\n userType === USER_TYPE.TEACHER\n ? filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n trialTopics,\n course,\n grade,\n goal,\n })\n : trialHomeResponse;\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse, trialTopics, userType],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n trialTopics={trialTopics}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","demoType","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","getTrialTopics","trialTopics","isProcessed","useGetTrialTopics","fetchTrialHome","useCallback","fetchTrialTopics","fetchData","handleMessageReceive","messages","USER_TYPE","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","grade","goal","course","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":"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"}
1
+ {"version":3,"file":"trial-session.js","sources":["../../../src/features/trial-session/trial-session.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { getTimezone } from '../../helpers/date-time';\nimport useTrialSessionMessageBroker from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker';\nimport type { TTrialSessionMessage } from '../communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker-types';\nimport { useGetMileStoneConfig } from '../milestone/create/api/milestone-config';\nimport Error from '../ui/error/error';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport { useGetTrialHome } from './api/trial-home';\nimport { filterAndUpdateSlideNavigation } from './helper';\nimport type { ITrialHomeData, ITrialSessionProps } from './trial-session-types';\nimport TrialSessionView from './trial-session-view';\nimport { USER_TYPE } from '../timeline/daily-timeline/daily-timeline-types';\nimport { useGetTrialTopics } from './api/trial-topics';\n\nconst TrialSession: FC<ITrialSessionProps> = memo(function TrialSession(props) {\n const { userType, teacherId, studentId, demoType, teacherClassroomId, height = '100vh' } = props;\n const [trialHomeData, setTrialHomeData] = useState<ITrialHomeData | null>(null);\n const [studentTimezone, setStudentTimezone] = useState<string>();\n\n const {\n data: trialHomeResponse,\n get: getTrialHome,\n isProcessing: isProcessingTrialHome,\n isProcessingFailed: isProcessingFailedTrialHome,\n } = useGetTrialHome();\n const {\n get: getMilestoneConfig,\n data: milestoneConfigData,\n isProcessing: isProcessingMilestoneConfig,\n isProcessingFailed: isProcessingFailedMilestoneConfig,\n } = useGetMileStoneConfig();\n const {\n get: getTrialTopics,\n data: trialTopics,\n isProcessed,\n } = useGetTrialTopics('trial-v3-topics');\n\n const fetchTrialHome = useCallback(() => {\n getTrialHome('trial-v3', {\n student_id: studentId,\n teacher_id: teacherId,\n viewer: userType.toLocaleLowerCase(),\n });\n }, [getTrialHome, studentId, teacherId, userType]);\n\n const fetchTrialTopics = useCallback(() => {\n if (!isProcessed) {\n getTrialTopics('trial-v3-topics');\n }\n }, [getTrialTopics, isProcessed]);\n\n const fetchData = useCallback(() => {\n fetchTrialHome();\n fetchTrialTopics();\n getMilestoneConfig('', {\n demo_type: demoType,\n });\n }, [fetchTrialHome, fetchTrialTopics, getMilestoneConfig, demoType]);\n\n const handleMessageReceive = useCallback(\n (messages: TTrialSessionMessage[]) => {\n if (userType === USER_TYPE.STUDENT) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_INFORMATION_UPDATED') {\n fetchTrialHome();\n }\n });\n }\n\n if (userType === USER_TYPE.TEACHER) {\n messages.forEach(message => {\n if (message.eventName === 'TRIAL_SESSION_STUDENT_TIMEZONE') {\n const {\n eventPayload: { timezone },\n } = message;\n\n setStudentTimezone(timezone);\n }\n });\n }\n },\n [fetchTrialHome, userType],\n );\n\n const { publish } = useTrialSessionMessageBroker({\n teacherClassroomId,\n onMessageReceive: handleMessageReceive,\n });\n\n const handleOnTrialInformationUpdate = useCallback(() => {\n fetchTrialHome();\n\n if (userType === USER_TYPE.TEACHER) {\n publish?.({\n eventName: 'TRIAL_INFORMATION_UPDATED',\n });\n }\n }, [fetchTrialHome, publish, userType]);\n\n const handleOnTrialStudentTimezoneUpdate = useCallback(() => {\n if (userType === USER_TYPE.STUDENT) {\n publish?.({\n eventName: 'TRIAL_SESSION_STUDENT_TIMEZONE',\n eventPayload: { timezone: getTimezone() },\n });\n }\n }, [publish, userType]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n const handleRemoveOptionalSlides = useCallback(\n (\n params: {\n grade?: string;\n goal?: string;\n course?: string;\n hasTestsTab?: boolean;\n hasResourcesTab?: boolean;\n } = {},\n ) => {\n const { grade, goal, course, hasTestsTab, hasResourcesTab } = params;\n\n if (trialHomeResponse && milestoneConfigData) {\n const updatedTrialHomeData =\n userType === USER_TYPE.TEACHER\n ? filterAndUpdateSlideNavigation({\n milestoneConfigData,\n trialHomeData: trialHomeResponse,\n trialTopics,\n course,\n grade,\n goal,\n hasTestsTab,\n hasResourcesTab,\n })\n : trialHomeResponse;\n\n setTrialHomeData(updatedTrialHomeData);\n }\n },\n [milestoneConfigData, trialHomeResponse, trialTopics, userType],\n );\n\n useEffect(() => {\n handleRemoveOptionalSlides?.();\n }, [handleRemoveOptionalSlides]);\n\n if ((isProcessingTrialHome && !trialHomeData) || isProcessingMilestoneConfig) {\n return <AppLoader height={height} />;\n }\n\n if (isProcessingFailedTrialHome || isProcessingFailedMilestoneConfig) {\n return <Error height={height} onTryAgain={fetchData} />;\n }\n\n if (trialHomeData && milestoneConfigData) {\n return (\n <TrialSessionView\n {...props}\n onTrialInformationUpdate={handleOnTrialInformationUpdate}\n onStudentTimezoneUpdate={handleOnTrialStudentTimezoneUpdate}\n trialHomeData={trialHomeData}\n milestoneConfig={milestoneConfigData}\n onRemoveOptionalSlides={handleRemoveOptionalSlides}\n studentTimezone={studentTimezone}\n trialTopics={trialTopics}\n />\n );\n }\n\n return null;\n});\n\nexport default TrialSession;\n"],"names":["TrialSession","memo","props","userType","teacherId","studentId","demoType","teacherClassroomId","height","trialHomeData","setTrialHomeData","useState","studentTimezone","setStudentTimezone","trialHomeResponse","getTrialHome","isProcessingTrialHome","isProcessingFailedTrialHome","useGetTrialHome","getMilestoneConfig","milestoneConfigData","isProcessingMilestoneConfig","isProcessingFailedMilestoneConfig","useGetMileStoneConfig","getTrialTopics","trialTopics","isProcessed","useGetTrialTopics","fetchTrialHome","useCallback","fetchTrialTopics","fetchData","handleMessageReceive","messages","USER_TYPE","message","timezone","publish","useTrialSessionMessageBroker","handleOnTrialInformationUpdate","handleOnTrialStudentTimezoneUpdate","getTimezone","useEffect","handleRemoveOptionalSlides","params","grade","goal","course","hasTestsTab","hasResourcesTab","updatedTrialHomeData","filterAndUpdateSlideNavigation","jsx","AppLoader","Error","TrialSessionView","TrialSession$1"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ const b = (n, t = 1) => {
2
+ if (t < 0 || t > 1)
3
+ throw new Error(`Invalid alpha value: ${t}. Alpha must be between 0 and 1.`);
4
+ const e = n.trim().replace(/^#/, "");
5
+ if (!/^[\da-f]{3}$|^[\da-f]{6}$/i.test(e))
6
+ throw new Error(
7
+ `Invalid hex color format: ${n}. Expected format: #RGB or #RRGGBB (e.g., #F57 or #FF5733)`
8
+ );
9
+ const r = e.length === 3 ? e.split("").map((i) => i + i).join("") : e, o = parseInt(r.slice(0, 2), 16), s = parseInt(r.slice(2, 4), 16), c = parseInt(r.slice(4, 6), 16), a = { r: o, g: s, b: c, a: t };
10
+ return {
11
+ string: `rgba(${o}, ${s}, ${c}, ${t})`,
12
+ object: a
13
+ };
14
+ };
15
+ export {
16
+ b as getRGBAFromHex
17
+ };
18
+ //# sourceMappingURL=get-rgba-from-hex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-rgba-from-hex.js","sources":["../../../src/features/utils/get-rgba-from-hex.ts"],"sourcesContent":["/**\n * RGBA object representation with red, green, blue, and alpha channels\n */\nexport interface IRgbaObject {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\n/**\n * Result object containing both string and object representations of RGBA color\n */\nexport interface IRgbaResult {\n string: string;\n object: IRgbaObject;\n}\n\n/**\n * Converts a hex color string to RGBA format in both string and object representations\n *\n * @param color - Hex color string (e.g., '#FF5733' or '#F57')\n * @param alpha - Alpha value between 0 and 1 (default: 1 for fully opaque)\n * @returns Object containing both string ('rgba(255, 87, 51, 1)') and object ({ r: 255, g: 87, b: 51, a: 1 }) formats\n * @throws Error if hex color format is invalid or alpha is out of range\n *\n * @example\n * ```typescript\n * const result = getRGBAFromHex('#FF5733', 0.5);\n * // result.string: 'rgba(255, 87, 51, 0.5)'\n * // result.object: { r: 255, g: 87, b: 51, a: 0.5 }\n * ```\n */\nexport const getRGBAFromHex = (color: string, alpha = 1): IRgbaResult => {\n // Validate alpha range\n if (alpha < 0 || alpha > 1) {\n throw new Error(`Invalid alpha value: ${alpha}. Alpha must be between 0 and 1.`);\n }\n\n // Remove # if present and trim whitespace\n const hex = color.trim().replace(/^#/, '');\n\n // Validate hex format (3 or 6 characters)\n if (!/^[\\da-f]{3}$|^[\\da-f]{6}$/i.test(hex)) {\n throw new Error(\n `Invalid hex color format: ${color}. Expected format: #RGB or #RRGGBB (e.g., #F57 or #FF5733)`,\n );\n }\n\n // Convert 3-char hex to 6-char hex (e.g., F57 -> FF5577)\n const fullHex =\n hex.length === 3\n ? hex\n .split('')\n .map(char => char + char)\n .join('')\n : hex;\n\n // Parse RGB values\n const r = parseInt(fullHex.slice(0, 2), 16);\n const g = parseInt(fullHex.slice(2, 4), 16);\n const b = parseInt(fullHex.slice(4, 6), 16);\n\n // Create RGBA object\n const rgbaObject: IRgbaObject = { r, g, b, a: alpha };\n\n // Create RGBA string\n const rgbaString = `rgba(${r}, ${g}, ${b}, ${alpha})`;\n\n return {\n string: rgbaString,\n object: rgbaObject,\n };\n};\n"],"names":["getRGBAFromHex","color","alpha","hex","fullHex","char","r","g","b","rgbaObject"],"mappings":"AAiCO,MAAMA,IAAiB,CAACC,GAAeC,IAAQ,MAAmB;AAEnE,MAAAA,IAAQ,KAAKA,IAAQ;AACvB,UAAM,IAAI,MAAM,wBAAwBA,CAAK,kCAAkC;AAIjF,QAAMC,IAAMF,EAAM,KAAA,EAAO,QAAQ,MAAM,EAAE;AAGzC,MAAI,CAAC,6BAA6B,KAAKE,CAAG;AACxC,UAAM,IAAI;AAAA,MACR,6BAA6BF,CAAK;AAAA,IAAA;AAKtC,QAAMG,IACJD,EAAI,WAAW,IACXA,EACG,MAAM,EAAE,EACR,IAAI,OAAQE,IAAOA,CAAI,EACvB,KAAK,EAAE,IACVF,GAGAG,IAAI,SAASF,EAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,GACpCG,IAAI,SAASH,EAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,GACpCI,IAAI,SAASJ,EAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,GAGpCK,IAA0B,EAAE,GAAAH,GAAG,GAAAC,GAAG,GAAAC,GAAG,GAAGN;AAKvC,SAAA;AAAA,IACL,QAHiB,QAAQI,CAAC,KAAKC,CAAC,KAAKC,CAAC,KAAKN,CAAK;AAAA,IAIhD,QAAQO;AAAA,EAAA;AAEZ;"}
@@ -1,43 +1,55 @@
1
- import { jsx as a, Fragment as t, jsxs as F } from "react/jsx-runtime";
2
- import { memo as o } from "react";
3
- import { AbsoluteFill as A, AbsolutePattern as i, ChildrenWrapper as d } from "./question-backdrop-styled.js";
4
- import { ILLUSTRATIONS as e } from "../../../../../assets/illustrations/illustrations.js";
5
- const l = {
6
- blue: e.PATTERN_DIAMOND,
7
- yellow: e.PATTERN_CUBES,
8
- purple: e.PATTERN_HONEYCOMB,
9
- orange: e.PATTERN_HONEYCOMB,
10
- green: e.PATTERN_DIAMOND,
11
- white: e.PATTERN_DIAMOND
12
- }, b = {
13
- blue: "linear-gradient(270deg, rgba(153, 229, 255, 0.5) 0%, #99e5ff 25%, #99e5ff 75%, rgba(153, 229, 255, 0.5) 100%)",
14
- yellow: "linear-gradient(270deg, rgba(255, 219, 128, 0.50) 0%, #FFDB80 25%, #FFDB80 75%, rgba(255, 219, 128, 0.50) 100%)",
15
- purple: "linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)",
16
- orange: "linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)",
17
- green: "linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)",
18
- white: "linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)"
19
- }, u = o(
20
- function({ paperColor: r, patternStrokeNumber: n = 1, children: g }) {
21
- return /* @__PURE__ */ a(t, { children: /* @__PURE__ */ F(A, { $backgroundColor: `${r.toUpperCase()}_3`, children: [
22
- /* @__PURE__ */ a(
23
- i,
1
+ import { jsx as l, Fragment as E, jsxs as _ } from "react/jsx-runtime";
2
+ import { memo as A } from "react";
3
+ import { AbsoluteFill as i, AbsolutePattern as T, ChildrenWrapper as g } from "./question-backdrop-styled.js";
4
+ import { ILLUSTRATIONS as o } from "../../../../../assets/illustrations/illustrations.js";
5
+ import { getRGBAFromHex as p } from "../../../../utils/get-rgba-from-hex.js";
6
+ import P from "../../../../ui/theme/clrs.js";
7
+ const c = {
8
+ blue: o.PATTERN_DIAMOND,
9
+ yellow: o.PATTERN_CUBES,
10
+ purple: o.PATTERN_HONEYCOMB,
11
+ orange: o.PATTERN_HONEYCOMB,
12
+ green: o.PATTERN_DIAMOND,
13
+ white: o.PATTERN_DIAMOND
14
+ }, m = {
15
+ blue: "BLUE_2",
16
+ yellow: "YELLOW_2",
17
+ purple: "PURPLE_2",
18
+ orange: "ORANGE_2",
19
+ green: "GREEN_2",
20
+ white: "BLUE_2"
21
+ }, t = (s) => {
22
+ const e = P(), n = m[s], r = e[n], { string: a } = p(r, 0.5);
23
+ return `linear-gradient(270deg, ${a} 0%, ${r} 25%, ${r} 75%, ${a} 100%)`;
24
+ }, u = {
25
+ blue: t("blue"),
26
+ yellow: t("yellow"),
27
+ purple: t("purple"),
28
+ orange: t("orange"),
29
+ green: t("green"),
30
+ white: t("white")
31
+ }, C = A(
32
+ function({ paperColor: e, patternStrokeNumber: n = 1, children: r }) {
33
+ return /* @__PURE__ */ l(E, { children: /* @__PURE__ */ _(i, { $backgroundColor: `${e.toUpperCase()}_3`, children: [
34
+ /* @__PURE__ */ l(
35
+ T,
24
36
  {
25
- $backgroundColor: `${r.toUpperCase()}_${n}`,
26
- $patternImage: l[r]
37
+ $backgroundColor: `${e.toUpperCase()}_${n}`,
38
+ $patternImage: c[e]
27
39
  }
28
40
  ),
29
- g && /* @__PURE__ */ a(
30
- d,
41
+ r && /* @__PURE__ */ l(
42
+ g,
31
43
  {
32
- $borderColor: `${r.toUpperCase()}_1`,
33
- $gradient: b[r],
34
- children: g
44
+ $borderColor: `${e.toUpperCase()}_1`,
45
+ $gradient: u[e],
46
+ children: r
35
47
  }
36
48
  )
37
49
  ] }) });
38
50
  }
39
51
  );
40
52
  export {
41
- u as default
53
+ C as default
42
54
  };
43
55
  //# sourceMappingURL=question-backdrop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"question-backdrop.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.tsx"],"sourcesContent":["import { memo, type FC, type PropsWithChildren } from 'react';\n\nimport type { TWorksheetQuestionPaperColor } from '../worksheet-question-types';\nimport * as Styled from './question-backdrop-styled';\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport { type TColorNames } from '../../../../ui/types';\n\ninterface IQuestionBackdropProps {\n paperColor: TWorksheetQuestionPaperColor;\n patternStrokeNumber?: number;\n}\n\nconst PATTERN_PAPER_MAP: Record<TWorksheetQuestionPaperColor, string> = {\n blue: ILLUSTRATIONS.PATTERN_DIAMOND,\n yellow: ILLUSTRATIONS.PATTERN_CUBES,\n purple: ILLUSTRATIONS.PATTERN_HONEYCOMB,\n orange: ILLUSTRATIONS.PATTERN_HONEYCOMB,\n green: ILLUSTRATIONS.PATTERN_DIAMOND,\n white: ILLUSTRATIONS.PATTERN_DIAMOND,\n};\n\nconst GRADIENT_PAPER_MAP: Record<TWorksheetQuestionPaperColor, string> = {\n blue: `linear-gradient(270deg, rgba(153, 229, 255, 0.5) 0%, #99e5ff 25%, #99e5ff 75%, rgba(153, 229, 255, 0.5) 100%)`,\n yellow: `linear-gradient(270deg, rgba(255, 219, 128, 0.50) 0%, #FFDB80 25%, #FFDB80 75%, rgba(255, 219, 128, 0.50) 100%)`,\n purple: `linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)`,\n orange: `linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)`,\n green: `linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)`,\n white: `linear-gradient(270deg, rgba(255, 194, 250, 0.50) 0%, #FFC2FA 25%, #FFC2FA 75%, rgba(255, 194, 250, 0.50) 100%)`,\n};\n\nconst QuestionBackdrop: FC<PropsWithChildren<IQuestionBackdropProps>> = memo(\n function QuestionBackdrop({ paperColor, patternStrokeNumber = 1, children }) {\n return (\n <>\n <Styled.AbsoluteFill $backgroundColor={`${paperColor.toUpperCase()}_3`}>\n <Styled.AbsolutePattern\n $backgroundColor={`${paperColor.toUpperCase()}_${patternStrokeNumber}` as TColorNames}\n $patternImage={PATTERN_PAPER_MAP[paperColor]}\n />\n {children && (\n <Styled.ChildrenWrapper\n $borderColor={`${paperColor.toUpperCase()}_1` as TColorNames}\n $gradient={GRADIENT_PAPER_MAP[paperColor]}\n >\n {children}\n </Styled.ChildrenWrapper>\n )}\n </Styled.AbsoluteFill>\n </>\n );\n },\n);\n\nexport default QuestionBackdrop;\n"],"names":["PATTERN_PAPER_MAP","ILLUSTRATIONS","GRADIENT_PAPER_MAP","QuestionBackdrop","memo","paperColor","patternStrokeNumber","children","jsx","Fragment","jsxs","Styled.AbsoluteFill","Styled.AbsolutePattern","Styled.ChildrenWrapper"],"mappings":";;;;AAYA,MAAMA,IAAkE;AAAA,EACtE,MAAMC,EAAc;AAAA,EACpB,QAAQA,EAAc;AAAA,EACtB,QAAQA,EAAc;AAAA,EACtB,QAAQA,EAAc;AAAA,EACtB,OAAOA,EAAc;AAAA,EACrB,OAAOA,EAAc;AACvB,GAEMC,IAAmE;AAAA,EACvE,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AACT,GAEMC,IAAkEC;AAAA,EACtE,SAA0B,EAAE,YAAAC,GAAY,qBAAAC,IAAsB,GAAG,UAAAC,KAAY;AAEzE,WAAA,gBAAAC,EAAAC,GAAA,EACE,UAAC,gBAAAC,EAAAC,GAAA,EAAoB,kBAAkB,GAAGN,EAAW,YAAa,CAAA,MAChE,UAAA;AAAA,MAAA,gBAAAG;AAAA,QAACI;AAAAA,QAAA;AAAA,UACC,kBAAkB,GAAGP,EAAW,YAAY,CAAC,IAAIC,CAAmB;AAAA,UACpE,eAAeN,EAAkBK,CAAU;AAAA,QAAA;AAAA,MAC7C;AAAA,MACCE,KACC,gBAAAC;AAAA,QAACK;AAAAA,QAAA;AAAA,UACC,cAAc,GAAGR,EAAW,YAAA,CAAa;AAAA,UACzC,WAAWH,EAAmBG,CAAU;AAAA,UAEvC,UAAAE;AAAA,QAAA;AAAA,MACH;AAAA,IAAA,EAEJ,CAAA,EACF,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"question-backdrop.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.tsx"],"sourcesContent":["import { memo, type FC, type PropsWithChildren } from 'react';\n\nimport type { TWorksheetQuestionPaperColor } from '../worksheet-question-types';\nimport * as Styled from './question-backdrop-styled';\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport { type TColorNames } from '../../../../ui/types';\nimport { getRGBAFromHex } from '../../../../utils/get-rgba-from-hex';\nimport getColors from '../../../../ui/theme/clrs';\n\ninterface IQuestionBackdropProps {\n paperColor: TWorksheetQuestionPaperColor;\n patternStrokeNumber?: number;\n}\n\nconst PATTERN_PAPER_MAP: Record<TWorksheetQuestionPaperColor, string> = {\n blue: ILLUSTRATIONS.PATTERN_DIAMOND,\n yellow: ILLUSTRATIONS.PATTERN_CUBES,\n purple: ILLUSTRATIONS.PATTERN_HONEYCOMB,\n orange: ILLUSTRATIONS.PATTERN_HONEYCOMB,\n green: ILLUSTRATIONS.PATTERN_DIAMOND,\n white: ILLUSTRATIONS.PATTERN_DIAMOND,\n};\n\n/**\n * Maps paper color to corresponding theme color name\n */\nconst PAPER_COLOR_TO_THEME_MAP: Record<TWorksheetQuestionPaperColor, TColorNames> = {\n blue: 'BLUE_2',\n yellow: 'YELLOW_2',\n purple: 'PURPLE_2',\n orange: 'ORANGE_2',\n green: 'GREEN_2',\n white: 'BLUE_2',\n};\n\n/**\n * Creates a gradient string using theme colors and getRGBAFromHex utility\n */\nconst createGradient = (paperColor: TWorksheetQuestionPaperColor): string => {\n const colors = getColors();\n const colorName = PAPER_COLOR_TO_THEME_MAP[paperColor];\n const hexColor = colors[colorName];\n\n const { string: rgbaTransparent } = getRGBAFromHex(hexColor, 0.5);\n\n return `linear-gradient(270deg, ${rgbaTransparent} 0%, ${hexColor} 25%, ${hexColor} 75%, ${rgbaTransparent} 100%)`;\n};\n\nconst GRADIENT_PAPER_MAP: Record<TWorksheetQuestionPaperColor, string> = {\n blue: createGradient('blue'),\n yellow: createGradient('yellow'),\n purple: createGradient('purple'),\n orange: createGradient('orange'),\n green: createGradient('green'),\n white: createGradient('white'),\n};\n\nconst QuestionBackdrop: FC<PropsWithChildren<IQuestionBackdropProps>> = memo(\n function QuestionBackdrop({ paperColor, patternStrokeNumber = 1, children }) {\n return (\n <>\n <Styled.AbsoluteFill $backgroundColor={`${paperColor.toUpperCase()}_3`}>\n <Styled.AbsolutePattern\n $backgroundColor={`${paperColor.toUpperCase()}_${patternStrokeNumber}` as TColorNames}\n $patternImage={PATTERN_PAPER_MAP[paperColor]}\n />\n {children && (\n <Styled.ChildrenWrapper\n $borderColor={`${paperColor.toUpperCase()}_1` as TColorNames}\n $gradient={GRADIENT_PAPER_MAP[paperColor]}\n >\n {children}\n </Styled.ChildrenWrapper>\n )}\n </Styled.AbsoluteFill>\n </>\n );\n },\n);\n\nexport default QuestionBackdrop;\n"],"names":["PATTERN_PAPER_MAP","ILLUSTRATIONS","PAPER_COLOR_TO_THEME_MAP","createGradient","paperColor","colors","getColors","colorName","hexColor","rgbaTransparent","getRGBAFromHex","GRADIENT_PAPER_MAP","QuestionBackdrop","memo","patternStrokeNumber","children","jsx","Fragment","jsxs","Styled.AbsoluteFill","Styled.AbsolutePattern","Styled.ChildrenWrapper"],"mappings":";;;;;;AAcA,MAAMA,IAAkE;AAAA,EACtE,MAAMC,EAAc;AAAA,EACpB,QAAQA,EAAc;AAAA,EACtB,QAAQA,EAAc;AAAA,EACtB,QAAQA,EAAc;AAAA,EACtB,OAAOA,EAAc;AAAA,EACrB,OAAOA,EAAc;AACvB,GAKMC,IAA8E;AAAA,EAClF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AACT,GAKMC,IAAiB,CAACC,MAAqD;AAC3E,QAAMC,IAASC,KACTC,IAAYL,EAAyBE,CAAU,GAC/CI,IAAWH,EAAOE,CAAS,GAE3B,EAAE,QAAQE,EAAA,IAAoBC,EAAeF,GAAU,GAAG;AAEhE,SAAO,2BAA2BC,CAAe,QAAQD,CAAQ,SAASA,CAAQ,SAASC,CAAe;AAC5G,GAEME,IAAmE;AAAA,EACvE,MAAMR,EAAe,MAAM;AAAA,EAC3B,QAAQA,EAAe,QAAQ;AAAA,EAC/B,QAAQA,EAAe,QAAQ;AAAA,EAC/B,QAAQA,EAAe,QAAQ;AAAA,EAC/B,OAAOA,EAAe,OAAO;AAAA,EAC7B,OAAOA,EAAe,OAAO;AAC/B,GAEMS,IAAkEC;AAAA,EACtE,SAA0B,EAAE,YAAAT,GAAY,qBAAAU,IAAsB,GAAG,UAAAC,KAAY;AAEzE,WAAA,gBAAAC,EAAAC,GAAA,EACE,UAAC,gBAAAC,EAAAC,GAAA,EAAoB,kBAAkB,GAAGf,EAAW,YAAa,CAAA,MAChE,UAAA;AAAA,MAAA,gBAAAY;AAAA,QAACI;AAAAA,QAAA;AAAA,UACC,kBAAkB,GAAGhB,EAAW,YAAY,CAAC,IAAIU,CAAmB;AAAA,UACpE,eAAed,EAAkBI,CAAU;AAAA,QAAA;AAAA,MAC7C;AAAA,MACCW,KACC,gBAAAC;AAAA,QAACK;AAAAA,QAAA;AAAA,UACC,cAAc,GAAGjB,EAAW,YAAA,CAAa;AAAA,UACzC,WAAWO,EAAmBP,CAAU;AAAA,UAEvC,UAAAW;AAAA,QAAA;AAAA,MACH;AAAA,IAAA,EAEJ,CAAA,EACF,CAAA;AAAA,EAEJ;AACF;"}