@cuemath/leap 3.2.12 → 3.2.14-as1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/assets/line-icons/icons/hint-fill.js +35 -0
  2. package/dist/assets/line-icons/icons/hint-fill.js.map +1 -0
  3. package/dist/features/chapters-v2/utils/node-card-utils.js +7 -7
  4. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  5. package/dist/features/puzzles/app/puzzle-app-styled.js +81 -0
  6. package/dist/features/puzzles/app/puzzle-app-styled.js.map +1 -0
  7. package/dist/features/puzzles/app/puzzle-app-view.js +120 -0
  8. package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -0
  9. package/dist/features/puzzles/app/puzzle-app.js +82 -0
  10. package/dist/features/puzzles/app/puzzle-app.js.map +1 -0
  11. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  12. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  13. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +5 -5
  14. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  15. package/dist/features/worksheet/worksheet/mocks/activity.js +6 -0
  16. package/dist/features/worksheet/worksheet/mocks/activity.js.map +1 -0
  17. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js +38 -0
  18. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js.map +1 -0
  19. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js +38 -0
  20. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js.map +1 -0
  21. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js +38 -0
  22. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js.map +1 -0
  23. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js +38 -0
  24. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js.map +1 -0
  25. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js +38 -0
  26. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js.map +1 -0
  27. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js +95 -0
  28. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js.map +1 -0
  29. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js +38 -0
  30. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js.map +1 -0
  31. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js +38 -0
  32. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js.map +1 -0
  33. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js +38 -0
  34. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js.map +1 -0
  35. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js +38 -0
  36. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js.map +1 -0
  37. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js +38 -0
  38. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js.map +1 -0
  39. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js +41 -0
  40. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js.map +1 -0
  41. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js +38 -0
  42. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js.map +1 -0
  43. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js +39 -0
  44. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js.map +1 -0
  45. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js +39 -0
  46. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js.map +1 -0
  47. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js +39 -0
  48. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js.map +1 -0
  49. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js +39 -0
  50. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js.map +1 -0
  51. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js +39 -0
  52. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js.map +1 -0
  53. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js +39 -0
  54. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js.map +1 -0
  55. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js +38 -0
  56. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js.map +1 -0
  57. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js +38 -0
  58. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js.map +1 -0
  59. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js +38 -0
  60. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js.map +1 -0
  61. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js +38 -0
  62. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js.map +1 -0
  63. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js +39 -0
  64. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js.map +1 -0
  65. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js +38 -0
  66. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js.map +1 -0
  67. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js +38 -0
  68. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js.map +1 -0
  69. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js +38 -0
  70. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js.map +1 -0
  71. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js +38 -0
  72. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js.map +1 -0
  73. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js +38 -0
  74. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js.map +1 -0
  75. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +5 -0
  76. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +1 -0
  77. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +57 -0
  78. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +1 -0
  79. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +231 -0
  80. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +1 -0
  81. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +174 -0
  82. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +1 -0
  83. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +255 -0
  84. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
  85. package/dist/features/worksheet/worksheet/worksheet-helpers.js +32 -31
  86. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  87. package/dist/index.d.ts +9 -0
  88. package/dist/index.js +527 -523
  89. package/dist/index.js.map +1 -1
  90. package/dist/types/models/worksheet.js +5 -0
  91. package/dist/types/models/worksheet.js.map +1 -0
  92. package/package.json +1 -1
@@ -0,0 +1,174 @@
1
+ import { jsx as d, jsxs as N } from "react/jsx-runtime";
2
+ import { useRef as O, useMemo as q, useState as V, useCallback as _, useEffect as G } from "react";
3
+ import W from "styled-components";
4
+ import E from "../../../ui/layout/flex-view.js";
5
+ import w from "../../../ui/text/text.js";
6
+ import C from "../../constants/events.js";
7
+ import j from "../../worksheet-preview/hooks/use-worksheet-layout.js";
8
+ import { getActivityMockAttemptId as D } from "../mocks/activity.js";
9
+ import z from "../mocks/behaviors/index.js";
10
+ import { getMockItemsSignedRequest as Q } from "../mocks/signed-requests.js";
11
+ import F from "../worksheet-container.js";
12
+ import { isSATAssessmentNode as X } from "../worksheet-helpers.js";
13
+ import J from "./use-canvas-sync-broker-story.js";
14
+ const Z = W(E)`
15
+ position: fixed;
16
+ top: 0;
17
+ left: 0;
18
+ right: 0;
19
+ z-index: 1;
20
+ `, Y = W(E)`
21
+ padding-top: ${({ $topOffset: r }) => r}px;
22
+ border-left: ${({ $showBorder: r }) => r ? "1px solid red" : "none"};
23
+ border-right: ${({ $showBorder: r }) => r ? "1px solid red" : "none"};
24
+ position: relative;
25
+ z-index: 0;
26
+ `, ue = (r) => {
27
+ const {
28
+ nodeType: s,
29
+ isLessonV3: l,
30
+ isReview: S,
31
+ worksheetCompleted: c,
32
+ mockEnabled: u,
33
+ showHeader: k,
34
+ includeGutter: I,
35
+ questionsSignedRequest: P,
36
+ itemsSignedRequest: b
37
+ } = r, R = u ? D(s, l) : "attemptId", p = O(null), f = X(s), $ = s === "PUZZLE_CARD", x = q(() => {
38
+ const t = z({ nodeType: s, isReview: c || S, isLessonV3: l });
39
+ return {
40
+ ...t,
41
+ validation: t.maximumAttempts === -1 ? c : t.validation
42
+ };
43
+ }, [l, S, s, c]), y = j({
44
+ userType: "STUDENT",
45
+ isSATAssessment: f,
46
+ nodeType: s,
47
+ topOffset: k ? 60 : 0
48
+ }), [v, A] = V(), H = O((t, e) => {
49
+ console.log("Worksheet Teacher Logger:", t, e), t === C.WORKSHEET_V3_ITEMS_FAILED && A(`Failed to load worksheet: ${JSON.stringify(e, null, 2)}`), t === C.WORKSHEET_V3_QUESTION_MISSING_VALIDATION && A(`Question missing validation: ${JSON.stringify(e, null, 2)}`);
50
+ }), h = _(() => {
51
+ }, []), L = _(
52
+ (t) => {
53
+ var m, o;
54
+ const e = (m = window.top) == null ? void 0 : m.document.querySelector(
55
+ 'iframe[src*="worksheet-teacher"]'
56
+ ), n = (o = e == null ? void 0 : e.contentWindow) == null ? void 0 : o.postMessage, { response: i, responseId: a } = t;
57
+ n && n({
58
+ eventName: "WORKSHEET_RESPONSE_CHANGED",
59
+ eventPayload: {
60
+ attemptId: "worksheet_attempt_id",
61
+ responseId: a,
62
+ response: i
63
+ }
64
+ });
65
+ },
66
+ []
67
+ ), M = _((t) => {
68
+ var i, a;
69
+ const e = (i = window.top) == null ? void 0 : i.document.querySelector(
70
+ 'iframe[src*="worksheet-teacher"]'
71
+ ), n = (a = e == null ? void 0 : e.contentWindow) == null ? void 0 : a.postMessage;
72
+ n && n({
73
+ eventName: "WORKSHEET_BULK_RESPONSES_CHANGED",
74
+ eventPayload: {
75
+ attemptId: "worksheet_attempt_id",
76
+ responses: t
77
+ }
78
+ });
79
+ }, []), { publishStrokes: K, registerCallback: B, initialStrokesData: U } = J(
80
+ "STUDENT",
81
+ void 0
82
+ );
83
+ return G(() => {
84
+ window.addEventListener(
85
+ "message",
86
+ (t) => {
87
+ var n, i, a, m;
88
+ const e = t.data;
89
+ if (e.eventName === "WORKSHEET_RESPONSE_VALIDATED") {
90
+ const {
91
+ eventPayload: { responseId: o, rating: g, skipRemainingQuestions: T }
92
+ } = e;
93
+ (n = p.current) == null || n.validateQuestion(o, g, T);
94
+ } else if (e.eventName === "WORKSHEET_OPTIONAL_ITEMS_ASSIGNED") {
95
+ const {
96
+ eventPayload: { itemType: o }
97
+ } = e;
98
+ (i = p.current) == null || i.assignOptionalItems(o);
99
+ } else if (e.eventName === "WORKSHEET_OPTIONAL_ITEMS_SKIPPED") {
100
+ const {
101
+ eventPayload: { itemType: o }
102
+ } = e;
103
+ (a = p.current) == null || a.skipOptionalItems(o);
104
+ } else if (e.eventName === "WORKSHEET_MEDIA_STATE_UPDATED_BY_TEACHER") {
105
+ const {
106
+ eventPayload: { responseId: o, mediaType: g, mediaState: T }
107
+ } = e;
108
+ (m = p.current) == null || m.updateMediaState(o, g, T);
109
+ }
110
+ },
111
+ !1
112
+ );
113
+ }, []), v ? /* @__PURE__ */ d(
114
+ E,
115
+ {
116
+ $flexDirection: "column",
117
+ $alignItems: "center",
118
+ $justifyContent: "center",
119
+ $height: "100%",
120
+ $gutterX: 4,
121
+ $gapX: 4,
122
+ children: /* @__PURE__ */ d(w, { $renderAs: "ub1-bold", $color: "RED", children: /* @__PURE__ */ d("pre", { children: /* @__PURE__ */ d("code", { children: v }) }) })
123
+ }
124
+ ) : /* @__PURE__ */ N(E, { $gutterX: I ? 1 : 0, children: [
125
+ k && /* @__PURE__ */ d(
126
+ Z,
127
+ {
128
+ $background: "WHITE",
129
+ $height: 60,
130
+ $alignItems: "center",
131
+ $justifyContent: "center",
132
+ $borderColor: "BLACK_T_38",
133
+ children: /* @__PURE__ */ N(w, { $renderAs: "ah4-bold", children: [
134
+ "STUDENT: ",
135
+ s
136
+ ] })
137
+ }
138
+ ),
139
+ /* @__PURE__ */ d(Y, { $topOffset: y.topOffset, $showBorder: !!I, children: /* @__PURE__ */ d(
140
+ F,
141
+ {
142
+ ref: p,
143
+ userType: "STUDENT",
144
+ userId: "student_id",
145
+ studentId: "student_id",
146
+ worksheetName: $ ? "Discuss your solution in the next class" : "Worksheet Name",
147
+ attemptId: u ? D(s, l) : R,
148
+ questionsSignedRequest: P,
149
+ itemsSignedRequest: u ? Q(R) : b,
150
+ behavior: x,
151
+ layout: y,
152
+ background: f || $ ? "none" : "paper",
153
+ isCanvasEnabled: !f,
154
+ loggerRef: H,
155
+ onLoaded: h,
156
+ onErrored: h,
157
+ onResponsesChange: h,
158
+ onPublishStrokes: K,
159
+ onReceiveStrokes: B,
160
+ worksheetCompleted: c,
161
+ onResponseChange: L,
162
+ onBulkResponsesChange: M,
163
+ initialStrokesData: U
164
+ },
165
+ `${s}-${l}-${S}-${c}-${u}`
166
+ ) })
167
+ ] });
168
+ };
169
+ export {
170
+ Z as HeaderWrapper,
171
+ Y as WorksheetWrapper,
172
+ ue as default
173
+ };
174
+ //# sourceMappingURL=worksheet-student.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worksheet-student.js","sources":["../../../../../src/features/worksheet/worksheet/stories/worksheet-student.tsx"],"sourcesContent":["import type { NODE_TYPES } from '../../../../types/models/worksheet';\nimport type { TInclassMessage } from '../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\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 getBehavior from '../mocks/behaviors';\nimport { getMockItemsSignedRequest } from '../mocks/signed-requests';\nimport WorksheetContainer from '../worksheet-container';\nimport { isSATAssessmentNode } from '../worksheet-helpers';\nimport { type IWorksheetProps, type IWorksheetRef } from '../worksheet-types';\nimport useCanvasSyncBrokerStory from './use-canvas-sync-broker-story';\n\nexport const HeaderWrapper = styled(FlexView)`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\nexport const WorksheetWrapper = styled(FlexView)<{ $topOffset: number; $showBorder: boolean }>`\n padding-top: ${({ $topOffset }) => $topOffset}px;\n border-left: ${({ $showBorder }) => ($showBorder ? '1px solid red' : 'none')};\n border-right: ${({ $showBorder }) => ($showBorder ? '1px solid red' : 'none')};\n position: relative;\n z-index: 0;\n`;\n\nexport interface IWorksheetStudentStoryProps {\n nodeType: NODE_TYPES;\n isLessonV3: boolean;\n isReview: boolean;\n worksheetCompleted: boolean;\n mockEnabled: boolean;\n showHeader: boolean;\n includeGutter: boolean;\n questionsSignedRequest: string;\n itemsSignedRequest: string;\n}\n\nconst WorksheetStudentStory: FC<IWorksheetStudentStoryProps> = props => {\n const {\n nodeType,\n isLessonV3,\n isReview,\n worksheetCompleted,\n mockEnabled,\n showHeader,\n includeGutter,\n questionsSignedRequest,\n itemsSignedRequest,\n } = props;\n const attemptId = mockEnabled ? getActivityMockAttemptId(nodeType, isLessonV3) : 'attemptId';\n const ref = useRef<IWorksheetRef>(null);\n const isSATAssessment = isSATAssessmentNode(nodeType);\n const isPuzzleWorksheet = nodeType === 'PUZZLE_CARD';\n\n const behavior = useMemo(() => {\n const config = getBehavior({ nodeType, isReview: worksheetCompleted || isReview, isLessonV3 });\n\n return {\n ...config,\n validation: config.maximumAttempts === -1 ? worksheetCompleted : config.validation,\n };\n }, [isLessonV3, isReview, nodeType, worksheetCompleted]);\n\n const layout = useWorksheetLayout({\n userType: 'STUDENT',\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 handleResponseChange = useCallback<NonNullable<IWorksheetProps['onResponseChange']>>(\n options => {\n const teacherIframe = window.top?.document.querySelector(\n 'iframe[src*=\"worksheet-teacher\"]',\n ) as HTMLIFrameElement;\n\n const postMessage = teacherIframe?.contentWindow?.postMessage;\n const { response, responseId } = options;\n\n if (postMessage) {\n postMessage({\n eventName: 'WORKSHEET_RESPONSE_CHANGED',\n eventPayload: {\n attemptId: 'worksheet_attempt_id',\n responseId,\n response,\n },\n });\n }\n },\n [],\n );\n\n const handleBulkResponseChange = useCallback<\n NonNullable<IWorksheetProps['onBulkResponsesChange']>\n >(responses => {\n const teacherIframe = window.top?.document.querySelector(\n 'iframe[src*=\"worksheet-teacher\"]',\n ) as HTMLIFrameElement;\n const postMessage = teacherIframe?.contentWindow?.postMessage;\n\n if (postMessage) {\n postMessage({\n eventName: 'WORKSHEET_BULK_RESPONSES_CHANGED',\n eventPayload: {\n attemptId: 'worksheet_attempt_id',\n responses,\n },\n });\n }\n }, []);\n\n const { publishStrokes, registerCallback, initialStrokesData } = useCanvasSyncBrokerStory(\n 'STUDENT',\n undefined,\n );\n\n useEffect(() => {\n window.addEventListener(\n 'message',\n event => {\n const message = event.data as TInclassMessage;\n\n if (message.eventName === 'WORKSHEET_RESPONSE_VALIDATED') {\n const {\n eventPayload: { responseId, rating, skipRemainingQuestions },\n } = message;\n\n ref.current?.validateQuestion(responseId, rating, skipRemainingQuestions);\n } else if (message.eventName === 'WORKSHEET_OPTIONAL_ITEMS_ASSIGNED') {\n const {\n eventPayload: { itemType },\n } = message;\n\n ref.current?.assignOptionalItems(itemType);\n } else if (message.eventName === 'WORKSHEET_OPTIONAL_ITEMS_SKIPPED') {\n const {\n eventPayload: { itemType },\n } = message;\n\n ref.current?.skipOptionalItems(itemType);\n } else if (message.eventName === 'WORKSHEET_MEDIA_STATE_UPDATED_BY_TEACHER') {\n const {\n eventPayload: { responseId, mediaType, mediaState },\n } = message;\n\n ref.current?.updateMediaState(responseId, mediaType, mediaState);\n }\n },\n false,\n );\n }, []);\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 $background=\"WHITE\"\n $height={60}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_T_38\"\n >\n <Text $renderAs=\"ah4-bold\">STUDENT: {nodeType}</Text>\n </HeaderWrapper>\n )}\n <WorksheetWrapper $topOffset={layout.topOffset} $showBorder={!!includeGutter}>\n <WorksheetContainer\n key={`${nodeType}-${isLessonV3}-${isReview}-${worksheetCompleted}-${mockEnabled}`}\n ref={ref}\n userType=\"STUDENT\"\n userId=\"student_id\"\n studentId=\"student_id\"\n worksheetName={\n isPuzzleWorksheet ? 'Discuss your solution in the next class' : 'Worksheet Name'\n }\n attemptId={mockEnabled ? getActivityMockAttemptId(nodeType, isLessonV3) : attemptId}\n questionsSignedRequest={questionsSignedRequest}\n itemsSignedRequest={\n mockEnabled ? getMockItemsSignedRequest(attemptId) : itemsSignedRequest\n }\n behavior={behavior}\n layout={layout}\n background={isSATAssessment || isPuzzleWorksheet ? 'none' : 'paper'}\n isCanvasEnabled={!isSATAssessment}\n loggerRef={loggerRef}\n onLoaded={fakeCallback}\n onErrored={fakeCallback}\n onResponsesChange={fakeCallback}\n onPublishStrokes={publishStrokes}\n onReceiveStrokes={registerCallback}\n worksheetCompleted={worksheetCompleted}\n onResponseChange={handleResponseChange}\n onBulkResponsesChange={handleBulkResponseChange}\n initialStrokesData={initialStrokesData}\n />\n </WorksheetWrapper>\n </FlexView>\n );\n};\n\nexport default WorksheetStudentStory;\n"],"names":["HeaderWrapper","styled","FlexView","WorksheetWrapper","$topOffset","$showBorder","WorksheetStudentStory","props","nodeType","isLessonV3","isReview","worksheetCompleted","mockEnabled","showHeader","includeGutter","questionsSignedRequest","itemsSignedRequest","attemptId","getActivityMockAttemptId","ref","useRef","isSATAssessment","isSATAssessmentNode","isPuzzleWorksheet","behavior","useMemo","config","getBehavior","layout","useWorksheetLayout","error","setError","useState","loggerRef","eventName","data","EVENTS","fakeCallback","useCallback","handleResponseChange","options","teacherIframe","_a","postMessage","_b","response","responseId","handleBulkResponseChange","responses","publishStrokes","registerCallback","initialStrokesData","useCanvasSyncBrokerStory","useEffect","event","message","rating","skipRemainingQuestions","itemType","_c","mediaType","mediaState","_d","jsx","Text","jsxs","WorksheetContainer","getMockItemsSignedRequest"],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ import { jsx as r, jsxs as m, Fragment as se } from "react/jsx-runtime";
2
+ import { useState as T, useRef as N, useMemo as D, useCallback as n, useEffect as oe } from "react";
3
+ import S from "../../../ui/buttons/button/button.js";
4
+ import f from "../../../ui/layout/flex-view.js";
5
+ import g from "../../../ui/text/text.js";
6
+ import W from "../../constants/events.js";
7
+ import ne from "../../worksheet-preview/hooks/use-worksheet-layout.js";
8
+ import { getActivityMockAttemptId as L } from "../mocks/activity.js";
9
+ import re from "../mocks/behaviors/index.js";
10
+ import { getMockItemsSignedRequest as ae } from "../mocks/signed-requests.js";
11
+ import ie from "../worksheet-container.js";
12
+ import { isSATAssessmentNode as de } from "../worksheet-helpers.js";
13
+ import le from "./use-canvas-sync-broker-story.js";
14
+ import { HeaderWrapper as ce, WorksheetWrapper as pe } from "./worksheet-student.js";
15
+ const Oe = (P) => {
16
+ var b;
17
+ const [t, w] = T(), _ = (b = t == null ? void 0 : t.instructor_stimulus) == null ? void 0 : b.toLowerCase(), {
18
+ nodeType: o,
19
+ isLessonV3: c,
20
+ worksheetCompleted: k,
21
+ mockEnabled: E,
22
+ showHeader: C,
23
+ includeGutter: R,
24
+ questionsSignedRequest: M,
25
+ itemsSignedRequest: v
26
+ } = P, u = E ? L(o, c) : "attemptId", B = N(null), A = de(o), K = D(() => o === "PUZZLE_CARD", [o]), V = D(
27
+ () => re({ nodeType: o, isReview: !0, isLessonV3: c }),
28
+ [c, o]
29
+ ), O = ne({
30
+ userType: "TEACHER",
31
+ isSATAssessment: A,
32
+ nodeType: o,
33
+ topOffset: C ? 60 : 0
34
+ }), [$, y] = T(), q = N((e, s) => {
35
+ console.log("Worksheet Teacher Logger:", e, s), e === W.WORKSHEET_V3_ITEMS_FAILED && y(`Failed to load worksheet: ${JSON.stringify(s, null, 2)}`), e === W.WORKSHEET_V3_QUESTION_MISSING_VALIDATION && y(`Question missing validation: ${JSON.stringify(s, null, 2)}`);
36
+ }), h = n(() => {
37
+ }, []), [x, H] = T(), G = n((e) => {
38
+ H(e);
39
+ }, []), { publishStrokes: z, registerCallback: F, initialStrokesData: X } = le(
40
+ "TEACHER",
41
+ void 0
42
+ ), a = n((e) => {
43
+ var p, l;
44
+ const s = (p = window.top) == null ? void 0 : p.document.querySelector(
45
+ 'iframe[src*="worksheet-student"]'
46
+ ), i = (l = s == null ? void 0 : s.contentWindow) == null ? void 0 : l.postMessage;
47
+ i && i(e);
48
+ }, []), I = n(
49
+ (e, s) => {
50
+ a({
51
+ eventName: "WORKSHEET_RESPONSE_VALIDATED",
52
+ eventPayload: {
53
+ attemptId: "userAttemptId",
54
+ responseId: e,
55
+ rating: s ?? "E"
56
+ // change this
57
+ }
58
+ });
59
+ },
60
+ [a]
61
+ ), j = n(
62
+ (e) => {
63
+ a({
64
+ eventName: "WORKSHEET_OPTIONAL_ITEMS_ASSIGNED",
65
+ eventPayload: {
66
+ attemptId: "userAttemptId",
67
+ itemType: e
68
+ }
69
+ });
70
+ },
71
+ [a]
72
+ ), J = n(
73
+ (e) => {
74
+ a({
75
+ eventName: "WORKSHEET_OPTIONAL_ITEMS_SKIPPED",
76
+ eventPayload: {
77
+ attemptId: "userAttemptId",
78
+ itemType: e
79
+ }
80
+ });
81
+ },
82
+ [a]
83
+ ), U = n(
84
+ (e, s, i) => {
85
+ a({
86
+ eventName: "WORKSHEET_MEDIA_STATE_UPDATED_BY_TEACHER",
87
+ eventPayload: {
88
+ attemptId: "userAttemptId",
89
+ responseId: e.response_id,
90
+ mediaType: s,
91
+ mediaState: i
92
+ }
93
+ });
94
+ },
95
+ [a]
96
+ );
97
+ oe(() => {
98
+ window.addEventListener(
99
+ "message",
100
+ (e) => {
101
+ H((s) => {
102
+ const { eventName: i, eventPayload: p } = e.data;
103
+ if (i === "WORKSHEET_RESPONSE_CHANGED") {
104
+ const { responseId: l, response: te } = p;
105
+ return {
106
+ ...s,
107
+ [l]: te
108
+ };
109
+ }
110
+ if (i === "WORKSHEET_BULK_RESPONSES_CHANGED") {
111
+ const { responses: l } = p;
112
+ return {
113
+ ...s,
114
+ ...l
115
+ };
116
+ }
117
+ return s;
118
+ });
119
+ },
120
+ !1
121
+ );
122
+ }, []);
123
+ const d = n(
124
+ (e) => {
125
+ t != null && t.response_id && a({
126
+ eventName: "WORKSHEET_RESPONSE_VALIDATED",
127
+ eventPayload: {
128
+ attemptId: u,
129
+ responseId: t == null ? void 0 : t.response_id,
130
+ rating: e !== "H" ? e : void 0,
131
+ skipRemainingQuestions: e === "H" || e === "E"
132
+ }
133
+ });
134
+ },
135
+ [t, u, a]
136
+ ), Z = n(() => d("E"), [d]), Y = n(
137
+ () => d("S"),
138
+ [d]
139
+ ), Q = n(() => d("H"), [d]), ee = n(() => {
140
+ t != null && t.response_id && I(t.response_id);
141
+ }, [t == null ? void 0 : t.response_id, I]);
142
+ return $ ? /* @__PURE__ */ r(
143
+ f,
144
+ {
145
+ $flexDirection: "column",
146
+ $alignItems: "center",
147
+ $justifyContent: "center",
148
+ $height: "100%",
149
+ $gutterX: 4,
150
+ $gapX: 4,
151
+ children: /* @__PURE__ */ r(g, { $renderAs: "ub1-bold", $color: "RED", children: /* @__PURE__ */ r("pre", { children: /* @__PURE__ */ r("code", { children: $ }) }) })
152
+ }
153
+ ) : /* @__PURE__ */ m(f, { $gutterX: R ? 1 : 0, children: [
154
+ C && /* @__PURE__ */ r(
155
+ ce,
156
+ {
157
+ $height: 60,
158
+ $gutterX: 3.75,
159
+ $flexDirection: "row",
160
+ $alignItems: "center",
161
+ $justifyContent: "space-between",
162
+ $background: "WHITE",
163
+ $borderColor: "BLACK_1",
164
+ children: ["TRIAL_BASIC", "TRIAL_DIAGNOSTIC"].includes(o) ? /* @__PURE__ */ m(se, { children: [
165
+ /* @__PURE__ */ m(g, { $renderAs: "ah4-black", children: [
166
+ "TEACHER: ",
167
+ o
168
+ ] }),
169
+ _ !== "learn" ? /* @__PURE__ */ m(f, { $flexDirection: "row", $flexColumnGapX: 1, children: [
170
+ /* @__PURE__ */ r(
171
+ S,
172
+ {
173
+ renderAs: "primary",
174
+ label: "Too Easy",
175
+ shape: "square",
176
+ size: "small",
177
+ onClick: Z
178
+ }
179
+ ),
180
+ /* @__PURE__ */ r(
181
+ S,
182
+ {
183
+ renderAs: "primary",
184
+ label: "Just right",
185
+ shape: "square",
186
+ size: "small",
187
+ onClick: Y
188
+ }
189
+ ),
190
+ _ === "try" && /* @__PURE__ */ r(
191
+ S,
192
+ {
193
+ renderAs: "primary",
194
+ label: "Too Hard",
195
+ shape: "square",
196
+ size: "small",
197
+ onClick: Q
198
+ }
199
+ )
200
+ ] }) : /* @__PURE__ */ r(
201
+ S,
202
+ {
203
+ renderAs: "primary",
204
+ label: "Validate",
205
+ shape: "square",
206
+ size: "small",
207
+ onClick: ee
208
+ }
209
+ )
210
+ ] }) : /* @__PURE__ */ m(g, { $renderAs: "ah4-bold", children: [
211
+ "TEACHER: ",
212
+ o
213
+ ] })
214
+ }
215
+ ),
216
+ /* @__PURE__ */ r(pe, { $topOffset: O.topOffset, $showBorder: !!R, children: /* @__PURE__ */ r(
217
+ ie,
218
+ {
219
+ ref: B,
220
+ userType: "TEACHER",
221
+ userId: "teacher_id",
222
+ studentId: "student_id",
223
+ worksheetName: "Worksheet Name",
224
+ attemptId: E ? L(o, c) : u,
225
+ questionsSignedRequest: M,
226
+ itemsSignedRequest: E ? ae(u) : v,
227
+ behavior: V,
228
+ layout: O,
229
+ background: A || K ? "none" : "paper",
230
+ isCanvasEnabled: !A,
231
+ updatedResponses: x,
232
+ loggerRef: q,
233
+ onLoaded: h,
234
+ onErrored: h,
235
+ onActiveQuestionChange: w,
236
+ onResponsesChange: h,
237
+ onPublishStrokes: z,
238
+ onReceiveStrokes: F,
239
+ onMediaStateChange: U,
240
+ worksheetCompleted: k,
241
+ onResponsesLoaded: G,
242
+ onTeacherValidation: I,
243
+ onOptionalItemAssignment: j,
244
+ onOptionalItemSkip: J,
245
+ openQuestionFeedbackModal: h,
246
+ initialStrokesData: X
247
+ },
248
+ `${o}-${c}-${k}-${E}`
249
+ ) })
250
+ ] });
251
+ };
252
+ export {
253
+ Oe as default
254
+ };
255
+ //# 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 type { NODE_TYPES } from '../../../../types/models/worksheet';\nimport type { TInclassMessage } from '../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker-types';\nimport type {\n IWorksheetProps,\n IWorksheetQuestion,\n IWorksheetRef,\n IWorksheetResponse,\n} from '../worksheet-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\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 getBehavior from '../mocks/behaviors';\nimport { getMockItemsSignedRequest } from '../mocks/signed-requests';\nimport WorksheetContainer from '../worksheet-container';\nimport { isSATAssessmentNode } from '../worksheet-helpers';\nimport useCanvasSyncBrokerStory from './use-canvas-sync-broker-story';\nimport { HeaderWrapper, WorksheetWrapper } from './worksheet-student';\n\nexport interface IWorksheetTeacherStoryProps {\n nodeType: NODE_TYPES;\n isLessonV3: boolean;\n worksheetCompleted: boolean;\n mockEnabled: boolean;\n showHeader: boolean;\n includeGutter: boolean;\n questionsSignedRequest: string;\n itemsSignedRequest: string;\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 isLessonV3,\n worksheetCompleted,\n mockEnabled,\n showHeader,\n includeGutter,\n questionsSignedRequest,\n itemsSignedRequest,\n } = props;\n const attemptId = mockEnabled ? getActivityMockAttemptId(nodeType, isLessonV3) : 'attemptId';\n const ref = useRef<IWorksheetRef>(null);\n const isSATAssessment = isSATAssessmentNode(nodeType);\n const isPuzzleWorksheet = useMemo(() => nodeType === 'PUZZLE_CARD', [nodeType]);\n\n const behavior = useMemo(\n () => getBehavior({ nodeType, isReview: true, isLessonV3 }),\n [isLessonV3, 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 [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 handleTeacherValidation = useCallback<NonNullable<IWorksheetProps['onTeacherValidation']>>(\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<IWorksheetProps['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<NonNullable<IWorksheetProps['onOptionalItemSkip']>>(\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<NonNullable<IWorksheetProps['onMediaStateChange']>>(\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_BASIC', 'TRIAL_DIAGNOSTIC'].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 <WorksheetContainer\n key={`${nodeType}-${isLessonV3}-${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 behavior={behavior}\n layout={layout}\n background={isSATAssessment || isPuzzleWorksheet ? 'none' : 'paper'}\n isCanvasEnabled={!isSATAssessment}\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 onOptionalItemAssignment={handleOptionalItemAssignment}\n onOptionalItemSkip={handleOptionalItemSkip}\n openQuestionFeedbackModal={fakeCallback}\n initialStrokesData={initialStrokesData}\n />\n </WorksheetWrapper>\n </FlexView>\n );\n};\n\nexport default WorksheetTeacherStory;\n"],"names":["WorksheetTeacherStory","props","activeQuestion","setActiveQuestion","useState","instructorStimulus","_a","nodeType","isLessonV3","worksheetCompleted","mockEnabled","showHeader","includeGutter","questionsSignedRequest","itemsSignedRequest","attemptId","getActivityMockAttemptId","ref","useRef","isSATAssessment","isSATAssessmentNode","isPuzzleWorksheet","useMemo","behavior","getBehavior","layout","useWorksheetLayout","error","setError","loggerRef","eventName","data","EVENTS","fakeCallback","useCallback","responses","setResponses","handleResponsesChange","rsps","publishStrokes","registerCallback","initialStrokesData","useCanvasSyncBrokerStory","publishMessage","message","studentIframe","postMessage","_b","handleTeacherValidation","questionId","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","Fragment","Button","WorksheetWrapper","WorksheetContainer","getMockItemsSignedRequest"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import w from "../../../assets/line-icons/icons/bulb2.js";
2
- import S from "../../../assets/line-icons/icons/edit-star.js";
1
+ import S from "../../../assets/line-icons/icons/bulb2.js";
2
+ import y from "../../../assets/line-icons/icons/edit-star.js";
3
3
  import A from "../../../assets/line-icons/icons/edit2.js";
4
- import O from "../../../assets/line-icons/icons/question-letter.js";
5
- import R from "../../../assets/line-icons/icons/star2.js";
4
+ import L from "../../../assets/line-icons/icons/question-letter.js";
5
+ import O from "../../../assets/line-icons/icons/star2.js";
6
6
  import b from "../constants/events.js";
7
- import { OPTIONAL_ITEM_TYPES as L, ACTION_BAR_HEIGHT as k, QUESTION_WIDTH as y, SPLIT_QUESTION_WIDTH as N, CLOZE_FORMULA_RESPONSE_LIMIT as x } from "./constants.js";
7
+ import { OPTIONAL_ITEM_TYPES as R, ACTION_BAR_HEIGHT as k, QUESTION_WIDTH as w, SPLIT_QUESTION_WIDTH as N, CLOZE_FORMULA_RESPONSE_LIMIT as x } from "./constants.js";
8
8
  import { QUESTION_TAGS as E } from "./worksheet-types.js";
9
9
  const Q = (e) => {
10
10
  switch (e) {
@@ -30,7 +30,7 @@ const Q = (e) => {
30
30
  default:
31
31
  return;
32
32
  }
33
- }, B = (e) => {
33
+ }, M = (e) => {
34
34
  if (!e)
35
35
  return !1;
36
36
  const r = e.toLowerCase();
@@ -44,16 +44,16 @@ const Q = (e) => {
44
44
  }, {}), Y = (e, { sectioned: r = !1, adaptive: t = !1 }) => {
45
45
  if (r)
46
46
  return e.reduce((s, a, c) => {
47
- var T;
47
+ var v;
48
48
  let d = !1;
49
49
  const { content: u, questions: i, itemType: o } = a, l = Q(o), m = s[s.length - 1], g = l === (m == null ? void 0 : m.section_name) && (m != null && m.item_display_number) ? m.item_display_number + 1 : 1, _ = u.match(/question-[^"]*/g), p = _ == null ? void 0 : _.map((f, h) => {
50
- const v = i.find(
50
+ const T = i.find(
51
51
  ({ response_id: I }) => I === f.replace("question-", "")
52
52
  );
53
- if (!v)
53
+ if (!T)
54
54
  throw new Error(`Question not found for the response id: ${f}`);
55
- return d = d || B(v.instructor_stimulus), {
56
- ...v,
55
+ return d = d || M(T.instructor_stimulus), {
56
+ ...T,
57
57
  // Some questions are set to limited number of attempts which can show feedback which is causing the question to be stuck in the errored state
58
58
  feedback_attempts: void 0,
59
59
  item_reference: a.reference,
@@ -61,7 +61,7 @@ const Q = (e) => {
61
61
  item_display_number: g,
62
62
  section_name: l,
63
63
  item_type: r ? o : void 0,
64
- is_optional: o ? L.includes(o) : !1,
64
+ is_optional: o ? R.includes(o) : !1,
65
65
  item_tags: a.tags ?? [],
66
66
  item_tags_map: C(a.tags ?? []),
67
67
  question_number: h - (d ? 1 : 0),
@@ -69,8 +69,8 @@ const Q = (e) => {
69
69
  };
70
70
  });
71
71
  if (d = !1, p != null && p[0] && c > 0 && e.length > 0) {
72
- const f = (T = e[c - 1]) == null ? void 0 : T.itemType, h = o != null && o.startsWith("advanced-") ? "advanced" : o, v = f != null && f.startsWith("advanced-") ? "advanced" : f;
73
- if ((h === "practice-basic" || h === "practice-regular" || h === "exit-ticket" || h === "advanced") && h !== v)
72
+ const f = (v = e[c - 1]) == null ? void 0 : v.itemType, h = o != null && o.startsWith("advanced-") ? "advanced" : o, T = f != null && f.startsWith("advanced-") ? "advanced" : f;
73
+ if ((h === "practice-basic" || h === "practice-regular" || h === "exit-ticket" || h === "advanced") && h !== T)
74
74
  return [
75
75
  ...s,
76
76
  {
@@ -186,7 +186,7 @@ const Q = (e) => {
186
186
  }
187
187
  return e.length - u;
188
188
  };
189
- function M(e, r) {
189
+ function B(e, r) {
190
190
  var n, s;
191
191
  const t = Array.isArray(e) ? e.find((a) => a.response_id === r) : e;
192
192
  if (!t)
@@ -209,7 +209,7 @@ function M(e, r) {
209
209
  const z = (e) => e.reduce(
210
210
  (r, t) => ({
211
211
  ...r,
212
- [t.response_id]: M(e, t.response_id)
212
+ [t.response_id]: B(e, t.response_id)
213
213
  }),
214
214
  {}
215
215
  ), X = (e, r) => {
@@ -217,8 +217,8 @@ const z = (e) => e.reduce(
217
217
  return {
218
218
  questionsContainerWidth: !e.some(
219
219
  (a) => a.questions.some((c) => c.stimulus_review)
220
- ) ? y : N,
221
- maxQuestionWidth: y,
220
+ ) ? w : N,
221
+ maxQuestionWidth: w,
222
222
  actionbarHeight: t === "bottom" ? k : 0
223
223
  };
224
224
  }, Z = ({
@@ -346,21 +346,21 @@ const z = (e) => e.reduce(
346
346
  }, ae = (e) => {
347
347
  switch (e) {
348
348
  case "learning":
349
- return w;
349
+ return S;
350
350
  case "practice-basic":
351
351
  return A;
352
352
  case "practice-regular":
353
- return S;
353
+ return y;
354
354
  case "exit-ticket":
355
- return O;
355
+ return L;
356
356
  case "advanced":
357
- return R;
357
+ return O;
358
358
  default:
359
- return w;
359
+ return S;
360
360
  }
361
- }, ie = (e) => Array.isArray(e.value) ? e.value.some(
361
+ }, ie = (e) => e === "SAT_ENGLISH_ASSESSMENT" || e === "SAT_MATH_ASSESSMENT", se = (e) => Array.isArray(e.value) ? e.value.some(
362
362
  (t) => typeof t == "string" && t.length > x
363
- ) : !1, se = (e, r) => {
363
+ ) : !1, ce = (e, r) => {
364
364
  const t = e === "TEACHER";
365
365
  return r ? {
366
366
  bannerBackgroundColor: "GREEN_4",
@@ -369,7 +369,7 @@ const z = (e) => e.reduce(
369
369
  bannerBackgroundColor: "ORANGE_2",
370
370
  label: "Complete this with your tutor in class"
371
371
  };
372
- }, ce = ({
372
+ }, ue = ({
373
373
  isPuzzleWorksheet: e,
374
374
  isTestWorksheet: r,
375
375
  imageHue: t = "BLUE"
@@ -387,7 +387,7 @@ const z = (e) => e.reduce(
387
387
  textColor: "WHITE"
388
388
  };
389
389
  export {
390
- ie as checkIsClozeFormulaResponseInvalid,
390
+ se as checkIsClozeFormulaResponseInvalid,
391
391
  J as getInitialQuestionId,
392
392
  z as getInitialResponses,
393
393
  V as getLastUnlockedQuestionIndex,
@@ -397,14 +397,15 @@ export {
397
397
  ee as getPaperColorByQuestion,
398
398
  te as getQuestionBackgroundImage,
399
399
  re as getQuestionBorderColor,
400
- M as getQuestionMetadata,
400
+ B as getQuestionMetadata,
401
401
  Y as getQuestionsFromItems,
402
402
  Z as getRenderableQuestions,
403
403
  X as getWorksheetDimensions,
404
- ce as getWorksheetHeaderLayout,
405
- se as getWorksheetNudgeBannerInfo,
406
- B as isConceptIntroWidget,
404
+ ue as getWorksheetHeaderLayout,
405
+ ce as getWorksheetNudgeBannerInfo,
406
+ M as isConceptIntroWidget,
407
407
  W as isOkayTypeQuestion,
408
+ ie as isSATAssessmentNode,
408
409
  j as scrollToQuestion,
409
410
  q as setMathJaxConfigInWindow
410
411
  };