@cuemath/leap 3.5.64 → 3.5.66-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 (176) hide show
  1. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  2. package/dist/features/cue-canvas/sidebar/sidebar.js +4 -4
  3. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  4. package/dist/features/cue-canvas/toolbar/toolbar.js +21 -17
  5. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  6. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +23 -13
  7. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  8. package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
  9. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +1 -1
  10. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -1
  11. package/dist/features/sheets/constants/sheet.js +1 -0
  12. package/dist/features/sheets/constants/sheet.js.map +1 -1
  13. package/dist/features/timeline/daily-timeline/daily-timeline.js +40 -40
  14. package/dist/features/timeline/daily-timeline/daily-timeline.js.map +1 -1
  15. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +1 -1
  16. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -1
  17. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +8 -5
  18. package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -1
  19. package/dist/features/timeline/monthly-timeline/monthly-timeline.js +35 -35
  20. package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -1
  21. package/dist/features/trial-session/api/trial-home.js +10 -16
  22. package/dist/features/trial-session/api/trial-home.js.map +1 -1
  23. package/dist/features/trial-session/api/trial-session-report.js +16 -0
  24. package/dist/features/trial-session/api/trial-session-report.js.map +1 -0
  25. package/dist/features/trial-session/api/trial-topics.js +9 -0
  26. package/dist/features/trial-session/api/trial-topics.js.map +1 -0
  27. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +62 -50
  28. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  29. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js +5 -14
  30. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js.map +1 -1
  31. package/dist/features/trial-session/comps/class-preference/class-preference.js +55 -53
  32. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  33. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js +3 -2
  34. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js.map +1 -1
  35. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +27 -27
  36. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
  37. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js +19 -18
  38. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  39. package/dist/features/trial-session/comps/learning-session/learning-session.js +34 -43
  40. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  41. package/dist/features/trial-session/comps/navigation-bar/index.js +56 -58
  42. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  43. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +29 -6
  44. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  45. package/dist/features/trial-session/comps/offering-information/offering-information.js +74 -64
  46. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  47. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +10 -9
  48. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
  49. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +40 -39
  50. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  51. package/dist/features/trial-session/comps/school-goals/school-goals.js +39 -37
  52. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  53. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js +12 -20
  54. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js.map +1 -1
  55. package/dist/features/trial-session/comps/session-insights/session-insights.js +64 -63
  56. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  57. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +13 -13
  58. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  59. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js +23 -4
  60. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
  61. package/dist/features/trial-session/comps/session-overview/session-overview.js +20 -20
  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 +190 -158
  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 +268 -0
  145. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
  146. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +51 -32
  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/worksheet-store/helpers/get-computed-properties.js +36 -35
  151. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js.map +1 -1
  152. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js +61 -58
  153. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js.map +1 -1
  154. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  155. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +32 -30
  156. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  157. package/dist/index.d.ts +12 -6
  158. package/dist/index.js +148 -150
  159. package/dist/index.js.map +1 -1
  160. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  161. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  162. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  163. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  164. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  165. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  166. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  167. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  168. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  169. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  170. package/dist/types/models/worksheet.js +1 -1
  171. package/dist/types/models/worksheet.js.map +1 -1
  172. package/package.json +1 -1
  173. package/dist/features/sheets/utils/is-v3-worksheet.js +0 -55
  174. package/dist/features/sheets/utils/is-v3-worksheet.js.map +0 -1
  175. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  176. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
@@ -0,0 +1,268 @@
1
+ import { jsx as r, jsxs as c, Fragment as oe } from "react/jsx-runtime";
2
+ import { useState as A, useRef as b, useCallback as o, useEffect as ne } from "react";
3
+ import u from "../../../ui/buttons/button/button.js";
4
+ import f from "../../../ui/layout/flex-view.js";
5
+ import I from "../../../ui/text/text.js";
6
+ import W from "../../constants/events.js";
7
+ import re from "../../worksheet-preview/hooks/use-worksheet-layout.js";
8
+ import { getActivityMockAttemptId as D } from "../mocks/activity.js";
9
+ import { getMockItemsSignedRequest as ae } from "../mocks/signed-requests.js";
10
+ import ie from "../worksheet.js";
11
+ import { isSATAssessmentNode as le } from "../worksheet-helpers.js";
12
+ import de from "./use-canvas-sync-broker-story.js";
13
+ import { HeaderWrapper as pe, WorksheetWrapper as ce } from "./worksheet-student.js";
14
+ import { TRIAL_V3_NODE_TYPES as me } from "../worksheet-behavior-helper.js";
15
+ const ye = (w) => {
16
+ var N;
17
+ const [t, L] = A(), _ = (N = t == null ? void 0 : t.instructor_stimulus) == null ? void 0 : N.toLowerCase(), {
18
+ nodeType: a,
19
+ activityType: h,
20
+ worksheetCompleted: g,
21
+ mockEnabled: m,
22
+ showHeader: R,
23
+ includeGutter: k,
24
+ questionsSignedRequest: P,
25
+ itemsSignedRequest: M,
26
+ inClass: v
27
+ } = w, C = h === "lesson-v3", E = m ? D(a, C) : "attemptId", K = b(null), V = le(a), O = re({
28
+ userType: "TEACHER",
29
+ isSATAssessment: V,
30
+ nodeType: a,
31
+ topOffset: R ? 60 : 0
32
+ }), [y, $] = A(), q = b((e, s) => {
33
+ console.log("Worksheet Teacher Logger:", e, s), e === W.WORKSHEET_V3_ITEMS_FAILED && $(`Failed to load worksheet: ${JSON.stringify(s, null, 2)}`), e === W.WORKSHEET_V3_QUESTION_MISSING_VALIDATION && $(`Question missing validation: ${JSON.stringify(s, null, 2)}`);
34
+ }), S = o(() => {
35
+ }, []), B = o((e) => {
36
+ alert(`Open Question Feedback Modal for item ref: ${e}`);
37
+ }, []), [x, H] = A(), F = o((e) => {
38
+ H(e);
39
+ }, []), { publishStrokes: G, registerCallback: X, initialStrokesData: j } = de(
40
+ "TEACHER",
41
+ void 0
42
+ ), n = o((e) => {
43
+ var p, d;
44
+ const s = (p = window.top) == null ? void 0 : p.document.querySelector(
45
+ 'iframe[src*="worksheet-student"]'
46
+ ), i = (d = s == null ? void 0 : s.contentWindow) == null ? void 0 : d.postMessage;
47
+ i && i(e);
48
+ }, []), z = o(
49
+ (e) => {
50
+ n({
51
+ eventName: "WORKSHEET_QUESTION_RETRY_ALLOWED",
52
+ eventPayload: {
53
+ attemptId: "userAttemptId",
54
+ responseId: e
55
+ }
56
+ });
57
+ },
58
+ [n]
59
+ ), T = o(
60
+ (e, s) => {
61
+ n({
62
+ eventName: "WORKSHEET_RESPONSE_VALIDATED",
63
+ eventPayload: {
64
+ attemptId: "userAttemptId",
65
+ responseId: e,
66
+ rating: s ?? "E"
67
+ // change this
68
+ }
69
+ });
70
+ },
71
+ [n]
72
+ ), J = o(
73
+ (e) => {
74
+ n({
75
+ eventName: "WORKSHEET_OPTIONAL_ITEMS_ASSIGNED",
76
+ eventPayload: {
77
+ attemptId: "userAttemptId",
78
+ itemType: e
79
+ }
80
+ });
81
+ },
82
+ [n]
83
+ ), U = o(
84
+ (e) => {
85
+ n({
86
+ eventName: "WORKSHEET_OPTIONAL_ITEMS_SKIPPED",
87
+ eventPayload: {
88
+ attemptId: "userAttemptId",
89
+ itemType: e
90
+ }
91
+ });
92
+ },
93
+ [n]
94
+ ), Y = o(
95
+ (e, s, i) => {
96
+ n({
97
+ eventName: "WORKSHEET_MEDIA_STATE_UPDATED_BY_TEACHER",
98
+ eventPayload: {
99
+ attemptId: "userAttemptId",
100
+ responseId: e.response_id,
101
+ mediaType: s,
102
+ mediaState: i
103
+ }
104
+ });
105
+ },
106
+ [n]
107
+ );
108
+ ne(() => {
109
+ window.addEventListener(
110
+ "message",
111
+ (e) => {
112
+ H((s) => {
113
+ const { eventName: i, eventPayload: p } = e.data;
114
+ if (i === "WORKSHEET_RESPONSE_CHANGED") {
115
+ const { responseId: d, response: se } = p;
116
+ return {
117
+ ...s,
118
+ [d]: se
119
+ };
120
+ }
121
+ if (i === "WORKSHEET_BULK_RESPONSES_CHANGED") {
122
+ const { responses: d } = p;
123
+ return {
124
+ ...s,
125
+ ...d
126
+ };
127
+ }
128
+ return s;
129
+ });
130
+ },
131
+ !1
132
+ );
133
+ }, []);
134
+ const l = o(
135
+ (e) => {
136
+ t != null && t.response_id && n({
137
+ eventName: "WORKSHEET_RESPONSE_VALIDATED",
138
+ eventPayload: {
139
+ attemptId: E,
140
+ responseId: t == null ? void 0 : t.response_id,
141
+ rating: e !== "H" ? e : void 0,
142
+ skipRemainingQuestions: e === "H" || e === "E"
143
+ }
144
+ });
145
+ },
146
+ [t, E, n]
147
+ ), Q = o(() => l("E"), [l]), Z = o(
148
+ () => l("S"),
149
+ [l]
150
+ ), ee = o(() => l("H"), [l]), te = o(() => {
151
+ t != null && t.response_id && T(t.response_id);
152
+ }, [t == null ? void 0 : t.response_id, T]);
153
+ return y ? /* @__PURE__ */ r(
154
+ f,
155
+ {
156
+ $flexDirection: "column",
157
+ $alignItems: "center",
158
+ $justifyContent: "center",
159
+ $height: "100%",
160
+ $gutterX: 4,
161
+ $gapX: 4,
162
+ children: /* @__PURE__ */ r(I, { $renderAs: "ub1-bold", $color: "RED", children: /* @__PURE__ */ r("pre", { children: /* @__PURE__ */ r("code", { children: y }) }) })
163
+ }
164
+ ) : /* @__PURE__ */ c(f, { $gutterX: k ? 1 : 0, children: [
165
+ R && /* @__PURE__ */ r(
166
+ pe,
167
+ {
168
+ $height: 60,
169
+ $gutterX: 3.75,
170
+ $flexDirection: "row",
171
+ $alignItems: "center",
172
+ $justifyContent: "space-between",
173
+ $background: "WHITE",
174
+ $borderColor: "BLACK_1",
175
+ children: me.includes(a) ? /* @__PURE__ */ c(oe, { children: [
176
+ /* @__PURE__ */ c(I, { $renderAs: "ah4-black", children: [
177
+ "TEACHER: ",
178
+ a
179
+ ] }),
180
+ _ !== "learn" ? /* @__PURE__ */ c(f, { $flexDirection: "row", $flexColumnGapX: 1, children: [
181
+ /* @__PURE__ */ r(
182
+ u,
183
+ {
184
+ renderAs: "primary",
185
+ label: "Too Easy",
186
+ shape: "square",
187
+ size: "small",
188
+ onClick: Q
189
+ }
190
+ ),
191
+ /* @__PURE__ */ r(
192
+ u,
193
+ {
194
+ renderAs: "primary",
195
+ label: "Just right",
196
+ shape: "square",
197
+ size: "small",
198
+ onClick: Z
199
+ }
200
+ ),
201
+ _ === "try" && /* @__PURE__ */ r(
202
+ u,
203
+ {
204
+ renderAs: "primary",
205
+ label: "Too Hard",
206
+ shape: "square",
207
+ size: "small",
208
+ onClick: ee
209
+ }
210
+ )
211
+ ] }) : /* @__PURE__ */ r(
212
+ u,
213
+ {
214
+ renderAs: "primary",
215
+ label: "Validate",
216
+ shape: "square",
217
+ size: "small",
218
+ onClick: te
219
+ }
220
+ )
221
+ ] }) : /* @__PURE__ */ c(I, { $renderAs: "ah4-bold", children: [
222
+ "TEACHER: ",
223
+ a
224
+ ] })
225
+ }
226
+ ),
227
+ /* @__PURE__ */ r(ce, { $topOffset: O.topOffset, $showBorder: !!k, children: /* @__PURE__ */ r(
228
+ ie,
229
+ {
230
+ ref: K,
231
+ userType: "TEACHER",
232
+ userId: "teacher_id",
233
+ studentId: "student_id",
234
+ worksheetName: "Worksheet Name",
235
+ attemptId: m ? D(a, C) : E,
236
+ questionsSignedRequest: P,
237
+ itemsSignedRequest: m ? ae(E) : M,
238
+ layout: O,
239
+ updatedResponses: x,
240
+ loggerRef: q,
241
+ onLoaded: S,
242
+ onErrored: S,
243
+ onActiveQuestionChange: L,
244
+ onResponsesChange: S,
245
+ onPublishStrokes: G,
246
+ onReceiveStrokes: X,
247
+ onMediaStateChange: Y,
248
+ worksheetCompleted: g,
249
+ onResponsesLoaded: F,
250
+ onTeacherValidation: T,
251
+ onAllowRetry: z,
252
+ onOptionalItemAssignment: J,
253
+ onOptionalItemSkip: U,
254
+ openQuestionFeedbackModal: B,
255
+ initialStrokesData: j,
256
+ nodeType: a,
257
+ mode: "review",
258
+ activityType: h,
259
+ inClass: v
260
+ },
261
+ `${a}-${h}-${g}-${m}`
262
+ ) })
263
+ ] });
264
+ };
265
+ export {
266
+ ye as default
267
+ };
268
+ //# sourceMappingURL=worksheet-teacher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worksheet-teacher.js","sources":["../../../../../src/features/worksheet/worksheet/stories/worksheet-teacher.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type FC } from 'react';\n\nimport type { EWorksheetActivity, NODE_TYPES } from '../../../../types/models/worksheet';\nimport type { TInclassMessage } from '../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport EVENTS from '../../constants/events';\nimport useWorksheetLayout from '../../worksheet-preview/hooks/use-worksheet-layout';\nimport { getActivityMockAttemptId } from '../mocks/activity';\nimport { getMockItemsSignedRequest } from '../mocks/signed-requests';\nimport Worksheet from '../worksheet';\nimport { isSATAssessmentNode } from '../worksheet-helpers';\nimport type {\n IWorksheetCallbackProps,\n IWorksheetProps,\n IWorksheetQuestion,\n IWorksheetRef,\n IWorksheetResponse,\n} from '../worksheet-types';\nimport useCanvasSyncBrokerStory from './use-canvas-sync-broker-story';\nimport { HeaderWrapper, WorksheetWrapper } from './worksheet-student';\nimport { TRIAL_V3_NODE_TYPES } from '../worksheet-behavior-helper';\n\ninterface IWorksheetTeacherStoryProps {\n nodeType: NODE_TYPES;\n activityType: EWorksheetActivity | null;\n worksheetCompleted: boolean;\n mockEnabled: boolean;\n showHeader: boolean;\n includeGutter: boolean;\n questionsSignedRequest: string;\n itemsSignedRequest: string;\n inClass: boolean;\n}\n\nconst WorksheetTeacherStory: FC<IWorksheetTeacherStoryProps> = props => {\n const [activeQuestion, setActiveQuestion] = useState<IWorksheetQuestion | undefined>();\n const instructorStimulus = activeQuestion?.instructor_stimulus?.toLowerCase();\n\n const {\n nodeType,\n activityType,\n worksheetCompleted,\n mockEnabled,\n showHeader,\n includeGutter,\n questionsSignedRequest,\n itemsSignedRequest,\n inClass,\n } = props;\n const isLessonV3 = activityType === 'lesson-v3';\n const attemptId = mockEnabled ? getActivityMockAttemptId(nodeType, isLessonV3) : 'attemptId';\n const ref = useRef<IWorksheetRef>(null);\n const isSATAssessment = isSATAssessmentNode(nodeType);\n\n const layout = useWorksheetLayout({\n userType: 'TEACHER',\n isSATAssessment,\n nodeType,\n topOffset: showHeader ? 60 : 0,\n });\n const [error, setError] = useState<string>();\n const loggerRef = useRef((eventName: string, data?: Record<string, unknown>) => {\n // eslint-disable-next-line no-console\n console.log('Worksheet Teacher Logger:', eventName, data);\n\n if (eventName === EVENTS.WORKSHEET_V3_ITEMS_FAILED) {\n setError(`Failed to load worksheet: ${JSON.stringify(data, null, 2)}`);\n }\n\n if (eventName === EVENTS.WORKSHEET_V3_QUESTION_MISSING_VALIDATION) {\n setError(`Question missing validation: ${JSON.stringify(data, null, 2)}`);\n }\n });\n const fakeCallback = useCallback(() => {}, []);\n\n const handleOpenQuestionFeedbackModal = useCallback<\n NonNullable<IWorksheetProps['openQuestionFeedbackModal']>\n >(itemRef => {\n alert(`Open Question Feedback Modal for item ref: ${itemRef}`);\n }, []);\n\n const [responses, setResponses] = useState<Record<string, IWorksheetResponse> | undefined>();\n\n const handleResponsesChange = useCallback((rsps?: Record<string, IWorksheetResponse>) => {\n setResponses(rsps);\n }, []);\n\n const { publishStrokes, registerCallback, initialStrokesData } = useCanvasSyncBrokerStory(\n 'TEACHER',\n undefined,\n );\n\n const publishMessage = useCallback((message: TInclassMessage) => {\n const studentIframe = window.top?.document.querySelector(\n 'iframe[src*=\"worksheet-student\"]',\n ) as HTMLIFrameElement;\n const postMessage = studentIframe?.contentWindow?.postMessage;\n\n if (postMessage) {\n postMessage(message);\n }\n }, []);\n\n const handleAllowRetry = useCallback<NonNullable<IWorksheetCallbackProps['onAllowRetry']>>(\n questionId => {\n publishMessage({\n eventName: 'WORKSHEET_QUESTION_RETRY_ALLOWED',\n eventPayload: {\n attemptId: 'userAttemptId',\n responseId: questionId,\n },\n });\n },\n [publishMessage],\n );\n\n const handleTeacherValidation = useCallback<\n NonNullable<IWorksheetCallbackProps['onTeacherValidation']>\n >(\n (questionId, rating) => {\n publishMessage({\n eventName: 'WORKSHEET_RESPONSE_VALIDATED',\n eventPayload: {\n attemptId: 'userAttemptId',\n responseId: questionId,\n rating: rating ?? 'E', // change this\n },\n });\n },\n [publishMessage],\n );\n\n const handleOptionalItemAssignment = useCallback<\n NonNullable<IWorksheetCallbackProps['onOptionalItemAssignment']>\n >(\n itemType => {\n publishMessage({\n eventName: 'WORKSHEET_OPTIONAL_ITEMS_ASSIGNED',\n eventPayload: {\n attemptId: 'userAttemptId',\n itemType,\n },\n });\n },\n [publishMessage],\n );\n\n const handleOptionalItemSkip = useCallback<\n NonNullable<IWorksheetCallbackProps['onOptionalItemSkip']>\n >(\n itemType => {\n publishMessage({\n eventName: 'WORKSHEET_OPTIONAL_ITEMS_SKIPPED',\n eventPayload: {\n attemptId: 'userAttemptId',\n itemType,\n },\n });\n },\n [publishMessage],\n );\n\n const handleMediaStateChange = useCallback<\n NonNullable<IWorksheetCallbackProps['onMediaStateChange']>\n >(\n (question, mediaType, mediaState) => {\n publishMessage({\n eventName: 'WORKSHEET_MEDIA_STATE_UPDATED_BY_TEACHER',\n eventPayload: {\n attemptId: 'userAttemptId',\n responseId: question.response_id,\n mediaType,\n mediaState,\n },\n });\n },\n [publishMessage],\n );\n\n useEffect(() => {\n window.addEventListener(\n 'message',\n event => {\n setResponses(prevResponses => {\n const { eventName, eventPayload } = event.data as TInclassMessage;\n\n if (eventName === 'WORKSHEET_RESPONSE_CHANGED') {\n const { responseId, response } = eventPayload;\n\n return {\n ...prevResponses,\n [responseId]: response,\n };\n }\n\n if (eventName === 'WORKSHEET_BULK_RESPONSES_CHANGED') {\n const { responses: bulkResponses } = eventPayload;\n\n return {\n ...prevResponses,\n ...bulkResponses,\n };\n }\n\n return prevResponses;\n });\n },\n false,\n );\n }, []);\n\n const handleRatingChange = useCallback(\n (rating: 'E' | 'S' | 'H') => {\n if (activeQuestion?.response_id) {\n publishMessage({\n eventName: 'WORKSHEET_RESPONSE_VALIDATED',\n eventPayload: {\n attemptId: attemptId,\n responseId: activeQuestion?.response_id,\n rating: rating !== 'H' ? rating : undefined,\n skipRemainingQuestions: rating === 'H' || rating === 'E',\n },\n });\n }\n },\n [activeQuestion, attemptId, publishMessage],\n );\n\n const handleTooEasyButtonClick = useCallback(() => handleRatingChange('E'), [handleRatingChange]);\n const handleJustRightButtonClick = useCallback(\n () => handleRatingChange('S'),\n [handleRatingChange],\n );\n const handleTooHardButtonClick = useCallback(() => handleRatingChange('H'), [handleRatingChange]);\n\n const handleValidateButtonClick = useCallback(() => {\n if (activeQuestion?.response_id) {\n handleTeacherValidation(activeQuestion.response_id);\n }\n }, [activeQuestion?.response_id, handleTeacherValidation]);\n\n if (error) {\n return (\n <FlexView\n $flexDirection=\"column\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height=\"100%\"\n $gutterX={4}\n $gapX={4}\n >\n <Text $renderAs=\"ub1-bold\" $color=\"RED\">\n <pre>\n <code>{error}</code>\n </pre>\n </Text>\n </FlexView>\n );\n }\n\n return (\n <FlexView $gutterX={includeGutter ? 1 : 0}>\n {showHeader && (\n <HeaderWrapper\n $height={60}\n $gutterX={3.75}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $background=\"WHITE\"\n $borderColor=\"BLACK_1\"\n >\n {TRIAL_V3_NODE_TYPES.includes(nodeType) ? (\n <>\n <Text $renderAs=\"ah4-black\">TEACHER: {nodeType}</Text>\n {instructorStimulus !== 'learn' ? (\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1}>\n <Button\n renderAs=\"primary\"\n label=\"Too Easy\"\n shape=\"square\"\n size=\"small\"\n onClick={handleTooEasyButtonClick}\n />\n <Button\n renderAs=\"primary\"\n label=\"Just right\"\n shape=\"square\"\n size=\"small\"\n onClick={handleJustRightButtonClick}\n />\n {instructorStimulus === 'try' && (\n <Button\n renderAs=\"primary\"\n label=\"Too Hard\"\n shape=\"square\"\n size=\"small\"\n onClick={handleTooHardButtonClick}\n />\n )}\n </FlexView>\n ) : (\n <Button\n renderAs=\"primary\"\n label=\"Validate\"\n shape=\"square\"\n size=\"small\"\n onClick={handleValidateButtonClick}\n />\n )}\n </>\n ) : (\n <Text $renderAs=\"ah4-bold\">TEACHER: {nodeType}</Text>\n )}\n </HeaderWrapper>\n )}\n <WorksheetWrapper $topOffset={layout.topOffset} $showBorder={!!includeGutter}>\n <Worksheet\n key={`${nodeType}-${activityType}-${worksheetCompleted}-${mockEnabled}`}\n ref={ref}\n userType=\"TEACHER\"\n userId=\"teacher_id\"\n studentId=\"student_id\"\n worksheetName=\"Worksheet Name\"\n attemptId={mockEnabled ? getActivityMockAttemptId(nodeType, isLessonV3) : attemptId}\n questionsSignedRequest={questionsSignedRequest}\n itemsSignedRequest={\n mockEnabled ? getMockItemsSignedRequest(attemptId) : itemsSignedRequest\n }\n layout={layout}\n updatedResponses={responses}\n loggerRef={loggerRef}\n onLoaded={fakeCallback}\n onErrored={fakeCallback}\n onActiveQuestionChange={setActiveQuestion}\n onResponsesChange={fakeCallback}\n onPublishStrokes={publishStrokes}\n onReceiveStrokes={registerCallback}\n onMediaStateChange={handleMediaStateChange}\n worksheetCompleted={worksheetCompleted}\n onResponsesLoaded={handleResponsesChange}\n onTeacherValidation={handleTeacherValidation}\n onAllowRetry={handleAllowRetry}\n onOptionalItemAssignment={handleOptionalItemAssignment}\n onOptionalItemSkip={handleOptionalItemSkip}\n openQuestionFeedbackModal={handleOpenQuestionFeedbackModal}\n initialStrokesData={initialStrokesData}\n nodeType={nodeType}\n mode=\"review\"\n activityType={activityType}\n inClass={inClass}\n />\n </WorksheetWrapper>\n </FlexView>\n );\n};\n\nexport default WorksheetTeacherStory;\n"],"names":["WorksheetTeacherStory","props","activeQuestion","setActiveQuestion","useState","instructorStimulus","_a","nodeType","activityType","worksheetCompleted","mockEnabled","showHeader","includeGutter","questionsSignedRequest","itemsSignedRequest","inClass","isLessonV3","attemptId","getActivityMockAttemptId","ref","useRef","isSATAssessment","isSATAssessmentNode","layout","useWorksheetLayout","error","setError","loggerRef","eventName","data","EVENTS","fakeCallback","useCallback","handleOpenQuestionFeedbackModal","itemRef","responses","setResponses","handleResponsesChange","rsps","publishStrokes","registerCallback","initialStrokesData","useCanvasSyncBrokerStory","publishMessage","message","studentIframe","postMessage","_b","handleAllowRetry","questionId","handleTeacherValidation","rating","handleOptionalItemAssignment","itemType","handleOptionalItemSkip","handleMediaStateChange","question","mediaType","mediaState","useEffect","event","prevResponses","eventPayload","responseId","response","bulkResponses","handleRatingChange","handleTooEasyButtonClick","handleJustRightButtonClick","handleTooHardButtonClick","handleValidateButtonClick","jsx","FlexView","Text","jsxs","HeaderWrapper","TRIAL_V3_NODE_TYPES","Fragment","Button","WorksheetWrapper","Worksheet","getMockItemsSignedRequest"],"mappings":"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"}
@@ -1,42 +1,58 @@
1
- import { EWorksheetActivity as c } from "../../../types/models/worksheet.js";
2
- import { TRIAL_V3_NODE_TYPES as T, ASSESSMENT_NODE_TYPES as S } from "../../sheets/utils/is-v3-worksheet.js";
3
- const I = (u) => {
1
+ import { EWorksheetActivity as s } from "../../../types/models/worksheet.js";
2
+ import { NODE_TYPE as a } from "../../sheets/constants/sheet.js";
3
+ const o = [
4
+ a.SAT_ENGLISH_ASSESSMENT,
5
+ a.SAT_MATH_ASSESSMENT,
6
+ a.ASSESSMENT,
7
+ a.CHAPTER_ASSESSMENT,
8
+ a.MASTERY,
9
+ a.TURING_ASSESSMENT,
10
+ a.DYNAMIC,
11
+ a.DIAGNOSTIC,
12
+ a.TURING_ASSESSMENT
13
+ ], N = [
14
+ a.TRIAL,
15
+ a.TRIAL_BASIC,
16
+ a.TRIAL_INTERMEDIATE,
17
+ a.TRIAL_ADVANCED,
18
+ a.TRIAL_DIAGNOSTIC
19
+ ], _ = (m) => {
4
20
  const {
5
- nodeType: n,
6
- activityType: s,
7
- inClass: E,
8
- isDesmosEnabled: o = !1,
9
- userType: t,
10
- mode: r,
11
- worksheetCompleted: a
12
- } = u, A = T.includes(n), m = S.includes(n), i = r === "resume", e = {
21
+ nodeType: c,
22
+ activityType: A,
23
+ inClass: r,
24
+ isDesmosEnabled: u = !1,
25
+ userType: E,
26
+ mode: n,
27
+ worksheetCompleted: t
28
+ } = m, S = N.includes(c), T = o.includes(c), i = n === "resume", e = {
13
29
  hints: i,
14
30
  navigationMode: "OPEN",
15
- initialQuestion: i || t === "TEACHER" && !a ? "CURRENT" : "FIRST",
16
- maximumAttempts: m ? -1 : 99999,
31
+ initialQuestion: i || E === "TEACHER" && !t ? "CURRENT" : "FIRST",
32
+ maximumAttempts: T ? -1 : 99999,
17
33
  minimumAccuracy: 100,
18
- teacherDiscussionEnabled: s === c.LESSON_V3_1,
19
- teacherValidationEnabled: s === c.LESSON_V3 || A,
20
- canTeacherValidate: !!E && (s === c.LESSON_V3 || A),
21
- validation: t === "STUDENT" && m ? !!a : !0,
34
+ teacherDiscussionEnabled: A === s.LESSON_V3_1,
35
+ teacherValidationEnabled: A === s.LESSON_V3 || S,
36
+ canTeacherValidate: !!r && (A === s.LESSON_V3 || S),
37
+ validation: E === "STUDENT" && T ? !!t : !0,
22
38
  review: !1,
23
- canAttempt: t === "STUDENT" ? i : !1,
39
+ canAttempt: E === "STUDENT" ? i : !1,
24
40
  canExceedAttempts: !0,
25
41
  checkButtonLabel: "Check",
26
42
  retryButtonLabel: "Retry",
27
43
  canMarkForReview: !1,
28
- canShowDesmosCalc: o,
29
- canvasEnabled: r !== "preview",
30
- canScribble: r !== "preview",
44
+ canShowDesmosCalc: u,
45
+ canvasEnabled: n !== "preview",
46
+ canScribble: n !== "preview",
31
47
  solutionHidden: !1
32
48
  };
33
- switch (n) {
49
+ switch (c) {
34
50
  case "LEARNING":
35
51
  case "SAT_MATH_LEARNING":
36
52
  case "SAT_ENGLISH_LEARNING":
37
53
  return {
38
54
  ...e,
39
- navigationMode: s === c.LESSON_V3 && i && !E ? "OPEN" : "LINEAR",
55
+ navigationMode: A === s.LESSON_V3 && i && !r ? "OPEN" : "LINEAR",
40
56
  attemptsAfterTeacherInterventionNeeded: 2,
41
57
  review: !0
42
58
  };
@@ -47,7 +63,7 @@ const I = (u) => {
47
63
  return {
48
64
  ...e,
49
65
  maximumAttempts: 1,
50
- navigationMode: a ? "OPEN" : "LINEAR",
66
+ navigationMode: t ? "OPEN" : "LINEAR",
51
67
  review: !0
52
68
  };
53
69
  case "EXTRA_PRACTICE":
@@ -71,6 +87,7 @@ const I = (u) => {
71
87
  return { ...e, navigationMode: "LINEAR" };
72
88
  case "TRIAL_DIAGNOSTIC":
73
89
  return { ...e, navigationMode: "ADAPTIVE", review: !0 };
90
+ case "TRIAL":
74
91
  case "TRIAL_BASIC":
75
92
  case "TRIAL_INTERMEDIATE":
76
93
  case "TRIAL_ADVANCED":
@@ -104,13 +121,13 @@ const I = (u) => {
104
121
  case "MASTERY":
105
122
  return {
106
123
  ...e,
107
- hintsTimer: t === "STUDENT" && i ? 90 : void 0,
108
- navigationMode: a ? "OPEN" : "LINEAR",
124
+ hintsTimer: E === "STUDENT" && i ? 90 : void 0,
125
+ navigationMode: t ? "OPEN" : "LINEAR",
109
126
  skippable: !0,
110
127
  skippableTime: 90,
111
- solutionHidden: !a,
128
+ solutionHidden: !t,
112
129
  minimumAccuracy: 0,
113
- canScribble: t === "TEACHER" ? a : !0
130
+ canScribble: E === "TEACHER" ? t : !0
114
131
  };
115
132
  case "SUBJECTIVE":
116
133
  case "TURING_SUBJECTIVE":
@@ -119,7 +136,7 @@ const I = (u) => {
119
136
  maximumAttempts: 1,
120
137
  minimumAccuracy: 0,
121
138
  validation: !1,
122
- solutionHidden: !a
139
+ solutionHidden: !t
123
140
  };
124
141
  case "LEGACY":
125
142
  case "REVISION":
@@ -138,18 +155,20 @@ const I = (u) => {
138
155
  canExceedAttempts: !1,
139
156
  minimumAccuracy: 0,
140
157
  review: !0,
141
- navigationMode: a ? "OPEN" : "LINEAR"
158
+ navigationMode: t ? "OPEN" : "LINEAR"
142
159
  };
143
160
  default:
144
161
  return {
145
162
  ...e,
146
163
  maximumAttempts: 1,
147
- navigationMode: a ? "OPEN" : "LINEAR"
164
+ navigationMode: t ? "OPEN" : "LINEAR"
148
165
  };
149
166
  }
150
167
  return e;
151
168
  };
152
169
  export {
153
- I as getWorksheetBehaviour
170
+ o as ASSESSMENT_NODE_TYPES,
171
+ N as TRIAL_V3_NODE_TYPES,
172
+ _ as getWorksheetBehaviour
154
173
  };
155
174
  //# sourceMappingURL=worksheet-behavior-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import { EWorksheetActivity, type TNodeTypes } from '../../../types/models/worksheet';\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\ninterface IGetWorksheetBehaviour {\n (params: {\n nodeType: TNodeTypes;\n activityType: EWorksheetActivity | null;\n inClass?: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n }): IWorksheetBehavior;\n}\n\nexport const getWorksheetBehaviour: IGetWorksheetBehaviour = params => {\n const {\n nodeType,\n activityType,\n inClass,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n } = params;\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherDiscussionEnabled: activityType === EWorksheetActivity.LESSON_V3_1,\n teacherValidationEnabled: activityType === EWorksheetActivity.LESSON_V3 || isTrialV3,\n canTeacherValidate: !!inClass && (activityType === EWorksheetActivity.LESSON_V3 || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING': {\n return {\n ...baseBehavior,\n navigationMode:\n activityType === EWorksheetActivity.LESSON_V3 && canAttempt && !inClass\n ? 'OPEN'\n : 'LINEAR',\n attemptsAfterTeacherInterventionNeeded: 2,\n review: true,\n };\n }\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n review: true,\n };\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1, review: true };\n\n case 'TURING_PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1 };\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n return {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return { ...baseBehavior, navigationMode: 'LINEAR' };\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n return { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n\n case 'DYNAMIC':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n hints: false,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n\n case 'MASTERY':\n return {\n ...baseBehavior,\n hintsTimer: userType === 'STUDENT' && canAttempt ? 90 : undefined,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n return {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n\n default:\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n }\n\n return baseBehavior;\n};\n"],"names":["getWorksheetBehaviour","params","nodeType","activityType","inClass","isDesmosEnabled","userType","mode","worksheetCompleted","isTrialV3","TRIAL_V3_NODE_TYPES","isAssessment","ASSESSMENT_NODE_TYPES","canAttempt","baseBehavior","EWorksheetActivity"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import { EWorksheetActivity, type TNodeTypes } from '../../../types/models/worksheet';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nexport const ASSESSMENT_NODE_TYPES: TNodeTypes[] = [\n NODE_TYPE.SAT_ENGLISH_ASSESSMENT,\n NODE_TYPE.SAT_MATH_ASSESSMENT,\n NODE_TYPE.ASSESSMENT,\n NODE_TYPE.CHAPTER_ASSESSMENT,\n NODE_TYPE.MASTERY,\n NODE_TYPE.TURING_ASSESSMENT,\n NODE_TYPE.DYNAMIC,\n NODE_TYPE.DIAGNOSTIC,\n NODE_TYPE.TURING_ASSESSMENT,\n];\n\nexport const TRIAL_V3_NODE_TYPES: TNodeTypes[] = [\n NODE_TYPE.TRIAL,\n NODE_TYPE.TRIAL_BASIC,\n NODE_TYPE.TRIAL_INTERMEDIATE,\n NODE_TYPE.TRIAL_ADVANCED,\n NODE_TYPE.TRIAL_DIAGNOSTIC,\n];\n\ninterface IGetWorksheetBehaviour {\n (params: {\n nodeType: TNodeTypes;\n activityType: EWorksheetActivity | null;\n inClass?: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n }): IWorksheetBehavior;\n}\n\nexport const getWorksheetBehaviour: IGetWorksheetBehaviour = params => {\n const {\n nodeType,\n activityType,\n inClass,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n } = params;\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherDiscussionEnabled: activityType === EWorksheetActivity.LESSON_V3_1,\n teacherValidationEnabled: activityType === EWorksheetActivity.LESSON_V3 || isTrialV3,\n canTeacherValidate: !!inClass && (activityType === EWorksheetActivity.LESSON_V3 || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING': {\n return {\n ...baseBehavior,\n navigationMode:\n activityType === EWorksheetActivity.LESSON_V3 && canAttempt && !inClass\n ? 'OPEN'\n : 'LINEAR',\n attemptsAfterTeacherInterventionNeeded: 2,\n review: true,\n };\n }\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n review: true,\n };\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1, review: true };\n\n case 'TURING_PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1 };\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n return {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return { ...baseBehavior, navigationMode: 'LINEAR' };\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n return { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n\n case 'TRIAL':\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n\n case 'DYNAMIC':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n hints: false,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n\n case 'MASTERY':\n return {\n ...baseBehavior,\n hintsTimer: userType === 'STUDENT' && canAttempt ? 90 : undefined,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n return {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n\n default:\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n }\n\n return baseBehavior;\n};\n"],"names":["ASSESSMENT_NODE_TYPES","NODE_TYPE","TRIAL_V3_NODE_TYPES","getWorksheetBehaviour","params","nodeType","activityType","inClass","isDesmosEnabled","userType","mode","worksheetCompleted","isTrialV3","isAssessment","canAttempt","baseBehavior","EWorksheetActivity"],"mappings":"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"}