@cuemath/leap 3.5.58 → 3.5.59-link0

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 (172) hide show
  1. package/dist/features/chapters-v2/utils/node-card-utils.js +24 -24
  2. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  3. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  4. package/dist/features/cue-canvas/sidebar/sidebar.js +4 -4
  5. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  6. package/dist/features/cue-canvas/toolbar/toolbar.js +21 -17
  7. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  8. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +23 -13
  9. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  10. package/dist/features/journey/tracking-id/tracking-id-student.js +1 -1
  11. package/dist/features/journey/tracking-id/tracking-id-student.js.map +1 -1
  12. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js +43 -43
  13. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js.map +1 -1
  14. package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
  15. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +1 -1
  16. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -1
  17. package/dist/features/sheets/constants/sheet.js +1 -0
  18. package/dist/features/sheets/constants/sheet.js.map +1 -1
  19. package/dist/features/sheets/utils/is-v3-worksheet.js +3 -2
  20. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  21. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +1 -1
  22. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -1
  23. package/dist/features/trial-session/api/trial-home.js +10 -16
  24. package/dist/features/trial-session/api/trial-home.js.map +1 -1
  25. package/dist/features/trial-session/api/trial-session-report.js +16 -0
  26. package/dist/features/trial-session/api/trial-session-report.js.map +1 -0
  27. package/dist/features/trial-session/api/trial-topics.js +9 -0
  28. package/dist/features/trial-session/api/trial-topics.js.map +1 -0
  29. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +62 -50
  30. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  31. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js +5 -14
  32. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js.map +1 -1
  33. package/dist/features/trial-session/comps/class-preference/class-preference.js +55 -53
  34. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  35. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js +3 -2
  36. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js.map +1 -1
  37. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +27 -27
  38. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
  39. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js +19 -18
  40. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  41. package/dist/features/trial-session/comps/learning-session/learning-session.js +34 -43
  42. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  43. package/dist/features/trial-session/comps/navigation-bar/index.js +56 -58
  44. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  45. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +29 -6
  46. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  47. package/dist/features/trial-session/comps/offering-information/offering-information.js +74 -64
  48. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  49. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +10 -9
  50. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
  51. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +40 -39
  52. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  53. package/dist/features/trial-session/comps/school-goals/school-goals.js +39 -37
  54. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  55. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js +12 -20
  56. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js.map +1 -1
  57. package/dist/features/trial-session/comps/session-insights/session-insights.js +64 -63
  58. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  59. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +13 -12
  60. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  61. package/dist/features/trial-session/comps/session-overview/session-overview.js +6 -6
  62. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  63. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js +61 -0
  64. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js.map +1 -0
  65. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js +5 -0
  66. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js.map +1 -0
  67. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js +135 -0
  68. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js.map +1 -0
  69. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js +53 -0
  70. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js.map +1 -0
  71. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +15 -16
  72. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
  73. package/dist/features/trial-session/comps/session-report/session-report.js +35 -33
  74. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  75. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js +9 -16
  76. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js.map +1 -1
  77. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +39 -37
  78. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  79. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js +10 -9
  80. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  81. package/dist/features/trial-session/comps/student-info/student-info-constants.js +35 -0
  82. package/dist/features/trial-session/comps/student-info/student-info-constants.js.map +1 -0
  83. package/dist/features/trial-session/comps/student-info/student-info-helpers.js +12 -0
  84. package/dist/features/trial-session/comps/student-info/student-info-helpers.js.map +1 -0
  85. package/dist/features/trial-session/comps/student-info/student-info-styled.js +26 -11
  86. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  87. package/dist/features/trial-session/comps/student-info/student-info.js +113 -78
  88. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  89. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +3 -12
  90. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  91. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +34 -33
  92. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  93. package/dist/features/trial-session/comps/student-profile/student-profile.js +45 -44
  94. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  95. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +9 -8
  96. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  97. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js +11 -19
  98. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js.map +1 -1
  99. package/dist/features/trial-session/comps/test-prep/test-prep.js +31 -29
  100. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  101. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js +42 -0
  102. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js.map +1 -0
  103. package/dist/features/trial-session/comps/topic-selection/topic-selection.js +84 -0
  104. package/dist/features/trial-session/comps/topic-selection/topic-selection.js.map +1 -0
  105. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js +21 -0
  106. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js.map +1 -0
  107. package/dist/features/trial-session/comps/whiteboard/whiteboard.js +99 -0
  108. package/dist/features/trial-session/comps/whiteboard/whiteboard.js.map +1 -0
  109. package/dist/features/trial-session/comps/worksheet/worksheet.js +35 -33
  110. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  111. package/dist/features/trial-session/context/trial-session-context.js +2 -0
  112. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  113. package/dist/features/trial-session/helper.js +70 -64
  114. package/dist/features/trial-session/helper.js.map +1 -1
  115. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +184 -151
  116. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  117. package/dist/features/trial-session/right-panel/right-panel-styled.js +8 -8
  118. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  119. package/dist/features/trial-session/right-panel/slide-components-map.js +42 -36
  120. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  121. package/dist/features/trial-session/trial-session-constants.js +22 -18
  122. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  123. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  124. package/dist/features/trial-session/trial-session-view.js +82 -77
  125. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  126. package/dist/features/trial-session/trial-session.js +38 -38
  127. package/dist/features/trial-session/trial-session.js.map +1 -1
  128. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  129. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  130. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +12 -12
  131. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  132. package/dist/features/ui/theme/clrs.js +1 -0
  133. package/dist/features/ui/theme/clrs.js.map +1 -1
  134. package/dist/features/worksheet/worksheet/mocks/activity.js +6 -0
  135. package/dist/features/worksheet/worksheet/mocks/activity.js.map +1 -0
  136. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +5 -0
  137. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +1 -0
  138. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +57 -0
  139. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +1 -0
  140. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +263 -0
  141. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +1 -0
  142. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +177 -0
  143. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +1 -0
  144. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +267 -0
  145. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
  146. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +2 -6
  147. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  148. package/dist/features/worksheet/worksheet/worksheet-helpers.js +38 -37
  149. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  150. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +35 -28
  151. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  152. package/dist/index.d.ts +12 -5
  153. package/dist/index.js +1 -1
  154. package/dist/node_modules/query-string/base.js +1 -1
  155. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  156. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  157. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  158. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  159. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  160. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  161. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  162. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  163. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  164. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  165. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  166. package/dist/types/models/worksheet.js +1 -1
  167. package/dist/types/models/worksheet.js.map +1 -1
  168. package/package.json +1 -1
  169. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  170. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  171. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  172. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -1,230 +1,263 @@
1
- import { useCallback as r, useEffect as oe } from "react";
2
- import { COURSE_STREAMS as se } from "../../milestone/constants.js";
3
- import { useMilestoneBulkPost as ae } from "../../milestone/create/api/milestone-bulk.js";
4
- import { usePostStudentPreferences as ne } from "../api/course-stream.js";
5
- import { usePatchStudentInformation as ie } from "../api/student-information.js";
6
- import { usePostTeacherAvailability as re } from "../api/teacher-availability.js";
7
- import { usePatchTrialHome as ce } from "../api/trial-home.js";
8
- import { useTrialSessionContext as le } from "../context/use-trial-session-context.js";
9
- import { getFormattedPreferences as Z, getWeekdayAndStartTimeFromPreference as de, getFormattedStudentPersonalizedPreference as me } from "../helper.js";
1
+ import { useCallback as i, useEffect as ie } from "react";
2
+ import { COURSE_STREAMS as re } from "../../milestone/constants.js";
3
+ import { useMilestoneBulkPost as ce } from "../../milestone/create/api/milestone-bulk.js";
4
+ import { usePostStudentPreferences as le } from "../api/course-stream.js";
5
+ import { usePatchStudentInformation as de } from "../api/student-information.js";
6
+ import { usePostTeacherAvailability as me } from "../api/teacher-availability.js";
7
+ import { usePatchTrialHome as ue } from "../api/trial-home.js";
8
+ import { useTrialSessionContext as fe } from "../context/use-trial-session-context.js";
9
+ import { getFormattedPreferences as Q, getWeekdayAndStartTimeFromPreference as pe, getFormattedStudentPersonalizedPreference as _e } from "../helper.js";
10
10
  import { DEFAULT_BUTTON_STATE as f, TrialPageId as t } from "../trial-session-constants.js";
11
- import j from "../../../node_modules/uuid/dist/esm-browser/v4.js";
12
- const ge = () => {
11
+ import X from "../../../node_modules/uuid/dist/esm-browser/v4.js";
12
+ const Ce = () => {
13
13
  const {
14
- updateSlideConfig: a,
15
- slideConfig: q,
16
- formData: J,
17
- updateButtonState: s,
18
- teacherId: c,
19
- studentId: l,
20
- milestoneConfig: T,
21
- handleInfoMessage: _,
22
- onTrialInformationUpdate: g,
23
- trialHomeData: P,
24
- worksheetNavigationPanel: C
25
- } = le(), { nextPage: Q, id: u } = q || {}, { demo_info: X } = P, { stream: R, region_data: Y } = X, { opportunity_country: k = "US" } = Y || {}, { pageId: i } = Q || {}, {
14
+ updateSlideConfig: s,
15
+ slideConfig: Y,
16
+ demoType: m,
17
+ formData: $,
18
+ updateButtonState: a,
19
+ teacherId: r,
20
+ studentId: c,
21
+ milestoneConfig: D,
22
+ handleInfoMessage: L,
23
+ onTrialInformationUpdate: A,
24
+ trialHomeData: C,
25
+ worksheetNavigationPanel: v
26
+ } = fe(), { nextPage: ee, id: p } = Y || {}, { demo_info: te } = C, { stream: O, region_data: oe } = te, { opportunity_country: y = "US" } = oe || {}, { pageId: l } = ee || {}, {
26
27
  name: E,
27
- grade: p,
28
- goals: y,
29
- curriculum: L,
30
- studentTimezone: N,
31
- preferences: I = [],
32
- personalizedLevel: D = [],
33
- personalizedFocus: O = [],
34
- personalizedBehaviors: G = [],
35
- personalizedObjectives: x = [],
36
- personalizedPosition: z = []
37
- } = J || {}, d = r(() => {
38
- s("both", {
28
+ grade: _,
29
+ goals: G,
30
+ curriculum: N,
31
+ selectedTopics: x = [],
32
+ studentTimezone: I,
33
+ preferences: S = [],
34
+ personalizedLevel: U = [],
35
+ personalizedFocus: z = [],
36
+ personalizedBehaviors: M = [],
37
+ personalizedObjectives: B = [],
38
+ personalizedPosition: F = []
39
+ } = $ || {}, d = i(() => {
40
+ a("both", {
39
41
  left: { isDisabled: !0, isLoading: !1 },
40
42
  right: { isDisabled: !0, isLoading: !0 }
41
43
  });
42
- }, [s]), S = (o) => {
44
+ }, [a]), b = (o) => {
43
45
  if (!o) {
44
46
  const e = {};
45
- (i === t.CIRCLE_GAME || i === t.CIRCLE_PUZZLE || i === t.CIRCLE_SKILL) && (e.matchmakingId = j(), e.showCircleGameScreen = !0), a({ id: i, ...e });
47
+ (l === t.CIRCLE_GAME || l === t.CIRCLE_PUZZLE || l === t.CIRCLE_SKILL) && (e.matchmakingId = X(), e.showCircleGameScreen = !0), s({ id: l, ...e });
46
48
  }
47
- s("both", f), u === t.LEARNING_LEVEL && (g == null || g());
48
- }, { patch: U } = ce({ onComplete: S }), { patch: B } = ie({
49
- onComplete: S
50
- }), { post: F } = ae({
51
- onComplete: S
52
- }), { post: M } = ne({
53
- onComplete: S
54
- }), $ = r(
49
+ a("both", f), p === t.LEARNING_LEVEL && (A == null || A());
50
+ }, { patch: P } = ue({ onComplete: b }), { patch: V } = de({
51
+ onComplete: b
52
+ }), { post: H } = ce({
53
+ onComplete: b
54
+ }), { post: w } = le({
55
+ onComplete: b
56
+ }), ae = i(
55
57
  (o, e) => {
56
58
  if ((e ?? []).some((n) => !n.is_available)) {
57
- const te = (e ?? []).filter((v) => !v.is_available).map((v) => v.reason).join(`
59
+ const ne = (e ?? []).filter((k) => !k.is_available).map((k) => k.reason).join(`
58
60
  `);
59
- _ == null || _({ message: te, position: "bottom" }), s("both", f);
61
+ L == null || L({ message: ne, position: "bottom" }), a("both", f);
60
62
  return;
61
63
  }
62
- const h = Z(I, N);
63
- h.length > 0 ? U("trial-v3-patch", {
64
+ const h = Q(S, I);
65
+ h.length > 0 ? P("trial-v3-patch", {
64
66
  action: "UPDATE_DEMO",
65
67
  action_data: {
66
68
  trial_details: {
67
69
  selected_regular_slots: h
68
70
  }
69
71
  },
70
- teacher_id: c,
71
- student_id: l
72
- }) : s("both", f);
72
+ teacher_id: r,
73
+ student_id: c
74
+ }) : a("both", f);
73
75
  },
74
76
  [
75
- _,
76
- U,
77
- I,
78
- l,
79
- N,
77
+ L,
78
+ P,
79
+ S,
80
80
  c,
81
- s
81
+ I,
82
+ r,
83
+ a
82
84
  ]
83
- ), { post: H } = re({
84
- onComplete: $
85
- }), w = r(() => {
85
+ ), { post: W } = me({
86
+ onComplete: ae
87
+ }), K = i(() => {
86
88
  var n;
87
- const [o, e] = ((n = E == null ? void 0 : E.trim()) == null ? void 0 : n.split(" ")) || [], m = {
89
+ const [o, e] = ((n = E == null ? void 0 : E.trim()) == null ? void 0 : n.split(" ")) || [], u = {
88
90
  first_name: o,
89
91
  last_name: e,
90
- grade: p,
91
- board: L,
92
- demo_type: "TRIAL_V3",
93
- teacher_id: c,
94
- country_alpha_2: k
92
+ grade: _,
93
+ board: N,
94
+ demo_type: m,
95
+ teacher_id: r,
96
+ country_alpha_2: y
95
97
  };
96
- /\d/.test(E || "") ? a({ numberInNameError: !0 }) : (d(), B(l, m));
98
+ /\d/.test(E || "") ? s({ numberInNameError: !0 }) : (d(), V(c, u));
97
99
  }, [
98
100
  E,
99
- p,
100
- L,
101
- c,
102
- k,
101
+ _,
102
+ N,
103
+ m,
104
+ r,
105
+ y,
106
+ s,
103
107
  d,
104
- a,
105
- B,
106
- l
107
- ]), V = r(() => {
108
- const o = Z(I, N), e = de(o);
108
+ V,
109
+ c
110
+ ]), Z = i(() => {
111
+ const o = Q(S, I), e = pe(o);
109
112
  if (o.length > 0) {
110
- const m = {
111
- teacher_id: c,
113
+ const u = {
114
+ teacher_id: r,
112
115
  session_list: e
113
116
  };
114
- d(), H(m);
117
+ d(), W(u);
115
118
  } else
116
- a({ id: i }), s("both", f);
119
+ s({ id: l }), a("both", f);
117
120
  }, [
121
+ S,
118
122
  I,
119
- N,
120
- c,
121
- H,
123
+ r,
124
+ W,
122
125
  d,
123
- a,
124
- i,
125
- s
126
- ]), K = r(() => {
126
+ s,
127
+ l,
128
+ a
129
+ ]), g = i(() => {
127
130
  const o = {
128
- course_stream: R,
129
- grade: p,
130
- teacher_id: c,
131
- board: L,
132
- goals: y
131
+ course_stream: O,
132
+ grade: _,
133
+ teacher_id: r,
134
+ board: N,
135
+ goals: G,
136
+ delete_existing_draft: m === "TRIAL_V3_3"
133
137
  };
134
- d(), F(o, {
135
- studentId: l
138
+ d(), H(o, {
139
+ studentId: c
136
140
  });
137
141
  }, [
138
- L,
142
+ N,
143
+ m,
139
144
  d,
140
- y,
141
- p,
142
- F,
143
- R,
144
- l,
145
- c
146
- ]), b = r(() => {
147
- const e = { preferences: me(T, [
148
- ...D,
149
- ...O,
150
- ...G,
151
- ...x,
152
- ...z
153
- ]), grade: p }, m = { stream: se.MATH, studentId: l };
154
- d(), M(e, m);
145
+ G,
146
+ _,
147
+ H,
148
+ O,
149
+ c,
150
+ r
151
+ ]), j = i(() => {
152
+ const o = {
153
+ trial_details: {
154
+ selected_topics: x
155
+ }
156
+ };
157
+ d(), P("trial-v3-patch", {
158
+ action: "UPDATE_DEMO",
159
+ action_data: o,
160
+ teacher_id: r,
161
+ student_id: c
162
+ });
163
+ }, [x, d, P, r, c]), q = i(
164
+ (o) => {
165
+ m === "TRIAL_V3" ? g() : o && (s({ id: o }), a("both", f));
166
+ },
167
+ [m, g, a, s]
168
+ ), T = i(() => {
169
+ const e = { preferences: _e(D, [
170
+ ...U,
171
+ ...z,
172
+ ...M,
173
+ ...B,
174
+ ...F
175
+ ]), grade: _ }, u = { stream: re.MATH, studentId: c };
176
+ d(), w(e, u);
155
177
  }, [
156
- p,
157
- l,
158
- T,
178
+ _,
179
+ c,
159
180
  D,
160
- O,
161
- G,
162
- x,
181
+ U,
163
182
  z,
183
+ M,
184
+ B,
185
+ F,
164
186
  d,
165
- M
166
- ]), W = r(() => {
167
- !!P.pages.find((e) => e.id === t.LEARNING_LEVEL) ? (a({ id: i }), s("both", f)) : b();
187
+ w
188
+ ]), J = i(() => {
189
+ !!C.pages.find((e) => e.id === t.LEARNING_LEVEL) ? (s({ id: l }), a("both", f)) : T();
168
190
  }, [
169
- i,
170
- P,
171
- a,
191
+ l,
192
+ C,
172
193
  s,
173
- b
174
- ]), A = r(
194
+ a,
195
+ T
196
+ ]), R = i(
175
197
  (o, e) => {
176
- if (!a) return;
177
- const m = u === t.STUDENT_PROFILE, h = u === t.LEARNING_PLAN, n = { numberInNameError: !1 };
178
- if ((e === t.CIRCLE_GAME || e === t.CIRCLE_PUZZLE || e === t.CIRCLE_SKILL) && (n.matchmakingId = j(), n.showCircleGameScreen = !0), o === "prev" && (a({
198
+ if (!s) return;
199
+ const u = p === t.STUDENT_PROFILE, h = p === t.LEARNING_PLAN, n = { numberInNameError: !1 };
200
+ if ((e === t.CIRCLE_GAME || e === t.CIRCLE_PUZZLE || e === t.CIRCLE_SKILL) && (n.matchmakingId = X(), n.showCircleGameScreen = !0), o === "prev" && (s({
179
201
  id: e,
180
- ...m && { studentProfile: void 0 },
202
+ ...u && { studentProfile: void 0 },
181
203
  ...h && {
182
204
  chapterId: void 0
183
205
  },
184
206
  ...n
185
- }), s("both", f)), o === "next")
186
- switch (u) {
207
+ }), a("both", f)), o === "next") {
208
+ if (e === t.LEARNING_PLAN && m !== "TRIAL_V3") {
209
+ g();
210
+ return;
211
+ }
212
+ switch (p) {
187
213
  case t.STUDENT_INFORMATION:
188
214
  case t.SCHOOL_GOALS:
189
- w();
215
+ K();
190
216
  break;
191
217
  case t.LEARNING_WORKSHEET:
192
- K();
218
+ q(e);
193
219
  break;
194
220
  case t.CLASS_PREFERENCE:
195
- V();
221
+ Z();
222
+ break;
223
+ case t.TOPIC_SELECTION:
224
+ j();
196
225
  break;
197
226
  case t.STUDENT_INTRO:
198
- W();
227
+ J();
199
228
  break;
200
229
  case t.LEARNING_LEVEL:
201
- b();
230
+ T();
202
231
  break;
203
232
  case t.LEARNING_PLAN:
204
- a({ id: e, chapterId: void 0, ...n });
233
+ s({ id: e, chapterId: void 0, ...n });
205
234
  break;
206
235
  default:
207
- a({ id: e, ...n }), s("both", f);
236
+ s({ id: e, ...n }), a("both", f);
208
237
  }
238
+ }
209
239
  },
210
240
  [
211
- a,
212
- u,
213
241
  s,
214
- w,
242
+ p,
243
+ a,
244
+ m,
245
+ g,
215
246
  K,
216
- V,
217
- b,
218
- W
247
+ q,
248
+ Z,
249
+ j,
250
+ J,
251
+ T
219
252
  ]
220
- ), ee = r(() => {
221
- !C && u === t.LEARNING_WORKSHEET && A("next", i);
222
- }, [u, A, i, C]);
223
- return oe(() => {
224
- ee();
225
- }, [C]), { handleNavigation: A };
253
+ ), se = i(() => {
254
+ !v && p === t.LEARNING_WORKSHEET && R("next", l);
255
+ }, [p, R, l, v]);
256
+ return ie(() => {
257
+ se();
258
+ }, [v]), { handleNavigation: R };
226
259
  };
227
260
  export {
228
- ge as useTrialSessionNavigation
261
+ Ce as useTrialSessionNavigation
229
262
  };
230
263
  //# sourceMappingURL=use-trial-session-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport {\n usePostTeacherAvailability,\n type TTeacherAvailabilityResponse,\n} from '../api/teacher-availability';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n getWeekdayAndStartTimeFromPreference,\n} from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\nimport type { ITrialSessionFormFields } from '../trial-session-types';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n handleInfoMessage,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n personalizedObjectives = [],\n personalizedPosition = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (currentPageId === TrialPageId.LEARNING_LEVEL) {\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n const onTeacherAvailabilityValidate = useCallback(\n (_: string | null, data?: TTeacherAvailabilityResponse) => {\n const hasNotAvailable = (data ?? []).some(item => !item.is_available);\n\n if (hasNotAvailable) {\n const notAvailable = (data ?? []).filter(item => !item.is_available);\n const reason = notAvailable.map(item => item.reason).join('\\n');\n\n handleInfoMessage?.({ message: reason, position: 'bottom' });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n return;\n }\n\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else updateButtonState('both', DEFAULT_BUTTON_STATE);\n },\n [\n handleInfoMessage,\n patchTrialSession,\n preferences,\n studentId,\n studentTimezone,\n teacherId,\n updateButtonState,\n ],\n );\n\n const { post: postTeacherAvailability } = usePostTeacherAvailability({\n onComplete: onTeacherAvailabilityValidate,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.trim()?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n const isNumberExistsInName = /\\d/.test(name || '');\n\n if (isNumberExistsInName) {\n updateSlideConfig({ numberInNameError: true });\n } else {\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n updateSlideConfig,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n const sessionList = getWeekdayAndStartTimeFromPreference(selectedRegularSlots);\n\n if (selectedRegularSlots.length > 0) {\n const availabilityPayload = {\n teacher_id: teacherId,\n session_list: sessionList,\n };\n\n disableNavButtons();\n postTeacherAvailability(availabilityPayload);\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n teacherId,\n postTeacherAvailability,\n disableNavButtons,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ...personalizedObjectives,\n ...personalizedPosition,\n ]);\n\n const payload = { preferences: personalizedPreferences, grade };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n grade,\n studentId,\n milestoneConfig,\n personalizedLevel,\n personalizedFocus,\n personalizedBehaviors,\n personalizedObjectives,\n personalizedPosition,\n disableNavButtons,\n postStudentPreferences,\n ]);\n\n const handleStudentIntroduction = useCallback(() => {\n const isLearningLevelExisted = Boolean(\n trialHomeData.pages.find(page => page.id === TrialPageId.LEARNING_LEVEL),\n );\n\n if (isLearningLevelExisted) {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n } else {\n handleStudentPreferencesPatch();\n }\n }, [\n nextPageId,\n trialHomeData,\n updateSlideConfig,\n updateButtonState,\n handleStudentPreferencesPatch,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = { numberInNameError: false };\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.STUDENT_INTRO:\n handleStudentIntroduction();\n break;\n case TrialPageId.LEARNING_LEVEL:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n handleStudentIntroduction,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","handleInfoMessage","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","personalizedObjectives","personalizedPosition","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","onTeacherAvailabilityValidate","_","data","item","reason","selectedRegularSlots","getFormattedPreferences","postTeacherAvailability","usePostTeacherAvailability","handleStudentInformation","firstName","lastName","_a","payload","handleClassPreferences","sessionList","getWeekdayAndStartTimeFromPreference","availabilityPayload","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleStudentIntroduction","page","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport {\n usePostTeacherAvailability,\n type TTeacherAvailabilityResponse,\n} from '../api/teacher-availability';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n getWeekdayAndStartTimeFromPreference,\n} from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\nimport type { ITrialSessionFormFields } from '../trial-session-types';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n demoType,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n handleInfoMessage,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n selectedTopics = [],\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n personalizedObjectives = [],\n personalizedPosition = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (currentPageId === TrialPageId.LEARNING_LEVEL) {\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n const onTeacherAvailabilityValidate = useCallback(\n (_: string | null, data?: TTeacherAvailabilityResponse) => {\n const hasNotAvailable = (data ?? []).some(item => !item.is_available);\n\n if (hasNotAvailable) {\n const notAvailable = (data ?? []).filter(item => !item.is_available);\n const reason = notAvailable.map(item => item.reason).join('\\n');\n\n handleInfoMessage?.({ message: reason, position: 'bottom' });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n return;\n }\n\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else updateButtonState('both', DEFAULT_BUTTON_STATE);\n },\n [\n handleInfoMessage,\n patchTrialSession,\n preferences,\n studentId,\n studentTimezone,\n teacherId,\n updateButtonState,\n ],\n );\n\n const { post: postTeacherAvailability } = usePostTeacherAvailability({\n onComplete: onTeacherAvailabilityValidate,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.trim()?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: demoType,\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n const isNumberExistsInName = /\\d/.test(name || '');\n\n if (isNumberExistsInName) {\n updateSlideConfig({ numberInNameError: true });\n } else {\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }\n }, [\n name,\n grade,\n curriculum,\n demoType,\n teacherId,\n countryCode,\n updateSlideConfig,\n disableNavButtons,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n const sessionList = getWeekdayAndStartTimeFromPreference(selectedRegularSlots);\n\n if (selectedRegularSlots.length > 0) {\n const availabilityPayload = {\n teacher_id: teacherId,\n session_list: sessionList,\n };\n\n disableNavButtons();\n postTeacherAvailability(availabilityPayload);\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n teacherId,\n postTeacherAvailability,\n disableNavButtons,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n delete_existing_draft: demoType === 'TRIAL_V3_3',\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n demoType,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleTopicSelection = useCallback(() => {\n const actionData = {\n trial_details: {\n selected_topics: selectedTopics,\n },\n };\n\n disableNavButtons();\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n }, [selectedTopics, disableNavButtons, patchTrialSession, teacherId, studentId]);\n\n const handleWorksheetNavigation = useCallback(\n (id?: TrialPageId) => {\n if (demoType === 'TRIAL_V3') {\n handleMileStoneBulkPost();\n } else if (id) {\n updateSlideConfig({ id });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n },\n [demoType, handleMileStoneBulkPost, updateButtonState, updateSlideConfig],\n );\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ...personalizedObjectives,\n ...personalizedPosition,\n ]);\n\n const payload = { preferences: personalizedPreferences, grade };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n grade,\n studentId,\n milestoneConfig,\n personalizedLevel,\n personalizedFocus,\n personalizedBehaviors,\n personalizedObjectives,\n personalizedPosition,\n disableNavButtons,\n postStudentPreferences,\n ]);\n\n const handleStudentIntroduction = useCallback(() => {\n const isLearningLevelExisted = Boolean(\n trialHomeData.pages.find(page => page.id === TrialPageId.LEARNING_LEVEL),\n );\n\n if (isLearningLevelExisted) {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n } else {\n handleStudentPreferencesPatch();\n }\n }, [\n nextPageId,\n trialHomeData,\n updateSlideConfig,\n updateButtonState,\n handleStudentPreferencesPatch,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: TrialPageId) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = { numberInNameError: false };\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n if (id === TrialPageId.LEARNING_PLAN && demoType !== 'TRIAL_V3') {\n handleMileStoneBulkPost();\n\n return;\n }\n\n switch (currentPageId) {\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleWorksheetNavigation(id);\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.TOPIC_SELECTION:\n handleTopicSelection();\n break;\n case TrialPageId.STUDENT_INTRO:\n handleStudentIntroduction();\n break;\n case TrialPageId.LEARNING_LEVEL:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n demoType,\n handleMileStoneBulkPost,\n handleStudentInformation,\n handleWorksheetNavigation,\n handleClassPreferences,\n handleTopicSelection,\n handleStudentIntroduction,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","demoType","formData","updateButtonState","teacherId","studentId","milestoneConfig","handleInfoMessage","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","selectedTopics","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","personalizedObjectives","personalizedPosition","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","onTeacherAvailabilityValidate","_","data","item","reason","selectedRegularSlots","getFormattedPreferences","postTeacherAvailability","usePostTeacherAvailability","handleStudentInformation","firstName","lastName","_a","payload","handleClassPreferences","sessionList","getWeekdayAndStartTimeFromPreference","availabilityPayload","handleMileStoneBulkPost","handleTopicSelection","actionData","handleWorksheetNavigation","id","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleStudentIntroduction","page","handleNavigation","dir","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import e, { keyframes as n } from "styled-components";
1
+ import e, { keyframes as p } from "styled-components";
2
2
  import r from "../../ui/layout/flex-view.js";
3
- import p from "../../ui/text/text.js";
4
- import { RIGHT_PANEL_WIDTH as s } from "../trial-session-constants.js";
5
- const a = n`
3
+ import s from "../../ui/text/text.js";
4
+ import { RIGHT_PANEL_WIDTH as n } from "../trial-session-constants.js";
5
+ const a = p`
6
6
  from {
7
7
  opacity: 0;
8
8
  }
@@ -12,7 +12,7 @@ const a = n`
12
12
  `, m = e.div(
13
13
  ({ $readOnly: t, $isTeacher: o, theme: { colors: i } }) => `
14
14
  position: relative;
15
- width: ${s}px;
15
+ width: ${n}px;
16
16
  height: 100%;
17
17
  background-color: white;
18
18
  flex-shrink: 0;
@@ -38,9 +38,9 @@ const a = n`
38
38
  animation: ${a} 0.3s ease-in-out;
39
39
  `, g = e.div(
40
40
  ({ $readOnly: t }) => `
41
- width: 950px;
41
+ width: ${n}px;
42
42
  height: 100%;
43
- transform: translateX(-11px);
43
+ transform: translateX(-2px);
44
44
  ${t ? "pointer-events: none;" : ""}
45
45
  `
46
46
  ), $ = e.div`
@@ -57,7 +57,7 @@ const a = n`
57
57
  justify-self: center;
58
58
  z-index: 4;
59
59
  padding: 4px 12px 6px;
60
- `, b = e(p)(
60
+ `, b = e(s)(
61
61
  ({ theme: { layout: t, colors: o } }) => `
62
62
  position: absolute;
63
63
  top: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"right-panel-styled.js","sources":["../../../../src/features/trial-session/right-panel/right-panel-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { RIGHT_PANEL_WIDTH } from '../trial-session-constants';\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nconst Container = styled.div<{ $readOnly: boolean; $isTeacher: boolean }>(\n ({ $readOnly, $isTeacher, theme: { colors } }) => {\n return `\n position: relative;\n width: ${RIGHT_PANEL_WIDTH}px;\n height: 100%;\n background-color: white;\n flex-shrink: 0;\n z-index: 1;\n overflow: hidden;\n ${$readOnly ? `cursor: not-allowed;` : ''}\n ${\n $isTeacher\n ? `border: 4px solid ${colors.GREEN_4};`\n : `\n border-left: 1px solid ${colors.WHITE_5};\n border-right: 1px solid ${colors.WHITE_5};\n `\n }\n `;\n },\n);\n\nconst SlideWrapper = styled(FlexView)<{ $minDevice: boolean; $readOnly: boolean }>(\n ({ $minDevice, $readOnly, theme: { layout } }) => `\n ${\n $minDevice\n ? `\n height: calc(100% + ${layout.gutter * 3.125}px);\n transform: translateY(-${layout.gutter * 3.125}px);\n `\n : ''\n }\n ${$readOnly ? `pointer-events: none;` : ''}\n `,\n);\n\nconst Animation = styled.div`\n width: inherit;\n height: 100%;\n animation: ${fadeIn} 0.3s ease-in-out;\n`;\n\nconst Wrapper = styled.div<{ $readOnly: boolean }>(\n ({ $readOnly }) => `\n width: 950px;\n height: 100%;\n transform: translateX(-11px);\n ${$readOnly ? `pointer-events: none;` : ''}\n`,\n);\n\nconst GridWrapper = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: -1;\n`;\n\nconst SharedTag = styled(FlexView)`\n position: absolute;\n top: 0;\n right: 0;\n justify-self: center;\n z-index: 4;\n padding: 4px 12px 6px;\n`;\n\nconst ParentDiscussion = styled(Text)(\n ({ theme: { layout, colors } }) => `\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n z-index: 4;\n padding: 0px ${layout.gutter * 0.75}px;\n background-color: ${colors.BLACK_5};\n height: ${layout.gutter * 1.75}px;\n`,\n);\n\nexport { Container, Animation, Wrapper, GridWrapper, SlideWrapper, SharedTag, ParentDiscussion };\n"],"names":["fadeIn","keyframes","Container","styled","$readOnly","$isTeacher","colors","RIGHT_PANEL_WIDTH","SlideWrapper","FlexView","$minDevice","layout","Animation","Wrapper","GridWrapper","SharedTag","ParentDiscussion","Text"],"mappings":";;;;AAMA,MAAMA,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAYC,EAAO;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,OAAO,EAAE,QAAAC,UAC1B;AAAA;AAAA,eAEIC,CAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMxBH,IAAY,yBAAyB,EAAE;AAAA,QAEvCC,IACI,qBAAqBC,EAAO,OAAO,MACnC;AAAA,qCACyBA,EAAO,OAAO;AAAA,sCACbA,EAAO,OAAO;AAAA,WAE9C;AAAA;AAGN,GAEME,IAAeL,EAAOM,CAAQ;AAAA,EAClC,CAAC,EAAE,YAAAC,GAAY,WAAAN,GAAW,OAAO,EAAE,QAAAO,UAAe;AAAA,MAE9CD,IACI;AAAA,gCACsBC,EAAO,SAAS,KAAK;AAAA,mCAClBA,EAAO,SAAS,KAAK;AAAA,YAE9C,EACN;AAAA,MACEP,IAAY,0BAA0B,EAAE;AAAA;AAE9C,GAEMQ,IAAYT,EAAO;AAAA;AAAA;AAAA,eAGVH,CAAM;AAAA,GAGfa,IAAUV,EAAO;AAAA,EACrB,CAAC,EAAE,WAAAC,EAAA,MAAgB;AAAA;AAAA;AAAA;AAAA,IAIjBA,IAAY,0BAA0B,EAAE;AAAA;AAE5C,GAEMU,IAAcX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASrBY,IAAYZ,EAAOM,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS3BO,IAAmBb,EAAOc,CAAI;AAAA,EAClC,CAAC,EAAE,OAAO,EAAE,QAAAN,GAAQ,QAAAL,EAAA,EAAe,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAQpBK,EAAO,SAAS,IAAI;AAAA,sBACfL,EAAO,OAAO;AAAA,YACxBK,EAAO,SAAS,IAAI;AAAA;AAEhC;"}
1
+ {"version":3,"file":"right-panel-styled.js","sources":["../../../../src/features/trial-session/right-panel/right-panel-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { RIGHT_PANEL_WIDTH } from '../trial-session-constants';\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nconst Container = styled.div<{ $readOnly: boolean; $isTeacher: boolean }>(\n ({ $readOnly, $isTeacher, theme: { colors } }) => {\n return `\n position: relative;\n width: ${RIGHT_PANEL_WIDTH}px;\n height: 100%;\n background-color: white;\n flex-shrink: 0;\n z-index: 1;\n overflow: hidden;\n ${$readOnly ? `cursor: not-allowed;` : ''}\n ${\n $isTeacher\n ? `border: 4px solid ${colors.GREEN_4};`\n : `\n border-left: 1px solid ${colors.WHITE_5};\n border-right: 1px solid ${colors.WHITE_5};\n `\n }\n `;\n },\n);\n\nconst SlideWrapper = styled(FlexView)<{ $minDevice: boolean; $readOnly: boolean }>(\n ({ $minDevice, $readOnly, theme: { layout } }) => `\n ${\n $minDevice\n ? `\n height: calc(100% + ${layout.gutter * 3.125}px);\n transform: translateY(-${layout.gutter * 3.125}px);\n `\n : ''\n }\n ${$readOnly ? `pointer-events: none;` : ''}\n `,\n);\n\nconst Animation = styled.div`\n width: inherit;\n height: 100%;\n animation: ${fadeIn} 0.3s ease-in-out;\n`;\n\nconst Wrapper = styled.div<{ $readOnly: boolean }>(\n ({ $readOnly }) => `\n width: ${RIGHT_PANEL_WIDTH}px;\n height: 100%;\n transform: translateX(-2px);\n ${$readOnly ? `pointer-events: none;` : ''}\n`,\n);\n\nconst GridWrapper = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: -1;\n`;\n\nconst SharedTag = styled(FlexView)`\n position: absolute;\n top: 0;\n right: 0;\n justify-self: center;\n z-index: 4;\n padding: 4px 12px 6px;\n`;\n\nconst ParentDiscussion = styled(Text)(\n ({ theme: { layout, colors } }) => `\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n z-index: 4;\n padding: 0px ${layout.gutter * 0.75}px;\n background-color: ${colors.BLACK_5};\n height: ${layout.gutter * 1.75}px;\n`,\n);\n\nexport { Container, Animation, Wrapper, GridWrapper, SlideWrapper, SharedTag, ParentDiscussion };\n"],"names":["fadeIn","keyframes","Container","styled","$readOnly","$isTeacher","colors","RIGHT_PANEL_WIDTH","SlideWrapper","FlexView","$minDevice","layout","Animation","Wrapper","GridWrapper","SharedTag","ParentDiscussion","Text"],"mappings":";;;;AAMA,MAAMA,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAYC,EAAO;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,OAAO,EAAE,QAAAC,UAC1B;AAAA;AAAA,eAEIC,CAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMxBH,IAAY,yBAAyB,EAAE;AAAA,QAEvCC,IACI,qBAAqBC,EAAO,OAAO,MACnC;AAAA,qCACyBA,EAAO,OAAO;AAAA,sCACbA,EAAO,OAAO;AAAA,WAE9C;AAAA;AAGN,GAEME,IAAeL,EAAOM,CAAQ;AAAA,EAClC,CAAC,EAAE,YAAAC,GAAY,WAAAN,GAAW,OAAO,EAAE,QAAAO,UAAe;AAAA,MAE9CD,IACI;AAAA,gCACsBC,EAAO,SAAS,KAAK;AAAA,mCAClBA,EAAO,SAAS,KAAK;AAAA,YAE9C,EACN;AAAA,MACEP,IAAY,0BAA0B,EAAE;AAAA;AAE9C,GAEMQ,IAAYT,EAAO;AAAA;AAAA;AAAA,eAGVH,CAAM;AAAA,GAGfa,IAAUV,EAAO;AAAA,EACrB,CAAC,EAAE,WAAAC,EAAA,MAAgB;AAAA,WACVG,CAAiB;AAAA;AAAA;AAAA,IAGxBH,IAAY,0BAA0B,EAAE;AAAA;AAE5C,GAEMU,IAAcX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASrBY,IAAYZ,EAAOM,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS3BO,IAAmBb,EAAOc,CAAI;AAAA,EAClC,CAAC,EAAE,OAAO,EAAE,QAAAN,GAAQ,QAAAL,EAAA,EAAe,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAQpBK,EAAO,SAAS,IAAI;AAAA,sBACfL,EAAO,OAAO;AAAA,YACxBK,EAAO,SAAS,IAAI;AAAA;AAEhC;"}